Technical guide

CPU C-States and P-States Explained: Idle Power, Frequency, Voltage, Boost, Sleep States, and Latency

Understand CPU C-states, performance states, CPPC and hardware-managed performance control without confusing idle sleep states with clocks, boost, or OS power policy.

On this page
  1. C-states answer “can this processor stop executing?”
  2. Core, thread, and package idle states are related but not interchangeable
  3. P-states describe active performance, but modern control is more flexible than a simple P0/P1 ladder
  4. AMD CPPC and amd-pstate use abstract performance requests rather than fixed legacy frequencies
  5. Intel Speed Shift and hardware-managed performance move more decisions into the processor
  6. The operating system supplies policy; hardware and firmware still enforce limits
  7. Idle latency matters, but disabling C-states is not a universal performance fix
  8. Diagnose power-management behavior by separating idle residency, active demand, and limiting conditions

C-states answer “can this processor stop executing?”

ACPI defines C0 as the active processor state in which instructions execute. C1 and deeper C-states are idle states: the processor is not executing instructions, and progressively deeper supported states can shut down or quiesce more circuitry to reduce power. They are therefore fundamentally different from mechanisms that adjust performance while the CPU remains active.

Deeper idle states generally trade greater power-saving opportunity for greater entry and exit latency. That does not create a universal latency number for “C6” or any other label across every CPU and platform. The available states, their implementation, firmware exposure, residency decisions, and latency characteristics are platform-specific.

Core, thread, and package idle states are related but not interchangeable

Modern processors can resolve idle behavior at more than one level. Intel documents thread, IA-core, and package low-power states, with package-level power saving depending on what the cores and other package resources are doing. A core becoming idle therefore does not guarantee that the entire processor package can immediately enter its deepest supported package state.

This is one reason an idle desktop can show different package power even when Task Manager reports similarly low CPU utilization. Timers, interrupts, background work, device activity, firmware policy, and other package resources can repeatedly wake cores or prevent deeper package residency. C-state residency is a better description of idle behavior than assuming that one displayed clock number tells the whole story.

P-states describe active performance, but modern control is more flexible than a simple P0/P1 ladder

Traditional ACPI performance states describe operating points used while the processor is in C0. AMD’s architecture documentation likewise describes core P-states as operational performance states while software is executing, with P0 representing the highest-performance legacy P-state and higher P-state numbers representing lower-performance states.

That historical model should not be projected literally onto every current processor. Modern platforms can expose collaborative or hardware-managed performance interfaces that use performance ranges, preferences, and limits instead of software selecting a small fixed list of frequency-voltage points. The practical distinction remains useful: C-states govern idle/sleep opportunity, while performance control governs how aggressively an active CPU should run.

AMD CPPC and amd-pstate use abstract performance requests rather than fixed legacy frequencies

Collaborative Processor Performance Control, or CPPC, lets software communicate performance goals using abstract performance capabilities rather than assuming a fixed P-state maps directly to one frequency. Current Linux kernel documentation for amd-pstate describes CPPC as a finer-grained mechanism than legacy ACPI hardware P-states and notes that the performance scale is abstract and not tied to one specific frequency state.

The Linux amd-pstate driver can operate in autonomous, passive, and guided modes on supported platforms. In autonomous operation, hardware can choose operating performance within software-provided minimum, maximum, and energy-performance-preference constraints. That illustrates why “the OS sets the CPU to exactly this P-state and voltage” is often an inaccurate description of a modern Zen system.

Intel Speed Shift and hardware-managed performance move more decisions into the processor

Intel platforms also evolved beyond a purely software-selected legacy P-state model. Intel Speed Shift Technology allows hardware-managed performance behavior in which software communicates policy and bounds while the processor can respond rapidly to workload demand. Linux intel_pstate documentation similarly warns that its P-state concept is broader than a single operating frequency or conventional operating point.

Turbo or boost is part of this active-performance picture, not an idle C-state. The achievable frequency at a moment in time can depend on workload, active-core count, processor limits, firmware policy, temperature, electrical constraints, and the hardware control algorithm. A requested or reported performance level therefore should not be treated as proof of a fixed voltage or clock relationship across CPUs.

The operating system supplies policy; hardware and firmware still enforce limits

Windows power modes and plans, and Linux CPUFreq governors or performance drivers, influence policy rather than replacing the processor’s underlying state machinery. They can express preferences such as energy efficiency versus responsiveness, minimum or maximum performance, or scheduler-driven demand. The processor, firmware, and platform then operate inside supported thermal, electrical, and architectural limits.

On Linux, for example, generic governors can feed performance requests through drivers such as amd-pstate, while autonomous CPPC modes can leave more fine-grained selection to hardware. Windows exposes higher-level power policy to users and applications rather than requiring users to manually choose a raw P-state for each workload. The visible operating-system control and the hardware state transition are separate layers.

Idle latency matters, but disabling C-states is not a universal performance fix

A deeper idle state can take longer to exit than a shallow one, so latency-sensitive systems sometimes constrain idle depth for a specific measured workload. That engineering tradeoff does not establish that disabling C-states improves gaming PCs in general. Preventing deep idle can increase idle power and heat, and the real effect on application latency depends on the processor, platform, scheduler, workload, firmware, and measurement method.

Intel’s current client-processor documentation explicitly describes deeper C-states as providing additional power-saving actions with greater entry/exit latency, and it cautions against simply disabling supported low-power idle states. Treat BIOS controls such as package C-state limits as platform-specific diagnostic or tuning controls, not as universal “free FPS” switches.

Diagnose power-management behavior by separating idle residency, active demand, and limiting conditions

If a PC consumes unexpectedly high idle power, first determine whether it is actually reaching idle: inspect background CPU activity, wakeups, device activity, and available C-state or package-residency telemetry where supported. A high active clock readout alone is not sufficient evidence that idle power management is broken, because monitoring tools sample different signals and modern hardware can change state faster than a UI refresh interval.

If performance is unexpectedly low under load, investigate active-performance policy separately: workload demand, OS policy, boost availability, firmware limits, thermal behavior, power/current limits, and the platform’s performance driver. Do not disable C-states, CPPC, Speed Shift, boost, or similar controls by default. Change one documented control at a time only when you have a reproducible problem and a measurement that can show whether the change actually helped.

Sources

Primary and technical sources

Technical details can vary by exact model, firmware, and platform. These are the sources used for the factual claims in this article.

  1. 01 UEFI Forum

    ACPI 6.6 processor power states: C0, idle C-states, latency, and active performance control
  2. 02 Intel

    Intel client processor low-power idle states, core/package resolution, and latency tradeoffs
  3. 03 AMD

    AMD64 Architecture Programmer’s Manual Volume 2: legacy core P-state control
  4. 04 Linux Kernel

    amd-pstate CPU performance scaling driver and CPPC behavior
  5. 05 Linux Kernel

    intel_pstate CPU performance scaling driver and modern P-state semantics