技术专题

全面解析超线程技术

作者:指环

     前言:

在今年的IDF2002上,Intel正式向外界发布了,“Hyper-Threading Technology(超线程技术)”这项划时代的技术!并且将他率先在XERON处理器上得到应用。由于使用了该技术,Intel将是世界上首枚集成了双逻辑处理器单元的物理处理器(其实就是在一个处理器上整合了两个逻辑处理器单元)的提供者,据说此项技术能够提高40%的处理器性能,类似的技术似乎也将出现在AMDK8-Hammer处理器上。


从上面Intel最新的处理器蓝图上可以看出,在桌面处理器上,Hyper-Threading技术将首次应用在主频为3.06GHz的Pentium4处理器上。随着这项本来只是应用在服务器处理器上的先进技术在桌面处理器上即将得到应用,Hyper-Threading技术再次被越来越多的人们所关注。一时间Hyper-Threading技术成了媒体上镜率最高的一个名词!现在也许有人要问了,Hyper-Threading到底是个什么样的技术能引起那么多的人注意?他到底能给桌面型处理器带来多大的改善?OK!为了解开这些问题,我们就一起走进超线程的世界,看看他到底有什么与众不同!

Hyper-Threading为何物?:

当今的处理器发展普遍向着提高处理器指令平铺速率的方向迈进,但由于所使用的处理器资源会有冲突,因此性能提升的效果并不理想。而通过Hyper-Threading技术,通过在一枚处理器上整合两个逻辑处理器(注:是处理器而不是运算单元)单元,使得具有这种技术的新型CPU具有能同时执行多个线程的能力,而这是现有其它微处理器都不能做到的。

简单的说,Hyper Threading是一种同步多执行绪(SMT,simultaneous Multi-threading)技术,它的原理很简单,就是把一颗CPU当成两颗来用,将一颗具Hyper-Threading功能的“实体”处理器变成两个“逻辑”处理器而逻辑处理器对于操作系统来说跟实体处理器并没什么两样,因此操作系统会把工作线程分派给这“两颗”处理器去执行,让多种应用程序或单一应用程序的多个执行绪(thread),能够同时在同一颗处理器上执行;不过两个逻辑处理器是共享这颗CPU的所有执行资源。


通过整合这一技术,具有Hyper-Threading技术的CPU能在同一物理处理器资源下同时执行两个程序,或者是一个程序的两个线程,从而使物理处理器资源利用率至少提升40%。Intel将在未来使用NetBurtst架构的全线处理器中引入这一技术!

Hyper-Threading技术将如何工作?:

Hyper-Threading做法是复制一颗处理器的架构指挥中心(architectural state)变成两个,使得Windows操作系统认为是在与两颗处理器沟通,但这两个架构指挥中心共享该处理器的工作资源(execution resources)。架构指挥中心追踪每个程序或执行绪的执行状况;工作资源指的则是“处理器用来进行加、乘、加载等工作的单元(execution unit)”。如此一来,操作系统把工作线程安排好以后,就分派给这两个逻辑上的处理器执行,而这颗CPU的每个执行单元等于在同样的时间内要服务两个“指令处理中心”,当然它的效率就高多了,操作系统就把一颗实体的处理器认定为两个逻辑处理器作工作指派,当然整体工作效能就比没有具备Hyper-Threading 的处理器高出许多,性价比自然高出许多。


各位看上图,左边的组态代表具有两个分离的实体处理器的传统多重处理器系统。每个处理器都有一组属于自己的处理器执行资源以及结构状态。右边的组态表示使用Intel Xeon 处理器家族的多重处理器系统,每个服务器都具有超线程(Hyper-Threading)技术。

如图所示,各处理器的结构状态将被复制,但每个结构状态仍拥有一组执行资源。在排定执行绪处理顺序时,操作系统会将两个不同的结构状态视为两个分离的“逻辑”处理器。

具有多重处理器功能的软件应用程序不需要经过修改,就可以使用两倍的逻辑处理器。每个逻辑处理器都可独立响应中断。第一个逻辑处理器可追踪一个软件执行绪、而同时第二个处理器也可追踪另一个软件执行绪。由于两个执行绪共享同一组执行资源,因此若一个执行绪正在执行中,第二个执行绪将会暂时闲置。这种方式的结果是每个实体处理器中的执行资源使用率将会提升!

实现超线程需要那些必要条件?:

除了硬件支持之外,我们必须注意到,超线程技术的实现还需要软件的支持才能够发挥出应有的威力。首先是操作系统的支持,我们必须使用支持双处理器的操作系统,如Win2000等才能完全发挥出超线程技术的性能。至于软件方面,目前很多专业的应用程序对于双处理器都提供了支持,如著名的图形处理软件3Dmax、Maya等。

现在也许有人要有疑问了,,既然超线程技术以前专门针对服务器处理器,那么现有的众多软件,能否完全兼容支持超线程技术的处理器,是否还需要什么修改才能运行呢?其实这个我们大可不必担心,现有的IA32软件不需进行任何的修改,就可以在支持超线程的P4处理器上很好的运行了。

超线程等于效能提升?:

