Remember the Design Flow

advertisement
System Design&Methodologies
Fö 11/12- 2
Remember the Design Flow
Informal Specification,
Constraints
System Design&Methodologies
Modeling
Functional
Simulation
Arch. Selection
System model
Formal
Verification
System
architecture
Mapping
Estimation
Scheduling
Fö 11/12- 1
System-Level Power/Energy Optimization
1.
Sources of Power Dissipation
2.
Reducing Power Consumption
3.
System Level Power Optimization
4.
Dynamic Power Management
5.
Mapping and Scheduling for Low Energy
6.
Real-Time Scheduling with Dynamic Voltage Scaling
not OK
Mapped and
scheduled model
not OK
Simulation
Formal
Verification
OK
Softw. model
Softw. Generation
Petru Eles, IDA, LiTH
Hardw. Synthesis
Softw. blocks
Simulation
Testing
OK
Prototype
not OK
Hardw. model
Simulation
Hardw. blocks
Fabrication
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 3
System Design&Methodologies
Why is Power Consumption an Issue?
Fö 11/12- 4
Sources of Power Dissipation in CMOS Devices
dynamic
• Portable systems - battery life time!
static
1
2
P = --- ⋅ C ⋅ V DD ⋅ f ⋅ N SW + Q SC ⋅ V DD ⋅ f ⋅ N SW + I leak ⋅ V DD
2
• Systems with a very limited power budget: Mars Pathfinder,
autonomous helicopter, ...
Switching power
Power required to
charge/discharge
circuit nodes
• Desktops and servers: high power consumption
- raises temperature and deteriorates performance & reliability
Short-circ. power
Dissipation due
to short-circuit
current
Leakage power
Dissipation
due to leakage
current
- increases the need for expensive cooling mechanisms
• One of the main difficulties with developing high performance
chips is heat extraction.
• High power consumption has economical and ecological
consequences.
Petru Eles, IDA, LiTH
C
= node capacitances
NSW = switching activities
(number of gate transitions
per clock cycle)
f
= frequency of operation
Petru Eles, IDA, LiTH
VDD = supply voltage
QSC = charge carried by
short circuit current
per transition
Ileak = leakage current
System Design&Methodologies
Fö 11/12- 5
System Design&Methodologies
Sources of Power Dissipation in CMOS Devices (cont’d)
Fö 11/12- 6
Sources of Power Dissipation in CMOS Devices (cont’d)
CMOS transistor (N-type)
CMOS transistor (N-type)
CMOS inverter
Vdd
drain
drain
Vbs
body
te
Vbs
n
ga
The minimal voltage
required at the gate to
turn on the transistor
dr
ai
-
gate
so
ur
ce
n
ga
dr
ai
so
ur
ce
te
Threshold voltage:
gate
source
source
Vbs = body bias voltage
Vth = threshold voltage
Vdd = supply voltage
CL = output load capacitance
Vbs = body bias voltage
Vth = threshold voltage
Petru Eles, IDA, LiTH
Fö 11/12- 7
-
Charging and discharging the
output load capacitance
Momentary short circuits at a
gate’s output
System Design&Methodologies
Sources of Power Dissipation in CMOS Devices (cont’d)
CMOS transistor (N-type)
Vdd
☞
For long:
• Leakage power has been considered negligible compared to
dynamic.
☞
Today:
• Total dissipation from leakage is approaching the total from
dynamic.
☞
As technology drops below 65nm:
• Leakage power is exceeding dynamic.
n
ga
te
dr
ai
gate It flows even when
body
the voltage at the
gate is below Vth
CL
source
Static power
Vbs = body bias voltage
Vth = threshold voltage
Vdd = supply voltage
CL = output load capacitance
Petru Eles, IDA, LiTH
Fö 11/12- 8
Sources of Power Dissipation in CMOS Devices (cont’d)
CMOS inverter
drain
so
ur
ce
Dynamic power
Petru Eles, IDA, LiTH
System Design&Methodologies
Vbs
CL
body
-
Subthreshold leakage
conduction
Junction leakage (drain
and source to body)
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 9
System Design&Methodologies
Power and Energy Consumption
Sources of Power Dissipation in CMOS Devices (cont’d)
☞ Leakage power is consumed even if the circuit is idle (standby). The
only way to avoid is decoupling from power.
Fö 11/12- 10
1
2
P = --- ⋅ C ⋅ V DD ⋅ f ⋅ N SW
2
1
2
E = P ⋅ t = --- ⋅ C ⋅ V DD ⋅ N CY ⋅ N SW
2
☞ Short circuit power can be around 10% of total.
NCY = number of cycles needed for the particular task.
☞ Switching power is still the main source of power consumption.
For the rest of the discussion, we consider mainly switching
power. At the end we come back to leakage.
Petru Eles, IDA, LiTH
• In certain situations we are concerned about power consumption:
- heath dissipation, cooling:
- physical deterioration due to temperature.
• Sometimes we want to reduce total energy consumed:
- battery life.
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 11
System Design&Methodologies
Reducing Power/Energy Consumption (cont’d)
Reducing Power/Energy Consumption
☞ The main sources:
• Reduce supply voltage
• Reduce switching activity
• Reduce capacitance
• Reduce number of cycles
Petru Eles, IDA, LiTH
Fö 11/12- 12
☞ Circuit level
• Ordering of transistors in gate (influences capacitance).
• Transistor sizing.
☞ Logic level
• Don’t-care optimization to reduce switching activity.
• Reduce spurious switching activity by balancing the delays of
paths that converge at each gate.
• Technology mapping.
• State encoding such that switching activity is minimised: if
state s has a large number of transitions to state q, they
should be given uni-distant codes.
• Encoding to minimise switching activity in arithmetic units or
on the bus.
• Gated clocks: Gate the clocks of circuits (registers, gates,
arithmetic units when they are in idle time periods.
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 13
System Design&Methodologies
Reducing Power/Energy Consumption (cont’d)
Fö 11/12- 14
Reducing Power/Energy Consumption (cont’d)
☞ Architecture level
☞ Behavioral level
• Schedule and map operations so that number of cycles is
minimised (with increased number of switching per clock
cycle)  you can run at slower clock rate  you can reduce
supply voltage.
• Allocate and share modules so that power consumption is
reduced (for example, by reducing switching activity)
Petru Eles, IDA, LiTH
• Specialise instruction set, datapath, register structure to the
particular architecture, with power consumption as an optimization
goal (see flow in Fö. 9).
- You have on the chip and you switch only those resources
(gates) you really need.
• Reduce power consumption on the bus.
- lower switching activity: clever encoding, reduce switching activity on the address bus by exploiting correlations;
- minimise the bus length (capacitance) by optimal module
placement.
- bus segmentation: transform a long heavily loaded global bus
into a partitioned set of local bus segments.
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 15
System Design&Methodologies
Reducing Power/Energy Consumption (cont’d)
Fö 11/12- 16
Reducing Power/Energy Consumption (cont’d)
• Optimise the memory structure.
- Memory transfers are extremely power hungry: a memory
transfer takes 33 times more energy than an addition!
Reducing the number of memory accesses is a very efficient
way to save power!
- Adapt the number of caches, their size and associativity, and
the length of the cache line to the application  reduce
number of memory transfers.
- Interesting trade-off: larger caches consume more power but
reduce number of memory transfers  find the right balance!
Petru Eles, IDA, LiTH
• Provide instruction support for Power management:
- Instructions which allow to put in stand-by or shut down certain
parts of the system.
- Instructions which allow to dynamically fix the supply voltage
(dynamic voltage scaling).
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 17
System Design&Methodologies
Fö 11/12- 18
System Level Power Optimization
Reducing Power/Energy Consumption (cont’d)
☞ System Level
Three techniques will be discussed:
• Static techniques are applied at design time.
- Compilation for low power: instruction selection considering
their power profile, data placement in memory, register
allocation.
- Algorithm design: find the algorithm which is the most powerefficient.
- Task mapping and scheduling.
• Dynamic techniques are applied at run time.
- These techniques are applied at run-time in order to reduce
power consumption by exploiting idle or low-workload periods.
Petru Eles, IDA, LiTH
1. Dynamic power management: a dynamic technique.
2. Task mapping: a static technique.
3. Task scheduling with dynamic power scaling: static & dynamic.
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 19
System Design&Methodologies
Dynamic Power Management (cont’d)
Dynamic Power Management (DPM)
Decisions:
application
power aware OS
hardware
• Switching among multiple power
states:
• idle
• sleep
• run
• Switching among multiple
frequencies and voltage levels.
Goal:
• Energy optimization
• QoS constraints satisfied
Petru Eles, IDA, LiTH
Fö 11/12- 20
Hardware Support (e.g. Intel Xscale Processor)
• RUN: operational
• IDLE: Clocks to the
CPU are disabled;
recovery is through
interrupt.
• SLEEP: Mainly
powered off;
recovery through
wake-up event.
• Other intermediate
states: DEEP
IDLE, STANDBY,
DEEP SLEEP
Petru Eles, IDA, LiTH
0.75V, 60mW
150MHz
1.3V, 450mW
RUN
RUN
600MHz
RUN
1.6V, 900mW
RUN
800MHz
160μs
RUN
10μs
1.5ms
10μs
IDLE
40mW
140ms
90μs
SLEEP
160μW
System Design&Methodologies
Fö 11/12- 21
System Design&Methodologies
The Basic Concept of DPM
Dynamic Power Management (cont’d)
☞ DPM techniques are used in laptops, personal digital assistants
(PDAs), and other portable appliances in order to shut down or
place in stand-by unused devices.
The goal is power saving.
☞ DPM techniques are implemented in the operating system
(including Windows 2000 running on laptops).
☞ The power breakdown for a laptop computer:
- 36% of total power consumed by the display
- 18% by hard-disk
- 18% by wireless LAN interface
- 7% by keyboard, mouse, etc.
- 21% by digital VLSI circuits.
• When there are requests for a device  the device is busy;
otherwise it is idle.
• When the device is idle, it can be shut down to enter a low-power
sleeping state.
Workload Requests
Device state
don’t forget
these!
Power state
Requests
Busy
Busy
Idle
Tsd
Working
Sleeping
Twu Working
?
T1 T2 T3
Petru Eles, IDA, LiTH
T4
Time
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 23
System Design&Methodologies
The Basic Concept of DPM (cont’d)
☞ Changing the power state takes time (several seconds) and extra energy.
• Tsd : shutdown delay
• Twu : wake-up delay
Send the device to sleep only if the saved energy justifies the overhead!
☞ The main Problems:
• Don’t shut down such that delays occur too frequently.
• Don’t shut down such that the savings due to the sleeping are
smaller than the power overhead of the state changes.
Petru Eles, IDA, LiTH
Fö 11/12- 22
Fö 11/12- 24
Power Management Policies
• Power management policies are concerned with predictions
related to idle periods:
- For shut-down: try to predict how long the idle period will be in
order to decide if a shut-down should be performed.
- For wake-up: try to predict when the idle period ends, in order
to avoid user delays due to Twu.
It is quite difficult, and often the wake-up is started simply
when a request has arrived.
• Typical Policies:
1. Time-out
2. Predictive
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 25
System Design&Methodologies
Predictive Policy
Time-out Policy
• Drawback: you waste energy during the period τ (compared to
instantaneous shut-down).
• Policies:
- Fixed time-out period: you set the value of τ, which then stays constant.
- Adjusted at run-time: increase or decrease τ, depending on the
length of previous idle periods.
☞ The length of an idle period is predicted. If the prediction is for an idle
period long enough, the shut-down is performed immediately (no time
interval T1 - T2 on slide 22).
• Example Policy
Shut down after
Idle Period
- L-shaped distribution for ---------------------------------------------------;
Previous Busy Period short busy period!
Short busy periods
are followed by
long idle periods.
Idle Period
☞ It is assumed that, after a device is idle for a period τ (the interval T1 - T2
on slide 22), it will stay idle for at least a period which makes it efficient
to shut down.
Busy periods longer
than a threshold θ
are followed by
short idle periods.
θ
Petru Eles, IDA, LiTH
Busy Period
Attention!
This is just a very particular example for a policy!
it has been proposed for
a very particular application!
Such policies, if they can
be found at all, will differ
very much from application to application.
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 27
System Design&Methodologies
More Advanced Prediction Policies
☞ In the previous example it is assumed that we have a single, known
application running, that we can perform profiling on this application,
and draw a clear conclusion regarding its run-time behaviour (like
expressed by the “L-shape” diagram).
☞ Very often the above assumptions are not true:
• We do not know in advance all application running on the system;
• The behaviour of the applications changes during run-time,
depending on input data.
☞ In such cases more advanced run-time prediction techniques can be
applied like e.g. based on statistics, stochastic modelling, and
machine learning
Petru Eles, IDA, LiTH
Fö 11/12- 26
Fö 11/12- 28
Mapping and Scheduling for Low Energy
☞ For many embedded systems DPM techniques, like presented
before, cannot be applied:
• They have no devices like hard-disk, no (or small) display 
VLSI is a main source of power dissipation.
• They have time constraints  we have to keep deadlines
(usually we cannot afford shut-down and wake-up times).
• The operating system is small  no sophisticated techniques at
run-time.
• The application is known at design time  we know a lot about
the application already at design time.
☞ Static techniques can be used (applied at design time).
Mapping and scheduling for low energy are important!
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 29
System Design&Methodologies
Fö 11/12- 30
Mapping for Low Energy
Mapping for Low Energy (cont’d)
τ1
τ2
τ3
τ5
WCET
Task
τ1
τ2
τ3
τ4
τ5
τ6
τ7
τ8
τ6
τ4
τ7
τ8
μp3
Energy
μp3
μp4
μp3
μp4
5
6
5
3
7
9
8
4
5
6
5
3
8
10
6
4
10
11
8
6
17
21
15
10
10
14
8
7
15
19
14
9
μp4
Consider a mapping:
μp3: τ1, τ3, τ6, τ7, τ8.
μp4: τ2, τ4, τ5.
Execution time: 52;
Time
μp3
Communication times and energy:
C1-2: t = 1; E = 3.
C3-5: t = 2; E = 5.
C4-8: t = 1; E = 3.
C5-7: t = 1; E = 3.
Energy consumed: 75.
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64
τ1
τ3
τ6
τ2
μp4
τ7
τ5
τ8
τ4
bus
C1-2
C3-5
C5-7
C4-8
Bus
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 31
System Design&Methodologies
Mapping for Low Energy (cont’d)
Consider a mapping:
μp3: τ1, τ3, τ6, τ7.
μp4: τ2, τ4, τ5, τ8.
Execution time: 57;
Time
μp3
Communication times and energy:
C1-2: t = 1; E = 3.
C3-5: t = 2; E = 5.
C7-8: t = 1; E = 3.
C5-7: t = 1; E = 3.
τ3
τ6
τ2
μp4
τ7
τ5
τ4
Mapping for Low Energy (cont’d)
The second mapping with τ8 on μp4 consumes less energy;
Assume that we have a maximum allowed delay = 60.
Energy consumed: 70.
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64
τ1
This second mapping is preferable, even if it is slower!
τ8
bus
C1-2
Petru Eles, IDA, LiTH
C3-5
C5-7
Fö 11/12- 32
C7-8
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 33
Real-Time Scheduling with Dynamic Voltage Scaling
System Design&Methodologies
Fö 11/12- 34
Real-Time Scheduling with Dynamic Voltage Scaling (cont’d)
☞ The energy consumed by a task, due to switching power (slide 6):
1
2
E = --- ⋅ C ⋅ V DD ⋅ N CY ⋅ N SW
2
NSW = number of gate transitions
per clock cycle.
NCY = number of cycles needed
for the task.
• Reducing supply voltage VDD is the most efficient way to reduce
energy consumption.
☞ The frequency at which the processor can be operated depends on VDD:
2
( V DD – V t )
f = k ⋅ --------------------------- , k: circuit dependent constant; Vt: threshold voltage.
V DD
The execution time of the task:
V DD
t exe = N CY ⋅ ---------------------------------2
k ⋅ ( VDD – V t )
The scheduling problem (Fö9/10, slide 8):
Which task to execute at a certain moment on a certain processor so
that time constraints are fulfilled?
The scheduling problem with voltage scaling:
Which task to execute at a certain moment on a certain processor, and
at which voltage level, so that time constraints are fulfilled and energy
consumption is minimised?
☞ The problem: reducing supply voltage extends execution time!
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 35
System Design&Methodologies
Fö 11/12- 36
Variable Voltage Processors
The Basic Principle
We consider a single task τ:
• Several supply voltage levels are available.
• Supply voltage can be fixed by the application (operating system)
through execution of particular instructions.
- total computation: 109 execution cycles.
- deadline: 25 seconds.
- processor nominal (maximum) voltage: 5V.
- energy: 40 nJ/cycle at nominal voltage.
- processor speed: 50MHz (50×106 cycles/sec) at nominal voltage.
V2
• Frequency is adjusted to the current supply voltage.
109 cycles
52
Etotal = 40 J
slack
texe = 20 sec
• Several processors with variable voltage levels are already
available. There will be more and more in the near future.
0
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
5
10
15
20
25
time (sec)
System Design&Methodologies
Fö 11/12- 37
System Design&Methodologies
Fö 11/12- 38
The Basic Principle (cont’d)
The Basic Principle (cont’d)
Let’s make it slower!
• VDD = 4V
- energy: 40×42/52 = 25nJ/cycle.
- speed: 50×4/5 = 40MHz
• VDD = 2.5V
- energy: 40×2.52/52 = 10nJ/cycle.
- speed: 50×2.5/5 = 25MHz
V2
750×106 cycles
V2
250×106 cycles
52
Etotal = 32.5 J
texe = 25 sec
109 cycles
52
Etotal = 25 J
42
texe = 25 sec
2.52
0
5
10
15
20
25
time (sec)
0
Petru Eles, IDA, LiTH
5
15
20
25
time (sec)
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 39
System Design&Methodologies
Fö 11/12- 40
The Basic Principle (cont’d)
☞ If a processor uses a single supply voltage and completes a
program just on deadline, the energy consumption is minimised.
Consider two tasks τ1, τ2:
• Computation
- τ1: 250×106 execution cycles; τ2: 750×106 execution cycles;
• Deadline: 25 seconds.
• Processor nominal (maximum) voltage: 5V.
τ1
• Energy:
- 40 nJ/cycle at nominal voltage.
- 25 nJ/cycle at VDD = 4V.
τ2
• Processor speed:
6
- 50MHz (50×10 cycles/sec) at nominal voltage.
- 40MHz at VDD = 4V.
Petru Eles, IDA, LiTH
10
The Basic Principle (cont’d)
• Find the voltage so that the tasks just meet their deadline  you
have minimised energy consumption!
6
V2 250×10
cycles
750×106 cycles
42
Etotal = 25 J
τ1
0
Petru Eles, IDA, LiTH
τ2
5
10
15
20
25
time (sec)
System Design&Methodologies
Fö 11/12- 41
System Design&Methodologies
Considering Task Particularities
Energy consumed by a task:
1
2
E = --- ⋅ C ⋅ V DD ⋅ N CY ⋅ N SW
2
Considering Task Particularities (cont’d)
NSW = number of gate transitions
per clock cycle.
C = switched capacitance per
clock cycle.
Average energy consumed by task per cycle:
1
2
E CY = --- ⋅ C ⋅ V DD ⋅ N SW
2
☞ Often tasks differ from each other in terms of executed operations
 NSW and C differ from one task to the other.
The average energy consumed per cycle differs from task to task.
Petru Eles, IDA, LiTH
Consider two tasks τ1, τ2:
• Computation
- τ1: 250×106 execution cycles; τ2: 750×106 execution cycles;
• Deadline: 25 seconds.
• Processor nominal (maximum) voltage: 5V.
τ1
• Processor speed:
6
- 50MHz (50×10 cycles/sec) at nominal voltage.
τ2
- 40MHz at VDD = 4V.
- 25MHz at VDD = 2.5V.
•
Energy τ1
- 50 nJ/cycle at VDD = 5V.
- 32 nJ/cycle at VDD = 4V.
- 12.5 nJ/cycle at VDD = 2.5V.
•
Energy τ2
- 12.5 nJ/cycle at VDD = 5V.
- 8 nJ/cycle at VDD = 4V.
- 3 nJ/cycle at VDD = 2.5V.
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 43
System Design&Methodologies
Considering Task Particularities (cont’d)
☞ Here we have a solution with VDD = 4V, and deadline just fulfilled:
Etotal = 32nJ/cycle × 250 × 106cycles + 8nJ/cycle × 750 × 106cycles
V2
Fö 11/12- 42
250×106
cycles
750×106 cycles
Fö 11/12- 44
Considering Task Particularities (cont’d)
☞ Here we run τ1 at VDD = 2.5V, and τ2 at VDD = 5V; the tasks finish
just on deadline.
Etotal = 12.5nJ/cycle × 250 × 106cycles + 12.5nJ/cycle × 750 × 106cycles
V2 250×106 cycles
750×106 cycles
52
42
τ1
0
Petru Eles, IDA, LiTH
Etotal = 12.5 J
Etotal = 14 J
τ2
τ2
5
10
15
2.52
20
25
time (sec)
0
Petru Eles, IDA, LiTH
τ1
5
10
15
20
25
time (sec)
System Design&Methodologies
Fö 11/12- 45
System Design&Methodologies
Fö 11/12- 46
Discrete Voltage Levels
Considering Task Particularities (cont’d)
☞ If power consumption per cycle is not constant (but differs from task
to task), the rule on slide 33 is not true any more.
Voltage levels have to be reduced with priority for those tasks which
have a larger energy consumption per cycle.
☞ One particular voltage level has to be established for each task, so
that deadlines are just satisfied.
☞ Practical microprocessors can work only at a finite number of discrete
voltage levels.
The “ideal” voltage Videal, determined for a certain task does not exist.
☞ A task is supposed to run for time texe at the voltage Videal.
On the particular processor the two closest available neighbours to
Videal are: V1 < Videal < V2.
You have minimised the energy if you run the task for time t1 at
voltage V1 and for t2 at voltage V2, so that t1 + t2 = texe.
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 47
System Design&Methodologies
Scheduling Policies
Fö 11/12- 48
The Pitfalls with Ignoring Leakage
2
☞ The techniques described here, in order to find optimal voltage
levels for real-time tasks, can be applied both with:
E = NC ⋅ C eff ⋅ V dd + L g ⋅ ( V dd ⋅ K 3 ⋅ e
Minimise this and
ignore the rest!
• Static cyclic scheduling
• Priority-based scheduling
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
K 4 ⋅ V dd
⋅e
K 5 ⋅ V bs
+ V bs ⋅ I ju ) ⋅ t
System Design&Methodologies
Fö 11/12- 49
System Design&Methodologies
Fö 11/12- 50
The Pitfalls with Ignoring Leakage
2
E = NC ⋅ C eff ⋅ V dd + L g ⋅ ( V dd ⋅ K 3 ⋅ e
E = NC ⋅ C eff ⋅
2
V dd
+ L g ⋅ ( V dd ⋅ K 3 ⋅ e
K 4 ⋅ V dd
⋅e
K 5 ⋅ V bs
K 4 ⋅ V dd
⋅e
K 5 ⋅ V bs
+ V bs ⋅ I ju ) ⋅ t
+ V bs ⋅ I ju ) ⋅ t
Dynamic decreases
with Vdd regardless
of increased time.
Leakage decreases
with Vdd, but growth
with time!
1. We don’t optimize global energy but only a part of it!
Energy per Cycle
8e-10
70nm technology, Crusoe processor
7e-10
6e-10
5e-10
4e-10
3e-10
Dynamic energy
2e-10
1e-10
2. We can get it even very wrong and increase energy
0
consumption!
0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95
1 Vdd
Jejurikar et. al., DAC’04
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
System Design&Methodologies
Fö 11/12- 51
2
E = NC ⋅ C eff ⋅ V dd + L g ⋅ ( V dd ⋅ K 3 ⋅ e
K 4 ⋅ V dd
⋅e
K 5 ⋅ V bs
+ V bs ⋅ I ju ) ⋅ t
System Design&Methodologies
2
E = NC ⋅ C eff ⋅ V dd + L g ⋅ ( V dd ⋅ K 3 ⋅ e
5e-10
4e-10
3e-10
Dynamic energy
2e-10
1e-10
0
Leakage energy
Energy per Cycle
Energy per Cycle
70nm technology, Crusoe processor
6e-10
7e-10
Jejurikar et. al., DAC’04
Petru Eles, IDA, LiTH
1 Vdd
⋅e
K 5 ⋅ V bs
+ V bs ⋅ I ju ) ⋅ t
6e-10
5e-10
Dynamic + Leakage
4e-10
3e-10
Dynamic energy
2e-10
1e-10
0
0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95
K 4 ⋅ V dd
Critical point!
If you go beyond this
70nm
with technology
Vdd energy grows
8e-10
8e-10
7e-10
Fö 11/12- 52
0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95
Jejurikar et. al., DAC’04
Petru Eles, IDA, LiTH
Leakage energy
1 Vdd
System Design&Methodologies
Fö 11/12- 53
System Design&Methodologies
Summary
• Power consumption becomes a central issue for embedded
systems design.
• Power/energy consumption can be reduced by reducing supply
voltage, switching activity, switched capacitance, number of
executed cycles.
• There are means at all levels of the design to reduce power
consumption: circuit, logic, behavioral, architecture, system level.
• At system level we distinguish dynamic techniques (applied during
run-time) and static techniques (applied at design time).
Petru Eles, IDA, LiTH
Fö 11/12- 54
Summary (cont’d)
• Dynamic power management is implemented by the operating
system, and is mainly used in portable appliances to shut down or
place in stand-by unused devices.
• Typical policies for power management are: time-out, predictive,
and stochastic.
• Both at task mapping and at scheduling, design decisions can be
made with have a huge impact on power/energy consumption.
• Real-time scheduling in the context of processors with voltage
scaling is extremely interesting. The main trade-off is voltage level
vs. execution time. One has to find the optimal voltage levels such
that energy consumption is reduced and deadlines are still
fulfilled.
Petru Eles, IDA, LiTH
Download