0% found this document useful (0 votes)
491 views57 pages

Embedded Systems

This document provides an overview of embedded systems and key technologies used in their design. It discusses that embedded systems are computing devices integrated within larger electronic systems to perform specific tasks, and they have constraints of low cost, size, and power usage. The document outlines processor technologies like general-purpose, application-specific, and single-purpose processors. It also describes integrated circuit technologies like full-custom, semi-custom ASICs, and programmable logic devices. Finally, it discusses design technologies used to implement system functionality on chips.

Uploaded by

Syed Z
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
491 views57 pages

Embedded Systems

This document provides an overview of embedded systems and key technologies used in their design. It discusses that embedded systems are computing devices integrated within larger electronic systems to perform specific tasks, and they have constraints of low cost, size, and power usage. The document outlines processor technologies like general-purpose, application-specific, and single-purpose processors. It also describes integrated circuit technologies like full-custom, semi-custom ASICs, and programmable logic devices. Finally, it discusses design technologies used to implement system functionality on chips.

Uploaded by

Syed Z
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

B649 Class Presentation -

Embedded Systems
Abhijeet K
Prashant S
Overview
• Embedded systems overview
– What are they?
• Design challenge – optimizing design metrics
• Technologies
– Processor technologies
– IC technologies
– Design technologies
• Case Studies
Embedded Systems Overview
• Computing systems are everywhere
• Most of us think of “desktop” computers
– PC’s
– Laptops
– Servers
– Mainframes
• But there’s another type of computing system
– Far more common...
Embedded Systems Overview
• Embedded computing systems Computers are in here...

– Computing systems embedded


within electronic devices
– Hard to define. Nearly any and here...

computing system other than a


desktop computer
– Billions of units produced yearly, and even here...

versus millions of desktop units


– Perhaps 50 per household and
per automobile
Lots more of these,
though they cost a lot
less each.
A “short list” of Embedded Systems
• Microwaves
• Washing machines
• Printers
• Networking devices
• Automobiles
• Cell phones
• PDAs
• Mp3 players
• Video game consoles
• TVs
• Children's toys
And the list goes on and on
Cost Comparison
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
An Embedded System Example -- A
Digital Camera
Digital camera chip
CCD

CCD preprocessor Pixel coprocessor D2A


A2D

lens

JPEG codec Microcontroller Multiplier/Accum

DMA controller Display ctrl

Memory controller ISA bus interface UART LCD ctrl

• Single-functioned -- always a digital camera


• Tightly-constrained -- Low cost, low power, small, fast
• Reactive and real-time -- only to a small extent
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
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
Processor Technology
• The architecture of the computation engine used to
implement a system’s desired functionality
• Processor does not have to be programmable
– “Processor” not equal to general-purpose processor
Controller Datapath Controller Datapath Controller Datapath
Control index
Control Register Control logic Registers
logic
logic and file and State total
State register
Custom State +
register
ALU register
General
IR PC ALU IR PC
Data Data
memory memory
Program Data Program
memory memory memory
Assembly code Assembly code
for: for:

total = 0 total = 0
for i =1 to … for i =1 to …
General-purpose (“software”) Application-specific Single-purpose (“hardware”)
Processor Technology
• Processors vary in their customization for the problem at hand
total = 0
for i = 1 to N loop
total += M[i]
end loop
Desired
functionality

General-purpose Application-specific Single-purpose


