Lecture 01 - Introduction
Lecture 01 - Introduction
Design
Embedded systems overview
- 2-
Motivation for Course (1)
- 4-
Motivation for Course (3)
The
future is embedded,
embedded is the future
- 5-
What is an embedded system?
- 6-
Embedded systems overview
- 7-
Embedded Systems & Cyber-Physical Systems
- 8-
Extending the motivation:
Embedded systems and ubiquitous computing
Ubiquitous computing: Information anytime, anywhere.
Embedded systems provide fundamental technology.
Communication Embedded
Technology Systems
Dependabilit
Robots
Optical networking
Real-time
Control systems
service
Quality
Network management
Feature extraction
Distributed applications
and recognition
of
Service provision
y
Sensors/actuators
UMTS, DECT, Hiperlan, ATM
A/D-converters
Pervasive/Ubiquitous computing
Distributed systems
Embedded web systems
© European Commission - 9-
Growing importance of embedded systems (1)
Preface - 10 -
Growing importance of embedded systems (2)
- 11 -
Application areas
and examples
- 13 -
Automotive electronics
- 14 -
Avionics
- 15 -
Railways
Safety features
contribute significantly
to the total value of
trains, and dependability
is extremely important
- 16 -
Telecommunication
- 17 -
Medical systems
For example:
• Artificial eye: several
approaches, e.g.:
• Camera attached to
glasses; computer worn at
belt; output directly
connected to the brain,
“pioneering work by William
Dobelle”. Previously at
[www.dobelle.com]
- 18 -
Authentication systems
[tomsguide.com]
- 19 -
Consumer electronics
Examples
- 20 -
Smart Beer Glass
Examples
- 22 -
Forestry Machines
Networked computer
system
Controlling arms &
tools
Navigating the forest
Recording the trees
harvested
Crucial to efficient
work
“Tough enough to be out
in the woods”
- 23 -
Smart buildings
Examples
Integrated cooling,
lightning, room
reservation, emergency
handling, communication
Goal: “Zero-energy
building”
Expected contribution to
fight against global
warming
Show movie
http://www.date-conference.com/con
ference/ - 24 -
Logistics
technology to logistics:
- 25 -
Robotics
Examples
“Pipe-climber“ Robot
“Johnnie“
(Courtesy and
©: H.Ulbrich,
F. Pfeiffer, TU
München)
- 27 -
Military applications
Example:
Military radar
http://www.worthingherald.co.uk/
CustomPages/CustomPage.aspx?
SectionID=14271
- 28 -
An embedded system example -- a digital camera
lens
- 29 -
Common
characteristics
- 31 -
Dependability
ES Must be dependable,
• Reliability R(t) = probability of system working
correctly provided that is was working at t=0
• Maintainability M(d) = probability of system working
correctly d time units after error occurred.
• Availability A(t): probability of system working at time t
• Safety: no harm to be caused
• Security: confidential and authentic communication
Even perfectly designed systems can fail if the
assumptions about the workload and possible errors turn
out to be wrong.
Making the system dependable must not be an after-
thought, it must be considered from the very beginning
- 32 -
Efficiency
ES must be efficient
• Code-size efficient
(especially for systems on a chip)
• Run-time efficient
• Weight efficient
• Cost efficient
• Energy efficient
- 33 -
Importance
of Energy
Efficiency
p ower on“
e rent of silic
“inh iency
c
effi
Efficient
Efficientsoftware
software
design needed,
design needed,
otherwise,
otherwise,thethe
price
pricefor
forsoftware
software
flexibility cannot
flexibility cannot
be
bepaid.
paid.
Hugo De Man,
©
- 34 -
Embedded System Hardware
cyber-physical systems
- 35 -
Real-time constraints
- 36 -
Real-Time Systems
real-time
- 37 -
Reactive & hybrid systems
- 38 -
Dedicated systems
- 39 -
Underrepresented in teaching
- 40 -
Summary
- 41 -
Challenges in ES
Design
Quite a number of challenges, e.g. dependability
Dependability?
Over-simplification of models
(e.g. aircraft anti-collision system)
- 43 -
Importance
of Energy
Efficiency
p ower on“
e rent of silic
“inh iency
c
effi
Efficient
Efficientsoftware
software
design needed,
design needed,
otherwise,
otherwise,thethe
price
pricefor
forsoftware
software
flexibility cannot
flexibility cannot
be
bepaid.
paid.
Hugo De Man,
©
- 44 -
It is not sufficient to consider ES
just as a special case of software engineering
CS EE
- 46 -
Design challenge – optimizing design metrics
Common metrics
Unit cost: the monetary cost of manufacturing each copy of the system,
excluding NRE cost
NRE cost (Non-Recurring Engineering cost): The one-time
monetary cost of designing the system
Size: the physical space required by the system
Performance: the execution time or throughput of the system
Power: the amount of power consumed by the system
Flexibility: the ability to change the functionality of the system without
incurring heavy NRE cost
- 47 -
Design challenge – optimizing design metrics
- 48 -
Design metric competition -- improving one may
worsen others
- 49 -
Time-to-market: a demanding design metric
Revenues ($)
Period during which the
product would have highest
sales
Average time-to-market
constraint is about 8 months Time (months)
- 50 -
Losses due to delayed market entry
delayed entry
On-time
triangle, representing market
Market rise Market fall penetration
Triangle area equals revenue
Delayed
Loss
The difference between the
D W 2W on-time and delayed triangle
On-time Delayed Time areas
entry entry
- 51 -
Losses due to delayed market entry (cont.)
delayed entry
On-time
(D(3W-D)/2W2)*100%
Market rise Market fall
Try some examples
Delayed
- 52 -
NRE and unit cost metrics
Costs:
Unit cost: the monetary cost of manufacturing each copy of the system,
excluding NRE cost
NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of
designing the system
total cost = NRE cost + unit cost * # of units
per-product cost = total cost / # of units
= (NRE cost / # of units) + unit cost
• Example
– NRE=$2000, unit=$100
– For 10 units
– total cost = $2000 + 10*$100 = $3000
– per-product cost = $2000/10 + $100 = $300
- 53 -
NRE and unit cost metrics
p e r p ro d u c t c o st
$120,000 $120
$80,000 $80
$40,000 $40
$0 $0
0 800 1600 2400 0 800 1600 2400
Num b e r o f units (vo lu m e ) Num b e r o f units (vo lu m e )
- 54 -
The performance design metric
- 55 -
Design flows
Design
Specification Design
Application Knowledge
repository
ES-hardware Test *
Application
mapping
System software Optimization * Could be
(RTOS, integrated
Evaluation & Validation into loop
middleware, …) (energy, cost,
performance, …)
Generic loop: tool chains differ in the number and type of iterations
- 57 -
Iterative design (1)
- After unrolling loop -
Example:
SpecC
tools
- 58 -
Iterative design (2)
- Gajski‘s Y-chart -
- 59 -
Iterative design (3)
- After unrolling loop -
Example: V-model
Requirement
analysis System
architecture System
design Software
architecture
Software
design
Unit
Integration tests
System testing
integration
Acceptance
& use
Skipping some explicit
repository updates ..
- 60 -
Hypothetical design flow
Design
2: Specification Design
Application Knowledge
repository
3: ES-hardware 8. Test *
6: Application
mapping
4: System 7: Optimization * Could be
software (RTOS, integrated
5: Evaluation & into loop
middleware, …) Validation (energy, cost,
performance, …)
- 61 -
Motivation for considering specs
tim
e
will be difficult to get the design right,
potentially wasting a lot of time.
Typically, we work with models of the
system under design (SUD)
What is a model anyway?
- 62 -
Models
[Jantsch, 2004]:
- 63 -
Requirements for specification techniques:
Hierarchy
Hierarchy
Humans not capable to understand systems
containing more than ~5 objects.
Most actual systems require more objects
Hierarchy
proc
Behavioral hierarchy proc
proc
Examples: states, processes, procedures.
Structural hierarchy
Examples: processors, racks,
printed circuit boards
- 64 -
Requirements for specification techniques (2):
Component-based design
Concurrency
Synchronization and communication
- 65 -
Requirements for specification techniques (3):
Timing
Timing behavior
Essential for embedded and cy-phy systems!
• Additional information (periods, dependences,
scenarios, use cases) welcome
• Also, the speed of the underlying platform must be
known
• Far-reaching consequences for design processes!
- 66 -
Requirements for specification techniques (3):
Timing (2)
? execute
t
- 67 -
Requirements for specification techniques (3)
Timing (3)
execute
t
- 68 -
Specification of embedded systems (4):
Support for designing reactive systems
State-oriented behavior
Required for reactive systems;
classical automata insufficient.
Event-handling
(external or internal events)
Exception-oriented behavior We will see, how all the
Not acceptable to describe arrows labeled k can be
replaced by a single one.
exceptions for every state
- 69 -
Requirements for specification techniques (5)
- 71 -
Communication
Shared memory
- 72 -
Shared memory
- 73 -
Non-blocking/asynchronous message passing
… …
send () receive ()
… …
- 74 -
Blocking/synchronous message passing
rendez-vous
… …
send () receive ()
… …
- 75 -
Organization of computations within the
components (1)
Data flow
(models the flow of data in a distributed system)
to be discussed next week
Petri nets
(models synchronization in a distributed system)
to be discussed next week
- 76 -
Organization of computations within the
components (2)
Discrete event model
queue
a 5
6
5 10 13 15 19 time
b 7
c8 a:=5 b:=7 c:=8 a:=6 a:=9 action
- 77 -
Organization of computations within the
components (3)
Differential equations
2x
b
t 2
- 78 -
Models of computation considered in this course
- 79 -
Three key embedded system technologies
Technology
A manner of accomplishing a task, especially using
technical processes, methods, or knowledge
Three key technologies for embedded systems
Processor technology
IC technology
Design technology
- 80 -
Processor technology
total = 0 total = 0
for i =1 to … for i =1 to …
General-purpose (“software”) Application-specific Single-purpose (“hardware”)
- 81 -
Processor technology
total = 0
for i = 1 to N loop
total += M[i]
end loop
Desired
functionality
- 82 -
General-purpose processors
- 83 -
Single-purpose processors
- 84 -
Application-specific processors
- 85 -
IC technology
gate
IC package IC oxide
source channel drain
Silicon substrate
- 86 -
IC technology
- 87 -
Full-custom/VLSI
- 88 -
Semi-custom
- 89 -
PLD (Programmable Logic Device)
- 90 -
Moore’s law
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
- 91 -
Moore’s law
Wow
This growth rate is hard to imagine, most people
underestimate
How many ancestors do you have from 20 generations
ago
• i.e., roughly how many people alive in the 1500’s did it
take to make you?
• 220 = more than 1 million people
(This underestimation is the key to pyramid schemes!)
- 92 -
Graphical illustration of Moore’s law
10,000 150,000,000
transistors transistors
- 93 -
Design Technology
To final implementation
- 94 -
Design productivity exponential increase
100,000
10,000
Productivity
100
10
0.1
0.01
2005
1993
2001
2003
1987
1983
1985
1991
1989
1981
1999
1997
2007
1995
2009
Exponential increase over the past few decades
- 95 -
The co-design ladder
The choice of hardware versus software for a particular function is simply a tradeoff among various
design metrics, like performance, power, size, NRE cost, and especially flexibility; there is no
fundamental difference between what hardware or software can implement.
- 96 -
Independence of processor and IC technologies
Basic tradeoff
General vs. custom
With respect to processor technology or IC technology
The two technologies are independent
General- Single-
purpose ASIP purpose
General, processor processor Customized,
providing improved: providing improved:
- 97 -
Design productivity gap
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009 - 98 -
Design productivity gap
10,000 100,000
1,000 10,000
Logic transistors 100 1000
10 Gap 100 Productivity
per chip IC capacity
(in millions) 1 10 (K) Trans./Staff-Mo.
0.1 1
productivity
0.01 0.1
0.001 0.01
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009 - 99 -
The mythical man-month
Team
• 60000 15
1M transistors, 1 16 16
50000 19 18
designer=5000 trans/month
40000 23
• Each additional designer 24
reduces for 100 trans/month 30000
Months until completion
20000 43
• So 2 designers produce 4900 Individual
10000
trans/month each
0 10 20 30 40
Number of designers
- 100 -
Summary