0% found this document useful (0 votes)
10 views

Lecture 01 - Introduction

Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Lecture 01 - Introduction

Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 101

Embedded Systems

Design
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...

- 2-
Motivation for Course (1)

According to forecasts, future of IT


characterized by terms such as
 Disappearing computer,
 Ubiquitous computing,
 Pervasive computing,
 Ambient intelligence,
 Post-PC era,
 Cyber-physical systems.
Basic technologies:
 Embedded Systems
 Communication technologies
- 3-
Motivation for Course (2)

“Information technology (IT) is on the verge of another


revolution. …..
networked systems of embedded computers ... have the
potential to change radically the way people interact with their
environment by linking together a range of devices and
sensors that will allow information to be collected, shared, and
processed in unprecedented ways. ...
The use … throughout society could well dwarf previous
milestones in the information revolution.”

National Research Council Report (US)


Embedded Everywhere, 2001

- 4-
Motivation for Course (3)

 The
future is embedded,
embedded is the future

- 5-
What is an embedded system?

- 6-
Embedded systems overview

Embedded computing systems


 Computing systems embedded within Computers are in here...

electronic devices and here...

 Hard to define. Nearly any computing


system other than a desktop computer and even here...

 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.

- 7-
Embedded Systems & Cyber-Physical Systems

“Dortmund“ Definition: [Peter Marwedel]


Embedded systems are information processing systems
embedded into a larger product

Berkeley: [Edward A. Lee]:


Embedded software is software integrated with physical
processes. The technical problem is managing time and
concurrency in computational systems.

 Definition: Cyber-Physical (cy-phy) Systems (CPS) are


integrations of computation with physical processes [Edward
Lee, 2006].

- 8-
Extending the motivation:
Embedded systems and ubiquitous computing
Ubiquitous computing: Information anytime, anywhere.
Embedded systems provide fundamental technology.

Communication Embedded
Technology Systems

Dependabilit
Robots
Optical networking

Real-time
Control systems

service
Quality
Network management
Feature extraction
Distributed applications
and recognition
of
Service provision

y
Sensors/actuators
UMTS, DECT, Hiperlan, ATM
A/D-converters

Pervasive/Ubiquitous computing
Distributed systems
Embedded web systems

© European Commission - 9-
Growing importance of embedded systems (1)

 the global mobile entertainment industry is now worth some $32


bln…predicting average revenue growth of 28% for 2010
[www.itfacts.biz, July 8th, 2009]
 …, the market for remote home health monitoring is expected to
generate $225 mln revenue in 2011, up from less than $70 mln in
2006, according to Parks Associates. . [www.itfacts.biz, Sep. 4th, 2007]
 According to IDC the identity and access management (IAM) market
in Australia and New Zealand (ANZ) … is expected to increase at a
compound annual growth rate (CAGR) of 13.1% to reach $189.3 mln
by 2012 [www.itfacts.biz, July 26th, 2008].
 Accessing the Internet via a mobile device up by 82% in the US, by
49% in Europe, from May 2007 to May 2008 [www.itfacts.biz, July
29th, 2008]

Preface - 10 -
Growing importance of embedded systems (2)

 .. but embedded chips form the backbone of the


electronics driven world in which we live ... they are part
of almost everything that runs on electricity
[Ryan, EEDesign, 1995]
 Creation of the ARTEMIS Joint Undertaking in Europe
 Funding of CPS research in the US
 Foundation for the “post PC era“
 ES hardly discussed in other CS courses
Importance
 ES important for TU Dortmund of education
 ES important for Europe
 Scope: sets context for specialized courses

- 11 -
Application areas
and examples

1.1 Application areas and examples


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

- 13 -
Automotive electronics

Functions by embedded Multiple networks


processing:  Body, engine, telematics,
 ABS: Anti-lock braking media, safety, ...
systems Multiple networked
 ESP: Electronic stability processors
