6

革新再启动 英特尔11代酷睿处理器暨ROG M13H知乎首发评测

 3 years ago
source link: https://zhuanlan.zhihu.com/p/360993485
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

革新再启动 英特尔11代酷睿处理器暨ROG M13H知乎首发评测

创业话题下的优秀答主

序言:

本文作者为Cloud和陈寅初。(注:陈寅初为Gzeasy创办人,PCPOP创业期评测室主笔,超过20年的评测CPU与显卡经验;Cloud为某主机厂研发工程师,从事系统评估。本文同楠爷并无利益相关)

Edison Chen的技术专栏

我们这边在春节前就拿到了11代处理器样品和M13H,测试时间有2个余月,但测试时间给人感觉依然是紧紧缩缩,除了不断增加测试内容以外,更为关键的是由于固件微码的更新,11代的性能比开始测试的时候也有了明显的提升,导致我这边有大量测试数据需要重做。对于RKL的性能评价也从偏负面转向偏正面。虽然之前有些偷跑的评测数据并不能代表11代的真实水平,因此我们建议各位想要更为全面的了解真实的Rocket Lake,还是花费一点时间看完本文。

从 Tick-Tock 到 PAO

2020年Zen 3的胜利,对于AMD而言,在产品性能角度是一场十分彻底的翻身仗,不仅是多线程性能继续扩大优势,更难得是就年以往弱势的单线程性能、IPC和游戏性能也都得以扳回,可以说是胜得酣畅淋漓,可以说是大胜。

但我们也要明白AMD是怎么胜利的,战胜的是什么。Zen 3战胜的Comet Lake本质还是14nm的Skylake,相比2015年的6700K并未有本质差别,仅仅是每隔一两年在RING环形总线上多挂2个核心而已。Zen 3在2020年战胜一个线宽落后两代的5年前的架构,其实并不是一件太值得夸耀的事情。

Intel为什么一个工艺线宽/一个架构可以用上5-6年,这个问题我们要从intel的产品迭代策略说起。

我做了一张图,从架构、工艺、核心面积方面展现intel处理器最近10年的变化,在2016年之前,intel产品都还是按照经典的Tick-Tock,架构和工艺交替迭代更新的节奏,但Tick-Tock的钟摆到了2015年就彻底停摆了,14nm从2014年的5代做到了2021年的11代, SkyLake架构也从2015年的6代坚持Optimization到了2020年的10代,这就是所谓PAO迭代策略。

所谓 Tick-Tock 是指英特尔在 2007 年发表的产品推出模型,含义并不复杂:

Tick:新的半导体制程

Tock:新的微架构

我们见证了在 Tick-Tock 的驱动下 Conroe 微架构及其衍生微架构的辉煌,但是到了 2016 年,英特尔认为 Tick-Tock 驱动模式下由于芯片微缩的成本越来越高,不符合经济性,因此宣布这个 10 年的产品发布模型终结,改为采用名为 Process–Architecture–Optimization(PAO,制程-架构-优化)的产品发布模型,每个制程节点的产品从两代变成三代(以上),由此可见,PAO 产品策略诞生于一个竞争压力较小、新制程研发成本日益高涨、微架构潜力似乎还有挖掘空间的蜜汁自信的业务环境里。

如果说 AMD 的推土机采用 CMT 架构太“浪”了,那么英特尔的 PAO 则更像一个财务先决下的保守型策略。

在Zen 3特别是Zen 2之前,AMD难以给intel足够的竞争压力,intel自然也没足够压力迭代更新架构和工艺。Intel其实在2016年就基本定型了Ice Lake,但Ice Lake的同等核心规模比Skylake大了很多,是基于10nm的工艺设计,但高性能10nm难产,因此桌面的Ice lake-S胎死腹中,仅推出了对于功耗有更高要求的移动版本。

因此架构不换代的核心问题还是工艺。intel在2014年计划14nm用2年,就升级到10nm,并信誓旦旦的说,自己是半导体革命的领导者,领先台积电3.5年。但现实是虽然10nm已经量产,但基本是用于移动平台,而台积电的5nm的iPhone 12+华为Mate 40已经出货几千万。

Intel有10nm而不用在桌面平台,这是有多方面理由的,我们从性能,需求和成本的三个方面来分析。

首先是性能:现在intel应用在移动处理器的10nm工艺虽然密度更高,但实际的晶体管性能还是不如14nm++这样高性能工艺。

并且intel 14nm本身也在不断改进,从5代到6代开始,每代性能基本都有5%的提升,这样工艺性能提升的收益就是频率,14nm+++动辄5GHz+以上的全核频率,这也是Zen 3的7nm无法企及的。Intel要到ADL-S才会迁移到10nm,并且这是改进型的10nm SuperFin,相比之前ice Lake使用的10nm性能还可以有17-18%的提升,这样的高性能10nm工艺才能满足高性能桌面处理器高频率的需求。

再来说说需求:多年以前ZOL的固杰就提出了一个D线的概念,D线是芯片面积的舒适区,超过D线,在成本功耗上就不舒服,而原低于D线,产品规模就可能过于保守,产品的竞争力就可能有问题。这个概念在多年后的今天仍然适用。普通桌面处理器D线大概就在200mm2,Skylake虽然还是使用14nm,通过挤牙膏的方式将核心数量堆到10个,也未明显超越D线的范畴。因此对于Skylake而言,14nm的规模依然是可以接受的。

最后再来说说成本和供应:“我们来回顾下intel 22nm和14nm产品成本曲线,很明显在改变工艺(Tick)的IvyBridge和Broadwell开始阶段成本很高,因此新建新的Fab,采购光刻机和其他设备投资十分恐怖,都是以Billion十亿美圆计,并且在新工艺投产前期,良品率都会比较低,使得芯片的均摊成本很高。

而新架构处理器(Tock) Haswell/Skylake虽然在研发阶段有一定投入,试产也会有一定麻烦,但相比数以百亿美元记的Fab厂房设备投资和低良品率而言也算不了什么事情。

更新工艺会大幅增加成本,不更新工艺成本就可以维持在相对低的舒适区。在没有足够竞争压力的情况下,人们都会比较殆情的选择留在舒适区的。前几年AMD不给力的时候,intel就是这样的情况,因此intel其实也没太大动力去推动工艺升级。

另外在10nm产能有限的情况下,intel自然是优先保持对于功耗更为敏感,利润更为丰富的移动产品优先可以使用10nm,也是很自然的。桌面在继续使用14nm,产能供应业有更好的保证。

AMD这边虽然性能占优,除了封装方面存在问题以外,台积电的还是没有足够产能给Zen 3,虽然Apple已经很大部分迁向更先进的5nm,华为海思被BAN、高通新一代也很大比例转头三星,可以有更多Wafer产能可以给AMD,但AMD内部不仅有新一代的GPU要跟Zen抢产能,现在还是次世代PS5和Xbox Series X迭代更新期, 这两个主机最近几月销量也应该有千万级别,这也吃掉了很大一部分产能。,有渠道消息,PS5和Xbox Series X这样的第三方定制芯片占据了AMD 7nm订单的60%,Zen 2/APU和Zen 3基本各只有20%不到,而RDNA2几乎可以忽略不计,,Zen 3京东自营涨价很大程度也是受供应不足的影响,居然是供不应求,加价的钱给黄牛赚为什么不给我AMD自己赚?AMD现在是巧妇难为无米之炊。

对于intel而言,自己有晶圆厂封装厂在产能上无疑更有保证,2020年Q4在Zen 3发布的情况下,intel的市场占有率依然可以逆势增长,而AMD不升反降,这才是“有Fab才是真男人”的真谛。

纸面的工艺

再说台积电说着7nm 5nm,其实这些7nm 5nm的纳米数其实是有比较大水分的。

工艺的nm数其实是指的是Gate的长度,至少早期和现在的intel还是是这样的,但后来TSMC更多处于市场营销方面的考虑,工艺的nm数名称和Gate的长度渐渐脱节,变得名不副实起来。Intel早期资料,10nm水平距离为34nm,高度为53nm,实际量产的工艺密度还更高。

著名玩家 Der8auer将Zen 2的7nm和intel 14nmL1缓存部分放到显微镜下进行对比(L1部分基本是CPU 当中晶体管密度最大的区域),当SEM放大到相同的放大倍数时,两个芯片的晶体管尺寸非常相似。栅极高度非常相似。虽然7nm的密度更高,但这个差距远远还是小于我们的预计,也小于nm数数值的差距,台积电的纳米数其实有很大的水分。

还是用Fin的水平距离和高度进行对比,我们可以发现Intel在类似的工艺线宽相比台积电有更高的密度(图片来源WIKICHIP),intel的10nm晶体管密度基本是台积电7nm的水平。而14nm也远优于TSMC的16nm,更为接近10nm水平。甚至intel 14nm FF++时候,故意将晶体管密度降低了10%,用来提升性能。

在来说说晶体管性能:目前Zen 3的7nm工艺全核心一般也就4.5GHz或者稍高水平,而经过intel多年打磨的14nm全核心可以到5GHz以上,虽然在性能功耗比上无法和7nm相比,但在绝对的晶体管性能上intel 14nm还是更好的。

