Embedded Systems Design: A Unified
Hardware/Software Introduction
Chapter 1: Introduction
1
Outline
• Embedded systems overview
– What are they?
• Design challenge – optimizing design metrics
• Technologies
– Processor technologies
– IC technologies
– Design technologies
Embedded Systems Design: A Unified 2
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded systems overview
• Computing systems are everywhere
• Most of us think of “desktop” computers
– PC’s
– Laptops
– Mainframes used for bulk processing e.g. census data
– Servers
• But there’s another type of computing system
– Far more common and that go completely unnoticed...
Embedded Systems Design: A Unified 3
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded systems overview
• Embedded computing systems
Computers are in here...
– Computing systems embedded within
electronic devices and here...
– Hard to define. Nearly any computing and even here...
system other than a desktop computer
– Billions of units produced yearly, versus
millions of desktop units
– Perhaps 50 per household and per
automobile Lots more of these,
though they cost a lot
less each.
Embedded Systems Design: A Unified 4
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
A “short list” of embedded systems
Anti-lock brakes Modems
Auto-focus cameras MPEG decoders
Automatic teller machines Network cards
Automatic toll systems Network switches/routers
Automatic transmission On-board navigation
Avionic systems Pagers
Battery chargers Photocopiers
Camcorders Point-of-sale systems
Cell phones Portable video games
Cell-phone base stations Printers
Cordless phones Satellite phones
Cruise control Scanners
Curbside check-in systems Smart ovens/dishwashers
Digital cameras Speech recognizers
Disk drives Stereo systems
Electronic card readers Teleconferencing systems
Electronic instruments Televisions
Electronic toys/games Temperature controllers
Factory control Theft tracking systems
Fax machines TV set-top boxes
Fingerprint identifiers VCR’s, DVD players
Home security systems Video game consoles
Life-support systems Video phones
Medical testing systems Washers and dryers
And the list goes on and on
Embedded Systems Design: A Unified 5
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Some common characteristics of embedded
systems
• Single-functioned
– Executes a single program, repeatedly e.g. a pager is always a pager
– In contrast a desktop system executes a variety of programs e.g.
spreadsheets, word processors and video games etc
• Tightly-constrained
– Low cost, low power, small to fit on a single chip, fast, etc.
• Reactive and real-time
– Continually reacts to changes in the system’s environment
– Must compute certain results in real-time without delay
– For example, a car’s cruise control must notice continually and react to
speed and brake sensors
Embedded Systems Design: A Unified 6
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
An embedded system example -- a digital camera
Digital camera chip
CCD
CCD preprocessor Pixel coprocessor D2A
A2D
lens
JPEG codec Microcontroller Multiplier/Accum
DMA controller Display ctrl
Memory controller ISA bus interface UART LCD ctrl
• Single-functioned -- always a digital camera (capture, compress, store frames, decompress, display,
upload frames)
• Tightly-constrained -- Low cost, low power, small, fast
• Reactive and real-time -- only to a small extent (responds to touch button only & slower wrt processor
speeds)
Embedded Systems Design: A Unified 7
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design challenge – optimizing design metrics
• Obvious design goal:
– Construct an implementation with desired functionality
• Key design challenge:
– Simultaneously optimize numerous design metrics
• Design metric
– A measurable feature of a system’s implementation
– Optimizing design metrics is a key challenge
Embedded Systems Design: A Unified 8
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
Embedded Systems Design: A Unified 9
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design challenge – optimizing design metrics
• Common metrics (continued)
– Time-to-prototype: the time needed to build a working version of the
system
– Time-to-market: the time required to develop a system to the point that it
can be released and sold to customers
– Maintainability: the ability to modify the system after its initial release
– Correctness, safety, many more
Embedded Systems Design: A Unified 10
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design metric competition -- improving one
may worsen others
Power • Expertise with both software
and hardware is needed to
Performance Size
optimize design metrics
– Not just a hardware or
Size/pwr reduction software expert, as is common
may
performance
reduce NRE cost – A designer must be
comfortable with various
CCD
Digital camera chip technologies in order to choose
A2D
CCD preprocessor Pixel coprocessor D2A the best for a given application
lens
and constraints
JPEG codec Microcontroller Multiplier/Accum
DMA controller Display ctrl Hardware
Memory controller ISA bus interface UART LCD ctrl
Software
Embedded Systems Design: A Unified 11
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Time-to-market: a demanding design metric
• Time required to develop a
product to the point it can be
sold to customers
• Market window
Revenues ($)
– Period during which the
product would have highest
sales
• Average time-to-market
Time (months) constraint is about 8 months
• Delays can be costly
Embedded Systems Design: A Unified 12
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
The performance design metric
• Widely-used measure of system, widely-abused
– Clock frequency, instructions per second – not good measures
– Digital camera example – a user cares about how fast it processes images, not
clock speed or instructions per second
• Latency (response time)
– Time between task start and end
– e.g., A camera processes images in 0.25 seconds
• Throughput
– Tasks per second, e.g. Camera A processes 4 images per second
– Throughput can be more than latency due to concurrency, e.g. Camera B may
process 8 images per second (by capturing a new image while previous image is
being stored).
• Speedup of B over A = B’s performance / A’s performance
– Throughput speedup = 8/4 = 2
Embedded Systems Design: A Unified 13
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
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
Embedded Systems Design: A Unified 14
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Processor technology
• The architecture of the computation engine used to implement a
system’s desired functionality
• Processor does not have to be programmable
– “Processor” not equal to general-purpose processor
Controller Datapath Controller Datapath Controller Datapath
Control index
Control Register Control logic Registers
logic
logic and file and State total
State register register
Custom State
+
ALU register
General
IR PC ALU IR PC
Data Data
memory memory
Program Data Program memory
memory memory
Assembly code Assembly code
for: for:
total = 0 total = 0
for i =1 to … for i =1 to …
General-purpose (“software”) Application-specific Single-purpose (“hardware”)
Embedded Systems Design: A Unified 15
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
General-purpose processors (GPP)--software
• Programmable device used in a variety of
applications Controller Datapath
– Also known as “microprocessor” Control Register
logic and file
– Designers use “software” to program processor’s State register
memory to carry out rqd function
General
• Features IR PC ALU
– Program memory
– General datapath with large register file and Program Data
general ALU memory memory
• User benefits Assembly code
for:
– Low time-to-market and NRE costs
total = 0
– High flexibility for i =1 to …
• “Pentium” the most well-known, but there are
hundreds of others
Embedded Systems Design: A Unified 16
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Single-purpose processors (SPP)--hardware
• Digital circuit designed to execute exactly Controller Datapath
one program Control index
– a.k.a. coprocessor, accelerator or peripheral e.g. logic
total
JPEG codec State
register +
• Features
– Contains only the components needed to Data
execute a single program memory
– No program memory
• Benefits
– Fast
– Low power
– Small size
Embedded Systems Design: A Unified 17
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Application-specific processors (ASIP)
• Programmable processor optimized for a Controller Datapath
particular class of applications having Control Registers
logic and
common characteristics State register
– Compromise between general-purpose and Custom
ALU
single-purpose processors e.g. DSPs IR PC
• Features Data
Program memory
– Program memory memory
– Optimized datapath Assembly code
– Special functional units for:
• Benefits total = 0
for i =1 to …
– Some flexibility, good performance, size and
power
Embedded Systems Design: A Unified 18
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
IC technology
• The way a digital (gate-level) implementation is
mapped onto an IC
– IC: Integrated circuit, or “chip”
– IC technologies differ in their customization to a design
– ICs consist of numerous layers (perhaps 10 or more)
gate
IC package IC oxide
source channel drain
Silicon substrate
Embedded Systems Design: A Unified 19
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
IC technology
• Three types of IC technologies
– Full-custom/VLSI
– Semi-custom ASIC (gate array and standard cell)
– PLD (Programmable Logic Device)
Embedded Systems Design: A Unified 20
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Full-custom/VLSI
• All layers are optimized for an embedded system’s
particular digital implementation
– Placing transistors
– Sizing transistors
– Routing wires
• Benefits
– Excellent performance, small size, low power
• Drawbacks
– High NRE cost (e.g., $300k), long time-to-market
Embedded Systems Design: A Unified 21
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Semi-custom
• Lower layers are fully or partially built
– Designers are left with routing of wires and maybe placing
some blocks
• Benefits
– Good performance, good size, less NRE cost than a full-
custom implementation (perhaps $10k to $100k)
• Drawbacks
– Still require weeks to months to develop
Embedded Systems Design: A Unified 22
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
PLD (Programmable Logic Device)
• All layers already exist
– Designers can purchase an IC
– Connections on the IC are either created or destroyed to
implement desired functionality
– Field-Programmable Gate Array (FPGA) very popular
• Benefits
– Low NRE costs, almost instant IC availability
• Drawbacks
– Bigger, expensive (perhaps $30 per unit), power hungry,
slower
Embedded Systems Design: A Unified 23
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Moore’s law
• The most important trend in embedded systems
– Predicted in 1965 by Intel co-founder Gordon Moore
IC transistor capacity has doubled roughly every 18 months
for the past several decades
10,000
1,000
Logic transistors 100
per chip 10
(in millions) 1
0.1
Note:
0.01
logarithmic scale
0.001
Embedded Systems Design: A Unified 24
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Moore’s law
• Wow
– This growth rate is hard to imagine, most people
underestimate
Embedded Systems Design: A Unified 25
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Graphical illustration of Moore’s law
1981 1984 1987 1990 1993 1996 1999 2002
10,000 150,000,000
transistors transistors
Leading edge Leading edge
chip in 1981 chip in 2002
• Something that doubles frequently grows more quickly
than most people realize!
– A 2002 chip can hold about 15,000 1981 chips inside itself
Embedded Systems Design: A Unified 26
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design Technology
• The way we convert our concept of desired system
functionality into an implementation
• Compilation/synthesis, libraries/IP, test/verification
Embedded Systems Design: A Unified 27
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Summary
• Embedded systems are everywhere
• Key challenge: optimization of design metrics
– Design metrics compete with one another
• A unified view of hardware and software is necessary to
improve productivity
• Three key technologies
– Processor: general-purpose, application-specific, single-purpose
– IC: Full-custom, semi-custom, PLD
– Design: Compilation/synthesis, libraries/IP, test/verification
Embedded Systems Design: A Unified 28
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Next time
• Chapter 0 from the book by Mazidi: Introduction to
computing
– Numbering and coding systems
– Digital Primer: Binary logic and logic design using gates
– Inside the computer: What processes and components make
the GP computer work?
Embedded Systems Design: A Unified 29
Hardware/Software Introduction, (c) 2000 Vahid/Givargis