SlideShare a Scribd company logo
1 of 91
UNIT – I
Embedded System Introduction
UNIT - I: Embedded System Introduction: Contents
1. Embedded systems overview
2. Design challenges
3. Processor technology
4. IC technology
5. Design Technology
6. Trade-offs
:Single purpose processors RT-level
1. Combinational logic
2. Sequential logic (RT level)
3. Custom single purpose processor design(RT – level)
4. Optimizing custom single purpose processors.
9/13/2022 2
Lakireddy Bali Reddy College of Engineering
Introduction
• 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...
9/13/2022 3
Lakireddy Bali Reddy College of Engineering
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
Computers are in here...
and here...
and even here...
Lots more of these,
though they cost a lot
less each.
9/13/2022 4
Lakireddy Bali Reddy College of Engineering
A “short list” of embedded
systems
And the list goes on and on
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
9/13/2022 5
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 6
Lakireddy Bali Reddy College of Engineering
1. Embedded systems overview
Definition: An Embedded System (ES) is a
system where Micro-controller or micro-
processor based programmable system is
embedded into a large system.
The points which are connected are called
sphere of control. (Red & Green points).
9/13/2022 8
Lakireddy Bali Reddy College of Engineering
9/13/2022 9
Lakireddy Bali Reddy College of Engineering
9/13/2022 10
Lakireddy Bali Reddy College of Engineering
9/13/2022 11
Lakireddy Bali Reddy College of Engineering
General purpose system
Vs
Embedded system
General purpose system Embedded system
Multi-purpose applications Single purpose / single application or
predefined application
High cost
High power
Tightly constrained.
. Low cost
.Low power
.portable
. Some times real time
9/13/2022 12
Lakireddy Bali Reddy College of Engineering
Real time system(RTS)
Vs
Embedded system (ES)
• RTS: 1. Hard RTS. 2. Soft RTS.
1. Hard RTS:
. it has stringent time constraint.
. If it violates controlling takes place.
2. Soft RTS:
. If it violates QoS is reduced.
All RTS are ESs but all ESs are not RTS.
(ES s are RTS are not RTS)
9/13/2022 13
Lakireddy Bali Reddy College of Engineering
Reactive system
vs
Transformational system
. Reactive system : React to an event.
Exp: camera reacts by clicking a button.
. Transformational system: sequence of
transformations has to be applied.
Exp: Image processing
. Segmentation .noise removal etc..
9/13/2022 14
Lakireddy Bali Reddy College of Engineering
An embedded system example –
a digital camera
Microcontroller
CCD preprocessor Pixel coprocessor
A2D
D2A
JPEG codec
DMA controller
Memory controller ISA bus interface UART LCD ctrl
Display ctrl
Multiplier/Accum
Digital camera chip
lens
CCD
• Single-functioned -- always a digital camera
• Tightly-constrained -- Low cost, low power, small, fast
• Reactive and real-time -- only to a small extent
9/13/2022 15
Lakireddy Bali Reddy College of Engineering
2. 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
9/13/2022 16
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 17
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 18
Lakireddy Bali Reddy College of Engineering
• Performance: Latency & Throughput
Latency: Time to take a task / operation.
Exp:
Let camera A & B both takes 0.25 sec to take a
picture. (It is the Latency).
Camera A give 4 pic/sec
Camera B give 8 pic/sec (2 parallel processing units)
: Camera B has more Throughput.
9/13/2022 19
Lakireddy Bali Reddy College of Engineering
Design metric competition -- improving one
may worsen others
• Expertise with both
software and hardware is
needed to optimize design
metrics
– 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
Size
Performance
Power
NRE cost
Microcontroller
CCD preprocessor Pixel coprocessor
A2D
D2A
JPEG codec
DMA controller
Memory controller ISA bus interface UART LCD ctrl
Display ctrl
Multiplier/Accum
Digital camera chip
lens
CCD
Hardware
Software
9/13/2022 20
Lakireddy Bali Reddy College of Engineering
Time-to-market: a demanding design
metric
• 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
• Average time-to-market
constraint is about 8
months
• Delays can be costly
Revenues
($)
Time (months)
9/13/2022 21
Lakireddy Bali Reddy College of Engineering
Losses due to delayed market
entry
• Simplified revenue model
– Product life = 2W, peak at W
– Time of market entry defines a
triangle, representing market
penetration
– Triangle area equals revenue
• Loss
– The difference between the
on-time and delayed triangle
areas
On-time Delayed
entry entry
Peak revenue
Peak revenue from
delayed entry
Market rise Market fall
W 2W
Time
D
On-time
Delayed
Revenues
($)
9/13/2022 22
Lakireddy Bali Reddy College of Engineering
Losses due to delayed market
entry (cont.)
• Area = 1/2 * base * height
– 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
On-time Delayed
entry entry
Peak revenue
Peak revenue from
delayed entry
Market rise Market fall
W 2W
Time
D
On-time
Delayed
Revenues
($)
– 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!
9/13/2022 23
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 24
Lakireddy Bali Reddy College of Engineering
NRE and unit cost metrics
$0
$40,000
$80,000
$120,000
$160,000
$200,000
0 800 1600 2400
A
B
C
$0
$40
$80
$120
$160
$200
0 800 1600 2400
Number of units (volume)
A
B
C
Number of units (volume)
tota
l
c
ost
(x1000)
p
er
p
rod
uc
t
c
ost
• 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
• But, must also consider time-to-market
9/13/2022 25
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 26
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 27
Lakireddy Bali Reddy College of Engineering
3. PROCESSORS
• 1. General purpose
• 2. Application Specific
• 3. Single Purpose
9/13/2022 28
Lakireddy Bali Reddy College of Engineering
Processor technology
9/13/2022 29
Lakireddy Bali Reddy College of Engineering
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
General-purpose
processor
Single-purpose
processor
Application-specific
processor
Desired
functionality
9/13/2022 30
Lakireddy Bali Reddy College of Engineering
Processor
9/13/2022 31
Lakireddy Bali Reddy College of Engineering
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
Application-specific
Registers
Custom
ALU
Datapath
Controller
Program
memory
Assembly code
for:
total = 0
for i =1 to …
Control logic
and State
register
Data
memory
IR PC
Single-purpose (“hardware”)
Datapath
Controller
Control
logic
State
register
Data
memory
index
total
+
IR PC
Register
file
General
ALU
Datapath
Controller
Program
memory
Assembly code
for:
total = 0
for i =1 to …
Control
logic and
State
register
Data
memory
General-purpose (“software”)
9/13/2022 32
Lakireddy Bali Reddy College of Engineering
Instruction execution cycle
• An instruction is FETCH from Memory through
IR.
9/13/2022 33
Lakireddy Bali Reddy College of Engineering
• Data path: Registers, Wires, MUX, data
elements…
• Control Path: FSM.
sending the control signals to different
elements of the data path.
Controlling is either H/W or S/W.
9/13/2022 34
Lakireddy Bali Reddy College of Engineering
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
IR PC
Register
file
General
ALU
Datapath
Controller
Program
memory
Assembly code
for:
total = 0
for i =1 to …
Control
logic and
State
register
Data
memory
9/13/2022 35
Lakireddy Bali Reddy College of Engineering
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
• Benefits
– Fast
– Low power
– Small size
Datapath
Controller
Control
logic
State
register
Data
memory
index
total
+
9/13/2022 36
Lakireddy Bali Reddy College of Engineering
Application-specific processors
• Programmable processor optimized for a
particular class of applications having
common characteristics
– Compromise between general-purpose and
single-purpose processors
• Features
– Program memory
– Optimized datapath
– Special functional units
• Benefits
– Some flexibility, good performance, size and
power
IR PC
Registers
Custom
ALU
Datapath
Controller
Program
memory
Assembly code
for:
total = 0
for i =1 to …
Control
logic and
State
register
Data
memory
9/13/2022 37
Lakireddy Bali Reddy College of Engineering
5. 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
source drain
channel
oxide
gate
Silicon substrate
IC package IC
9/13/2022 38
Lakireddy Bali Reddy College of Engineering
IC technology
• Three types of IC technologies
– Full-custom/VLSI
– Semi-custom ASIC (gate array and standard cell)
– PLD (Programmable Logic Device)
9/13/2022 39
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 40
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 41
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 42
Lakireddy Bali Reddy College of Engineering
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
100
10
1
0.1
0.01
0.001
Logic transistors
per chip
(in millions)
Note: logarithmic
scale
9/13/2022 43
Lakireddy Bali Reddy College of Engineering
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!)
9/13/2022 44
Lakireddy Bali Reddy College of Engineering
Graphical illustration of
Moore’s law
1981 1984 1987 1990 1993 1996 1999 2002
Leading edge
chip in 1981
10,000
transistors
Leading edge
chip in 2002
150,000,000
transistors
• Something that doubles frequently grows more quickly
than most people realize!
– A 2002 chip can hold about 15,000 1981 chips inside itself
9/13/2022 45
Lakireddy Bali Reddy College of Engineering
Graphical illustration of
Moore’s law
1981 1984 1987 1990 1993 1996 1999 2002
Leading edge
chip in 1981
10,000
transistors
Leading edge
chip in 2002
150,000,000
transistors
• Something that doubles frequently grows more quickly
than most people realize!
– A 2002 chip can hold about 15,000 1981 chips inside itself
9/13/2022 46
Lakireddy Bali Reddy College of Engineering
Design Technology
• Design technology involves the manner in
which we convert our concept of desired
system functionality into an implementation.
• We must not only design the implementation
to optimize design metrics, but we must do so
quickly.
• To understand how to improve the design
process, we must first understand the design
process.
9/13/2022 Lakireddy Bali Reddy College of Engineering 47
9/13/2022 Lakireddy Bali Reddy College of Engineering 48
Compilation/Synthesis
• designer specify desired functionality in an
abstract manner, and automatically generates
lower-level implementation details.
• A logic synthesis tool converts Boolean
expressions into a connection of logic gates(called
a netlist).
• A register-transfer (RT) synthesis tool converts
finite-state machines and register-transfers into a
datapath of RT components and a controller of
Boolean equations.
9/13/2022 Lakireddy Bali Reddy College of Engineering 49
• A behavioral synthesis tool converts a sequential
program into finite-state machines and register
transfers.
• a software compiler converts a sequential
program to assembly code, which is essentially
register-transfer code.
• a system synthesis tool converts an abstract
system specification into a set of sequential
programs on general and single-purpose
processors.
• 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
9/13/2022 Lakireddy Bali Reddy College of Engineering 50
Libraries/IP
• Libraries involve re-use of pre-existing
implementations.
• Using libraries of existing implementations can
improve productivity if the time it takes to find,
acquire, integrate and test a library item is less
than that of designing the item oneself.
• A logic-level library may consist of layouts for gates
and cells. An RT-level library may consist of layouts
for RT components, like registers, multiplexors,
decoders, and functional units.
9/13/2022 Lakireddy Bali Reddy College of Engineering 51
• A behavioral-level library may consist of
commonly used components, such as
compression components, bus interfaces,
display controllers, and even general-purpose
processors.
• a system-level library might consist of
complete systems solving particular problems,
such as an interconnection of processors with
accompanying operating systems and
programs to implement an interface to the
Internet over an Ethernet network.
9/13/2022 Lakireddy Bali Reddy College of Engineering 52
Test/Verification
• Test/Verification involves ensuring that
functionality is correct.
• Such assurance can prevent time-consuming
debugging at low abstraction levels and
iterating back to high abstraction levels.
• Simulation is the most common method of
testing for correct functionality, although
more formal verification techniques are
growing in popularity.
9/13/2022 Lakireddy Bali Reddy College of Engineering 53
• At the logic level, gate level simulators provide
output signal timing waveforms given input
signal waveforms.
• At the RT-level, hardware description
language (HDL) simulators execute RT-level
descriptions and provide output waveforms
given input waveforms.
• At the behavioral level, HDL simulators
simulate sequential programs, and co-
simulators connect HDL and general-purpose
processor simulators to enable
hardware/software co-verification.
9/13/2022 Lakireddy Bali Reddy College of Engineering 54
• At the system level, a model simulator
simulates the initial system specification using
an abstract computation model, independent
of any processor technology, to verify
correctness and completeness of the
specification.
• Model checkers can also verify certain
properties of the specification, such as
ensuring that certain simultaneous conditions
never occur, or that the system does not
deadlock.
9/13/2022 Lakireddy Bali Reddy College of Engineering 55
Design productivity
exponential increase
• Exponential increase over the past few decades
100,000
10,000
1,000
100
10
1
0.1
0.01
1983
1987
1989
1991
1993
1985
1995
1997
1999
2001
2003
2005
2007
2009
Productivity
(K)
Trans./Staff
–
Mo.
9/13/2022 56
Lakireddy Bali Reddy College of Engineering
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” Implementation
Assembly instructions
Machine instructions
Register transfers
Compilers
(1960's,1970's)
Assemblers, linkers
(1950's, 1960's)
Behavioral synthesis
(1990's)
RT synthesis
(1980's, 1990's)
Logic synthesis
(1970's, 1980's)
Microprocessor plus
program bits: “software”
VLSI, ASIC, or PLD
implementation: “hardware”
Logic gates
Logic equations / FSM's
Sequential program code (e.g., C, VHDL)
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.
9/13/2022 57
Lakireddy Bali Reddy College of Engineering
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-
purpose
processor
ASIP
Single-
purpose
processor
Semi-custom
PLD Full-custom
General,
providing improved:
Customized,
providing improved:
Power efficiency
Performance
Size
Cost (high volume)
Flexibility
Maintainability
NRE cost
Time- to-prototype
Time-to-market
Cost (low volume)
9/13/2022 58
Lakireddy Bali Reddy College of Engineering
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
1,000
100
10
1
0.1
0.01
0.001
Logic transistors
per chip
(in millions)
100,000
10,000
1000
100
10
1
0.1
0.01
Productivity
(K) Trans./Staff-Mo.
IC capacity
productivity
Gap
9/13/2022 59
Lakireddy Bali Reddy College of Engineering
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
1,000
100
10
1
0.1
0.01
0.001
Logic transistors
per chip
(in millions)
100,000
10,000
1000
100
10
1
0.1
0.01
Productivity
(K) Trans./Staff-Mo.
IC capacity
productivity
Gap
9/13/2022 60
Lakireddy Bali Reddy College of Engineering
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”)
10 20 30 40
0
10000
20000
30000
40000
50000
60000
43
24
19
16 15 16
18
23
Team
Individual
Months until completion
Number of designers
• 1M transistors, 1
designer=5000 trans/month
• Each additional designer
reduces for 100 trans/month
• So 2 designers produce 4900
trans/month each
9/13/2022 61
Lakireddy Bali Reddy College of Engineering
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
9/13/2022 62
Lakireddy Bali Reddy College of Engineering
single-purpose processors:
Outline
• Introduction
• Combinational logic
• Sequential logic
• Custom single-purpose processor design
• RT-level custom single-purpose processor
design
9/13/2022 63
Lakireddy Bali Reddy College of Engineering
Introduction
• Processor
– Digital circuit that performs a
computation tasks
– Controller and datapath
– General-purpose: variety of computation
tasks
– Single-purpose: one particular
computation task
– Custom single-purpose: non-standard
task
• A custom single-purpose
processor may be
– Fast, small, low power
– But, high NRE, longer time-to-market,
less flexible
Microcontroller
CCD
preprocessor
Pixel coprocessor
A2D
D2A
JPEG codec
DMA controller
Memory controller ISA bus interface UART LCD ctrl
Display
ctrl
Multiplier/Accum
Digital camera chip
lens
CCD
9/13/2022 64
Lakireddy Bali Reddy College of Engineering
CMOS transistor on silicon
• Transistor
– The basic electrical component in digital systems
– Acts as an on/off switch
– Voltage at “gate” controls whether current flows from
source to drain
– Don’t confuse this “gate” with a logic gate
source drain
oxide
gate
IC package IC
channel
Silicon substrate
gate
source
drain
Conducts
if gate=1
1
9/13/2022 65
Lakireddy Bali Reddy College of Engineering
CMOS transistor
implementations
• Complementary Metal Oxide
Semiconductor
• We refer to logic levels
– Typically 0 is 0V, 1 is 5V
• Two basic CMOS types
– nMOS conducts if gate=1
– pMOS conducts if gate=0
– Hence “complementary”
• Basic gates
– Inverter, NAND, NOR
x F = x'
1
inverter
0
F = (xy)'
x
1
x
y
y
NAND gate
0
1
F = (x+y)'
x y
x
y
NOR gate
0
gate
source
drain
nMOS
Conducts
if gate=1
gate
source
drain
pMOS
Conducts
if gate=0
9/13/2022 66
Lakireddy Bali Reddy College of Engineering
Basic logic gates
F = x y
AND
F = (x y)’
NAND
F = x  y
XOR
F = x
Driver
F = x’
Inverter
x F
F = x + y
OR
F = (x+y)’
NOR
x F
x
y
F
F
x
y
x
y
F
x
y
F
x
y
F
F = x y
XNOR
F
y
x
x
0
y
0
F
0
0 1 0
1 0 0
1 1 1
x
0
y
0
F
0
0 1 1
1 0 1
1 1 1
x
0
y
0
F
0
0 1 1
1 0 1
1 1 0
x
0
y
0
F
1
0 1 0
1 0 0
1 1 1
x
0
y
0
F
1
0 1 1
1 0 1
1 1 0
x
0
y
0
F
1
0 1 0
1 0 0
1 1 0
x F
0 0
1 1
x F
0 1
1 0
9/13/2022 67
Lakireddy Bali Reddy College of Engineering
Combinational logic design
A) Problem description
y is 1 if a is to 1, or b and c are 1. z is 1 if b
or c is to 1, but not both, or if all are 1.
D) Minimized output equations
00
0
1
01 11 10
0
1
0 1 0
1 1 1
a
bc
y
y = a + bc
00
0
1
01 11 10
0
0
1 0 1
1 1 1
z
z = ab + b’c + bc’
a
bc
C) Output equations
y = a'bc + ab'c' + ab'c + abc' + abc
z = a'b'c + a'bc' + ab'c + abc' + abc
B) Truth table
1 0 1 1 1
1 1 0 1 1
1 1 1 1 1
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 1 0
0
0 0 0 0
Inputs
a b c
Outputs
y z
E) Logic Gates
a
b
c
y
z
9/13/2022 68
Lakireddy Bali Reddy College of Engineering
Combinational components
With enable input e 
all O’s are 0 if e=0
With carry-in input Ci
sum = A + B + Ci
May have status outputs
carry, zero, etc.
O =
I0 if S=0..00
I1 if S=0..01
…
I(m-1) if S=1..11
O0 =1 if I=0..00
O1 =1 if I=0..01
…
O(n-1) =1 if I=1..11
sum = A+B
(first n bits)
carry = (n+1)’th
bit of A+B
less = 1 if A<B
equal =1 if A=B
greater=1 if A>B
O = A op B
op determined
by S.
n-bit, m x 1
Multiplexor
O
…
S0
S(log m)
n
n
I(m-1) I1 I0
…
log n x n
Decoder
…
O1 O0
O(n-1)
I0
I(log n -1)
…
n-bit
Adder
n
A B
n
sum
carry
n-bit
Comparator
n n
A B
less equalgreater
n bit,
m function
ALU
n n
A B
…
S0
S(log m)
n
O
9/13/2022 69
Lakireddy Bali Reddy College of Engineering
Sequential components
Q =
0 if clear=1,
I if load=1 and clock=1,
Q(previous) otherwise.
Q =
0 if clear=1,
Q(prev)+1 if count=1 and clock=1.
clear
n-bit
Register
n
n
load
I
Q
shift
I Q
n-bit
Shift register
n-bit
Counter
n
Q
Q = lsb
- Content shifted
- I stored in msb
9/13/2022 70
Lakireddy Bali Reddy College of Engineering
Sequential logic design
A) Problem Description
You want to construct a clock
divider. Slow down your pre-
existing clock so that you output a
1 for every four clock cycles
0
1 2
3
x=0
x=1
x=0
x=0
a=1 a=1
a=1
a=1
a=0
a=0
a=0
a=0
B) State Diagram
C) Implementation Model
Combinational logic
State register
a
x
I0
I0
I1
I1
Q1 Q0
D) State Table (Moore-type)
1 0 1 1 1
1 1 0 1 1
1 1 1 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 1 0
0
0 0 0 0
Inputs
Q1 Q0 a
Outputs
I1 I0
1
0
0
0
x
• Given this implementation model
– Sequential logic design quickly reduces to
combinational logic design
9/13/2022 71
Lakireddy Bali Reddy College of Engineering
Sequential logic design (cont.)
0
0
1
Q1Q0
I1
I1 = Q1’Q0a + Q1a’ +
Q1Q0’
0 1
1
1
0
1
0
00 11 10
a 01
0
0
0
1 0 1
1
00 01 11
a
1
10
I0 Q1Q0
I0 = Q0a’ + Q0’a
0
1
0 0
0
1
1
0
0
00 01 11 10
x = Q1Q0
x
0
1
0
a
Q1Q0
E) Minimized Output Equations F) Combinational Logic
a
Q1 Q0
I0
I1
x
9/13/2022 72
Lakireddy Bali Reddy College of Engineering
Custom single-purpose
processor basic model
controller and datapath
controller datapath
…
…
external
control
inputs
external
control
outputs
…
external
data
inputs
…
external
data
outputs
datapath
control
inputs
datapath
control
outputs
… …
a view inside the controller and datapath
controller datapath
… …
state
register
next-state
and
control
logic
registers
functional
units
9/13/2022 73
Lakireddy Bali Reddy College of Engineering
Example: greatest common
divisor
GCD
(a) black-box
view
x_i y_i
d_o
go_i
0: int x, y;
1: while (1) {
2: while (!go_i);
3: x = x_i;
4: y = y_i;
5: while (x != y) {
6: if (x < y)
7: y = y - x;
else
8: x = x - y;
}
9: d_o = x;
}
(b) desired functionality
y = y -x
7: x = x - y
8:
6-J:
x!=y
5: !(x!=y)
x<y !(x<y)
6:
5-J:
1:
1
!1
x = x_i
3:
y = y_i
4:
2:
2-J:
!go_i
!(!go_i)
d_o = x
1-J:
9:
(c) state
diagram
• First create algorithm
• Convert algorithm to
“complex” state machine
– Known as FSMD: finite-
state machine with
datapath
– Can use templates to
perform such conversion
9/13/2022 74
Lakireddy Bali Reddy College of Engineering
State diagram templates
Assignment statement
a = b
next
statement
a = b
next
statement
Loop statement
while (cond) {
loop-body-
statements
}
next statement
loop-body-
statements
cond
next
statement
!cond
J:
C:
Branch statement
if (c1)
c1 stmts
else if c2
c2 stmts
else
other stmts
next statement
c1
c2 stmts
!c1*c2 !c1*!c2
next
statement
others
c1 stmts
J:
C:
9/13/2022 75
Lakireddy Bali Reddy College of Engineering
Creating the datapath
• Create a register for any
declared variable
• Create a functional unit for
each arithmetic operation
• Connect the ports, registers
and functional units
– Based on reads and writes
– Use multiplexors for multiple
sources
• Create unique identifier
– for each datapath component
control input and output
y = y -x
7: x = x - y
8:
6-J:
x!=y
5: !(x!=y)
x<y !(x<y)
6:
5-J:
1:
1
!1
x = x_i
3:
y = y_i
4:
2:
2-J:
!go_i
!(!go_i)
d_o = x
1-J:
9:
subtractor subtractor
7: y-x
8: x-y
5: x!=y 6: x<y
x_i y_i
d_o
0: x 0: y
9: d
n-bit 2x1 n-bit 2x1
x_sel
y_sel
x_ld
y_ld
x_neq_y
x_lt_y
d_ld
<
5: x!=y
!=
Datapath
9/13/2022 76
Lakireddy Bali Reddy College of Engineering
Creating the controller’s FSM
• Same structure as FSMD
• Replace complex
actions/conditions with
datapath configurations
y = y -x
7: x = x - y
8:
6-J:
x!=y
5: !(x!=y)
x<y !(x<y)
6:
5-J:
1:
1
!1
x = x_i
3:
y = y_i
4:
2:
2-J:
!go_i
!(!go_i)
d_o = x
1-J:
9:
y_sel = 1
y_ld = 1
7: x_sel = 1
x_ld = 1
8:
6-J:
x_neq_y
5:
!x_neq_y
x_lt_y !x_lt_y
6:
5-J:
d_ld = 1
1-J:
9:
x_sel = 0
x_ld = 1
3:
y_sel = 0
y_ld = 1
4:
1:
1
!1
2:
2-J:
!go_i
!(!go_i)
go_i
0000
0001
0010
0011
0100
0101
0110
0111 1000
1001
1010
1011
1100
Controller
subtractor subtractor
7: y-x
8: x-y
5: x!=y 6: x<y
x_i y_i
d_o
0: x 0: y
9: d
n-bit 2x1 n-bit 2x1
x_sel
y_sel
x_ld
y_ld
x_neq_y
x_lt_y
d_ld
<
5: x!=y
!=
Datapath
9/13/2022 77
Lakireddy Bali Reddy College of Engineering
Splitting into a controller and
datapath
y_sel = 1
y_ld = 1
7: x_sel = 1
x_ld = 1
8:
6-J:
x_neq_y=1
5:
x_neq_y=0
x_lt_y=1 x_lt_y=0
6:
5-J:
d_ld = 1
1-J:
9:
x_sel = 0
x_ld = 1
3:
y_sel = 0
y_ld = 1
4:
1:
1
!1
2:
2-J:
!go_i
!(!go_i)
go_i
0000
0001
0010
0011
0100
0101
0110
0111 1000
1001
1010
1011
1100
Controller
Controller implementation model
y_sel
x_sel
Combinational
logic
Q3 Q0
State register
go_i
x_neq_y
x_lt_y
x_ld
y_ld
d_ld
Q2 Q1
I3 I0
I2 I1
subtractor subtractor
7: y-x
8: x-y
5: x!=y 6: x<y
x_i y_i
d_o
0: x 0: y
9: d
n-bit 2x1 n-bit 2x1
x_sel
y_sel
x_ld
y_ld
x_neq_y
x_lt_y
d_ld
<
5: x!=y
!=
(b) Datapath
9/13/2022 78
Lakireddy Bali Reddy College of Engineering
Controller state table for the
GCD example
Inputs Outputs
Q3 Q2 Q1 Q0 x_ne
q_y
x_lt_y go_i I3 I2 I1 I0 x_sel y_sel x_ld y_ld d_ld
0 0 0 0 * * * 0 0 0 1 X X 0 0 0
0 0 0 1 * * 0 0 0 1 0 X X 0 0 0
0 0 0 1 * * 1 0 0 1 1 X X 0 0 0
0 0 1 0 * * * 0 0 0 1 X X 0 0 0
0 0 1 1 * * * 0 1 0 0 0 X 1 0 0
0 1 0 0 * * * 0 1 0 1 X 0 0 1 0
0 1 0 1 0 * * 1 0 1 1 X X 0 0 0
0 1 0 1 1 * * 0 1 1 0 X X 0 0 0
0 1 1 0 * 0 * 1 0 0 0 X X 0 0 0
0 1 1 0 * 1 * 0 1 1 1 X X 0 0 0
0 1 1 1 * * * 1 0 0 1 X 1 0 1 0
1 0 0 0 * * * 1 0 0 1 1 X 1 0 0
1 0 0 1 * * * 1 0 1 0 X X 0 0 0
1 0 1 0 * * * 0 1 0 1 X X 0 0 0
1 0 1 1 * * * 1 1 0 0 X X 0 0 1
1 1 0 0 * * * 0 0 0 0 X X 0 0 0
1 1 0 1 * * * 0 0 0 0 X X 0 0 0
1 1 1 0 * * * 0 0 0 0 X X 0 0 0
1 1 1 1 * * * 0 0 0 0 X X 0 0 0
9/13/2022 79
Lakireddy Bali Reddy College of Engineering
• We often start with a state
machine
– Rather than algorithm
– Cycle timing often too central
to functionality
• Example
– Bus bridge that converts 4-bit
bus to 8-bit bus
– Start with FSMD
– Known as register-transfer
(RT) level
– Exercise: complete the design
RT-level custom single-purpose
processor design
Problem
Specification
Bridge
A single-purpose processor that
converts two 4-bit inputs, arriving one
at a time over data_in along with a
rdy_in pulse, into one 8-bit output on
data_out along with a rdy_out pulse.
Sende
r
data_in(4)
rdy_in rdy_out
data_out(8)
Rece
iver
clock
FSMD
WaitFirst4 RecFirst4Start
data_lo=data_in
WaitSecond4
rdy_in=1
rdy_in=0
RecFirst4End
rdy_in=1
RecSecond4Start
data_hi=data_in
RecSecond4End
rdy_in=1
rdy_in=0
rdy_in=1
rdy_in=0
Send8Start
data_out=data_hi
& data_lo
rdy_out=1
Send8End
rdy_out=0
Bridge
rdy_in=0
Inputs
rdy_in: bit; data_in: bit[4];
Outputs
rdy_out: bit; data_out:bit[8]
Variables
data_lo, data_hi: bit[4];
9/13/2022 80
Lakireddy Bali Reddy College of Engineering
RT-level custom single-purpose
processor design (cont’)
WaitFirst4 RecFirst4Start
data_lo_ld=1
WaitSecond4
rdy_in=1
rdy_in=0
RecFirst4End
rdy_in=1
RecSecond4Start
data_hi_ld=1
RecSecond4End
rdy_in=1
rdy_in=0
rdy_in=1
rdy_in=0
Send8Start
data_out_ld=1
rdy_out=1
Send8End
rdy_out=0
(a) Controller
rdy_in rdy_ou
t
data_lo
data_hi
data_in(4)
(b) Datapath
data_out
data_out_ld
data_hi_ld
data_lo_ld
clk
to
all
registers
data_out
Bridge
9/13/2022 81
Lakireddy Bali Reddy College of Engineering
Optimizing single-purpose
processors
• Optimization is the task of making design
metric values the best possible
• Optimization opportunities
– original program
– FSMD
– datapath
– FSM
9/13/2022 82
Lakireddy Bali Reddy College of Engineering
Optimizing the original
program
• Analyze program attributes and look for areas
of possible improvement
– number of computations
– size of variable
– time and space complexity
– operations used
• multiplication and division very expensive
9/13/2022 83
Lakireddy Bali Reddy College of Engineering
Optimizing the original
program (cont’)
0: int x, y;
1: while (1) {
2: while (!go_i);
3: x = x_i;
4: y = y_i;
5: while (x != y) {
6: if (x < y)
7: y = y - x;
else
8: x = x - y;
}
9: d_o = x;
}
0: int x, y, r;
1: while (1) {
2: while (!go_i);
// x must be the larger number
3: if (x_i >= y_i) {
4: x=x_i;
5: y=y_i;
}
6: else {
7: x=y_i;
8: y=x_i;
}
9: while (y != 0) {
10: r = x % y;
11: x = y;
12: y = r;
}
13: d_o = x;
}
original program optimized program
replace the subtraction
operation(s) with modulo
operation in order to speed
up program
GCD(42, 8) - 9 iterations to complete the loop
x and y values evaluated as follows : (42, 8), (43, 8),
(26,8), (18,8), (10, 8), (2,8), (2,6), (2,4), (2,2).
GCD(42,8) - 3 iterations to complete the loop
x and y values evaluated as follows: (42, 8), (8,2),
(2,0)
9/13/2022 84
Lakireddy Bali Reddy College of Engineering
Optimizing the FSMD
• Areas of possible improvements
– merge states
• states with constants on transitions can be eliminated,
transition taken is already known
• states with independent operations can be merged
– separate states
• states which require complex operations (a*b*c*d) can
be broken into smaller states to reduce hardware size
– scheduling
9/13/2022 85
Lakireddy Bali Reddy College of Engineering
Optimizing the FSMD
• Areas of possible improvements
– merge states
• states with constants on transitions can be eliminated,
transition taken is already known
• states with independent operations can be merged
– separate states
• states which require complex operations (a*b*c*d) can
be broken into smaller states to reduce hardware size
– scheduling
9/13/2022 86
Lakireddy Bali Reddy College of Engineering
Optimizing the FSMD (cont.)
int x, y;
2:
go_i !go_i
x = x_i
y = y_i
x<y x>y
y = y -x x = x - y
3:
5:
7: 8:
d_o = x
9:
y = y -x
7:
x = x - y
8:
6-J:
x!=y
5: !(x!=y)
x<y !(x<y)
6:
5-J:
1:
1
!1
x = x_i
y = y_i
4:
2:
2-J:
!go_i
!(!go_i)
d_o = x
1-J:
9:
int x, y;
3:
original FSMD optimized FSMD
eliminate state 1 – transitions have constant values
merge state 2 and state 2J – no loop operation in
between them
merge state 3 and state 4 – assignment operations are
independent of one another
merge state 5 and state 6 – transitions from state 6 can
be done in state 5
eliminate state 5J and 6J – transitions from each state
can be done from state 7 and state 8, respectively
eliminate state 1-J – transition from state 1-J can be
done directly from state 9
9/13/2022 87
Lakireddy Bali Reddy College of Engineering
Optimizing the datapath
• Sharing of functional units
– one-to-one mapping, as done previously, is not
necessary
– if same operation occurs in different states, they
can share a single functional unit
• Multi-functional units
– ALUs support a variety of operations, it can be
shared among operations occurring in different
states
9/13/2022 88
Lakireddy Bali Reddy College of Engineering
Optimizing the FSM
• State encoding
– task of assigning a unique bit pattern to each state in
an FSM
– size of state register and combinational logic vary
– can be treated as an ordering problem
• State minimization
– task of merging equivalent states into a single state
• state equivalent if for all possible input combinations the
two states generate the same outputs and transitions to the
next same state
9/13/2022 89
Lakireddy Bali Reddy College of Engineering
Summary
• Custom single-purpose processors
– Straightforward design techniques
– Can be built to execute algorithms
– Typically start with FSMD
– CAD tools can be of great assistance
9/13/2022 90
Lakireddy Bali Reddy College of Engineering
Thank you...

