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 \propto V_{DD}$, reducing both together yields approximately $P \propto 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.

Take dynamic voltage frequency scaling (dvfs) further

Ask the copilot about this term, or have our engineers assess it against your process.