超线程(HT, Hyper-Threading)是
英特尔研发的一种技术,于2002年发布。超线程技术原先只应用于
Xeon处理器中,当时称为“Super-Threading”。之后陆续应用在
Pentium 4 HT中。早期代号为Jackson。
基本简介
英特尔® 超线程技术是一项硬件创新,允许在每个内核上运行多个线程。更多的线程意味着可以并行完成更多的工作。
超线程技术把
多线程处理器内部的两个逻辑内核模拟成两个物理芯片,让单个处理器就能使用线程级的
并行计算,进而兼容多线程操作系统和软件。超线程技术充分利用空闲
CPU资源,在相同时间内完成更多工作。
虽然采用超线程技术能够同时执行两个线程,当两个线程同时需要某个资源时,其中一个线程必须让出资源暂时挂起,直到这些资源空闲以后才能继续。因此,超线程的性能并不等于两个CPU的性能。而且,超线程技术的CPU需要
芯片组、
操作系统和
应用软件的支持,才能比较理想地发挥该项技术的优势。
运作方式
超线程如何工作?当英特尔® 超线程技术处于激活状态时,CPU 会在每个物理内核上公开两个执行上下文。这意味着,一个物理内核现在就像两个“逻辑内核”一样,可以处理不同的软件线程。
较之传统的单线程内核,两个逻辑内核可以更有效地完成任务。英特尔® 超线程 (HT) 技术充分利用了内核以前在等待其他任务完成时的空闲时间,提高了 CPU 吞吐量。
每个单位时间内,一个单运行管线的
CPU只能处理一个
线程(操作系统:thread),以这样的单位进行,如果想要在一单位时间内处理超过一个线程是不可能的,除非是有两个CPU的实体单元。
双核心技术是将两个一样的CPU放置于一个封装内(或直接将两个CPU做成一个芯片),而
英特尔的
多线程技术是在CPU内部仅复制必要的资源、让两个
线程可同时运行;在一单位时间内处理两个线程的工作,模拟实体双核心、双线程运作。
Intel自
Pentium开始引入
超标量、乱序运行、大量的
寄存器及
寄存器重命名、多指令
解码器、预测运行等特性;这些特性的原理是让CPU拥有大量资源,并可以预先运行及平行运行指令,以增加指令
运行效率,可是在现实中这些资源经常闲置;为了有效利用这些资源,就干脆再增加一些资源来运行第二个线程,让这些闲置资源可执行另一个线程,而且CPU只要增加少数资源就可以模拟成两个
线程运作。
P4处理器需多加一个Logical CPU Pointer(逻辑
处理单元)。因此P4 HT的die的
面积比以往的P4增大了5%。而其余部分如
ALU(整数
运算单元)、
FPU(
浮点运算单元)、L2 Cache(
二级缓存)并未增加,且是共享的。
超线程的需求条件
并不是所有的处理器都支持超线程,支持超线程的台式机处理器有以下几种:
1、Intel Pentium 4 B 3.06GHz
2、Intel Pentium 4 C 2.4/2.6/2.8/3.0/3.2/3.4
3、Intel Pentium 4 E 2.8(800FSB)/3.0/3.2/3.4/3.6
4、Intel Pentium 4 XE 3.4/3.46/3.73
5、Intel Pentium 4 520/530/53l/540/541/550/551/560/561/570/57l/630/640/650/660
6、Intel Pentium XE 840(双核加NT)
超线程除了需要CPU的支持外还需要以下几个方面的支持:
1、需要
主板BIOS的支持。主板厂商必须在BIOS中支持超线程才可以。个别的主板需要升级BIOS才能稳定支持。
2、需要操作系统支持。
Windows XP即支持此功能。
3、需要应用软件的支持。通常,只要支持
多处理器的软件就能
支持超线程技术,但是目前支持多处理器的软件并不多,当前支持超线程技术的应用软件主要有
Office 2000、
Office XP及Linux kernel 2.4.x以后的版本。
优缺点
优点
1.超线程技术的优势在于同时进行
多任务批处理工作,尽管
支持超线程技术的软件不多,也只有少数的软件可以享受到由超线程技术带来的性能提升,但是这符合今后软件等技术的发展方向,今后更多的软件将受益于超线程技术。
2.从性能来看,部分客户可以发觉在运行某些特定软件时,超线程技术让系统有了30%的性能提升,为超线程技术优化的软件都能够享受到超线程技术的好处。
3.客户同时运行两个以上的软件时候,将可以明显的感受到这两个软件的性能都得到提升相比关闭超线程技术的情况下都有很大的提升,超线程技术的效率优势只有在多任务操作时候才能得到发挥。
4.
支持超线程技术的
Windows XP操作系统,其中的很多系统软件都已经针对超线程技术优化过,因此在使用
Windows 操作系统的时候可以很好的享受到超线程技术带来好处。
缺点
1.因为超线程技术是对
多任务处理有优势,因此当运行
单线程运用软件时,超线程技术将会降低
系统性能,尤其在
多线程操作系统运行
单线程软件时将容易出现此问题。
2.在打开超线程支持后,如果处理器以双处理器模式工作,那么处理器内部缓存就会被划分成几区域,互相共享
内部资源。对于不支持
多处理器工作的软件在双处理器上
运行时出错的概率要比
单处理器上高很多。
3.因为很多工作站软件为
Windows 2000操作系统进行过优化,但是采用Windows 2000这样的操作系统的工作站无法完全利用超线程技术的优势,也带来不了高的
工作效率4.超线程技术只能提高40%左右的性能(测评时可以看成50%,即
Core i3 的执行效率为3核速率,Core i5 4核
HT与
Core i7 的执行效率为6核速率)
与多核心区别
超线程技术与
多核体系结构的区别如下:①超线程技术是通过
延迟隐藏的方法,提高了处理器的性能,本质上,就是多个线程共享一个
处理单元。因此,采用超线程技术所获得的性能并不是真正意义上的并行。从而采用超线程技术获得的性能提升,将会随着
应用程序以及硬件平台的不同而参差不齐。②
多核处理器是将两个甚至更多的独立
执行单元,嵌入到一个处理器内部。每个指令序列(线程),都具有一个完整的硬件执行环境,所以各线程之间就实现了真正意义上的并行。
超线程技术与
多核技术相结合可以给应用程序带来更大的优化空间,进而极大地提高系统的
吞吐率。