什么是超线程? [技术解释]

如果您最近考虑购买Intel处理器或安装了Intel处理器的计算机,则可能已经在您的耳膜上听到了“超线程"一词。除非您始终了解计算机硬件的最新知识,否则您可能不熟悉该术语。

了解超线程很重要,因为这是某些英特尔产品的主要功能处理器。像大多数主要处理器功能一样,它可能会因您遇到的销售代表而曲解。我有一个Fry's商店的员工告诉我,超线程实际上使处理器的内核数量增加了一倍。尽管从某种意义上说是正确的,但这在大多数情况下都是夸张的。

让我们看看“超线程"的真正含义是什么。

“超线程简史"线程

事实并非如此严峻。一段时间以来,超线程在某些Intel Pentium 4和Intel Xeon处理器上可用。停止使用该功能并不是因为该功能本身很差,而是因为使用该功能的处理器由于其他原因而有些失误。 Pentium 4架构对Intel来说是一个小灾难,因为它无法按照Intel希望的方向发展(Intel希望Pentium 4处理器的时钟速度可以达到10 GHz)。结果,英特尔跳回了基于奔腾Pro家族树的处理器设计。

超线程技术已经消失,但并未被人们遗忘。英特尔最终找到了将其集成到另一个新处理器架构Nehalem中的时间和资源。这是当前所有Intel Core i3,i5和i7处理器的基础。

尼斯线程,Man

尽管我们在世界上取得了所有进步对于处理器,它们仍然有一个主要限制–单个处理器内核一次只能执行一条指令。例如,假设您同时打开了MS Office,Firefox和Skype。您觉得自己正在执行多任务处理,但就处理器而言,您并非如此。与这些程序有关的数据的处理器核心一次只能执行一条指令,但由于它是如此之快,所以您不会注意到任何延迟。

但是有延迟。该延迟是由于如何将每个程序的数据馈送到处理器。进入处理器的每个数据流(或线程)必须分别由内核调度和执行。但是,超线程使每个处理器内核都可以一次调度并将资源分配给两个线程。

想象一下装配线上的一个工人。她有两种类型的小部件,她需要对每个小部件执行不同的操作。但是,有时会因为传送带太慢而延迟,或者是因为在错误的时间发送了错误的小部件。超线程就像添加另一条传送带,因此现在有一种专用于每种类型的小部件。仍然只有一个工人,但是现在可以更快,更有效地将小部件带给她,以便她减少等待工作的次数。

与加倍核芯不一样

两个Windows在超线程处理器上为每个核心显示图形,因为Windows正在为每个核心检测两个逻辑处理器。术语“逻辑处理器"听起来很花哨,但是根据定义,逻辑处理器是没有物理存在的处理器。 Windows可以将线程发送到每个逻辑处理器,但是实际执行仍然只有一个核心,因此具有超线程功能的单个核心与两个独立的物理核心有很大的区别。

Hyper-线程

对于诸如Web浏览,电子邮件和文字处理之类的日常任务而言,超线程不会产生太大影响。是的,理论上,超线程在多任务处理方面更好。但是,当今的处理器是如此之快,以至于基本程序很少受到处理器速度的限制。程序的编码方式也可能是一个限制。有时您可能会发现有许多程序处于打开状态,但是只有一个处理器内核被大量使用。这是因为无论出于何种原因,程序都没有将其工作分配到可用的不同内核中。

但是,当您尝试进行一些繁重的工作时,超线程可能会更有帮助。最有可能受益的应用程序是3D渲染程序,重型音频/视频转码应用程序以及为实现最大多线程性能而构建的科学应用程序。但是,当在iTunes中编码音频文件,玩3D游戏和压缩/解压缩文件夹时,您也可能会提高性能。性能提升最多可以达到30%,尽管在某些情况下超线程也根本无法提供提升。

结论

As the performance boost figure of only up to 30% indicates, Hyper-Threading is not the same as doubling the number of cores on a processor. If a sales rep ever tells you that, be careful, because they’re either ignorant or happy to lie to you if they think it will help push hardware.

标签: