为什么自从Intel发明超线程HT技术后,并不是每款新出的CPU都有这功能?

换句话说,有什么场景,不需要甚至不能使用具有HT功能的CPU? 如果说是价格因素,那么请看这两款CPU的对比: ARK | 比较英特尔® 产品 这两款…
关注者
216
被浏览
76,862
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

超线程这个东西并不是开了就一定比不开的好。

因为每个CPU核心里ALU,FPU这些运算单元的数量是有限的,而超线程的目的之一就是在一个线程用运算单元少的情况下,让另外一个线程跑起来,不让运算单元闲着。

但是如果当一个线程整数,浮点运算各种多,当前核心运算单元没多少空闲了,这时候你再塞进了一个线程,这下子资源就紧张了。两线程就会互相抢资源,拖慢对方速度。

至于,超线程可以解决一个线程cache miss,另外一个可以顶上,但是如果两个线程都miss了,那就只有都在等了。这个还是没有GPU里一个SM里很多warp,超多线程同时跑来得有效果。

所以,如果你的程序是单线程,关了超线程,免得别人抢你资源,如果是多线程,每个线程运算不大,超线程比较有用。