Intuition What this page is
The Dynamic voltage and frequency scaling (DVFS) parent note gave you the laws. Here we use them until nothing can surprise you. We march through every kind of question DVFS can throw — proportional scaling, voltage-only scaling, the leakage floor, deadline limits, the break-even where slowing down stops helping, and a degenerate "zero headroom" case. Each example says which cell of the matrix it fills.
Before any symbol appears, here is the tiny dictionary we reuse. Nothing below is used before this line.
Definition The four quantities and their pictures
V = supply voltage = how hard we push electrons into the gates. Picture a water pressure dial.
f = clock frequency = how many times per second every gate is told to switch. Picture a metronome ticking.
P = power = energy burned per second (watts). Picture the height of a flame .
E = energy = power multiplied by how long we ran (joules). Picture the total fuel burned = flame height × time.
The one law that drives everything: dynamic power P = C eff V 2 f . Voltage enters squared (the flame grows fast with the pressure dial), frequency enters linearly .
Every DVFS numeric question is one of these cells. The example that fills each cell is named in the last column.
Cell
Case class
What is special about it
Filled by
A
Proportional scaling V , f both drop by factor k
The clean k 2 energy rule
Ex 1
B
Frequency-only scaling
Voltage stays fixed → only linear savings
Ex 2
C
Voltage + frequency together, unequal factors
The realistic "big win" case
Ex 3
D
Fixed-work batch task (race-to-idle question)
Slower can win — compare total energy
Ex 4
E
Static-leakage floor
Limiting case: crawl slowly → leakage dominates
Ex 5
F
Degenerate / zero headroom (hard deadline)
DVFS forbidden — f m i n > available
Ex 6
G
Break-even point (limiting value)
Find the k where two strategies tie
Ex 7
H
Real-world word problem (battery life)
Wrap the physics in a phone-user story
Ex 8
We use one P-state table throughout (matching the parent note):
P-State
V
f
dynamic P
P0
1.35 V
4.0 GHz
95 W
P1
1.20 V
3.5 GHz
65 W
P2
1.05 V
2.8 GHz
40 W
P3
0.90 V
2.0 GHz
22 W
Worked example Example 1 — drop both
V and f by 20 %
A task needs a fixed number of clock cycles N . We currently run at ( V 1 , f 1 ) . We scale to ( V 2 , f 2 ) with V 2 = 0.8 V 1 and f 2 = 0.8 f 1 (so k = 0.8 ). By what fraction does the energy for the task fall, and how much longer does it take?
Forecast: guess now — is the saving 20 %, 36 %, or 64 %? Write it down.
Write energy for a fixed-work task. Time = N / f (cycles ÷ cycles-per-second). Energy = P ⋅ t = ( C V 2 f ) ⋅ ( N / f ) = C V 2 N .
Why this step? The f inside power and the f in the denominator of time cancel . So energy-per-task depends on V 2 only — this is the whole trick.
Ratio the two operating points. E 1 E 2 = C V 1 2 N C V 2 2 N = ( V 1 V 2 ) 2 = k 2 = 0. 8 2 = 0.64.
Why this step? C and N are the same task, so they divide out — only the voltage ratio survives, squared.
Energy saving = 1 − 0.64 = 0.36 = 36% .
Time cost. t 2 / t 1 = f 1 / f 2 = 1/0.8 = 1.25 , i.e. 25 % longer .
Why this step? Same cycles at 0.8× the tick rate ⇒ 1.25× the wall-clock time.
Verify: units — C [ F ] ⋅ V 2 [ V 2 ] ⋅ N [ count ] has the dimensions of energy up to the constant, and both points share it, so the ratio is unitless. Sanity: voltage entered squared, so a 20 % cut should beat a 20 % saving — 36 % > 20 %. ✓
Worked example Example 2 — halve
f , keep V fixed
We must keep voltage at V (maybe the regulator is locked), but we halve frequency: f ′ = 0.5 f . What happens to power , and to energy for a fixed-work task ?
Forecast: does energy drop, stay the same, or rise?
Power. P ′ = C V 2 ( 0.5 f ) = 0.5 P . Power halves — linear in f .
Why this step? With V untouched, the V 2 factor is frozen; only the f multiplier moves.
Energy for fixed work. E = C V 2 N has no f in it . So E ′ = E — energy is unchanged !
Why this step? We run at half power but for twice as long. Half a flame for double the time = same fuel.
Verify: E ′ / E = ( 0.5 P ) ⋅ ( 2 t ) / ( P ⋅ t ) = 1 . ✓ This is why the parent note calls "just reduce frequency" a mistake — you save instantaneous power but not the energy the battery cares about, unless voltage also drops.
Worked example Example 3 — real P-state jump P0 → P2
Move from P0 ( 1.35 V , 4.0 GHz ) to P2 ( 1.05 V , 2.8 GHz ) . Check the tabulated power, then find fixed-work energy saving.
Forecast: roughly what fraction of P0's power is P2 — a half? a third?
Predict P2 power from the law. P 0 P 2 = ( V 1 V 2 ) 2 f 1 f 2 = ( 1.35 1.05 ) 2 ⋅ 4.0 2.8 .
Why this step? Both factors move, so we multiply the squared-voltage ratio by the linear-frequency ratio.
Compute. ( 0.7778 ) 2 = 0.6049 ; times 0.70 = 0.4234 . So predicted P 2 ≈ 0.4234 × 95 = 40.2 W .
Why this step? The table lists 40 W — our derived law reproduces the datasheet, confirming C eff is roughly constant across states.
Fixed-work energy ratio. Only V 2 matters: E 2 / E 0 = ( 1.05/1.35 ) 2 = 0.6049 , a 39.5 % energy saving , at the cost of 4.0/2.8 = 1.43 × the time.
Verify: 40.2 W ≈ 40 W table value (within 0.5 %). Units of the ratios are unitless. ✓
Worked example Example 4 — encode a video: fast vs slow
A 1-hour encode needs N = 1 0 12 cycles. Compare Option A = run at P0, and Option B = run at P2. Ignore leakage for now (added in Ex 5).
Forecast: which uses less total energy — the fast one or the slow one?
Option A time & energy. t A = 1 0 12 / ( 4.0 × 1 0 9 ) = 250 s ; E A = 95 × 250 = 23 , 750 J .
Why this step? cycles ÷ (cycles/s) = seconds; then energy = power × seconds.
Option B time & energy. t B = 1 0 12 / ( 2.8 × 1 0 9 ) = 357.1 s ; E B = 40 × 357.1 = 14 , 286 J .
Compare. Saving = ( 23750 − 14286 ) /23750 = 39.8% energy, for 43% more time.
Why this step? This is the Race-to-idle vs race-to-dark question: with no leakage floor, slower wins for flexible-deadline batch work.
Verify: E A = C V P 0 2 N and E B = C V P 2 2 N ⇒ ratio should equal Ex 3's 0.6049 ; indeed 14286/23750 = 0.6015 (matches within rounding of the tabulated 40 W). ✓
Worked example Example 5 — when crawling stops paying off
Real total power is P total = dynamic C V 2 f + static V I leak . Redo the video encode adding a leakage current I leak = 8 A (fixed while powered).
Forecast: does adding leakage make the slow option less attractive?
Leakage power at each state. P0: 1.35 × 8 = 10.8 W . P2: 1.05 × 8 = 8.4 W .
Why this step? Static power is V ⋅ I leak — it does not vanish just because switching is slow; it flows as long as the chip is on.
Total power. P0: 95 + 10.8 = 105.8 W . P2: 40 + 8.4 = 48.4 W .
Total energy. A: 105.8 × 250 = 26 , 450 J . B: 48.4 × 357.1 = 17 , 286 J .
Why this step? Slow B runs 43 % longer, so it pays leakage for longer . That erodes some of the win.
New saving = ( 26450 − 17286 ) /26450 = 34.6% — down from 39.8 %.
Why this step? Leakage always favours finishing fast . As leakage grows, the break-even shifts toward race-to-idle. In deep-submicron nodes where leakage is 20–40 % of power, this can flip the answer entirely — motivating Power gating .
Verify: leakage-only energy: A pays 10.8 × 250 = 2700 J , B pays 8.4 × 357.1 = 3000 J — B pays more leakage, exactly why its advantage shrank. Adding these to the Ex 4 dynamic energies reproduces step 3 (23750 + 2700 = 26450 ; 14286 + 3000 = 17286 ). ✓
Worked example Example 6 — a deadline DVFS cannot honour
A robot control loop must finish 5 × 1 0 6 cycles within a 1 ms deadline. Max available frequency is 4.0 GHz . Can we use DVFS to save power?
Forecast: yes, no, or "only after optimisation"?
Required frequency. f m i n = 1 × 1 0 − 3 s 5 × 1 0 6 cycles = 5 × 1 0 9 Hz = 5 GHz .
Why this step? You must push all cycles through before the deadline: cycles ÷ time = the minimum tick rate.
Compare to available. 5 GHz > 4.0 GHz ⇒ even P0 (the fastest ) is too slow. Headroom is negative .
Why this step? DVFS only ever lowers f below the max. If the deadline already demands more than the max, there is nothing to scale down — this is the degenerate cell.
Resolution. Reduce the work: optimise the code to 4 × 1 0 6 cycles. Then f m i n = 4 × 1 0 9 = 4.0 GHz , exactly P0, with 20 % cycle margin.
Why this step? When you can't add speed, you must remove work — the Real-time systems scheduler then pins the CPU at P0 with no DVFS freedom.
Verify: 4 × 1 0 6 / ( 4.0 × 1 0 9 ) = 1.0 × 1 0 − 3 s = 1 ms exactly — deadline just met. ✓
Worked example Example 7 — at what
k does slowing stop saving energy?
Proportional scaling by k gives dynamic energy ∝ k 2 (Ex 1) but runtime ∝ 1/ k , so leakage energy ∝ 1/ k . Total per-task energy (in units where dynamic-at-k = 1 = 1 and leakage-at-k = 1 = L ):
E ( k ) = k 2 + k L .
Find the k that minimises total energy when leakage ratio L = 0.3 .
Forecast: is the best k closer to 1 (run fast) or closer to 0 (crawl)?
Why a minimum exists. As k → 0 , dynamic k 2 → 0 but leakage L / k → ∞ (crawling forever leaks forever). As k → 1 , leakage is cheap but dynamic is maximal. So somewhere between, E ( k ) bottoms out — a classic limiting-behaviour tug-of-war.
Why a derivative here? The bottom of a smooth valley is where the slope is zero — the derivative answers exactly "where does going slower stop helping?"
Set the slope to zero. d k d E = 2 k − k 2 L = 0 ⇒ 2 k 3 = L ⇒ k = ( 2 L ) 1/3 .
Plug in L = 0.3 . k = ( 0.15 ) 1/3 = 0.5313.
Why this step? Below this k , the extra leakage from the longer runtime outweighs the shrinking dynamic energy — the "race-to-dark" boundary.
Verify: second derivative E ′′ ( k ) = 2 + 2 L / k 3 > 0 , confirming a minimum. Numeric check: E ( 0.53 ) = 0.281 + 0.566 = 0.847 vs E ( 0.45 ) = 0.203 + 0.667 = 0.870 (worse) and E ( 0.65 ) = 0.423 + 0.462 = 0.884 (worse) — 0.53 is indeed the valley. ✓
Worked example Example 8 — how much longer does the phone last?
A phone's CPU averages 15 % utilisation while a user reads. Compare no DVFS (always P0, 95 W) to DVFS that spends 8 s of every 10 s at P3 (22 W) and 2 s at P0 (95 W). If the same battery drives everything, by what factor does the browsing session lengthen? (Assume CPU dominates draw.)
Forecast: 1.5×, 2×, or 2.5× longer?
Average power without DVFS. Fixed P0 ⇒ P ˉ fixed = 95 W .
Average power with DVFS. P ˉ dvfs = 10 22 × 8 + 95 × 2 = 10 176 + 190 = 36.6 W .
Why this step? Average power = total energy in a representative 10 s window ÷ 10 s. The quadratic V 2 makes the idle stretches very cheap.
Battery life factor. Same fixed energy budget E batt : life = E batt / P ˉ , so ratio = P ˉ fixed / P ˉ dvfs = 95/36.6 = 2.60.
Why this step? Life is inversely proportional to average draw; dividing the two averages gives the multiplier.
Verify: energy saved fraction = 1 − 36.6/95 = 61.5% — matches the parent note's web-browsing example. Life factor = 1/ ( 1 − 0.615 ) = 2.60 . ✓ This is the "2–3× battery" claim made concrete; the CPU scheduling governor is what picks these P-states from Processor performance counters .
Recall Quick self-test
Halving only frequency changes fixed-work energy how? ::: Not at all — energy = C V 2 N has no f ; you run at half power for double the time.
Proportional scaling by k = 0.8 saves what fraction of energy? ::: 1 − k 2 = 36% .
Why does leakage favour race-to-idle? ::: Static power V I leak is paid per second the chip is on; running slower means paying it longer.
When is DVFS impossible? ::: When the deadline demands f m i n above the maximum available frequency (negative headroom).
With leakage ratio L , the energy-optimal proportional factor is? ::: k = ( L /2 ) 1/3 .
Mnemonic The one-line memory
"Volts squared, freq bare, leakage everywhere." — voltage saves quadratically, frequency only linearly, and leakage keeps burning as long as you stay awake.