【IT168 工程师谈导购专题】基于很多原因,CPU的执行单元都没有被充分使用。通常来讲,如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外一个理由就是目前大多数执行线程缺乏ILP支持。
大部分CPU生产商为了提高CPU的性能,通常做法是提高CPU的时钟速度和增加缓存容量。以我们开始假定的一块CPU为例可以明白,提高CPU的时钟速度和增加缓存容量后的确可以改善性能,但这其实仍然不能完全发掘出CPU的潜能。如果有种方法可以同时执行多重线程,就能够让CPU发挥更大效率。这就是Intel的超线程技术(Hyper-Threading)出现的原因。
超线程技术是便于让人理解而取的市场名称,它的原理来自适用于x86平台的同步多线程(SMT)技术。SMT 的原理很简单:系统只使用了一块CPU,却让操作系统误以为系统内有两块物理CPU。操作系统就会同时向那“两”块CPU发送2条线程。
在带有超线程技术的CPU上,每个逻辑处理器带有自身的寄存器。但为了简化这项技术的复杂性,Intel的超线程技术不会试图同时对两个线程的相应指令进行取数/解码操作。 相反地, CPU将由两个逻辑CPU轮流进行指令取数/解码并尝试同时执行两个线程,因此解决了CPU执行单元利用率低下的问题。
Intel在秋季的Intel开发者论坛上官方发布了超线程技术,并在一台运行Maya 渲染任务的Xeon 系统上进行示范。带有超线程技术的单Xeon 处理器在测试中要比常规Xeon 处理器完成任务快30%,测试中CPU性能的提高后给人留下了深刻印象甚至令人激动,在当时最震撼人的消息是,所有的Pentium 4和Xeon核心都带有超线程技术,它只是被简单隐蔽而已。
而现在Intel打算自3.06GHz P4处理器起,导入原本应用于服务器市场的Hyperthreading技术,此种同步多运行绪(simultaneous Multi-threading)技术,可让多种应用程序的多个运行绪(thread)同时在一颗处理器上运行,也就是可复制1颗处理器的架构指挥中心(architectural state)变成2个,达到增进效能的目的。
由于AMD第八代处理器以64位架构(兼容32位软件),在服务器以及主流桌面计算机大展拳脚,但由于硬件架构改变,需获得软件端推出足够数量的64位架构应用程序支持,才能充分显示其产品效能,而Intel直接在32位架构上导入Hyperthreading功能,则是以硬件支持软件,让使用者在不改变硬件的前提下可以自行购买支持Hyperthreading技术的软件。
| 第1页:超线程技术的特色 | 第2页:超线程技术Hyper-Threading的支.. |
| 第3页:超线程技术Hyper-Threading的利.. |