超线程是英特尔所研发的一种技术,于2002年发布。超线程的英文是HT技术,全名为Hyper-Threading,中文又名超线程。超线程技术原先只应用于Xeon处理器中,当时称为Super-Threading。早期代号为Jackson。之后陆续应用在Pentium 4中,将技术主流化。

通过此技术,英特尔实现在一个实体CPU中,提供两个逻辑线程。之后的Pentium D纵使不支持超线程技术,但就集成了两个实体核心,所以仍会见到两个线程。超线程的未来发展,是提升处理器的逻辑线程。英特尔于2016年发布的Core i7-6950X便是将10核心的处理器,加上超线程技术,使之成为20个逻辑线程的产品。

中文名

超线程

外文名

Super-Threading/Hyper-Threading

运行系统

Windows操作系统

应用平台

PC

开发者

英特尔

发行时间

2002年

使用类型

线程技术

简称

HT

学科

计算机

工作原理

超线程芯片

尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,指令级别并行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行速度。

采用超线程即是可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。

超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。

虽然采用超线程技术能同时执行两个线程,但它并不像两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。而且,超线程技术的CPU需要芯片组、操作系统和应用软件的支持,才能比较理想地发挥该项技术的优势。

运作方式

每个单位时间内,CPU只能处理一个线程,以这样的单位进行,如果想要在单位时间内处理超过一个的线程,是不可能的,除非是有两个核心处理单元,英特尔的HT技术便是以单个核心处理单元,去整合两个逻辑处理单元,也就是一个实体核心,两个逻辑核心,在单位时间内处理两个线程,模拟双核心运作。

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以后的版本。

与多核心的区别

超线程技术与多核体系结构的区别如下:①超线程技术是通过延迟隐藏的方法,提高了处理器的性能,本质上,就是多个线程共享一个处理单元。因此,采用超线程技术所获得的性能并不是真正意义上的并行。从而采用超线程技术获得的性能提升,将会随着应用程序以及硬件平台的不同而参差不齐。②多核处理器是将两个甚至更多的独立执行单元,嵌入到一个处理器内部。每个指令序列(线程),都具有一个完整的硬件执行环境,所以各线程之间就实现了真正意义上的并行。

超线程技术与多核技术相结合可以给应用程序带来更大的优化空间,进而极大地提高系统的吞吐率

技术支持

技术原理

超线程技术效果图

“超线程”(Hyperthreading Technology)技术就是通过采用特殊的硬件指令,可以把两个逻辑内核模拟成两个物理超线程芯片,在单处理器中实现线程级的并行计算,同时在相应的软硬

件的支持下大幅度的提高运行效能,从而实现在单处理器上模拟双处理器的效能。其实,从实质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。

实现条件

* CPU的支持,实现“超线程”的功能必须选购一块支持“HT”技术的处理器。Intel支持这一技术的CPU有Core i3、Core i5、Core i7全系。在老CPU中,Pentium4 3.06GHz、2.40C、2.60C、2.80C、3.0GHz、3.2GHz以及Prescott处理器,还有部分型号的Xeon支持超线程技术。

*主板芯片组和主板BIOS的支持

正式支持“HT”技术的芯片组有Intel的875P、E7205、850E、865PE/G/P、845PE/GE/GV、845G(B-stepping)、845E。其中875P、E7205、865PE/G/P、845PE/GE/GV以及最新推出的 915/925芯片组均可直接支持超线程技术的使用,而早前的845E以及850E芯片组,只要升级BIOS就可以解决支持的问题。SiS方面有SiS645DX(B版)、SiS648(B版)、SiS655、SiS658、SiS648FX。VIA方面有P4X400A、P4X600、P4X800。同时,主板的BIOS也必须支持超线程功能。

*操作系统和应用软件的支持

目前在微软的操作系统中只有Windows XP及以上的版本才能正式支持“超线程”技术,Windows 98/Me/2000均不支持此项功能。

一般说来,最大发挥HT技术的运行效能还需要真正支持超线程技术的软件。

使用前提

CPU支持

