论文部分内容阅读
随着集成电路芯片集成度的不断提升以及电源电压等比例缩小趋势的放缓,功耗成为当前首要的设计瓶颈。有限的功耗预算(Power Budget)促使微处理器设计在结构和实现上发生了质的改变一以能效性(Energy-Efficiency)作为基本的、首要的设计指标。高能效的微处理器设计需要在性能和能量开销间进行权衡,选择那些每单位能量开销可获得更大性能提升的技术和结构。微处理器取指技术是处理器设计的关键技术,主要由取指部件实现。微处理器取指部件包括指令缓存(Instruction Cache,Icaehe)和转移预测器等主要结构。本论文采用保持功耗基本不变的前提下提升性能、保证性能基本不变的前提下降低功耗的设计原则,面向超标量处理器取指技术,研究如何提高微处理器的能效性。主要研究内容包括; (1)提出了一种基于组路指针索引的间接转移预测技术。该技术使用转移目标缓冲器(Branch Target Buffer,BTB)保存间接转移指令的多个目标地址,并使用BTB组路信息(Set-Way Index)索引。这些地址索引保存在方向预测器的模式历史表(Pattem History Table,PHT)中。该技术不需要使用额外的大容量存储单元,只基于现有的转移预测部件进行改进,通过提升间接转移预测准确率,提升处理器性能,并减少错误预测引起的能量开销。使用UmiCore64模拟器运行SPEC基准测试程序的实验结果表明,该技术运行间接转移指令敏感的测试程序时,相比基础处理器,性能提高9.65%,处理器整体能效性提升8.87%。与其他技术相比,其可以获得与专用存储预测技术相类似的性能提升且能效性更优。 (2)提出了一种基于目标地址指针生成的间接转移预测技术。该技术将已有高性能转移方向预测器重构为若干个子预测器,每个子预测器生成目标地址指针的1位。该指针生成一个虚拟的BTB访问地址,并使用该地址在BTB中获得间接转移预测目标地址。该技术不使用额外大容量存储单元,其通过重构已有转移预测器,能提供高准确率的间接转移预测,并且实现结构简单,可以应用于多种高性能方向预测器。采用UniCore64模拟器评测,运行间接转移指令敏感的程序时,该技术基于Perceptrons方向预测器的实现结构,相比于基础处理器,可使性能提高18.78%,处理器整体能效性提高12.57%,其能效性提升效果在每个评测程序中均优于专用存储预测技术和已有的转移预测复用技术。 (3)提出了一种分离路历史存储的指令缓存设计技术。该技术根据程序行为将Icache执行过程中标签比较结果分别保存在Icache和BTB中,形成应用于不同取指场景的路历史链接。Icache在不同取指场景下,分别从不同结构中获得路链接信息,避免非必要的标签比较和无关数据的读取。该技术适用于;BTB项较少的处理器,其通过分离的路历史存储结构,可以有效避免更新不同路历史信息时的结构冲突,从而在基本不损失性能的前提下,显著降低处理器ICache中由动态功耗引起的能量开销。使用UniCore64模拟器运行SPEC基准测试程序的实验结果表明,该技术相比基础处理器,仅以性能损失0.22%的代价,使微处理器Icache中由动态功耗引起的能量开销减少79.99%,处理器整体能效性提升8.11%。 (4)面向BTB项数较多的高性能超标量处理器,提出了一种指令缓存路选择融合技术。该技术在顺序取指场景中选择使用路历史方式,而在非顺序取指时选择使用路预测方式,在有效减少ICache能量消耗的同时,避免BTB中路历史信息更新造成的取指暂停。同时,其结合路历史链接结构,采用同时访问多个SRAM的方式,解决超标量处理器中特有的取指组非对齐问题。该技术将不同的路选择技术相融合,在降低能量开销的同时,通过解决非对齐取指问题,提升处理器性能。采用UniCore64模拟器面向BTB项较多的高性能微处理器结构进行评测,实验结果表明该技术相比基础处理器,Icache中由动态功耗引起的能量开销减少80.23%,同时处理器性能提升3.27%,处理器整体能效性提升9.84%。