processor processor processor
General-Purpose Processors
• Programmable device used in a variety of
applications
– Also known as “microprocessor”
• Features
– Program memory
– General data path 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
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 data path
– Special functional units
• Benefits
– Some flexibility, good performance, size and
power
Single-Purpose Processors
• Digital circuit designed to execute exactly
one program
– Also called as coprocessor, accelerator or
peripheral
• Features
– Contains only the components needed to
execute a single program
– No program memory
• Benefits
– Fast
– Low power
– Small size
IC Technology
• The manner in which a digital (gate-level)
implementation is mapped onto an IC
– IC: Integrated circuit, or “chip”
– IC technologies differ in their customization to a
design
– IC’s consist of numerous layers (perhaps 10 or
more)
• IC technologies differ with respect to who builds each
layer and when
gate
IC package IC oxide
source channel drain
Silicon substrate
IC Technology
• Three types of IC technologies
– Full-custom/VLSI
– Semi-custom ASIC (gate array and standard cell)
– PLD (Programmable Logic Device)
IC Technology: 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
IC Technology: 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
IC Technology: 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
Design Technology
• The way in which we convert our concept of
desired system functionality into an
implementation
Real Time Systems
• A real-time system is a system that performs
its functions and responds to external,
asynchronous events within some specified
time period.
• There are hard and soft real-time systems.
• What is Hard real-time System?
• What is Soft real-time System?
Real Time Systems
• Few years ago, real-time applications were
simple and usually placed on dedicated,
customized and isolated hardware.
• Real-time applications today are
getting more and more powerful and yet
complicated.
• telescopes connected to the Internet, cell
phones generating graphic displays, routers
and telephone switches.
Real Time Systems
• A good real-time operating system is required to
be embedded into those application facilities.
• Why RTOS is needed, cant we use time sharing
OS like UNIX, Linux?
• (RTOS) is an operating system capable of
guaranteeing timing requirements of the
processes under its control.
• For a RTOS, correct timing is the key feature.
Throughput is of secondary concern.
Different Approaches to
implement Real Time
Operating System
Thin Kernel Approach
Nano Kernel Approach
Resource-kernel Approach
Real Time Systems

Figure 1.1: Detail of the bare Linux kernel


Real Time Systems

Figure 1.2: Detail of the RTLinux kernel


Signal Processing and Embedded
Applications: The Digital Signal
Processor
Digital Signal Processor
• Special-purpose processor optimized for
executing DSP algorithms
• Most of these algorithms perform the same
operation: a multiply-accumulate operation
• Discrete Fourier Transform

• Discrete Cosine Transform


Digital Signal Processor
• Common observation
Either transform has its core as the SUM OF A
PRODUCT
A=A+B*C

• Digital Signal Processors feature special


purpose hardware to multiply-accumulate
(MAC)
Digital Signal Processor
• Fixed-Point Arithmetic
Digital Signal Processor
• Fixed Point Arithmetic
- Low-cost arithmetic as exponent not sent in
same word
- Exponent sent in separate variable
- Blocked Floating Point : exponent variable is
shared by set of fixed-point variables
Digital Signal Processor
• Accumulator register width more than data
register width

• Accelerate communication algorithms


DSP TI 320C55
DSP – TI 320C6x
DSP – TI 320C6x
Media Extensions
• Precision require for multimedia operations is
less
• Size of data items is smaller
• Multiple operations can be performed in
single cycle: Single-Instruction Multiple-Data
(SIMD) or vector instructions
Embedded Benchmarks
• Till Couple of years back: Dhrystone
performance – Benchmark criticized; dropped
by desktop systems 20 years back
• EDN Embedded Microprocessor Benchmark
Consortium EEMBC (pronounced “embassy”)
• EEMBC benchmarks can only be used to
partially access performance
Embedded Benchmarks
Power Consumption and Efficiency as
the Metric
Power Consumption and Efficiency as
the Metric
Embedded Multiprocessors
• Embedded Multiprocessors = Several General-
Purpose Processors
• Useful where scalability is critical
• Example: MXP processor for use in voice-over-
IP systems
Embedded Multiprocessors
• Multiprocessing has wide spread application
in embedded computing:
- Software is written from scratch or
significantly modified
- Applications have natural parallelism
Case Study – The Emotion Engine
of Sony Playstation 2
Case Study – Sanyo VPC – SX 500
Digital Camera
Case Study – The Cell Phone
Concluding Remarks
• Architectural Decisions for general-purpose
applications are less desirable in embedded
applications
• Due to chip area, cost, power, and real-time
constraints
• Programming model for these systems places
more demand on programmer and compiler
to extract parallelism
References
• Computer Architecture – A Quantitative
approach, 4th edition By John L. Hennessy and
David A. Patterson – Appendix D – Embedded
Systems
• Embedded System design – Unified
Hardware/Software Approach By Frank Vahid
and Tony Givargis
• http://www.ibm.com/developerworks/linux/li
brary/l-real-time-linux/
Thank You

You might also like