Top Banner
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
44

What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

May 27, 2019

Download

Documents

vanhuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 2: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 3: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 4: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 5: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 6: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

Complexity of Embedded Systems

Ebert and Jones, “Embedded Software: Facts, Figures and Future”, 2009

José Costa (DEI/IST) What is an Embedded System? 6

Page 7: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

Complexity of Embedded Systems

Ebert and Jones, “Embedded Software: Facts, Figures and Future”, 2009

José Costa (DEI/IST) What is an Embedded System? 7

Page 8: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 9: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 10: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 11: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 12: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 13: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 14: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 15: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

Automotive Embedded Systems

Ebert and Jones, “Embedded Software: Facts, Figures and Future”, 2009

José Costa (DEI/IST) What is an Embedded System? 15

Page 16: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 17: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 18: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 19: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 20: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 21: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 22: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 23: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 24: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 25: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 26: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 27: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 28: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 29: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 30: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 31: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 32: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 33: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 34: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 35: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 36: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 37: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 38: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 39: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 40: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 41: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 42: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 43: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

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

Page 44: What is an Embedded System? - fenix.tecnico.ulisboa.pt fileWhat is an Embedded System? Common definitions Embedded systems are applied computers 6= general purpose computers such

Next Class

Design of embedded systems

José Costa (DEI/IST) What is an Embedded System? 44