论文摘要
近年来,限制计算机的能量消耗已成为现代计算机系统设计中的一个首要目标,这很大程度上是由于使用电池供电的便携式计算机和嵌入式设备的广泛使用。本文主要研究了如何减少处理器及其Cache存储系统的能耗,这是因为处理器及其Cache存储系统消耗了计算机系统中很大一部分能量。可重构Cache具有可变的配置参数集。建立在可重构Cache之上的自适应算法,能够动态统计可重构Cache的行为和性能信息,并根据这些信息,在程序运行时动态地改变可重构Cache的配置,进而在保证性能的前提下,有效地降低Cache存储系统的能耗。本文针对可重构Cache提出了一种基于程序段的自适应算法PBSTA。该算法使用建立在指令工作集签名基础上的程序段监测状态机来判断程序段是否发生变化,并做出容量调整决定;在程序段内,该算法使用容量调整状态机来指导Cache进行容量调整。与先前的算法相比,PBSTA算法不仅有效地降低了Cache存储系统的能量消耗,而且减少了不必要重构所带来的性能损失。动态电压缩放技术,允许处理器在运行时动态地改变它的时钟频率和供电电压,是一种有效的减少处理器能耗的方法。但是,降低电压会增加电路延时,导致处理器性能的下降。因此,动态电压缩放技术需要缩放算法的支持,来决定电压缩放的时机和幅度,才能在满足用户性能需求的前提下,减少处理器的能耗。本文针对处理器提出了一种基于程序段的电压缩放算法PBVSA,该算法使用程序段监测状态机来判断程序段是否发生变化,并做出CPU电压和频率调整决定;在程序段内,该算法通过计算该程序段的频率缩放因子β(片外工作时间与片上工作时间的比例关系)来设定CPU的电压和频率。结果表明,PBVSA算法在保证系统性能的前提下,有效地降低了处理器的能耗。既然,PBSTA与PBVSA算法能够有效地降低Cache存储系统和处理器的能量消耗,如果能够结合两者的特点,将会带来能耗的进一步节省。本文在PBSTA与PBVSA算法之上提出了可重构Cache与处理器电压的一种基于程序段的自适应算法CVPBSTA。该算法使用程序段监测状态机来判断程序段是否发生变化,并做出Cache容量及CPU电压和频率的调整决定;在程序段内,该算法采用了与PBSTA相似的Cache容量调整策略和与PBVSA相似的CPU电压和频率调整策略先后对Cache容量及CPU电压和频率进行调整。结果表明,CVPBSTA算法在保证性能的前提下,更大程度上地节省了系统的能量消耗。