Embedded Systems Information

advertisement
TDDD93
Fö “Embedded Systems” - 1
TDDD93
Fö “Embedded Systems” - 2
Information
TDDD93 Large-Scale Distributed Systems and Networks
Lecture notes: available from the course page, latest 24
hours before the lecture.
Lectures on
Embedded Systems
Recommended literature:
Peter Marwedel: "Embedded System Design",
Springer, 2nd edition, 2011.
Petru Eles
Institutionen för Datavetenskap (IDA)
Linköpings Universitet
Wayne Wolf: "Computers as Components. Principles of
Embedded Computing System Design",
Morgan Kaufmann Publishers, 2nd edition,
2008.
email: petel@ida.liu.se
http://www.ida.liu.se/~petel
phone: 28 1396
B building, 329:220
Edward Lee, Sanjit Seshia: “Introduction to Embedded
Systems - A Cyber-Physical Systems
Approach”, LeeSeshia.org, 2011.
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 3
TDDD93
That’s how we use microprocessors
Embedded Systems and Their Design
1. What is an Embedded System
2. Characteristics of Embedded Applications
3. Modeling of Embedded systems
4. The Traditional Design Flow
5. An Example
6. A New Design Flow
7. System Level Design
8. Power/Energy Consumption - a Major Issue
Petru Eles, IDA, LiTH
Fö “Embedded Systems”- 4
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 5
TDDD93
Fö “Embedded Systems”- 6
What is an Embedded System?
What is an Embedded System? (cont’d)
There are several definitions around!
Some of the main characteristics:
☞ Some highlight what it is (not) used for:
“An embedded system is any sort of device which includes a
programmable component but itself is not intended to be a general
purpose computer.”
• Dedicated (not general purpose)
• Contains a programmable component
☞ Some focus on what it is built from:
• Interacts (continuously) with the environment
“An embedded system is a collection of programmable parts
surrounded by ASICs and other standard components, that interact
continuously with an environment through sensors and actuators.”
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 7
TDDD93
Fö “Embedded Systems”- 8
Distributed Embedded System (automotive application)
A Look at Two Typical Implementation Architectures
Actuators
Sensors
Telecommunication System on Chip
RF
A/D
&
D/A
DSP core
RAM
High-Speed
DSP Blocks
RISC core
RAM
Control
Logic
Interface
Input/Output
RAM
CPU
LAN
Programmable processor
FLASH
Network Interface
Gateway
ASIC block (Application Specific Integrated Circuit) dedicated
electronics
Standard block
Memory
Gateway
Reconfigurable logic (FPGA)
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 9
TDDD93
Fö “Embedded Systems”- 10
The Software Component
Characteristics of Embedded Applications
What makes them special?
Software running on the programmable processors:
• Application tasks
☞ Like with “ordinary” applications, functionality and user interfaces
are often very complex.
• Real-Time Operating System
But, in addition to this:
• Time constraints
• I/O drivers, Network protocols, Middleware
• Power constraints
• Cost constraints
• Safety
• Time to market
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 11
TDDD93
Fö “Embedded Systems”- 12
Characteristics of Embedded Applications (cont’d)
Characteristics of Embedded Applications (cont’d)
☞ Power constraints:
☞ Time constraints:
Embedded systems have to perform in real-time: if data is not ready
by a certain deadline, the system fails to perform correctly.
- Hard deadline: failure to meet leads to major hazards.
- Soft deadline: failure to meet can be tolerated but quality of
service is reduced.
There are several reasons why low power/energy consumption is
required:
• Cost aspects:
High power consumption ⇒ strong power supply
expensive cooling system
• Battery life
High energy consumption ⇒ short battery life time
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 13
TDDD93
Fö “Embedded Systems”- 14
Characteristics of Embedded Applications (cont’d)
Characteristics of Embedded Applications (cont’d)
☞ Cost constraints: Embedded systems are very often mass products
in highly competitive markets and have to be shipped at a low cost.
☞ Safety critical:
Embedded systems are often used in life critical applications:
avionics, automotive electronics, nuclear plants, medical
applications, military applications, etc.
What we are interested in:
- Manufacturing cost
- Design cost
Factors: design time, type of components used (processor,
memory, I/O devices), technology, testing time, power
consumption, etc.
• Reliability and safety are major requirements.
In order to guarantee safety during design:
- Formal verification: mathematics-based methods to verify
certain properties of the designed system.
• Non-recurring engineering (NRE) costs (such as design cost,
masks, prototypes) are becoming very high ⇒
- It is very difficult to come out with low quantity products;
- Hardware and software platforms are introduced which are
used for several products in a family;
Petru Eles, IDA, LiTH
- Automatic synthesis: certain design steps are automatically
performed by design tools.
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 15
TDDD93
Fö “Embedded Systems”- 16
Why is Design of Embedded Systems Difficult?
Characteristics of Embedded Applications (cont’d)
☞ Short time to market:
In highly competitive markets it is critical to catch the market
window: a short delay with the product on the market can have
catastrophic financial consequences (even if the quality of the
product is excellent).
• Design time has to be reduced!
- Good design methodologies.
- Efficient design tools.
- Reuse of previously designed and verified (hardware and
software) blocks.
- Good designers who understand both software and hardware!
Petru Eles, IDA, LiTH
•
•
•
•
•
High Complexity
Strong time and power constraints
Low cost
Short time to market
Safety critical systems
☞ In order to achieve all these requirements, systems have to be
highly optimized.
Both hardware and software aspects have to be considered
simultaneously!
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 17
TDDD93
Fö “Embedded Systems”- 18
Modelling Embedded Systems
Dataflow Models
• The design flow starts from an informal description of the desired
functionality and constraints.
☞ Systems are specified as directed graphs where:
- nodes represent computations (processes);
- arcs represent totally ordered sequences (streams) of
data (tokens).
• Before the actual design is performed, a more formal abstract
model, capturing the required behaviour, is produced.
• This model is an abstraction, hiding many details and only
capturing the aspects that are most relevant for starting the actual
design flow.
• There are several modeling approaches (and modeling
languages) used for embedded system design; we give two
examples in the following: Dataflow Models and Finite State
Machines.
Petru Eles, IDA, LiTH
☞ Dataflow models are suitable for signal-processing algorithms:
- Code/decode, filter, compression, streaming video, etc.
☞ There are several models based on Dataflow: Kahn Process
Networks (KPN), Synchronous Dataflow Models (SDF), etc.
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 19
TDDD93
Fö “Embedded Systems”- 20
Dataflow Models (cont’d)
Dataflow Models (cont’d)
KPN model of an encoder for the Motion JPEG (M-JPEG) video
compression format:
HeaderInfo
VLE
ble
ffT
a
Hu
QTables
P2
BitRate CtrlF1
Packets
1
1
1 Biq 1
1
Add
1
1
1
sc
2
1
2
In
1
StatisticsF
TablesInfo
Petru Eles, IDA, LiTH
1 Biq 1
Fork
Video
Out
EndOfFrame
Q
Block
s
DCT
Block
1
StatisticsB
P1
Block
SDF model of a Modem:
Petru Eles, IDA, LiTH
1
Filt
1 8
Hil
2 4
2
Eq
2 2
Fork
2
1
Mul
2
2
Mul
2
Conj
2
1
2
2
2
Deci
1
2 2
Deco
1 1
Out
TDDD93
Fö “Embedded Systems”- 21
TDDD93
Fö “Embedded Systems”- 22
Finite State Machines
Finite State Machines (cont’d)
• The system is characterised by explicitly depicting its states as
well as the transitions from one state to another.
Elevator controller
• Input events {r1, r2, r3}
- ri: request from floor i.
• One particular state is specified as the initial one
r1/n
input event
r2/u1
S1
• Outputs {d2, d1, n, u1, u2}
- di: go down i floors
- ui: go up i floors
- n: stay idle
• Transitions generate outputs.
• FSMs are suitable for modeling control dominated reactive
systems (react on inputs with specific outputs; not much
computation)
Petru Eles, IDA, LiTH
initial state
r1 /
u
r2/n
S2
r1/d1
r3 /
• States and transitions are in a finite number.
• Transitions are triggered by input events.
output
d1
r 2/
u1
r 3/
2
d
2
S3
r3/n
• States {S1, S2, S3}
- Si: elevator is at floor i.
(In the model we have assumed that there
are no two requests coming simultaneously)
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems” - 24
The Traditional Design Flow
It works like this (or even worse):
TDDD93
Fö “Embedded Systems”- 23
A Design Example
The system to be implemented is modelled as a
synchronous dataflow model (a task graph):
T1
T2
T3
T5
T6
• a node represents a task (a unit of functionality
activated as response to a certain input and which
generates a certain output).
• an edge represents a precedence constraint and data
dependency between two tasks.
1. Start from some informal specification of
functionality and a set of constraints (time and
power constraints, cost limits, etc.)
2. Generate a more formal model of the functionality,
based on some modeling concept (finite state
machine, data-flow, etc.).
This model is in Matlab, Statecharts, C, UML, VHDL.
Such a model is our task graph (slide 23).
3. Simulate the model in order to check the
functionality. If needed make adjustments.
Period: 42 time units
T4
T7
T8
• The task graph is activated every 42 time units ⇒ one
activation has to be terminated in time less than 42.
Cost limit: 8
• The total cost of the implemented system has to be
less than 8.
Petru Eles, IDA, LiTH
4. Choose an architecture (µprocessor, buses, etc.)
such that the cost limits are satisfied and, you hope,
that time and power constraints will be fulfilled.
5. Build a prototype and implement the system.
6. Verify the system: neither time nor power constraints
are satisfied!!!
☞ Now you are in great trouble: you have spent a lot of
time and money and nothing works!
• Go back to 4 and choose another architecture and
start a new implementation.
• Or negotiate with the customer on the constraints.
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems” - 25
The Traditional Design Flow (cont’d)
Informal Specification,
Constraints
TDDD93
Fö “Embedded Systems”- 26
Modeling
The Traditional Design Flow (cont’d)
System
Model
Select Architecture
Functional
Simulation
More work
should be
done here!
• Delays in the design process
- Increased design cost
- Delays in time to market ⇒ missed market window
• High cost of failed prototypes
• Bad design decisions taken under time pressure
- Low quality, high cost products
Hardware and
Software
Implementation
not OK
What are the consequences:
Petru Eles, IDA, LiTH
Testing
Prototype
OK
Fabrication
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 27
TDDD93
Fö “Embedded Systems”- 28
Example
Let’s come back to the example on slide 23.
• We have the system model (task graph) which has been validated
by simulation. What next?
☞ We decide on a certain µprocessor µp1, with cost 4.
☞ For each task the worst case execution time (WCET) when
executed on µp1 is estimated.
Petru Eles, IDA, LiTH
Example (cont’d)
Task WCET
T1
4
T2
6
T3
4
T4
7
T5
8
T6
12
T7
7
T8
10
Petru Eles, IDA, LiTH
task
----------
Estimator
WCET
µprocessor
arch. model
TDDD93
Fö “Embedded Systems”- 29
TDDD93
Example (cont’d)
Fö “Embedded Systems”- 30
Example (cont’d)
☞ A schedule:
☞ We look after a µprocessor which is fast enough: µp2
Time
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
T1
T2
T4
T3
T5
T6
T7
☞ For each task the WCET, when executed on µp2, is estimated.
T8
Task WCET
Using this architecture we got a solution with:
Using this architecture we got a solution with:
• Execution time: 28 < 42
• Execution time: 58 > 42
• Cost: 15 > 8
• Cost: 4 < 8
☞ We have to try with another architecture!
☞ We have to try with another architecture!
Petru Eles, IDA, LiTH
2
3
T3
2
T4
3
T5
4
T6
6
T7
3
T8
5
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 31
TDDD93
Example (cont’d)
☞ For each task the WCET, when executed
on µp3 and µp4, is estimated.
µp3
µp4
Bus
Fö “Embedded Systems”- 32
Example (cont’d)
☞ Now we have to look to a multiprocessor solution.
In order to meet cost constraints we try two cheap (and slow) µps:
µp3: cost 3
µp4: cost 2
WCET
interconnection bus: cost 1
Task
Petru Eles, IDA, LiTH
T1
T2
µp3
µp4
T1
5
6
T2
7
9
T3
5
6
T4
8
10
T5
10
11
T6
17
21
T7
10
14
T8
15
19
☞ Now we have to map the tasks to processors.
µp3: T1, T3, T5, T6, T7, T8.
µp4: T2, T4.
☞ If communicating tasks are mapped to different processors, they
have to communicate over the bus.
Communication time has to be estimated; it depends on the amount
of bits transferred between the tasks and on the speed of the bus.
Estimated communication times:
C1-2: 1
C4-8: 1
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 33
TDDD93
Fö “Embedded Systems”- 34
Example (cont’d)
Example (cont’d)
☞ Try a new mapping; move T5 to µp4, in order to increase parallelism.
☞ A schedule:
Time
Two new communications are introduced, with estimated times:
C3-5: 2
C5-7: 1
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
µp3
T1
T3
µp4
T5
T2
T6
T7
T8
T4
☞ A schedule:
bus
C1-2
Time
C4-8
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
µp3
T1
T3
µp4
We have exceeded the allowed execution time (42)!
T6
T2
T7
T4
T8
T5
bus
C1-2
C3-5
C4-8
C5-7
The execution time is still 62, as before!
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 35
TDDD93
Example (cont’d)
Example (cont’d)
☞ There exists a better schedule!
Time
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
µp3
T1
T3
µp4
T6
T2
T7
T5
☞ Possible solutions:
• Change µprocessor µp3 with a faster one ⇒ cost limits exceeded
• Implement some part of the functionality in hardware as an ASIC
T8
☞ New architecture
Cost of ASIC: 1
T4
bus
µp3
µp4
Bus
C1-2
C3-5
C5-7
C4-8
Using this architecture we got a solution with:
• Execution time: 52 > 42
• Cost: 6 < 8
Petru Eles, IDA, LiTH
Fö “Embedded Systems”- 36
☞ Mapping
µp3: T1, T3, T6, T7.
µp4: T2, T4, T5.
ASIC: T8 with estimated WCET= 3
New communication, with estimated time:
C7-8: 1
Petru Eles, IDA, LiTH
ASIC
TDDD93
Fö “Embedded Systems”- 37
TDDD93
Example (cont’d)
Example (cont’d)
☞ A schedule:
Time
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
µp3
T1
T3
µp4
T6
T7
T5
T2
Fö “Embedded Systems”- 38
What did we achieve?
• We have selected an architecture.
• We have mapped tasks to the processors and ASIC.
• We have elaborated a a schedule.
T4
T8
ASIC
Extremely important!!!
Nothing has been built yet.
All decisions are based on simulation and estimation.
bus
C1-2
C3-5
C5-7
C4-8 C7-8
Using this architecture we got a solution with:
• Execution time: 41 < 42
☞ Now we can go and do the software and hardware implementation,
with a high degree of confidence that we get a correct prototype.
• Cost: 7 < 8
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems” - 39
The Design Flow
Informal Specification,
Constraints
Modeling
Arch. Selection
TDDD93
Functional
Simulation
System
model
Fö “Embedded Systems”- 40
The Design Flow (cont’d)
What is the essential difference compared to the flow on slide 25?
System
architecture
Mapping
Estimation
Scheduling
not OK
Mapped and
scheduled
model
OK
Hardware and
Software
Implementation
Testing
not OK
OK
Fabrication
Petru Eles, IDA, LiTH
Prototype
• It is the inner loop which is performed before the effective
hardware/software implementation.
This loop is performed several times as part of the design space
exploration. Different architectures, mappings and schedules are
explored, before the actual implementation and prototyping.
not OK
• We get highly optimized good quality solutions in short time.
We have a good chance that the outer loop, including prototyping,
is not repeated.
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems” - 42
The Design Flow (cont’d)
Informal Specification,
Constraints
Functional
Simulation
Arch. Selection
System model
Formal
Verification
System
architecture
Mapping
Estimation
Scheduling
Fö “Embedded Systems”- 41
The Design Flow (cont’d)
☞ Some additional remarks:
• Formal verification
It is impossible to do an exhaustive verification by simulation!
Especially for safety critical systems (but not only) formal
verification is needed.
• Simulation
Simulation is used not only for functional validation.
It is used also after mapping and scheduling in order to test, for
example, timing aspects.
It is used also during the implementation steps; especially
interesting: hardware/software cosimulation.
System Level
TDDD93
Modeling
not OK
Mapped and
scheduled model
OK
☞ The steps performed before the actual hardware and software
implementation represent the System Level Design Phase!
Softw. model
Simulation
Softw. Generation
Lower Levels
Petru Eles, IDA, LiTH
not OK
not OK
Simulation
Formal
Verification
Hardw. model
Hardw. Synthesis
Softw. blocks
Simulation
Testing
OK
Prototype
Hardw. blocks
Fabrication
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 43
TDDD93
The “Lower Levels”
• Software generation:
- Encoding in an implementation language (C, C++, assembler).
- Compiling (this can include particular optimizations for
application specific processors, DSPs, etc.).
- Generation of a real-time kernel or adapting to an existing
operating system.
- Testing and debugging (in the development environment).
☞ Several courses are teaching this part: Programming related
courses, Algorithms and data structures, Compilers, operating
systems, real-time systems, ....
Petru Eles, IDA, LiTH
Fö “Embedded Systems”- 44
The “Lower Levels” (cont’d)
• Hardware synthesis:
- Encoding in a hardware description language (VHDL, Verilog)
- Successive synthesis steps: high-level, register-transfer level,
logic-level synthesis.
- Testing and debugging (by simulation)
☞ Several courses are teaching this part: Digital design, Electronics
and VLSI related courses, Computer Architectures, ....
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 45
TDDD93
Fö “Embedded Systems”- 46
Bring Power Consumption into the Picture
The System Level
Why is power consumption an issue?
• Portable systems - battery life time!
☞ TDTS07: System Design and Methodology (Modeling and Design
of Embedded Systems)
• Systems with a very limited power budget: Mars Pathfinder,
autonomous helicopter, ...
• Desktops and servers: high power consumption
- raises temperature and deteriorates performance & reliability
- 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
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 47
TDDD93
Fö “Embedded Systems”- 48
Sources of Power Dissipation in CMOS Devices
dynamic
1
2
P = --- ⋅ C ⋅ V DD ⋅ f ⋅ N SW + Q SC ⋅ V DD ⋅ f ⋅ N SW + I leak ⋅ V DD
2
Switching power
Power required to
charge/discharge
circuit nodes
Short-circ. power
Dissipation due
to short-circuit
current
C
= node capacitances
NSW = switching activities
(number of gate transitions
per clock cycle)
f
= frequency of operation
Petru Eles, IDA, LiTH
Dynamic Power/Energy
static
Leakage power
Dissipation
due to leakage
current
VDD = supply voltage
QSC = charge carried by
short circuit current
per transition
Ileak = leakage current
1
2
P = --- ⋅ C ⋅ V DD ⋅ f ⋅ N SW
2
1
2
E = P ⋅ t = --- ⋅ C ⋅ V DD ⋅ N CY ⋅ N SW
2
NCY = number of cycles needed for the particular task.
• 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
TDDD93
Fö “Embedded Systems”- 49
TDDD93
Fö “Embedded Systems”- 50
Reducing Power/Energy Consumption
Reducing Power/Energy Consumption (cont’d)
☞ System Level
☞ The main sources:
• Compilation for low power: instruction selection considering their
power profile, data placement in memory, register allocation.
• Reduce supply voltage (Voltage scaling)
• Reduce switching activity (Smart digital design)
• Algorithm design: find the algorithm which is the most powerefficient.
• Reduce capacitance (Smart circuit design)
• Task mapping and scheduling.
• Reduce number of cycles (Smart algorithms design)
• Dynamic voltage/frequency scaling applied at run-time in order to
reduce power consumption by exploiting idle or low-workload
periods.
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 51
TDDD93
Fö “Embedded Systems”- 52
Example: Mapping for Low Energy
Mapping for Low Energy (cont’d)
τ1
τ2
τ3
τ5
Task
τ1
τ2
τ3
τ4
τ5
τ6
τ7
τ8
τ6
τ4
τ7
τ8
µp3
µp4
WCET
Energy
Consider a mapping:
µp3: τ1, τ3, τ6, τ7, τ8.
µp4: τ2, τ4, τ5.
µ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
µp3
15
19
14
9
µp4
Execution time: 52;
Time
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
τ7
τ5
τ8
τ4
bus
C1-2
Bus
Petru Eles, IDA, LiTH
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.
Petru Eles, IDA, LiTH
C3-5
C5-7
C4-8
TDDD93
Fö “Embedded Systems”- 53
TDDD93
Fö “Embedded Systems”- 54
Mapping for Low Energy (cont’d)
Consider a mapping:
µp3: τ1, τ3, τ6, τ7.
µp4: τ2, τ4, τ5, τ8.
Execution time: 57;
Time
µp3
Mapping for Low Energy (cont’d)
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.
Energy consumed: 70.
Assume that we have a maximum allowed delay = 60.
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
τ4
The second mapping with τ8 on µp4 consumes less energy;
This second mapping is preferable, even if it is slower!
τ8
bus
C1-2
C3-5
C5-7
C7-8
Petru Eles, IDA, LiTH
Petru Eles, IDA, LiTH
TDDD93
Fö “Embedded Systems”- 55
TDDD93
Dynamic Power Management
☞ At run-time, the processor can be placed in different power states,
depending on the current work-load.
• Switching among multiple power states:
• idle
• sleep
• run
• When in the run state: switching among multiple voltage levels.
☞ Energy consumption is proportional to V2 (see slide 48)!!!
Petru Eles, IDA, LiTH
Fö “Embedded Systems”- 56
Dynamic Power management (cont’d)
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
TDDD93
Fö “Embedded Systems”- 57
TDDD93
Conclusions
Dynamic Power management (cont’d)
☞ Switching between power states and voltage levels is not for free:
you have to consider the switching overheads (in terms of delay and
energy)
☞ For a given supply voltage there exists a maximal frequency at
which the processor can run ⇒ when you reduce the voltage the
processor becomes slower!
☞ The goal of Dynamic Power management: switch between power
states and voltage levels such that:
• Energy consumption is minimised
• QoS is not compromised
Petru Eles, IDA, LiTH
Fö “Embedded Systems”- 58
• Embedded systems are everywhere.
• They have to satisfy strong timing, safety, power, and cost
constraints.
• An efficient design flow, with iterations at the system level, is needed
in order to support the design of complex embedded systems.
• System level design steps are performed before the start of the actual
implementation of hardware and software components!
• The input to the actual design flow is an abstract model of the
system.
• Power consumption becomes a central issue of the design process.
Petru Eles, IDA, LiTH
Download