论文部分内容阅读
能耗问题是近年来人们在嵌入式系统设计中普遍关注的热点,它严重影响着嵌入式系统的应用与发展。Cache即高速缓冲存储器,作为处理器与主存之间的关键桥梁,在优化计算机系统的性能中发挥着重要作用,但同时它也是主要的功耗部件之一。因此,有效地降低Cache的功耗对嵌入式系统的低功耗设计有着重要的意义。本文主要研究体系结构级的低功耗Cache设计技术。在详细分析了低功耗Cache技术的研究现状的基础上,提出了两种新的低功耗Cache模型,分别为基于有效位预判和分类访问的低功耗混合Cache模型(CAVPU Cache)和基于容量联合分配算法的低功耗分离Cache模型(CCAS Cache)。CAVPU Cache具有低功耗和动态平衡指令负载和数据负载的优点;而CCAS Cache则兼备低功耗、动态调节负载和高处理带宽的优点。通过仿真实验证明了上述两种低功耗模型的有效性。本文的主要创新工作如下:1.提出基于有效位预判和分类访问的低功耗混合Cache模型(CAVPU Cache)。在访问传统的组相联混合Cache时,要同时访问一个组中的所有路,这样极大地增加了访问功耗,因为对于一个n路的组相联Cache,就有n-1路的访问是无谓的。本文通过在分类访问的混合Cache模型中增加有效位的预判,提出一种基于有效位预判和分类访问的路暂停Cache模型。该低功耗模型既能暂停对类型不匹配的存储体的访问,又能暂停对无效存储体的访问,从而降低了访问能耗,同时子块搁置技术的引入,又减少了Cache的失效开销。实验表明,新提出的路暂停Cache模型在保证高性能的同时,又能有效降低Cache的功耗。2.提出基于容量联合分配算法的低功耗分离Cache模型(CCAS Cache)。可重构Cache具有参数可重新配置的特性,建立在可重构Cache之上的自适应算法,能够动态地统计Cache的行为和性能信息,并根据这些信息在程序运行时动态地改变Cache的配置,从而在保证高性能的前提下,有效地降低Cache的功耗。考虑到不同程序甚至同一程序的不同运行阶段对指令Cache和数据Cache的容量的实时需求往往不同且不均衡,本文针对可重构分离Cache,提出了一种新的容量联合分配算法,该算法可以综合考虑程序运行时对两类Cache资源的实时需求,动态地联合调整一级Cache的容量和配置,从而更有效地利用Cache资源。实验表明,与先前的自适应算法相比,新提出的算法不仅有效地降低了Cache的功耗,而且降低了程序运行中由于两类Cache容量的分配不均衡带来的性能损失。