More Related Content

Similar to Unit-1 ESD.pptx

introduction to Embedded System
introduction to Embedded Systemintroduction to Embedded System
introduction to Embedded SystemAnkur Soni
 
Building an embedded systems
Building an embedded systemsBuilding an embedded systems
Building an embedded systemsVijay Anand
 
Basics of embedded system design
Basics of embedded system designBasics of embedded system design
Basics of embedded system designK Senthil Kumar
 
AEC - Presentation Slides 26012021 engineering software.pdf
AEC - Presentation Slides 26012021 engineering software.pdfAEC - Presentation Slides 26012021 engineering software.pdf
AEC - Presentation Slides 26012021 engineering software.pdfRidwanFauzan3
 
1 Computer Architecture
1 Computer Architecture1 Computer Architecture
1 Computer Architecturefika sweety
 
Building embedded systems
Building embedded systemsBuilding embedded systems
Building embedded systemsVijayGESYS
 
Syste O CHip Concepts for Students.ppt
Syste O CHip Concepts for Students.pptSyste O CHip Concepts for Students.ppt
Syste O CHip Concepts for Students.pptmonzhalabs
 
Ecd302 unit 01(investigate ecad systems)
Ecd302 unit 01(investigate ecad systems)Ecd302 unit 01(investigate ecad systems)
Ecd302 unit 01(investigate ecad systems)Xi Qiu
 
