MCPLive > 杂志文章 > 能屈能伸 英特尔睿频加速技术深度解析

能屈能伸 英特尔睿频加速技术深度解析

2010-03-14afa《微型计算机》2010年2月下

旧瓶新酒—英特尔的奇思妙想

如果说睿频加速技术是英特尔为了提高CPU运算能力而超频核心让人很难理解的话,那么说睿频加速技术是英特尔为了CPU在高效运算时候而进行降温,这样就比较容易理解了。说到CPU的降温,我们很容易想到HLT指令。

我们知道,CPU大约有40%的情况下空闲(空闲模式,Idle Mode)。目前,几乎所有的CPU设计都有空闲模式。当操作系统发现CPU当前没有可执行的任务时,便将CPU置于空闲状态。在空闲模式下,可以关闭不需要的时钟,以减少不必要的功耗。当系统发生中断时,CPU从空闲状态被唤醒。大多数系统都有操作系统计时器中断,这样CPU在一秒钟之内可能几千次地进出空闲状态。CPU时钟的“闲置”通常由“停止”或“闲置”指令触发,在应用或操作系统闲置时进行调用。目前的降温软件就是通过在CPU空闲时发送HLT(halt)指令,CPU将HLT指令插入指令序列,并停止处理指令序列,直到发生中断为止。发生中断后,CPU重新回到Normal状态处理指令,处理完中断代码后继续从HLT指令的下一条指令执行,进入Halt模式。这个过程实现起来也很简单,可以做一个低优先级的任务做死循环处理,系统在空闲时都进入该任务。然后此任务的循环中加入一条HLT指令即可,这样就实现了Auto Halt模式。

处理器在进入Halt模式后功耗将有所下降,我们在CPU的温度监控上可以看到7摄氏度左右的降低,估计在CPU内核应该有10摄氏度左右的降温。而且通过HLT指令降温不会对系统的执行效率和实时性构成影响。HLT指令有Halt、Probe State、Stop Grant 、Working、Stop Grant Cache Not Snoopable Sleep 等几个电源模式。其中,Working为CPU正常运行状态。当系统执行HLT指令,CPU进入Halt状态,但此时不关闭SMI#, INTR, NMI,INIT# RESET#侦听,当CPU收到在RESET#指令后,同时初始化回到Working状态。在Halt状态下,系统会产生一个STPCLK#信号,当CPU接收到STPCLK#信号,则进入Stop-Grant状态,在Stop-Grant状态,RESET#信号会让CPU迅速的初始化。当STPCLK#中断后,CPU返回Halt状态。在Stop-Grant状态和Halt状态,CPU可以对系统总线发出的snoop事件做出反应。而且Halt状态对CPU占用率、系统操作的实时性并没有影响。在Halt状态和非Halt状态,CPU占用率是一样的,因为操作系统计算任务的CPU占用时间时是以任务的上下文切换作为统计触发条件。当任务在执行HLT指令时操作系统并没有进行任务上下文切换,操作系统把CPU进入Halt状态的这段时间依然认为是被该任务占用的时间。

英特尔现在做的就是对这几个电源管理状态重新进行了调整和扩充。英特尔将新的电源管理状态调整为C0、C1、C3和C6。在一些状态下,将CPU频率定义为基准频率+133n,n可以设置为1、2、3、4、5等,于是就实现了自动超频。这样我们就明白了,所谓自动超频,就是电源管理模式的扩充而已,只是相对以前而言,更加精准。

分享到:

用户评论

共有评论(1)

  • 2010.03.16 16:15
    1楼

    这个技术可以说是开创历史的,但INTEL拿他来圈钱就不对了

    (0) (0) 回复

用户名:

密码: