超线程有用么:解密CPU的超线程原理与性能

 我来答
四年又轮回
2016-11-18 · TA获得超过2992个赞
知道大有可为答主
回答量:1271
采纳率:85%
帮助的人:440万
展开全部
所谓超线程,就是我们平时说的CPU双核四线程这种线程数多余核心数的情况,比如大部分的i5和i7都是支持超线程的。很多人,尤其是一些伪大神认为超线程的两个线程实际上还是一个核心,运行效率低下,不值一提。其实,超线程技术对CPU而言还是有很大性能提升的,因为超线程技术不仅仅是逻辑技术,还是一个硬件技术。
我们先看CPU是如何处理指令的。通俗的说可以分成两部分,第一部分是负责读取指令,第二部分是负责执行指令。一般执行部分是非常复杂的,通俗的来讲,比如加减乘除等需要不同的执行机构,一套执行机构要包括多种运算法则的执行单元。通常的CPU是读取部分和执行部分一对一的,而超线程的CPU则是多个读取部分和一个执行机构对应的,也就是说一个核心里有好几套的读取机构和一套执行机构。
超线程的优势:首先读取机构1和读取机构2分别读取不同的指令,假设指令1是乘法,指令2是加法,那么CPU就可以调用一套执行机构中的不同部分来同时处理;而对于部支持超线程的CPU,执行指令1时尽管加法执行单元是空闲的但是也只能等指令1执行完成之后且指令2读取完毕后才能执行。在这种情况下多线程效率接近多核。
另一种情况:如果指令1和指令2都是加法,那么指令2就必须等待指令1执行完成,这时的超线程和单核是一样的。此外,如果指令2的执行需要指令1的结果,那么指令2也是必须等待指令1的。
那么,多线程技术的效果实际上取决于对指令的排列顺序。在通常的CPU上这是取决于当前执行的程序,而为了提升CPU的性能以intel为首的CPU巨头使用了一个叫做指令预测和乱序的技术。通过数学逻辑上的优化可以相当程度的重排CPU指令顺序这样就能有效的避免指令2等待指令1的悲剧,性能也就提升了不少。
所以,超线程技术其实可以利皆为介于多核和单核的过度,是软件和硬件优化的结合,很难说性能是单核心的多少倍,在合适的条件和性能可以接近多核心,在另外的情况下又可能几乎没有作用,而成本却比多核心要低的多,也能有效的减少多核引起的功耗增加
IT风云说
2021-01-17 · TA获得超过1019个赞
知道小有建树答主
回答量:2825
采纳率:0%
帮助的人:142万
展开全部

英特尔CPU的超线程技术到底是什么意思?有啥用?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式