UNIT I_Introduction.pptx
UNIT I_Introduction.pptxUNIT I_Introduction.pptx
UNIT I_Introduction.pptxssuser4ca1eb
 
ECAD-MCAD Presentation 2011
ECAD-MCAD Presentation 2011ECAD-MCAD Presentation 2011
ECAD-MCAD Presentation 2011Altium
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
System On Chip
System On ChipSystem On Chip
System On ChipA B Shinde
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma
 
Data Center of the Future v1.0.pptx
Data Center of the Future v1.0.pptxData Center of the Future v1.0.pptx
Data Center of the Future v1.0.pptxjuergenJaeckel
 
Introduction to embedded system
Introduction to embedded systemIntroduction to embedded system
Introduction to embedded systemajitsaraf123
 
Ac2017 6. output based contracting
Ac2017   6. output based contractingAc2017   6. output based contracting
Ac2017 6. output based contractingNesma
 

Similar to Unit-1 ESD.pptx (20)

introduction to Embedded System
introduction to Embedded Systemintroduction to Embedded System
introduction to Embedded System
 
Building an embedded systems
Building an embedded systemsBuilding an embedded systems
Building an embedded systems
 
Basics of embedded system design
Basics of embedded system designBasics of embedded system design
Basics of embedded system design
 
