距离上一次 AMD 发布新的微架构产品已经过去了将近两年,上一代产品优异的性能与能效表现还历历在目。时至今日,AMD 推出了他们新一代的微架构的产品 Zen 5。看看新一代的 AMD CPU 系列产品能否抓住这个机会,爆发出足够强势的表现?这无疑格外让人期待。
自从 Zen 系列发布以来,往年的节奏通常是两年一次大的架构更新,且每代的提升都较为可观。按照实际测试的 IPC 来看,从 Zen 1 到 Zen 2 有着大约 15% 的提升,而 Zen 2 到 Zen 3 则有着将近 20% 的提升比例;Zen 3 到 Zen 4 的同频提升幅度虽然没有前代那么大,但在提高 IPC 的同时极大程度上提高了 CPU 的实际频率,因此代际的总提升也十分喜人。以往的成功经验无疑让我们更加对 Zen 5 的表现充满了期待,在这里,我们将从微架构、实际表现、游戏表现三个部分出发,进行对 Zen 5 系列产品的测试。
由于今年的首发测评只有 6/8C 的测试,更多核心的 SKU 将在一周后才能解禁,在这里,我们首先进行了 8C SKU R7 9700X 的测试;为此,我们也选择了跟他同挡位的intel去年产品 14600K 作为 9700X 的对手。
具体的测试平台如下:
CPU1: AMD Ryzen R7 9700X,默认最大频率 5.55 GHz
CPU2: intel Core i5 14600K,默认最大频率 5.30 GHz
DRAM: DDR5 6000 CL30-38-38-76 EXPO,与前代产品测试时使用的参数一致。
主板:Gigabyte B650E AORUS Pro X USB4 / Z790 Taichi Carrara
BIOS 版本:截止 8/7,为目前最新版本。
散热:瓦尔基里 GL360 VK
由于 AMD 的新主板暂未发布,所以本次的测
试将继续使用 600 系列主板进行,这次我们使用 Gigabyte B650E AORUS Pro X USB4 完成测试。
虽然是一张 B650,但是它也拥有不俗的供电配置,在这两块巨大的散热片下就是这张主板的 16+2 相供电,搭配 80A SPS,即使搭配 9950X 也完全不虚。
拓展接口方面,这种主板共计提供了 10 个 USB-A 接口,四个为 USB 2.0,四个蓝色接口为 USB-A 5G,红色接口为 USB-A 10G,除此以外这张主板还兼容 USB4,共计有两个 USB-C 接口可以兼容最大 40Gbps 带宽,同时还能兼容 DP1.4,最大支持 4K 240Hz 的显示器。
这张主板在前置接口处也提供了一个 USB-C 拓展,可以兼容最大 20Gbps 带宽,在这个前置 USB-C 的附近,还有一个 HDMI 接口,这个接口专为机箱小屏设计,可以让玩家实时监控电脑运行情况,最大可以兼容 1080P 30Hz 的显示屏。
内存方面,这张主板 QVL 可以轻松达到 8000MHz 的高频,同时兼容 XMP 和 EXPO 一键超频。
以下是部分参测硬件的规格和参数。
微架构部分
首先进行的是微架构部分的测试,作为 AMD 近两代里最大变动的微架构,Zen 5 是 AMD 历史上第一个 8 wide 的 uarch,其前端具有两组 4 宽解码器,用以构成 8 wide 设计。在这里,我们首先对前端的指令 fetch 性能进行了相应的测试。
从 NOP 指令的测试结果看,其 L1 的预取带宽将来到 64 B/Cycle,这就意味着其实际预取 IPC 来到了 8 的宽度,与前端 decoder 设计的宽度相匹配。我们进一步探究了 1C2T 的情况,其结果如图所示。
与其他微架构中 1C2T 带宽与 1C1T 几乎完全一致不同,在 Zen 5 中,2T 的指令带宽在进入 L2 之后看起来将相较于 1T 有显著的进步;另一个问题是在低长度 NOP4 指令中,1T 的指令带宽大约仅有 28 B/Cycle 左右,这意味着单线程情形下实际 1T 测试并不能跑满 8 IPC。这样的设计可能跟 AMD 的双簇解码器关系大些,这种情况下也许能够更好的增加线程的利用率。
另外,我们还简单测试了一下 iTLB 的情况,其 L1 的 iTLB 相较于 Zen 4 架构来说没有太多大小上的变化,仍维持在 64 entries,与 intel 有所不同,AMD uarch 的 L2 iTLB 与 dTLB 是分离设计,在 Zen 5 中其由原先的 512 entries 增加到了 2048 entries。
随后我们进行了分支预测的相关测试,使用 clam 的套件。
上为 Zen 5 下为 RPC,可以看见 Zen 5 在 Zen 系列传统强项的分支预测器 BP 方面相较于 RPC 来说还是有一定的优势,主要优势集中在中等长度,loop 数量不太多的场景。
紧跟着 BP,我们随后测试了 BTB 的情况,结果如图所示。
整个 BTB 看起来像是一个二到三级结构,有一级 1024 entries 的 L0 BTB,实际上这个部分的结果是由 Zen 5 的 Mop cache 所提供的。从长分支中可以看的出来,实际的 L1 BTB 约为 16k,这与 AMD 官方给出的数字匹配,根据 AMD 的说法,Zen 5 还有一个 8k entries 的 L2 BTB,但在测试中没有太明显的体现。
随后我们测试了后端的重排缓冲区 ROB 以及分支缓冲区 BOB 的情况,可以看见 ROB 的大小约为 448 entries,这与 AMD 报道的数字一致,BOB 的数量则约为 184 entries 条。这个 BOB 的大小还是相当豪华的,参考 Zen 4 的 118 non-taken 或者 Raptor Cove 的 128 entries 来说,这一次很显然 AMD 在 Zen 5 的分支预测部分上下了比较大的力气。
我们还简单测试了一下 rename 的带宽,最大的指令宽度可达 8 wide,这与 AMD 报道的相符。
Int 与 FP register 的情况我们也进行了相关的测试,可以看见 int register 大约在 211 附近跳变,考虑到应该有 16 个 mask register 的情况,实际大小约为 227-230,这与 AMD 提供的 240 数字接近,考虑到上代的 int register 约为 224 个,其增加幅度并不算大。总的 int 寄存器占当前 ROB 容量的 53.5%,相较于上代来说有所下降。除了正常的 int register 外,AMD 从 Zen 3 开始引入了 flag register,旨在帮助处理 rename 的情况,这里我们测试下来数量大约为 183,考虑到可能有 8 个 mask register 的情况,总数应该为 192,这与官方给出来的数字相仿。FP 部分的资源给的丰富的多,测试下来 fp 的 register 大约有420个,测试的结果已经超过 AMD 所提供的 384 个,对比 Zen 4 来说 FP register 的翻倍还多,这意味着我们可以预计到将会有可喜的 fp 性能提升。
对于后端来说,scheduler 的大小也至关重要,测试下来 int 的 scheduler 约为 87-88 entries,这个数字与 AMD 官方提供的相符,fp scheduler 约为168 entries,f2I scheduler 约为 84-86 entries,考虑到 F2I 应该平均分配在两个 scheduler 中,而 FP 测试则同时测试了 FADD+FMUL,此时可能出现多个 scheduler 共同工作的情况,因此实际的 scheduler 总数应为(168+84)/2=126个,即 42*3,这与 AMD 报道的 39*3 数字接近。此外,我们还测试了 AGU 部分的 scheduler,约为 56 entries,这个数字比 AMD 官方给出的 56 完全一致。
LD/ST 队列的大小对于后端来说也很重要,在这里面我们测试下来 Zen 5 的等效 LD queue 约为 202 entries,ST Queue 则来到了 104,这个数字与 RPC 相对接近,相较于 Zen 4 的 138/64 提升较大。
最后我们还简单测试了一下 dTLB 的大小,AMD 的 dTLB 约为 4kb 96 entries 与 2/4M 4096 entries,相较于 Zen 4 来说,L1 DTLB 大小增加了 16 entries,L2 则增加了 1024 entries。
到了这里,Zen 5 微架构的部分测试也就告一段落,接下来我们将从 SoC 的角度出发进行整体的性能测试。
性能测试
2.1 理论性能测试
我们首先进行了内/缓存延迟与带宽的测试,可能是固件优化的问题亦或者是 Zen 5 的 CCD 与内存控制器匹配的问题,在同样的参数的 EXPO 内存下,目前 Zen 5 的内存延迟相较于 Zen 4 来说同参数增加了约 15 ns,AIDA64 相同 JEDEC 内存测试结果也相仿。
来到缓存的部分,首先是 L1D 的变化,Zen 5 的 L1d 从 32 kb 增加到了 48 kb 延迟维持 4cycle 不变,而 L2 继续维持在 1024 KB 14 cycle 上。在 L3 中,我们测试了 8M 处的实际延迟,与移动端中 L3 延迟的接近 10% 延迟进步有些不同,测试下来实际的 8M 处的内存延迟 Zen 4 与 5 均约为 53-54 cycle 左右,有且仅有 1 cycle 差异,可能是误差所致。
关于实际延迟的问题,我们也让同学使用 DDR5-5200 JEDEC 的内存进行了相应的测试,AIDA64 的内存结果如图所示。可以看见,内存延迟的测试结果就是相较于 Zen 4 来说相对偏高。
补充:我们还更换了一组即将发布的板 U 进行了测试,可以看见使用快餐 AIDA64 测出来的内存延迟并没有显著的变化。
除了延迟外,我们也测试了 Zen 5 的数据带宽情况,可以看见 L1D 的 AVX2 带宽相较于 Zen 4 来说没有太多的变化,相较于 Intel 的 RPC 架构来说仍旧稍低,而 L2 的带宽则有所增加,来到了大约 250 GB/s 左右,与 RPC 基本持平,L3 的带宽则几乎不变,内存的端的带宽略有增加,从 40 GB/s 增加到 44 GB/s。AVX512 下的读取带宽主要在 L1 上有些变化,其他的差异不大。
我们进一步的对不同线程/核心数下内缓存带宽进行了进一步的 scaling,结果如图所示。
与 Zen 4 的情况有些类似,单个 ccd 的 sample 最大内存带宽约为 55 GB/s。考虑到可能是由于内存控制器瓶颈带来的,我们随后还测试了 9700X 的内存级并行(MLP)性能情况。
上为 Zen 5 9700X 的 MLP,下为 14600K。可以看见 Zen 5 的内存子系统相较于竞争对手的 14600K 来说明显偏弱,除极少数情况外,Raptor Lake 的内存级并行性能全方位占优,这种情形在需要较多内存吞吐的时可能会有较大的影响。
在完成了内存子系统的测试后,我们还进行了核间通讯的测试,其结果如图所示。
在不跨越 CCX 的情况下,同 CCX 内其核心通讯延迟相较于上代产品来说基本维持在与上代产品相同的数量级,约在 19-22 ns 左右,需要注意的是本代核心与超线程之间的通讯延迟似乎有所增加,大约 17-19 ns 左右,相较于核心间的通讯稍低,但没有之前的超线程与核心间通讯那么低。
指令带宽也是需要测试的结构之一,我们使用的比较基础的 MicroBenchX 测试套件对指令带宽进行了相对简单的测试。
可以看见,在 AVX512 相关的吞吐性能里,Zen 5 几乎都可以做到对 Zen 4 的带宽翻倍,其他场景里也大部分指标有所提升;然而 Zen FPU/X87 性能却有所下降,这样的变化也体现在了后续的其他测试中。
2.2 常规性能测试
在常规性能部分,我们将使用 14600K 作为主要竞争对手用于比较 R7 9700X。
2.2.1 CPU-Z
首先是比较快餐类的 CPU-Z,该测试主要比较看 fp 部分的 SSE 吞吐跟延迟,另外也比较看后端 ROB 部分的利用率情况。
可以看见,在偏向 SSE 部分的 CPU-Z 测试里,9700X 尽管已经在这个项目里有比较大的提升,但相较于 14600K 来说,还是不论单或多线程均稍微低了一些。
2.2.2 Cinebench 系列
随后是 Cinebench 系列的测试,包含四个不同版本的 Cinebench。首先是比较传统的 Cinebench R15。
在 Cinebench R15 中,9700X 单线程相较于 14600K 来说,有大约 14% 的领先,多线程则落后 5% 左右。
紧接着是 Cinebench R20 的测试。
在 Cinebench R20 中,9700X 单线程相较于 14600K 来说,有大约 7% 的领先,多线程则落后 5% 左右。
而后是 Cinebench R23 的测试。
在 Cinebench R23 中,9700X 单线程相较于 14600K 来说,有大约 5% 的领先,多线程则落后 6.5% 左右。
最后是 Cinebench R2024 的测试。
在 Cinebench R2024 中,9700X 单线程相较于 14600K 来说,有大约 5% 的领先,多线程则落后 11% 左右。
综合来看,9700X 在单线程部分测试里领先 14600K 约 8%,在多线程部分落后 14600K 约 7%。
2.2.3 解压缩
我们使用了当下最流行的两个解压缩测试应用,测试版本已经在小标题中标出,Winrar 使用默认的 benchmark 进行测试,7zip 则使用 32M 字典大小进行相关测试。
结果如图所示,在以往 intel 一方优势的 Winrar 中两者的性能差异不到 1%,Zen5 的进步相当明显。在以往 AMD 优势的 7zip 中,由于核心数较多的缘故,14600K 在解压缩中明显更胜一筹,在压缩中则基本与 9700X 持平。综合来看,两者的压缩/解压缩性能基本在伯仲之间。
2.2.4 3DMARK 部分
首先是 3DMARK profile 系列的 CPU 测试,在这个系列的测试中,单线程里 9700X 领先 14600K 约 10%,多线程中落后 14600K 约 4%。
随后是 FS、Time Spy、Time Spy Extreme 部分的物理分测试。
在这个部分的测试中,FS 里,9700X 落后 14600K 约 2%,在 TS 里落后的相对较多,约 20%,在 TSE 里落后约 10%。
总的来说,在 3dmark 的系列测试中,9700X 单线程约领先 10%,多线程约落后 9%。
2.2.5 Super PI 部分测试
作为传统项目的 Super PI 曾经被认为是游戏性能的风向标之一,虽然现在这个测试已经不再那么跟游戏相关,但作为一个 X87 项目性能测试,仍有其历史意义。
在这个项目中,时间越短,测试性能越好。9700X 需要 362.098s 完成该测试,而 14600K 使用的时间为 300.977s;9700X 性能约为 14600K 的 83%。事实上,在这个项目中 Zen 5 甚至对比 Zen 4 有一定的性能倒退,这也许是 Zen 5 在设计时为了精简核心,删去了一部分的 X87 计算单元所致。
2.2.5 浏览器部分测试
网页应用性能测试也是常见的应用场景之一,在这里我们使用了比较常见的 Speedometer 2.1,Speedometer 3.0,以及 Webxprt 4 进行相关的浏览器部分测试。使用的系统版本为 23H2,浏览器均为最新版的 EDGE。
测试结果如图所示,在 Speedometer 2.1 中,14600K 领先 9700X 约为 18%,而在 Speedometer 3 中 9700X 则领先约 3%,在 Webxprt 4 中则领先约 10%,综合下来浏览器性能两者相差无几,14600K 约为 9700X 的 102%。
2.2.6 AIDA64 部分理论测试
我们还使用了 AIDA64 进行了比较理论的一些算法测试,其中一些部分可以运用到 AVX512,在这里我们将看到 2x512b FMA 在这些测试中展示出其非凡的性能潜力。
首先是 FP32/64 的测试,在这两个项目的测试中,AVX512 将被充分的利用,继而使得性能逼近上代 16C,性能大幅强于 14600K。在 SHA-1 的测试中,9700X 的 AVX512 并不能有效被使用,性能相对落后。
在这一部分偏向于常规科学计算与图片处理的测试中,9700X 相对性能较之 14600K 有些落后。
在最后一部分涉及到 FPU 相关(除 SHA 3 外)的测试中,9700X 代表的 Zen 5 架构再次展示出他们在 512b 浮点项目上的加速性能,在这个方向上相对领先 14600K,为之前的许多常规测试多线程的落后找回了不少的场子。
Geekbench 系列与 SPEC 2017 相关测试
3.1 Geekbench 5 测试
在这里,我们首先使用 Geekbench 5 对 Zen 5 进行了相应的单线程与 IPC 测试。尽管已经有了新的 Geekbench 6,但很多时候 Geekbench 5 仍具有很高的参考价值。
可以看见,9700X 在 Geekbench 5 的单线程测试中获得比较好的成绩,相较于竞品的 14600K 来说,9700X 在 int 上的领先了约 7%,在 fp 上领先了约 16%。可以看见,相较于上代旗舰产品 7950X 来说,9700X 也在 int 上领先了约 3%,fp 上领先了将近 9%。从整体来看,Zen 5 架构的提升主体主要集中在 fp 部分上,在int上提升相对少一些。
随后,我们使用 Geekbench 5 进行了相应的定频 IPC 测试。
从测试的结果中可以看得到,相较于上代产品来说,Zen 5 在 GB5 int 上提升约 8%,fp 上提升约 14%。
3.2 Geekbench 6 测试
我们还使用了相对较新的 Geekbench 6 进行了相应的测试,结果如表格所示。
可以看见,在 Geekbench 6 中,9700X 相较于竞品的 14600K 取得了大约 10% 的单线程优势,在这个测试中,9700X 相较于 i9 13900K 与 R9 7950X 均能取得少许的优势。
随后我们进行了 Geekbench 6 的定频测试,结果如下表所示。
可以看见在 Geekbench 6 中,Zen 5 架构相较于 Zen 4 架构获得了约 9% 的 PPC 提升,相较于 RPC 核心也有 8% 的 PPC 领先。
3.3 SPEC2017 测试
作为相对来说权威性较高的测试,我们按照惯例首先测试了一下 GCC10 下的 SPEC 数据,以往的所有 X86 测试也都基于这样的标准与 flag 进行,每个处理器的结果均跑超过三组,取最好成绩,所有的结果均可共同参考。
测试环境:Windows 23H2 WSL2 Ubuntu 22.04
编译器 GCC10.x.0
Flag: -O3 march=native, -fpermissive for c++
首先是 1T 的部分
在这里,我们不仅对比竞品的 14600K,还引入了以前测试过的 13900K 与 7950X,可以看见在 GCC10 的环境中,相较于上代产品与竞品来说,9700X 主要在 fp 上具有较高的领先的优势,而在 int 上的领先幅度相对小一些。
随后我们进行了定频的 IPC 测试,按照以往的一贯惯例,测试的频率为 3.6 GHz。
可以看见,相较于 Zen 4 架构来说,Zen 5 架构主题的提升集中在 fp 上,其 int 提升了约 4%,fp 提升了约 23%,这主要是由于 Zen 5 架构在 fp 部分上增加的资源更多所致。而 Int 部分的提升甚至还不如移动端,可能是由于当前 IMC 还没有做好匹配,再加上 L3 没有实现如同移动端一样的延迟提速所致。
相较于 RPC 来说,其 int 约高 3.3%,fp 约高 18%。
随后我们测试了 GCC12.x.0 的情况
Flag: -O3 march=native,在 GCC12 中无需使用 fpermissive flag 为 C++提供兼容性。
相较于 GCC10 中的情形来说,在 GCC12 中,9700x 的 fp 优势略有下降,而 int 优势则小有提升,这主要是由于 Zen 3 以后的系列在 GCC 版本更迭的过程中 Gfortran 在 11 及以后版本可获得在 548 exchange 项目上额外的部分收益所致。
我们也测试了一下 3.6 GHz 定频的 IPC,结果如图所示。相较于 Zen 4 来说,在 GCC12 中,Zen 5 提升了 3% 的 int 约 19.6% 的 fp,相较于 RPC 来说则领先了 5.5% 的 int 与 17.6% 的 fp。
可能是由于 Zen 5 架构在 Gfortran 11 及以后版本可获得在 548 exchange 项目上额外的部分收益小于 Zen 4 的缘故,int 的提升相较于 GCC10 来说略微小有倒车。另外,在版本更新的编译器套件中,Zen 5 的 fp 提升似乎没有老版本的来的更高。
功耗测试
在这里,我们首先使用了 FPU 测试项目进行了相应的功耗测试,在 AVX2 的测试里,9700X 频率约在 5.05-5.15 GHz 之间,功耗约为 142w。
然而,在实际多线程测试的过程中,我们发现测试的功耗可以达到 160W+,且温度将来到 90 度以上,这意味着 AVX2 FPU 已经不能很好的反应高压下的功耗与温度。
随后我们使用了 AVX512 FPU 进行了相应的功耗测试,结果如图,功耗约 170W。
2x 512b FMA 的存在让 AVX512 的性能与功耗都有了显著的飙升,在上一代的 Zen 4 系列产品中,相同的功耗下 AVX512 的频率与 AVX2 的频率基本持平,在本代产品中,AVX512 在功耗更高的情况下,频率显著更低。
非常遗憾,由于本职工作的繁忙加上显卡出现了一些意外,本次就无法为各位提供游戏测试了,不过其他 up 的内容一样精彩,各位可以移步其他 up 的内容观看。
总结与展望
时隔将近两年,作为新一代产品来说,Zen 5 的推出时间无疑是非常精准的。在今年的夏季,为大家带来了新的惊喜。有些可惜的是,Zen 5 系列的工艺制程仅进行了从 TSMC N5 到 N4P 制程的迭代,未能在绝对的能效比上带来如同上代产品的巨量频率与能效提升。
作为超微半导体最新的架构来说,Zen 5 核心无疑是一个亮眼的设计,前端使用了双簇解码器来实现最终的 8 发射,后端补全的全宽度 AVX-512 单元,无不彰显了其显著的改动。作为 X86 系统中第一个 8 wide 核心,高达 20% 左右的浮点性能提升也证明了 Zen 5 微架构的强劲实力。
如果说,让我们给 Zen 5 产品一个评价,我想用稳中有进这个词来形容,虽然目前仍旧有一些适配上的问题存在,比如内存控制器的匹配与固件问题等。但作为本世代第一个发布的产品,Zen 5 的表现已经相当不俗,尤其是考虑到 Intel 13 14 代高阶 SKU 存在的不稳定性问题尚且需要等到月中的微码发布后才能缓解,稳字当头自然也就成了更重要的部分。
在 Zen 5 后,AMD 家族的 RDNA4 独显、intel 的 Arrow Lake、Battlemage 产品也在逐步逼近,以及 AI 世代的绝对赢家,Nvidia 的 Blackwell 消费级产品即将推出。可以预见的是,作为新的大年,今年的“半导体狂潮”将会比以往来的更加激烈,也更让人期待。而作为掀开这一大幕的产品,Zen 5 无疑会是其中相当耀眼的一颗明珠。
热门跟贴