7.1. 电源资源对象与电源管理模型
电源资源对象指软件可控制的供电平面、时钟平面或其他资源,ACPI 电源管理设备可能依赖这些资源。在给定系统中,这些电源资源分配到各设备的独特方式设定了约束条件,OSPM 必须在这些约束内优化各个设备以及整个系统的功耗使用。ACPI 定义了引用电源资源的对象(或进而引用电源资源的设备状态),以使 OSPM 能够发现给定系统的约束和能力。在系统运行期间进行电源管理时,通过在适当时间关闭和开启电源资源来获得节能效果。下表说明了本节中的对象如何提供 OSPM 实现和协调电源管理模型所需的信息与控制。
表 7.1 用于信息与控制的电源资源对象规定
| 要执行的电源管理功能 | 执行该功能的系统实体 | 所需的平台信息 | 提供信息的对象 | 注释 |
|---|---|---|---|---|
| 在设备空闲时选择一个受支持的设备状态以节省功耗 | 设备电源策略所有者 | 设备支持的状态列表(D0 到 D3hot,以及 D3cold) | _PRx, _PSx | 通过显式提供 _PR3 来指示对 D3cold 的支持。默认假定在所有情况下都支持 D3hot。 |
| 选择一个受支持的设备状态以启用目标系统睡眠状态或低功耗空闲状态 | 设备电源策略所有者 | 目标系统睡眠状态下设备支持的状态列表(D0 到 D3hot,以及 D3cold) | _PRx, 电源资源声明, _SxD | _PRx 将设备状态映射到电源资源,电源资源定义将电源资源映射到系统状态。若电源资源未能提供该信息,_SxD 会显式提供系统状态到设备状态的映射(*见下方注释)。 |
| 选择一个支持唤醒的设备状态 | 设备电源策略所有者 | 按触发唤醒事件能力过滤后的受支持状态列表 | _PRW, _SxW | 增加对 _PRW 中列出的附加电源资源的要求,会导致不具备唤醒能力的状态从受支持状态列表中移除(见上文)。_SxW 定义了具备唤醒能力的设备状态到系统状态的映射 |
| 为设备配置唤醒 | OSPM | 在平台级启用唤醒的控制机制 | _PRW, 支持唤醒的设备中断, _DSW | _PRW 指定用于启用唤醒的 GPE 位。在 硬件精简 平台上,设备中断的支持唤醒属性指示了应启用哪个中断用于唤醒。_DSW 是可选的,取决于平台唤醒硬件的需要 |
| 进入选定的设备状态 | OSPM | 电源资源的控制机制 | _ON, _OFF, _PSx | _ON 和 _OFF 控制电源资源。_PSx 控制与状态变化相关但未作为电源资源暴露给 OSPM 的其他平台硬件(*见下方注释)。 |
| 选择目标系统睡眠状态 | 系统电源策略所有者 | 受支持的系统睡眠状态列表(S1-S4) | _Sx | 默认假定在所有情况下都支持 S0 和 S5 |
| 进入选定的系统状态 | OSPM | 系统状态的控制机制 | _PTS, _TTS 和 _WAK | 如果存在 _S5,ACPI 使用 PM1 控制寄存器中的 SLP_TYP/SLP_EN 位字段(或 FADT 中指定的 SLEEP_CONTROL/SLEEP_STATUS 寄存器)。如果未指定 _S5,则使用替代方法关闭系统。 |
注
- 对低功耗空闲状态的支持要求使用电源资源来描述设备状态和唤醒依赖关系。参见 Processor Aggregator Device 和 _LPI(低功耗空闲状态)。