在 AMD In-Depth 与 Mike Clark 谈 Zen 6

各位优秀的网友,大家好。我与 AMD 的 Mike Clark 坐下来聊了聊 Zen 6、从 Zen 5 的演进,以及 Zen 6 与 Zen 6c 之间的一些差异,还有是什么推动了其中一些变化。
希望你们喜欢!
以下文字记录为提升可读性与简洁性做过编辑。
George Cozma:各位优秀的网友,大家好。我们正在 AMD In-Depth,谈论 Venice。和我在一起的是返场嘉宾 Mike Clark。你想向观众介绍一下你是谁吗?
Mike Clark:嗨,我是 Mike Clark,Zen 的原始架构师。有些人称我为“Zen Daddy”。我在 AMD 做核心已经 33 年了,我们又将迎来一个很棒的产品,所以我为我今天有幸代表的这支设计团队感到非常自豪。
George Cozma:我已经实际接触过 Zen 6c 一段时间。我们来谈谈 Zen 6 和 Zen 6c 发生的变化,也就是我在文章中称为 Zen 6 家族的东西。它为什么与之前几代不同?
Mike Clark:对。从 Zen 4 开始,我们一直在经历拥有两个核心家族的演进。以前,我们其实只是把更密集的技术当作面积策略来用。在这一代,我们学到了很多;在完善那个更密集版本的核心时,我们希望利用它来为核心增加一些额外 IPC。所以,如果你更深入地看我们所拥有的东西,过去我们经典的设计,现在我们认为它是我们的高频设计。而我们的密集技术现在是我们顶级的、毫无争议的性能核心,因为我们还在那个实现中启用了完整的 L3,每核 4MB。所以我们有 32 个这样的核心、128MB 的 L3,以及你能在那个核心中获得的最高 IPC。
George Cozma:太棒了。到目前为止,我注意到的一点是,Zen 6c 上的向量调度器稍微大了一些。在 Zen 6c 上增加它的理由是什么?
Mike Clark:嗯,那不是我们唯一增加的东西。我们遵循的一个原则是,不想在两个架构之间制造出软件必须分别优化的差异。我们希望它们具有相同的契合度与体验,这样同样的优化就能同时适用于两者。但由于其频率目标更低,Zen 6c 可以在队列中拥有稍多容量,因为它不必达到高频核心必须达到的最高频率。浮点调度器只是一个例子。Zen 6c 中整个核心还有其他更大的队列,以榨出一点更多 IPC,并在那个 SMT 环境中也获得一点更多收益。
George Cozma:有意思。Zen 6 和 Zen 6c 都建立在你在 Zen 5 中的设计之上,而 Zen 5 的一个有趣之处是双解码配置。前端是否发生了很大变化,让单个线程能更好地利用两个解码集群?
Mike Clark:是的。正如你所说,Zen 5 是一个新基础,能够取两个基本块并把它们送入流水线。但当单个线程运行占用空间更大的工作负载时,情况会变得相当复杂:其中一部分可能命中 I-cache,另一部分可能命中 op cache,而你要努力让一切同步起来。所以我们花了很多时间优化这一点,并从交付和功耗两个角度让它更高效:浪费更少功耗,以及从那个新前端实现更高效的交付。
George Cozma:太棒了。深入到执行引擎,我还注意到整数乘法单元的数量从三个降到了两个。你能谈谈是什么促成了这一选择吗?
Mike Clark:它确实源自 Zen 5 的设计,当时我们有一个更统一的调度器。要让调度器更简单,就希望它调度进入的单元非常统一,而我们设置这些调度器的方式,使得向它所调度的组中增加第三个乘法器很容易,且不会增加复杂性。在 Zen 6 中,我们意识到,要真正扩展架构,就需要回到更分布式的调度器,现在它们会调度到 ALU 中。我们在 Zen 5 上并没有看到那个额外乘法器带来多少提升,因此为了优化面积和调度器,我们又回到了两个乘法器。
George Cozma:说到整数乘法,在向量侧你们又增加了两个 VNNI 单元。增加它们的动力是什么,你们是在设计过程中的哪个阶段加入的?
Mike Clark:正如我在演讲中所说,这些是长周期的设计项目。我们设计 Zen 6 时并不是要让它成为一个 agentic core。刚开始时,甚至没人真正使用这个词。但 Zen 5 是面向 AI 工作负载的全新基础,我们一直相信核心在 AI 中有其位置:编排、数据类型操作、更小的模型。所以我们一直专注于让核心擅长 AI。它不会打败 GPU,这不是重点。我们意识到,鉴于我们看到的推理发展方向,可能应该增加一些 VNNI,团队也围绕这一点齐心协力。这有点晚,因为这些都是长周期项目,而且布局规划已经确定,但团队齐心协力,我们得以在那里塞进更多几条 VNNI 管道,而且取得了巨大成功。
George Cozma:还是关于向量侧,Zen 5 的一个奇怪之处是,尽管线路都已经存在,加载单元一次却只能执行两个向量加载。假设它们是 128 位或 256 位,Zen 6 核心内部发生了什么变化,从而允许四个向量加载?
Mike Clark:我们可以做 256 位加载。既然我们能够做两个 512 位加载,那里就已经有 1,024 根线了。显然,零散使用它们与作为一整组连续使用相比,会让设计更复杂。我认为这是我们在 Zen 5 上一直想做的事情,但伴随着所有变更并让它正常工作,我们把这件事留给了 Zen 6 团队,他们非常出色。无论如何,在 AMD 我们其实都是一个团队,有时事情会在路线图的不同节点交汇。这次正是做这件事的时候。
George Cozma:说到进入缓存的带宽,Zen 5 的 L2 有一些奇怪之处,它在读取时并不总能达到每周期 64 字节。Zen 6 中发生了什么变化,从而允许做到这一点?因为我已经能够测量它,而且它确实达到了。
Mike Clark:老实说,有时候你就是会看不到其中一些问题。很大一部分原因是我们会过度预取,而命中 L2 的预取会抢走 L2 带宽。所以我们确保能够在需求请求之外维持这些预取,减少冲突,并交付我们想要的完整每周期 64 字节。
George Cozma:太棒了。一路回到前端:至关重要的分支预测器。似乎分支预测错误延迟有所降低,所以当分支预测错误时,恢复所需的周期数减少了。我还注意到一件非常 neat 的事:准确率并没有下降。那么,你们不仅做出了一款更快的分支预测器,而且它甚至比 Zen 5 本已非常准确的预测器还略更准确,这是怎么做到的?
文章标题:在 AMD In-Depth 畅谈 Zen 6 与 Mike Clark
正文: Mike Clark:如你所知,分支预测团队非常算法化。这里有大量的设计空间和大量的探索,AI 甚至已经开始参与帮助我们找出如何优化它。这是一个很棒的优化问题:TAGE 表的数量、它们能容纳多少信息、准确性。所以我们着手做一个更高效的。那是我们并不真的想扩张的领域;我们认为可以在预测表的布局方式上更高效。而且我们一直关注流水线长度。无论你造出多好的分支预测器,总会有难以预测的分支,你总会预测错误。所以每一代,我们都偏执地专注于在出错时尽快恢复运行。我们用了很多独特的技巧,把重定向送回前端并让它尽可能快地流动起来。而你观察到了这一点,这很棒。
George Cozma:是的。我还没时间测 Zen 6,但我测过 Zen 6c,在 SPECint 2026 中它匹配你们最快的 Zen 5 服务器 CPU。这非常令人印象深刻,尤其是考虑到频率上的劣势。总结这一切,并从核心移到 L3,12 核和 32 核 CCD 之间显然存在拓扑差异。你在核心内部能在多大程度上缓解这些差异,建立结构来容忍延迟,以补偿略微增加的 L3 延迟?
Mike Clark:正如我一直说的,设计必须平衡。随着我们增大某个结构的容量,新技术帮助它缩小,所以物理距离不会线性增长,但不幸的是距离确实会增长。在 L3 内部,有很多技巧我不能谈……
George Cozma:秘制酱料!
Mike Clark:[为了] 维持 L3 网状网络内的带宽,以便我们能持续向核心交付数据。而在核心内部,我们确实增大了队列以应对那些更高的延迟。
George Cozma:太棒了。我的倒数第二个问题:Verano 正在将 LPDDR5X 加入 EPYC 生态系统。在设计核心时,关于 LPDDR5X 和 DDR5 之间有没有什么你必须考虑的设计考量?
Mike Clark:在 CCX 层面,我们非常关注每核心带宽。我想 Mahesh 谈了很多关于 SDP 端口的内容,每个端口 32 字节读取,所以我们努力确保 CCD 和 IOD 之间有足够的带宽。但我们在 MRDIMM 的带宽上已经配置得很好了,所以那种构造、翼板以及选择不同的内存技术,并没有真正对我们构建核心的方式产生重大影响。
George Cozma:太棒了。通常到这里我会问你最喜欢哪种奶酪,但既然我们已经知道了:你最近尝试过什么新奶酪吗?
Mike Clark:我试过。我的新宠是 Cotija 奶酪。
George Cozma:哦!
Mike Clark:我最近吃了很多墨西哥卷饼。
George Cozma:墨西哥卷饼上加 Cotija 奶酪绝对让人爱不释手。太美妙了。好了,非常感谢你坐下来和我聊。如果你喜欢这样的视频,请点赞并订阅;这对算法有帮助。描述中有 PayPal 和 Patreon 链接,以及 Chips and Cheese 网站上的文字记录。非常感谢。
Mike Clark:谢谢你邀请我,George。我总是期待来和你谈论这个了不起的 AMD CPU 设计团队创造了什么,而你总是有那么多好问题。我希望我能回答更多,因为我们确实必须保护我们的秘制酱料,但我真的很享受帮助你理解我们的一些思路、我们面临的挑战以及我们如何克服它们。
George Cozma:嗯,和你坐下来聊天总是很有趣,不仅仅是关于你在做什么,还有团队在做什么以及你对未来的期待。所以非常感谢。
Mike Clark:谢谢。
George Cozma:我们下期见。各位,祝好!