本文档定义了一种用于处理器(PE)和系统级别电源管理的标准接口,可供操作系统供应商在 Arm 设备上不同特权级别的监督软件使用。像 Linux 和 Windows 这样的富操作系统、Hypervisor、特权固件以及可信操作系统实现在进行电源管理时必须进行交互操作。这一标准的目的是简化不同供应商在不同特权级别工作的监控软件之间的集成。
电源管理感知操作系统会动态地改变核心的电源状态,平衡可用的计算能力以适应当前的工作负载,同时努力使用最小的功耗。其中一些技术会动态地开启和关闭核心,或者将它们置于静态状态,即它们不再执行计算任务。这意味着它们消耗的功耗非常少。这些技术的主要例子包括:
空闲管理Idle Management:当操作系统内核在核心上没有要调度的线程时,它会将该核心置于时钟门控、保持或甚至完全断电的状态。但是,该核心仍然对操作系统可用。
热插拔Hotplug:当计算需求较低时,核心会被物理关闭,然后在需求增加时重新启动。操作系统会将所有中断和线程从被下线的核心迁移走,并在它们重新上线时重新平衡负载。
由于在 Arm 系统中可能存在来自不同供应商的各种操作系统,执行电源控制需要一种协作方法。考虑到在非安全状态下的操作,如果一个管理电源的监督系统(无论是在操作系统级别(EL1)还是在hypervisor级别(EL2)执行)想要进入空闲状态、启动或关闭核心,或者复位或关闭系统,其他异常级别的监督系统将需要对电源状态变更请求做出反应。
同样,如