现代分支预测:从学术界到工业界

现代分支预测:从学术界到工业界

💡 原文中文,约7900字,阅读约需19分钟。
📝

内容提要

本文讨论了分支预测的发展和应用,介绍了历史发展和现代算法TAGE的设计原理。讨论了分支预测中的挑战和问题,以及工业界关注的因素。提出了一些新的思路和方法来提高准确率和性能。

🎯

关键要点

  • 分支预测在高性能CPU设计中至关重要,本文主要探讨条件分支预测。

  • 分支预测的发展历史包括饱和计数器、GShare预测器和锦标赛预测器等。

  • 现代分支预测算法TAGE是目前学术界和工业界的主流,具有多种历史长度的子预测器。

  • 复杂预测器如TAGE在性能上存在延迟问题,因此出现了多级预测器和覆盖重定向策略。

  • 工业界对分支预测算法的关注点包括更新延迟、历史维护和功耗等。

  • 局部历史的维护困难使得其在现代处理器中较少使用,工业界更倾向于使用路径历史。

  • 预测延迟是复杂算法落地的直接障碍,增加的延迟可能抵消其优势。

  • 现代高性能处理器通常支持每周期预测多条分支,但存在设计限制。

  • BTB设计方向包括多级BTB、BTB压缩和快速预测器设计等。

  • 功耗设计是现代处理器设计的重要考虑,需平衡性能与功耗。

  • 分支预测算法发展停滞,需探索新的方法,如谓词化指令和软硬结合的优化。

➡️

继续阅读