因此现在intel的情况实际并没有些媒体渲染的那样糟糕,即使是在Zen 3发布后,也并没太大压力。intel前任CEO Bob Swan是CFO出身, 其一开始是代理CEO,虽然后来转正,但其基本还是承上启下,工作重点是内部架构梳理和维持营收,自己并不是技术方面的大拿,在产品策略方面自然会比较保守,就如同样是CFO出生的 Tim Cook对于乔布斯。

并且从财报上看,Bob Swan作为一个职业经纪人做的很不错。从1月截至的2020 Q4财报看,即使是直面Zen 3发布,intel的CCG终端计算集团收入也高达109亿美元,同比去年增长9%。因此有人都开玩笑说,AMD负责Yes,而intel负责赚钱。


Intel的回合

在2020年的Zen 3之后,现在轮到intel回合了。历时6年的Skylake的天空王朝终于结束,英特尔架构革新的车轮又再次启动了。

上图是11代i7/i9的产品规格表

这个是使用不同核心数可以到达的频率,RKL整体频率比CML稍高。

Rocket Lake SoC微架构概况

Rocket Lake 是十一代桌面酷睿处理器的 SoC 微架构代号,均为 LGA 1200 引脚,H470以上 系列和 Z500 系列芯片组主板都能提供支持,其中集成显卡的 K 系列有三个型号,见下表:

Rocket Lake 的 CPU 内核微架构代号是 Cypress Cove,在指令集方面具备 AVX512F、VNNI 等指令扩展,引入了比上一代微架构(CometLake)更大的重排序缓存(ReOrder Buffer)和一级数据缓存(L1 D-Cache),最高 8 个内核 16 线程(CometLake-S 最高可以 10 核 20 线程),周边高速互连方面实现了 PCIe 4.0 的支持(20 条 PCIe 4.0 信道),核显更新为性能显著提升(50%)的全新Xe-LP 架构GPU,支持更高规格的显示输出,与 PCH(南桥)连接的总线 DMI 3.0 信道数提升为 8 条(增加了一倍)。

Comet Lake-S SoC 模块图:

Ice Lake-H SoC 模块图:

Rocket Lake-S SoC 模块图:

和 Comet Lake-S 相比,Rocket Lake-S 在 SoC 级别架构上的主要变化:

  • Skylake → Cypress Cove
  • Gen 9.5 → Gen 12
  • 24EU → 32 EU

显示输出:

  • DisplayPort 1.2 → DisplayPort 1.4
  • HDMI 1.4b → HDMI 2.0b

周边设备接口:

  • PCI Express 3.0 → PCI Express 4.0
  • DMI 3.0 x4 → DMI 3.0 x8
  • DDR4-2933 → DDR4-3200
  • 400 系列芯片组 → 500 系列芯片组
  • 2.5G 以太网
  • WiFi 6E
  • USB 3.2 Gen 2*2
  • 芯片薄化提高散热效果

上图是Rocket Lake的核心结构布局,由于Cypress Cove核心变大,Rocket Lake最高只有8个核心,L3缓存由Skylake的侧面移到了内侧,每个核心L2由Skylake的256KB增加到512KB,但L3还是保持不变。

左侧是28个通道的PCIE控制器,CPU直连是16X+4X Gen 4,到PCH也由Skylake的4X变成了8X。右侧是Xe LP核心显卡,上面是32个EU,总计256个流处理器,下面一大块是GPU的前端后端和视频解码编码部分。GPU部分相比Skylake祖传的UHD 630大一些,但这不足以成为RKL核心面积猛增的主要原因。

这张图在之前Comet Lake评测的时候我就放过,这里再说一次LGA1151和LGA1200的定于差别:虽然CML和CFL在架构上并没什么区别,但更换LGA1200更多是为现在的Rocket Lake做准备,主要变化是右下部分,PCIe的部分明显变大,这是要为PCIE 3.0到4.0的升级做准备,其次明显变大的就是DMI部分,Rocket Lake从CPU到PCH的DMI从4个通道翻翻到8个通道,对应的接口针脚部分也是必须加大的。

和 Comet Lake 相比,Rocket Lake 的区别还是不少的,所欠缺的主要是制程依然属于 14 纳米节点。

Rocket Lake的微架构

上面部分是整体架构,再来说说微架构:

RocketLake 就是在 PAO 策略下的英特尔最新一代处理器架构,RocketLake 这个名字属于SoC 级别的微架构代号,桌面的 RocketLake-S 包含了代号是 Cypress Cove(微架构与 Sunny Cove 同代,因为使用 14nm 而名字上有不同)的 CPU 内核微架构、代号 DG1 的 Xe-LP GT2 核显,对应的产品系列就是第十一代台式酷睿处理器。

正如我们前面的表格所展示的,RocketLake 属于架构前移,这里的前移含义是它采用的CPU 微架构 Cypress Cove源自 Sunny Cove,原本对应的制程并非 14 纳米优化,而应该是 10 纳米制程。

Sunny Cove 是 2019 年就推出的 CPU 内核微架构,笔记本/服务器版本的 SoC 微架构实现是大家耳熟能详的 IceLake,对应的笔记本产品线为十代笔记本酷睿,服务器版本则是今年 4 月份才会推出的 IceLake-SP(属于第三代 Xeon Scalable 处理器,采用 LGA 4189 引脚或者说对应 Socket P+ 插槽)。

在编译器(GNU GCC、Intel OneAPI HPC、LLVM)中,RocketLake 和 IceLake 的架构旗标均为 icelake 或者 icelake-client。

在 gcc 和 llvm 中,icelake 或者 icelake-client 架构旗标默认不会开启 AVX-512 的 512 位版本指令支持,只有 AVX-512 的 256 位指令版本支持,编译出来的二进制文件里向量寄存器只有 xmm(128-bit)和 ymm(256-bit)两种类型,即使已经使用了 -mavx512f 这个开关也是如此。

程序员使用 gcc 或者 llvm 编译程序的时候,需要特别指定优选 512-bit 寄存器(寄存器标识为 zmm)宽度才能实现 AVX-512 的 512 位版本(AVX512F)指令支持,只有这样才能编译出真正使用 zmm 寄存器的二进制对象文件。

英特尔的 OneAPI HPC 编译器则只要使用 icelake 旗标默认就会启用采用 zmm 或者说 AVX512F 指令。

见下图,红色高亮的就是表明编译出来的二进制文件包含了 zmm 寄存器调用(这里是 OneAPI HPC 编译 SPEC CPU 2017 的 503.bwaves 子项目为示例),此时程序将会采用含有 512 位版本的 AVX-512 指令执行:

总括而言,英特尔这些年微架构代号、产品型号、制程关联度如此复杂,即使是行内人也会感到各种迷惑,而这正是数年来英特尔在 PAO 策略下演绎的凌乱舞步。

Cypress Cove 微架构细节

微架构部分深度较高,非科班出身可以跳过。

Rocket Lake 中的 Cypress Cove 是 Sunny Cove 的变种,两者基本上就是一回事,所以我这里使用 wikichip 上的 Sunny Cove 微架构图来表展示:

我们接下来会使用 Travis Downs 的 robsize 等工具来验证一些微架构上的细节,例如 ROB、Load Buffer、Store Buffer 等大小等,此外我们还会使用 SPEC CPU 2017 做分支预测、IPC 的测试。

微架构测试说明:

  1. 我们的 Cypress Cove 测试都是采用最新的微码(0x39)下进行;

微架构分析除了频率延伸测试外都是锁定 4GHz 下进行;

  1. 测试主板为ROG Maximus XIII HERO、Strix Gaming X570-E,内存配置为 4x8 GiB,dual-rank,DDR4-3600MHz;
  2. 测试的 CPU 均为最终版本;
  3. Rocket Lake 测试的操作系统版本为 Ubuntu 20.04.2 LTS (GNU/Linux 5.11.7-051107-generic x86_64)。

分支预测惩罚/等效流水线深度测试

我们先看看 Cypress Cove 的分支预测惩罚周期数,这个数字可以反应处理器的等效整数流水线深度。

表中的左侧是以伪代码方式提供分支程序测试片段,以第 7 个测试(Test 6)为例:

Test 6, N= 1, 8 br, MOVZX XOR ; if (c & mask) { REP-N(c^=v[c-256]) } REP-2(c^=v[c-260])

这段伪代码包含了一个 MOVZX 内存载入操作指令,它需要额外的 5 到 6 个周期来执行,在支持乱序执行、乱序 L/S 的处理器中,这个动作占用的流水线工位通常会被掩盖掉。

从测试结果来看,Cypress Cove 的动态分支预测失败惩罚比以前的 Coffee Lake 增加大约 0.5 到 2.5 个周期。

其中,Test 65 Cypress Cove是 22.95 个周期,Coffee Lake 是 20.36 个周期。

有理由相信 Cypress Cove 的流水线深度很可能比旧架构增加了两到三个工位,但是因为一些优化措施(例如微操作高速缓存?)使得分支预测失败惩罚导致的性能损失在很多情况下看上去还能接受。

Zen 3 由于引入了无气泡分支预测机制,所以可以在流水线深度和 Zen 2 一样的情况下让分支预测失败惩罚显著减少了 4 个周期,这点我去年的测试提到过。

从测试来看,Cypress Cove 的等效流水线深度大约是 14-22 级。

