Zen 5 的 2 步提前分支预测单元:一项 30 年之久的理念如何实现新技巧

主要观点:近期采访 Mike Clark 得知 Zen 6 将展现实际基础提升,而 Zen 5 为其奠定基础,AMD 首席技术官 Mark Papermaster 称 Zen 5 是 Zen 架构的彻底重新设计,带来核心设计的众多影响变化。其中最重要的是全新的 2-Ahead 分支预测单元,源于 30 年前的论文。分支预测器在现代微处理器核心中至关重要,处理器需在同一单位时间用相同电路执行更多操作,导致流水线逻辑出现,而条件跳转使流水线填充面临挑战,分支预测器需尽可能准确地猜测程序指令序列。Zen 5 的 2-Ahead 分支预测器可追溯到 90 年代初,当时学术界提出该方法以提升单核心性能,随着技术发展,该理念重新受到关注。x86 架构因指令长度固定,解码需线性解析,并行解码成本高,而 2-Ahead 分支预测器可解决解码中不可并行部分的问题,Zen 5 通过双端口指令获取、双端口操作缓存和分支目标缓冲等设计实现 2-Ahead 分支预测,可处理每个周期 2 个非连续指令块的分支,能更长远地预测指令流,为 Zen 核心的未来发展提供新的分支预测能力。
关键信息

  • Zen 5 为 Zen 6 奠定基础。
  • 2-Ahead 分支预测单元源于 30 年前论文。
  • 分支预测器在现代微处理器核心中重要。
  • 处理器需提升性能导致流水线逻辑出现。
  • 条件跳转使流水线填充面临挑战。
  • Zen 5 的 2-Ahead 分支预测器相关设计及作用。
  • x86 架构解码特点及 2-Ahead 分支预测器的优势。
    重要细节
  • AMD 2023 ISSCC 演讲中注释的平面图显示前端占 L1 缓存和整数逻辑区域的一半,分支预测逻辑和状态在前端子系统中预算最大。
  • Zen 5 的 2-Ahead 分支预测器可预测 2 个基本块,通过双端口指令获取、双端口操作缓存和分支目标缓冲等设计实现。
  • Zen 5 可在指令流中更长远地预测,有 3 个预测窗口,5 位长度字段可防止解码或操作缓存资源过度占用。
  • 当 Zen 5 有两个活跃线程时,解码集群和获取管道静态分区,需从 L1 指令缓存和操作缓存获取。
  • 推荐相关论文以深入了解多获取处理器工作原理。
阅读 18
0 条评论