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处理器。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值