取指、解码能力测试

处理器的流水线可以分为取指、解码、执行、写回四个工位,其中前端(front-end)是指取指和解码,执行和写回被称为后端(back-end)。

对于现在的超标量流水线处理器说,每个周期可以执行多条指令,前端需要为后端提供匹配的取指、解码能力,同时为了保证流水线闲置执行单元不浪费,人们还引入了分支预测单元,根据预测结果决定是否将下一条指令先派发给后端闲置的单元执行,待分支确定是否选中后再决定是否保留计算结果或者重置流水线。

op cache 也被称作 micro-op cache 或者 L0 I-Cache,它里面存放的是若干段处理器认为会被近期重复使用的微操作(micro-ops),所谓的微操作是 x86 处理器为了简化后端设计引入的处理器本机指令,是已经经过解码器解码的长度固定的本机指令。

在循环语句里的指令在很多情况下都是不断重复的,这些指令以微操作的方式放在 uop cache 后,后面重复执行这些操作的话,就无须经过解码器这个工位,直接发往后端的队列里等待发射执行。

uop cache 在 x86 上的原型是当年 Pentium 4 引入的 Trace Cache,Trache Cache 需要消耗大量的芯片面积,但是这是提高超长流水线架构处理器性能重要的一环。在 Pentium 4 终止后,Trace Cache 的瘦身版就以 uop cache 的形式引入。

要想了解处理器的能力,取指、解码是我们首先想要了解的,在这里我们使用 nop、sub、prefix cmp 8 等三种指令来做测试,其中 nop 指令是看空操作指令,x86 的 nop 长度是 1 个 字节,sub 是减法指令,和加法指令 add 一样在 x86 中指令长度都是两个字节,prefix cmp 是 8 字节或者说 64 位长的指令。

我们图表中给出的测试结果基于这样的指令:

[rep][addrovr]cmp eax, 0x7fffffff)





从 NOP 指令的解码带宽测试来看,Cypress Cove 的性能要比 Comet Lake 略高(4.4byte per cycle vs 4.3 byte per cycle),曲线非常都平缓,说明此时的瓶颈主要是在解码器或者后端而非取指和指令缓存的带宽。

在 sub 指令解码测试中,Cypress Cove 可以在 0~3 KiB 的位置实现最高大约 11.36 byte/cycle 的取指/解码性能(相当于每个周期 5.68 条 x86 sub 指令),而 Comet Lake 在 0~8MiB 的范围都是大约 8.6 byte/cycle,相当于每个周期 4.3 条 sub 指令。

从 sub 指令来看,Cypress Cove 可以放大约(等效) 1500 条 sub 指令解码后的微操作,此时的解码/执行性能比 Comet Lake 高大约 30%。Comet Lake 在这个测试中的瓶颈在解码或者执行端。

在 8 字节长的 x86 指令取指、解码测试中,Cypress Cove 做到了 0~11 KiB 的范围最高可以实现每周期 36 字节的取指带宽,相当于每个周期取指(以及解码、执行) 4.5 条 8 字节长指令,微操作高速缓存相当于可以存放 1375 条 8 字节长 x86 指令解码后的微操作。

Comet Lake 是 0-6KiB 处可以实现最高每周期 34.14 字节的取指带宽,相当于每周期取指 4.27 条 8 字节指令,微操作高速缓存相当于存放 750 条 8 字节长 x86 指令解码后的微操作。

由于本机代码或者说微操作的长度在不同的处理器上可能是不一样的,因此我们无法根据上面的测试结果字节给出不同处理器的具体微操作条目数,但是如果以字节位容量来表示的话,倒是可以参考我们上面的结果。

例如 Cypress Cove 的微操作高速缓存容量可能不低于 11 KiB,Zen 3 则是不低于 21 KiB(鉴于 AMD 没有说 Zen 3 微操作高速缓存容量有提升,因此我们之前估计这是由于 Zen 3 引入了微操作紧缩技术实现的),实际的微操作高速缓存可能要比测试出来的字节值更大一些。

这里我们可以给出一个小结:

  1. Cypress Cove 在等效解码和实际指令执行能力上有一定的提高,特别是 sub 这类指令,提升幅度大约大约 30%,达到了等效每周期 5.68 条 sub 指令,虽然这要比 AMD 每周期 5.98 条 sub 指令差一些,但也是非常不错的表现,这里主要归功于新的微操作缓存能实现每周期 6 条微操作的能力。
  2. Cypress Cove 的微操作高速缓存在带宽和容量都较 Comet Lake 有一定的提升,最高等效容量相当于 Comet Lake 的两倍(prefix CMP 指令的时候)。

3、Cypress Cove 的 prefix CMP 指令效能要比 Zen 3 更高一些,但是微操作高速缓存等效容量要比 Zen 3 低一半。

分支预测器

英特尔并没有透露 Cypress Cove 和 Sunny Cove 的分支预测器细节,这基本上就是一个黑箱,大家感兴趣的话可以自己写代码逆向探测一下,不过,对于我们或者说客户来说可以透过处理器的事件计数器来获知分支预测失误率,籍此了解新架构的分支预测器最终表现,我们这里使用 SPEC CPU2017 测试集来做分支预测的分析。

插播——关于 SPEC CPU 2017

本文会有大量的 CPU 2017 测试数据,为了让大家清楚这是一个什么东西,先让我在这里插一下相关的介绍,已了解的可以跳过本节。

CPU 2017 是非盈利机构 SPEC(标准性能评估公司)推出的 CPU 性能评估套件,SPEC 成立于 1998 年,会员包括 Intel、AMD、IBM、DELL、联想、华硕、技嘉等业界大公司,每隔大约 10 年就会推出一版新的 CPU 性能评估套件,CPU 2017 是该机构在 2017 年推出的,是所有处理器、电脑厂商做处理器性能评估的最重要手段之一(如果不是使用上有一定门槛,上面这句话的“之一”是可以省略的)。

SPEC CPU 的特点是由各个机构提供实际应用的源码,它的每一个子项目其实都是源自真实应用修改而来,其修改主要是针对可移植性和遵循的语言标准,例如 x264 的真实版本采用了大量的汇编代码,但是这样的形式不利于移植到不同指令集架构上测试,因此 CPU 2017 中的 x264 采用的是纯 C 语言版本。

和上一版本 CPU 2006 相比,CPU 2017 的代码已经全面更新,虽然依然使用 C/C++ 和 Fortran,但是相对以前的版本来说,已经变成了多语言的大混装,Fortran 语言同时出现在浮点和整数测试集,而非像以往那样只出现在浮点测试集。

CPU 2017 的规则更加严谨,speed 测试集允许使用 OpenMP 多线程处理,主要测试较大访存压力下的单任务多线程性能,而 rate 测试集则只允许单线程,禁止自动并行化,但是允许以多任务的方式跑多个 rate 测试,目的是测试吞吐率,单个 rate 任务的访存压力要比 speed 小很多。

不过 speed 测试集也不是全部项目都支持多线程,只有浮点密集型的 fpspeed 所有项目支持多线程,整数密集型的 intspeed 10 个子项目中只有最后的 657.xz_s(数据压缩)是支持多线程的。

这样的规则让以往 CPU 2006 以及更早版本中常见的编译器自动并行化“优化”手段被禁止使用,减少了测试结果的混乱(测试如果使用了编译器自动并行化后,实际上变成了编译器比拼),提高了可比性。

上面两个表格就是 CPU 2017 四组测试集的介绍,5 字头的都是 rate 测试、6 字头的都是 speed 测试,rate 不允许多线程或者自动并行化,但是可以同时跑多个相同实例的方式执行。speed 只有 fpspeed 是全部支持多线程,intspeed 只有 657.xz_s 支持多线程。

657.xz_s 的内存开销是 CPU 2017 单个子测试中名义最高的,根据观察起码需要 16GB 内存,但是实际上 fpspeed 对系统内存的需求更高,32 GB 内存的系统跑 fpspeed 会比 16 GB 内存快上一截。这其实是因为 32 GiB 测试的时候一般是 4 条 8GiB 内存,内存运作在 dual-rank 模式,而 16 GiB 一般是两条 8 GiB 内存,运作于单 rank 模式。

我这次主要使用 gcc/g++/gfortran 10.2 的 GCC 三套件外加 Jemalloc 内存分配库进行测试,采用 GCC 而不是 ICC、AOCC、LLVM 的原因有三点:

  1. GNU 这边有完整的 gfortran 实现,LLVM 那边的 Flang/F18 目前缺乏 codegen,只有语义等环节,AMD 的 AOCC 在页面介绍说是 LLVM 10,但是根据 Flang/F18 开发人员 Kiran Chandramohan 给我的回信,AOCC 的 Flang 其实是基于老 Flang(并入 LLVM 之前)的,所以 LLVM 的工具集并不完整,不适合作为我们的测试使用。GCC 的性能比比 AOCC 更快。
  2. Intel 编译器也是一个不错的选择,根据我的实测,跑起来会两边其实差不多,ICC 浮点会快一点点,整数一样。我们希望尽量公平一点,所以在区别极小的情况下,一律使用 GCC。此外,GCC 有些特性是我觉得很有用的,例如它提供了读取 native 微架构旗标时实际调用了哪些优化开关的功能。
  3. GCC 10.2 和当年我初次接触 的 GCC 4 相比已经有非常巨大的进步,不管是代码生成质量还是兼容性、文档和技术支持,都让我可以有把握排除一些测试中遇到的问题,例如 GCC 10 引入了一些优化开关的问题,经过查找文档后我自己解决,而 SPEC 那边也在稍早公布了相应的解决方案。

