Optimizing Software Applications for Power: Part 2 (of 13)

Part 2: Hardware Platform Power States

On a hardware platform level, ACPI defines a set of power states pertaining to various aspects of the system: global system states (Gx) like “off” and “working”, sleep states (Sx), device power states (Dx), processor power states (Cx), device and processor performance states (Px), and throttling states (Tx). Of interest to this discussion are C-states and P-states.

The ACPI specification describes processor power states (Cx states) as “processor power consumption and thermal management states within the global working state, G0.” Often they are referred to as “idle states” since each C-state progressively increases power savings by powering down hardware features associated with the processor subsystem. C0, for example, represents the normal working state for a processor. C2 places the processor in a non-executing power state. C3 maintains cache state but ignore snoops. In general, C-states are characterized by their power consumption and exit latency where the “deeper” the sleep state, the less power that is consumed and the higher the exit latency. Hardware vendors can implement additional C-states and optimize existing C-states to improve power savings and differentiate their products. Intel® Core™ i7 processors, for example, implement a C6 state where core PLLs are turned off, caches are flushed, and core state is saved to the last level cache.[2]

Processor performance states (Px states) are another set of states defined by ACPI. Assuming that the processor is in the active/executing state C0, P-states define performance control states that trade off performance and power. This tradeoff is typically implemented using dynamic frequency scaling in which processor frequency is incrementally reduced to achieve lower levels of power consumption but at reduced performance levels. For example, P0 might be 2.93 GHz on an Intel® Core™ i7 processor, representing the processor’s maximum performance capabilities and with maximum power consumption. (Here we ignore Intel® Turbo Boost Technology for simplicity.) P1 at 2.80 GHz limits performance and consumes less than maximum power. Additional P-states incrementally reduce frequency and, at the same time, decrease power consumption. P-states also apply to devices and may number up to 16 for any given context of use.

[2] Intel® Turbo Boost Technology in Intel® microarchitecture, codenamed Nehalem based processors. Whitepaper. November 2008.

Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.