ch1 010902
ch1 010902
IC technologies
Design technologies
2
PCs
Laptops
Mainframes Servers
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
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 VCRs, DVD players Video game consoles Video phones Washers and dryers
Single-functioned
Executes a single program, repeatedly
Tightly-constrained
Low cost, low power, small, fast, etc.
DMA controller
Display ctrl
Memory controller
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
functionality
metrics
Design metric
A measurable feature of a systems
Common metrics
Unit cost: the monetary cost of manufacturing each copy of
the system, excluding NRE cost
Size: the physical space required by the system Performance: the execution time or throughput of the
system
Maintainability:
10
Power
Performance
Size
Expertise with both software and hardware is needed to optimize design metrics
Not just a hardware or
NRE cost
CCD lens
Digital camera chip A2D JPEG codec DMA controller CCD preprocessor Pixel coprocessor D2A
Microcontroller
software expert, as is common A designer must be comfortable with various technologies in order to choose the best for a given application and Hardware constraints
Software
Memory controller
UART
LCD ctrl
11
Revenues ($)
Time required to develop a product to the point it can be sold to customers Market window
Period during which the
Average time-toTime (months) market constraint is about 8 months Delays can be costly
12
Peak revenue Revenues ($)
W Time of market entry defines a triangle, representing market penetration Triangle area equals revenue
W Time
2W
Loss
The difference between the
On-time entry
Delayed entry
13
Peak revenue Revenues ($)
D+W)*(W-D)
Percentage revenue loss = (D(3W-D)/2W2)*100% Try some examples D=4 wks Lifetime 2W=52 wks, delay
(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!
W Time
2W
On-time entry
Delayed entry
14
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
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
15
$120,000
p er p rod uc t c ost
$120 $80
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
Time between task start and end e.g., Cameras A and B process images in 0.25 seconds
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).
17
Technology
A manner of accomplishing a task,
The architecture of the computation engine used to implement a systems desired functionality Processor does not have to be programmable
Processor not equal to general-purpose processor
Controller Control logic and State register Datapath Register file General ALU Controller Control logic and State register Datapath Registers Custom ALU Controller Control logic State register Datapath
index
total +
IR
PC
IR
Data memory
Program memory Assembly code for: total = 0 for i =1 to Application-specific Single-purpose (hardware)
19
Desired functionality
General-purpose processor
Application-specific processor
Single-purpose processor
20
Controller
Control logic and State register
Datapath
Register file
Features
Program memory General datapath with large register
IR
PC
General ALU
User benefits
Low time-to-market and NRE costs High flexibility
Program memory
Assembly code for: total = 0 for i =1 to
Data memory
21
Datapath index
peripheral
total
+
Features
Contains only the components needed
Data memory
Benefits
Fast Low power Small size
22
Programmable processor optimized for a particular class of applications having common characteristics
Compromise between general-purpose
Datapath Registers
Custom ALU IR PC
Features
Program memory Optimized datapath Special functional units
Program memory
Assembly code for: total = 0 for i =1 to
Data memory
Benefits
Some flexibility, good performance, size
and power
23
a design Any processor can be mapped to any type of IC technology ICs consist of numerous layers (perhaps 10 or more)
24
25
All layers are optimized for an embedded systems 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
26
Benefits
Good performance, good size, less NRE cost
Drawbacks
Still require weeks to months to develop
27
destroyed to implement desired functionality PLA and PAL are simple PLD. FPGA is complex PLD.
Low NRE costs, almost instant IC availability Bigger, expensive (perhaps $30 per unit), power
Benefits
Drawbacks
hungry, slower
28
100 10 1 0.1
0.01 0.001
29
1984
1987
1990
1993
1996
1999
Something that doubles frequently grows more quickly than most people realize!
inside itself
30
31
Wow!!
microprocessor had 9.3 million transistors. Six years later, a state of the art microprocessor contained more than 40 million transistors. It is theorised that with further miniaturisation, by 2015 these processors should contain more than 15 billion transistors, and by 2020 will be in molecular scale production, where each molecule can be individually positioned
32
The manner in which we convert our concept of desired system functionality into an implementation
Compilation/ Synthesis Libraries/ IP Hw/Sw/ OS Cores Test/ Verification Model simulat./ checkers Hw-Sw cosimulators
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.
System specification
Behavioral specification
RT specification
RT synthesis
Logic specification
Logic synthesis
Gates/ Cells
Gate simulators
33
To final implementation
1983 1985 1987 1989 1991 1993 1995
1997
1999
2001
2003
2005
2007 2009
10
0.1
100
0.01
1,000
10,000
100,000
In the past:
Hardware and software
Sequential program code (e.g., C, VHDL) Compilers (1960's,1970's) Assembly instructions Assemblers, linkers (1950's, 1960's) Machine instructions Behavioral synthesis (1990's) Register transfers RT synthesis (1980's, 1990's)
design technologies were very different Recent maturation of synthesis enables a unified view of hardware and software
Hardware/software codesign
Implementation
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.
35
Basic tradeoff
General vs. custom With respect to processor technology or IC technology The two technologies are independent
Implement multiple processors of different types on Singlethe same IC. GeneralASIP purpose purpose
General, providing improved:
Flexibility Maintainability NRE cost Time- to-prototype Time-to-market Cost (low volume) processor processor
PLD
Semi-custom
Full-custom
36
While designer productivity has grown at an impressive rate over the past decades, the rate of improvement has not kept pace with chip capacity
10,000 1,000 100,000 10,000 1000
Gap
IC capacity
100 10 1
productivity
0.1 0.01
37
0.001
38
39
A unified view of hardware and software is necessary to improve productivity Three key technologies
Processor: general-purpose, application-specific, single-
40