Vahid, Givargis Vahid, Givargis Embedded Systems Embedded Systems Embedded Systems Overview Embedded Systems Overview Technologies Technologies Design Challenges Design Challenges
Vahid, GivargisVahid, Givargis
Embedded SystemsEmbedded Systems
Embedded Systems OverviewEmbedded Systems Overview
TechnologiesTechnologies
Design ChallengesDesign Challenges
Vahid, GivargisVahid, Givargis -- 22 --
OutlineOutline
Embedded Systems overview
What are they?
Technologies
Processor technologies
IC technologies
Design technologies
Design Challenges
Productivity gap
Vahid, GivargisVahid, Givargis -- 33 --
Embedded systems overviewEmbedded 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...
Vahid, GivargisVahid, Givargis -- 44 --
Embedded systems overviewEmbedded systems overview
Embedded computing systems
Computing systems embedded within other devices
Systems that add a new functionality to the device
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
Vahid, GivargisVahid, Givargis -- 55 --
Some embedded systemsSome embedded systems
Anti-lock brakesAuto-focus camerasAutomatic teller machinesAutomatic toll systemsAutomatic transmissionAvionic systemsBattery chargersCamcordersCell phonesCell-phone base stationsCordless phonesCruise controlCurbside check-in systemsDigital camerasDisk drivesElectronic card readers
Portable video gamesPrintersSatellite phonesScannersSmart ovens/dishwashersSpeech recognizersStereo systemsTeleconferencing systemsTelevisionsTemperature controllersTheft tracking systemsTV set-top boxesVCR’s, DVD playersVideo game consolesVideo phonesWashers and dryers
Electronic instruments Electronic toys/gamesFactory controlFax machinesFingerprint identifiersHome security systemsLife-support systemsMedical testing systemsModemsMPEG decodersNetwork cardsNetwork switches/routersOn-board navigationPagersPhotocopiersPoint-of-sale systems
Vahid, GivargisVahid, Givargis -- 66 --
Characteristics of embedded systemsCharacteristics of embedded systems
Single-functioned
Executes a single function, repeatedly
Tightly-constrained
Low cost
low power
Small
Fast
...
Reactive and real-time
Continually reacts to changes in the environment
Must compute certain results in real-time
Vahid, GivargisVahid, Givargis -- 77 --
Design metricsDesign metrics
Design goal
Build 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
Vahid, GivargisVahid, Givargis -- 88 --
Design metricsDesign metrics
NRE costNon-Recurring Engineering cost
The one-time cost of designing the system
Unit costThe cost of each copy of the systemBOM
Fabrication &End-of-line testing
NRE
Time-to-prototypeTime needed to build a working version of the system
Time-to-marketThe time required to develop a system to the point that it can be released and sold to customers
Vahid, GivargisVahid, Givargis -- 99 --
Design metricsDesign metrics
Size, Weight
The physical space required by the system
Performance
Hard to define, often measured as the execution time or throughput of the system
Power, Energy
The amount of power consumed by the system
Flexibility
The ability to change the functionality of the system without incurring heavy NRE cost
Maintainability
the ability to modify the system after its initial release
Correctness, safety, …
Vahid, GivargisVahid, Givargis -- 1010 --
Design metrics: NRE and Unit costDesign metrics: NRE and Unit cost
Relations
TotalCost = NREcost + UnitCost × #Units
PerProductCost = TotalCost / #Units =
= (NRECost / #Units) + UnitCost
Example 1
NRECost = 2000$
UnitCost = 100$
10 units
PerProductCost = 2000$ / 10 + 100$ = 300$
100 units
PerProductCost = 2000$ / 100 + 100$ = 120$
Vahid, GivargisVahid, Givargis -- 1111 --
Design metrics: TimeDesign metrics: Time--toto--marketmarket
Time required to develop a product to the point it can be sold to customers
Market window
Period when the product would have highest sales
Average time-to-market is about 6 to 8 months
Delays can be costly
This period is continuosly shrinking, especially for consumer electonics
Vahid, GivargisVahid, Givargis -- 1212 --
Design metrics: TimeDesign metrics: Time--toto--marketmarketrevenue ($)
time (months)
W 2WD
delay
time (months)
revenue ($)
delay
Vahid, GivargisVahid, Givargis -- 1313 --
Design metrics: TimeDesign metrics: Time--toto--marketmarket
Revenue = 1/2 × base × height
On-time = 1/2 × 2W × W = W2
Delayed = 1/2 × (2W-D) × (W-D)=W2+D2/2-3WD/2
RevenueLoss = D(3W-D)/2W2
Example 1
Lifetime 2W = 52 w
Delay = 4 W
RevenueLoss = 4 × (3 × 26 – 4)/2 × 262) = 0.22 = 22%
Example 2
Lifetime 2W = 52 w
Delay = 10 W
RevenueLoss = 10 × (3 × 26 – 10)/2 × 262) = 0.45 = 45%
Vahid, GivargisVahid, Givargis -- 1414 --
Design metrics: NRE and Unit costDesign metrics: NRE and Unit cost
Solution A: NRECost=$2,000 #Units=$100
Solution B: NRECost=$30,000 #Units=$30
Solution C: NRECost=$100,000 #Units=$2
$0
$50,000
$100,000
$150,000
$200,000
$250,000
$300,000
$350,000
0 500 1000 1500 2000 2500 3000 3500
Solution A
Solution B
Solution C
Vahid, GivargisVahid, Givargis -- 1515 --
Design metrics: PerformanceDesign metrics: Performance
Clock frequency, instructions per secondNot good measures, abused
Digital camera exampleA user cares about how fast it processes images, not clock speed or instructions per second
LatencyTime between task start and end
Digital camera exampleCamera processes images in 0.25 seconds
ThroughputTasks per second
Digital camera example Camera processes 4 images per second
Vahid, GivargisVahid, Givargis -- 1616 --
Key technologiesKey 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
Vahid, GivargisVahid, Givargis -- 1717 --
Processor technologyProcessor technology
The architecture of the computation engine used to implement a system’s desired functionality
A part of the whole system
The complete system
Processor does not have to be programmable
A processor is not necessarily a general-purpose programmable processor
Something that processes data
Input
Processing
Output
Vahid, GivargisVahid, Givargis -- 1818 --
Processor technologyProcessor technology
Processors vary with respect to their customizationfor the problem under study
total = 0
for i = 1 to N
loop
total += M[i]
end loop
General-purpose
processor
Single-purpose
processor
Application-specific
processor
Desired
functionality
Vahid, GivargisVahid, Givargis -- 1919 --
Processor technology: GPPProcessor technology: GPP
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
IR PC
Registerfile
GeneralALU
DatapathController
Program memory
Assembly code for:
total = 0
i = 1
...
Control logic and
State register
Datamemory
Vahid, GivargisVahid, Givargis -- 2020 --
Processor technology: SPPProcessor technology: SPP
Digital circuit designed to execute exactly one program or task
Coprocessor
Accelerator
Features
Contains only the componentsneeded to execute a single program
No program memory
Benefits
Fast
Low power
Small size
DatapathController
Control logic
State register
Datamemory
index
total
+
Vahid, GivargisVahid, Givargis -- 2121 --
Processor technology: ASIPProcessor technology: ASIP
Programmable processor
Optimized for applications having common characteristics
Compromise between general-purpose and single-purpose
Features
Program memory
Special functional units
Benefits
Flexibility
Performance
Size, Power
IR PC
Registers
CustomALU
DatapathController
Program memory
Assembly code for:
total = 0
i = 1
...
Control logic and
State register
Datamemory
Vahid, GivargisVahid, Givargis -- 2222 --
IC technologyIC technology
The manner in which a digital implementation is mapped onto a technological solution
Integrated Circuit
Technologies differ in their customization to a design
Consist of numerous layers
Integrated circuit technologies differ with respect to
Who builds each layer
When layers are built
Three types of IC technologies
Full-custom
Semi-custom (Gate Array and Standard Cell)
Programmable Logic Device
Vahid, GivargisVahid, Givargis -- 2323 --
IC technology: Full CustomIC technology: Full Custom
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
Long time-to-market (months/years)
Vahid, GivargisVahid, Givargis -- 2424 --
IC technology: Semi CustomIC technology: Semi Custom
Lower layers fully or partially built (Gate array)
Designers are left with routing of wires
Maybe placing some blocks
Built using black-box cells (Standard cells)
Simplifies design but not fabrication
Benefits
Good performance
Good size
Less NRE cost than a full-custom implementation
Drawbacks
Still require long time-to-market (months)
Vahid, GivargisVahid, Givargis -- 2525 --
IC technology: PLDIC technology: PLD
All layers already exist
Logic blocks are already built on the device
Connections are either created or destroyed
Field-Programmable Gate Array (FPGA) very popular
Benefits
Low NRE costs
Very short time-to-market
Drawbacks
Huge size compared to semi- or full-custom
Slow and power-consuming
Expensive
Vahid, GivargisVahid, Givargis -- 2626 --
PProcessorrocessor and IC technologiesand IC technologies
Basic tradeoff: General vs. Custom
With respect to processor technology or IC technology
The two technologies are independent
GPP ASIP SPP
PLD
General
High flexibilityLow NRE cost
Low time-to-marketLow cost for low volumes
Custom
High Power efficiencyHigh PerformanceSmall sizeLow cost for high volumes
Semi-Custom Full-Custom
Vahid, GivargisVahid, Givargis -- 2727 --
MooreMoore’’s laws law
Moore's Law (1965):
"IC transistor capacity doubles every 18 months"
Transintors on a single chip
1E+03
1E+04
1E+05
1E+06
1E+07
1E+08
1E+09
1E+10
1975 1980 1985 1990 1995 2000 2005 2010 2015
Year
Tra
ns
isto
rs
Vahid, GivargisVahid, Givargis -- 2828 --
MooreMoore’’s law in a pictures law in a picture
Something that doubles frequently grows more quickly than most people realize!
A 2008 chip can hold about 400,000 1981 chips
Faster growth w.r.t. Moore’s Law
‘81 ‘84 ‘87 ‘90 ‘93 ‘96 ‘99 ‘02
Leading edge
chip in 1981
10,000
transistors
Leading edge
chip in 2008
4,000,000,000
transistors
‘06 ‘08
Vahid, GivargisVahid, Givargis -- 2929 --
Design TechnologyDesign Technology
The manner in which we convert our concept of desired system functionality into an implementation
Compilation/Synthesis
Automates exploration and insertion of implementation details for lower level
Libraries/IP
Incorporates pre-designed implementation from lower abstraction level into higher level
Test/Verification
Ensures correct functionality at each level, thus reducing costly iterations between levels
Vahid, GivargisVahid, Givargis -- 3030 --
Design Technology: HWDesign Technology: HW
Implementation
Gatesimulators
Gates & CellsLogic
synthesis
HDL
simulators
RTcomponents
RTsynthesis
Co-simulatorsCoresBehavioralsynthesis
Model SimulatorsCheckers
CoresSystemsynthesis
VerificationLibrariesCompilation
Systemspecification
Behavioralspecification
RTspecification
Logicspecification
Vahid, GivargisVahid, Givargis -- 3131 --
Design Technology: SWDesign Technology: SW
Implementation
ISSInstruction setsAssembly andLinking
Static analysis
Execution
Profiling
FunctionsCompilation
(Symbolic) Execution
FunctionsCode cleaning and optimization
Domain-specificSimulators
Components(OS, Stacks, ...)
Code Generation
VerificationLibrariesCompilation
Systemspecification
Behavioralspecification
RTspecification
Logicspecification
Vahid, GivargisVahid, Givargis -- 3232 --
Design productivityDesign productivity
Exponential increase over the past few decades
Productiv ity
1E+00
1E+01
1E+02
1E+03
1E+04
1E+05
1E+06
1975 1980 1985 1990 1995 2000 2005 2010 2015
Year
Tra
ns
isto
rs/P
M
Vahid, GivargisVahid, Givargis -- 3333 --
Design productivity gapDesign productivity gap
The productivity has grown at a slower rate with respect to chip capacity
Productiv ity Gap
1E+00
1E+01
1E+02
1E+03
1E+04
1E+05
1E+06
1E+07
1E+08
1E+09
1E+10
1975 1980 1985 1990 1995 2000 2005 2010 2015
Year
Tra
ns
isto
rs/P
M today's gap
Vahid, GivargisVahid, Givargis -- 3434 --
Design productivity gapDesign productivity gap
1981 leading edge chip
10.000 Transistors
100 Transistors/Person Months
100 Person Months
Design Cost: 1 M$
2008 leading edge chip
4.000.000.000 Transistors
100.000 Transistors/Person Months
4.000 Person Months
Design Cost: 200 M$