control  Up to 100
 Airbags
 Efficient automatic
gearboxes
 Theft prevention with smart
keys
 Blind-angle alert systems
 ... etc ...

- 14 -
Avionics

 Flight control systems,


 anti-collision systems,
 pilot information systems,
 power supply system,
 flap control system,
 entertainment system,
 …
Dependability is of outmost
importance.

- 15 -
Railways

 Safety features
contribute significantly
to the total value of
trains, and dependability
is extremely important

- 16 -
Telecommunication

 Mobile phones have been one


of the fastest growing markets
in the recent years,
 Geo-positioning systems,
 Fast Internet connections,
 Closed systems for police,
ambulances, rescue staff.

- 17 -
Medical systems

 For example:
• Artificial eye: several
approaches, e.g.:
• Camera attached to
glasses; computer worn at
belt; output directly
connected to the brain,
“pioneering work by William
Dobelle”. Previously at
[www.dobelle.com]

 Translation into sound; claiming


much better resolution.
[http://www.seeingwithsound.com/etumble.htm]

- 18 -
Authentication systems

 Finger print sensors


 Access control
 Airport security systems
 Smartpen®
 Smart cards
 ….

[tomsguide.com]

- 19 -
Consumer electronics

Examples

- 20 -
Smart Beer Glass

Capacitive sensor Integrates several technologies:


 Radio transmissions
for fluid level
 Sensor technology
 Magnetic inductance for
8-bit processor power
 Computer used for
calibration
Impossible without the computer
Contact less Meaningless without the
transmission electronics
of power and
readings Inductive coil for RF
ID activation &
power

CPU and reading coil in the table.


Reports the level of fluid in the glass,
alerts servers when close to empty
- 21 -
Industrial automation

Examples

- 22 -
Forestry Machines

Networked computer
system
 Controlling arms &
tools
 Navigating the forest
 Recording the trees
harvested
 Crucial to efficient
work
“Tough enough to be out
in the woods”

- 23 -
Smart buildings

Examples
 Integrated cooling,
lightning, room
reservation, emergency
handling, communication
 Goal: “Zero-energy
building”
 Expected contribution to
fight against global
warming

Show movie
http://www.date-conference.com/con
ference/ - 24 -
Logistics

Applications of embedded/cyber-physical system

technology to logistics:

 Radio frequency identification (RFID) technology provides


easy identification of each and every object, worldwide.

 Mobile communication allows unprecedented interaction.

 The need of meeting real-time constraints and scheduling


are linking embedded systems and logistics.

 The same is true of energy minimization issues

- 25 -
Robotics

Examples

 “Pipe-climber“  Robot
“Johnnie“
(Courtesy and
©: H.Ulbrich,
F. Pfeiffer, TU
München)

Show movie of 2-legged robot(s) - 26 -


Robotics (2)

Lego mindstorms robotics kit


 Standard controller
• 8-bit processor
• 64 kB of memory
 Electronics to interface to
motors and sensors
Good way to learn
embedded systems

- 27 -
Military applications

Example:
 Military radar

http://www.worthingherald.co.uk/
CustomPages/CustomPage.aspx?
SectionID=14271

- 28 -
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


• Tightly-constrained -- Low cost, low power, small, fast
• Reactive and real-time -- only to a small extent

- 29 -
Common
characteristics

1.2 Common characteristics


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

- 31 -
Dependability

 ES Must be dependable,
• Reliability R(t) = probability of system working
correctly provided that is was working at t=0
• Maintainability M(d) = probability of system working
correctly d time units after error occurred.
• Availability A(t): probability of system working at time t
• Safety: no harm to be caused
• Security: confidential and authentic communication
Even perfectly designed systems can fail if the
assumptions about the workload and possible errors turn
out to be wrong.
Making the system dependable must not be an after-
thought, it must be considered from the very beginning
- 32 -
Efficiency

 ES must be efficient
• Code-size efficient
(especially for systems on a chip)
• Run-time efficient
• Weight efficient
• Cost efficient
• Energy efficient

- 33 -
Importance
of Energy
Efficiency
p ower on“
e rent of silic
“inh iency
c
effi

Efficient
Efficientsoftware
software
design needed,
design needed,
otherwise,
otherwise,thethe
price
pricefor
forsoftware
software
flexibility cannot
flexibility cannot
be
bepaid.
paid.

Hugo De Man,
©

IMEC, Philips, 2007

- 34 -
Embedded System Hardware

Embedded system hardware is frequently used in a loop


(“hardware in a loop“):

 cyber-physical systems
- 35 -
Real-time constraints

 Many ES must meet real-time constraints


• A real-time system must react to stimuli from the
controlled object (or the operator) within the time
interval dictated by the environment.
• For real-time systems, right answers arriving too late
are wrong.
• “A real-time constraint is called hard, if not
meeting that constraint could result in a
catastrophe“ [Kopetz, 1997].
• All other time-constraints are called soft.
• A guaranteed system response has to be explained
without statistical arguments

- 36 -
Real-Time Systems

Embedded and Real-


Time Synonymous?
 Most embedded
systems are embedded
real-time
 Most real-time embedded
systems are real-time
embedded

real-time

- 37 -
Reactive & hybrid systems

 Typically, ES are reactive systems:


“A reactive system is one which is in continual
interaction with is environment and executes
at a pace determined by that environment“
[Bergé, 1995]
Behavior depends on input and current state.
 automata model appropriate,
model of computable functions inappropriate.
 Hybrid systems
(analog + digital parts).

- 38 -
Dedicated systems

 Dedicated towards a certain


application
Knowledge about behavior at
design time can be used to
minimize resources and to
maximize robustness
 Dedicated user interface
(no mouse, keyboard and screen)

- 39 -
Underrepresented in teaching

 ES are underrepresented in teaching and


public discussions:
“Embedded chips aren‘t hyped in TV and
magazine ads ...” [Mary Ryan, EEDesign, 1995]

Not every ES has all of the above characteristics.


Def.: Information processing systems having most of the
above characteristics are called embedded systems.
Course on embedded systems makes sense because of the
number of common characteristics.

- 40 -
Summary

 A look at the future of IT


 Definition: embedded & cyber-physical (cy-phy) systems
 Growing importance of embedded & cy-phy systems
 Application areas
 Examples
 Characteristics

- 41 -
Challenges in ES
Design
Quite a number of challenges, e.g. dependability

Dependability?

 Non-real time protocols used for real-time applications


(e.g. Berlin fire department)

 Over-simplification of models
(e.g. aircraft anti-collision system)

 Using unsafe systems for safety-critical missions


(e.g. voice control system in Los Angeles; ~ 800
planes without voice connection to tower for > 3 hrs

- 43 -
Importance
of Energy
Efficiency
p ower on“
e rent of silic
“inh iency
c
effi

Efficient
Efficientsoftware
software
design needed,
design needed,
otherwise,
otherwise,thethe
price
pricefor
forsoftware
software
flexibility cannot
flexibility cannot
be
bepaid.
paid.

Hugo De Man,
©

IMEC, Philips, 2007

- 44 -
It is not sufficient to consider ES
just as a special case of software engineering

EE knowledge must be available,


Walls between EE and CS must be torn down

CS EE

The same for walls to other disciplines and more challenges ….


- 45 -
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

- 46 -
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

- 47 -
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

- 48 -
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
software expert, as is common
NRE cost
 A designer must be
comfortable with various
technologies in order to
Digital camera chip
CCD
CCD preprocessor Pixel coprocessor D2A
choose the best for a given
A2D
lens application and constraints
JPEG codec Microcontroller Multiplier/Accum

DMA controller Display ctrl Hardware

Memory controller ISA bus interface UART LCD ctrl


Software

- 49 -
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
constraint is about 8 months Time (months)

Delays can be costly

- 50 -
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
 Triangle area equals revenue
Delayed
Loss
 The difference between the
D W 2W on-time and delayed triangle
On-time Delayed Time areas
entry entry

- 51 -
Losses due to delayed market entry (cont.)

Area = 1/2 * base * height


Peak revenue
 On-time = 1/2 * 2W * W
 Delayed = 1/2 * (W-D+W)*(W-D)
Peak revenue from
Percentage revenue loss =
Revenues ($)

delayed entry
On-time
(D(3W-D)/2W2)*100%
Market rise Market fall
Try some examples
Delayed

– 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!

- 52 -
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

- 53 -
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 $200
A A
B B
$160,000 $160
C C
to ta l c o st (x1000)

p e r p ro d u c t c o st
$120,000 $120

$80,000 $80

$40,000 $40

$0 $0
0 800 1600 2400 0 800 1600 2400
Num b e r o f units (vo lu m e ) Num b e r o f units (vo lu m e )

• But, must also consider time-to-market

- 54 -
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

- 55 -
Design flows

1.3 Design flows


Hypothetical design flow

Design
Specification Design
Application Knowledge

repository

ES-hardware Test *
Application
mapping
System software Optimization * Could be
(RTOS, integrated
Evaluation & Validation into loop
middleware, …) (energy, cost,
performance, …)

Generic loop: tool chains differ in the number and type of iterations

- 57 -
Iterative design (1)
- After unrolling loop -

Example:
SpecC
tools

- 58 -
Iterative design (2)
- Gajski‘s Y-chart -

- 59 -
Iterative design (3)
- After unrolling loop -

Example: V-model

Requirement
analysis System
architecture System
design Software
architecture
Software
design
Unit
Integration tests
System testing
integration
Acceptance
& use
Skipping some explicit
repository updates ..

- 60 -
Hypothetical design flow

Design
2: Specification Design
Application Knowledge

repository

3: ES-hardware 8. Test *
6: Application
mapping
4: System 7: Optimization * Could be
software (RTOS, integrated
5: Evaluation & into loop
middleware, …) Validation (energy, cost,
performance, …)

Numbers denote sequence of chapters

- 61 -
Motivation for considering specs

 Why considering specs?


 If something is wrong with the specs, then it

tim
e
will be difficult to get the design right,
potentially wasting a lot of time.
 Typically, we work with models of the
system under design (SUD)
 What is a model anyway?

- 62 -
Models

Definition: A model is a simplification of another entity,


which can be a physical thing or another model. The model
contains exactly those characteristics and properties of the
modeled entity that are relevant for a given task. A model
is minimal with respect to a task if it does not contain any
other characteristics than those relevant for the task.

[Jantsch, 2004]:

Which requirements do we have for our models?

- 63 -
Requirements for specification techniques:
Hierarchy

Hierarchy
Humans not capable to understand systems
containing more than ~5 objects.
Most actual systems require more objects
 Hierarchy
proc
 Behavioral hierarchy proc
proc
Examples: states, processes, procedures.

 Structural hierarchy
Examples: processors, racks,
printed circuit boards

- 64 -
Requirements for specification techniques (2):
Component-based design

 Systems must be designed from


components

 Must be “easy” to derive behavior from


behavior of subsystems

Work of Sifakis, Thiele, Ernst, …

 Concurrency
 Synchronization and communication

- 65 -
Requirements for specification techniques (3):
Timing

 Timing behavior
Essential for embedded and cy-phy systems!
• Additional information (periods, dependences,
scenarios, use cases) welcome
• Also, the speed of the underlying platform must be
known
• Far-reaching consequences for design processes!

“The lack of timing in the core abstraction (of computer


science) is a flaw, from the perspective of embedded
software” [Lee, 2005]

- 66 -
Requirements for specification techniques (3):
Timing (2)

4 types of timing specs required, according to Burns, 1990:

1. Measure elapsed time


Check, how much time has elapsed since last call

? execute
t

2. Means for delaying processes

- 67 -
Requirements for specification techniques (3)
Timing (3)

3. Possibility to specify timeouts


Stay in a certain state a maximum time.

4. Methods for specifying deadlines


Not available or in separate control file.

execute
t

- 68 -
Specification of embedded systems (4):
Support for designing reactive systems

 State-oriented behavior
Required for reactive systems;
classical automata insufficient.
 Event-handling
(external or internal events)
 Exception-oriented behavior We will see, how all the
Not acceptable to describe arrows labeled k can be
replaced by a single one.
exceptions for every state

- 69 -
Requirements for specification techniques (5)

 Presence of programming elements


 Executability (no algebraic specification)
 Support for the design of large systems ( OO)
 Domain-specific support
 Readability
 Portability and flexibility
 Termination
 Support for non-standard I/O devices
 Non-functional properties
 Support for the design of dependable systems
 No obstacles for efficient implementation
 Adequate model of computation
What does it mean “to compute”?
- 70 -
Models of computation

What does it mean, “to compute”?


Models of computation define:
 Components and an execution model for C-1
computations for each component
 Communication model for exchange of C-2
information between components.

- 71 -
Communication

 Shared memory

Comp-1 memory Comp-2

Variables accessible to several components/tasks.

Model mostly restricted to local systems.

- 72 -
Shared memory

Potential race conditions (inconsistent results possible)


 Critical sections = sections at which exclusive access
to resource r (e.g. shared memory) must be guaranteed.

task a { task b { Race-free access


.. ..
P(S) //obtain lock P(S) //obtain lock to shared memory
.. // critical section .. // critical section protected by S
V(S) //release lock V(S) //release lock possible
} }

P(S) and V(S) are semaphore operations,


allowing at most n accesses, n =1 in this case (mutex, lock)

- 73 -
Non-blocking/asynchronous message passing

Sender does not have to wait until message has arrived;

… …
send () receive ()
… …

Potential problem: buffer overflow

- 74 -
Blocking/synchronous message passing
rendez-vous

Sender will wait until receiver has received message

… …
send () receive ()
… …

No buffer overflow, but reduced performance.

- 75 -
Organization of computations within the
components (1)

 Finite state machines

 Data flow
(models the flow of data in a distributed system)
 to be discussed next week

 Petri nets
(models synchronization in a distributed system)
 to be discussed next week

- 76 -
Organization of computations within the
components (2)
 Discrete event model

queue
a 5
6
5 10 13 15 19 time
b 7
c8 a:=5 b:=7 c:=8 a:=6 a:=9 action

 Von Neumann model

Sequential execution, program memory etc.

- 77 -
Organization of computations within the
components (3)

 Differential equations

2x
b
t 2

- 78 -
Models of computation considered in this course

Communication/ Shared Message passing


local computations memory Synchronous | Asynchronous
Communicating finite StateCharts SDL
state machines
Data flow (Not useful) Kahn networks,
SDF
Petri nets C/E nets, P/T nets, …
Discrete event (DE) VHDL, Only experimental systems, e.g.
model Verilog, distributed DE in Ptolemy
SystemC, …
Von Neumann model C, C++, Java C, C++, Java with libraries
CSP, ADA |

- 79 -
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

- 80 -
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 State
Custom +
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”)

- 81 -
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

- 82 -
General-purpose processors

Programmable device used in a variety


Controller Datapath
of applications
 Also known as “microprocessor” Control Register
logic and
Features State
file

 Program memory register


 General datapath with large register file and General
IR PC ALU
general ALU
User benefits
 Low time-to-market and NRE costs Program Data
memory
 High flexibility memory

“Pentium” the most well-known, but Assembly code


for:
there are hundreds of others
total = 0
for i =1 to …

- 83 -
Single-purpose processors

Digital circuit designed to execute exactly Controller Datapath


one program Control index
 a.k.a. coprocessor, accelerator or peripheral logic
total
Features State
 Contains only the components needed to register +

execute a single program


 No program memory Data
memory
Benefits
 Fast
 Low power
 Small size

- 84 -
Application-specific processors

Programmable processor optimized for a Controller Datapath

particular class of applications having Control Registers


logic and
common characteristics State
 Compromise between general-purpose and register
Custom
single-purpose processors ALU
IR PC
Features Data
 Program memory Program memory
 Optimized datapath memory
 Special functional units Assembly code
Benefits for:

 Some flexibility, good performance, size and total = 0


for i =1 to …
power

- 85 -
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

- 86 -
IC technology

Three types of IC technologies


 Full-custom/VLSI
 Semi-custom ASIC (gate array and standard cell)
 PLD (Programmable Logic Device)

- 87 -
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

- 88 -
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

- 89 -
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

- 90 -
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
- 91 -
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!)

