超线程_百度百科

Posted on 2011-12-31 01:45  xublogs  阅读(1087)  评论(0编辑  收藏  举报

超线程

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

  通过超线程技术,英特尔成为第一间公司实现在一个实体处理器中,提供两个逻辑线程。之后的Pentium D纵使不支持超线程技术,但就集成了两个实体核心,所以仍会见到两个逻辑线程。超线程的未来发展,是提升处理器的逻辑线程,英特尔有计划将8核心的处理器,加以配合超线程技术,使之成为16个逻辑线程的产品。   英特尔表示,超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升。但实际上,在某些程式或未对多线程编译的程式而言,超线程反而会降低效能。除此之外,超线程技术亦要操作系统的配合,普通支持多处理器技术的系统亦未必能充分发挥该技术。例如Windows 2000,英特尔并不鼓励使用者在此系统中利用超线程。原先不支持多核心的Windows XP Home Edition却支持超线程技术。  尽管提高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的性能。  英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。   需要注意的是,含有超线程技术的CPU需要软件、主板的支持,才能比较理想的发挥该项技术的优势。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x以后的版本也支持超线程技术。目前Intel使用800外频的CPU大多数都支持超线程。在主板方面,则主要由芯片组决定是否支持超线程。  每个单位时间内,CPU只能处理一个线程,以这样的单位进行,如果想要在单位时间内处理超过一个的线程,是不可能的,除非是有两个核心处理单元,英特尔的HT技术便是以单个核心处理单元,去整合两个逻辑处理单元,也就是一个实体核心,两个逻辑核心,在单位时间内处理两个线程,模拟双核心运作。  1.“超线程”技术原理揭示   “超线程”(Hyperthreading Technology)技术就是通过采用特殊的硬件指令,可以把两个逻辑内核模拟成两个物理超线程芯片,在单处理器中实现线程级的并行计算,同时在相应的软硬件的支持下大幅度的提高运行效能,从而实现在单处理器上模拟双处理器的效能。其实,从实质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。   2.“超线程”的实现条件   * CPU的支持,实现“超线程”的功能必须选购一块支持“HT”技术的处理器。Intel 支持这一技术的CPU有Core i全系、Pentium4 3.06、2.4C、2.6C、2.8C、3.0GHz、3.2GHz处理器以及最新上市的Prescott核心的处理器。   * 主板芯片组和主板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技术的运行效能还需要真正支持超线程技术的软件,现实中这样的软件是少之又少的。除了MS Office系列软件和一些视频、图形如Photoshop等专业软件外几乎都不支持HT技术。很多游戏也不支持HT技术。  (1)需要CPU支持   目前正式支持超线程技术的CPU有Core i3、Core i5、Core i7全系。   在老CPU中,Pentium4 3.06GHz 、2.40C、2.60C、2.80C 、3.0GHz、3.2GHz以及Prescott处理器,还有部分型号的Xeon支持超线程技术。   (2)需要主板芯片组支持   需要正式支持超线程技术的主板芯片组支持超线程技术的使用,而早前的一些芯片组只能升级BIOS就可以解决支持的问题   (3)需要主板BIOS支持   主板厂商必须在BIOS中支持超线程才行。   (4)需要操作系统支持   目前微软的操作系统中只有Windows XP专业版及后续版本支持此功能,而在Windows 2000上实现对超线程支持的计划已经取消了。   (5)需要应用软件支持   一般来说,只要能够支持多处理器的软件均可支持超线程技术,但是实际上这样的软件并不多,而且偏向于图形、视频处理等专业软件方面,游戏软件极少有支持的。应用软件有Office 2000、Office XP等。另外Linux kernel 2.4.x以后的版本也支持超线程技术。  由于处理器实际上只有一个核心,能够提升的效能约为5~15%左右,且万一发生资源互抢的情形时,整体效能反而会下拉。这亦是AMD不提供虚拟双核心处理器的理由。另外,由于架构的不同,AMD的处理器对多工处理的表现会较好,所以没有迫切性令产品支持相关的技术。   要令到计算机支持超线程技术,必须要软件和硬件的配合。处理器本身要支持超线程,芯片组亦要支持相关处理器。为此,当时的Intel推出了新的芯片组,i865PE和i875P。要充分发挥超线程的效能,使用者要使用Windows 2000之后的操作系统,而Windows XP家用版亦同样支持超线程技术。除了微软的Windows外,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核速率)   与双核心区别   超线程(Hyper Threading)技术,是近几年在程序处理上比较经典的解决方案,具有超线程技术的CPU,搭配支持超线程技术的Windows 系统(Windows XP/2003),可以减少系统资源的浪费,从而提高了处理器的工作效率。   实际上,超线程技术是把一个处理器模拟为两个处理器使用,这样能有效地利用和分配资源,达到提高整体性能的目的,这就是为什么超线程CPU在系统中也会被识别成两个CPU的原因。   双核心CPU则不同,双核心处理器的概念就是将两颗处理器的芯片,通过全新的封装技术,整合成为一颗处理器,在这一颗处理器中拥有两颗核心,真正地实现了多处理器协同工作。双核心处理器核心内的资源都是独立的,而且也可以交换使用资源,核心与核心之间沟通的延迟远比多个单核心处理器同时运行好。  目前支持超线程技术的芯片组包括如下:   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 4 CPU中,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 大举卷土重来。在 Intel NetBurst 架构的 Northwood 版本中开始导入的 Hyper-Threading-在 Intel 世界之外称为 Simultaneous Multi-Threading (SMT)-是善用线程平行性的方法,让单一核心在应用软件层能提供两个逻辑核心、而且确实可以提升一些效能。

百度百科中的词条内容仅供参考,如果您需要解决具体问题(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

如想投诉,请到百度百科投诉中心;如想提出意见、建议,请到百度百科吧。

词条统计

浏览次数:约 105279次
编辑次数:16次 历史版本
最近更新:2011-12-13
创建者:yefeizi




引文来源  超线程_百度百科