P4虽然主频高,但其在整数/浮点数学运算、3D渲染、人工智能仿真等方面都不如同频Athlon。为何会如此?
先来个比方,短跑选手A和B,A每秒可跑4步,B每秒可跑3步,有些人(特别是唯高频论者)会认为A比B跑得快,但是A每步只迈1.5米,B每步迈2米,这样A每秒跑1.5X4=6米,B每秒跑2X3=6米,步伐频率高的A并没有跑得比B快,CPU也是如此。
CPU完成一条运算任务,一般要有:取指,译码,执行和存数等4个基本步骤,而这4个基本步骤分为数个流水线执行。
当AMD先于Intel推出1G CPU的时候,Intel决定研发一种新的CPU架构,以在CPU主频上5年内领先对手,这就是P4的NetBurst。最初的P4就具备20级流水线,相对Athlon的12级流水线,P4能更易达到高频。为何流水线越长CPU越易达到高频?----由于CPU主频的提高,电磁感应可能无法在某频率下(比如1/3X10e10秒,3GHz)走完每一级流水线的路程(还要考虑CMOS电路串联叠加的延迟),那么只好“减短”电磁感应所要走的一级流水线的路程,这样每一级流水线的运算工作变简单了(比如运算1+1+1+1=?3级流水线每步工作要比2级流水线少)。电磁感应走完每一级流水线的时间减少了,CPU主频也得以提升。但每一级流水线的运算工作变简单,就要增加流水线的数目以完成整个运算过程,于是就有了P4的20级流水线。
但是流水线越长CPU效率越低,CPU每一Hz完成的工作并非是整个流水线,而是每一级流水线(否则Intel也不会加长流水线,减低每级流水线工作量以提高CPU主频)。当流水线级数过多时,发射器发出一条运算指令,会经过很长时间才得到结果,这不适用于快速反应要求很高的场合。夸张地比方说,如果一块3GHz CPU有3G级流水线,那它完成一条运算任务所需时间为(1/3X10e10)X(3X10e10)=1秒。
比如一块3kHz、30级流水线的CPU,运行某计算工作所需时间为(1/3000)X30=0.01秒;而一块2kHz、12级流水线的CPU,运行该计算工作所需时间为(1/2000)X12=0.006秒,所以2kHzCPU主频虽然比3kHzCPU低,却更快地完成了计算任务。长流水线还有个弊端,如果分支预测出错,那么重新计算所需时间也比短流水线要多。这就是为何2GHz Athlon 64比3GHz P4EE快的原因。
Intel的P4推出差不多6年了,虽然主频一直领先AMD,但Intel的高频CPU效能在某些方面还是差过AMD的低频CPU,6年来Intel以高频CPU忽悠了全球多少用户啊!相对AMD CPU,Intel P4耗电多,发热大,效率低--同样的性能,养活P4要付出比Athlon更多的电力资源。
未看清Intel真面目的人们,醒醒吧!
(出处:http://www.sheup.com)