目前正式支持超线程技术的CPU有Core i3、Core i5、Core i7全系。

主板芯片组支持

需要正式支持超线程技术的主板芯片组支持超线程技术的使用,而早前的一些芯片组只能升级BIOS就可以解决支持的问题

主板BIOS支持

主板厂商必须在BIOS中支持超线程才行。

操作系统支持

目前微软的操作系统中只有Windows XP专业版及后续版本支持此功能,而在Windows 2000上实现对超线程支持的计划已经取消了。

应用软件支持

一般来说,只要能够支持多处理器的软件均可支持超线程技术,但是实际上这样的软件并不多,而且偏向于图形、视频处理等专业软件方面,游戏软件极少有支持的。

支持超线程的软件:

Games, Game Engines, And Middleware

Activision Ghostbusters

Capcom Lost Planet Colonies

Capcom Resident Evil 5

CJ Internet Prius Online

Codemasters GRID (withpatch)

Codemasters Operation Flashpoint: Dragon Rising

Crytek Crysis Warhead (Windows XP only)

EA Need for Speed: SHIFT

Havok SDKv5.5 (Tool / Middleware)

Illuminate Labs Beast 5 (Tool/Middleware)

Geomerics Enlighten

Kingsoft Mission Against Terror

Kingsoft JX Online III

NC Soft Aion

NC Soft Lineage II

Neowiz Alliance of Valiant Arms

Sega Football Manager 2009

Sega Football Manager 2010

Sega Empire: Total War (with patch)

Simul Software Ltd Simul Weather (Middleware)

THQ Relic Company of Heroes

Trinigy Vision Engine v7 (Middleware)

Ubisoft Assassin’s Creed

Ubisoft Far Cry 2 (with patch)

Ubisoft HAWX

Ubisoft World in Conflict: Soviet Assault

Winking Sakura

Media And Productivity Software

ABBYY Fine Reader

Adobe After Effects

Adobe Photoshop*

Adobe Photoshop Lightroom

Adobe PremierePro

Arcsoft Total Media Showbiz DVD

AutoDesk3ds Max*

Autodesk Maya

Avid Pinnacle Studio

BibbleLabs Bibble

Blender

Cakewalk SonarProducer

Cineform Prospect HD

Corel DVD Factory in Digital Studio

Corel Video Studio

Cyberlink MediaShow & MediaShow Espresso

Cyberlink Power Director

Cyberlink Power Producer

HandBrake*

Ichikawa Soft Laboratory SILKYPIX

KolorAutopanoPro & Giga

Magix Video Deluxe / MovieEditPro

MainConcept Reference Encoder and Decoder*

Maxon Cinema 4D & Cinebench*

Microsoft Excel

Microsoft Expressions Encoder

MicrosoftWindows LiveMovie Maker

Movavi Video Converter

NeroMultimedia Suite

Newtek Lightwave

Nik Software Silver Efex Pro

On2 Technology True Motion VP8

Pegasys TMPGEnc Xpress

Persistence of Vision Raytracer

Photodex Proshow Gold

RARLABWinRAR*

SonicRoxio Creator

Sonic Solutions Cineplayer

Sony ACID Music Studio

Sony Sound Forge Audio Studio

Sony Sound Forge Pro

Sony Vegas Pro

Sony Acid Pro

Sorenson Media Squeeze

Steinberg Cubase

Steinberg Nuendo

VirtualDubw/Divx

XtraSens Retina

3ivx MPEG-4

技术优点

1.超线程技术的优势在于同时进行多任务批处理工作,尽管现在支持超线程技术的软件不多,也只有少数的软件可以享受到由超线程技术带来的性能提升,但是这符合今后软件等技术的发展方向,今后更多的软件将受益于超线程技术。

2.从目前来看,部分客户发可以发觉在运行某些特定软件时,超线程技术让系统有了30%的性能提升,为超线程技术优化的软件都能够享受到超线程技术的好处。

3.客户同时运行两个以上的软件时候,将可以明显地感受到这两个软件的性能都得到提升相比关闭超线程技术的情况下都有很大的提升,超线程技术的效率优势只有在多任务操作时候才能得到发挥。

