AMD 的 Zen 6 架构通过将 VNNI 单元数量翻倍至每周期四个,并允许单个线程利用核心的两个解码集群,实现了比 Zen 5 更高的代际提升。这些变化结合全新的“Zen 6c”变体,标志着 AMD 的策略转向:即针对不同的工作负载行为专门设计核心,而非仅仅是将相同的核心扩展到不同的密度。

展示 Zen 6 系列架构概览的技术图表。
Zen 6 系列的架构概览,突出了向专门核心设计的转变。chipsandcheese.com

此图提供了 Zen 6 架构及其核心设计理念的高层概览。

前端和分支预测改进

Zen 6 构建在 Zen 5 的方向预测器基础之上,但改进了核心从预测错误中恢复的能力。虽然 Zen 5 从错误猜测中恢复大约需要 3.5 到 4 ns,但 Zen 6 将此惩罚降低到 3 到 3.5 ns。

比较 Zen 5 和 Zen 6 架构之间的分支预测恢复时间图表。
分支预测错误惩罚的比较,显示了 Zen 6 实现的降低。chipsandcheese.com

该图表说明了文中提到的分支预测恢复时间的具体改进。

指令获取阶段发生了重大的架构转变。与 Zen 5 不同(在 Zen 5 中,单个线程只能有效地使用一个解码集群),Zen 6 允许单个线程同时利用两个集群,从而增加了潜在的指令吞吐量。

Zen 6 中指令获取和解码集群改进的技术可视化。
Zen 6 如何允许单个线程同时利用两个解码集群的视觉表示。chipsandcheese.com

此图像支持对指令获取阶段架构转变的描述。

“这些差异表明 AMD 正在对两种设计进行专门化。Zen 6 似乎针对高频率进行了优化,而 Zen 6c 则拥有更大的容量来容忍相对较高的内存延迟。”

— AMD’s Zen 6 Family: Feeding the Beast

执行引擎和向量吞吐量

在整数方面,Zen 6 回到了 Zen 4 风格的 NOP 配对行为,允许核心每周期提交多达 16 个 NOP。它还提高了简单 64 位加法的理论峰值吞吐量,达到每周期 5.96,而 Zen 5 为 5.25。

AMD 将整数乘法单元的数量从三个减少到两个,理由是第三个单元不足以支撑其面积成本。相反,向量端看到 VNNI 单元的重大提升,这些单元对于 AI 推理和视频编解码至关重要,从每周期两个单元增加到四个单元。

Zen 6 与 Zen 6c 的架构划分

这是首次,“经典型”和“密集型”核心在乱序引擎内部存在差异。Zen 6 针对高频率进行了优化,而 Zen 6c 旨在通过增加内部结构的容量来吸收延迟。

Zen 6c 具有更大的重排序缓冲区(640 对比 576 条目)、更大的整数寄存器文件(352 对比 288)以及更大的加载队列(330 对比 280)。这些变化允许 Zen 6c 保留更多“在途”的工作,以掩盖缓慢内存访问的影响。

Zen 6 和 Zen 6c 核心内部结构容量的对比图表。
“经典型”和“密集型”变体之间的重排序缓冲区、寄存器文件和加载队列大小的比较。chipsandcheese.com

此图直观地展示了允许 Zen 6c 掩盖内存延迟的容量差异。

Zen 6 与 Zen 6c 的乱序执行容量: Zen 6 重排序缓冲区 576 entries; Zen 6c 重排序缓冲区 640 entries; Zen 6 负载队列 280 entries; Zen 6c 负载队列 330 entries
Zen 6 与 Zen 6c 的乱序执行容量chipsandcheese.com

HN Digest 根据 chipsandcheese.com 报告的数据绘制;数值按原文显示。

性能权衡与内存扩展

EPYC 9686F (Zen 6) 在原始整数和浮点速率上优于 9996 (Zen 6c),因为它能够维持更高的时钟频率。然而,9996 的 128 MB L3 缓存帮助它在“fotonik3d”和“lbm”等重负载工作负载中保持较低的内存停滞占比。

整个系列的 L3 延迟有所增加,Zen 6 达到 55 个周期,Zen 6c 达到 66 个周期。虽然 Zen 6 的更高时钟掩盖了大部分增加,但 Zen 6c 更大的缓存作为减少访问主内存需求的主要机制。

Hacker News 读者的反应

  • 技术补充: 一位评论者指出,Zen 6c 变体中增加的乱序结构似乎是随着工作负载变得更加内存密集而采取的吸收内存延迟的战略举措。 评论 ↗
  • 技术补充: 一位读者对整数乘法器和 PDEP/PEXT 吞吐量的减少表示好奇,质疑这些操作是共享相同的电路还是代表独立的硬件削减。 评论 ↗
  • 质疑: 几位评论者讨论了内存带宽的限制,其中一位观察者指出许多应用程序是受 IO 限制而非计算限制,而另一位则认为降低内存延迟比增加带宽更关键。 评论 ↗
  • 技术补充: 一位评论者提出了一个关于单 CCD 上 32 个核心架构管理的问题,具体询问在 CCD 和单个核心之间是否会有更小的逻辑单元。 评论 ↗

以上为 Hacker News 讨论中观点的摘要,并非经过核实的事实。 阅读完整讨论 ↗