论文部分内容阅读
随着半导体工艺的迅速发展,晶体管的数量及处理器芯片的制程工艺不断提高,使处理器的集成度越来越高。然而,片上集成元件数量的增加使得处理器芯片的功耗密度急剧增长。目前,多核处理器的低功耗设计已经成为该领域研究中的热点。处理器功耗可分为动态功耗和静态功耗,其中动态功耗包括电容充放电的功耗和短路电流的功耗;静态功耗则通常指漏电流功耗。虽然随着芯片特征尺寸的减少静态功耗会增加,但是在芯片的整体功耗中动态功耗始终占据着较大的比重。因此,本文提到的低功耗设计是指降低处理器的动态功耗。在片上集成的部件中,Cache中电容的充电和放电以及传感器的检测,使其动态功耗成为整个处理器芯片动态功耗的重要组成部分。在当前的片上多核处理器CMP(Chip Multi-Processors)结构中片上最后一级的共享Cache的大小比单核处理器时期的共享Cache大很多,因此,片上共享Cache的动态功耗也随之增加,同时对大容量共享Cache的有效使用也是多核处理器面临的难题。如何有效地利用共享Cache资源,如何通过降低CMP片上共享Cache的动态功耗从而降低处理器的动态功耗成为目前广泛研究的问题。 本文针对当前共享L2 Cache的优化及低功耗研究现状分析发现,目前已经成熟运用在单核处理器中降低Cache功耗的路预测技术并未被采用到降低多核处理器共享L2 Cache功耗的设计中,这主要与CMP共享L2 Cache容量大,路预测的高命中率不容易保持以及预测失效时代价太高有关。而针对多核处理器下共享L2 Cache的优化研究中,共享Cache的划分策略一直是研究热点。基于公平性的共享Cache的划分策略通过公平性参数来划分共享Cache,与LRU替换策略相比通常能提高系统的性能,但是基于公平性的共享Cache划分策略没有对共享Cache的访问功耗进行分析。 针对以上情况,本文结合CMP下共享L2 Cache的特点及现有路预测算法和共享Cache划分算法提出了一种基于共享Cache划分的路预测算法。在降低共享L2 Cache的访问功耗的同时尽量优化对共享L2 Cache的使用。本文通过多核模拟器实现了对多核处理器系统的模拟,结合SPEC2000测试程序,分别对传统的L2 Cache和采用路预测的L2 Cache以及采用本文设计的算法的L2 Cache进行比较验证。实验结果表明,本文设计实现的算法在降低共享L2 Cache访问功耗上具有明显的优势。