CPU超线程技术

来源:互联网 发布:淘宝店怎么改店名 编辑:程序博客网 时间:2024/04/26 08:15
超线程技术

  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 以后的版本,也支持超线程技术

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

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

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

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

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

http://zyj88.5d6d.net


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

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