[PConline 杂谈]苹果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模块,堆砌出更多核心。
但是,这样的架构带来了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的体验更上一层楼吗?我们拭目以待吧。