论文部分内容阅读
随着集成电路制造工艺的进步和微处理器设计技术的发展,单发射按序执行处理器表现出强劲的生命力,不仅在嵌入式计算领域得到日益广泛的应用,而且代表了高性能计算领域微处理器设计的重要发展趋势。随着集成电路设计进入深亚微米阶段,功耗已成为单发射按序执行处理器中至关重要的设计因素。
UniCore-Ⅱ微处理器是北京大学微处理器研究开发中心自主设计的微处理器,代表了主流单发射按序执行处理器的典型结构。本文基于UniCore微处理器研究与评测平台,针对典型单发射按序执行处理器结构开展低功耗设计技术研究。本文从程序行为、流水线中指令的访问需求和处理器中各个部件的内在关联等多个角度出发,将编译优化技术、微体系结构级设计技术和电路级设计技术相结合进行低功耗设计,从而深入挖掘降低单发射按序执行处理器功耗的潜力。具体而言,本文的主要贡献包括:
1.本文通过量化分析发现,单发射按序执行处理器中存在的八种能耗无效性所引起的能耗损失在处理器的总能耗开销中占有较高比例。在保持性能的前提下,将有效减小这八种能耗无效性作为研究目标,增强了单发射按序执行处理器低功耗设计研究的针对性,有助于明确分支预测器、指令存储访问部件、寄存器堆和数据存储访问部件等各个主要能耗部件低功耗设计研究工作的重点。
2.为了减小分支预测器(Bpred)中存在的能耗无效性,本文采用提前访问过滤方法预先分析取指地址对Bpred的访问需求,避免分支方向预测器(DirectionPredictor)和分支目标缓冲器(BTB)的不必要活动。实验结果表明,该方法将基础处理器中Bpred的功耗降低约62.6%。
3.为了减小指令存储访问部件中存在的能耗无效性,本文采用虚拟页号变化分析方法和自适应访问控制方法识别取指地址对指令变换旁视缓冲器(ITLB)和指令缓存(ICache)等予部件的访问需求,避免各个子部件的不必要活动。实验结果表明,针对基础处理器的指令存储访问部件,ITLB和ICache的功耗分别降低约83.4%和72.6%。
4.为了减小寄存器堆中存在的能耗无效性,本文采用面向簇的编译优化方法增强程序访问寄存器的空间局部性,进而采用基于簇的运行时刻活动控制方法在不同程序运行阶段采用不同的活动控制策略,避免寄存器堆的不必要活动。实验结果表明,基于簇的低功耗设计方法将基础处理器中寄存器堆的功耗降低约43.6%。
5.为了减小数据存储访问部件中存在的能耗无效性,本文采用基址与偏移分析方法、访存地址分析与预测方法和面向访问需求的活动控制方法识别访存指令对访存地址产生部件(MAG)、数据变换旁视缓冲器(DTLB)和数据缓存(DCache)等予部件的访问需求,避免各个予部件的不必要活动。实验结果表明,针对基础处理器的数据存储访问部件,MAG、DTLB和DCache的功耗分别降低约15.2%、43.9%和72.9%。
综合上述各种减小能耗无效性的方法,本文的单发射按序执行处理器低功耗设计总体方案将处理器的总功耗降低约53.1%,而使性能提高约4.2%,从而在不损失性能的前提下有效降低了单发射按序执行处理器的功耗。
由于本文的研究工作基予UniCore微处理器研究与评测平台,采用SimpleScalar3.0模拟器、Waach1.02动态功耗模型和Hotleakage1.0静态功耗模型建立模拟评测环境,并以当今广泛应用的单发射按序执行处理器的典型结构为研究对象,本文的低功耗设计总体方案将对单发射按序执行处理器的低功耗设计具有较好的普适性。