AEC - Presentation Slides 26012021 engineering software.pdf
AEC - Presentation Slides 26012021 engineering software.pdfAEC - Presentation Slides 26012021 engineering software.pdf
AEC - Presentation Slides 26012021 engineering software.pdf
 
1 Computer Architecture
1 Computer Architecture1 Computer Architecture
1 Computer Architecture
 
Building embedded systems
Building embedded systemsBuilding embedded systems
Building embedded systems
 
Syste O CHip Concepts for Students.ppt
Syste O CHip Concepts for Students.pptSyste O CHip Concepts for Students.ppt
Syste O CHip Concepts for Students.ppt
 
Ecd302 unit 01(investigate ecad systems)
Ecd302 unit 01(investigate ecad systems)Ecd302 unit 01(investigate ecad systems)
Ecd302 unit 01(investigate ecad systems)
 
UNIT I_Introduction.pptx
UNIT I_Introduction.pptxUNIT I_Introduction.pptx
UNIT I_Introduction.pptx
 
ES-Basics.pdf
ES-Basics.pdfES-Basics.pdf
ES-Basics.pdf
 
ECAD-MCAD Presentation 2011
ECAD-MCAD Presentation 2011ECAD-MCAD Presentation 2011
ECAD-MCAD Presentation 2011
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
UNIT I.pptx
UNIT I.pptxUNIT I.pptx
UNIT I.pptx
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Data Center of the Future v1.0.pptx
Data Center of the Future v1.0.pptxData Center of the Future v1.0.pptx
Data Center of the Future v1.0.pptx
 
