最近笔者在各大市场中发现一个有意思的现象,凡是来电脑城攒机的用户不管是初学者、游戏玩家还是高手们,都不约而同的选择了Intel P4C系列处理器(支持超线程)和I865芯片组(支持双通道内存技术)主板,好像不选择具备超线程技术的P4和支持双通道的芯片组就是一种落伍、掉价的表现。可是他们当中又有多少人真正了解这两种技术呢,而最终将它们的性能发挥出来的人又有多少呢?
对于超线程技术和双通道内存控制技术可以说是两种不同的技术。当然,这两种技术在实际中的应用,均能从不同的应用层面找到自己的位置和价值。为了让大家彻底了解两种技术,笔者认为,唯有对这两种技术进行相应的剖析和纵向对比测试,方能找到我们所需要的答案。当然,也只有这样,才能使我们在“攒机”的时候,做到“有的放矢”,以避免自己钱袋中所剩无几的“银两”被浪费掉。
一、 什么是“超线程”处理器技术?
1、简单定义“超线程”技术
所谓超线程技术就是利用特殊的硬件指令,把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,从而使单个处理器就能“享用”线程级的并行计算的处理器技术。多线程技术可以在支持多线程的操作系统和软件上,有效的增强处理器在多任务、多线程处理上的处理能力。
超线程技术可以使操作系统或者应用软件的多个线程,同时运行于一个超线程处理器上,其内部的两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。这样做可以使得处理器的处理能力提高30%,因为在同一时间里,应用程序可以充分使用芯片的各个运算单元。
对于单线程芯片来说,虽然也可以每秒钟处理成千上万条指令,但是在某一时刻,其只能够对一条指令(单个线程)进行处理,结果必然使处理器内部的其它处理单元闲置。而“超线程”技术则可以使处理器在某一时刻,同步并行处理更多指令和数据(多个线程)。可以这样说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。
2、超线程是如何工作的?
在处理多个线程的过程中,多线程处理器内部的每个逻辑处理器均可以单独对中断做出响应,当第一个逻辑处理器跟踪一个软件线程时,第二个逻辑处理器也开始对另外一个软件线程进行跟踪和处理了。
另外,为了避免CPU处理资源冲突,负责处理第二个线程的那个逻辑处理器,其使用的是仅是运行第一个线程时被暂时闲置的处理单元。例如:当一个逻辑处理器在执行浮点运算(使用处理器的浮点运算单元)时,另一个逻辑处理器可以执行加法运算(使用处理器的整数运算单元)。这样做,无疑大大提高了处理器内部处理单元的利用率和相应的数据、指令处吞吐能力。
3、实现超线程的五大前提条件
(1)需要CPU支持:
目前正式支持超线程技术的CPU有Pentium4 3.06GHz 、2.40C、2.60C、2.80C 、3.0GHz、3.2GHz以及Prescott(Pentium5)处理器,还有部分型号的Xeon。
(2)需要主板芯片组支持:
正式支持超线程技术的主板芯片组的主要型号包括Intel的875P,E7205,850E,865PE/G/P,845PE/GE/GV,845G(B-stepping),845E。875P,E7205,865PE/G/P,845PE/GE/GV芯片组均可正常支持超线程技术的使用,而早前的845E以及850E芯片组只要升级BIOS就可以解决支持的问题。SIS方面有SiS645DX(B版)、SiS648(B版)、SIS655、SIS658、SIS648FX。VIA方面有P4X400A、P4X600、P4X800。
(3)需要主板BIOS支持:
主板厂商必须在BIOS中支持超线程才行。
(4)需要操作系统支持:
目前微软的操作系统中只有Windows XP支持此功能,而在Windows2000上实现对超线程支持的计划已经取消了。
(5)需要应用软件支持:
一般来说,只要能够支持多处理器的软件均可支持超线程技术,但是实际上这样的软件并不多,而且偏向于图形、视频处理等专业软件方面,游戏软件极少有支持的。应用软件有Office 2000、Office XP等。另外Linux kernel 2.4.x以后的版本也支持超线程技术。
二、 什么是“双通道”内存技术?
双通道内存技术,就是在北桥(又称之为GMH)芯片组里制作两个内存控制器,这两个内存控制器是可以相互独立工作的。在这两个内存通道上,CPU可以分别寻址、读取数据,从而可以使内存的带宽增加一倍,数据存取速度也相应增加一倍(理论上是这样)。
目前流行的双通道DDR内存构架是在两个64bitDDR内存控制器构筑而成的,其带宽可以达到128bit,但工作方式不同于单通道128bit的内存控制技术。因为双通道体系的两个内存控制器是独立的、具备互补性的智能内存控制器,两个内存控制器都能够在彼此间零等待时间的情况下同时运作。例如:当控制器B准备进行下一次存取内存的时候,控制器 A就在读/写主内存,反之亦然。两个内存控制器的这种互补“天性”可以让有效等待时间缩减50%,从而使内存的带宽翻了一翻。
双通道DDR的两个内存控制器在功能上是完全一样的,并且两个控制器的时序参数都是可以单独编程设定的。这样的灵活性可以让用户使用两条不同构造、容量、速度的DIMM内存条,此时双通道DDR简单地调整到最低的密度来实现128bit带宽,允许不同密度/等待时间特性的DIMM内存条可以可靠地共同运作。
简而言之,双通道技术是一种关系到主板芯片组的技术,与内存自身无关,只要厂商在芯片内部整合两个内存控制器,就可以构成双通道DDR系统。而主板厂商只需要按照内存通道将DIMM分为Channel 1与Channel 2,用户也需要成双成对地插入内存,就如同RDRAM那样。如果只插单根内存,那么两个内存控制器中只会工作一个,也就没有了双通道的效果了。
双通道内存控制技术可以非常有效的提高内存带宽,特别是那些需要同内存频繁交换数据的软件和整合有图形核心(整合显卡)的芯片组。在865G这样整合有显卡的双通道主板上,双通道内存控制技术所带来的高带宽,可以帮助整合显卡在划分主存做为显存的时候,得到更高的数据带宽,而显存的数据带宽正是制约一块显卡性能发挥的瓶颈所在。
对于整合图形核心的主板来说,其内存不仅要与CPU频繁变换数据,而且还将被主板上整合的图形核心共享为显存。而在这个时候,显存也必将频繁地进行数据变换,而这对于有限内存带宽来说,无疑将是一种严峻的考验。
双通道内存控制技术是一种主板芯片组技术,只有支持双通道内存控制技术的芯片组才能构架起双通道内存平台,英特尔阵营有I850、 i875P、i7205、i865PE、i865G、SIS655、SIS655FX、VIA PT600(P4X600)、VIA PT800(P4X800)、VIA PT880等芯片组,其真可谓人才济济,而AMD阵营仅有NForce2 、NForce3芯片组独力支撑局面。
三、“超线程”处理器技术的优点与缺点
1、超线程技术的优点
(1)超线程在Web服务、SQL数据库等很多服务器领域的应用中表现优异。
(2)主流的桌面芯片组基本都已可以支持超线程,你无需额外的花费。
(3)Windows XP已经针对其作出优化,在运行多个不支持多线程的程序时,性能也可能会获得提高。即便带来损失,也会显得比较轻微。
(4)在某些支持多线程的软件应用上能够得到30%左右的性能提升,如3dsmax、Maya、Office、Photoshop等。Intel甚至在一项测试中取得了90%的提高。
2、超线程技术的缺点:
(1)较受欢迎的Windows 2000并不支持超线程技术,必须得安装也许您并不满意的Windows XP。
(2)打开超线程后处理单线程应用,处理器性能有时会降低。
(3)缺乏针对超线程优化的各种普通应用软件,性能因此得不到充分体现。
总的来说,通过以上优缺点的比较,我们已经了解到了超线程技术的确能够在处理多任务的时候,能够给系统性能带来一定的提升。而在运行单任务处理的时候,多线程的其优势是无法表现出来的,而且一旦打开超线程,处理器内部缓存就会被划分成几个区域,互相共享内部资源,从而造成单个的子系统性能下降。 笔者认为,用户在进行单任务操作时候,没有必要打开超线程,只有多任务操作时候可以适时打开超线程,享受超线程技术带来的好处。
四、“双通道”内存控制技术的优缺点
1、双通道的优点
(1)可以带来2倍的内存带宽,从而可以那些与必须内存数据进行频繁交换的软件得到极大的好处,譬如SPEC Viewperf、3DMAX、IBM Data Explorer、Lightscape等。
(2)在板载显卡共享内存的时候,双通道技术带来的高内存带宽可以帮助显卡在游戏中获得更为流畅的速度,以3Dmark2001Se为例,其得分成绩的差距,可以拉大到15-40%。
2、双通道的缺点
(1)必须构架在支持双通道的主板上,并且必须要有两条相同容量、类型内存条。英特尔的双通道对于内存类型和容量要求很高,两根内存条必须完全一致。而SIS和VIA的双通道主板则允许不同容量和类型的内存共存,只要是两根内存条就行。
(2)双通道内存控制技术在普通的游戏和应用上,与单通道的差距极小。
(3)需要购买支持双通道内存控制技术的主板和两根内存条,而这需要更多的成本。
(4)双通道的接法,对于初手来说十分重要,一旦接法不正确,将无法使双通道起作用。
(5)双通道内存架构,其超频比较困难,这对于喜欢DIY超频朋友将不太适合。
五、 “超线程”与非“超线程”之间的较量
下面,我们将以一块P4 3.0G(支持HT)处理器为测试对象,通过打开和关闭其超线程技术来比较一下两者的性能差距究竟有多大。
测试平台,可见(表1)。
在这个测试平台之下,我们将使用ZD Business Winstone 2002 1.0(商用办公性能测试)、SiSoft Sandra2003(硬件信息和性能基准测试)、3DMark2001 SE(著名的3D显卡性能测试软件)、Lame(音频压缩)、Flaskmpeg+Divx 5.0.2 Codec(视频压缩)、3D Studio Max 5(3D渲染)、Photoshop 7.0(2D图像)、3D Mark2001 SE+Super PI(多任务测试)来验证HT究竟具备何等威力。
测试1 ZD Business Winstone 2002 1.0
这个软件用来测试系统商业办公性能,包括了Word、Excel、Access、PowerPoint、FrontPage、WinZip、Norton AntiVirus、Lotus Notes以及Netscape等实际应用;ZD Content Creation Winstone 2002 1.0.1则用来测试系统的Web、图形和多媒体等内容创建性能,包括Photoshop、Premiere、Director、Dreamweaver、UltraDev、Navigator、Windows Media Encoder 以及Sound Forge等。
在ZD Business Winstone 2002 1.0中,开启HT与关闭HT的性能差距是极小的。开启HT之后,几乎没有整机商业办公性能产生什么影响(仅0.2%)。当然,这与办公软件是否支持超线程有很大的关系,因此如果你仅仅是一个商用、办公用户,便没有必要选择超线程。
测试2 利用SiSoft Sandra2003单独对处理器子系统进行测试
CPU常规运算性能
在CPU常规运算性能的测试中,当我们打HT之后,HT带来的处理器性能提升是十分明显的。整数运算测试得分,由7969直冲9336分,处理器的整数运算性能提升17%。
而在P4独有的ISSE2指令运算测试中,开启HT之后,得分也由原来的4046提升到了5624分,性能提升了39%左右。
CPU多媒体运算性能
在多媒体运算性能的测试中,开启HT之后的整数运算得分由原来的12216分,提升到了14059分,性能提升约20%。而在ISSE2指令集的得分中,当我们开启HT之后,测试成绩,立即提升了40%左右,其提升可谓非常之大。由此可见,只要有游戏和相关的多媒体处理器软件对于英特尔的超线程技术进行优化,那么其带来的性能提升是可以想见的。可以说,目前超级程技术遇到的首先问题就是软件厂商的支持。之所以在SiSoft Sandra2003中处理器的性能测试得分能够有这么大的提升,在于SiSoft Sandra2003这个软件支持超线程,可见超线程处理器只有在应用软件的配合和优化之下,才能发挥其潜能。
测试3 3Dmark 2001Se 性能测试
3DMark2001 SE体现了系统的D3D性能,经过1028*768、32色测试,开启HT和关闭HT几乎对系统性能未能任何提升,反而在打开HT之后,处理器性能反而有很小很小的一点损失。可见,一旦软件不支持超线程技术,有时候反而会出人意外的出现性能上的下降。
测试4 音、视频压缩
音频压缩和视频压缩对处理器的性能的要求是非常苛刻的,特别是视频的采集与压缩,在没有视频采集卡的情况下,处理器的性能对于视频、音频的压缩时间长短,将产生重大的影响。
首先是音频压缩的测试,在 Lame(音频压缩软件)对一段97.2MB的Wav文件压缩成8.82MB的MP3文件时,打开HT与关闭HT完全一样,按理说不应该这样,但是由于Lame未对超线程技术进行优化,因此导致两者未分出高下。音视频文件的压缩将比单纯的音频文件压缩更考验处理器性能,当我们用Flaskmpeg+Divx 5.0.2 Codec将一段DVD视频文件压缩成MPEG4文件时,支持超线程技术的Divx 5.0.2 Codec将超线程技术发挥得淋漓尽致。压缩时间由原来的349秒一下子缩短到了297秒。
测试5 2D图像处理和3D渲染
Photoshop 7.0和3D Studio Max 5分别可以代表2D图像处理和3D动画处理,通过这个两个软件下的表现,可以判断超线程技术在图形、动画处理上的作用。
由于Photoshop 7.0支持多处理器和超线程技术,因此,其可以轻松利用这一优点,在多线程技术的帮助下,得到约10%的性能提升。
这里是在Photoshop下进行Despeckle操作时,在开启与关闭HT之后的耗时比较。开启HT之后,仅耗时6.8秒,而关闭HT之后,则几乎慢了整整1秒。可以由此推断,如果一个操作以前需要耗时1小时,那么打开HT之后,则可以节约7-8分钟了。3D Studio Max系列是3D图形领域里最流行的3D建模软件,在场景的最终渲染过程中,处理器被满负载使用,能充分的考察出CPU的运算能力,3D Studio Max 5已经对Pentium 4提供了极大的优化,可以大幅提高渲染性能。3D Studio Max系列也能很好的支持多线程操作,以尽量利用多处理器的优势来减少渲染时间,多处理器系统总能获得极大的性能优势。不过,由于3D Studio Max在渲染过程中,过分依赖的是浮点单元,所以多线程技术对其帮助不大,这个时候,处理器的其它单元,无法帮上忙。因为这个时候,CPU的所有浮点单元,都全线上阵了,而其它单元则无法“插上一脚”。
测试6 多任务并行处理测试
为了考虑HT对于处理器在同时处理多个事务时,有什么帮助?这里决定在运行Super PI这种对处理器运算性能有压力的软件。并且在运行这个软件,同步运行另外一个对CPU运算性能有苛刻要求的软件3Dmark2001SE.在处理多任务的时候,Super PI 和3D Mark2001 SE这两位杀手单独对于系统来说都不是轻松的任务,更何况同时运行,这是个相当严苛的考验。当关闭Hyperthreading技术时,3.06GHz的Pentium 4运行3D Mark2001 SE,测试场景调入的时间很长,测试运行时也有明显的丢帧现象出现;开启Hyperthreading技术后,情况有明显的改善,3D Mark2001 SE测试场景调入的时间明显缩短,感觉基本和单任务运行无异,测试运行时丢帧的现象也不再出现。从实际的测试成绩也能看出,无论是Super PI 还是3D Mark2001 SE,开启Hyperthreading技术后并行运算的成绩均有很大的提高。
小结:
通过以上测试,我们发现只要应用软件支持超线程技术,那么,用户便可以从中获益1%-40%。特别是服务器和图形工作站用户,当然,这得益于服务器、图形、3D动画、视频制作软件,曾经对多线程技术进行过专门的优化和支持。而P4的超线程技术与多线程技术属“亲缘”关系,那么支持多线程技术的软件,自然也就能够从P4的超线程技术中获益。而对于普通的办公、商业、游戏用户来说,由于其应用领域的软件均不支持超线程技术,因此在购机时,便没有必要购买支持超线程技术的P4,毕竟购买支持超线程技术的CPU将付出更多的成本和代价。
我们这里以主流的P4 2.4C为例,从市场定位和价格上来说,P4 2.4C其仅仅比不支持超线程的同频率P4略贵了100元左右。而以6%的差价去换取那约40%左右的性能提升,我想是物有所值的。而且在市场上,我们也能以500元左右的价位,轻松获得一块支持超线程技术的主板。当然,如果你着实无法从超线程技术上获得一点好处,那么,自然也就无需多耗费这点银子了。
六、 P4平台,双通道与单通道的较量
为了配合P4前进的步伐,英特尔连接推出了I865PE、I875P、I865G几款支持800MHz主流双通道芯片组,而SIS、VIA也不甘示弱,SIS655FX、VIA PT800随之杀出。然而,在推出主力双通道芯片组的同时,英特尔又推出了单通道I848P、而SIS和VIA也分别推出了单通道648FX、VIA PT800芯片组。那么,主流的双通道与低端的单通道究竟在武功上有多少差别呢?我们只有采用比试的方法来加以论证。
这里,我们就用I875P来单挑其它几位不支持双通道技术的单通道选手(I848P、PT800和SIS648FX)吧。测试平台,见(表2)。显卡,这里选择了目前最强悍的Geforce FX 5900。
比试项目:SiSoftware Sandra、MAX、ZD Business Winstone 2002、3Dmark2001、SPEC Viewperf等。
测试1 SiSoftware Sandra MAX3(内存带宽基准测试)
在SiSoftware Sandra MAX3的内存基准测试中,采用双通道的I875PE一马当先,以40%左右的优势将其它对手抛在后面。可以说,双通道在提升内存带宽上,确实是一个非常非常好的方案。不过,双通道DDR400带来的6.4G/S内存带宽,是否能够被当前的操作系统和应用软件充分利用,从而发挥出其真实的性能,还得通过其它软件来进行测试和判断。
测试2 ZD Business Winstone 2002(商用性能)
ZD Business Winstone 2002是一个综合的系统测试软件,主要通过模拟实际的商业软件的效率来体现系统的整体效能,从测试的情况来看单通道内存芯片组的表现相对差了一些。这说明,双通道将在运行商用软件的时候,获得一定的性能提升。
测试3 ZD Content Creation 2002(多媒体性能)
ZD Content Creation 2002用来测试系统多媒体应用方面的性能,主要模拟运行Flash、Photoshop、Dreamwave等软件来体现系统的性能。由于这种运算更多的牵涉到多媒体运算,更高的内存带宽有更好的性能表现,通过测试结果,也证明了这一点。
测试4 TMPGEnc(视频压缩性能)
看看在视频压缩情况下的性能表现,测试的时候我们使用TMPGEnc软件进行测试,压缩格式为MPEG2。测试的素材为315MB的视频文件,采用默认压缩设置,生成的文件大小为136MB。测试结果为耗费的时间。可以看出双通道依然获得了一定的优势,尽管不太明显。
测试5 WinRAR(文件压缩性能)
WinRAR压缩测试我们选择了一个容量为716M(总共3979个文件)的文件夹进行压缩测试,压缩格式为标准的RAR格式,压缩率为普通,压缩后文件的大小为345M。由于压缩测试也是对处理器浮点以及带宽性能的考验,因此可以看出双通道具备的高带宽在文件压缩上还是很有优势的。
测试7 SPEC Viewperf(3D渲染性能)
SPEC Viewperf是常用的OpenGL专业测试程序,主要针对真实3D专业应用环境,如3dsmax、IBM Data Explorer和Lightscape等。在这个测试上,双通道的I875P充分利用了双通道带来的带宽优势,由于3dsmax这样的软件需要同内存频繁交换数据,因此更高的带宽可以有效缩短渲染所需的时间。
测试8 Comanche4(卡曼奇4)游戏性能
这是NovaLogic开发的飞行模拟游戏,其使用了微软的DX8作为标准的图形引擎,除了可以很好的测试显卡的性能,同时其也可以反应出系统的整体性能。在测试中,由于这个游戏对于内存宽带的要求非常之高,与内存交换数据相当繁忙(场景大)。因此,我们可以看到双通道I875P芯片组利用其高带宽终于带来了10%左右的性能提升。
小结:同样!对于那些需要频繁与内存进行数据交换的应用来说,双通道内存带来的高带宽着实可以带来约1%~15%左右的性能提升。之所以,没有达到100%的性能提升,我想这主要与应用软件有一定的关系,毕竟800MHz、双通道DD400具备的6.4G/S带宽不是随便那个软件便可以充分享用的。
对于视频制作(压缩)、3D动画渲染、文件压缩、高端游戏和商业用途来说,双通道内存架构带来的高带宽均能带来一定的帮助。因此,对于这些应用层面上的用户来说,确实有必要采用双通道内存构架来提升内存带宽。另外,如果你采用的是整合有图形核心的865G芯片组,相信你更能够在游戏当中,品尝到双通道技术所带来的畅快。
七、 总结:
笔者认为,对于专业的视频处理、3D动画处理和2D图像处理来说,可以同时考虑超线程技术和双通道技术,因为这两项技术均能带来实实在在的性能提升。而如果这台机器只是用来做一台服务器,那么我想支持多线程、多任务的超线程技术将比双通道内存控制技术更为有用。而对于主流3D游戏用户来说,双通道技术将比超线程技术更为有用,因为在游戏中加入对超线程的支持实在没有多大必要,而目前游戏对于系统内存带宽的需求却是异常迫切的,从AGP总线从AGP4X提升到AGP8X这一点,我们就可以看出今后的主流游戏是多么重视数据的传输能力,而双通道内存技术在数据传输上的先天优势必然为今后的主流游戏带来强有力的支持。
另外,从处理器的搭配和市场定位上来说,也是非常有讲究的。P4 2.4C(800MHz)处理器是800MHz前端总线的,而要让P4 2.4C的6.4G/S带宽获得满足,非双通道的DDR400内存架构非属(875P、865PE)。虽然,而同频率的P4 2.4B+845PE构架,虽然从工作频率上,做到与P4 2.4C相同,但是其却丧失了800MHz前端总线、超线程技术和双通道技术的有力支持,虽然,总的看起来,便宜了300元左右(CPU100元、主板100元、内存100元),但是对于那些支持超线程技术的服务器平台和专业的图形、图像和视频用户来说,其性能影响远远大于这个6%左右的成本差距。
而对于普通的用户来说,笔者认为选择低端的P4(1000元左右)、C4(500元左右)、CIII(300左右)以及AMD的Athlon XP(600元左右)、新毒龙(300元左右)处理器将更为合适。因为,这些CPU已经足以让那些无缘“多线程应用”和“大数据量交换”的用户,品尝到“价廉物美”的好处和满足。