of embedded systems - Electrical and Computer Engineering

Download Report

Transcript of embedded systems - Electrical and Computer Engineering

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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
2
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
3
Embedded systems overview
• Embedded computing systems
– Computing systems embedded within
electronic devices
– Hard to define. Nearly any computing
system other than a desktop computer
– Billions of units produced yearly, versus
millions of desktop units
– Perhaps 50 per household and per
automobile
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Computers are in here...
and here...
and even here...
Lots more of these,
though they cost a lot
less each.
4
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
Life-support systems
Medical testing 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
And the list goes on and on
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
5
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
6
Why Embedded Systems Are Different
• Embedded systems are dedicated to specific tasks,
whereas PCs are generic computing platforms.
•
Another name for an embedded microprocessor is a dedicated microprocessor. It is
programmed to perform only one, or a few, specific tasks. Changing the task is
usually associated with obsolescing the entire system and redesigning it.
–
•
The processor that runs a mobile heart monitor/defibrillator is not expected to run a spreadsheet or word
processor.
Where as general-purpose processor, must be able to support a wide array of
applications with widely varying processing requirements. Because your PC must be
able to service the most complex applications with the same performance as the
lightest application, the processing power on your desktop is truly awesome.
–
Thus, it wouldn’t make much sense, either economically or from an engineering standpoint, to put an
INTEL Core I3, or similar processor, inside the coffeemaker on your kitchen counter.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
7
Why Embedded Systems Are Different
• Embedded systems are supported by a wide array
of processors and processor architectures.
– Most students you have never programmed on any platform except the
X86 (Intel)
– today more than 140 different microprocessors are available from more
than 40 semiconductor vendors. These vendors are in a daily battle with
each other to get the design-win (be the processor of choice) for the next
wide-body jet or the next Internet- based soda machine.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
8
Why Embedded Systems Are Different
• Embedded systems are usually cost sensitive.
– The cost that you must consider most of the time is system
cost. The cost of the processor is a factor, but, if you can
eliminate a printed circuit board and connectors and get by
with a smaller power supply by using a highly integrated
microcontroller instead of a microprocessor and separate
peripheral devices, you have potentially a greater reduction
in system costs, even if the integrated device is significantly
more costly than the discrete device.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
9
Why Embedded Systems Are Different
• Embedded systems have real-time constraints
– Real-time constraints generally are grouped into two categories: timesensitive constraints and time-critical constraints.
– If a task is time critical, it must take place within a set window of time,
or the function controlled by that task fails.
• Controlling the flight-worthiness of an aircraft is a good example of this. If the
feedback loop isn’t fast enough, the control algorithm becomes unstable, and the
aircraft won’t stay in the air.
– A time-sensitive task can die gracefully.
• If the task should take, for example, 4.5ms but takes, on average, 6.3ms, then perhaps
the inkjet printer will print two pages per minute instead of the design goal of three
pages per minute.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
10
Why Embedded Systems Are Different
• If an embedded system is using an operating system
at all, it is most likely using a real-time operating
system (RTOS)
– Like embedded processors, embedded operating systems also come in a
wide variety of flavors and colors.
– RTOSs are not democratic. They need not give every task that is ready to
execute the time it needs.
– RTOSs give the highest priority task that needs to run all the time it
needs. If other tasks fail to get sufficient CPU time, it’s the
programmer’s problem.
•
•
•
•
•
•
•
Green Hills Software INTEGRITY
Wind River VxWorks
QNX Neutrino
FreeRTOS
Micrium µC/OS-II, III
Windows CE
TI-RTOS Kernel (previously called DSP/BIOS)
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
11
Why Embedded Systems Are Different
• The implications of software failure is much more
severe in embedded systems than in desktop
systems.
– We all know of the tragic consequences of a medical radiation machine
that miscalculates a dosage. How do we know when our code is bug
free? How do you completely test complex software that must function
properly under all conditions?
– software failure is far less tolerable in an embedded system than in your
average desktop PC. That is not to imply that software never fails in an
embedded system, just that most embedded systems typically contain
some mechanism, such as a watchdog timer, to bring it back to life if the
software loses control.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
12
Why Embedded Systems Are Different
• Embedded systems often have power constraints.
– Power constraints affect the processor choice, its speed, and
its memory architecture.
– The constraints imposed by the system requirements will
likely determine whether the software must be written in
assembly language, rather than C or C++, because the
absolute maximum performance must be achieved within the
power budget.
– Power requirements are dictated by the CPU clock speed and
the number of active electronic components (CPU, RAM,
ROM, I/O devices, and so on).
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
13
Why Embedded Systems Are Different
• Embedded systems often must operate under
extreme environmental conditions.
– Embedded systems are everywhere. Embedded systems must
run in aircraft, in the polar ice, in outer space, etc
– If you’ve wondered why a simple processor, such as the
8086 from Intel, should cost several thousands of dollars in a
missile, think paperwork and environment.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
14
Why Embedded Systems Are Different
• Embedded systems have far fewer system resources
than desktop systems.
– this is because it is dedicated to a few well-defined tasks and
nothing else.
– The number of inputs and outputs are usually so limited, the
designers are forced to overload and serialize the functions
of one or two input devices.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
15
Why Embedded Systems Are Different
• Embedded systems often store all their object code
in ROM.
– Even your PC has to store some of its code in ROM. ROM is
needed in almost all systems to provide enough code for the
system to initialize itself (boot-up code).
– However, most embedded systems must have all their code
in ROM. This means severe limitations might be imposed on
the size of the code image that will fit in the ROM space.
However, it’s more likely that the methods used to design
the system will need to be changed because the code is in
ROM.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
16
Why Embedded Systems Are Different
• Embedded systems require specialized tools and
methods to be efficiently designed.
– The embedded system is so different in so many ways, it’s
not surprising that specialized tools and methods must be
used to create and test embedded software.
– example—the need to set a break-point at an instruction
boundary located in ROM.
• A ROM Emulator
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
17
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
Memory controller
•
•
•
Display ctrl
ISA bus interface
UART
LCD ctrl
Single-functioned -- always a digital camera
Tightly-constrained -- Low cost, low power, small, fast
Reactive and real-time -- only to a small extent
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
18
An embedded system example -- a digital
camera
•D2A/A2D circuits convert analog images to digital and digital to analog, respectively.
•CCD preprocessor is a charge-coupled device preprocessor.
•JPEG codec compresses and decompresses an image using the JPEG2 compression
standard.
•Pixel coprocessor aids in rapidly displaying images.
•Memory controller controls access to a memory chip also found in the camera,
•DMA controller enables direct memory access without requiring the use of the
microcontroller.
•UART enables communication with a PC’s serial port for uploading video frames,
•ISA bus interface enables a faster connection with a PC’s ISA bus.
•LCD ctrl and Display ctrl circuits control the display of images on the camera’s liquidcrystal display device.
•Multiplier/Accum circuit assists with certain digital signal processing.
•microcontroller, which is a processor that controls the activities of all the other circuits.
We can think of each device as a processor designed for a particular task, while the
microcontroller is a more general processor designed for general tasks.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
19
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
20
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
21
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
22
Design metric competition -- improving one
may worsen others
• Expertise with both software
and hardware is needed to
optimize design metrics
Power
Performance
Size
NRE cost
CCD
Digital camera chip
A2D
CCD preprocessor
Pixel coprocessor
D2A
lens
JPEG codec
Microcontroller
Multiplier/Accum
DMA controller
Memory controller
Display ctrl
ISA bus interface
– Not just a hardware or
software expert, as is common
– A designer must be
comfortable with various
technologies in order to choose
the best for a given application
and constraints
UART
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
LCD ctrl
Hardware
Software
23
Time-to-market: a demanding design metric
Revenues ($)
• Time required to develop a
product to the point it can be
sold to customers
• Market window
– Period during which the
product would have highest
sales
Time (months)
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
• Average time-to-market
constraint(time-window) is
about 8 months
• Delays can be costly
24
Losses due to delayed market entry
• Simplified revenue model
Revenues ($)
Peak revenue
Peak revenue from
delayed entry
On-time
Market fall
Market rise
Delayed
– Product life = 2W, peak at W
– Time of market entry defines a
triangle, representing market
penetration
– Triangle area equals revenue
• Loss
D
On-time
entry
Delayed
entry
W
2W
Time
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
– The difference between the ontime and delayed triangle areas
25
Losses due to delayed market entry (cont.)
• Area = 1/2 * base * height
Revenues ($)
Peak revenue
Peak revenue from
delayed entry
On-time
Market fall
Market rise
Delayed
D
On-time
entry
Delayed
entry
W
2W
Time
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
– On-time = 1/2 * 2W * W
– Delayed = 1/2 * (W-D+W)*(W-D)
• Percentage revenue loss =
(D(3W-D)/2W2)*100%
• Try some examples
–
–
–
–
–
Lifetime 2W=52 wks, delay D=4 wks
(4*(3*26 –4)/2*26^2) = 22%
Lifetime 2W=52 wks, delay D=10 wks
(10*(3*26 –10)/2*26^2) = 50%
Delays are costly!
26
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
27
NRE and unit cost metrics
• Compare technologies by costs -- best depends on quantity
– Technology A: NRE=$2,000, unit=$100
– Technology B: NRE=$30,000, unit=$30
– Technology C: NRE=$100,000, unit=$2
$200,000
B
C
$120,000
$80,000
$40,000
A
B
$160
p er p rod uc t c ost
$160,000
tota l c ost (x1000)
$200
A
C
$120
$80
$40
$0
$0
0
800
1600
2400
0
Numb er of units (volume)
800
1600
2400
Numb er of units (volume)
• But, must also consider time-to-market
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
28
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
29
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
30
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
logic and
State register
Control logic
and State
register
Registers
Control
logic
index
Register
file
IR
PC
General
ALU
IR
Custom
ALU
Data
memory
total = 0
for i =1 to …
General-purpose (“software”)
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
+
PC
Data
memory
Program
memory
Assembly code
for:
State
register
total
Data
memory
Program memory
Assembly code
for:
total = 0
for i =1 to …
Application-specific
Single-purpose (“hardware”)
31
Processor technology
• Processors vary in their customization for the problem at hand
Desired
functionality
General-purpose
processor
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
total = 0
for i = 1 to N loop
total += M[i]
end loop
Application-specific
processor
Single-purpose
processor
32
General-purpose processors
• Programmable device used in a variety of
applications
– Also known as “microprocessor”
• Features
– Program memory
– General datapath with large register file and
general ALU
• User benefits
– Low time-to-market and NRE costs
– High flexibility
• “Pentium” the most well-known, but
there are hundreds of others
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Controller
Datapath
Control
logic and
State register
Register
file
IR
PC
Program
memory
General
ALU
Data
memory
Assembly code
for:
total = 0
for i =1 to …
33
Single-purpose processors
• Digital circuit designed to execute exactly
one program
– a.k.a. coprocessor, accelerator or peripheral
• Features
– Contains only the components needed to
execute a single program
– No program memory
Controller
Datapath
Control
logic
index
total
State
register
+
Data
memory
• Benefits
– Fast
– Low power
– Small size
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
34
Application-specific processors
• Programmable processor optimized for a
particular class of applications having
common characteristics
– Compromise between general-purpose and
single-purpose processors
Controller
Datapath
Control
logic and
State register
Registers
Custom
ALU
IR
PC
• Features
– Program memory
– Optimized datapath
– Special functional units
• Benefits
Program
memory
Data
memory
Assembly code
for:
total = 0
for i =1 to …
– Some flexibility, good performance, size and
power
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
35
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
IC package
IC
source
gate
oxide
channel
drain
Silicon substrate
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
36
IC technology
• Three types of IC technologies
– Full-custom/VLSI
– Semi-custom ASIC (gate array and standard cell)
– PLD (Programmable Logic Device)
• To understand the differences among IC technologies, we must first
recognize that semiconductors consist of numerous layers. The
bottom layers form the transistors. The middle layers form logic
gates. The top layers connect these gates with wires(routing).
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
37
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
38
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 fullcustom implementation (perhaps $10k to $100k)
• Drawbacks
– Still require weeks to months to develop
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
39
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
40
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
per chip
(in millions)
100
10
1
0.1
Note:
logarithmic scale
0.01
0.001
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
41
Moore’s law
• Wow
– 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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
42
Graphical illustration of Moore’s law
1981
1984
1987
1990
1993
1996
1999
2002
10,000
transistors
150,000,000
transistors
Leading edge
chip in 1981
Leading edge
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
43
Design Technology
• The manner in which we convert our concept of
desired system functionality into an implementation
Compilation/
Synthesis
Compilation/Synthesis:
Automates exploration and
insertion of implementation
details for lower level.
Libraries/IP: Incorporates predesigned implementation from
lower abstraction level into
higher level.
Test/Verification: Ensures correct
functionality at each level, thus
reducing costly iterations
between levels.
Libraries/
IP
Test/
Verification
System
specification
System
synthesis
Hw/Sw/
OS
Model simulat./
checkers
Behavioral
specification
Behavior
synthesis
Cores
Hw-Sw
cosimulators
RT
specification
RT
synthesis
RT
components
HDL simulators
Logic
specification
Logic
synthesis
Gates/
Cells
Gate
simulators
To final implementation
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
44
Design productivity exponential increase
100,000
1,000
100
10
1
Productivity
(K) Trans./Staff – Mo.
10,000
2009
0.01
2007
2005
2003
2001
1999
1997
1995
1993
1991
1989
1987
1985
1983
0.1
• Exponential increase over the past few decades
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
45
The co-design ladder
• In the past:
– Hardware and software design
technologies were very different
– Recent maturation of synthesis
enables a unified view of
hardware and software
• Hardware/software
“codesign”
system functionality can be implemented in
hardware, software, or some combination thereof.
Sequential program code (e.g., C, VHDL)
Behavioral synthesis
(1990's)
Compilers
(1960's,1970's)
Register transfers
Assembly instructions
RT synthesis
(1980's, 1990's)
Assemblers, linkers
(1950's, 1960's)
Logic equations / FSM's
Machine instructions
Logic synthesis
(1970's, 1980's)
Logic gates
Microprocessor plus
program bits: “software”
Implementation
VLSI, ASIC, or PLD
implementation: “hardware”
The choice of hardware versus software for a particular function is simply a tradeoff among various
design metrics, like performance, power, size, NRE cost, and especially flexibility; there is no
fundamental difference between what hardware or software can implement.
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
46
Independence of processor and IC
technologies
• Basic tradeoff
– General vs. custom
– With respect to processor technology or IC technology
– The two technologies are independent
General,
providing improved:
Generalpurpose
processor
ASIP
Singlepurpose
processor
Flexibility
Maintainability
NRE cost
Time- to-prototype
Time-to-market
Cost (low volume)
Customized,
providing improved:
Power efficiency
Performance
Size
Cost (high volume)
PLD
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Semi-custom
Full-custom
47
Design productivity gap
• While designer productivity has grown at an impressive rate
over the past decades, the rate of improvement has not kept
pace with chip capacity
Logic transistors
per chip
(in millions)
10,000
100,000
1,000
10,000
100
10
1000
Gap
IC capacity
1
10
0.1
0.01
0.001
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
100
Productivity
(K) Trans./Staff-Mo.
1
productivity
0.1
0.01
48
Design productivity gap
• 1981 leading edge chip required 100 designer months
– 10,000 transistors / 100 transistors/month
• 2002 leading edge chip requires 30,000 designer months
– 150,000,000 / 5000 transistors/month
• Designer cost increase from $1M to $300M
Logic transistors
per chip
(in millions)
10,000
100,000
1,000
10,000
100
10
Gap
IC capacity
1
0.1
0.01
0.001
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
productivity
1000
100
10
1
Productivity
(K) Trans./Staff-Mo.
0.1
0.01
49
The mythical man-month
• The situation is even worse than the productivity gap indicates
•
•
In theory, adding designers to team reduces project completion time
In reality, productivity per designer decreases due to complexities of team management
and communication
In the software community, known as “the mythical man-month” (Brooks 1975)
At some point, can actually lengthen project completion time! (“Too many cooks”)
•
•
•
•
•
1M transistors, 1
designer=5000 trans/month
Each additional designer
reduces for 100 trans/month
So 2 designers produce 4900
trans/month each
60000
50000
40000
30000
20000
10000
16
16
19
18
23
24
Months until completion
43
Individual
0
Embedded Systems Design: A Unified
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
Team
15
10
20
30
Number of designers
40
50
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
Hardware/Software Introduction, (c) 2000 Vahid/Givargis
51