Arstechnica.com近日刊登了一篇VIA Nano和Intel Atom处理器的评测文章,其中PCMark05一节特别有趣,因为从结果看Intel处理器似乎得到了特殊优待。
首先看一下测试结果:
似乎没什么不对的:总成绩Atom略微领先,处理器子项Nano大幅占优,内存和图形子项又是Atom的强项。真的如此么?
业内一直有一种说法,那就是PCMark05的测试得分会根据CPUID而不同,而现在我们有机会亲自检验一下。
解释一下,CPUID是根据处理器不同而不同的特定字符串,存储着制造商、型号、规格参数、功能特性等信息,相当于处理器的身份证。不同厂商的CPUID标志各不相同,比如Intel是GenuineIntel,AMD是AuthenticAMD。一般情况下CPUID都是锁定的,无法更改,但VIA是个例外,也就是你能让识别软件把VIA的处理器看成是Intel的或者AMD的。
在变脸测试之前,先看看PCMark05白皮书里的几句话:“透明和中立是我们产品设计的基石。我们努力记录生成基准测试的每一个步骤。……我们始终保证最高标准的中立性,对任何团体都不偏不倚。”
系统总分和处理器、图形、硬盘子项测试看起来一切正常,得分不同在误差范围内。
但内存子项就不一样了,Nano变成AMD处理器后得分提高了9.1%,而变成Intel处理器后提升幅度竟然高达47.5%,甚至超过了Atom。这显然不是误差所致,测试人员在反复重新测试、重装Windows XP系统后得到的结果依然如此。如果这样计算,那VIA Nano的总成绩也将超过Intel Atom,形势就完全不同了。
这至少说明Futuremark在制作PCMark05的时候存在严重疏忽,因为看起来PCMark05会根据CPUID的不同而开启或屏蔽处理器优化,而不是真正去检查、确认处理器本身再做决定。可以看出,PCMark05的内存子项似乎并不知道VIA Nano处理器也支持SSE2和SSE3指令集,因此执行了没有优化的代码路径。
不过问题并非这么简单。
第一,PCMark05发布于2005年,而同年诞生的VIA C7处理器就已经支持SSE2/3。PCMark、3DMark这种基准测试工具不但要保证对已有产品的认知,也必须适应发布之后一两年的形势,但PCMark05并没有做到,即使测试之后升级的1.2.0版也是如此。
第二,如果VIA Nano变脸成AMD和Intel处理器之后成绩相同,那也就没什么好说的了,只能算是Futuremark的工作失误,但Intel CPUID带来的性能提升竟然多了将近40个百分点,这就说不过去了。Futuremark总不会不知道K8早就支持SSE2/3了吧?
根据我们已知的信息,Futuremark似乎在PCMark05里准备了三种代码路径,其一针对Intel,其二针对AMD,其三针对其他处理器。优化代码路径并没有错,但优化程度各有不同,就不好解释了。