苹果 M1 处理器在去年惊艳亮相,在桌面环境下表现出了惊人的性能和效率,ARM 阵营可谓是扬眉吐气。而今年,似乎要轮到 x86 阵营反击了。英特尔将会在今年推出全新架构设计的 x86 处理器 Alder Lake,它的革命性之处,在于使用了 ARM 中实装多年的大小核架构。
▲ Alder Lake 使用了大小核混合架构,在不同平台对应有不同规格
高性能大核 + 高效率小核的组合,已经被证明的确可以带来更好的体验。然而这样的设计,在 x86 阵营中凤毛麟角,之前的评价体系对于 Alder Lake 来说,或许是不够精确的。那么要如何才能客观评价 Alder Lake?待到 Alder Lake 正式发布、以第 12 代酷睿处理器的正式产品名登场时,要如何跑分才能更科学?今天就给大家分享几个思路吧。
用适合的操作系统跑分
如果你这几年有关注 AMD 的锐龙处理器,那么应该知道操作系统的调度,对于 CPU 的性能影响是非常大的。无论是对于锐龙也好,Alder Lake 也好,架构的改变,需要操作系统采用新的调度算法,才能发挥 CPU 应有的性能。
以锐龙 CPU 为例。锐龙之所以可以轻易推高核心数量,和它独特的拓扑架构密不可分。例如在 Zen 2 中,每 4 个核心封装成为一个 CCX,每两个 CCX 封装为一个 CCD,这样的好处是可以通过简单增加 CCX 和 CCD 模块,堆砌出更多核心。
▲ AMD Zen2 的架构,可以看到核心-CCX-CCD 的拓扑
但是,这样的架构带来了 CPU 调度的新问题,例如核心和核心直接的通讯,会出现跨 CCX 乃至跨 CCD 的情况,而跨 CCX 的核心之间通讯,会产生额外的延迟。例如一个程序用了 CPU 两个核心,但这两个核心有可能位于同一个 CCX,也有可能分别位于不同的 CCX 中,后一种情况会带来更高的通讯延迟,性能数据自然逊于前一种情况了。
在 Win10 1903 中,系统对此进行了优化,Win10 1903 系统会优先调度处于同一 CCX 内的核心,避免跨 CCX 造成的延迟,多核性能有所提升。
▲ Windows 10 1903 对 Zen 架构的优化:优先调用同一 CCX 内的核心、缩短频率响应时间
▲ Windows 10 1903 可以提升 Zen 的游戏性能和日常表现
这次 Alder Lake 也会遇到和锐龙类似的问题。Alder Lake 使用了大小核混合架构,操作系统必须足够聪明,才能准确判断什么时候使用小核心,什么时候调用大核心。很遗憾,由于桌面处理器现在才开始使用大小核设计,因此当前的 Windows 系统都没有对其优化,想要发挥出 Alder Lake 这样的大小核架构的威力,就需要升级到 Windows 11 了。
在 Alder Lake 中,英特尔部署了 Intel Thread Director 的硬件调度技术,结合适合的操作系统,可以对线程智能分配到合适的核心当中。而 Windows 11,就对这项技术提供了较好的支持。
实际上,已经有媒体测试对比过 Win11 和 Win10 在大小核混合架构 CPU 平台下的性能差异。媒体使用了三星 Galaxy Book S 设备,它基于 Lakefield Core i5-L16G7 平台,而 Lakefield 就是典型的大小核设计的 CPU,可以将其看作是 Alder Lake 的前哨。下面是具体的测试结果。
首先是 GeekBench 5 测试,Win11 相比 Win10 21H1,在多线程上有 5.8% 的优势,在单线程上则有 2% 的优势。Win11 的性能对比 Win10 21H2 更好,但提升幅度并不算令人振奋,期待最终版能有更好的表现。
接着是浏览器跑分 Speedmeter 2,测试也显示 Win11 的性能要更好。使用同样的 Chrome 91,Win11 对比 Win10 21H1 有 10% 的性能优势。
再来看渲染成绩。在 Cinebench R23 中,Win11 在单线程测试中呈现出了约 8.2% 的优势。这个测试结果是通过三种不同的测试得出的,而 Core i5-L16G7 这颗处理器的确在 Win11 中表现出了更强的性能。
最后是 3DMark 测试,该测试中没有呈现出显著的性能差异,这也是可以理解的 ——3DMark 对驱动依赖较大,而新系统和新硬件都尚未有完善的驱动匹配。
可以看到,Win11 在大小核 CPU 平台上,发挥出了显著优于 Win10 的性能,这会给游戏带来更高的帧数、更低的延迟和更少的卡顿 —— 对大小核架构优化不足,是有可能让异架构核心切换延迟明显增加的,而 Win11 显然对大小核优化更好。
总的来说,要发挥出新 CPU 的性能,就需要使用对架构有优化的操作系统。Alder Lake 和 Win11 正式版都会在年底发布,如果大家打算用 Alder Lake,可别忘了配备新系统了。
用适合的测试软件跑分
Alder Lake 使用了大小核设计,而根据目前公布的信息,桌面平台的会是 8+8 核心,笔记本移动平台的也会拥有 6+8 以及 2+8 核心。和当前的英特尔 CPU 相比,Alder Lake 无疑属于核心数量爆炸,在某些性能测试软件,成绩会有极大程度的提高,但要如何理解这个测试成绩呢?
例如 Cinebench,这是一个 DIY 玩家很常用的跑分软件,它通过渲染测试来衡量 CPU 性能,对多核心优化较好,通常来说核心数量多的 CPU 在 Cinebench 中更容易取得好成绩。Alder Lake 的核心数量提升很大,可以预见的是在 Cinebench 中会跑出远胜于前的成绩,但这是否意味着 Alder Lake 对比前代提升就有那么大?
▲ Alder Lake 一定会在 Cinebench 这样的测试中有大幅提升,但这是否意味着日常使用也提升很大?
Cinebench 测试的是 CPU 多核在高负载下的峰值性能,但未必符合日常使用的场景。例如打开一个网页,实际上更考验的是 CPU 的瞬时响应速度,尤其是 Alder Lake 这种大小核架构的 CPU,加上可变频率设计,能否在第一时间响应任务、攀升到较理想的性能去完成用户触发的轻量任务,或许更加影响用户日常体验。
▲ Alder Lake 使用高达 1000GB/s 的总线连接大小核,但没有明说延迟如何,延迟会极大影响日常体验
因此,对于 CPU,还是需要使用更多的跑分工具去测试,例如 PCMark 就可以测试 CPU 对轻量任务的响应速度。评价 CPU 性能,特别是 Alder Lake 这种架构大改的产品,不能迷信一两款测试工具,而是需要针对 CPU 的特性,进行更多维度的测试,才能获得更客观的结论。
使用合适的编译器跑分
尽管 x86 CPU 的指令集是兼容的,但实现指令集的具体方法,却有所区别。对此,一些针对处理器的代码优化,可以更完美地发挥出 CPU 应有的性能。例如编译器,同样的测试程序,如果使用对 CPU 更友好的编译器,结果可能大有不同。
▲ Anandtech 使用 SPEC 2017 等专业软件来测试性能,但测试英特尔 CPU 没有使用 ICC 编译器
很多媒体例如 Anandtech,会使用 SPEC 这样的专业测试软件来衡量 CPU 的性能。不过 SPEC 测试可以使用不同的编译器,Anandtech 所使用的 CLANG 编译器,并不能完美发挥英特尔 CPU 的效用。如果改用英特尔自己的 ICC 编译器,成绩会明显上浮。因此,大家观看某些测试成绩的时候,需要注意使用的是什么编译器,不然很有可能得到不准确的结论。
总结
CPU 的性能测试是一个很复杂的问题,而面对新的架构设计,如何选择合适的测试方法又显得格外重要。Alder Lake 很快就会到来,它带来的架构革命会让 x86 的体验更上一层楼吗?我们拭目以待吧。