- 92 -
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

- 93 -
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

- 94 -
Design productivity exponential increase

100,000

10,000

(K) Trans./Staff – Mo.


1,000

Productivity
100

10

0.1

0.01

2005
1993

2001

2003
1987
1983

1985

1991
1989
1981

1999
1997

2007
1995

2009
Exponential increase over the past few decades

- 95 -
The co-design ladder

In the past: Sequential program code (e.g., C, VHDL)

 Hardware and software Compilers


Behavioral synthesis
(1990's)
design technologies were (1960's,1970's)

very different Register transfers


Assembly instructions RT synthesis
 Recent maturation of (1980's, 1990's)
synthesis enables a unified Assemblers, linkers
(1950's, 1960's) Logic equations / FSM's
view of hardware and Logic synthesis
(1970's, 1980's)
software Machine instructions
Logic gates
Hardware/software
“codesign” Microprocessor plus
Implementation
VLSI, ASIC, or PLD
program bits: “software” 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.

- 96 -
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- Single-
purpose ASIP purpose
General, processor processor Customized,
providing improved: providing improved:

Flexibility Power efficiency


Maintainability Performance
NRE cost Size
Time- to-prototype Cost (high volume)
Time-to-market
Cost (low volume)

PLD Semi-custom Full-custom

- 97 -
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
10,000 100,000
1,000 10,000

Logic transistors 100 1000


per chip 10 Gap 100 Productivity
IC capacity (K) Trans./Staff-Mo.
(in millions) 1 10
0.1 1
productivity
0.01 0.1
0.001 0.01
1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

2007

2009 - 98 -
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

10,000 100,000
1,000 10,000
Logic transistors 100 1000
10 Gap 100 Productivity
per chip IC capacity
(in millions) 1 10 (K) Trans./Staff-Mo.
0.1 1
productivity
0.01 0.1
0.001 0.01
1981

1983

1985

1987

1989

1991

1993

1995

1997

1999

2001

2003

2005

2007

2009 - 99 -
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”)

Team
• 60000 15
1M transistors, 1 16 16
50000 19 18
designer=5000 trans/month
40000 23
• Each additional designer 24
reduces for 100 trans/month 30000
Months until completion
20000 43
• So 2 designers produce 4900 Individual
10000
trans/month each
0 10 20 30 40
Number of designers

- 100 -
Summary

 Challenges in embedded system design


• Dependability, efficiency, …
• Key challenge: optimization of design metrics
 Design flows
 Structure of this course
 Requirements for specification techniques
 Models of computation
• Local model
• Communication
 Three key technologies
• Processor: general-purpose, application-specific, single-purpose
• IC: Full-custom, semi-custom, PLD
• Design: Compilation/synthesis, libraries/IP, test/verification
- 101 -

You might also like