Store指令书为:131421 , Store指令在该trace文件中的指令比例为:0.090571
2. 设Cache总容量为32KB,对以下所有参数进行组合(共有72种组合),测量相应5个文件的Cache命中率。通过对命中率的分析,可以发现什么规律?
由于Cache的命中率与具体的写策略无关,因此在这题中的程序实现中,我固定了写策略,即随便选了一种写策略,这样能够减少一般的循环次数,提高程序执行的效率。所以,总共在程序中执行了36种组合分别对5个trace文件进行测试Cache的命中率。
以gcc.trace文件为例,其结果如下所示:
行大小 32
32 32 32 32 32 32 32 32 32 32 32 64 64 64 64 64 64 64 64 64 64 64 64 128
组相连 8 8 8 4 4 4 2 2 2 1 1 1 8 8 8 4 4 4 2 2 2 1 1 1 8
替换策略 rand fifo lru rand fifo lru rand fifo lru rand fifo lru rand fifo lru rand fifo lru rand fifo lru rand fifo lru rand
写策略 - - - - - - - - - - - - - - - - - - - - - - - - -
命中率
0.998948 0.998941 0.998948 0.998578 0.998584 0.998601 0.997777 0.997795 0.997915 0.994477 0.994477 0.994477 0.999309 0.999305 0.999313 0.999047 0.999016 0.999065 0.998444 0.998471 0.998619 0.995793 0.995793 0.995793 0.999544
128 128 128 128 128 128 128 128 128 128 128 8 8 4 4 4 2 2 2 1 1 1 fifo lru rand fifo lru rand fifo lru rand fifo lru - - - - - - - - - - -
0.999532 0.999548 0.999298 0.999245 0.999344 0.998768 0.998813 0.998989 0.995334 0.995334 0.995334
从结果图表中可以看出,一般而言,当固定Cache行大小以及相同相连度的条件下,采用不同的替换策略会对命中率带来轻微的影响,对不同的trace文件最优的替换策略可能会有所不同,从结果中的数据结果看来,一般情况下lru都能取得不错的效果。
当固定替换策略和Cache行大小的条件下,随着相连度的增加,Cache的命中率也有所增加,这种情况下,相连度越大,冲突缺失会越少,因此能获得较高的命中率。
当固定替换策略和相连度的时候,随着Cache行大小的增加,Cache的命中率也有所增加,随着Cache行的增大,能有效地减少强制缺失数,因此也能提高命中率。
3. 给出5个文件的最佳Cache命中率的参数组合。针对不同的trace文件,最佳配置相同吗? 结果如下:
gcc.trace:
该文件中最佳的参数组合为:行大小=128字节 组相连=8路 替换策略=LRU
Gzip.trace:
该文件中最佳的参数组合为:行大小=128字节 组相连=8路 替换策略=Rand
Mcf.trace:
该文件中最佳的参数组合为:行大小=128字节 组相连=8路 替换策略=LRU
Swim.trace:
该文件中最佳的参数组合为:行大小=128字节 组相连=8路 替换策略=LRU
Twolf.trace:
该文件中最佳的参数组合为:行大小=128字节 组相连=8路 替换策略=Rand
从上述结果来看,5个trace文件的最佳Cache命中率的参数组合基本一致,只是替换策略可能会有所差异而已,但由替换策略引起的对命中率的影响并不大,因此可以基本认为5个trace文件的最佳Cache命中率的参数组合一致。可以看出,Cache行大小和组相连度都取了测试值的最大值,因此,在一般情况下,随着Cache行大小和组相连度的增加,Cache的命中率也相应的增大。
4. 测量各种组合下Cache和主存之间的数据传输量。 以gcc.trace为例:
行大小 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
组相连 8 8 8 8 8 8 4 4 4 4 4 4 2 2 2 2 2 2
替换策略 rand rand fifo fifo lru lru rand rand fifo fifo lru lru rand rand fifo fifo lru lru
写策略 写回法 写直达 写回法 写直达 写回法 写直达 写回法 写直达 写回法 写直达 写回法 写直达 写回法 写直达 写回法 写直达 写回法 写直达
通信量
17440 6328480 17696 6328576 17728 6328480 24128 6332000 24000 6331872 23776 6331648 41824 6337792 42176 6337728 39808 6336576
32 32 32 32 32 32 64 64 1 1 1 1 1 1 8 8 rand rand fifo fifo lru lru rand rand 写回法 写直达 写回法 写直达 写回法 写直达 写回法 写直达 123584 6366304 123584 6366304 123584 6366304 23104 12652032 64 8 64 8 64 8 64 8 64 4 64 4 64 4 64 4 64 4 64 4 64 2 64 2 64 2 64 2 64 2 64 2 64 1 64 1 64 1 64 1 64 1 64 1 8 8 8 8 8 8 4 4 4 4 4 4 2 2 fifo 写回法 fifo 写直达 lru 写回法 lru 写直达 rand 写回法 rand 写直达 fifo 写回法 fifo 写直达 lru 写回法 lru 写直达 rand 写回法 rand 写直达 fifo 写回法 fifo 写直达 lru 写回法 lru 写直达 rand 写回法 rand 写直达 fifo 写回法 fifo 写直达 lru 写回法 lru 写直达 rand 写回法 rand 写直达 fifo 写回法 fifo 写直达 lru 写回法 lru 写直达 rand 写回法 rand 写直达 fifo 写回法 fifo 写直达 lru 写回法 lru 写直达 rand 写回法 rand 写直达
23424 12652160 23232 12652032 33216 12657152 35584 12657856 33216 12656768 63232 12667264 63296 12667008 57280 12663744 192192 12722304 192192 12722304 192192 12722304 30720 25296512 32640 25297280 30848 25296256 52992 25307264 60672 25309184 51968 25304704 107776 25327744
128 128 128 128 128 128 128 128 128 128 128 128 128 128
相关推荐: