CPU层次的电源管理

        在CPU这个层次,减少对电源的消耗,我们可以有很多方案供选择,比如说,使用idle state(C-state),

改变CPU 的频率(P states), 还有扼制CPU 的工作时间(调节占空比)(T-states).下面对每一个方案作出简单的介绍。

如果想知道详细的规范,还是得去看http://www.acpi.info/spec.htm

    1. C-States(工作时的状态)

对于我们常见的intel cpu, 它有很多种省电模式,江湖叫作C-states. C state 在很长一段时间,只有笔记本才支持,

Nehalem之后, 服务器才支持,一般来讲,服务器都是7x24 小时工作的,不需要睡眠的,C state 主要策略是

关闭不需要的部件(应该是CPU内部的部件,不是指关掉硬盘,内存)。

     当处理器工作于C0 这个状态时,CPU 正常执行指令,除C0 以外的Cx 状态,CPU 都处于idle 状态。这里的x

的值越大,CPU 睡得越(深)沉, 即关掉的部件越多,当然,醒过来(返回到C0状态)所需要的时间就越长。

下表列出了大部分常见的C-states.

C-State
模式定义
C0工作模式,CPU 全速运行
C1第一个idle 状态,通过软件方式关掉内部时钟,维持总线接口单元和APIC 
C2通过硬件方式,关掉内部时钟,维护所以软件可见的状态
C3关掉所有的内部时钟,CPU 不再维护cache 一致性。



2 . P-States (处理器performance 状态)

当CPU 在C0 的状态,还可以划分为多个performance states(P-states). 可以这样说,除了C0 以外的C state 都是描述的

idle state. 但所有的p states 都是在描述CPU 工作时(operational) 的状态。 P x ,  x 的值越大,CPU 就以更低的工作频率

还有电压运行,不同的CPU 支持的x的值不一样。但是,P0 一定是最高performance 的state.


与P state 有关的几个method.

2.1   _PSS (Performance Supported States)

   这个object 告诉ospm 系统可以支持的p state 的个数,以一个package 列表  的形式返回来,这个package 里面包含了CPU

主要频率, 典型的power 消耗, performance state 变迁过程中需要动到的寄存器,这个表以从大到小的方式排列,因此,第0个

表描述了最大performance 的state.第n 个package 描述了最低performance 的state.



参数:

None


返回值:

一个不定长的package,这个package 包含了一个子package 的列表,如下所述:

Package {
    Pstate [0]                  // Package - Performance state 0
    ...
    Pstate [n]                  // Package - Performnace state n
}


每一个子package 包含的成员是这样的:

Package {
    CoreFrequence            // Integer (DWORD)
    Power                    // Integer (DWORD)
    Latency                  // Integer (DWORD)
    BusMasterLatency         // Integer (DWORD)
    Control                  // Integer (DWORD)
    Status                   // Integer (DWORD)
}

下面,逐个解释每个成员:

 Core Frequency:   表明CPU的工作频率。

Power:   表征最大的电源消耗(以milliwatt 为单位)

Latency: 表征从其他状态跃迁到这个状态所需要的时间

Control: 表征将要写进 Performance Control Register(PERF_CTRL)的值。

Status:    从PERF_STATUS 读出值然后和上面的control 比较,用来确定,是否写值成功。



3. T-states(处理器throttling 状态)

T states 过调整单位时间内CPU Clock On /Clock On + Clock Off)的时间(也即Clock On工作占整个CPU工作时间的占空比)的方式 ,影响系统的功耗和温度。

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值