Power Optimization:
General Principles
Outline
• The energy-performance design space
• Principles of energy-efficient design
• Classification of approaches & plan
M. Poncino - Politecnico di Torino 2
The energy-performance
design space
Energy/Performance Space
• Power metrics expose an unavoidable
power/performance tradeoff
- Not new! As for area/delay tradeoffs in logic synthesis…
- Pareto points…
• This is the central concept around which all techniques
evolve…
• We define and energy/performance space
- Different “moves” on the plot correspond to different
strategies
M. Poncino - Politecnico di Torino 4
Energy-Performance tradeoff
Initial design
Power
Power-optimal design (iso-perf)
Design within power budget
Power budget
Performance
OPTIMAL POWER – PERFORMANCE TRADEOFF CURVE
M. Poncino - Politecnico di Torino 5
Example for an Adder
M. Poncino - Politecnico di Torino 6
Energy-Performance sensitivity
• The shape of the tradeoff curve is typically convex, which
implies different correlation between the two metrics
• Sensitivity = how much the change in one variable
affects the other one
• In our context, there will be a performance and an
energy sensitivityto slope of Pareto curve
M. Poncino - Politecnico di Torino 8
Sensitivity in E-D Space
A small performance
penalty can yield a
Power
huge power reduction Low perf. sens/
A small power
reduction implies high energy sens
huge performance
penalties
Low energy sens/ Performance
high perf. sens
M. Poncino - Politecnico di Torino 9
Low Power Design Strategies
Three main classes of methods to reduce energy:
• “Cheating”
- Reducing the performance of the design
• Reducing energy waste
- Stop using energy for stuff that does not produce results
- Stop waiting for stuff that you don’t need (parallelism)
• Problem reformulation
- Reduce work (less energy and less delay)
M. Poncino - Politecnico di Torino 10
“Cheating”
• i.e., not actually solving the problem:
• Reducing performance can always
reduce energy
- There are many ways to reduce
performance
• Good techniques must lower the optimal curve
- “Sensitivity” of technique
• Must be better than current curve
• This depends on location on the curve
M. Poncino - Politecnico di Torino 11
Reducing Energy Waste
• i.e., avoid useless computation
• Have the resource doing something less costly while idling
May make design
worse when energy
sensitivity is high
Energy/op
Performance
M. Poncino - Politecnico di Torino 12
Problem Reformulation
• i.e., do an equivalent thing with less effort
• Save energy by doing less work
- Energy directly reduced by the reduction in work
- But required time for the function decreases as well
• Convert this into extra power gains
- Shifts the optimal curve down and to the right
Energy/op
Performance
M. Poncino - Politecnico di Torino 13
Basic principles of
energy-efficient design
Basic principles (in random order…)
1) Act on the variables that affect power
- E.g., Vdd, Vth, capacitance, activity, technology paramenters…
- Many embodiments at different abstraction levels
- Some (most?) of them will impact other metrics or other
components of power (e.g., Vdd scaling)
M. Poncino - Politecnico di Torino 15
Examples
• Example of 1) at the architecture level
- Lower Vdd and use a parallel implementation
Dref =Tadder + Tcomp
Pref = Cref V2ref fref
fpar = fref /2
Vpar = Vref ⋅ b b<1
Cpar = Cref ⋅ a a>1 Ppar = Cpar V2par fpar
Ex: a=1.15, b=0.85 Ppar 0.36 Pref
M. Poncino - Politecnico di Torino 16
Basic principles (in random order…)
2) Exploit idleness avoid useless work turn off
components
- Choice of actual implementation of standby dictated by
technology (leakage, tech node, noise…)
M. Poncino - Politecnico di Torino 17
Examples
• Example of 2) at the circuit/RTL level
- Gate clock during idle cycles
D_in Reg D_out
EN bank
CLK
D_in Reg
if (EN AND clk’event) then bank D_out
D_out <= D_in EN
Latch
Else GCLK
D_out <= D_out
CLK
M. Poncino - Politecnico di Torino 18
Basic principles (in random order…)
3) Exploit common case
- Power and energy are cumulative (average) quantities
- Workload is not constant match workload to resources
• Use what you neeed
• High-workload to heavier resources,
small workloads to lighter ones
M. Poncino - Politecnico di Torino 19
Examples
• Example of 3) at the architectural level
- “Precomputation”/common case computation
inputs
1
C1 outputs
(whole
function)
Subset
of inputs C2 C1 and C2
0
(reduced Typically mutually exclusive
function)
FF
Sel
M. Poncino - Politecnico di Torino 20
Examples
• Example of 3) at the system/architecture level
- ARM Big/Little (used e.g., in Samsung’s smartphones)
M. Poncino - Politecnico di Torino 21