dynamic voltage frequency scaling (dvfs)

Dynamic Voltage and Frequency Scaling (DVFS) is the technique of simultaneously adjusting both the supply voltage and clock frequency of a processor or functional block at runtime — scaling up for demanding workloads (high voltage, high frequency) and scaling down during light activity (low voltage, low frequency) to minimize energy consumption.

The DVFS Principle

  • Frequency scales with voltage: Maximum achievable frequency is proportional to voltage (approximately). To run faster, increase voltage. To run slower, voltage can be reduced.
  • Power scales cubically with frequency/voltage: Since P = alpha C V_DD^2 f and f ∝ V_DD, reducing both together yields approximately P ∝ V_DD^3.
  • Huge savings: Running at 50% frequency and corresponding voltage reduces power to roughly 12.5% of full power — an 8× reduction.

How DVFS Works

1. Workload Detection: The operating system or firmware monitors CPU utilization, task queue depth, or performance counters.
2. P-State Selection: Based on workload, select an appropriate performance state (P-state):
- P0: Maximum frequency and voltage — full performance.
- P1: Reduced frequency/voltage — moderate workload.
- P2, P3...: Progressively lower — light workloads.
- Pn: Minimum operational frequency/voltage — lightest load.
3. Voltage Transition: Request the new voltage from the power regulator. Wait for voltage to stabilize.
4. Frequency Transition: Adjust the PLL/clock divider to the new frequency.
- Voltage increase: Raise voltage FIRST, then increase frequency (higher frequency needs higher voltage).
- Voltage decrease: Lower frequency FIRST, then reduce voltage (prevent operating above the voltage's maximum frequency).

DVFS Operating Points

P-StateVoltageFrequencyPower (relative)
P01.0V2.0 GHz100%
P10.9V1.6 GHz58%
P20.8V1.2 GHz31%
P30.7V0.8 GHz14%

DVFS in Practice

  • Mobile SoCs: Aggressive DVFS with 10+ P-states — critical for battery life. Phone CPUs spend most time at low P-states.
  • Server Processors: DVFS balances performance per watt — scale down lightly loaded cores, scale up under burst demand.
  • GPU: Graphics processors use DVFS extensively — high performance for gaming/rendering, low power for desktop.
  • Operating System Integration: Linux (cpufreq governors), Windows (power plans), Android (interactive governor) all control DVFS.

DVFS Governors/Policies

  • Performance: Always maximum frequency. No power savings.
  • Powersave: Always minimum frequency. Maximum battery life.
  • Ondemand/Interactive: Dynamically adjust based on load — ramp up quickly when load increases, ramp down when idle.
  • Schedutil: Linux scheduler-driven DVFS — uses scheduler's per-CPU utilization data for P-state decisions.

DVFS + AVS

  • DVFS selects the target frequency based on workload.
  • AVS then finds the minimum voltage for that frequency on this specific chip.
  • Together they provide both workload adaptation and per-chip optimization.

DVFS is the most widely deployed power management technique in computing — from smartphones to data centers, it enables processors to deliver performance on demand while minimizing energy consumption during idle or light workloads.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account