论文部分内容阅读
在嵌入式系统中,性能和功耗是设计者最关心的两大要素。Cache作为处理器与主存之间的桥梁,能够从主存中移入部分数据,利用所访问数据的空间局部性和时间局部性,减少访存时间,提高系统性能。然而,Cache的存在不仅占据了大量的芯片面积,也带来了较大的能耗开销。从体系结构层面上优化Cache设计,能够给系统的性能和功耗带来很大的改善。路预测是一种基于传统组相联Cache的低功耗优化策略,以一定的性能损失为代价来减少系统功耗,但在预测准确性较低的情况下,不仅无助于功耗的降低,反而会导致性能的退化。本文为路预测Cache提出了一种动态自适应路预测算法DSTWP(Dynamic Self-Tuning Way-Predicting)。该算法通过对路预测有效性进行判断并监测时间片内程序局部性的变化,选择性开启和关闭路预测机制,消除路预测带来的不利影响,极大地减少预测失效开销,满足高性能低功耗的要求。由于不同的应用程序对Cache的容量需求不同,在系统中引入动态可重构Cache,可以在程序运行时,根据Cache工作状态的变化,对Cache容量进行调整。从而,在对性能造成最小冲击的情况下,较大地提高能量效率。本文针对可重构Cache提出了一种基于LRU算法的动态路重构算法LRU-WRC(LRU based Way Reconfigurable Cache)。该机制利用LRU算法,对Cache各块的访问情况进行实时统计,并设立一个时间片的预判过程,根据LRU统计的Cache实时访问情况,选择各组中局部性最差的块进行屏蔽。该路重构策略能够准确地对Cache路进行动态配置,显著地减少了Cache访问的动态能耗;而重构状态预判机制,使得Cache命中率比较稳定,性能得到了很好的维持。路预测Cache与可重构Cache均在保证性能的前提下,有效地降低了系统的能量消耗。同时,这两种技术的原理又有一定的相似之处,在目前的研究中,这两种技术经常被独立应用于计算机系统的低能耗设计当中。本文为路预测和可重构Cache提出了基于路预测的动态路重构Cache方案(WPRC:Way-Predict Reconfigurable Cache),能够在同一系统上指导两种算法协同工作。实验表明,该算法在保证性能的前提下,有效地节省了Cache存储系统的能量消耗。