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
– Servers
• But there’s another type of computing system
– Far more common...
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
Embedded System Definitions:
“An embedded system is a system that has software
embedded into computer-hardware, which makes a
system dedicated for an application (s) or specific part of
an application or product or part of a larger system.” Raj
Kamal
Embedded Systems Design: A Unified 2008
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded System Definitions:
“An embedded system is one that has a dedicated
purpose software embedded in a computer
hardware.” – Present Book
Embedded Systems Design: A Unified 6 2008
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded System Definitions:
“It is any device that includes a programmable
computer but is not itself intended to be a general
purpose computer.” – Wayne Wolf, Ref: 61
Embedded Systems Design: A Unified 7 2008
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded System Definitions:
“Embedded Systems are the electronic systems that
contain a microprocessor or a microcontroller, but we
do not think of them as computers– the computer is
hidden or embedded in the system.” – Todd D.
Morton
Embedded Systems Design: A Unified 8 2008
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Some common characteristics of embedded
systems
• Single-functioned
– Executes a single program, repeatedly
• Tightly-constrained
– Low cost, low power, small, fast, etc.
• Reactive and real-time
– Continually reacts to changes in the system’s environment
– Must compute certain results in real-time without delay
Embedded Systems Design: A Unified 9
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 10
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, CCD- Charged coupled device
• Tightly-constrained -- Low cost, low power, small, fast , ISA- industry standard arch.
• Reactive and real-time -- only to a small extent
Embedded Systems Design: A Unified 11
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 12
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Constraints of an Embedded System Design
• Available system-memory
• Available processor speed
• Limited power dissipation when running the system
continuously in cycles of the system start, wait for
event, wake-up and run, sleep and stop.
Embedded Systems Design: A Unified 13 2008
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
System design constraints
• Performance,
• Power,
• Size,
• Non-recurring design cost, and
• Manufacturing costs.
• Time to prototype
• Flexibility
• Correctness
• Maintainability
• Safety
Embedded Systems Design: A Unified 14 2008
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., Camera’s A and B process images in 0.25 seconds
• Throughput
– Tasks per second, e.g. Camera A processes 4 images per second
– Throughput can be more than latency seems to imply 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 S = B’s performance / A’s performance
– Throughput speedup = 8/4 = 2
Embedded Systems Design: A Unified 15
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 16
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 17
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 18
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Losses due to delayed market entry
• Simplified revenue model
Peak revenue
– Product life = 2W, peak at W
Peak revenue from
– Time of market entry defines a
Revenues ($)
delayed entry
On-time triangle, representing market
Market rise Market fall penetration
Delayed – Triangle area equals revenue
• Loss
D W 2W – The difference between the on-
On-time Delayed Time time and delayed triangle areas
entry entry
Embedded Systems Design: A Unified 19
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Losses due to delayed market entry (cont.)
• Area = 1/2 * base * height
Peak revenue – On-time = 1/2 * 2W * W
Peak revenue from
– Delayed = 1/2 * (W-D+W)*(W-D)
Revenues ($)
On-time
delayed entry
• Percentage revenue loss =
Market rise Market fall (D(3W-D)/2W2)*100%
Delayed • Try some examples
– Lifetime 2W=52 wks, delay D=4 wks
D W 2W
– (4*(3*26 –4)/2*26^2) = 22%
On-time Delayed Time – Lifetime 2W=52 wks, delay D=10 wks
entry entry – (10*(3*26 –10)/2*26^2) = 50%
– Delays are costly!
$Derive equation for any angle other than 45 degree considered in this example
Embedded Systems Design: A Unified 20
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
NRE and unit cost metrics
• Costs:
– 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
– total cost = NRE cost + unit cost * # of units
– per-product cost = total cost / # of units
= (NRE cost / # of units) + unit cost
• Example
– NRE=$2000, unit=$100
– For 10 units
– total cost = $2000 + 10*$100 = $3000
– per-product cost = $2000/10 + $100 = $300
Amortizing NRE cost over the units results in an
additional $200 per unit
Embedded Systems Design: A Unified 21
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 optimize
design metrics
Performance Size – Not just a hardware or software
expert, as is common
– A designer must be comfortable
NRE cost with various technologies in order
to choose the best for a given
Digital camera chip
CCD
CCD preprocessor Pixel coprocessor D2A
application and constraints
A2D
lens
JPEG codec Microcontroller Multiplier/Accum
DMA controller Display ctrl
Hardware
Memory controller ISA bus interface UART LCD ctrl
Software
Embedded Systems Design: A Unified 22
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
–Three main embedded components
1. Embeds hardware to give computer like
functionalities
2. Embeds main application software generally into
flash or ROM and the application software
performs concurrently the number of tasks.
Embedded Systems Design: A Unified 2008
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded system components
3. Embeds a real time operating system ( RTOS),
which supervises the application software tasks
running on the hardware and organizes the
accesses to system resources according to
priorities and timing constraints of tasks in the
system.
Embedded Systems Design: A Unified 24 2008
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Typical Embedded System Hardware units
Embedded Systems Design: A Unified 25 2008
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
System designer considerations
• Processor Instructions in the Instruction set
• Processor ability to solve the complex algorithms used
in meeting the deadlines for their processing.
• Maximum bits in operand (8 or 16 or 32) in a single
arithmetic or logical operation.
• Internal and External bus-widths in the data-path
Embedded Systems Design: A Unified 26 2008
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
System designer considerations
Clock frequency in MHz and processing speed –
• Million Instructions Per Second (MIPS) or
• Million Floating Point Instructions Per Second
(MFLOPS) or
• Optimizing data path
Embedded Systems Design: A Unified 27 2008
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 28
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Processor technology
• The architecture of the computation engine used to implement a
system’s desired functionality
• Processor, every time not 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 register
+
ALU
General
IR PC ALU IR PC
Data Data
memory memory
Program Data Program memory
memory memory
Assembly code for: Assembly code 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 29
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Processor technology
• Processors vary in their customization for the problem at hand
total = 0
for i = 1 to N loop
total += M[i]
end loop
Desired
functionality
General-purpose Application-specific Single-purpose
processor processor processor
Embedded Systems Design: A Unified 30
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
General-purpose processors
• Programmable device used in a variety of
Controller Datapath
applications
Control
– Also known as “microprocessor” logic and
Register
file
• Features State
register
– Program memory General
– General datapath with large register file and IR PC ALU
general ALU
• User benefits Program memory
Data
memory
– Low time-to-market and NRE costs
Assembly code for:
– High flexibility, High Unit cost total = 0
• “Pentium” the most well-known, but for i =1 to …
there are hundreds of others
Embedded Systems Design: A Unified 31
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Single-purpose processors
• Digital circuit designed to execute exactly Controller Datapath
one program Control index
logic
– a.k.a. coprocessor, accelerator or peripheral
total
• Features State
register +
– Contains only the components needed to
execute a single program Data
– No program memory memory
• Benefits
– Fast
– Low power
– Small size
Embedded Systems Design: A Unified 32
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Application-specific processors
• 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 IR PC
• Features Data
Program memory memory
– Program memory
– Optimized datapath Assembly code for:
– Special functional units total = 0
for i =1 to …
• Benefits
– Some flexibility, good performance, size and
power
Embedded Systems Design: A Unified 33
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
IC technology
• The manner in which a digital (gate-level)
implementation is mapped onto an IC
– IC: Integrated circuit, or “chip”
– IC technologies differ in their customization to a design
– IC’s consist of numerous layers (perhaps 10 or more)
• IC technologies differ with respect to who builds each layer and
when
gate
IC package IC oxide
source channel drain
Silicon substrate
Embedded Systems Design: A Unified 34
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 35
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 36
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 37
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 38
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
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
Embedded Systems Design: A Unified 39
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded Systems Design: A Unified 40
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Moore’s law
– The observation made in 1965 by Gordon Moore, co-
founder of Intel, that the number of transistors per square
inch on integrated circuits had doubled every year since the
integrated circuit was invented
– This growth rate is hard to imagine, most people
underestimate
– How many ancestors do you have from 20 generations ago
• i.e., roughly how many people alive in the 1500’s did it take to make
you?
• 220 = more than 1 million people
– (This underestimation is the key to pyramid schemes!)
Embedded Systems Design: A Unified 41
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 42
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Design Technology
• The manner in which we convert our concept of
desired system functionality into an implementation
Compilation/ Libraries/ Test/
Synthesis IP Verification
System System Hw/Sw/ Model simulat./
Compilation/Synthesis: specification synthesis OS checkers
Automates exploration and
insertion of implementation
details for lower level.
Behavioral Behavior Cores Hw-Sw
specification synthesis cosimulators
Libraries/IP: Incorporates pre-
designed implementation from
lower abstraction level into
higher level. RT RT RT HDL simulators
specification synthesis components
Test/Verification: Ensures correct
functionality at each level, thus
reducing costly iterations Logic Logic Gates/ Gate
between levels. specification synthesis Cells simulators
To final implementation
Embedded Systems Design: A Unified 43
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Embedded Systems Design: A Unified 44
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 45
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Sheet 1
Explain the following Terms, Give examples in support of your answer
– Loosely coupled Vs Tightly coupled
– RISC Vs CISC design Concept
– Dynamic voltage Scaling
– Supper Scalar processor Vs Super pipelining
– Virtual machine
– Processor Vs Coprocessor
– Processor Vs Microcontroller
– Reactive Vs responsive systems
– Direct Memory access
– Programmable Logic array
– Programmable Peripheral Interface
– ISA Bus
– USART
Embedded Systems Design: A Unified 46
Hardware/Software Introduction, (c) 2000 Vahid/Givargis