论文部分内容阅读
随着微处理器设计技术的不断发展,Cache得到了广泛应用,以解决处理器与主存之间性能差距越来越大的难题。但由于Cache在处理器设计中的比重较大,其性能和功耗对处理器的性能和功耗会产生巨大影响,因此Cache优化设计显得至关重要。为了得到较为精确的实验数据,本文基于RTL级模拟平台对Cache结构进行研究。由于在该平台上运行整个标准程序的代价太大,本文基于M5搭建了软件模拟平台。根据标准程序的周期特性,在软件模拟平台上通过BBTraker提取其基本块信息,并利用SimPoint提取模拟点。在RTL级平台上运用上述结果,并根据Early SimPoint算法截断运行标准程序。在保证数据精确性的前提下大大缩短了程序在RTL平台上的运行时间。本课题基于单发射按序执行处理器设计了RAM-Tag Cache,通过在RTL级模拟平台上运行SPEC2000标准程序,结合NC_verilog, Design compiler和Powercompiler工具,研究Cache结构参数对性能和功耗的影响,给出了较为精确的缺失率和功耗随结构参数变化的设计空间,并在此基础上确定了最优的Cache结构(容量为16K,line大小为32Byte,32路组相联)。此外本文还对Round Robin和伪LRU替换算法进行研究,并根据实验结果将前者应用于指令Cache,将后者应用于数据Cache。此外,CAM的快速索引可以使高相联度Cache的能耗得到很大程度的改善,因此,本课题利用设计空间探索过程中所确立的最优Cache结构,设计了CAM-Tag Cache。实验结果表明,与基于RAM-Tag Cache相比,其指令Cache和数据Cache的平均能耗分别降低了35.16%和30.68%。