最近笔者在各大市场中发现一个有意思的现象,凡是来电脑城攒机的用户不管是初学者、游戏玩家还是高手们,都不约而同的选择了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