论文部分内容阅读
近年来,能耗已经成为嵌入式系统设计中人们关注的焦点,这主要是因为电池供电的便携式和移动式的嵌入式产品的广泛应用。高速缓冲存储器,即Cache,是为了解决存储器和CPU速度匹配而出现的。根据程序时间和空间局部性原理,在程序运行过程中,系统把部分数据从主存中调入到Cache,从而CPU直接访问Cache,减少访问存储器的时间。因此Cache对计算机系统的性能有着重要的影响。同时,Cache消耗的能量占整个处理器功耗的大部分。因此,如何降低Cache的功耗有着重大的意义。本文详细的分析了国内外低功耗Cache的研究现状,在可重构Cache技术的基础上,提出了基于分支指令频率的动态可重构Cache(BRDRC)方案和基于指令时间数的动态可重构Cache(IC-DRC)方案。动态可重构Cache技术是在程序运行过程中根据程序的需求动态的调整Cache的结构,关闭Cache中闲置未用部分的能量消耗,从而在性能损失最小的情况下,有效地降低Cache功耗。BRDRC算法根据分支指令频率监测程序段是否发生变化,并确定容量调整。在程序段内,状态机根据动态配置策略先对Cache的关联度进行调整,然后根据新配置下Cache的缺失率确定当前程序段Cache的最佳结构。与已有的算法相比,BRDRC算法不仅更有效地降低了Cache功耗,还大大减少了硬件开销。IC-DRC算法则在BRDRC算法上进行改进,根据指令时间数监测程序段的变化,确定容量调整。在程序段内,状态机根据平均访问时间对Cache的访问进行预判,然后根据预判的结果确定当前程序段的Cache结构。预判机制的引入,不仅可以有效地避免不必要的重构,还能减少性能的损失。同时平均访问时间比缺失率能更好的反应性能的情况。实验结果表明,与BRDRC算法和已有算法相比,IC-DRC算法明显地改善了性能损失,进一步的降低了Cache功耗。