SimpleScalar进行cache性能研究(八)victimcache对比试验
在最近一系列的文章中,我们集中介绍了在计算机体系结构学术界广泛使用的一款模拟器SimpleScalar,包括SimpleScalar中的各种模拟器,以及模拟器的运行,提到了影响cache性能的几个方面:容量、块大小、相关度、替换算法。
在这个系列中,前四篇文章中对应的四个实验,详细介绍并分析了影响变化过程。在第五篇文章《如何用SimpleScalar进行cache性能研究(五)--引入victim cache》中,我们进一步的介绍了一个设想,如果我们在cache和它的下一级存储器的数据通路中间,增加一块全相连,且容量较小的cache,将上面讲到的在替换过程中,被移出的失效块(称为victim),放入这个小cache里面,以供后面使用。为了验证victim cache的作用,第六篇文章《如何用SimpleScalar进行cache性能研究(六)-- victim cache》,第七篇文章《SimpleScalar进行cache性能研究(七)-- victim cache对比试验》,我们对比了两种添加与不添加victim cache情况下,IL1DL1的miss rate,以及IPC,并得到了两个结论:随着cache的增大,victim cache对cache性能的影响作用在不断减小;victim cache的hit rate降低,导致cache的各项性能也跟着下降了。
今天我们继续讨论victim cache对性能的影响。
情况一:不添加victim cache
统计在不添加victim cache,但是数据cache(D-cache)和指令cache(I-cache)的block size都变的情况下,指令L1级和数据L1级cache 的miss rate。
表一 情况一统计数据
根据表一数据,得到的曲线如下图所示:
图一 情况一对应变化趋势情况二:添加victim cache
统计在添加victim cache(dvictim:128:32:4:1),数据cache(D-cache)和指令cache(I-cache)的block size都变的情况下,指令L1级和数据L1级cache 的miss rate。
表二 情况二统计数据
图二 添加与不添加victim cache统计数据变化曲线
结果分析:从上图可以看出,在增加victim前后,对指令L1和数据L1的miss rate,以及IPC的影响不是很大,并且随着数据cache(D-cache)和指令cache(I-cache)block size的不断变化,victim cache的hit rate下降到一定的值之后,cache的各项性能急剧下降。
这说明当victim cache的hit rate太低的话,它victim cache对cache来讲,已经没有提升作用,已经变成了累赘。
小结
今天的实验结果,依然和我们的理论分析一致。我们对比实验还将继续,欢迎大家继续关注。
另外大家对试验有什么建议,或者对计算机体系结构感兴趣的,也欢迎和我进行讨论。