首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 归档 标签 关于

AMD Zen 6 系列:喂养野兽

摘要

Hello you fine Internet folks, Today we’re looking at AMD’s next-generation Zen 6 CPU core family. We’ll explore the changes from Zen 5 and what the differences between Zen 6 and Zen 6c tell us about ...

the Zen and core per branch AMD predictor for BTB
2026-11-11 1 阅读 约6分钟阅读 pixelpoet
分享:
字号:
各位网友大家好,今天我们来看看 AMD 的下一代 Zen 6 CPU 核心系列。我们将探讨 Zen 5 的变化以及 Zen 6 和 Zen 6c 之间的差异告诉我们 AMD 的微架构方法。希望大家喜欢!从鸟瞰角度来看,Zen 6 是 Zen5 的自然演进,扩展了许多 OoO 结构,并在整个核心中进行了迭代改进。然而,深入挖掘却讲述了一个不同的故事,AMD 大量重新设计了核心的几个部分,让我想起了从 Zen 1 到 Zen 2 的变化。从高层次来看,AMD 对整数时间表所做的改变很突出,回到了让人想起 Zen 3 和 Zen 4 的布局。Zen 5 拥有我们测量过的所有核心中最好的方向预测器,而 Zen 6 似乎建立在相同的方向预测器之上。我们确实看到的最大区别是,一旦方向预测器被压垮,会发生什么。两个核心都在大约相同的位置撞到了那堵墙,然后越过了它,预测器就只能猜测随机数据,因此每个分支的时间主要反映了核心从错误的猜测中恢复所需的时间。 Zen 5 上每个分支的额外时间大约为 3.5 到 4 ns,Zen 6 上大约为 3 到 3.5 ns,因此 Zen 6 为每个出错的分支支付的费用更少,这表明与 Zen 5 相比,AMD 减少了分支错误预测的延迟。Zen 6 还提高了内核每个周期执行 2 个分支的能力,Zen 6 能够在 L1 指令缓存中每个周期执行 2 个分支。当占用空间超过 L1i 时,对于 BTB 的其余部分,它会下降到每个周期只有一个分支,但 64B 测试除外,L2 BTB 的每个分支最多有 4 个周期。将 Zen 6 的 BTB 与 Zen 5 进行比较时,Zen 6 似乎更注重提高 BTB 的速度,而不是增强容量。 Zen 6 的分支预测器单元的准确性与 Zen 5 的非常相似,同时速度也更快,考虑到 Zen 5 已经拥有非常准确的分支预测器,这是一件好事。 Zen 6 继承了 Zen 5 引入的相同双解码集群架构,但与 Zen 5 中单个线程只能有效使用单个解码集群不同,现在在 Zen 6 中单个线程可以使用两个解码集群。除了 L1i 之外,Zen 6 在指令方面的行为看起来与 Zen 5 非常相似。 Zen 6 的执行引擎总体上与 Zen 5 非常相似,但有一些重要的差异需要注意。在整数方面,Zen 6 恢复了 Zen 4 的 NOP 配对行为,每个周期最多淘汰 16 个 NOP。 Zen 6 也比 Zen 5 更接近简单整数指令的理论峰值吞吐量,在相同的 6 个 ALU 下,每周期可维持 5.96 次 64 位加法,而 Zen 5 则为 5.25 次。 AMD 将整数乘法单元的数量从 3 个减少到 2 个,PDEP 和 PEXT 吞吐量也从每周期 3 条指令减少到 2 条。据 AMD 称,Zen 5 的第三个整数乘法单元并不能证明其面积成本是合理的。在向量方面,浮点单元没有变化,Zen 6 仍然每个周期处理两个 512 位 FADD、FMUL 或 FMA。变化在于 VNNI,其中 Zen 6 将单元数量从 2 个增加到 4 个,我们的 512 位 VNNI 测试从每周期 1.99 条指令增加到 3.88 条指令,Zen 6c 与之匹配。 VNNI 指令对于计算量化推理的内循环等操作以及将它们用于视频滤波器的视频编解码器非常有用。转向另一个显着的变化,Zen 5 已经可以在每个周期执行四个,但我们的测试显示其中只有两个可以是矢量加载,无论它们是 256 位还是 512 位加载。 Zen 6 将两个内核上的 256 位负载提高到每个周期 4 个,同时将 512 位负载保留为 2 个,因此两个宽度现在都达到相同的每个周期 128 字节,这很重要,因为大多数发布的矢量代码仍然以 AVX1/2 为目标。过去,经典核心和密集核心在架构方面的差异,无论出于何种意图和目的,在功能上都是相同的,最大的变化在于 CCD 上的核心数量和每个核心的 L3 缓存数量。随着 Zen 6 系列的出现,这种情况发生了变化。从核心内部开始,变化发生在微操作分派之后,并且似乎在加载队列之后结束。 Zen 6 和 Zen 6c 之间的主要区别在于它们的乱序结构的能力。其中一些结构在 Zen 6c 上更大,使其能够比 Zen 6 保留更多的工作并吸收更多的延迟。重排序缓冲区从 576 个条目增加到 640 个条目,整数寄存器文件从 288 个增加到 352 个,向量调度程序从 138 个增加到 180 个,加载队列从 280 个增加到 330 个。这些差异表明 AMD 正在专门研究这两种设计。 Zen 6 似乎针对高频进行了调整,而 Zen 6c 具有更大的容量来承受相对较高的内存延迟。 Zen 6和Zen 6c分别使用12核和32核CCD,但都提供4 MB的L3缓存PE
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