论文部分内容阅读
随着集成电路制造工艺水平发展到深亚微米乃至超深亚微米阶段,微处理器的功耗问题越来越严重,成为继续提升微处理器性能的首要障碍。其中,漏流功耗逐渐超越动态功耗成为微处理器功耗的决定因素,漏流功耗的显著增加不但导致能源消耗和制造成本增加,而且给微处理器工作的稳定性和可靠性带来严峻的挑战。片上Cache的漏流功耗是微处理器漏流功耗的主要组成部分,随着工艺尺寸的缩小与片上Cache容量的不断增加,降低片上Cache的漏流功耗成为降低微处理器漏流功耗的主要目标。对于不断突出的片上Cache漏流功耗问题,单纯的工艺级和电路级低功耗设计技术已经不能满足片上Cache的功耗约束,需要从更高层次的体系结构级考虑片上Cache漏流功耗优化技术。本文分析了先前的体系结构级Cache漏流控制和优化技术的优点与不足,总结出体系结构级Cache漏流功耗优化的基本思路:在不显著影响处理器性能的前提下,将Cache中更多的存储单元转换到低功耗状态。基于该基本思路,本文从漏流功耗的分布、Cache存储层次的访问特性、漏流功耗与动态功耗同时优化、功耗与性能的平衡等多个角度出发,将属于不同存储层次、采用不同低漏流Cache体系结构的片上Cache存储器作为研究对象,提出了几种更加有效的体系结构级Cache漏流功耗优化策略并对其进行了性能与功耗的综合评价。本文针对以上研究内容展开了深入的研究,主要取得了以下一些研究成果。1.从性能、功耗以及能量效率三个方面建立起体系结构级Cache功耗优化技术的综合评价体系,该评价体系能够对同时优化Cache动态功耗与Cache漏流功耗的功耗优化策略进行评价,并在评价Cache功耗优化策略对Cache功耗优化效果、对处理器性能影响的基础上,进一步评价其对处理器功耗和能量效率的优化效果。2.基于一级昏睡指令Cache体系结构,提出了面向传统前端流水线结构的使用双预测端口路预测器的多路路预测策略,该策略可以同时对指令Cache的动态功耗与漏流功耗做出优化,有效减少由于路预测失效带来的性能损失,在降低指令Cache功耗的同时,实现了较好的处理器性能与功耗的平衡;提出了面向改进的前端流水线结构的基于分阶段访问指令Cache的按需唤醒策略,进一步降低了指令Cache的漏流功耗与动态功耗。3.面向使用位线隔离技术的一级数据Cache,提出ELSS(Enhanced-LRU-STRIDE-SEQ)替换策略,通过将符合顺序访问模式与跨步访问模式的存储器地址索引的数据块尽量放在同一个数据Cache存储体中,减少数据Cache中体转换的次数,降低由于体转换而产生的额外动态功耗,提高位线隔离技术对数据Cache的漏流功耗优化效果。4.面向一级睡眠数据Cache,提出基于统计信息的Cache漏流功耗估算(Statistics-Based Cache Leakage Power Estimation,SB CLPE)方法以及软硬件结合的静态自适应Cache衰退策略。根据SB CLPE方法设计了可以在程序预执行过程中估算数据Cache漏流功耗并确定使漏流功耗最低的最佳衰退间隔的软、硬件机制。通过在程序的预执行过程中对不同程序以及程序的不同阶段设置最佳衰退间隔,实现了在程序正式的执行过程中自适应地调整衰退间隔,能够获得最优的数据Cache漏流功耗优化和处理器能量效率。5.提出两种基于片上Cache存储层次特性的片上二级Cache漏流功耗优化策略:保守地状态保留与状态丢失(Conservative-SP&SD)策略、推断地状态保留与状态丢失(Speculative-SP&SD)策略。这两种策略结合了状态保留(State-Preserving,SP)与状态丢失(State-Destroying,SD)两种低漏流状态,通过在片上Cache存储层次中对每个数据块仅保存一个有效的副本,而将其它的副本转换到状态丢失的低漏流状态,进一步降低了片上二级Cache的漏流功耗。实验表明,针对Cache存储层次中的各级Cache,我们所提出的体系结构级Cache漏流功耗优化技术都能够有效地降低被优化Cache的漏流功耗,而不会引起显著的性能损失,处理器的能量效率也得到有效改善。