为什么自从Intel发明超线程HT技术后,并不是每款新出的CPU都有这功能?
关注者
216被浏览
76,862登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏
超线程这个东西并不是开了就一定比不开的好。
因为每个CPU核心里ALU,FPU这些运算单元的数量是有限的,而超线程的目的之一就是在一个线程用运算单元少的情况下,让另外一个线程跑起来,不让运算单元闲着。
但是如果当一个线程整数,浮点运算各种多,当前核心运算单元没多少空闲了,这时候你再塞进了一个线程,这下子资源就紧张了。两线程就会互相抢资源,拖慢对方速度。
至于,超线程可以解决一个线程cache miss,另外一个可以顶上,但是如果两个线程都miss了,那就只有都在等了。这个还是没有GPU里一个SM里很多warp,超多线程同时跑来得有效果。
所以,如果你的程序是单线程,关了超线程,免得别人抢你资源,如果是多线程,每个线程运算不大,超线程比较有用。