谢腾飞小视频:Inter CPU常识~~

来源:百度文库 编辑:高考问答 时间:2024/04/25 02:16:28
P4的高端处理器都有支持超线程技术。
什么叫超线程技术。超线程技术有什么好处呢?

超线程技术,最早于2002年初出现Intel公司为服务器领域提供的Xeon处理器中。Intel在频率为3.06或更高的奔四处理器中应用了该技术。评测显示该技术能在费用增加少于5%的基础上获得超过25%的性能改进。据称该技术指明了未来处理器微体系技 一般来说,只要能够支持多处理器的软件均可支持超线程技术,但是实际上这样的软件并不多,而且偏向于图形、视频处理等专业软件方面,游戏软件极少有支持的。应用软件有Office 2000、Office XP等。另外Linux kernel 2.4.x以后的版本也支持超线程技术术的发展方向。

超线程技术介绍

超线程技术,最早于2002年初出现Intel公司为服务器领域提供的Xeon处理器中。Intel在频率为3.06或更高的奔四处理器中应用了该技术。评测显示该技术能在费用增加少于5%的基础上获得超过25%的性能改进。据称该技术指明了未来处理器微体系技术的发展方向。

超线程技术的原理是,通过在硬件上的微小改变,使得从软件和操作系统来看,单处理器(cpu)表现为两个或更多的逻辑CPU,因为逻辑CPU间采用共享了Cache、总线等,从而能保持较低的成本增加。增加的硬件投入包括独立的一套指令指针,寄存器别名表,返回栈指针、高级编程中断控制器等,这些增加的硬件使得两个逻辑CPU间能以最少的冲突和耦合的方式工作。

超线程技术的重点在于对共享资源的利用。共享资源包括Cache,总线等。可选的共享技术包括静分区、门限共享和全共享。他们在资源分配的公平程度、灵活性和硬件实现的复杂性上有各自的特点。

超线程技术以两种方式改进系统的性能。一种方式,它能加速原本是多线程的应用程序的速度。这种情况,每个逻辑CPU运行同一应用的不同线程。另种方式,它能增加包含多个应用的多任务系统的工作量。这种情况,每个逻辑CPU可能运行不同应用的线程。

所谓超线程技术就是利用特殊的硬件指令,把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,从而使单个处理器就能“享用”线程级的并行计算的处理器技术。多线程技术可以在支持多线程的操作系统和软件上,有效的增强处理器在多任务、多线程处理上的处理能力。

超线程技术可以使操作系统或者应用软件的多个线程,同时运行于一个超线程处理器上,其内部的两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。这样做可以使得处理器的处理能力提高30%,因为在同一时间里,应用程序可以充分使用芯片的各个运算单元。

对于单线程芯片来说,虽然也可以每秒钟处理成千上万条指令,但是在某一时刻,其只能够对一条指令(单个线程)进行处理,结果必然使处理器内部的其它处理单元闲置。而“超线程”技术则可以使处理器在某一时刻,同步并行处理更多指令和数据(多个线程)。可以这样说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。

超线程是如何工作的

在处理多个线程的过程中,多线程处理器内部的每个逻辑处理器均可以单独对中断做出响应,当第一个逻辑处理器跟踪一个软件线程时,第二个逻辑处理器也开始对另外一个软件线程进行跟踪和处理了。

另外,为了避免CPU处理资源冲突,负责处理第二个线程的那个逻辑处理器,其使用的是仅是运行第一个线程时被暂时闲置的处理单元。例如:当一个逻辑处理器在执行浮点运算(使用处理器的浮点运算单元)时,另一个逻辑处理器可以执行加法运算(使用处理器的整数运算单元)。这样做,无疑大大提高了处理器内部处理单元的利用率和相应的数据、指令处吞吐能力。

实现超线程的五大前提条件

(1)需要CPU支持

目前正式支持超线程技术的CPU有Pentium4 3.06GHz 、2.40C、2.60C、2.80C 、3.0GHz、3.2GHz以及Prescott处理器,还有部分型号的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以后的版本也支持超线程技术。

超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。因此支持Intel超线程技术的cpu,打开超线程设置,允许超线程运行后,在操作系统中看到的cpu数量是实际物理cpu数量的两倍,就是1个cpu可以看到两个,两个可以看到四个。

有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。

操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x以后的版本也支持超线程技术。

虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每各CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。

如果有软件不支持超线程运行,那么打开超线程后运行可能会导致某些问题。速度也不见得能提高。