ACPI is an open specification specifying interfaces of OS-directed configuration, power management and thermal management of computing platforms. It’s developed by Microsoft, Intel, HP, Phoenix, and Toshiba.
Understanding of ACPI is helpful for tasks including minimize power consumption, design the cooling mechanism for computing platform, suspend/reset devices and so on.
ACPI defines 4 global states, G0 (working state), G1 (sleeping state), G2 (soft off state), and G3 (mechanical off state). The details are as below,
G0: also known as S0, it’s working state. As its name suggests, it’s the state when the computer is busy processing stuff.
G1: sleeping state. The processor is stopped and the system state and context are stored in memory (either RAM or hard disk). No software is running under this state. It can be further divided into 4 states.
- S1: suspend state. All processor caches are flushed, and the CPU stops execution. But all system state and context remains, so the CPU and RAM are still powered on. This sleeping state allows fast wakeup, but it suffers from high power consumption.
- S2: suspend state. All system state and context except CPU and system cache state remains, so CPU can be powered off. This sleeping state takes longer time to wake up, but it consumes much less power.
- S3: suspend state. Also referred as Standby, Sleep or Suspend to RAM. Only system memory context is remained. It takes even longer time to wake up, but consumes even less power.
- S4: hibernate state. Entire system is stopped and all of the system state and context are stored to non-volatile memory (e.g. hard disk). It is assumed that the platform has powered off all devices.
G2: also known as S5, it’s soft off state. Almost the same as mechanical off, except some components remain powered so the computer can be waken from input , keyboard, clock, modem, LAN or USB devices. Power consumption is very near 0.
G3: mechanical off. Power consumption is almost 0. And the power cord can be removed and the computer system can be dissassembled.
Below is a diagram illustrates the power states.
Figure 1. ACPI Power States
There’re C states at the lower right of the diagram, those are Processor Power States.
C0: full power
C1: often known as halt. The processor is not executing instructions, but can return to an executing state almost instantaneously.
C2: often known as stop-clock. The processor maintains all software-visible state, but might take longer to wake up than C1.
C3: often known as sleep. The processor doesn’t need to keep its cache coherent, but maintains other states.
C4: lowest low power state.
There’re also D states at the upper right of the diagram, those are Device States.
D0: full power
D1 and D2: intermediate power-states whose definition varies by device. Most often only a subset of the device features are available under these states.
D3: power off. The device is powered off and unresponsive to its bus.
ACPI specification: http://www.acpi.info/DOWNLOADS/ACPIspec40a.pdf