目前 SPEC CPU2017 的最新版本为 1.1.7,和之前的版本相比没有性能影响的更改,新旧版本的测试结果具有可比性,所以我们就不重复测试之前的平台,而 Core i9 11900K 则是采用最新的 1.1.7 来测试。

我们使用 SPEC CPU 2017 的 intrate 和 fprate 来做这个测试,具体结果见下表。

  1. 由于这次测试比较多,需要整理的数据比较多,表格中的动态指令数和分支指令书都是采集自 Zen 3 上的,不同处理器采用不同的编译器参数都会在指令数、不同类型指令数上存在一些差别,这里我给出的只是作为一个参考,等稍后有空我也许会把不同处理器的动态指令数也一并整理。
  2. 表格中的 Rocket Lake测试并未使用 AVX512 调用 zmm 寄存器的指令,所以你可以把它们看作是 AVX2 或者 AVX512 的 256 位版优化下的结果。

正如上表的结果所示,Cypress Cove 的分支预测失误率相对于 Comet Lake 来说分别降低了 16% 到 25%,改进幅度要明显高于 Zen2 到 Zen3 的提升。

例如 505.mcf_r、526.blender_r,这两个项目的分支预测失误率就有显著的改进。

分支预测命中率提高会对实际性能产生积极的影响,有理由相信英特尔对 Cypress Cove 的分支预测器动了不小的手术。

乱序执行窗口

现代处理器为了追求指令并行(ILP)能力以求充分利用超标量的优势,都会在乱序执行能力上下功夫,要维持乱序执行,就需要为执行单元提供尽可能多的待发指令,这就涉及到 ReOrder Buffer(ROB)、Load Buffer 和 Store Buffer 这三个缓存器,前者可以让指令乱序执行后将结果依照原有的顺序重新排序,后两者可以让访存指令实现乱序执行。

首先让我们看看 ROB 的测试:



正如你所看到的,Cypress Cove 曲线在 352 处出现了明显的跳变,这个特征和 Sunny Cove 的 ROB 大小为 352 条目一样,说明 Cypress Cove 的 ROB 也是 352 个条目。我们注意到在大约 68、112、176 处也有可见的跳变,这可能是因为 ROB 本身也有一些多层次化设计。

Comet Lake 的 ROB 测试结果为 224 条目。

ROB 更大,意味着可选的乱序执行指令更多,指令并发的潜力也就越高。

接下来让我们看看推测寄存器堆大小。众所周知,x86 的寄存器数量是 8 个,x86_64 是 16 个,当处理器需要做推测执行(利用空余执行单元跑一些接下来可能会被用上也可能用不上的指令)的时候,就需要在乱序窗口里预留更多的物理寄存器,透过寄存器重命名技术,实现尽可能高的推测执行饱和度。

我们使用 robsize 同样的测试程序进行了物理寄存器堆(PRF)大小的探测。这里说明一下,我们前面的 ROB 大小探测使用的是 nop (空操作)指令,不占用任何寄存器,而接下来做的 PRF 大小推测测试,使用的是 add(加法)指令。

需要注意的是,物理寄存器堆里同时含有乱序执行中可用于推测执行的推测寄存器数量和已提交寄存器数量,因此这种测试方式不能把直观地把整个物理寄存器堆的大小给出来,它只能测量出可用于推测执行的寄存器数量。



从测试结果来看,Cypress Cove 可用于推测执行的物理寄存器要比 Comet Lake 多了大约 100 个或者说增加了 69%,算是可以和 ROB 匹配的较大提升了(Zen 3 在这个测试中是 128 个,具体见我之前的 Zen 3 微架构测试)。

接下来我们看看可用于推测执行的浮点物理寄存器,这里使用的时 AVX 指令。



正如你所看到的样子,Cypress Cove 可用于推测执行的物理浮点寄存器达到了大约 192 个,增加了大约 48 个或者说 33%(Zen 3 和 Zen 2 在这个测试中和 Comet Lake 一样都是 144 个,这个在我之前的 Zen 3 微架构测试中已经提及)。

Load/Store Buffer 大小测试

现在的处理器不仅可以乱序执行指令,还能乱序载入、存储数据,这就涉及到 Load/Store Buffer。x86 属于 CISC 指令集,它的指令里可以同时有访存、寄存器、立即数操作,在 SPEC CPU 2017 中,CINT 2017 和 CFP2017 的 LD/ST 指令占比就分别高达34% 和 39%, Load/Store Buffer 对 x86 的性能影响也是不容小觑的,。

Zen3:



Comet Lake:



Cypress Cove:

Load-Buffer:

  • Zen3:116
  • CML :72
  • RKL :128

Store-Buffer:

  • Zen3:64
  • CML :56
  • RKL :72

从测试结果来看,Cypress Cove 的 Load/Store Buffer 是三者中最高的,理论上 Cypress Cove 在乱序 L/S 能力上应该是当下最强的。

Cypress Cove 的后端和 Sunny Cove 相比基本上是一样的,采用了统一调度器,但是以 4个保留站(下图中的 RS 0、RS 1、RS 2、RS 3)的方式提供了不同的指令发射绑定。

图中咖啡色的单元属于 AVX512 执行单元,红色边框便是这些是向量(VEC)单元。

微架构总结表

AVX-512解析

Rocket Lake对于Skylake还有一点重要变化就是增加了对AVX 512的支持。当然要在说AVX512之前,先要知道AVX是什么。AVX是一种单指令流多数据流,简单的举个例子,就是可以将多个A+B=C这样的标量操作进行并列执行,变成一堆A+一堆B得到一堆C,这样可以大幅提高效率。

在Sandy Bridge开始有AVX,而在Haswell开始有AVX2,Skylake也一样,但低端型号的奔腾赛扬不支持,而更高位宽的AVX 512只有Skylake以后的的HEDT和Xeon支持。

SIMD可以大幅提升并列操作的性能,特别是音频/视频/图片处理,解密和哈希,物理引擎这样的运算可以获得明显受益。

Cascade Lake之后还增加了VNNI特性,可以加速INT16数据的处理,大幅提升AI和深度学习的性能。

但在一般消费级应用对于AVX支持是比较少的,基本只有Adobe和其他视频图像处理类软件有所应用,能够支持AVX 512的几乎找不到。游戏方面据我所知之前也就刺客信条奥德赛和赛博朋克2077支持AVX2,并且由于考虑到老型号和低端处理器兼容性问题,都在后续补丁更新中去除了对AVX的支持,更不用说AVX-512了。

AVX支持不佳的问题,不仅仅是开发商需要考虑兼容性问题,更为重要重要的是这些SIMD工作用GPU做更为合适,究竟GPU的并行规模更大,甚至Volta之后的Tensor Core将SIMD的二维变成三维,这样的结构对于INT运算而言可以说收益巨大,AVX即使是AVX512 VNNI还是无法企及的。

AVX512 降频效应显著改善

AVX512 是英特尔提出的 512 位宽的向量指令扩展,支持多种位宽的向量寄存器,一次执行 512 位指令看上去很美,但是最初的 AVX512 处理器存在一个严重的问题,那就是耗电高、发热大,为此英特尔引入了基于许可频率模式的降频设计,导致程序跑 AVX 512 代码路径时候的性能收益并不高。

Rocket Lake 在 AVX-512 实现上做了很大改进,能够在运行重载型AVX512 指令的时候保持全核 4.8GHz,相当于有没有 AVX512 对频率的影响都很低,当只有四核跑 AVX512 的时候更是不降频,四核依然保持 5.1GHz。这样的频率变化完全匹配前面提及的 iTVB/iAB。

在 AVX 512 指令中,重载型指令包括了整数乘法以及浮点计算。相对的,轻载型是指除了乘法之外的整数计算、逻辑操作、数组打乱(shuffling)。

重载型指令一般用于深度学习、数据分析、高性能计算、密码学(基于乘法的哈希化);轻载指令一般用于文本处理、快速压缩打包、库例程的向量化(例如 C 语言里的 memcpy、Java 语言里的 System.arrayCopy)。

启用 iTVB 和 AB 时不同指令类型和频率的变化关系:

我们还使用 cpupower-gui 手动设置全核最高频率为 5.1GHz 时(意味着放弃 iTVB 的 5.3GHz 双核加速)还可以实现更少的频率波动:

从这个测试来看,从 Rocket Lake 开始,如果放弃 iTVB 的话,AVX-512 对频率的影响已经和其他类型指令一样,只要散热跟得上,就是可以随便使用的指令扩展了。

i9 11900K和ROG Maximus XIII HERO平台解析

先来看看11900K的实物:11900K的的顶盖(右)相比明显要比10900K(左)更大。

http://overclock.net的开盖,揭示了RKL的核心面积在260mm2以上,260mm2核心面积相比CML的198mm2大概大了1/3。 这个就应该是11900K顶盖变大的原因。

