超线程技术把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,让单个处理器就能使用线程级的并行计算,进而兼容多线程操作系统和软件。超线程技术充分利用空闲 CPU 资源,在相同时间内完成更多工作。
超线程(HT, Hyper-Threading)是英特尔研发的一种技术,于 2002 年发布。超线程技术原先只应用于 Xeon 处理器中,当时称为“Super-Threading”。之后陆续应用在 Pentium 4 HT 中。早期代号为 Jackson。
通过此技术,英特尔实现在一个实体 CPU 中,提供两个逻辑线程。之后的 Pentium D 纵使不支持超线程技术,但就集成了两个实体核心,所以仍会见到两个线程。超线程的未来发展,是提升处理器的逻辑线程。英特尔于 2016 年发布的 Core i7-6950X 便是将 10 核心的处理器,加上超线程技术,使之成为 20 个逻辑线程的产品。
基本简介
超线程技术把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,让单个处理器就能使用线程级的并行计算,进而兼容多线程操作系统和软件。超线程技术充分利用空闲 CPU 资源,在相同时间内完成更多工作。
虽然采用超线程技术能够同时执行两个线程,当两个线程同时需要某个资源时,其中一个线程必须让出资源暂时挂起,直到这些资源空闲以后才能继续。因此,超线程的性能并不等于两个 CPU 的性能。而且,超线程技术的 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 操作系统的时候可以很好的享受到超线程技术带来好处。