4.目前 支持超线程技术的WindowsXP操作系统,其中的很多系统软件都已经针对超线程技术优化过,因此在使用Windows 操作系统的时候可以很好地享受到超线程技术带来好处。

技术缺点

1.因为超线程技术是对多任务处理有优势,因此当运行单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题。

2.在打开超线程支持后,如果处理器以双处理器模式工作,那么处理器内部缓存就会被划分成几个区域,互相共享内部资源。对于不支持多处理器工作的软件在双处理器上运行时出错的概率要比单处理器上高很多。

3.目前因为很多工作站软件为Windows 2000操作系统进行过优化,但是采用Windows 2000这样的操作系统的工作站无法完全利用超线程技术的优势,也带来不了高的工作效率

4.超线程技术只能提高40%左右的性能(测评时可以看成50%,即Core i3 的执行效率为3核速率,Core i5 4核 HT与Core i7 的执行效率为6核速率)

与双核心区别

超线程(Hyper Threading)技术,是近几年在程序处理上比较经典的解决方案,具有超线程技术的CPU,搭配支持超线程技术的Windows 系统(Windows XP/2003),可以减少系统资源的浪费,从而提高了处理器的工作效率。

实际上,超线程技术是把一个处理器模拟为两个处理器使用,这样能有效地利用和分配资源,达到提高整体性能的目的,这就是为什么超线程CPU在系统中也会被识别成两个CPU的原因。

双核心CPU则不同,双核心处理器的概念就是将两颗处理器的芯片,通过全新的封装技术,整合成为一颗处理器,在这一颗处理器中拥有两颗核心,真正地实现了多处理器协同工作。双核心处理器核心内的资源都是独立的,而且也可以交换使用资源,核心与核心之间沟通的延迟远比多个单核心处理器同时运行好。

支持的芯片组

目前支持超线程技术的芯片组包括如下:

Intel芯片组:845

Intel芯片组:845、845D和845GL是不支持支持超线程技术的;845E芯片组自身是支持超线程技术的,许多主板都需要升级BIOS才能支持;在845E之后推出的所有芯片组都支持支持超线程技术,例如845PE/GE/GV以及所有的865/875系列以及915/925系列芯片组都支持超

线程技术。

VIA芯片组:P4X266、P4X266A、P4M266、P4X266E和P4X333是不支持支持超线程技术的,在P4X400之后推出的所有芯片组都支持支持超线程技术,例如P4X400、P4X533、PT800、PT880、PM800和PM880都支持超线程技术。

SIS芯片组:SIS645、SIS645DX、SIS650、SIS651和SIS648是不支持支持超线程技术的;SIS655、SIS648FX、SIS661FX、SIS655FX、SIS655TX、SIS649和SIS656则都支持超线程技术。

ULI芯片组:M1683和M1685都支持超线程技术。

ATI芯片组:ATI在Intel平台所推出的所有芯片组都支持超线程技术,包括Radeon 9100 IGP、Radeon 9100 Pro IGP和RX330。

nVidia芯片组:即将推出的nForce5系列芯片组都支持超线程

Pentium 4CPU中,Northwood及其之后推出的版本内建超线程技术;但在早期的Northwood核心中,一些型号的HT技术被关闭,纵使有软件侦测到超线程技术的存在,使用者并不可以启用。;而双核心的Pentium D中也只有EE版提供HT技术。(详见:Pentium D 处理器列表、Intel Pentium 4处理器列表)

英特尔的Core 2 Duo处理器则没有HT技术。但处理器已集成了两个实体核心,所以仍然支持两个线程。

而英特尔在2008年推出的Intel Core i7及Intel Atom处理器又支持类似HT的技术,在Nehalem中,Hyper-Threading大举卷土重来。在 IntelNetBurst架构的 Northwood 版本中开始导入的 Hyper-Threading-在 Intel 世界之外称为 Simultaneous Multi-Threading (SMT)-是善用线程平行性的方法,让单一核心在应用软件层能提供两个逻辑核心、而且确实可以提升一些效能。