EE522
Advanced Embedded Systems
Sources: [Introduction to Embedded Systems, Edward A.
Lee and Sanjit A. Seshia, UC Berkeley.
Embedded Networked Systems, Kai Huang, TU Munich]
What is an Embedded System?
Many definitions exist:
Embedded Systems = Information processing systems
embedded into a larger product.
-- Peter Marwedel, TU Dortmund
Embedded Software = Software integrated with physical
processes. The technical problem is managing time and
concurrency in computational systems.
-- Edward A. Lee, UC Berkeley
What is an Embedded System?
Embedded Systems = Information processing systems
that are:
• application domain specific (not general purpose)
• tightly coupled to their environment
Examples of application domains:
automotive electronics, avionics, multimedia,
consumer electronics, etc.
Environment: type and properties of
input/output information.
Tightly coupled: the environment dictates what
the system’s response behavior must be. (“ES
cannot synchronize with environment”)
What is an Embedded System?
What they do:
Sense environment(input signals)
Process input information
Respond in real-time (output signals)
Examples: Consumer Electronics
MP3 audio, digital camera, Home electronics (washing
machine, microwave cooker/oven, ...), …
Examples: Telecommunications
Wireless communication (GSM/3G base station,
switch, router, access point, …), end-user equipment,
mobile phone…
Examples: Automotive Electronics
A car is an integrated control, communication, and
information system.
Anti-lock braking systems (ABS)
Electronic stability control
Efficient automatic gearboxes
Blind-angle alert systems
Airbags
…
Examples: Medical Electronics
The future of surgery is not in blood and guts, but
in bits and bytes.
Examples: Robotics
NASA Curiosity Rover Sony Robotic Dog
Examples: Gaming
Examples: Sensor networks
Sensor networks (civil engineering,
buildings, environmental
monitoring, traffic, emergency
situations)
• Smart products,
wearable/ubiquitous computing
Characteristics of Embedded Systems (1)
Must be dependable
• Reliability: R(t) = probability of a system working correctly at
time t provided that it was working at t = 0
• Maintainability: M(d) = probability of a 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 by failing system
• 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.
Characteristics of Embedded Systems (2)
Must be efficient
Energy efficient
• Many ES are mobile systems powered by batteries
• Customers expect long run-times from batteries but
• Battery technology improves at a very slow rate
Code-size efficient (especially for systems on a chip)
• Typically there are no hard discs or huge memories to store
code
Run-time efficient
• Meet time constraints with least amount of HW resources
and energy – only necessary HW should be present working
at as low as possible Vdd and fclk
Weight efficient (especially for portable ES)
Cost efficient (especially for high-volume ES)
Characteristics of Embedded Systems (3)
Many ES must meet real-time constraints
A real-time system must react to stimuli from the controlled
object (or the operator) within the time interval dictated by the
environment.
For real-time systems, right answers arriving too late (or even
too early) are wrong.
“A real-time constraint is called hard, if not meeting that
constraint could result in a catastrophe“ [Kopetz, 1997].
All other time-constraints are called soft.
A guaranteed system response has to be explained without
statistical arguments.
Characteristics of Embedded Systems (4)
ES are connected to physical environment through sensors and
actuators.
Hybrid Systems, i.e., composed of analog and digital parts
Typically, ES are reactive systems
“A reactive system is one which is in continual interaction with is
environment and executes at a pace determined by that
environment“ [Bergé, 1995].
Behavior depends on input and current state.
• automata model appropriate
Characteristics of Embedded Systems (5)
All ES are dedicated systems
• Dedicated towards a certain application:
Knowledge about the behavior at design time can be used
to minimize resources and to maximize robustness
• Dedicated user interface:
No mice, no large keyboards and monitors
Not every ES has all of the above characteristics, thus
We can define the term “Embedded System” as follows:
Information processing systems having most of the
above characteristics are called embedded systems.
Comparison
Embedded Systems General Purpose Systems
• Execute few applications • Execute broad class of
that are known at applications
design-time
• Non programmable by • Programmable by the end user
the end user
• Fixed run-time • Faster is better
requirements (additional
computing power not
useful)
• Important criteria • Important criteria
–Cost
–Cost
–Power consumption
–Predictability –Average speed
–...
Another Name ?
Cyber-Physical Systems
Definition of Cyber-Physical System
Defined by those with Money
• Smart electric grid
• Smart transportation
Wikipedia
• A full-fledged CPS is typically designed as a network of
interacting elements with physical input and output instead of
as standalone devices
Cyber-Physical (cy-phy) Systems (CPS) are integrations of
computation with physical processes [Edward Lee, 2006].
Cyber-physical system (CPS) = Embedded System (ES) + physical
environment
Cyber-Physical Systems
and Embedded Systems
CPS = ES + physical environment
What is a Cyber-Physical System?
Extreme view:
Definition According to National Science
Foundation (US)
More safe
CPS = systems of (embedded) systems
• ES is sub-system of CSP
The 3C concept
• Computation, communication, and control
Trends in Embedded Systems
In the past Embedded Systems were called Embedded
(micro-)Controllers
They appeared typically in control dominated
applications:
• Traffic lights control
• Elevators control
• Washing machines and dishwashers
• Electronic Control Unit (ECU)
They were implemented using a single μProcessor or
dedicated HW (sequential circuit)
All this is rapidly changing nowadays.
• How And Why?
Trend 1: Towards Multi-Processor Systems
Complexity of ES is increasing, thus
A single uProcessor is sufficient for some consumer
products
• Application performance demands relatively low
For other systems – such as cars and aircrafts – a
network of processors is needed
• Due to performance requirements
• Due to safety requirements (a single failed
component should not cause total system failure)
For some systems – such as mobile devices – a
network of heterogeneous processors is needed
• Due to run-time efficiency requirements
• Due to power efficiency
Trend 2: Higher Degree of Integration
Moore’s Law: the number of transistors that can be placed
on a chip has doubled approximately every two years
Microprocessor, microcontroller
System-on-Chip (SoC)
• Processor + memory + I/O-units + communication
structure
Multi-processor System on a Chip (MPSoC)
• Processor – Co-processor
• (Heterogeneous) Multi-processor
• Network on Chip
Trend 3: Software Increasing
Implementing ES in specialized HW brings lack of
flexibility (changing standards) and very expensive masks,
thus
Most of the functionality will be
implemented in software
• On the average, a human
“touches” about 50 to 100
micro-processors per day
• State-of-art car has 70~100
micro-processors
Exponential increase in
software complexity
Embedded Systems Design (1)
Embedded Systems Design is NOT just a special case of
either hardware (Computer/Electrical Engineering) or
software (Software Engineering/Computer Science) design.
An embedded system performs computation that is
subject to physical constraints, i.e., interaction with a
physical environment and execution on a physical
(implementation) platform
• Interaction constraints: deadlines, throughput, jitter
• Execution constraints: available resources, power,
failure rates
It has functional requirements (expected services), and
it has non-functional requirements (performance, power,
cost, robustness, etc.)
Embedded Systems Design (2)
Computer Science provides (software) functionality for
Instruction Set Architectures (ISA) which are characterized
by
• Instruction set
• Organization (program counter, register file,
memory)
• Both independent of any logical implementation and
physical realization
Computer/Electrical Engineering deals with
• Logical implementation
• Physical realization
Embedded Systems Design (3)
Embedded Systems design discipline needs to combine
these two approaches, because non-functional behavior
(such as timing, cost, power, robustness, etc.) is a crucial
issue
• when there are real-time constraints imposed by the
environment
• when to predict non-functional behavior using
abstract models that cannot be well specified if the
relation between functional behavior and non-
functional behavior is obscure
Future of Embedded Systems
Embedded Systems are everywhere
Embedded Systems market is much larger than the
market of PC-like systems
• Post-PC era in which information processing is more
and more moving away from just PCs to embedded
systems
Embedded Systems provide the basic technology for
Ubiquitous/Pervasive computing:
• Model of human-computer interaction in which
information processing has been thoroughly
integrated into everyday objects and activities
• Key goal: information available anytime, anywhere
• Building Ambient Intelligence into our environment
Embedded systems are everywhere
From Toothbrush
Product: Sonicare Plus toothbrush
Microprocessor: 8-bit Zilog Z8
To Smart Grid
To Outer space
1996: NASA's Mars Sojourner
Rover. Microprocessor: 8-bit Intel
80C85.
2012: NASA’s Curiosity Rover, with
uC/OS-II RT OS
Take-off Message
Everything is embedded systems
Everywhere is embedded systems
The future is Embedded Systems