我们本次11代处理器的测试平台是ROG Maximus XIII HERO,ROG纯血的Z590芯片组主板。

M13H同M12H对比,布局基本一样,但最为直观的感觉就是装甲的覆盖面积更大,装甲面积同战斗力成正比么?

数字Debug灯和物理开关重启是 Maximus和Strix系列明显的区隔。内存部分依然采用菊花链连接,优先为2 DIMM优化。

LGA下的M2为CPU直连的PCIE 4.0 4X,也许是考虑到PCIE 4.0的SSD都热情似火,ROG也为其准备了三层立体结构的散热片,有很明显的高度。但这个散热设计是有点问题的:散热片的高度要明显高于第一根PCIE,在想要取下显卡的时候,手指是无法触及按扣的,需要借助尺笔之类的东西才能取下。

PCIE方面,第一个为PCIE 4.0 16X,第二个为3.0 8X。之前Z490时代,从纯血的HERO开始,第二个槽才是8X,定位稍低的STRIX都是4X,虽然SLI已经成为历史,但8X的插槽还是更为容易扩展存储,如WD的AN-1500,或者用转接卡+PCIE拆分扩展4X+4X的NVME。

6个SATA没什么好说的,M13H将USB 3.0插针升级到了2组,之前M12H的一组对于ROG GX601太阳神这样的高端机箱就不太够用。

之前M12H的AURA是2组12V+2组5V可寻址,而M13H虽然总数没变,但改成了1组12V+3组5V可寻址。12V没有串联功耗限制,一组就可以串很多,而5V有功率限制,单个不能外接太多,现在这样的布局无疑是更为合理。另外M13H的5V是第二代,可以自动侦测5V设备的灯珠数量进行适配,使得灯光亮度更高。

拆下覆盖的装甲,我们可以看见M13H的四个M2插槽,最上面的一个为CPU直连的PCIE 4.0的22110,需要注意的是这条M2是直连的RKL处理器多出来4个通道,如果安装的是CML将无法使用,当然我也相信基本不会有人在 Z590上装10代。再其下是4.0的2280,这个4.0是从第一个插显卡的PCIE 4.0的16x中拆分而来,最下面两个相对的2280则是PCIE 3.0,这次M13H的M2下部都预装了金属底板+导热垫,这样对大容量的双面颗粒SSD更为友好,这也是很不错的变化。

继续拆我们就可以看见Z590的PCH。

后部的IO接口变化不大,主要变化是有了2个Type-C。考虑到M13H的目标客户使用集显的可能性不够,视频输出方面仅有一组HDMI,没有DP。

M13H的供电为14+2项,供电MOS的型号为德州仪器的9S410RRB和59880RWJ,这2个型号,并且这两个型号在分布上并没有什么规律性,按照华硕的介绍,单项电流存在能力是90A,M13H虽然项数和M12H一样,但单相的电流承载能力高了一半。

供电散热部分规模相比M12H更大,甚至原有的塑料IOCOVER直接变成了金属散热片的延展,但这样也是有代价的,就是RGB部分就有所牺牲,原有的RGB ROG LOGO,变成RGB灯光只能从散热片间隙中散出。

M13H CPU供电由M12H的8+4升级到8+8Pin,外侧有额外的Procool金属片提升散热能力,这样可以进一步提升供电的稳定性。

无线网卡升级为Z590配套的AX210,相比AX200/201增加了WiFi6E的支持。

主板PCH上的败家之眼被挡住了一部分,特别是现在RTX3080/3090体积厚度越来越大,2.5槽基本只是起步,再加上视线方向的问题的,使得这个LOGO其实很难有足够曝光的机会。

原有IO COVER上的RGB照明带也被取消,灯光只能从散热片的缝隙渗出,M13H还是优先考虑散热这些功能性因素,其实从RGB颜值上来说,相比M12H是有倒退的。

一台AURA整机展示,不仅仅是ROG的主板,显卡、水冷、模组线,还有耳机支架,鼠标垫、耳机,键鼠,甚至还有ROG游戏手机。全部可以使用军火箱统一控制。

再来看看整体效果,浓浓的紫红色夜店风。

M13H的BIOS解析

再来看看M13H的BIOS。我们测试使用的是0610 BIOS。

M13H在0610以后版本BIOS增加了intel自适应睿频技术(Adaptive Boost Technology),这部分功能我们会在后面具体测试分析。

如果要玩好的话,M13H BIOS其实需要研究的东西还是很多,不少地方发生了变化。首先是内存异步:Rocket Lake内存频率等于或者低于3600,默认内存和内存控制器同步,如果高于3600,则会分频,内存控制器和内存频率是1:2。当然也可以手工设置1:1或者1:2。经过我测试到3733时候同步还是可以的,再高就不行了。

另外再提及下,RKL在B560和不带K的处理器上也开放了高频内存超频,我使用11400+比较低规格的华硕B560M-T内存频率也可以上到4533,当然是异步。

和之前的X299类似,M13H BIOS提供了单独的AVX设置功能,可以单独设置AVX2和AVX512的开关,偏移和电压。AVX2特别是AVX 512由于是SIMD,请负载和功耗更大,在超频的时候更难稳定。因此我们全核心超频5GHz,如果使用AIDA 64或者Prime 95进行稳定性测试时候,实际的测试是AVX2甚至AVX512,在默认设置情况下,运行AVX2/512处理器是同频的,要不是电压不够蓝屏死机,要不就是电压太高温度爆炸,但其实追求5GHz AVX2/512稳定是得不偿失的,但日常应用的时候AVX2,特别是AVX512实际应用并不多。这个时候就可以设置AVX OFFSET,比如设置AVX2降低1个倍频,AVX 512降低2个倍频,这样就不用太高电压,在日常使用和游戏的时候也可以稳定5.2GHz获得更好的性能,但在偶尔进行视频处理的时候,还是可以在5.1 GHz或者5 GHz的频率稳定的运行AVX2/512。

供电部分设置和之前差别不大。不过cpu电压侦测多了Socket测量和 Die测量,Die测量会稍低,但也不存在什么偷压,就是两种不同视角而已。

M13H是默认开启多核增强,就说是完全没有 TDP的PL功耗限制。如果手动关闭全核增强,那和10代差不多,56秒内短时功耗限制是250W,超过56秒,处理器功耗会被限制在125W。本次测试如果没有特别提及,所以处理器都是处于解锁功耗控制的状态。PL的设置其实主要是为供电缩水丐板和不太好散热的平台准备,并且使用M13H主板的用户肯定也有很不错的散热,Power Limit对于M13H这样的高端主板其实必要不大。另外我测试了下较低定位的华硕Z590-P,还是有28秒 125W PL限制的。

电压设置部分,超频的话需要特别注意PCH VCCIN 1.8V的电压。

M13H提供了4个M2,16X+8X的PCIE,Rocket Lake增加了PCIE通道这也是不够的。因此M13H对于CPU的PCIE分配提供了多套方案:

默认是PCIE 2不插PCIE是16X,如果插了就是8+8X,但M.2_2不可用

第二个是PCIE 1是8X,PCIE 2是4X,然后M.2_2可用

第三个是PCIE 2使用Hyper M.2卡,可以通过PCIE拆分支持多个NVME SSD。

另外M13H的Bios集成了Memtest 86,这样不用进系统就可以验证内存的稳定性。

测试平台和设置

我们本次测试平台如上,基本是ROG全家桶。

内存方面为了避免瓶颈,使用的是TT的TOUGHRAM RGB DDR4 4400 16GB。

使用的固态硬盘是浦科特M9P Plus 1TB+512GB。

由于M13H默认没有功耗控制,在没有特别提及的情况下,默认是没功耗控制的;

CML超频5GHz核心频率,4.8GHz RING

RKL超频是5-5.2GHz核心频率,4.4GHz RING

Zen 3平台在BIOS开启PBO,但没具体优化电压曲线,5600X/5800X是FCLK 2000MHz,5900X/5950X是FCLK 1900MHz。

内存的同步和异步

在前面提及11代Rocket Lake采用了类似Zen 2/3的内存控制器同内存异步的方式,内存在3600或者以下内存控制器和内存同步(GEAR1),在内存频率超过3600以后,内存控制器频率为内存的一半(GEAR2)。3733MHz频率勉强可以手动固定,但再高就不行了。

我们使用c19-19-19-39的参数(AMD由于不支持C19自动使用的C18)测试2666到4266的内存带宽。RKL带宽基本和Zen 3一样,略微稍高一点,要高于CML,异步情况下,同频带宽小幅低于同步。

再来看看内存延迟:需要提及的是RKL的内存延迟和BIOS有一定关系,找M13H 0603之前BIOS同步情况,RKL的内存延迟比现在要高 5ns,在更新0603以后,在同步情况RKL基本和CML持平,但在异步情况,延迟大幅上升,基本到Zen 3同步水平,但还是明显低于Zen 3 FCLK异步。Zen 3内存延迟高是因为要去外部封装的CIOD转一圈再回来,高是没办法的。

