文章目录
前言
Advanced Configuration and Power Interface,高级配置与电源接口。
顾名思义,除了那些table,电源接口是ACPI很重要的一个部分。
这就必须得了解c-state和p-state相关知识了。
因为暂时没做过这方面的项目,所以以下皆为acpi spec的总结,后续如有相关项目接触,会另开文章附上链接
一、电源状态
>>>数字越小,功耗越高!!!<<<
ACPI Spec上的电源状态及相互之间的转换图
G0(Working)----S0(Working)---C0(处理器执行指令)---P0(高性能)...Pn(低性能)
|---C1
|---C2
|---C3
G1(睡眠)--------S1...S4(根据唤醒延时速度和丢失上下文等分类)
G2(软件关机)----S5
G3(硬件关机)
设备状态:
D0 ---P0(高性能)...Pn(低性能)
D1-D3
1. Gx (Global System State)
全局系统状态,不同状态是依据如下的功耗等分类的,具体请查看ACPI spec。
延迟指的是从外部事件到应用程序响应的延迟。
状态 | 状态名 | 软件是否运行 | 延迟 | 功耗 | OS重启要求 | 拆卸电脑是否安全 | 是否有电 |
---|---|---|---|---|---|---|---|
G0 | Working | 是 | 0 | 大 | 否 | 否 | 是 |
G1 | Sleeping | 否 | >0 随睡眠状态而变化 | 小 | 否 | 否 | 是 |
G2/S5 | Soft Off | 否 | 长 | 接近0 | 是 | 否 | 是 |
G3 | Mechanical Off | 否 | 长 | 只有RTC时钟 | 是 | 是 | 否 |
2. Dx (Device Power State)
设备电源状态是特定设备的状态,设备状态适用于任何总线上的任何设备。
它们通常根据四个主要标准来定义:
I.功耗-设备使用的功率。
II.设备上下文——硬件保留了多少设备上下文。操作系统负责恢复任何丢失的设备上下文(这可以通过重置设备来完成)。
III.设备驱动程序-设备驱动程序必须执行的操作才能将设备恢复到full on状态。
IV.恢复时间—设备恢复到全开状态所需的时间。设备电源状态定义如下,但非常通用。
状态 | 备注 | 功耗 | 上下文保留 | 驱动程序恢复 |
---|---|---|---|---|
D0 - Fully-On | 最高功耗 | 根据操作需要 | 所有 | 无 |
D1 | D0>D1>D2> D3hot>D3 | >D2 | <D2 | |
D2 | D0>D1>D2> D3hot>D3 | <D1 | >D1 | |
D3hot | D0>D1>D2> D3hot>D3 | 可选 | 无<->完全初始化和加载 | |
D3 - Off | 完全断电 D3cold | 0 | 无 | 完全初始化和加载 |
3. Sx (Sleeping and Soft-off State)
睡眠和软关机状态
S1 没有系统上下文丢失(CPU或芯片组),硬件维护所有系统上下文。
S2 类似于S1休眠状态,只是CPU和系统缓存上下文丢失(操作系统负责维护缓存和CPU上下文)。
S3 除了系统内存之外,所有的系统上下文都将丢失。
S4 睡眠状态是ACPI支持的最低功耗、最长唤醒延迟的睡眠状态。为了将功耗降至最低,假设硬件平台已关闭所有设备的电源。维护平台上下文。
S5 软关状态S5状态与S4状态类似,不同之处在于操作系统不保存任何上下文。
4. C State (Processor Power State)
处理器功率状态(Cx状态)是全局工作状态(G0)内的处理器功耗和热管理状态。
C0处理器电源状态当处理器处于此状态时,它执行指令。
C1
C2
C3
5. P State (Device and Processor Performance State)
设备和处理器性能状态(Px状态)是活动/执行状态中的功耗和能力状态,C0表示处理器,D0表示设备。
P0 当设备或处理器处于此状态时,性能最强,功耗最大。
P1 设备或处理器的性能受到限制低于最大功率且功耗小于最大功率。
Pn 此时设备或处理器的性能处于最低水平,功耗最小。状态n是一个最大值,与处理器或设备有关。处理器和设备可以定义对不超过255的任意数量的性能状态的支持。
总结
后续有更深理解,会继续补充。
学艺不精,错误请指正;
如有侵权,请联系删除。
参考文档: 《ACPI_Spec_6_4_Jan22》