2. What is an Embedded System?
A physical system that employs computer control for a
specific purpose, rather than for general-purpose
computation
Any device that includes a computer but is not itself a general-
purpose computer
Hardware and Software, part of some larger systems and
expected to work without human intervention.
Often the user of the device is not even aware that a
computer is present.
Respond, monitor, control external environment using sensors &
actuators.
2
3. A “short list” of embedded systems
Anti-lock brakes
Auto-focus cameras
Automatic teller machines
Automatic toll systems
Automatic transmission
Avionic systems
Battery chargers
Camcorders
Cell phones
Cell-phone base stations
Cordless phones
Cruise control
Curbside check-in systems
Digital cameras
Disk drives
Electronic card readers
Electronic instruments
Electronic toys/games
Factory control
Fax machines
Fingerprint identifiers
Home security systems
Modems
MPEG decoders
Network cards
Network switches/routers
On-board navigation
Pagers
Photocopiers
Point-of-sale systems
Portable video games
Printers
Satellite phones
Scanners
Smart ovens/dishwashers
Speech recognizers
Stereo systems
Teleconferencing systems
Televisions
Temperature controllers
Theft tracking systems
TV set-top boxes
VCR’s, DVD players
Video game consoles
Video phones
Washers and dryers
Life-support systems
Medical testing systems
And the list goes on and on
3
4. Embedded System Applications
Aerospace
Navigation systems, automatic landing systems, flight
attitude controls, engine controls, space exploration
(e.g., the Mars Pathfinder).
Automotive
Fuel injection control, passenger environmental controls,
anti-lock braking systems, air bag controls, GPS
mapping.
Children's Toys
Nintendo's "Game Boy", Mattel's "My Interactive Pooh",
Tiger Electronic's "Furby".
Communications
Satellites; network routers, switches, hubs.
Home
Dishwashers, microwave ovens, VCRs, televisions,
stereos, fire/security alarm systems, lawn sprinkler
controls, thermostats, cameras, clock radios, answering
machines.
4
5. Embedded System Applications
Industrial
Elevator controls, surveillance systems, robots.
Office
Automation
FAX machines, copiers, telephones, cash registers.
Medical
Imaging systems (e.g., XRAY, MRI, and ultrasound),
patient monitors, heart pacers.
Personal
Personal Digital Assistants (PDAs), pagers, cell phones,
wrist watches, video games, portable MP3 players, GPS.
Instrumentation
Data collection, oscilloscopes, signal generators, signal
analyzers, power supplies
Computer
Peripherals
Printers, scanners, keyboards, displays, modems, hard
disk drives, CD-ROM drives.
5
7. Embedded Systems Hardware
Embedded systems hardware is used for processing input to
provide output in task specific fashion
Input
Interface
Information
Processing Systems
Output
Interface
7
8. Processors
Micro-processors and Microcontrollers
Key Requirements:
Energy Efficiency
High Code Density
Combined Size of all instruction
Characteristics of a particular instruction set
8
9. Microprocessors
CPU for computers
No RAM, ROM, IO on CPU chip itself
Example: Intel x86, Motorola 680x0
CPU
DataBus
RAM
ROM
I/O
Ports
Timers
Serial
Port
Address Bus
9
10. Microcontrollers ?
Basically microcontroller is a device which
integrates a number of the components of a
microprocessor system onto a single microchip.
A Micro-controller combines onto the same
microchip.
The CPU core
CPU
RAM
ROM
I/O
Timers
Serial
Port
Memory
(both RAM and ROM)
Parallel Digital I/Os
other I/Os & more
10
11. Components of a Micro-controller
A Timer module to allow the micro-controller
to perform tasks for certain time periods
A serial I/O port to allow data to flow between
the micro-controller and other devices such as
a PC or another micro-controller
An ADC to allow the micro-controller to accept
analogue input data for processing
11
13. Why Micro-controller?
Low cost, small packaging
Low power consumption
Programmable, re-programmable
Lots of I/O capabilities
Easy integration with circuits
For applications in which cost, power and space are
critical
Single-purpose
13
14. Architectures
Von Neuman
Only one Memory holds data + instructions
Data and Program share the same bus and the
same memory, and so must have the same width.
CPU Registers:
PC, IR and other general
purpose
Bottleneck: Getting
instructions interferes with
accessing RAM
14
15. Architectures
contd…
Harvard
Separate program bus and data bus
Can be different widths!
Pipelining Easy
Allows 2 simultaneous
memory Fetches
Greater memory Bandwidth
More predictable Bandwidth
Most DSPs use Harvard Architecture for streaming data.
15
16. Architectures
contd…
CISC - (Complex Instruction Set Computer)
A large number of instructions each carrying
permutation of the same operation
Instructions provide for complex operations
Different instructions of different format
Different instructions of different length
Many Addressing modes
Requires multiple cycles for execution
16
17. Architectures
contd…
RISC- (Reduced Instruction Set Computer)
Reduced set of Instructions for simple operations
Pipeline Friendly
Each instruction of fixed length
Instructions that can be executed in a single cycle
Large general purpose Register set
Can contain data or addresses
Load-store Architecture
No Memory Access for data
17
19. Architectures
contd…
Super Scalar
Multiple CPUs in a single Processor
Processor decides at runtime about the instructions that
can be executed parallel. (Complex HW)
Instructions will be executed in an order different from the
strictly sequential one with the restriction that the result
must be correct.
Execution policies:
1. In-order issue with in-order completion
2. In-order issue with out-of-order completion
3. Out-of-order issue with out-of-order completion
Examples:
Intel’s Pentium, IBM Power2, AMD K5, MIPS R10K, HP PA8500,
Cyrix 6x86
19
20. Architectures
contd…
VLIW (Very Large Instruction Word)
Multiple CPUs in a single Processor
Compiler decides about the instructions that can
be executed parallel and can be grouped in one
bundle (ILP, Instruction Level Parallelism)
Examples:
i860 (dual mode: RISC and VLIW), TriMedia, SHARC,
Itanium, EPIC, ST200, StarCore, Transmeta Crusoe,
Xtensa
20
21. CISC vs RISC vs SS vs VLIW
CISC
RISC
Superscalar
VLIW
Instruction
size
variable size
fixed size
fixed size
fixed size (but
large)
Instruction
format
variable
format
fixed format
fixed format
fixed format
Registers
few, some
special
many GP
GP and rename many, many
(RUU)
GP
Memory
reference
embedded in
many instr’s
load/store
load/store
load/store
Key Issues
decode
complexity
data
forwarding,
hazards
hardware
dependency
resolution
code
scheduling,
(compiler)
Instruction
flow
EX M WB
IF ID
EX M WB
IF ID
EX M WB
IF ID
EX M WB
IF ID
IF ID
EX M WB
IF ID
EX M WB
IF ID
EX M WB
IF ID
EX M WB
EX M WB
IF ID
EX M WB
EX M WB
41. Embedded Automotive
More than 30% of the cost of a car is now in Electronics
90% of all innovations will be based on electronic systems
41
42.
43. Concluding Remarks
Embedded computers are all around us.
Many systems have complex embedded
hardware and software
Embedded systems have pose many design
challenges: design time, deadlines, power, etc
Design methodologies help us manage the
design process
43