上面我们已经对超线程技术做了一个大概的了解,看到这里一般很多人都会认为,采用超线程技术,就能使得系统效能大幅提升,但是事实真是如此么?不要忘了我们前面说到的超线程技术实现的必要条件,这可是超线程技术发挥应有效能的前提条件。除了操作系统支持之外,还必须要软件的支持。从这点我们就可以看出,就目前的软件现状来说,支持双处理器技术的软件毕竟还在少数。对于大多数软件来说,目前由于设计的原理不同,还并不能从超线程技术上得到直接的好处。因为超线程技术是在线程级别上并行处理命令,按线程动态分配处理器等资源。该技术的核心理念是“并行度(Parallelism)”,也就是提高命令执行的并行度、提高每个时钟的效率。这就需要软件在设计上线程化,提高并行处理的能力。而目前PC上的应用程序几乎没有为此作出相应的优化,采用超线程技术并没不能获得效能的大幅提升。

上面说的只是目前软件支持的现状,操作系统在这个方面则没有太大的问题,毕竟Windows的某些版本、Linux都是支持多处理器的操作系统。并且随着Intel支持超线程技术的处理器面世之后,凭借Intel处理器的号召力,必然会引起目前应用程序设计上的改变,必然会有更多的支持并行线程处理的软件面世,届时,当然是支持超线程处理器大显身手的时候了。那时候,普通用户才能够从超线程技术中得到最直接的好处。

但是我们还是需要看到,随着目前操作系统对于双处理器技术的广泛支持,例如Windows2000、Windows XP等操作系统都支持双处理器,在这些操作系统上使用支持超线程技术的处理器,对于系统的整体性能还是有一定的提高的!

谁是超线程走向桌面处理器的最初受益者?:

从目前的现状看来,超线程技术在桌面处理器上得到应用,使普通用户得到直接好处的时机还不够成熟,但是是否超线程技术在桌面处理领域就没有用武之地呢?非也,Intel在推出这款处理器本来就是面向高端桌面处理领域,相当大一部分的专业用户将从超线程技术中得到最为直接的好处。

以往,要想组建一套双处理系统代价相当昂贵,除了两颗处理器的价格本来不菲之外,双处理器支持的平台也价格昂贵,用户需要付出比单处理器系统更多的代价。特别是桌面处理器进入P4时代之后,Intel并未在桌面P4处理器上提供双处理器的支持,用户除了选择早期的P3产品之外,就只能选择价格昂贵的P4 xeon处理器了,对于高端服务器用户来说,尚且可以接受,但是对于大多数对性能要求比较苛刻的专业设计用户来说,往往需要使用双处理器系统,但是至强处理器并不是他们能够承受的,这不能不说是一个遗憾。但是随着支持超线程技术的桌面处理器出现,这种状况将会得到很大的改观,用户只需要购买一颗支持超线程技术的处理器,配合相应的软件支持,就能够组建一套“模拟”的双处理器系统了,尽管购买这颗超线程处理器的支出也比较昂贵,但是对于昂贵的XEON处理器来说,单就是处理器上的花费就显得便宜了许多,并且在主板的支出上也大大节约了用户的开支。

此外,超线程技术在走进桌面处理器之后,对于中低端服务器用户来说也是一个不小的福音,毕竟对于这部分用户来说,对于服务器的处理器性能有一定要求,但是这部分用户对于价格又相对敏感,也无法承受至强处理器昂贵的价格,支持超线程的桌面处理器将给他们带来更强大的处理器性能,并且在组建系统的支出上,并不会增加太多。

除此之外,普通用户要想享受超线程的好处,只有等待Intel这款支持超线程的3.06GHz处理器价格逐渐下降到普通用户可以接受的范围内,不过届时支持并行线程设计的软件应该已经大量上市,超线程技术将给更多的用户带来切实的好处!

后记:

现在Intel已经发布了支持Hyper-Threading技术的首款处理器3.06GHz,在此之前,Intel已经为桌面处理器应用超线程技术做好了准备,支持超线程技术的芯片组i845GE/PE已经发布,并且得到了主板厂商的极大关注与大力支持,市面上基于i845GE/PE的主板也逐渐上市,凭借对未来处理器的升级性能逐渐取代845E/G成为P4平台的主流。并且原有的i850E芯片组也支持超线程技术,所以在平台的支持上,Intel已经完成了超线程技术的部署。此外,第三方P4芯片组厂商如SiS也将推出支持超线程技术的芯片组产品。

对于超线程这个划时代的技术,很多用户也报以极大的期待和关注,毕竟超线程技术以往可是只用在高端的服务器处理器——至强处理器上的一项高端技术,尽管3.06GHz发布之初,价格会局高不下,但是随着Intel处理器推陈出新的步伐的加快,基于超线程技术的P4处理器价格随着时间的推移,必将逐渐走入寻常百姓家,届时,不需要额外的硬件开支,仅仅花一颗处理器的价格就能享受到双处理器的极速快感,何乐而不为呢?

在另一方面Intel的老对手AMD那些也传出消息,他的K8处理器据说也有实现相同意义的技术架构。由此看来,新一代处理器大战的号角已经吹响了,Intel能否依靠带有Hyper-Threading技术的P4处理器再续往日辉煌,就让我们拭目以待吧!

CopyRight © 2003