超线程技术

转载 2007年09月12日 10:06:00
CPU生产商为了提高CPU的性能,通常做法是提高CPU的时钟频率和增加缓存容量。不过目前CPU的频率越来越快,如果再通过提升CPU频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高的制约。

  尽管提高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芯片组:
  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是不支持支持超线程技术的;后 期的SIS648、SIS655、SIS648FX、SIS661FX、SIS655FX、SIS655TX、SIS649和SIS656则都支持超线程 技术。


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


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


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

 

OpenMP: 超线程Hyper-Threading和OpenMP

现在的单处理器系统使用指令级的并行机制(ILP)在执行流水线的不同硬件功能中同时执行多条指令。现在的共享内存多处理器系统使用ILP机制,但是还可以利用线程级的并行机制(TLP)。TLP不仅可以允许并行...
  • Augusdi
  • Augusdi
  • 2013年04月15日 22:11
  • 1539

超线程技术与双核心技术的区别(经典)

可以简单地把双核心技术理解为两个“物理”处理器,是一种“硬”的方式;而超线程技术只是两个“逻辑”处理器,是一种“软”的方式。从原理上来说,超线程技术属于Intel版本的多线程技术。这种技术可以让单CP...
  • zhangxinrun
  • zhangxinrun
  • 2011年10月30日 20:50
  • 3092

双核技术

双核技术1.     什么是双核技术       核心又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处...
  • funfar
  • funfar
  • 2007年08月02日 16:58
  • 1641

Intel系统编程指南第八章——8.7 Intel超线程技术架构

Intel系统编程指南第八章——8.7 Intel超线程技术架构
  • zenny_chen
  • zenny_chen
  • 2010年12月14日 13:47
  • 2335

CPU超线程技术

超线程技术   CPU 生产商为了提高 CPU 的性能,通常做法是提高 CPU 的时钟频率和增加缓存容量。不过目前 CPU 的频率越来越快,如果再通过提升 CPU 频率和增加缓存的方法来提高性能...
  • qianxueguang
  • qianxueguang
  • 2012年08月12日 07:17
  • 159

超线程技术解述

CPU生产商为了提高CPU的性能,通常做法是提高CPU的时钟频率和增加缓存容量。不过目前CPU的频率越来越快,如果再通过提升CPU频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高...
  • eudemon_cn
  • eudemon_cn
  • 2008年08月06日 21:24
  • 463

Intel 超线程技术(Hyper-Threading Technology)

我们经常会提到两种“线程”(thread)。 一种线程存在于操作系统(OS)中。对OS而言,进程是资源分配的基本单位,每个程序在一个进程中分配相应的内存等系统资源。而每个进程可以包含多个“线程”。这些...
  • JackyTintin
  • JackyTintin
  • 2012年08月01日 02:08
  • 2539

超线程技术与双通道技术

对于超线程技术和双通道内存控制技术可以说是两种不同的技术。当然,这两种技术在实际中的应用,均能从不同的应用层面找到自己的位置和价值。为了让大家彻底了解两种技术,笔者认为,唯有对这两种技术进行相应的剖析...
  • rollor_phoe
  • rollor_phoe
  • 2007年03月12日 20:56
  • 509

对超线程和双通道技术的正确认识

对于超线程技术和双通道内存控制技术可以说是两种不同的技术。当然,这两种技术在实际中的应用,均能从不同的应用层面找到自己的位置和价值。为了让大家彻底了解两种技术,笔者认为,唯有对这两种技术进行相应的剖析...
  • kencharles
  • kencharles
  • 2007年04月22日 18:49
  • 569

知乎上看到的关于异步双核的解释

http://www.zhihu.com/question/20401636 很多读者对移动CPU的异步多核的概念不是很理解,它作为高通骁龙系列的一大特色,它和同步多核处理器之间又有什么区别...
  • haichunzhao
  • haichunzhao
  • 2014年04月24日 10:20
  • 1023
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:超线程技术
举报原因:
原因补充:

(最多只允许输入30个字)