在power management方面,经常看到s3、s5、P-state、C-stat、D-state等内容。本文将会解释上述名词以及它们的关系。

overview

ACPI defines several kinds of power management state.

Global System state (G-state)

they are: G0 (working), G1 (sleeping), G2 (soft-off) and G3(mechanical-off).

Processor Power state (C-state)

in the G0 state, the CPU has several sub-states, C0 ∼ Cn. The CPU is working in C0, and stops working in C1 ∼ Cn.
C1 ∼ Cx differs in power saving and entry/exit latency. The deeper the C-state, the more power saving and the longer latency a system can get.

Processor Performance state (P-state)

in C0 state, there are several sub-CPU performance states (P-States). In P-states, the CPU is working, but CPU voltage and frequency vary. The P-state is a very important power-saving feature.

Processor Throttling state (T-state)

T-state is also a sub state of C0. It saves power by only changing CPU frequency. T-state is usually used to handle thermal event.

Sleeping state

In G1 state, it is divided into several sub state: S1 ∼ S4. They differs in power saving, context preserving and sleep/wakeup latency. S1 is lightweight sleep, with only CPU caches lost. S2 is not supported currently. S3 has all context lost except system memory. S4 save context to disk and then lost all context. Deeper S-state is, more power saving and the longer latency system can get.

Device states (D-state)

ACPI also defines power state for devices, i.e. D0 ∼ D3. D0 is working state and D3 is power-off state. D1 and D2 are between D0 and D3. D0 ∼ D3 differs in power saving, device context preserving and entry/exit latency.


参考资料:

  1. How virtualization makes power management different
  2. Power Management
  3. Power Management high-level design
  4. A Minimum Complete Tutorial of CPU Power Management, C-states and P-states