What is an Embedded System? José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-02-18 José Costa (DEI/IST) What is an Embedded System? 1
What is an Embedded System?
José Costa
Software for Embedded Systems
Departamento de Engenharia Informática (DEI)Instituto Superior Técnico
2013-02-18
José Costa (DEI/IST) What is an Embedded System? 1
Outline
What is an embedded system?
Examples of embedded systems
Characteristics of embedded systems
Challenges in embedded systems design
José Costa (DEI/IST) What is an Embedded System? 2
What is an Embedded System?
Common definitions
Embedded systems are applied computers 6= general purposecomputers such as PCs or servers
Embedded systems are computers inside equipments or products
José Costa (DEI/IST) What is an Embedded System? 3
What is an Embedded System?
Common descriptions
Embedded systems are more limited in hardware and/or softwarethan personal computers
Embedded systems are designed to perform dedicated functions
Embedded systems are computer systems with higher quality andreliability requirements than other types of computer systems
These descriptions do not entirely reflect what is an embeddedsystem!
José Costa (DEI/IST) What is an Embedded System? 4
Examples of Embedded Systems
Automotive
ignition systems, engine control, antilock braking system, . . .
Consumer Electronics
TVs, Set Top Boxes, appliances, toys, cell phones, . . .
Industrial Control
robotics, control systems, . . .
Medical
infusion pumps, dialysis machines, prosthetic devices, cardiacmonitors, . . .
Networking
hubs, switches, routers, . . .
Office Automation
fax machines, photocopiers, printers, monitors, . . .
José Costa (DEI/IST) What is an Embedded System? 5
Complexity of Embedded Systems
Ebert and Jones, “Embedded Software: Facts, Figures and Future”, 2009
José Costa (DEI/IST) What is an Embedded System? 6
Complexity of Embedded Systems
Ebert and Jones, “Embedded Software: Facts, Figures and Future”, 2009
José Costa (DEI/IST) What is an Embedded System? 7
Some Numbers
In 2011
more than 1.8 billion embedded systems were shipped$1 trillion in revenue for component makers, software companiesand integrators.
By 2015
more than 4 billion units will be shipped$2 trillion in revenueembedded systems will require 14.5 billion microprocessor cores
source: International Data Group (IDC)
José Costa (DEI/IST) What is an Embedded System? 8
What is an Embedded System?
“Aside from being types of computer systems, there is no singledefinition or characterization of embedded systems reflecting themall.”
© Noergaard, 2005
Remaining questions
What is an embedded system?
Why can’t we just design them like desktop systems?
José Costa (DEI/IST) What is an Embedded System? 9
Early History (I)
Late 1940’s: MIT Whirlwind computer was designed forreal-time operations
originally designed to control an aircraft simulator
First microprocessor was Intel 4004 in early 1970’s
HP-35 calculator used several chips to implement amicroprocessor in 1972
source: wikipedia
José Costa (DEI/IST) What is an Embedded System? 10
Early History (II)
Automobiles used microprocessor-based engine controllersstarting in 1970’s.
control fuel/air mixture, engine timing, etc.multiple modes of operation: warm-up, cruise, hill climbing, etc.provides lower emissions, better fuel efficiency
Oil Prices (source: wikipedia)
José Costa (DEI/IST) What is an Embedded System? 11
Microprocessor Varieties
Microcontroller: includes I/O devices, on-board memory
Digital signal processor (DSP): microprocessor optimized fordigital signal processing
Typical embedded word sizes: 8-bit, 16-bit, 32-bit
In 2008, there were some 30 embedded microprocessors per person indeveloped countries.
José Costa (DEI/IST) What is an Embedded System? 12
Application Examples
Simple control: front panel of microwave oven, etc.
Canon EOS 3 has three microprocessors
32-bit RISC CPU runs autofocus and eye control systems
Digital TV
programmable CPUs + hardwired logic for video/audio decode,menus, etc.
José Costa (DEI/IST) What is an Embedded System? 13
Automotive Embedded Systems
Today’s high-end automobile may have 100 microprocessors:
4-bit microcontroller checks seat beltmicrocontrollers run dashboard devices16/32-bit microprocessor controls engine
source: nalinda.com source: num@tec automotive
José Costa (DEI/IST) What is an Embedded System? 14
Automotive Embedded Systems
Ebert and Jones, “Embedded Software: Facts, Figures and Future”, 2009
José Costa (DEI/IST) What is an Embedded System? 15
BMW 850iBrake and Stability Control System
Anti-lock brake system (ABS): pumps brakes to reduce skidding
Automatic stability control (ASC+T): controls engine toimprove stability
ABS and ASC+T communicate
ABS was introduced first - ASC-T needed to interface toexisting ABS module
José Costa (DEI/IST) What is an Embedded System? 16
Characteristics of Embedded Systems
Sophisticated functionality
Real-time operation
Low power
Low manufacturing cost
Designed to tight deadlines by small teams
José Costa (DEI/IST) What is an Embedded System? 17
Characteristics of Embedded Systems
Sophisticated functionality
Real-time operation
Low power
Low manufacturing cost
Designed to tight deadlines by small teams
José Costa (DEI/IST) What is an Embedded System? 18
Sophisticated Functionality
The embedded system can be a very complex system.
Often have to run sophisticated algorithms or multiple algorithms
cell phone, laser printer
Often provide sophisticated user interfaces
José Costa (DEI/IST) What is an Embedded System? 19
Characteristics of Embedded Systems
Sophisticated functionality
Real-time operation
Low power
Low manufacturing cost
Designed to tight deadlines by small teams
José Costa (DEI/IST) What is an Embedded System? 20
Real-Time Operation
Must finish operations by deadlines
hard real time: missing deadline causes failuresoft real time: missing deadline results in degraded performance
Many systems are multi-rate
must handle operations at widely varying ratese.g. handling video and audio streams
José Costa (DEI/IST) What is an Embedded System? 21
Characteristics of Embedded Systems
Sophisticated functionality
Real-time operation
Low power
Low manufacturing cost
Designed to tight deadlines by small teams
José Costa (DEI/IST) What is an Embedded System? 22
Low Power
Custom logic uses less power
But CPUs have advantages
modern microprocessors offer features to help control powerconsumptionsoftware design techniques can help reduce power consumption
Heterogeneous systems
some custom logic for well-defined functionsCPUs+software for everything else
José Costa (DEI/IST) What is an Embedded System? 23
Characteristics of Embedded Systems
Sophisticated functionality
Real-time operation
Low power
Low manufacturing cost
Designed to tight deadlines by small teams
José Costa (DEI/IST) What is an Embedded System? 24
Non-Functional Requirements
Many embedded systems are mass-market items that must havelow manufacturing costs
limited memory, microprocessor power, etc.
Power consumption is critical in battery-powered devices
excessive power consumption increases system cost even inwall-powered devices
José Costa (DEI/IST) What is an Embedded System? 25
Characteristics of Embedded Systems
Sophisticated functionality
Real-time operation
Low power
Low manufacturing cost
Designed to tight deadlines by small teams
José Costa (DEI/IST) What is an Embedded System? 26
Design Teams
Often designed by a small team of designers
Often must meet tight deadlines
6 month market window is commoncan’t miss back-to-school window for calculator
José Costa (DEI/IST) What is an Embedded System? 27
Platforms
Embedded computing platform
hardware architecture + associated software
Many platforms are multiprocessors
Examples
single-chip multiprocessors for cell phone basebandautomotive network + processors
José Costa (DEI/IST) What is an Embedded System? 28
Why Use Microprocessors?
There are alternatives
field-programmable gate arrays (FPGAs), custom logic, etc.
But. . .
Microprocessors are often very efficient: can use same logic toperform many different functions
Microprocessors simplify the design of families of products
Microprocessors allow the program design to be separated fromdesign of the hardware
José Costa (DEI/IST) What is an Embedded System? 29
The Performance Paradox
Microprocessors use much more logic to implement a functionthan does custom logic
But microprocessors are often at least as fast:
heavily pipelinedlarge design teamsaggressive VLSI technology
José Costa (DEI/IST) What is an Embedded System? 30
The Physics of Software
Computing is a physical act
software doesn’t do anything without hardware
Executing software consumes energy, requires time
To understand the dynamics of software (time, energy), we needto characterize the platform on which the software runs
And thus we need to be able to characterize performance
José Costa (DEI/IST) What is an Embedded System? 31
What Does “Performance” Mean?
In general-purpose computing, performance often meansaverage-case
may not be well-defined
In real-time systems, performance means meeting deadlines
missing the deadline by even a little is badfinishing ahead of the deadline may not help
José Costa (DEI/IST) What is an Embedded System? 32
Characterizing Performance
We need to analyze the system at several levels of abstraction tounderstand performance.
Levels of abstractionCPU
Platform
Program
Task
Multiprocessor
José Costa (DEI/IST) What is an Embedded System? 33
Challenges in Embedded Systems Design
How much hardware do we need?
How do we meet deadlines?
How do we minimize power consumption?
How do we design for upgradeability?
Does it really work?
José Costa (DEI/IST) What is an Embedded System? 34
How Much Hardware Do We Need?
We can select
type of microprocessoramount of memoryperipheral devices, and more
To little hardware and the system fails to meet deadlines
To much hardware and it becomes expensive
José Costa (DEI/IST) What is an Embedded System? 35
How Do We Meet Deadlines?
Speed up the hardware?
system more expensive
Limit is in memory?
Scheduling of tasks?
José Costa (DEI/IST) What is an Embedded System? 36
How Do We Minimize Power Consumption?
Slow down the system?
Potencial problem with deadlines
Much smarter is to slow down noncritical parts
Or even shutdown some modules
José Costa (DEI/IST) What is an Embedded System? 37
How Do We Design For Upgradeability?
Hardware platform may be used for several generations
But we want also to be able to add features
How can we design a machine that will provide the requiredperformance for software not yet written?
José Costa (DEI/IST) What is an Embedded System? 38
Does It Really Work?
Reliability is especially important in some applications
e.g. safety critical systems
Try to find the bugs as soon as possible
too expensive to do it otherwise
Another set of challenges comes from the characteristics of thecomponents and system...
José Costa (DEI/IST) What is an Embedded System? 39
Difficulties in Design and Development
Complex testing
run a real machine to have proper datasystem must be tested in the embedded machine
Limited observability and controllability
sometimes no keyboard or screen!in real-time systems it’s not easy to stop the system to see whatis going on
Restricted development environments
much more limited than in PCsusually compile code in PC and download it to embedded system
José Costa (DEI/IST) What is an Embedded System? 40
Conclusion
Even if an embedded system is not that well defined,its characteristics and its chalenges are!
José Costa (DEI/IST) What is an Embedded System? 41
Outline
What is an embedded system?
Examples of embedded systems
Characteristics of embedded systems
Challenges in embedded systems design
José Costa (DEI/IST) What is an Embedded System? 42
References
Computers as Components: Principles of Embedded ComputingSystem Design , Wayne Wolf. Morgan Kaufman, 2001. Ch. 1.1and 1.2.
José Costa (DEI/IST) What is an Embedded System? 43
Next Class
Design of embedded systems
José Costa (DEI/IST) What is an Embedded System? 44