Introduction to embedded system
Introduction to embedded systemIntroduction to embedded system
Introduction to embedded system
 
RELM Overview
RELM OverviewRELM Overview
RELM Overview
 
Ac2017 6. output based contracting
Ac2017   6. output based contractingAc2017   6. output based contracting
Ac2017 6. output based contracting
 

More from Sambasiva62

An Experimental mmWave Channel Model for UAV to UAV Communication.pdf
An Experimental mmWave Channel Model for UAV to UAV Communication.pdfAn Experimental mmWave Channel Model for UAV to UAV Communication.pdf
An Experimental mmWave Channel Model for UAV to UAV Communication.pdfSambasiva62
 
COnference PPT-Final.pptx
COnference  PPT-Final.pptxCOnference  PPT-Final.pptx
COnference PPT-Final.pptxSambasiva62
 
Communication bands.pptx
Communication bands.pptxCommunication bands.pptx
Communication bands.pptxSambasiva62
 
IV UNIT PPT (1).pptx
IV UNIT PPT (1).pptxIV UNIT PPT (1).pptx
IV UNIT PPT (1).pptxSambasiva62
 
CMC-UNIT-2 Part-1.pptx
CMC-UNIT-2 Part-1.pptxCMC-UNIT-2 Part-1.pptx
CMC-UNIT-2 Part-1.pptxSambasiva62
 
Channel Model.pptx
Channel Model.pptxChannel Model.pptx
Channel Model.pptxSambasiva62
 
5g-technology-ppt.pptx
5g-technology-ppt.pptx5g-technology-ppt.pptx
5g-technology-ppt.pptxSambasiva62
 

More from Sambasiva62 (14)

An Experimental mmWave Channel Model for UAV to UAV Communication.pdf
An Experimental mmWave Channel Model for UAV to UAV Communication.pdfAn Experimental mmWave Channel Model for UAV to UAV Communication.pdf
An Experimental mmWave Channel Model for UAV to UAV Communication.pdf
 
COnference PPT-Final.pptx
COnference  PPT-Final.pptxCOnference  PPT-Final.pptx
COnference PPT-Final.pptx
 
Communication bands.pptx
Communication bands.pptxCommunication bands.pptx
Communication bands.pptx
 
UNIT-3 ppt.pptx
UNIT-3 ppt.pptxUNIT-3 ppt.pptx
UNIT-3 ppt.pptx
 
IV UNIT PPT (1).pptx
IV UNIT PPT (1).pptxIV UNIT PPT (1).pptx
IV UNIT PPT (1).pptx
 
v unit (1).pptx
v unit (1).pptxv unit (1).pptx
v unit (1).pptx
 
CMC-UNIT-2 Part-1.pptx
CMC-UNIT-2 Part-1.pptxCMC-UNIT-2 Part-1.pptx
CMC-UNIT-2 Part-1.pptx
 
ch11_031102.ppt
ch11_031102.pptch11_031102.ppt
ch11_031102.ppt
 
Channel Model.pptx
Channel Model.pptxChannel Model.pptx
Channel Model.pptx
 
Unit-V.pptx
Unit-V.pptxUnit-V.pptx
Unit-V.pptx
 
eel6935_ch2.pdf
eel6935_ch2.pdfeel6935_ch2.pdf
eel6935_ch2.pdf
 
5g-technology-ppt.pptx
5g-technology-ppt.pptx5g-technology-ppt.pptx
5g-technology-ppt.pptx
 
Interfacing
InterfacingInterfacing
Interfacing
 
Unit-III.pptx
Unit-III.pptxUnit-III.pptx
Unit-III.pptx
 

Recently uploaded

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIkoyaldeepu123
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 

Recently uploaded (20)

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AI
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 

