沫延说
沫延说

对处理器超线程技术的理解

前  言

最近这段时间有朋友问我对CPU超线程该如何理解,感觉都搞不清楚处理器到底是几个核心了,以及单个物理核心分成两个性能上会不会受影响之类的问题,再次我想再次用”中文”解释一下”(inter)多线程技术”的原理与优势劣势.

原  理

所谓超线程技术,实际是将一颗物理核心对应一个总线改进为一颗物理核心对应两个总线,可以说是一种创新思维,其并没有增强处理器的物理运算能力,只是提高了运行效率,充分榨取处理器的性能,来达到运算能力提升的效果.

在处理器处理过程中,一个总线在一个单位时间在处理器内部多个功能区中只能对一个功能区实现调用,可以被理解为,不被调用的功能区在单位时间不做任何事,而超线程技术是采用特殊指令,模拟一个总线一颗(逻辑)核心.即物理核心在一个单位时间内,同时被两个总线调用不同的的功能区,实现物理核心并行运算的能力.举个例子,假设现在有一颗处理器内含四个功能区分别运算加法,减法,乘法和除法,不采用超线程技术的处理器只能一步一步运算,比如说根据队列,先进行加法运算,再进行乘法,再进行除法,再进行减法,而采用超线程技术的处理器可以同时处理加法与乘法,下一步运行除法与减法,两部搞定~

技术分析

超线程技术是2002年英特尔公司提出并实现的,其认为处理器处理性能已经不再是瓶颈(而性能的提升是近期解决不了的瓶颈),而采用了巧妙的方式将处理器所有资源全部发挥出来,激发处理器的全部动力.虽然这项技术可以优化运行效率以提升性能,但是也有局限性,比方说如果计算机在处理两个完全一样的指令时(这是个例子),就只能排队执行,因为同一时间同一个功能区只能接受一次运算,比方说处理器有四个功能区分别运算加法,减法,乘法和除法,如果我同时计算两个加法运算,那么物理处理器只能接受先进行第一个加法运算,在进行第二个加法运算,也就是说在这种情况下,运算效率是没有被提升的.而且这项技术不仅是对处理器规格的改进,也是对现行计算机产业的改进,要实现这项技术,需要处理器本身技术升级,主板支持,操作系统支持,最终还需要软件开发者适配,中间环节任何一个环节没有做到位都不能采用超线程技术进行运算,或者将产生兼容性问题,拿操作系统环节举例,低于Windows XP的系统都无法支持超线程运算,只能把处理器物理核心当做一个整体进行调用.

综上所述,超线程技术的优缺点已经很明显的展现出来,优点是对多任务处理能力提升较为明显,而其缺点就是当运行单个软件时(且未对多核心做优化)性能不下降就不错了.这也是AMD一直未曾加入超线程阵营的原因之一

结  语

无论超线程技术优势与劣势,此技术的面世让我们看到了计算机技术的创新并不在于一味地增加核心数,或者升级制程,且与现实生活中的创新还有一些区别,”变通”才是计算机技术创新的第一生产力.

 

 

 

Morton.L

文章作者

发表回复

textsms
account_circle
email


沫延说

对处理器超线程技术的理解
前  言 最近这段时间有朋友问我对CPU超线程该如何理解,感觉都搞不清楚处理器到底是几个核心了,以及单个物理核心分成两个性能上会不会受影响之类的问题,再次我想再次用"中文"解释一下"(in…
扫描二维码继续阅读
2017-12-30