💡
原文中文,约7900字,阅读约需19分钟。
📝
内容提要
本文讨论了分支预测的发展和应用,介绍了历史发展和现代算法TAGE的设计原理。讨论了分支预测中的挑战和问题,以及工业界关注的因素。提出了一些新的思路和方法来提高准确率和性能。
🎯
关键要点
-
分支预测在高性能CPU设计中至关重要,本文主要探讨条件分支预测。
-
分支预测的发展历史包括饱和计数器、GShare预测器和锦标赛预测器等。
-
现代分支预测算法TAGE是目前学术界和工业界的主流,具有多种历史长度的子预测器。
-
复杂预测器如TAGE在性能上存在延迟问题,因此出现了多级预测器和覆盖重定向策略。
-
工业界对分支预测算法的关注点包括更新延迟、历史维护和功耗等。
-
局部历史的维护困难使得其在现代处理器中较少使用,工业界更倾向于使用路径历史。
-
预测延迟是复杂算法落地的直接障碍,增加的延迟可能抵消其优势。
-
现代高性能处理器通常支持每周期预测多条分支,但存在设计限制。
-
BTB设计方向包括多级BTB、BTB压缩和快速预测器设计等。
-
功耗设计是现代处理器设计的重要考虑,需平衡性能与功耗。
-
分支预测算法发展停滞,需探索新的方法,如谓词化指令和软硬结合的优化。
➡️