论文部分内容阅读
当代计算机系统中,存储器的速度与处理器速度相差甚远。Cache技术基于程序的局部性原理(应用程序的访问地址在某一时间段具有空间上和时间上集中分布的倾向),是主存和CPU通用寄存器之间插入一个容量相对较小的高速的存储器,把程序正在使用的一部分数据或指令从主存调入一个与CPU速度相当的容量较小的存储器,方便CPU在这段时间内调用。这极大提升了程序的运行速度。这个介于主存储器和CPU之间的小容量高速存储器就称作高速缓冲存储器(Cache)。然而当代集成电路集成度仍然按照摩尔定律不断的增长,芯片的面积越来越大,相应的消耗的功耗也越来越大。随着CPU访存速度的加快,片上Cache的面积也越来越大,Cache算消耗的功耗就在总功耗中占了相当重要的一部分。Cache低功耗技术越来越不容忽视。
本文首先是对Cache的整体综述,包括Cache的映射规则、查找方法、替换算法、写策略和一致性;再就是关于高性能低功耗Cache的相关研究。高性能低功耗Cache的研究可分为四类,分别为基于FilterCache的方法、基于路预测技术的方法、对标识符比较进行改进的方案、基于可重构Cache的方案,例外还有一些其它低功耗方案。
在不改变Cache原有结构的基础上本论文提出了一种新的算法—路追踪算法(WTSA),该种结构的Cache成为WTSACache。通过在传统组相连Cache结构中加入路追踪表(WTT表)实现对数据块有效位的分散存储,对Cache进行访问时,只访问哪些最有可能包含所需数据块的路,排除那些根本不可能的路。发生命中时,对与四路组相连Cache功耗最低能降到原来的1/4,八路组相连Cache功耗最多能较低要原来的1/8。
本论文对Simplescalar模拟器中的Cache.h和Cache.c文件进行了详细分析,在基于Simplescalar模拟器和Wattch模拟器的基础上对SPECCPU2000进行了模拟实验,所需配置为容量大小为512KB,相连度为8,块大小为64B的二级Cache,相比于传统组相连Cache平均功耗降为原来的20.8%。