性能之王还是不进反退,Prescott全
2003年后期,为了暂时压制AMD公司新推出的Athlon64系列处理器,Intel不惜工本在旧有的P4核心基础上,增加2MB三级缓存,推出了价格高昂的P4至尊版(3.2GHz频率的该型号处理器,千片采购价就高达700多美元)。但仅凭这样的高价处理器,在主流市场显然是站不住脚的;而旧有的Northwood核心P4在面对Athlon64系列CPU的威胁时,在某些应用中已经略显疲态。
在原有的P4架构基础上,要再一次夺取先机并保持处理器的制作成本在可接受的范围之内,就必须进一步改进P4处理器的内部架构和制作工艺。这样才可能通过提升处理器的工作频率,在新一轮的CPU大战中站稳脚跟。
2004年2月1日,Intel终于推出了举世瞩目的90nm制程P4E(Prescott核心P4)系列处理器。首批推出的Prescott核心P4处理器共有4款,分别为:P4 2.8A、P4 2.8E、P4 3.2E以及P4 3.4E。其中P4 2.8A前端总线数据传输频率仅为533MHz,并且不支持超线程技术,以后缀“A“来标识。而其余的型号均为800MHz前端总线数据传输频率,都开启了超线程功能,以后缀“E“标识。
那么,此款处理器对P4处理器原有的Netburst架构究竟作出了什么改进,使用了哪些新的处理器制造技术,会不会如Athlon64系列那样加入64位扩展,初期推出的几款处理器实际的性能表现又会如何呢?以下,我们就为大家一一揭开谜底。<
在我们的上一篇文章中,我们已经看到AMD K8核心处理器为了进一步提升频率,将流水线级数由K7的10级增加到了12级。而在Prescott核心的P4处理器中,为了进一步提升处理器的频率,Intel把Trace Cache之后的流水线级数变本加厉,由以前的20级增加到了30级。这恐怕是此款处理器最引人注目的改变之一了,也因此引来了诸多媒体的议论。
我们都知道,处理器流水线基本可以划分为:指令取→指令解码→指令执行→载入/储存→写回寄存器这五个部分。通过这样的流水线设计,就可以在每条流水线上同时处理一条以上的指令。为了叙述方便,我们可以把流水线假想为一组传送带,如下图:
处理器长短流水线示意图(点击放大)
短流水线好比节数较少,单节皮带行程长的模式。它的单节皮带负载能力更大。而长流水线则好比节数较多,单节皮带行程短的模式。它的单节皮带负载能力较弱。
虽然从长度上看,由于长流水线级数较多,因此行程也较远,在皮带传送速度相同(均为1M/s)的情况下,当然是短流水线占优势。但随着工厂技术的发展,必须提高产量。此时我们就需要提高传送带的送货量。显然我们可以想到最简单的方法就是增加皮带的传送速度。
然而在短流水线的传送带中,由于单节皮带较为粗长,本身质量较大,因此要进一步提速就显得十分困难(极限速度可提升到1.2M/s)。相比之下长流水线设计的传送带则由于单节皮带质量小,提速就显得容易得多(极限速度可提升到2M/s)。这样我们通过给长流水线传送带大幅度提速,在流水线各环节同时正常运转的情况下,实现了超越短流水线传送带的目的。
显然,如果在此基础上进一步增加并行传送带的组数,构成“超标量“传送带,那么长流水线的速度优势还将得到更好的体现。
由于上述的优点,多数处理器在升级换代时,基本都采取了增加流水线级数的策略,以下,我们给出Intel公司几款具有代表性处理器的流水线布置图,以供大家参考。
Intel系列处理器流水线级数简图(点击放大)
需要注意的是,P4系列处理器的流水线级数尚不包括前面的取指令、解码部分。通过增加流水线的级数,Intel宣称Prescott核心P4处理器的工作频率将可达到5GHz左右。
但是凡事有利必有弊。首先,长流水线的优势必须在提速到达一定程度之后才能够体现出来。可是处理器厂家在长流水线处理器推出的初期,由于市场等多方面因素,又不可能马上以较高的频率推出新处理器。因此,这些处理器在某些条件下自然就会出现不尽人意的情况。其次,Prescott的超长流水线设计和较高的频率,也将带来其它方面的一系列问题。为了减小这些问题可能带来的损失,在Prescott中,Intel采取了许多措施进行补救。下面,我们就进一步为大家说明。<
要分辨两栋建筑物的异同,没有内部构造图是不行的,对于处理器来说也是如此。所以,首先我们还是来看两张Prescott核心架构与Northwood的架构对比图吧:
Prescott与Northwood的架构对比图(点击放大)
我们可以看到,上图中最明显的变化有三处:
◎ 指令追踪缓存(Trace Cache,作用类似于以前的一级指令缓存)所用的分支目标缓存(Trace Cache BTB,主要用于动态分支预测),条目数(Entries)由512条增加到2000条;
◎ 一级数据缓存容量倍增,由原来的8KB增加到了16KB。缓存联合路数也随之倍增,由原来的4路联合(4ways)增加到8路联合(8ways);
◎ 二级缓存容量也由原来的512KB增加到了1MB,缓存联合路数则保持不变。
考虑到读者对于缓存已经比较熟悉,因此我们先就涉及到缓存变化的后两个项目进行分析。而对于大家还不太熟悉的BTB,我们将放到后面再作说明。
前面我们已经提到,Prescott的频率可高达5GHz左右,而归根结底,处理器需要内存为其输送数据。处理器在如此高的频率下工作,即使是尚未走向主流的下一代DDRⅡ内存,在没有辅助措施的条件下也会略显吃力,更不必说目前的DDR内存了。
内存系统跟不上处理器的脚步,是长久以来存在于系统设计中的一个问题。对于这个问题,AMD公司通过在K8处理器中内置内存控制器,并增加二级缓存容量到1MB来解决。而同期推出的P4至尊版则没有变动其它机构,仅追加了2MB三级缓存。至于Prescott,则主要采用了以下三个方面的措施进行解决。
● 最容易理解的措施——增加一级、二级缓存的容量。我们已经从对比图中看到了。不过需要提醒大家注意的是,虽然增大缓存的容量有利于缓解慢速的内存所带来的影响,但在某种条件下,也可能随之提高缓存的延迟,在Prescott中就出现了这种现象。以下就是我们使用ScienceMark 2.0测试缓存延迟时所得到的结果。
| 一级缓存 | 二级缓存 | ||
延迟 周期 | 纳秒 | 延迟 周期 | 纳秒数 | |
P4 3.2E | 4 | 1.25 | 26 | 8.11 |
P4 3.2 | 2 | 0.62 | 19 | 5.92 |
表中可见,扩容后,Prescott的一级缓存、二级缓存延迟分别增加到Northwood的2倍和1.4倍左右,扩容的副作用较为明显。
● 第二条措施——对P4原有的预取技术作出改进。
考虑到读者可能对预取技术还比较陌生,因此我们首先对预取技术作简要的说明。没有使用预取机构的处理器,只能在需要对数据进行处理时查找缓存,如果缓存中没有所需数据,就必须停止工作,等待内存提供此数据。而使用预取机构后,则可以在数据需要处理之前就完成查询缓存,向内存中取数据,并将数据预取到缓存中工作,隐藏了内存的延迟,如下图:
预取原理图(点击放大)
P4中具备软件预取和硬件预取两种预取方式。所谓软件预取,就是在程序的代码中由编程人员人为地添加预取指令。而硬件预取则由处理器全权管理预取工作,不需要编程人员手工插入预取指令。Prescott中对两种预取都做出了一些改进。
软件预取方面,对过去的P4来说预取的对象只能是普通数据。这意味着软件预取指令只能为二级缓存提供预取服务。而在Prescott中则扩大了软件预取的对象,不仅可以为二级缓存提供预取服务,而且还能够为另一种重要的缓存——二级缓存D-TLB提供预取服务(有关TLB的说明请点击这里了解)。
此外,在旧的P4中,软件预取指令必须由速度慢的MicrcodeROM负责解码。而现在则可由速度较快的硬件解码器解码,存放在发布速度快得多的Trace Cache中(MicrocodeROM和硬件解码器的区别请点击这里了解)。也算提高预取性能的一种辅助措施吧。
硬件预取方面,Prescott的硬件预取机构在预取时机、预取对象的选择上也变得更加智能化,不过Intel对于硬件预取方面的改变并没有提供更多的细节说明。
● 最后由于Prescott中超线程技术的存在,对弥补内存延迟的技术提出了更高的要求,为此,Intel进一步增加了部分内部缓冲器的容量,以满足开启超线程时的需要。<
前面我们主要涉及的,只是处理器外围的缓存部分,下面,我们把目光投向Prescott的核心内部,首先看看前端部分的一些变化:
Prescott前端结构(点击放大)
如上图,P4的前端部分主要由指令取、指令解码、追踪缓存、MicrocodeROM以及分支预测机构所组成。在这一部分中,Prescott主要在以下三个方面采取了改进措施。
◎ 在解码部分,Prescott将把更多的指令将交由硬件解码器进行解码后由指令发布速度为3条/周期的追踪缓存来发布,而不是交由发布速度仅1条/周期的MicrocodeROM来解码后发布,比如我们在上面提到的软件预取指令,就是一个很好的例子;这一点,同Athlon64的情况比较类似,而有关MicrodeROM与硬件解码器的区别,请点击此处察看。
◎ 第二方面,Prescott的解码部分能够识别出更多指令之间不必要的数据依赖(Data Dependence),以便提高后面的乱序执行效率;
◎ 最后,也是最重要的一个方面,就是对分支预测机构的改进了,我们将主要针对此方面的改进作一些简要说明。
首先,是我们在前面尚未涉及的Trace Cache BTB部分。必须明确的一点是,Trace Cache BTB部分的变动,与Prescott的动态分支预测机构关系十分紧密,而动态分支预测机构的性能,则对于Prescott这样的超长流水线处理器,具备相当重要的意义。
我们知道,简单处理器取指令时,只能按照编译后的指令静态顺序进行顺次读取;但由于分支指令的跳转特性,打乱了这种依次执行的顺序;如果此时我们仍然按照指令编译时的静态顺序顺次读取,或是在具备分支预测的处理器上出现分支预测失败的现象,错误地读取了其它的指令进行处理,就必然造成流水线部分区域的停工或是作了无用功。如下图:
长流水线分支预测失败示意图(点击放大)
对于Prescott这样的31级超长流水线来说,这样的问题给处理器带来的危害显然比稍短的流水线更大。为了解决流水线在执行条件分支指令时的上述问题,就必须改进Prescott处理器中的分支预测机构,这方面Intel主要有以下三方面的措施:
◎ 动态分支预测方面,首先就是我们前面提到的,将追踪缓存(Trace cache)所用的分支目标缓冲条目数由以前的512条增加到了2千条;
◎ Intel还宣称在原有的动态分支预测机构中加入非直接跳转分支预测器(Indrector Branch Predictor),改进了动态预测非直接跳转分支的能力。
◎ 第三条措施,就是改进静态分支预测的策略。 <
要理解前页所述的改进,我们就必须首先了解分支预测的一些基本原理。
同大多数处理器一样,Prescott处理器的分支预测机构可以分为动态分支预测机构以及静态分支预测机构两大类,而其中动态分支预测机构由分支目标缓冲(Branch Target Buffer ,以下简称BTB)以及预测跳转条件是否满足的动态预测机构组成:
图中可见,BTB与我们熟悉的一级、二级缓存十分类似,只不过缓存的对象不同而已,前者缓存了分支指令及其挑转目标的地址,而后两者则缓存具体的数据或指令。在每一个BTB的条目中,集中存储了分支指令地址、跳转地址以及分支指令的跳转历史纪录。需要注意的是,由于P4对于其分支预测机构的细节一直不愿意做过多的透露,因此其中实际的分支预测机构组成状况,与上图所表示的结构必然在细节上存在许多不同之处,但从原理上说,二者是基本相同的。
大致了解了分支预测的原理之后,再回过头来看Prescott中的分支预测改进状况,就较好理解了。
◎ 动态分支预测方面,与其它处理器不太相同,P4处理器在指令预取单元和Tace Cache单元上,各放置了一套BTB机构,但两套BTB机构的作用和工作原理是类似的。增加BTB条目数,能够纪录的分支指令数就越多,当遇上分支指令较密集,分支指令跳转情况变化较复杂的程序时,将体现出一定的优势。
◎ 此外,由于分支预测指令中的跳转地址有可能使用变量表示,而不是如我们上面举例的那样总是5、150这样的常数;这种情况我们称为非直接跳转分支(Indirect Branch)。如果此时仍然使用图中的机构,显然将造成BTB的频繁预测失败(储存在BTB中的分支跳转地址可能是不断变化的)。Intel宣称在Prescott的动态分支预测机构中加入由Pentiumn M(Banis)中引用的非直接跳转分支预测功能。这样,就提高了执行非直接跳转分支时的预测成功率。
◎ 作为动态分支预测的一种侯补方案,静态分支预测的性能对于处理器来说也具备一定的重要性。静态分支预测方面,在过去的P4里,一直奉行以下的原则:
如果分支所跳转的地址为逆向跳转,则静态预测为分支跳转成立,执行跳转;而如果分支所跳转的地址为正向跳转,则静态预测为分支跳转不成立,按照编译顺序读取下一条指令,下图表示了这种静态策略:
Northwood的静态分支预测(点击放大)
的确,在分支循环次数较多的程序中,这样的静态预测方案所得到的预测命中率较高。但是如果遇到的不是循环用分支语句,如果还这样预测就不行了。所幸大多数情况下,分支循环程序所包含的指令数目都比较小(意味着循环跳转的地址偏移量不会很大),因此在Prescott中,Intel在原有的静态分支策略中加入了距离判断算法,仅在所跳转的地址为逆向跳转,且跳转的地址距离分支指令本身的地址偏移量较小时,才执行跳转。下图表示Prescott与旧P4在这方面的区别:
更智能化的Prescott静态分支预测
显然,这样的静态分支预测办法显得比以前所使用的方法更加“智能化“一些。<
接下来,我们进入到核心的中部,这一部分主要完成为指令的执行调配所需的资源、动态地编排指令的执行顺序等工作。此部分与后面我们将要提及的运算执行单元部分一起,组成了P4的乱序执行核心。
Prescott处理器乱序执行核心第一部分(点击放大)
在这一部分中,Prescott相比过去的P4,做出了以下三个方面的改进:
◎ 增加了用于浮点、多媒体运算指令的排序(Scheduler)窗口。排序窗口的增大,有利于发现更多可以并行处理的浮点和多媒体指令,以提高乱序执行浮点和多媒体指令的效率;
◎ 改良了用于载入(Load)和储存(Store)指令排序的机构,减小了两种指令的相互等待时间;
◎ 增加与各个指令排序器联用的指令列表缓冲(Memory μOP Queue以及Integer/Floating PointμOP Queue)的容量,以便缓冲更多由上级的分配/寄存器换名单元(Allocator/Register Renamer)送来的指令,减小上级单元因等待而产生的空闲状况。
最后是处理器的运算执行单元部分,主要由负责整数运算的ALU、负责浮点和多媒体运算的FPU以及负责地址计算、数据载入以及计算结果储存的AGU部分组成:
Prescott处理器乱序执行核心第二部分(点击放大)
在这一部分中,Prescott相比过去的P4,做出了以下两个方面的改进:
◎ 在两个快速ALU单元(以两倍于处理器运行频率的速度工作)之一中加入处理移位/旋转操作的机构;而在旧P4中,这部分功能必则由慢速的ALU单元来处理。加入新的移位/旋转操作机构之后,处理此类运算的速度将得到提高;
◎ 过去的P4,必须依赖浮点单元进行整数乘法运算,这不仅给浮点单元增加了负担,而且还需要把待处理的数据在浮点、整数单元之间相互传递,浪费处理器内部的数据传输带宽。Prescott则添加了单独的整数乘法单元,消除了这些问题。 <
如果我们把处理器的内部架构比喻为骨架,那么在处理器上使用的指令集,则可以说是处理器的灵魂。任何一款处理器,都必须依靠指令集的帮助,才能够发挥出足够的威力。这一点,只要我们看一看SSE2、MMX或是3DNow!这样的扩展指令集对发挥处理器架构优势所起的作用就会明白。Prescott也不例外。这一次Intel为Prescott专门设计了如下表所示的13条新指令:
指令种类 | 指令助记符 |
浮点转整数指令 | FISTTP |
复杂算法指令 | ADDSUBPD, ADDSUBPS, MOVDDUP MOVSHDUP, MOVSLDUP |
视频编码指令 | LDDQU |
采用AOS格式的SIMD FP (用于图形处理) | HADDPD, HSUBPD, HADDPS, HSUBPS |
线程同步指令 | MONITOR, MWAIT |
通过在程序中使用这些指令,程序员能够更好地发挥Prescott处理器固有的架构优势,进一步提高处理器在多媒体处理、超线程应用等领域的性能表现。
此外,最令人关注的,恐怕就是Prescott处理器是否如AMD的K8系列处理器那样包含64位指令集扩展了。在不久前召开的Intel春季技术峰会上,身为Intel首席执行官之一的Craig Barrett终于亲口承认了这一点。
按照这位官员的说法,今年的第二季度,Intel就将首先在服务器市场推出核心代号为Nocona的处理器,此款处理器与Prescott内部构造基本相同,只不过添加了更大的缓存,并可以支持多处理器配置。并在此款处理器上市后不久再推出单处理器配置的服务器、工作站型Prescott处理器。而微软方面也表示将在不久的将来推出可兼容K8与Prescott处理器的64位操作系统版本。
此外,Intel还提供了用于Prescott核心64位指令集编程的指导书,从这一份指导书中,我们可以看到,Intel在Prescott处理器的64位扩展上,采取了和AMD的K8处理器十分类似的策略,同样提供了寄存器扩展和多种操作模式的支持。其中共包含两种操作模式,其一是传统的IA32模式,其二是可兼容32-64位指令的IA32e模式,各模式的具体状况见下表:
工作模式 | 操作系统 | 专用程序 | 默认地址位数 | 默认操作 数位数 | 寄存器 扩展 | 通用 寄存器 位数 | |
IA32 [传统模式] | 保持旧有32位处理器的参数不变 | ||||||
IA32e模式 | 64位模式 | 64位 操作 系统 | √ | 64 | 32 | √ | 64 |
兼容模式 | | 32 | 32 | | 32 | ||
16 | 16 | 16,8 |
在64位模式下,Intel也对可用的寄存器进行了扩展,如下表所示:
| 64位模式 | 兼容以及传统模式 | ||||
名称 | 数量 | 位数 | 名称 | 数量 | 位数 | |
通用 寄存器 | RAX,RBX,RCX,RDX,RBP,RSI, RDI,RSP, R8-15 | 16 | 64 | EAX,EBX,ECX,EDX,EBP,ESI, EDI,ESP | 8 | 32 |
指令指针 寄存器 | RIP | 1 | 64 | EIP | 1 | 32 |
标志 寄存器 | EFLAGS | 1 | 32 | EFLAGS | 1 | 32 |
浮点 寄存器 | ST0-7 | 8 | 80 | ST0-7 | 8 | 80 |
MMX 寄存器 | MM0-7 | 8 | 64 | MM0-7 | 8 | 64 |
SIMD 寄存器 | XMM0-15 | 16 | 128 | XMM0-7 | 8 | 128 |
堆栈宽度 | ―――― | 64 | ―――― | 16/32 |
所有这些都意味着目前上市的桌面型Prescott处理器,已经具备了可执行64位指令的功能单元。只不过由于Intel把64位应用局限在服务器、工作站市场,因此没有在眼下推出的桌面型Prescott处理器时中,将这些功能打开或对此隐含功能进行大肆宣传。<
一款处理器能否在市场上站住脚,仅靠内部架构以及指令集的设计是远远不够的。设计得再好的产品也必须最终在生产上得以实现;反过来说,优良的生产工艺和生产成本控制技术又可以保证处理器架构设计师们放心地采用更加复杂的处理器设计。
作为首颗采用90nm制程以及可减小电子流动阻力的应变硅技术制作的桌面型处理器。借助于Intel先进的处理器生产技术。性能方面Prescott核心集成的晶体管数和可稳定运行的频率范围得到了显著的提升,成本方面处理器的核心面积也得到了较大幅度的缩减,这一点,我们从如下的一组对比图表中就可以清楚地看出来:
生产商 | 核心代号 | 制程 | 晶体管 | 核心面积 | SOI | 应变硅 |
Intel | | 180nm | 4200万 | 170 | | |
Northwood | 130nm | 5500万 | 131 | | | |
P4至尊版 | 130nm | 1亿 7800万 | 237 | | | |
| 90nm | 1亿 2500万 | 112 | | | |
AMD | K8 | 130nm | 1亿590万 | 193 | | |
然而,尽管使用了新工艺新材料制作。初期推出的Prescott还是给我们带来了少许的遗憾,它夸张的功耗参数,使它成为桌面处理器的发热之王。
生产商 | 核心代号 | 制程步进号 [Stepping] | TDP值 |
Intel | Northwood P4 3.2C | D1 | 82W |
Northwood P4 3.2 至尊版 | D1 | 92.1W | |
| C0 | 103W | |
AMD | Athlon64 3400+ | C0 | 89W |
Athlon64 FX53 | C0 | 89W |
TDP值越高,意味着处理器所需要配备的散热器规格也越高。我们希望随着工艺的改进,在下一个制程步进号的Prescott中,发热量过大的问题能够得到某些程度的改善。<
说了那么多原理还是让我们轻松一下,来看看Prescott处理器和其老前辈Northwood以及死敌Athlon64 3200+的正面、侧面合影图:
Prescott、Northwood以及Athlon64 3200+合影
从正面和侧面来看,Prescott相比过去的Northwood,在整体尺寸以及外形上并没有什么明显的区别。而由于内置了内存控制器,Athlon64 3200+则在体形上显得“粗壮“一些。
Prescott、Northwood以及死敌Athlon64 3200+的合影(点击放大)
而从背面图的对比来看,Prescott底部用于核心电压滤噪的电容数目相比Northwood增加不少,排列方式也发生了较大的改变。根据我们的猜测,这可能是由于Prescott核心工作电压相比Northwood降低了不少,因此对电压的稳定度也有了较高的要求使然。相比之下,Athlonj64 3200+处理器则由于背部针脚数较多,因此把滤噪电容都放置在了处理器的正面。
看过了处理器的外观,让我们进一步使用Cpu-Z软件,来观察一下处理器内部参数的变化:
Prescott与Northwood在Cpu-Z 1.21中的对比(点击放大)
从Cpu-Z 1.21中,明显可以看出,正如我们在前面的分析中所说的,Prescott的一级、二级缓存容量都相比Northwood得到了倍增。除此之外,我们也可以看到,Prescott处理器的CpuID号为0F33,而D1制程的Northwood则为0F27。遗憾的是Cpu-Z最新的1.21版本仍然不能识别出Prescott的制程步进号。而根据Intel相关资料显示,我们收到的此款Prescott制程步进号应为C0,算是作为对Cpu-Z信息的一条补充吧。<
尽管通过前面的分析,我们对于Prescott处理器的基本情况已经有相当的了解,然而该处理器的实际性能,最终仍需通过实际的测试来检测,否则不免落入纸上谈兵的俗套之中。以下是本次测试时所使用的测试配置:
硬件配置、设置部分 | |||||
处 理 器 | P43.2E | P4 3.2GHz | Athlon64 3200+ | ||
主 版 | ASUS P4P800S [865PE] | Giga K8VT800 [K8T800] | |||
BIOS版本 | 1015 | F5 | |||
内 存 | OCZ EL DDR PC-3200 Dual Channel Platinum 256MB×2 | ||||
BIOS 相 关 设 置 | 内 存 处理器 | 内存时序统一调节为5-2-2-2 内存电压2.7V AGP/PCI频率统一设置为66.66/33.33MHz Intel平台统一使用双通道,并开启P4P800上的PAT功能 Athlon64平台上HT上下行频率设置为800MHz,位宽为16/16 bit | |||
AGP相关 | AGP Aperturesize:256MB,打开快写,打开AGP8× | ||||
其 余 | Spread Spectrum | 关闭 | |||
ICH Delay Transport | 关闭 | ||||
附件 | 除SysMark 2004以及COD外,关闭内置声卡和网卡 | ||||
显 卡 | NVIDIA GeForce FX5900 Ultra [450/850MHz] QuadroFX1100 [425/650MHz] | ||||
硬 盘 | 西捷酷鱼Ⅴ 60GB | ||||
软件设置部分 | |||||
操作系统 | 英文版WinXP SP1 [安装DX9.0b] | ||||
主板驱动 | INF 5.10.1008 / VIA 4in1 ver4.51 | ||||
显卡驱动 | NVIDIA 53.03WHQL [使用NVCool v2.1关闭垂直同步] | ||||
桌面设置 | 1024×768×75Hz×32bit / 1280×1024×75Hz×32bit | ||||
测试项目详表 | |||||
单项性能 | Sisoftsandra 2004 ScienceMark 2.0 Linpack | ||||
综合性能 | SysMark 2004 SysMark 2002 Business Winstone 2004+CC Winstone 2004 Business Winstone 2002+CC Winstone 2002 | ||||
游戏综合 | 3DMark2001 SE 3DMark03 Patch46 Aquamark3 | ||||
游戏单项 | Q3 v1.17 COD v1.0 Comanche4 Demo UT2003 UT2004 Demo Splinter Cell V1.2 HALO V1.03 Max·Payne 2 v1.0 [Fraps] | ||||
图形工作站 | Specviewpref 7.1.1 3Dsmax 5.0 Cinebench 2003 |
该部分的测试主要由考核CPU数学计算性能的Drystone、Whiestone,考核CPU多媒体数据处理性能、内存带宽性能以及缓存——内存系统传输带宽四大部分组成。我们分别在打开超线程和关闭超线程的情况下作了测试,以下为前三项测试的详细结果:
由前三项测试结果可见,受到流水线深度的制约,相比Northwood来说,Prescott在SisoftSandra中的表现只能说是差强人意,多数情况下都不如Northwood的表现。它仅在内存带宽测试中与Northwood持平。
而Athlon64 3200+则由于不支持超线程和双通道模式,因此在前面两项超线程处理器占了便宜的测试中落后。同时在内存持续带宽的测试中AMD和Intel错开了较大的差距。但是由于Athlon64内置的内存控制器极大地减小了内存传输延迟,对于单通道内存配置的系统来说,这样的成绩可以说是相当不错的了。
至于缓存——内存系统传输带宽,为了对比方便,我们根据SisoftSandra 2004的测试结果,绘制了下面的图表。对于P4系列处理器,该项测试仅在超线程状态下进行。
Sissoftsandra2004缓存——内存带宽测试(点击放大)
与上面的内存持续带宽测试不同,此项测试可考核一级缓存、二级缓存以及内存的数据传输带宽。在测试前部,数据块尺寸较小,可以被一级缓存所容纳,此时的数据传输主要依靠一级缓存进行;随着数据块尺寸的进一步增大,超出一级缓存的容量后,就必须依靠二级缓存进行存储;到测试的尾部,数据块的尺寸增加到1M以上,就只能通过内存来存储如此大尺寸的数据块了。通过这种逐级加大数据块尺寸的方法,就可以测试出处理器里一级缓存、二级缓存以及内存的传输带宽。
在此项测试中,三款处理器的存储子系统带宽,呈现出形态各异的三条曲线。
◎ 在考核一级缓存数据传输带宽的测试前部,Prescott处理器与Northwod虽然一级缓存工作频率、传输位宽相同,但是由于前者的一级数据缓存为后者的2倍,缓存延迟有所增加,因此持续带宽也随之下降,但容量上的改变也带来了在8-16KB区域的领先。而AMD处理器尽管一级缓存容量为64KB,远远大于Prescott的16KB和Northwood的8KB,但由于工作频率较低,因此虽然在64KB之前的数据传输带宽变化比较平缓,但在数值上仍然远低于P4系列。
◎ 在考核二级缓存数据传输带宽的测试中部,由于类似的原因,Prescott处理器与Northwod虽然二级缓存工作频率、传输位宽相同,但是由于前者的二级数据缓存为后者的2倍,缓存延迟有所增加,因此持续带宽也随之下降,但容量上的改变也带来了在512KB—1M区域的领先。在此区域中,Athlon64 3200+除了凭借比Northwood大一倍的二级缓存容量,而在大数据块区领先Northwood外,其余部分由于受频率、位宽限制,表现并不令人满意。
◎ 在测试的尾部,3套系统都必须动用内存来存储数据了,由于平台相同,因此两块P4处理器的尾部曲线重合在一起;而Athlon64 3200+则由于仅为内存单通道,因此在这部分中继续落后。
ScienceMark 2.0是一款多功能的软件,可以进行科学计算测试,也可用于存储子系统的带宽、延迟测试。本次测试没用启用此软件的全部功能,而主要使用存储子系统测试模块进行3款处理器存储子系统的延迟性能测试。测试结果如下:
| 一级缓存 | 二级缓存 | 内存 | |||
延 迟周 期 | 纳秒 | 延 迟周 期 | 纳秒 | 延 迟周 期 | 纳秒 | |
P4 3.2E | 4 | 1.25 | 26 | 8.11 | 210 | 65.47 |
P4 3.2C | 2 | 0.62 | 19 | 5.92 | 204 | 63.6 |
A64 3200+ | 3 | 1.49 | 16 | 7.96 | 85 | 42.29 |
测试结果表明,Prescott处理器缓存系统的传输延迟,相比Northwood有所提高,其一级缓存、二级缓存传输延迟均有较大的增加。而Athlon64 3200+则由于工作频率低,因此其一级、二级缓存的延迟为三款处理器之最;但由于使用了内置的内存控制器,因此内存传输延迟非常之小,相比P4明显占优。这样,在内存零星数据的存取上,Athlon64 3200+将体现出一定的优势。
Prescott在Linpack测试中的表现(点击放大)
◎ 在测试的前部,矩阵尺寸较小,只需要存储在一级缓存中既可,此时处理器的浮点运算能力(每秒百万次浮点运算数目——MFLOPS)不会受到二级缓存、内存延迟的干扰,能够得到充分的体现。从这部分曲线,我们可以看到Athlon64 3200+的浮点性能表现不错。反观Prescott,虽然采取了一些措施,但由于流水线级数的增加,处理此类浮点运算的性能有所下降,因此在Linpack中表现仍然落后于Northwood不少。
◎ 在测试的中后部,矩阵尺寸增加了,必须使用二级缓存乃至内存来进行矩阵数据的传输,本可继续保持上升势态的Athlon64 3200+曲线,在超过64KB(等于Athlon64 3200+的一级数据缓存容量)部分的曲线区域,由于受到二级缓存性能的制约,而未能如P4处理器那样继续上升,而是急剧下降;反观P4处理器,显然在二级缓存性能上优于Athlon64 3200+,在很长的范围内,曲线都保持了上升势态。尤其是Prescott,虽然在峰值上劣于Northwood,但由于增加了二级缓存的容量,因此在512KB之后的测试中优势明显。<
以下我们进入综合性能测试的环节,此部分的测试主要使用SYSmark 2004这类考核办公、多媒体制作综合性能的软件来进行测试,能够较为全面地反映参测平台在除了游戏以外的大多数桌面应用中的性能。理论上讲,开启P4的超线程功能后,将有利于此类应用的性能提升,此外Prescott相比Northwood在开启、关闭超线程情况下的性能差别也是大家十分关注的,因此我们分别作了开启和关闭超线程的测试。
首先进行的是SYSmark 2004的测试:
该测试集成了17个较新的互联网多媒体制作以及办公软件。除了对上一代软件进行更新换代以外,互联网多媒体制作软件方面终于改用微软的Internet Explorer 6而不再使用Netscape,此外,还增加3Ds max5.1进行图形工作站成品渲染的测试,并追加Aftereffect 5.5进行影像制作的性能测试。
由测试结果可见,打开超线程后的Prescott在Sysmark2004中表现不错,全面超越Northwood;而在没有开启超线程的情况下,表现则正好相反。另一方面,我们以可以看到,打开超线程后,两款P4处理器的得分也确实获得了较为明显的提升,而打开超线程和未打开超线程的性能提升幅度,自然也是Prescott大于Northwood了。看来Prescott的超线程性能确实有所提高。而Athlon64 3200+则在此项测试中成绩不理想,只能与未开启超线程的Prescott大致相当。
接下来,我们进行Winstone2004的测试,该测试由Bussinesss Wintone2004和Content Creation Winston2004两部分组成。前者重于考核处理器执行商务应用软件的性能,后者重于考核处理器执行多媒体制作、网络发布软件的性能。
Bussinesss Wintone2004中集成了以下的软件:首先是集成于微软Office XP中,常用的文字处理、制表、邮件收发类软件,如Access 2002、Excel 2002、Microsoft FrontPage 2002、Microsoft Outlook 2002、Microsoft PowerPoint 2002、Microsoft Project 2002、Microsoft Word 2002,其次是鼎鼎大名的杀毒软件Norton AntiVirus Professional Edition 2003以及压缩数据常用的WinZip 8.1。
与Bussinesss Wintone2002有所不同的是,新的2004版本增加了多任务性能测试的模块,该模块有三个环节组成,分别标以Multitasking1、Multitasking2、 Multitasking3,三个环节的测试中都同时运行多个软件,并且同时运行的软件数量逐级增加,在Multitasking3中达到最多。能够更为全面地考核多任务运行时超线程处理器的性能表现,其测试结果如下:
总分方面,我们得到与SYSmark 2004同样的测试结果。而在多任务测试中,我们可以看到,在前面的多任务测试中,Prescott表现不佳,但随着同时运行任务数的增多,Prescott的性能终于得到完全的发挥,拔得头筹。而Athlon64 3200+在前两个多任务测试中的表现也不错,只是在最后阶段败下阵来。
与SYSmark 2004类似,Content Creation Winston2004也在升级原集成Photoshop 7.0.1,Premiere 6.50, Director MX 9.0、Dreamweaver MX 6.1、Windows Media Encoder 9的基础上,增加NewTek公司的LightWave3D 7.5b进行图形工作站成品渲染的测试;此外,还增加WaveLab 4.0f进行音频处理性能的测试。测试结果如下:
由测试结果来看,在Content Creation Winston2004上,两款P4处理器的性能没有明显区别,而AMD的落后幅度则有所缩小;同时我们也可以看到Prescott开启超线程后的性能提升幅度也比Northwood稍高。<
以下我们进入音频、视频压缩性能测试环节,此部分主要使用Razorlame 1.15,Tmpeg,以及Xmpeg这三个软件进行测试,测试时转换用源文件,以及目标文件均使用第二块硬盘的C:分区进行存放,每次测试之前都对C:分区进行格式化处理,测试之前安装了Divx 5.1.1。
首先是Razorlame 1.15的测试,测试将660MB的wav源文件使用此软件压缩为MP3文件,软件具体设置请点击此处察看。
在Razorlame的测试中,Prescott的表现只能以十分糟糕来形容,不论打开或是关闭超线程,都以大比分落后Northwood,甚至在Razorlame这样P4的强项应用中只能与仅配置了单通道内存的Athlon64 3200+持平。同时我们也可以看到打开超线程对于Razrolame没有太大的帮助,只提高了大约2%左右。
接着我们进行Xmpeg的测试,测试使用1GB的源文件,设定在5000帧处读取编码所用时间,其余详细设置见此处的链接。
Prescott的表现总算恢复到了正常水平,与Northwood表现基本持平,关闭超线程后,两块P4的性能表现则与Athlon64 3200+持平,同时我们也可以看到,打开超线程后,两块P4的Xmpeg成绩都提高了10%左右,提升幅度较大。
最后,我们进行Tmpeg的测试,测试使用1.2GB的AVI源文件进行,以下是测试的详细结果:
在Tmpeg中,Prescott的表现十分不错,领先Northwood的幅度达到了10%,开启超线程对于P4的帮助十分明显。而Athlon64 3200+在这里则表现十分糟糕。<:游戏性能测试 [1]]
游戏性能测试我们分为两大部分进行,分别是游戏综合性能测试部分和实际游戏性能测试部分。
游戏综合性能测试部分主要使用3DMark2001 SE、3DMark 03以及Aquamark3这三个软件进行。首先是3DMark2001 SE v330和3DMark 03 Patch46登场,分别测试了使用处理器和使用显卡进行转换以及光照处理这两种情况下的系统表现,其余设置均使用软件安装后的默认值,以下为这两个软件的测试结果:
从这几个简单的结果来看,新版本Intel处理器的表现相当不错。不过3DMark的表现并不等同于在实际游戏中的效果。如果您购买Prescott的初衷是为了加速游戏性能,请继续看我们接下来的评测。<:游戏性能测试 [2]]
由于Aquamark3的制作公司宣称游戏支持超线程,因此在这个软件的测试中,我们分别打开和关闭超线程进行了测试,此外,测试时还关闭了声音选项,其余均使用AM3的默认设置进行测试,测试结果如下:
在这一环节的测试中,Prescott的性能没有给我们带来太多的惊喜。不论打开或是关闭超线程,性能均与Northwood半斤八两,差距均在1%左右。而Athlon64 3200+则在对处理器依赖较大的3DMark2001SE v330测试中体现出较为明显的优势,在其余的测试中则与P4得分十分接近。<:游戏性能测试 [3]] 看过了测试软件的测试,随后我们进入实际游戏性能测试。首先进行OpenGL游戏的测试,这里我们使用了Q3 V1.17以及使用改进版Q3引擎的《使命的召唤》这两个游戏进行测试。
Q3 V1.17的测试,测试仅使用demo001场景进行,测试设置请点击此处察看。以下为测试结果:
接下来我们进行《使命的召唤》的测试,测试设置请点击此处察看。以下为测试结果:
由这两个游戏的测试结果可见,在《使命的召唤》中,Prescott与Northwood性能十分接近;而在Q3的测试中,Prescott则以5%的劣势落后。此外,大概是由于Q3引擎对于内存带宽较为敏感,因此Athlon64 3200+的性能受到单通道内存的影响而落在了最后。
下面是DX8级别游戏的测试环节,此部分包含卡曼奇4、细胞分裂1.2北美版、虚幻竞技场2003以及最新推出的虚幻竞技场2004 Demo这四个游戏进行测试。
首先是卡曼奇4的测试,测试使用此游戏的Demo版进行,测试设置请点击此处察看。以下为测试结果:
接下来我们进行细胞分裂的测试,测试使用其1.2北美版进行,测试的具体设置请点击此处察看。以下为此项测试的具体结果:
第三个出场的是大家十分熟悉的虚幻竞技场2003,测试使用官方发布的测试程序进行,并在1024768的分辨率下进行了测试,以下为测试的结果:
最后,我们测试了最新推出的虚幻竞技场2004,测试使用其免费提供的Demo版进行,使用ons-torlan场景进行,仅作了Botmach的测试,测试中打开所有特效,使用了最高画质设置:
<:游戏性能测试 [4]] 游戏测试的最后,轮到DX9级别游戏出场,这部分主要包括HALO 1.03版和Max·Payne 2两个游戏:
首先是HALO的测试,测试之前安装了最新的1.03版补丁,分别测试了1024×768分辨率下打开ps2.0指令和使用固定流水线两种情况下的成绩,测试其余设置请点击此处察看。
Max Payne2的测试使用Fraps 2.0进行,测试场景分别选用游戏第七章节、第八章节的开场实时动画,测试详细设置请点击此处察看。
与前面的游戏综合性能测试软件以及OpenGL游戏测试所得到的结果不同,Athlon64 3200+在实际游戏测试中仍然高奏凯歌,而Prescott则不停扮演垫底的角色,处境十分尴尬。 <
最后,是图形工作站性能的测试,此部分测试主要分为预览性能测试以及处理器成品渲染测试两大部分,测试时使用了NIVIDA公司最新推出的QaudroFX1100显卡,测试时桌面分辨率统一保持在1280×1024×75Hz。
我们将首先进行预览性能的测试,时间关系,预览性能的测试部分我们仅选用了Spec组织最新发布的Specviewpref 7.1.1版本进行对比测试,测试时针对测试的项目分别开启了专用优化,同时关闭了超线程支持。测试结果如下:
俗话说,姜还是老的辣,在Specviewpref的测试中,Northwood的表现正是如此,它占据了所有子项目测试的头把交椅,至于Prescott的疲软表现,我想大家已经不会感到太意外了吧。同时我们也可以看到,Athlon64 3200+的表现在某些子项目测试中与P4的差距还是十分明显的。
紧接着,我们进入处理器成品渲染测试的环节,首先是3dsmax5.0的测试,测试时均开启超线程功能。测试配置请点击此处察看,以下为测试的结果:
在3dsmax5.0的成品渲染测试中,三个测试的画面复杂度由低至高依次排列,Prescott的成绩依然比Northwood差一截,而Athlon64 3200+的表现则与游戏测试时的表现形成鲜明的对比。
最后,是Cinebench2003的成品渲染测试,分别在打开超线程和关闭超线程的情况下作了测试。以下为测试的结果:
Prescott的表现依然令人失望,没有打开超线程时得分甚至与单通道的Athlon64 3200+持平,打开超线程之后与Northwood差距依然较大。<
纵观此次测试的结果,尽管Prescott核心的P4处理器在内部架构做出了一些改良,并在处理器制作工艺上又迈进了一步。但在硬件方面,在管线级数较长的配置上起始频率低,造成不能完全发挥新架构的优势;首次采用的90nm制程工艺也有需要进一步完善之处,造成处理器发热量较大;软件方面,使用SSE3指令编写的程序仍未及大量上市,也对新核心的性能发挥形成了制约。
然而,我们也必须看到,即使工作在较低的初始频率,但Prescott在超线程方面的表现,无疑是比旧有的核心有了长足的进步。随着核心频率的进一步提高,Prescott的整体性能也必将超越只能在频率上原地踏步的Northwood系列。
而过去AMD K8处理器所独有的32/64位平台兼容特征也被预置在Prescott之中,给对手AMD造成了新的威胁。未来一段时间内,桌面处理器的两强之争必然愈演愈烈,形势也将愈发错综复杂,本站将与广大读者共同关注!<