什么是超线程技术
超线程技术是一个CPU同时执行多个程序,以共享一个CPU中的资源。理论上,要像两个CPU一样同时执行两个线程,P4处理器需要添加一个逻辑CPU指针。因此,新P4HT的芯片面积比以前的P4大5%。而其他部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2缓存(二级缓存)保持不变,这些部分是共享的。
虽然超线程技术可以同时执行两个线程,但与两个真正的CPU不同,每个CPU都有自己的资源。当两个线程同时需要某个资源时,其中一个线程不得不暂时停止并放弃该资源,直到这些资源空闲后才能继续。所以超线程的性能不等于两个CPU。
超线程和性能提升
很多人认为使用超线程技术可以大大提高系统性能,但事实真的是这样吗?别忘了前面提到的超线程技术实现的必要条件,这是超线程技术发挥性能的前提。除了 *** 作系统支持,软件支持也是必须的。从这一点可以看出,就目前的软件情况来看,支持双处理器技术的软件还是少数。对于大多数软件来说,目前由于设计原理不同,并不能从超线程技术中获得直接的好处。因为超线程技术在线程级别并行处理命令,并按线程动态分配处理器等资源。这项技术的核心思想是&并行),即提高命令执行的并行性和每个时钟的效率。这就要求软件在设计上要线程化,提高并行处理的能力。目前,PC上的应用程序几乎没有为此进行优化,采用超线程技术也无法实现性能的显著提升。
超线程技术出现的必然性
有必要提高CPU性能
虽然提高CPU时钟频率和缓存容量可以提高CPU性能,但是提高CPU性能在技术上是有难度的。实际上,由于多种原因,CPU的执行单元在应用中并没有得到充分的利用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元的利用率会明显下降。另外,目前大多数执行线程缺乏ILP(指令级并行)支持。这些都造成了目前CPU的性能没有得到充分发挥。所以Intel采用另一种思路来提升CPU的性能,让CPU同时执行多个线程,可以让CPU发挥更大的效率,也就是所谓的超线程(简称)HT)技术。超线程技术是利用特殊的硬件指令将两个逻辑核模拟成两个物理芯片,使单个处理器可以使用线程级并行计算,从而兼容多线程 *** 作系统和软件,减少CPU的空闲时间,提高CPU的运行效率。
借助超线程技术,应用程序可以同时使用芯片的不同部分。虽然单线程芯片每秒可以处理数千条指令,但它在任何时候都只能处理一条指令。超线程技术可以使芯片多线程同时处理,提高芯片的性能。
超线程技术
P4超线程有两种运行模式:单任务模式和多任务模式。当程序不支持多处理时,系统将停止其中一个逻辑CPU的运行,并将资源集中在单个逻辑CPU上。让单线程程序不会因为其中一个逻辑CPU空闲而降低性能,但是因为停止的逻辑CPU还是会等待工作,占用一定的资源,所以当超线程CPU运行单任务模式程序模式时,可能达不到没有超线程功能的CPU的性能,但是性能差距不会太大。也就是说,在运行单线程应用软件时,超线程技术甚至会降低系统性能,尤其是多线程 *** 作系统运行单线程软件时。
需要注意的是,采用超线程技术的CPU需要芯片组和软件的支持,才能充分发挥该技术的优势。微软WindowsXP、微软Windows2003、Linuxkernel2.4.x及以后的 *** 作系统也支持超线程技术。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)