Unit-1 ESD.pptx

  • 1. UNIT – I Embedded System Introduction
  • 2. UNIT - I: Embedded System Introduction: Contents 1. Embedded systems overview 2. Design challenges 3. Processor technology 4. IC technology 5. Design Technology 6. Trade-offs :Single purpose processors RT-level 1. Combinational logic 2. Sequential logic (RT level) 3. Custom single purpose processor design(RT – level) 4. Optimizing custom single purpose processors. 9/13/2022 2 Lakireddy Bali Reddy College of Engineering
  • 3. Introduction • 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... 9/13/2022 3 Lakireddy Bali Reddy College of Engineering
  • 4. 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 Computers are in here... and here... and even here... Lots more of these, though they cost a lot less each. 9/13/2022 4 Lakireddy Bali Reddy College of Engineering
  • 5. A “short list” of embedded systems And the list goes on and on 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 9/13/2022 5 Lakireddy Bali Reddy College of Engineering
  • 6. 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 9/13/2022 6 Lakireddy Bali Reddy College of Engineering
  • 7. 1. Embedded systems overview Definition: An Embedded System (ES) is a system where Micro-controller or micro- processor based programmable system is embedded into a large system. The points which are connected are called sphere of control. (Red & Green points).
  • 8. 9/13/2022 8 Lakireddy Bali Reddy College of Engineering
  • 9. 9/13/2022 9 Lakireddy Bali Reddy College of Engineering
  • 10. 9/13/2022 10 Lakireddy Bali Reddy College of Engineering
  • 11. 9/13/2022 11 Lakireddy Bali Reddy College of Engineering
  • 12. General purpose system Vs Embedded system General purpose system Embedded system Multi-purpose applications Single purpose / single application or predefined application High cost High power Tightly constrained. . Low cost .Low power .portable . Some times real time 9/13/2022 12 Lakireddy Bali Reddy College of Engineering
  • 13. Real time system(RTS) Vs Embedded system (ES) • RTS: 1. Hard RTS. 2. Soft RTS. 1. Hard RTS: . it has stringent time constraint. . If it violates controlling takes place. 2. Soft RTS: . If it violates QoS is reduced. All RTS are ESs but all ESs are not RTS. (ES s are RTS are not RTS) 9/13/2022 13 Lakireddy Bali Reddy College of Engineering
  • 14. Reactive system vs Transformational system . Reactive system : React to an event. Exp: camera reacts by clicking a button. . Transformational system: sequence of transformations has to be applied. Exp: Image processing . Segmentation .noise removal etc.. 9/13/2022 14 Lakireddy Bali Reddy College of Engineering
  • 15. An embedded system example – a digital camera Microcontroller CCD preprocessor Pixel coprocessor A2D D2A JPEG codec DMA controller Memory controller ISA bus interface UART LCD ctrl Display ctrl Multiplier/Accum Digital camera chip lens CCD • Single-functioned -- always a digital camera • Tightly-constrained -- Low cost, low power, small, fast • Reactive and real-time -- only to a small extent 9/13/2022 15 Lakireddy Bali Reddy College of Engineering
  • 16. 2. 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 9/13/2022 16 Lakireddy Bali Reddy College of Engineering
  • 17. 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 9/13/2022 17 Lakireddy Bali Reddy College of Engineering
  • 18. 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 9/13/2022 18 Lakireddy Bali Reddy College of Engineering
  • 19. • Performance: Latency & Throughput Latency: Time to take a task / operation. Exp: Let camera A & B both takes 0.25 sec to take a picture. (It is the Latency). Camera A give 4 pic/sec Camera B give 8 pic/sec (2 parallel processing units) : Camera B has more Throughput. 9/13/2022 19 Lakireddy Bali Reddy College of Engineering
  • 20. Design metric competition -- improving one may worsen others • Expertise with both software and hardware is needed to optimize design metrics – 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 Size Performance Power NRE cost Microcontroller CCD preprocessor Pixel coprocessor A2D D2A JPEG codec DMA controller Memory controller ISA bus interface UART LCD ctrl Display ctrl Multiplier/Accum Digital camera chip lens CCD Hardware Software 9/13/2022 20 Lakireddy Bali Reddy College of Engineering
  • 21. Time-to-market: a demanding design metric • 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 • Average time-to-market constraint is about 8 months • Delays can be costly Revenues ($) Time (months) 9/13/2022 21 Lakireddy Bali Reddy College of Engineering
  • 22. Losses due to delayed market entry • Simplified revenue model – Product life = 2W, peak at W – Time of market entry defines a triangle, representing market penetration – Triangle area equals revenue • Loss – The difference between the on-time and delayed triangle areas On-time Delayed entry entry Peak revenue Peak revenue from delayed entry Market rise Market fall W 2W Time D On-time Delayed Revenues ($) 9/13/2022 22 Lakireddy Bali Reddy College of Engineering
  • 23. Losses due to delayed market entry (cont.) • Area = 1/2 * base * height – 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 On-time Delayed entry entry Peak revenue Peak revenue from delayed entry Market rise Market fall W 2W Time D On-time Delayed Revenues ($) – 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! 9/13/2022 23 Lakireddy Bali Reddy College of Engineering
  • 24. 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 9/13/2022 24 Lakireddy Bali Reddy College of Engineering
  • 25. NRE and unit cost metrics $0 $40,000 $80,000 $120,000 $160,000 $200,000 0 800 1600 2400 A B C $0 $40 $80 $120 $160 $200 0 800 1600 2400 Number of units (volume) A B C Number of units (volume) tota l c ost (x1000) p er p rod uc t c ost • 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 • But, must also consider time-to-market 9/13/2022 25 Lakireddy Bali Reddy College of Engineering
  • 26. 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 9/13/2022 26 Lakireddy Bali Reddy College of Engineering
  • 27. 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 9/13/2022 27 Lakireddy Bali Reddy College of Engineering
  • 28. 3. PROCESSORS • 1. General purpose • 2. Application Specific • 3. Single Purpose 9/13/2022 28 Lakireddy Bali Reddy College of Engineering
  • 29. Processor technology 9/13/2022 29 Lakireddy Bali Reddy College of Engineering
  • 30. 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 General-purpose processor Single-purpose processor Application-specific processor Desired functionality 9/13/2022 30 Lakireddy Bali Reddy College of Engineering
  • 31. Processor 9/13/2022 31 Lakireddy Bali Reddy College of Engineering
  • 32. 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 Application-specific Registers Custom ALU Datapath Controller Program memory Assembly code for: total = 0 for i =1 to … Control logic and State register Data memory IR PC Single-purpose (“hardware”) Datapath Controller Control logic State register Data memory index total + IR PC Register file General ALU Datapath Controller Program memory Assembly code for: total = 0 for i =1 to … Control logic and State register Data memory General-purpose (“software”) 9/13/2022 32 Lakireddy Bali Reddy College of Engineering
  • 33. Instruction execution cycle • An instruction is FETCH from Memory through IR. 9/13/2022 33 Lakireddy Bali Reddy College of Engineering
  • 34. • Data path: Registers, Wires, MUX, data elements… • Control Path: FSM. sending the control signals to different elements of the data path. Controlling is either H/W or S/W. 9/13/2022 34 Lakireddy Bali Reddy College of Engineering
  • 35. 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 IR PC Register file General ALU Datapath Controller Program memory Assembly code for: total = 0 for i =1 to … Control logic and State register Data memory 9/13/2022 35 Lakireddy Bali Reddy College of Engineering
  • 36. 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 • Benefits – Fast – Low power – Small size Datapath Controller Control logic State register Data memory index total + 9/13/2022 36 Lakireddy Bali Reddy College of Engineering
  • 37. Application-specific processors • Programmable processor optimized for a particular class of applications having common characteristics – Compromise between general-purpose and single-purpose processors • Features – Program memory – Optimized datapath – Special functional units • Benefits – Some flexibility, good performance, size and power IR PC Registers Custom ALU Datapath Controller Program memory Assembly code for: total = 0 for i =1 to … Control logic and State register Data memory 9/13/2022 37 Lakireddy Bali Reddy College of Engineering
  • 38. 5. 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 source drain channel oxide gate Silicon substrate IC package IC 9/13/2022 38 Lakireddy Bali Reddy College of Engineering
  • 39. IC technology • Three types of IC technologies – Full-custom/VLSI – Semi-custom ASIC (gate array and standard cell) – PLD (Programmable Logic Device) 9/13/2022 39 Lakireddy Bali Reddy College of Engineering
  • 40. 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 9/13/2022 40 Lakireddy Bali Reddy College of Engineering
  • 41. 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 9/13/2022 41 Lakireddy Bali Reddy College of Engineering
  • 42. 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 9/13/2022 42 Lakireddy Bali Reddy College of Engineering
  • 43. 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 100 10 1 0.1 0.01 0.001 Logic transistors per chip (in millions) Note: logarithmic scale 9/13/2022 43 Lakireddy Bali Reddy College of Engineering
  • 44. 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!) 9/13/2022 44 Lakireddy Bali Reddy College of Engineering
  • 45. Graphical illustration of Moore’s law 1981 1984 1987 1990 1993 1996 1999 2002 Leading edge chip in 1981 10,000 transistors Leading edge chip in 2002 150,000,000 transistors • Something that doubles frequently grows more quickly than most people realize! – A 2002 chip can hold about 15,000 1981 chips inside itself 9/13/2022 45 Lakireddy Bali Reddy College of Engineering
  • 46. Graphical illustration of Moore’s law 1981 1984 1987 1990 1993 1996 1999 2002 Leading edge chip in 1981 10,000 transistors Leading edge chip in 2002 150,000,000 transistors • Something that doubles frequently grows more quickly than most people realize! – A 2002 chip can hold about 15,000 1981 chips inside itself 9/13/2022 46 Lakireddy Bali Reddy College of Engineering
  • 47. Design Technology • Design technology involves the manner in which we convert our concept of desired system functionality into an implementation. • We must not only design the implementation to optimize design metrics, but we must do so quickly. • To understand how to improve the design process, we must first understand the design process. 9/13/2022 Lakireddy Bali Reddy College of Engineering 47
  • 48. 9/13/2022 Lakireddy Bali Reddy College of Engineering 48
  • 49. Compilation/Synthesis • designer specify desired functionality in an abstract manner, and automatically generates lower-level implementation details. • A logic synthesis tool converts Boolean expressions into a connection of logic gates(called a netlist). • A register-transfer (RT) synthesis tool converts finite-state machines and register-transfers into a datapath of RT components and a controller of Boolean equations. 9/13/2022 Lakireddy Bali Reddy College of Engineering 49
  • 50. • A behavioral synthesis tool converts a sequential program into finite-state machines and register transfers. • a software compiler converts a sequential program to assembly code, which is essentially register-transfer code. • a system synthesis tool converts an abstract system specification into a set of sequential programs on general and single-purpose processors. • 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 9/13/2022 Lakireddy Bali Reddy College of Engineering 50
  • 51. Libraries/IP • Libraries involve re-use of pre-existing implementations. • Using libraries of existing implementations can improve productivity if the time it takes to find, acquire, integrate and test a library item is less than that of designing the item oneself. • A logic-level library may consist of layouts for gates and cells. An RT-level library may consist of layouts for RT components, like registers, multiplexors, decoders, and functional units. 9/13/2022 Lakireddy Bali Reddy College of Engineering 51
  • 52. • A behavioral-level library may consist of commonly used components, such as compression components, bus interfaces, display controllers, and even general-purpose processors. • a system-level library might consist of complete systems solving particular problems, such as an interconnection of processors with accompanying operating systems and programs to implement an interface to the Internet over an Ethernet network. 9/13/2022 Lakireddy Bali Reddy College of Engineering 52
  • 53. Test/Verification • Test/Verification involves ensuring that functionality is correct. • Such assurance can prevent time-consuming debugging at low abstraction levels and iterating back to high abstraction levels. • Simulation is the most common method of testing for correct functionality, although more formal verification techniques are growing in popularity. 9/13/2022 Lakireddy Bali Reddy College of Engineering 53
  • 54. • At the logic level, gate level simulators provide output signal timing waveforms given input signal waveforms. • At the RT-level, hardware description language (HDL) simulators execute RT-level descriptions and provide output waveforms given input waveforms. • At the behavioral level, HDL simulators simulate sequential programs, and co- simulators connect HDL and general-purpose processor simulators to enable hardware/software co-verification. 9/13/2022 Lakireddy Bali Reddy College of Engineering 54
  • 55. • At the system level, a model simulator simulates the initial system specification using an abstract computation model, independent of any processor technology, to verify correctness and completeness of the specification. • Model checkers can also verify certain properties of the specification, such as ensuring that certain simultaneous conditions never occur, or that the system does not deadlock. 9/13/2022 Lakireddy Bali Reddy College of Engineering 55
  • 56. Design productivity exponential increase • Exponential increase over the past few decades 100,000 10,000 1,000 100 10 1 0.1 0.01 1983 1987 1989 1991 1993 1985 1995 1997 1999 2001 2003 2005 2007 2009 Productivity (K) Trans./Staff – Mo. 9/13/2022 56 Lakireddy Bali Reddy College of Engineering
  • 57. 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” Implementation Assembly instructions Machine instructions Register transfers Compilers (1960's,1970's) Assemblers, linkers (1950's, 1960's) Behavioral synthesis (1990's) RT synthesis (1980's, 1990's) Logic synthesis (1970's, 1980's) Microprocessor plus program bits: “software” VLSI, ASIC, or PLD implementation: “hardware” Logic gates Logic equations / FSM's Sequential program code (e.g., C, VHDL) 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. 9/13/2022 57 Lakireddy Bali Reddy College of Engineering
  • 58. 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- purpose processor ASIP Single- purpose processor Semi-custom PLD Full-custom General, providing improved: Customized, providing improved: Power efficiency Performance Size Cost (high volume) Flexibility Maintainability NRE cost Time- to-prototype Time-to-market Cost (low volume) 9/13/2022 58 Lakireddy Bali Reddy College of Engineering
  • 59. 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 1,000 100 10 1 0.1 0.01 0.001 Logic transistors per chip (in millions) 100,000 10,000 1000 100 10 1 0.1 0.01 Productivity (K) Trans./Staff-Mo. IC capacity productivity Gap 9/13/2022 59 Lakireddy Bali Reddy College of Engineering
  • 60. 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 1,000 100 10 1 0.1 0.01 0.001 Logic transistors per chip (in millions) 100,000 10,000 1000 100 10 1 0.1 0.01 Productivity (K) Trans./Staff-Mo. IC capacity productivity Gap 9/13/2022 60 Lakireddy Bali Reddy College of Engineering
  • 61. 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”) 10 20 30 40 0 10000 20000 30000 40000 50000 60000 43 24 19 16 15 16 18 23 Team Individual Months until completion Number of designers • 1M transistors, 1 designer=5000 trans/month • Each additional designer reduces for 100 trans/month • So 2 designers produce 4900 trans/month each 9/13/2022 61 Lakireddy Bali Reddy College of Engineering
  • 62. 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 9/13/2022 62 Lakireddy Bali Reddy College of Engineering
  • 63. single-purpose processors: Outline • Introduction • Combinational logic • Sequential logic • Custom single-purpose processor design • RT-level custom single-purpose processor design 9/13/2022 63 Lakireddy Bali Reddy College of Engineering
  • 64. Introduction • Processor – Digital circuit that performs a computation tasks – Controller and datapath – General-purpose: variety of computation tasks – Single-purpose: one particular computation task – Custom single-purpose: non-standard task • A custom single-purpose processor may be – Fast, small, low power – But, high NRE, longer time-to-market, less flexible Microcontroller CCD preprocessor Pixel coprocessor A2D D2A JPEG codec DMA controller Memory controller ISA bus interface UART LCD ctrl Display ctrl Multiplier/Accum Digital camera chip lens CCD 9/13/2022 64 Lakireddy Bali Reddy College of Engineering
  • 65. CMOS transistor on silicon • Transistor – The basic electrical component in digital systems – Acts as an on/off switch – Voltage at “gate” controls whether current flows from source to drain – Don’t confuse this “gate” with a logic gate source drain oxide gate IC package IC channel Silicon substrate gate source drain Conducts if gate=1 1 9/13/2022 65 Lakireddy Bali Reddy College of Engineering
  • 66. CMOS transistor implementations • Complementary Metal Oxide Semiconductor • We refer to logic levels – Typically 0 is 0V, 1 is 5V • Two basic CMOS types – nMOS conducts if gate=1 – pMOS conducts if gate=0 – Hence “complementary” • Basic gates – Inverter, NAND, NOR x F = x' 1 inverter 0 F = (xy)' x 1 x y y NAND gate 0 1 F = (x+y)' x y x y NOR gate 0 gate source drain nMOS Conducts if gate=1 gate source drain pMOS Conducts if gate=0 9/13/2022 66 Lakireddy Bali Reddy College of Engineering
  • 67. Basic logic gates F = x y AND F = (x y)’ NAND F = x  y XOR F = x Driver F = x’ Inverter x F F = x + y OR F = (x+y)’ NOR x F x y F F x y x y F x y F x y F F = x y XNOR F y x x 0 y 0 F 0 0 1 0 1 0 0 1 1 1 x 0 y 0 F 0 0 1 1 1 0 1 1 1 1 x 0 y 0 F 0 0 1 1 1 0 1 1 1 0 x 0 y 0 F 1 0 1 0 1 0 0 1 1 1 x 0 y 0 F 1 0 1 1 1 0 1 1 1 0 x 0 y 0 F 1 0 1 0 1 0 0 1 1 0 x F 0 0 1 1 x F 0 1 1 0 9/13/2022 67 Lakireddy Bali Reddy College of Engineering
  • 68. Combinational logic design A) Problem description y is 1 if a is to 1, or b and c are 1. z is 1 if b or c is to 1, but not both, or if all are 1. D) Minimized output equations 00 0 1 01 11 10 0 1 0 1 0 1 1 1 a bc y y = a + bc 00 0 1 01 11 10 0 0 1 0 1 1 1 1 z z = ab + b’c + bc’ a bc C) Output equations y = a'bc + ab'c' + ab'c + abc' + abc z = a'b'c + a'bc' + ab'c + abc' + abc B) Truth table 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 Inputs a b c Outputs y z E) Logic Gates a b c y z 9/13/2022 68 Lakireddy Bali Reddy College of Engineering
  • 69. Combinational components With enable input e  all O’s are 0 if e=0 With carry-in input Ci sum = A + B + Ci May have status outputs carry, zero, etc. O = I0 if S=0..00 I1 if S=0..01 … I(m-1) if S=1..11 O0 =1 if I=0..00 O1 =1 if I=0..01 … O(n-1) =1 if I=1..11 sum = A+B (first n bits) carry = (n+1)’th bit of A+B less = 1 if A<B equal =1 if A=B greater=1 if A>B O = A op B op determined by S. n-bit, m x 1 Multiplexor O … S0 S(log m) n n I(m-1) I1 I0 … log n x n Decoder … O1 O0 O(n-1) I0 I(log n -1) … n-bit Adder n A B n sum carry n-bit Comparator n n A B less equalgreater n bit, m function ALU n n A B … S0 S(log m) n O 9/13/2022 69 Lakireddy Bali Reddy College of Engineering
  • 70. Sequential components Q = 0 if clear=1, I if load=1 and clock=1, Q(previous) otherwise. Q = 0 if clear=1, Q(prev)+1 if count=1 and clock=1. clear n-bit Register n n load I Q shift I Q n-bit Shift register n-bit Counter n Q Q = lsb - Content shifted - I stored in msb 9/13/2022 70 Lakireddy Bali Reddy College of Engineering
  • 71. Sequential logic design A) Problem Description You want to construct a clock divider. Slow down your pre- existing clock so that you output a 1 for every four clock cycles 0 1 2 3 x=0 x=1 x=0 x=0 a=1 a=1 a=1 a=1 a=0 a=0 a=0 a=0 B) State Diagram C) Implementation Model Combinational logic State register a x I0 I0 I1 I1 Q1 Q0 D) State Table (Moore-type) 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 Inputs Q1 Q0 a Outputs I1 I0 1 0 0 0 x • Given this implementation model – Sequential logic design quickly reduces to combinational logic design 9/13/2022 71 Lakireddy Bali Reddy College of Engineering
  • 72. Sequential logic design (cont.) 0 0 1 Q1Q0 I1 I1 = Q1’Q0a + Q1a’ + Q1Q0’ 0 1 1 1 0 1 0 00 11 10 a 01 0 0 0 1 0 1 1 00 01 11 a 1 10 I0 Q1Q0 I0 = Q0a’ + Q0’a 0 1 0 0 0 1 1 0 0 00 01 11 10 x = Q1Q0 x 0 1 0 a Q1Q0 E) Minimized Output Equations F) Combinational Logic a Q1 Q0 I0 I1 x 9/13/2022 72 Lakireddy Bali Reddy College of Engineering
  • 73. Custom single-purpose processor basic model controller and datapath controller datapath … … external control inputs external control outputs … external data inputs … external data outputs datapath control inputs datapath control outputs … … a view inside the controller and datapath controller datapath … … state register next-state and control logic registers functional units 9/13/2022 73 Lakireddy Bali Reddy College of Engineering
  • 74. Example: greatest common divisor GCD (a) black-box view x_i y_i d_o go_i 0: int x, y; 1: while (1) { 2: while (!go_i); 3: x = x_i; 4: y = y_i; 5: while (x != y) { 6: if (x < y) 7: y = y - x; else 8: x = x - y; } 9: d_o = x; } (b) desired functionality y = y -x 7: x = x - y 8: 6-J: x!=y 5: !(x!=y) x<y !(x<y) 6: 5-J: 1: 1 !1 x = x_i 3: y = y_i 4: 2: 2-J: !go_i !(!go_i) d_o = x 1-J: 9: (c) state diagram • First create algorithm • Convert algorithm to “complex” state machine – Known as FSMD: finite- state machine with datapath – Can use templates to perform such conversion 9/13/2022 74 Lakireddy Bali Reddy College of Engineering
  • 75. State diagram templates Assignment statement a = b next statement a = b next statement Loop statement while (cond) { loop-body- statements } next statement loop-body- statements cond next statement !cond J: C: Branch statement if (c1) c1 stmts else if c2 c2 stmts else other stmts next statement c1 c2 stmts !c1*c2 !c1*!c2 next statement others c1 stmts J: C: 9/13/2022 75 Lakireddy Bali Reddy College of Engineering
  • 76. Creating the datapath • Create a register for any declared variable • Create a functional unit for each arithmetic operation • Connect the ports, registers and functional units – Based on reads and writes – Use multiplexors for multiple sources • Create unique identifier – for each datapath component control input and output y = y -x 7: x = x - y 8: 6-J: x!=y 5: !(x!=y) x<y !(x<y) 6: 5-J: 1: 1 !1 x = x_i 3: y = y_i 4: 2: 2-J: !go_i !(!go_i) d_o = x 1-J: 9: subtractor subtractor 7: y-x 8: x-y 5: x!=y 6: x<y x_i y_i d_o 0: x 0: y 9: d n-bit 2x1 n-bit 2x1 x_sel y_sel x_ld y_ld x_neq_y x_lt_y d_ld < 5: x!=y != Datapath 9/13/2022 76 Lakireddy Bali Reddy College of Engineering
  • 77. Creating the controller’s FSM • Same structure as FSMD • Replace complex actions/conditions with datapath configurations y = y -x 7: x = x - y 8: 6-J: x!=y 5: !(x!=y) x<y !(x<y) 6: 5-J: 1: 1 !1 x = x_i 3: y = y_i 4: 2: 2-J: !go_i !(!go_i) d_o = x 1-J: 9: y_sel = 1 y_ld = 1 7: x_sel = 1 x_ld = 1 8: 6-J: x_neq_y 5: !x_neq_y x_lt_y !x_lt_y 6: 5-J: d_ld = 1 1-J: 9: x_sel = 0 x_ld = 1 3: y_sel = 0 y_ld = 1 4: 1: 1 !1 2: 2-J: !go_i !(!go_i) go_i 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Controller subtractor subtractor 7: y-x 8: x-y 5: x!=y 6: x<y x_i y_i d_o 0: x 0: y 9: d n-bit 2x1 n-bit 2x1 x_sel y_sel x_ld y_ld x_neq_y x_lt_y d_ld < 5: x!=y != Datapath 9/13/2022 77 Lakireddy Bali Reddy College of Engineering
  • 78. Splitting into a controller and datapath y_sel = 1 y_ld = 1 7: x_sel = 1 x_ld = 1 8: 6-J: x_neq_y=1 5: x_neq_y=0 x_lt_y=1 x_lt_y=0 6: 5-J: d_ld = 1 1-J: 9: x_sel = 0 x_ld = 1 3: y_sel = 0 y_ld = 1 4: 1: 1 !1 2: 2-J: !go_i !(!go_i) go_i 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Controller Controller implementation model y_sel x_sel Combinational logic Q3 Q0 State register go_i x_neq_y x_lt_y x_ld y_ld d_ld Q2 Q1 I3 I0 I2 I1 subtractor subtractor 7: y-x 8: x-y 5: x!=y 6: x<y x_i y_i d_o 0: x 0: y 9: d n-bit 2x1 n-bit 2x1 x_sel y_sel x_ld y_ld x_neq_y x_lt_y d_ld < 5: x!=y != (b) Datapath 9/13/2022 78 Lakireddy Bali Reddy College of Engineering
  • 79. Controller state table for the GCD example Inputs Outputs Q3 Q2 Q1 Q0 x_ne q_y x_lt_y go_i I3 I2 I1 I0 x_sel y_sel x_ld y_ld d_ld 0 0 0 0 * * * 0 0 0 1 X X 0 0 0 0 0 0 1 * * 0 0 0 1 0 X X 0 0 0 0 0 0 1 * * 1 0 0 1 1 X X 0 0 0 0 0 1 0 * * * 0 0 0 1 X X 0 0 0 0 0 1 1 * * * 0 1 0 0 0 X 1 0 0 0 1 0 0 * * * 0 1 0 1 X 0 0 1 0 0 1 0 1 0 * * 1 0 1 1 X X 0 0 0 0 1 0 1 1 * * 0 1 1 0 X X 0 0 0 0 1 1 0 * 0 * 1 0 0 0 X X 0 0 0 0 1 1 0 * 1 * 0 1 1 1 X X 0 0 0 0 1 1 1 * * * 1 0 0 1 X 1 0 1 0 1 0 0 0 * * * 1 0 0 1 1 X 1 0 0 1 0 0 1 * * * 1 0 1 0 X X 0 0 0 1 0 1 0 * * * 0 1 0 1 X X 0 0 0 1 0 1 1 * * * 1 1 0 0 X X 0 0 1 1 1 0 0 * * * 0 0 0 0 X X 0 0 0 1 1 0 1 * * * 0 0 0 0 X X 0 0 0 1 1 1 0 * * * 0 0 0 0 X X 0 0 0 1 1 1 1 * * * 0 0 0 0 X X 0 0 0 9/13/2022 79 Lakireddy Bali Reddy College of Engineering
  • 80. • We often start with a state machine – Rather than algorithm – Cycle timing often too central to functionality • Example – Bus bridge that converts 4-bit bus to 8-bit bus – Start with FSMD – Known as register-transfer (RT) level – Exercise: complete the design RT-level custom single-purpose processor design Problem Specification Bridge A single-purpose processor that converts two 4-bit inputs, arriving one at a time over data_in along with a rdy_in pulse, into one 8-bit output on data_out along with a rdy_out pulse. Sende r data_in(4) rdy_in rdy_out data_out(8) Rece iver clock FSMD WaitFirst4 RecFirst4Start data_lo=data_in WaitSecond4 rdy_in=1 rdy_in=0 RecFirst4End rdy_in=1 RecSecond4Start data_hi=data_in RecSecond4End rdy_in=1 rdy_in=0 rdy_in=1 rdy_in=0 Send8Start data_out=data_hi & data_lo rdy_out=1 Send8End rdy_out=0 Bridge rdy_in=0 Inputs rdy_in: bit; data_in: bit[4]; Outputs rdy_out: bit; data_out:bit[8] Variables data_lo, data_hi: bit[4]; 9/13/2022 80 Lakireddy Bali Reddy College of Engineering
  • 81. RT-level custom single-purpose processor design (cont’) WaitFirst4 RecFirst4Start data_lo_ld=1 WaitSecond4 rdy_in=1 rdy_in=0 RecFirst4End rdy_in=1 RecSecond4Start data_hi_ld=1 RecSecond4End rdy_in=1 rdy_in=0 rdy_in=1 rdy_in=0 Send8Start data_out_ld=1 rdy_out=1 Send8End rdy_out=0 (a) Controller rdy_in rdy_ou t data_lo data_hi data_in(4) (b) Datapath data_out data_out_ld data_hi_ld data_lo_ld clk to all registers data_out Bridge 9/13/2022 81 Lakireddy Bali Reddy College of Engineering
  • 82. Optimizing single-purpose processors • Optimization is the task of making design metric values the best possible • Optimization opportunities – original program – FSMD – datapath – FSM 9/13/2022 82 Lakireddy Bali Reddy College of Engineering
  • 83. Optimizing the original program • Analyze program attributes and look for areas of possible improvement – number of computations – size of variable – time and space complexity – operations used • multiplication and division very expensive 9/13/2022 83 Lakireddy Bali Reddy College of Engineering
  • 84. Optimizing the original program (cont’) 0: int x, y; 1: while (1) { 2: while (!go_i); 3: x = x_i; 4: y = y_i; 5: while (x != y) { 6: if (x < y) 7: y = y - x; else 8: x = x - y; } 9: d_o = x; } 0: int x, y, r; 1: while (1) { 2: while (!go_i); // x must be the larger number 3: if (x_i >= y_i) { 4: x=x_i; 5: y=y_i; } 6: else { 7: x=y_i; 8: y=x_i; } 9: while (y != 0) { 10: r = x % y; 11: x = y; 12: y = r; } 13: d_o = x; } original program optimized program replace the subtraction operation(s) with modulo operation in order to speed up program GCD(42, 8) - 9 iterations to complete the loop x and y values evaluated as follows : (42, 8), (43, 8), (26,8), (18,8), (10, 8), (2,8), (2,6), (2,4), (2,2). GCD(42,8) - 3 iterations to complete the loop x and y values evaluated as follows: (42, 8), (8,2), (2,0) 9/13/2022 84 Lakireddy Bali Reddy College of Engineering
  • 85. Optimizing the FSMD • Areas of possible improvements – merge states • states with constants on transitions can be eliminated, transition taken is already known • states with independent operations can be merged – separate states • states which require complex operations (a*b*c*d) can be broken into smaller states to reduce hardware size – scheduling 9/13/2022 85 Lakireddy Bali Reddy College of Engineering
  • 86. Optimizing the FSMD • Areas of possible improvements – merge states • states with constants on transitions can be eliminated, transition taken is already known • states with independent operations can be merged – separate states • states which require complex operations (a*b*c*d) can be broken into smaller states to reduce hardware size – scheduling 9/13/2022 86 Lakireddy Bali Reddy College of Engineering
  • 87. Optimizing the FSMD (cont.) int x, y; 2: go_i !go_i x = x_i y = y_i x<y x>y y = y -x x = x - y 3: 5: 7: 8: d_o = x 9: y = y -x 7: x = x - y 8: 6-J: x!=y 5: !(x!=y) x<y !(x<y) 6: 5-J: 1: 1 !1 x = x_i y = y_i 4: 2: 2-J: !go_i !(!go_i) d_o = x 1-J: 9: int x, y; 3: original FSMD optimized FSMD eliminate state 1 – transitions have constant values merge state 2 and state 2J – no loop operation in between them merge state 3 and state 4 – assignment operations are independent of one another merge state 5 and state 6 – transitions from state 6 can be done in state 5 eliminate state 5J and 6J – transitions from each state can be done from state 7 and state 8, respectively eliminate state 1-J – transition from state 1-J can be done directly from state 9 9/13/2022 87 Lakireddy Bali Reddy College of Engineering
  • 88. Optimizing the datapath • Sharing of functional units – one-to-one mapping, as done previously, is not necessary – if same operation occurs in different states, they can share a single functional unit • Multi-functional units – ALUs support a variety of operations, it can be shared among operations occurring in different states 9/13/2022 88 Lakireddy Bali Reddy College of Engineering
  • 89. Optimizing the FSM • State encoding – task of assigning a unique bit pattern to each state in an FSM – size of state register and combinational logic vary – can be treated as an ordering problem • State minimization – task of merging equivalent states into a single state • state equivalent if for all possible input combinations the two states generate the same outputs and transitions to the next same state 9/13/2022 89 Lakireddy Bali Reddy College of Engineering
  • 90. Summary • Custom single-purpose processors – Straightforward design techniques – Can be built to execute algorithms – Typically start with FSMD – CAD tools can be of great assistance 9/13/2022 90 Lakireddy Bali Reddy College of Engineering