从延迟的趋势线看,异步内存频率即使达到5000MHz,延迟也达不到3733MHz的水平,在渲染这种并行度高,对于带宽敏感对于延迟不敏感的领域,异步的高频内存还是有一点优势,而对于游戏这样低延迟敏感的应用,还是同步性能更好。因此RKL内存我们可以说是3733就毕业,再高频内存性能不升反降(特别是对于游戏玩家)。如果要进一步优化,也只能缩小参。Zen 3内存FCLK同步基本还是可以4000或者4000出头。因此RKL的内存其实没什么玩头,这样对于Thermaltake或者Gskill这样以高频为卖点的内存厂商而言的确不是什么好消息,DDR4就这样了,ADL再玩就是DDR5了。

超频测试

我手头有2个零售版的11900K 2个QS版,2个零售版的11900K AIOC的SP得分分别为88和77,而2个QS工程样板就比较惨,都是60多分。我自己初步测试1.42V可以5.1G跑Cinebench R20,但跑更长时间的测试或者 AVX稳定度不够会蓝屏。

在1.45V可以在5.1GHz跑长时间的SSE测试,但在这种情况下跑重度AVX会降频,为了极少数的AVX应用,再继续提升电压或者降频其实就是本末倒置,我们可以设置1-2或者更大的AVX Offset,使得在运行AVX时候降频,而基本不影响日常和游戏性能。

11900K 1.45V可以在5.2GHz频率稳定运行游戏,包括全面战争特洛伊和赛博朋克2077这样处理器负载比较高的游戏。如果将电压继续提高到1.5v,依然不能稳定运行长时间全核心重负载任务。

除了核心频率,在这里我也说说L3,之前CML 10900K Ring是4.3GHz默认,可以超频到4.8-5GHz,但RKL Ring 11900K和11700K RING是默认4GHz,并且RKL超频也就4.4GHz水平。

Ring到4.4GHz默认电压就可以。较低的L3频率导致RKL的L3带宽不如CML。之前X299的HEDT也是Skylake,但游戏性能相比CFL/CML差很多的主要原因不是稍低的核心频率,而是过低的 mesh频率,HEDT UNCORE超频也就3GHz出头水平,因此L3对于游戏性能的影响还是很大的。

i7和i5 K的超频体质明显差于i9,我手头的11700K全核心基本是4.9-5GHz,11600K是5-5.1GHz,这次i7 i9都是8C16T,价格也有明显差距,因此体质是11700K和11900K的明显区隔。

RKL超频需要1.5V左右的核心电压,这在以前是难以想象的。并且通过简化模型,功耗是和电压的平方成正比,使得高压下的RKL功耗大幅提高。但RKL并不存在Zen 3那样的积热问题。

我们再来算算功耗密度:

11900K按260mm2核心面积340W功耗算,那1.3W/mm2,而5800X我们不算CIOD就算7nm核心,大概是120W 80mm2,就是1.5W/mm2,明显单位面积的功耗更高,并且由于核心面积小,导致和顶盖散热接触面积更小,自然更为容易积热,温度更高。

除了定频超频,此外11900K/KF还引入了自适应睿频技术(ABT),进一步解禁多核心的性能,在系统温度、供电方面有足够冗余的情况下,3-8核心满载可以Boost到最高5.1GHz的频率。(M13H在0610以后的BIOS版本支持)

Cinebench R20测试

Cinebench R20是群众基础很好的CPU测试软件,短短几分钟就可以测试出来多线程和单线程性能,并且有具象化的图表进行比较。R20相比R15加入了少量的AVX运算,负载更高,可以初步检测超频的系统稳定性,如果R20都不能过,那这个稳定性基本是不能用的。

RKL相比CML在单线程同频基本有15%以上的提升,同核心数多线程情况也类似,并且超过了同核心数量Zen 3的性能。部分11900K IPC性能的提升并不能完全弥补核心数从10到8的性能损失,因此多线程性能是略差于10900K的,但Boost到5.3GHz的11900K单线程性能相比10900K提升了20%以上,拔得单线程性能的头筹。Zen 3的chiplet的多芯片设计使得其可以方便的扩展核心规模,因此12和16核心的5900X/5950X的多线程优势还是不可动摇。

说到ABT,我首先会想到汽车改装品牌,代表性能,在11900K上,ABT也同样代表性能,开启ABT就像给发动机装上涡轮增压一样。在R20测试中,我们还重点分析了ABT自适应睿频技术 。

在默认和ABT待机情况CPU是5.3GHz,但在R20多线程测试的时候,默认是4.8GHz,开启ABT在前大半时间稳定5.1GHz,但后来瞬时掉到4.9GHz,而后面大多时间在5.1GHz,但间接性掉到5GHz。因此开启ABT虽然可以到5.1GHz,但长时间频率稳定性比手动锁5.1GHz差,得分也稍低。

找默认频率电压都打过在1.4V,但在R20多线程负载后,默认设置电压会掉到1.25V以下。而后段电压也随频率波动。

再来看看功耗和温度,默认设置温度不到70度,功耗不到200W,但在开启ABT后,功耗接近300W,温度也差不多有90度。可能是触及90度的温度墙,ABT就强制限制功耗降频,然后功耗再慢慢放开,频率也回升。之前intel的PPT ABT是100度温度墙,现在的情况是ABT并没有完全放开。ABT从4.8GHz到5.1GHz,功耗就需要从200W到300W,这0.2GHz所需要付出的代价是巨大的。

ABT的电压是自适应,仅需要BIOS打开一个选项,合适新手玩家,并且相比全核心锁频有更高的1-2核心负载的睿频频率。不过目前也有两点需要提及:

第一点是如果是跑的AVX2/AVX5512这样更高负载,ABT就会更快被功耗温度限制,降低到4.8GHz非ABT全核心频率,并且修改eDigi供电设置,提升电流和温度上限也无法改善;

第二点是如果手动提升uncore频率,再开启ABT,处理器的全核心频率甚至会掉到4.8GHz之下。

因此对于老手超频玩家,目前ABT并不能像AMD PBO那样取代手动定频超频。再换个高情商的说法,ABT目前并没有细节调节功能,其实后续具体可以对玩家放开,让玩家有更多自主权。

Keyshot 10渲染性能测试

Keyshot我们选择一个比较简单的室内装潢渲染图,KEYSHOT 10和CINEBENCH类似是重SSE测试,整个完成时间需要15-20分钟,除了验证性能,我们也用这个项目测试功耗和温度。

11600K全核心运行在4.58GHz,频率比10600K高,再有IPC的加成,提升幅度比较明显。11700K虽然频率略微低于10700K但在IPC加成下,性能还是优于10700K。11900K由于从10900K的10核心缩减到8核心,即使IPC有提升,也不能弥补核心数的减少,对于渲染这种多核心应用性能还是有一定下降。RKL在相同核心规模的情况下,功耗相比CML大概有50%的提升。虽然RKL功耗有大幅的提升,但温度其实还好,相比CML并没高上多少。特别是在高压超频后,11900K 5GHz频率 1.5V电压,渲染功耗340W,在龙神360的压制下,依然也只有80多度的温度。

X265视频编码性能测试

前面已经提及,其实对于一般消费级的用户而言,基本是没有需要用到AVX-512指令集的应用,但这个只是基本,并不是完全,对于有视频编码需求的用户在一些视频处理软件上还是可以用到AVX-512。比如我们下面测试的X265编码器。使用手动命令行,而没有使用带GUI的X265 benchmark。

