一种基于持久化栈的返回地址预测器
2023-06-07谭弘泽
计算机研究与发展 2023年6期
谭弘泽 王 剑
(处理器芯片全国重点实验室(中国科学院计算技术研究所)北京 100190)
(中国科学院大学 北京 100049)
分支预测普遍应用于现代CPU 设计,为处理器提供对分支指令行为的猜测,允许处理器并行执行分支之后的指令,从而可提高其指令级并行性,是一项重要而传统的性能优化技术,至今仍受学术界和工业界的关注[1-3].一旦发生错误预测,处理器需要清除其指令执行路径在错误预测后的部分.这些需被清除的部分为错误预测路径,会浪费执行资源和功耗.高准确率的分支预测可在减少功耗浪费的同时保护指令级并行有效性,从而充分释放硬件资源的工作潜力,使处理器获得性能和功耗方面的双重好处.此外,由于超标量技术提升了处理器指令带宽,乱序执行技术需要通过指令调度窗口发挥作用,这些被普遍采用的技术进一步提高了现代处理器对分支预测的准确率要求.
在所预测分支当中,一类特殊的分支为过程返回,由于其返回地址遵循后入先出的顺序,具有高度的可预测性[4].通过对调用栈的模拟,其专用预测器将过程返回与其调用一一匹配,可有效利用其可预测性,从而被称为返回地址栈(return-address stack,RAS)[5].由于仅需按照先验规则匹配返回地址,无需学习有关分支模式的后验知识,该类预测器拥有理论准确率高和存储资源需求小的特点.
实际上,处理器环境限制了过程返回的预测准确率,导致RAS 难以充分利用上述可预测性……
登录APP查看全文
