0


CPU性能优化:超线程技术

在多核处理器设计中,还有一种技术叫做超线程技术,hyper threading ,目前主要应用在Intel,AMD的X86多核处理器上,大家买计算机时,经常会看到4核8线程,6核12线程的说明,带有这些字眼的处理器一般都采用了超线程技术。

超线程技术的实现原理和打印机类似,在CPU内部很多资源其实也是可以共享的,如ALU,FPU,Cache,总线等,也有很多资源是每个线程独有的,如寄存器状态,堆栈等,我们通过增加一些控制逻辑电路,保存各个线程的状态,共享ALU,Cache等共享资源,就可以在一个物理Core上实现两个逻辑Core,操作系统可以给每个逻辑Core都分配1个线程运行。

这里需要注意的是,在同一个物理Core上的两个线程并不是同时运行的,因为每个线程都需要使用物理Core上的共享资源,但是两个线程之间可以相互协助运行,一般处理器上的两个线程切换只需要20 000个时钟周期就可以了,而超线程处理器上的两个线程切换需要一个时钟周期就可以了,上下文切换的开销时间大大的减少了,超线程技术其实就是欺骗操作系统,让操作系统认为它有更多的Core,给它分分配更多的任务之星,通过减少CPU的空闲时间来提高CPU的利用率,因为线程在两个逻辑处理器上并不是真正的并行,所以也不可能带来2倍的性能提升,但是通过增加5%左右的芯片面积换来CPU15% - 30%的性能提升,还是很划算的。

超线程技术的使用也离不开硬件和软件层面的支持,首先主板和BIOS要支持超线程技术,操作系统也需要对超线程技术有专门的优化,Windows操作系统从WIndows XP以后就开始支持超线程技术,GNU/Linux 操作系统从linux 2.6以后开始支持超线程技术,除此之外,英勇层面也需要支持超线程技术,如NPTL库等。

并不是所有的场合都适合使用超线程技术,可以根据自己的实际需求选择开启或者关闭超线程,在高并发的服务器场合下,使用超线程技术确实可以提升性能,但是在一些对单核性能要求比较高的场合,如大型游戏,开启超线程反而会增加系统的开销,影响性能,在Intel核AMD的处理器产品系列中,你会发现并不是所有的处理器都使用了超线程技术,甚至某代处理器全部放弃使用,而最新的Intel 10代处理器则又卷土重来,全面开启超线程,截至目前,市面上还没有发现使用超线程技术的ARM处理器。

本文转载自: https://blog.csdn.net/fantasy_ARM9/article/details/131099867
版权归原作者 fantasy_arch 所有, 如有侵权,请联系我们删除。

“CPU性能优化:超线程技术”的评论:

还没有评论