编码使用的视频源文件是ducks_take_off_2160p50.y4m,(下载地址 https://media.xiph.org/video/derf/y4m/ducks_take_off_2160p50.y4m)

使用 slow 预设,以 28 恒定速率因子来压缩,码块树 CTU 数量为 64 个。对于RKL我们分别使用了AVX2和AVX512两种指令集进行测试。使用的命令行如下:

x265.exe ducks_take_off_2160p50.y4m --preset slow --crf 28 -o duck.mp4 --ctu 64 --profile main10

x265.exe ducks_take_off_2160p50.y4m --preset slow --crf 28 -o duck.mp4 --ctu 64 --asm avx512 --profile main10

在相同核心数的情况下,RKL相比CML性能有明显提升,即使是只使用AVX2,再在使用AVX-512之后,性能基本又有10%以上的提升。8核心的11900K在使用AVX-512之后甚至超过了10核心的11900K。

由于AVX-512是高并列度的SIMD运算,在同频情况下RKL的功耗也有答复提升,1.5V 5GHz的11900K功耗甚至超过了400W,这个功耗远高于前面Cinebench、Keyshot这样的渲染满载功耗。从默认4.8GHz 289W到超频5GHz 404W,需要付出的代价是巨大的。这样高的功耗,对于主板供电也提出了很高的要求,一片M13H这样高规格供电主板的重要性也就突显了出来。

游戏性能测试

在开始游戏性能测试之前,我要先说说CPU/GPU性能和游戏FPS的关系。游戏的FPS是由CPU和GPU性能的下限决定。画面(技术)越好,画质设置越高,FPS越低的游戏瓶颈就在GPU。如古墓丽影,荒野大镖客救赎2。这些游戏采用先进的图像技术,使得瓶颈基本都在GPU。

而那些画面(技术)越差,或者画质设置越低,FPS高的游戏,瓶颈往往在CPU。如英雄联盟、CSGO。守望先锋、绝地求生则基本在两者之间,如果是使用的全最高画质,或者显卡不太高,帧数比较低的游戏那瓶颈就在GPU,但如果显卡顶级,并且使用中低画质或者比较低分辨率那就个重CPU游戏。

判断是不是CPU瓶颈的方法,不是看游戏时候的CPU占用率,CPU占用低不代表CPU够用,而是需要反过来看GPU占用率,如果游戏的GPU占用率长期比较低,那就证明你CPU性能相比GPU更是性能的瓶颈。当然GPU一直满载也不是说CPU性能就完全够用,想要细致分析,就需要看CPU FPS和GPU FPS的概念,CPU FPS和GPU FPS的下限决定游戏的实际FPS。

游戏测试部分,在没特别说明的情况下Zen 3性能都是开启PBO的情况下测试而得。

CSGO性能测试

CSGO是采用的十几年前的Source引擎,还是采用的DX9 API,其对于显卡要求不高,但对于处理器性能极其敏感。有可能有人认为200FPS和300FPS并没什么差别,反正都比显示器的刷新率高,但CSER却对FPS有种几乎偏执的追求,依然认为越高越好。我们使用控制台的timedemo命令行进行测试,测试场景为Dust 2。由于CSGO的GPU需求和负载很低,完全不构成瓶颈,1080P到4K的性能差别几乎可以忽略,我们仅仅列出4K MAX 4X MSAA的性能。

RKL相比CML的CSGO性能有小幅度提升,但还是比不过Zen 3。另外我们对比了RKL默认4GHz RING和4.4GHz的RING,性能差距还是比较明显。10900K超频5GHz RING超频4.8GHz之后,CSGO性能甚至反超11900K,可见CSGO是个重L3游戏。10900K超频后uncore高,而Zen 3有32MB的大容量L3,在CSGO LOL这样的比较简单游戏上可以占一些便宜。并且300FPS和400FPS的差距其实都是溢出的,高出显示器刷新率太高的FPS没太大意义,究竟不是每个人都有ROG 360Hz的显示器。

另外我们还测试了DDR4 3733MHz同步和4266MHz异步,内存高频性能不升反降,这是由于内存控制器异步半速,内存延迟增大导致的,因此对于游戏这样的延迟敏感性应用,3733MHz同步性能要好于4xxx异步。

绝地求生性能测试

绝地求生相比17-18年巅峰时刻已经凉了不少,但实际还是找不出一个流行程度比吃鸡更好的射击类电竞游戏。大多玩家吃鸡一般不会设置全最高画质,而是一般设置成纹理、视野距离和抗锯齿最高,其他最低,这样的设置能够在画质和性能之间能够较好的平衡,同时画面也较为干净方便索敌。甚至还有一些玩家设置的更低。测试我们使用沙漠图游戏回放,使用CapFrameX记录游戏决赛圈180秒的平均/最低FPS。PUBG在最近几次更新引擎效率提升不小,使得RTX 3090在2K 3MAX的设置下绝大部分时间都不是瓶颈,基本都是反应的CPU性能,因此我们也仅保留2K和4K分辨率测试。

在2K分辨率下,完全是CPU瓶颈,Zen 3有少许优势,但随着分辨率身高到4K,性能的天平逐渐向RKL倾斜,特别是超频之后的RKL性能在一定程度得以反超。

GTA 5性能测试

GTA V虽然是PS3/Xbox 360世代的游戏,但其凭借丰富的线上游戏内容至今长盛不衰,也成为第一个从PS3跨到PS5的游戏。我们图像设置为最高(不包括高BIAN级TAI设置),4X MSAA,使用游戏自带的Benchmark进行测试,选用场景4的FPS进行比较。

在1080P分辨率,RKL相比Zen 3基本持平,相对CML有几FPS的优势。

而到2K和4K分辨率差距进一步缩小,基本就是1帧的的差距。

古墓丽影暗影性能测试

古墓丽影暗影我们使用最高画质,1080P 时间抗锯齿和2160P DLSS的设置进行测试,古墓丽影暗影测试除了有FPS以外还有具体的CPU性能分析。

古墓丽影暗影的Benchmark有三个场景,绝大部分时间都是CPU FPS>GPU FPS,是典型的GPU瓶颈,但在第三个场景的前段,在1080P分辨率下,GPU负载比较轻,GPU frametime<CPU frametime,就说CPU部分存在瓶颈。

RKL的CPU渲染FPS明显高于CML,在超频后相比Zen 3也有一定的优势。但具体的游戏FPS其实差不多,甚至更慢一点。

而到4K分辨率虽然CPU FPS差距巨大,但是完全GPU瓶颈,基本众生平等,都是83-84FPS。如果说一帧秒杀,两帧吊打,那11900K就是吊打其他处理器了。

全面战争特洛伊性能测试

CA推出的全战三国由于中国题材在国内大获成功,而其续作全战特洛伊又将战场带回到古欧洲的经典时代,讲述特洛伊木马屠城的故事。游戏需要表现千人同屏甚至万人同屏的巨大战争场面,对于CPU性能有极高的负载。我们使用超高设置,使用游戏自带Benchmark测试1080P,2K和4K分辨率下游戏的性能。

在我们之前Zen 3的评测CML是大败于Zen 3,但随着后续优化,CML的性能又逐步赶了上来,相比Zen 3差距已经很小了。虽然特洛伊至少可以充分利用16个核心,但实际8核心的RKL性能还是更好。随着分辨率的提升,游戏的性能瓶颈逐渐转向显卡,性能差距也逐渐变小,但即使如此RKL在4K分辨率仍然有少许的优势。

赛博朋克2077性能

赛博朋克2077游戏本身并没有自带benchmark,我们就选择最开始营救任务之后,和杰克一起开车回家一段,经过安检到家100秒时间进行测试,这段场景完全可控,可以做到精确重复,同时经过场景较大,雨夜负载比较高,也够赛博朋克。我们选择超高光线追踪画质,性能模式DLSS,分别测试1080P和1440P分辨率下的性能。(2160P RTX 3090跑不动没有测试意义)

赛博朋克2077 1080P分辨率RKL相比CML性能大概有3-5FPS的提升,但相对于同级别Zen 3领先大概10FPS以上,即使到2K分辨率,性能瓶颈更多转向GPU,RKL相对CML和Zen 3也基本有3FPS以上的性能优势。

游戏测试部分,对于CSGO和LOL这样的简单游戏,Zen 3性能优势依然明显,但CSGO 330 VS 400FPS 英雄联盟 200 VS 300FPS这样的优势其实性能都是溢出的,远远超过99.999%显示器刷新率的FPS并没什么意思。而在全面战争特洛伊或者赛博朋克2077这些3A游戏中,intel处理器在现代的3A游戏中多线程能够得到更好的利用,可以获得比竞争对手更多核心更好的性能,这对于发烧友玩家而言才是更为实际的。


核心显卡性能测试

现在显卡市场由于挖矿狂潮导致独立显卡动辄五六千元一张,例如 RTX 3060 官方定价 2499 元,但是由于英伟达开发者网站的管理人员手滑把去掉挖矿限制的驱动挂到网上,结果导致 RTX 3060 瞬间涨价到 6000 元,经销商眉开眼笑,老黄却因为赚不到这笔钱白头发又要多掉不少了。

独立显卡价格昂贵,于是很多等等党已经转为核显党了,某种程度上,现在核显正是英特尔处理器的一大优势,要知道对手的 Ryzen 7 5000 系列消费者版本是没有集成任何显卡的,现在买 AMD Ryzen 7 5800X 回家后很可能要吃灰。

Rocket Lake 集成了代号 XeLP 的 UHD 750 核显,拥有 32 个 EU,相对上一代架构提升了 50% 的效能。

Xe GPU 架构是一个高度可配置的架构,例如完整的 EU 里是包括了单精度、双精度、扩展数学单元(相当于 NVIDIA 这边的 SFU)、矩阵扩展(XMX),其中双精度、XMX 都是属于可选项,UHD750 不具备这两个的单元。

此外,UHD750 也缺乏硬件光线追踪支持(见上图),因为在 DX 12_1 特性中光线追踪属于可选项。其他 DX12 特性例如 Mesh Shader 也是欠奉,VSR 支持 Tier 1。

根据我们的实测,UHD750 目前的单精度 OpenCL 性能大约是 640 GFLOPS,是上一代 UHD630(450 GFLOPS)的 1.4 倍多些。

核心显卡性能测试,我们首先测试的是3Dmark,选择的是DX11的Firestrike和DX12轻载的Night Raid两个测试项目。

DX11和DX12的测试项目UHD 750相比UHD 630都提升了60%以上,性能提升十分明显。但相比Ryzen APU还是有很大的差距。另外UHD 750性能对于内存带宽并不敏感,3200和4266内存频率,甚至单双通道对于性能影响都不大。

当然前面3DMark只是理论性能,再让我们来看看实际游戏的性能表现,我们选择了CSGO、英雄联盟和守望先锋3个游戏。

CSGO我们依然还是使用Dust 2的Timedemo,设置的1080P最高效果,关闭抗锯齿。10900K FPS接近60FPS,但并不能稳定,而11900K则平均有84FPS,基本可以稳定60FPS以上。这个FPS对于大多60Hz刷新率的显示器而言是够用了。

英雄联盟我们使用的召唤师峡谷回放的最后三分钟进行测试,使用的1080p最高画质。英雄联盟的FPS差距不大,UHD 750领先UHD 630仅10FPS,但Ryzen 5 4650G也同样没有拉开差距。

守望先锋我是用釜山的Replay进行测试,使用1080p 100%分辨率,低画质。UHD 630大概30FPS,而UHD 70基本可以稳定60FPS以上,虽然没和4650G还是有差距,但至少是可玩了。

视频解码测试

核心显卡对于大多用户来说更为典型的应用不是游戏而是视频,在这里我们用DXVA Checker对RKL的视频解码能力和性能进行测试。

RKL的UHD 750相比祖传的UHD 630主要是增加了10和12bit下对Main 422/444的解码能力,其实新世代的无反相机,如佳能R5,索尼A7S3 4K录制基本都是4:2:2格式。

我们使用DXVA xhecker+LAVFliter测试核心显卡的解码性能,分辨率测试了两段影片,一段是SONY的露营HDR演示HEVC Main10 420 4K60FPS 75.8MBPS ,一段是佳能R5的样片,HEVC 422 4096X2160 60FPS慢放30FPS 468MBPS,这2个样片可以分别代表一般4K高清影片回放和超高码流原片素材处理的场景。

第一段露营 示HEVC Main10 420 4K60FPS 75.8MBPS 五个平台都可以硬解,11900K的UHD 750硬件性能甚至超过了安培架构的RTX 3060Ti。不过250FPS和370FPS的解码性能对于一般4K HDR性能都是溢出的。

第二段佳能R5拍摄的4K的样片,HEVC 422 4096X2160 30FPS 468MBPS 五个平台均不能硬解,只能依靠CPU软解。10900K凭借核心数的优势领先于11900K。

RKL集成的UHD750相比之前祖传的UHD630性能提升了60%以上,并且这样的提升由量变产生了质变,之前UHD630我是不会产生想玩游戏的想法,顶多玩玩LOL和自走棋,而现在CSGO和守望的性能都从30FPS提升到稳定60FPS以上,都是可以较为正常的体验而非自虐,现在UHD 750在我实在无聊的时候,我可能会有使用他尝试游戏的想法。特别是在现在矿潮情况,所有的中高端显卡都成空气,在这个时候11代全新的核心显卡就成了新的选择,当然这选择对于那些发烧游戏玩家而言并不是长久之计,但至少也是一个可以过渡的选择。

PCIE 4.0磁盘性能测试

此外我们也单独测试了11代平台的磁盘性能,我们使用的测试工具是PCMARK 10的完整系统盘基准测试,其不同于AS SSD/CDM那些轻量化的SSD测试软件,并不太注重高QD下的并发性能,而是基于Windows/Adobe/Office还有使命召唤、战地V这样的热门应用和游戏进行实际使用情况的模拟操作。我们使用的测试SSD是WD SN850 1TB,基本是目前性能最好的消费级PCIE 4 SSD。

我们发现11700K+Z590相比5950X+X570平台整体得分基本要高10%,带宽更大,更为重要的是平均存储时间更短,从51ns缩小到47ns,也基本有10%的提升,这就是说intel 11代平台有更快的存储速度,更低的响应时间。


结语:

RKL的IPC大概比CML高13%,但相比Zen 3大概低4%。但这只是同频的情况下,实际RKL频率要比Zen 3更高,特别是11900K,在开启ABT的情况下,全核心、单核心频率更是高达5.1/5.3GHz。

性能=IPC x 频率

RKL凭借更高的频率,使得其还是有和Zen 3差不多,或者甚至稍好的单线程性能。具体的说整数稍差,但浮点运算性能更好。

但RKL的劣势也是很明显的,就是14nm工艺巨大的功耗。虽然14nm工艺的晶体管性能更好,可以达到比Zen 3 7nm更高的绝对频率,同时更小的晶体管功耗密度,更大的顶盖散热面积,使得RKL并不会怎么积热,温度甚至比Zen 3还低,但高功耗依然还是RKL的一个掩盖不住的缺点,特别是在加压超频后,11900K功耗甚至会到400W级别。

11900K很吃压,高功耗,但由于不积热也压得住,这样使得无论是超频玩家还是水冷玩家都有很大的折腾的空间。因此对于追求极限的玩家,就应该选择更高规格的主板,就如本次测试使用的ROG Maximus XIII HERO.M13H更高的供电规模可以承受更高电压和功耗,丰富的水冷接口和传感器,使得其也很合适分体式水冷,三组的可寻址5V AURA也可以让你接驳更多RGB设备,Q-Code、物理的开关,RESET ,Clear CMOS也更方便你折腾,让你在追求极限的过程中发现和享受更多的乐趣。此外RKL的Z590平台,不仅升级了PCIE 4.0,还增加了额外的PCIE通道,使得平台整体的扩展性更好。可以支持更多的NVME设备,同时提供比Zen 3平台更好的存储性能。

作为一个技术专家,作为一个极客,我很激动,能够担任领导职务,帮助这个伟大的公司带来前所未有的激情、历史和机遇。我们最好的日子就在眼前。--Patrick Paul Gelsinger

今年年初,intel宣布Patrick Paul Gelsinger接任Bob Swan公司CEO,其在80年代的时候就在intel出任架构师,曾经主导80486到安腾一些产品的设计,后又在VWMare担任CEO多年,有丰富的大型企业管理经验。Paul Gelsinger在80-90年代可以说是完全的技术大拿,虽然后续离开芯片设计行业多年,但其丰富的工程管理经验,和工程师的技术思维方式还是能够更好的把握技术发展的方向,制定更为合适的策略。

在Paul Gelsinger执掌intel后,又于近日公布了全新的IDM 2.0策略,其计划在亚利桑那州投资200亿美元新建新的晶圆厂,并向第三方客户开放代工。之前有消息说intel要将自己更多核心产品线交给台积电代工,现在这个谣言也不攻自破,现在不仅不扩大代工,还要反过来给跟台积电抢生意。

这样的决策其实之前就有端倪,在2月的时候,intel、高通、美光、AMD等美国芯片厂商就联合致信总统拜登,要求政府提供资金、资助半导体产业的发展。虽然美国政府已经从共和党过渡到民主党,但MAGA策略在一定程度上还是得以延续。这些芯片厂商中高通和AMD都是Fabless,真正可以实现芯片制造业回流的也就是intel和美光。其实在这个时候intel就已经下定决心进一步扩大自有产能。

其实这也是美国国家意志的一部分,当今半导体产业80%的产能集中在东亚,特别是在战云密布的韩国和台湾,这些地区都在“敌对阵营“的战术空军和中短程弹道甚至巡航导弹的覆盖范围之内,且在未来都有较大的不明确因素,因此从行业供应链安全和国家安全上来说都是“存在风险的”,半导体制造回流到北美和欧洲对于美国而言都是很必要的。

而后续intel在产品层面更为值得期待。从已经公开的情报看,再下一代Alder Lake则会采用增强型的10nm super Fin工艺,全新的Golden Cove大核心,单线程性能提升20%,再配合Big.Little大小核心的设计使得多线程性能翻翻,并首先支持PCIE 5.0和DDR5,因此可以说Alder Lake是完全革新的一代,堪比当年的Skylake。

在ADL之后是Raptor Lake,重点是改善缓存机制提升游戏性能,再之后就是7nm的Metror Lake,Metror Lake虽然还会继续是LGA 1700,但将放弃Ring总线,而采用Foveros多工艺混合封装技术。并且这一切并不遥远,Metror Lake将于今年第二季度开始流片。

因此我们可以说,今后几年将是处理器发展的黄金时代,从Rocket Lake开始,intel变革的车轮再次转动,后面将迎来大进步大发展。从产品定位上来看Rocket Lake其实很像Boardwell,就是5775C那一代,Boardwell是后续HEDT/Xeon Boardwell-e的前期验证,而Rocket Lake则是ice Lake架构迁移桌面的副产品,在很大程度上都是起到承上启下的作用。但不同的是Boardwell是做了14nm的小白鼠,相比之前22nm是性能倒吸,而Rocket Lake虽然还是保守的14nm,但却将现有工艺的性能进一步发挥到了极限水平。

我们将本次测试的CML RKL和Zen 3主要规格和价格列出,针对刚需用户来分析他们的购买价值。(价格是京东自营当前售价)

11700K首发价2699,明显低于10700K的首发价格,但还是高于现在10700K 2099的售价。不过相比5800X 3199依然要便宜15%,你要知道现在5600X都要2399,因此2699的价格其实还算是很合适的。

11900K同11700K都为8核心16线程,售价却要高上2000,就等于说就是这2000是为处理器的频率或者体质买单。在没核心数区隔的情况下,这样的i9价格的确有些偏高了。但对于那些想要追求极致游戏性能的发烧玩家,也只能勉为其难的接受。

11600K首发价格1599,可以说是这么多年来最便宜的i5 K首发。11600K对位的应该是5600X,但现在5600X的零售价已经比10700K高上一截。11600K在超频后无论是生产力性能还是游戏性能都优于5600X,特别是游戏性能和11900K都没有明显的差距,因此我们可以甚至说11600K是RKL中最为值得购买的型号。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK