超线程

百科

线程是Intel 所研发的一种技术,于2002年发布。超线程的英文是HT技术,全名为Hyper-Threading,中文又名超线程。超线程技术原先只应用于Intel Xeon处理器中,当时称为Super-Threa理胞适待问雷蒸置ding。之后陆续应用在Pentium 4中,将技术主流化。

  • 中文名 超线程
  • 外文名 Super-Threading/Hyper-Threading
  • 发布时间 2002年
  • 公司 英特尔

基本简介

  通过超线程技术,英特尔成为第一家实体处理器中,提供两个逻辑线程的公司。之后的Pentium D纵使不支持超线程技术,但就集成了两个实体核心,所以仍会见到两个逻辑线程。超线程的未来发展,是提升处理器的逻辑线程,英特尔有计划将8核心的处理器,加以配合超线程技术,使之成为16个来自逻辑线程的产品。

后期内含超线程技术的P4处理器商

  英特尔表示,超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升。但实际上,在某些程序或未对多线程编译的程序而言,超线程反而会降低效能。除此之外,超线程技术亦要操作系统的配合,普通支持多处理器360百科技术的系统亦未必能充分发挥该技术。例如Windows 2000,英特尔并不鼓励使用者在此系统中利用超线程。原先不支持多核心的Wi功室班果ndows XPHome Edition却支持超线程技术。

工作原理

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

超线程芯片

 决由矿她苏量杀坚务判 采用超线程即是可在同一时间里,应用程序可以使用芯片的弦易绿这住取静不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条线程进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯盐操调月安命花见进材片性能得到提升。

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

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

运行模式

  英特尔P4 超线程有来自两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此360百科Hyper-Threading CPU运行Single Task Mode程序模式范病门历清底夜获大象时,有可能达不到不带超试历事值五条手线程功能的CPU性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降器便领读怀低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。

  需要注意的是,含有超线程技术的CPU需要软件、主板的支持,才能比较理想的发挥该项技术的优势。操作系统如:Microsoft Window切食尽s XP、Microsof轴少补况晶着这鲁t Windows 2003,Linux kernel 2.4.x以后的版本也支持超线程技术。Intel使用著吃站液字胜河800外频的CPU大多数都支持超线程。在主板纪口方面,则主要由芯片组决定是否支持超线程。

服没井京增东劳层陈运作方式

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

技术支持

技术原理

  "超线程"(Hyperthreading Techn笔降精ology)技术就是通例导海跳伟支过采用特殊的硬件指令,可以把两个逻辑内核模拟成两个物理超线程芯片,在单处理器中实现线程级的并行计算,同时在相应的软硬件的支持下大幅度的提高运行效能,从而实单处理器上模拟双处理器的效能。其标聚望通施吸笔实,从实质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分"调动"起来的技术。

超线程技术效果图

实现条件

  * CPU的支持,实现"超线程"的万织具担功能必须选购一块支持"HT"技术的处理器。Intel 支持这一技术的CPU有Core i3、Core i5、Core i7全系。在老CPU中,Pentium话足套市斯4 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全系。

  在老CPU中,Pentium4 3.06GHz 、2.40C、2.60C、2.80C 、3.0GHz、3.2GHz以及Prescott处理器,还有部分型号的Xeon支持超线程技术。

  需要主板芯片组支持

  需要正式支持超线程技术的主板芯片组支持超线程技术的使用,而早前的一些芯片组只能升级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

实际问题

  由于处理器实际上只有一个核心,能够提升的效能约为5~15%左右,且万一发生资源互抢的情形时,整体效能反而会下拉。这亦是AMD不提供虚拟双核心处理器的理由。另外,由于架构的不同,AMD的处理器对多工处理的表现会较好,所以没有迫切性令产品支持相关的技术。

  要令到计算机支持超线程技术,必须要软件和硬件的配合。处理器本身要支持超线程,芯片组亦要支持相关处理器。为此,当时的Intel推出了新的芯片组,i865PE和i875P。要充分发挥超线程的效能,使用者要使用Windows 2000之后的操作系统,而Windows XP家用版亦同样支持超线程技术。除了微软的Windows外,Linuxkernel 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核速率)

  与双核心区别

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

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

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

支持的芯片组

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

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

Intel芯片组:845

  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)-是善用线程平行性的方法,让单一核心在应用软件层能提供两个逻辑核心、而且确实可以提升一些效能。

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com