Introduction to Embedded Systems
Lectures 1_2
Jamshaid Sarwar Malik
[email protected] Introduction to Embedded Systems 1
Introduction
• Self
• Class
Introduction to Embedded Systems 2
Course Prerequisites
• Students should have the basic knowledge
of:
– Assembly language e.g. 8051, 8086 etc
– High level programming language e.g. C/C++
– Computer Architectures
– Operating Systems
Introduction to Embedded Systems 3
Course Description
• Aim
– The basic aim of this subject is for the students to have
an overview of design and implementation of embedded
system design
• Focus
– To use a microprocessor e.g. NIOSII/TMS DSP as a main
component for a complete embedded system
– Learn and realize complete environment of an
Embedded System including
• Analog components
• Sensors and actuators
• PCB design
• Hardware design techniques
Introduction to Embedded Systems 4
Text / Reference Books
• Course Book
– Embedded Systems Design: A Unified
Hardware/Software Approach
• Frank Vahid & Tony Givargis
• Reference Books
– Computers as Components
• Wayne Wolf
– Embedded Systems Design
• Steve Heath
Introduction to Embedded Systems 5
Course Staff
• Course Incharge
– Jamshaid Sarwar Malik
[email protected]• Lab Incharge
– Saba Zia
• Lab Assistants
– Jameel Nawaz
– Mehwish Awan
Introduction to Embedded Systems 6
Course Structure
• 32 Lectures
• 4-6 Quizzes (in first 10-15 minutes, no make up
provision)
• 2 OHTs (First in 7th and second in 14th Week)
• 10 Labs & an Embedded Systems Design Project
(Project Report & Presentation due within 6 weeks
from issue date)
• Students shall work together in groups of 3-4
(depending on the no. of available boards) but
each student has to understand all lab tasks and
individually complete the preparation tasks
Introduction to Embedded Systems 7
Course Structure
• Quizzes 10%
• Labs (Projects) 10%
• OHTs 30%
• Final Exam 50%
Important: 75% Attendance is mandatory in
order to be able to write final exam
Introduction to Embedded Systems 8
Some basic ethics for my class
• DON’T play with your cell phones in the class.
• DON’T chatter in the class.
• You are welcome to leave and join back the class
any time without teacher’s permission.
• You can eat/drink in the class as long as it is
noiseless.
Introduction to Embedded Systems 9
Tentative Lecture Breakdown
• Introduction
• Anatomy of Embedded Systems
– Processors
– Memory
– Cache
– Networks and Busses
– Processes and Operating Systems
– Peripherals
– DSPs
– Clocking
– Pipelining
– Transducers
– ADCs and DACs
• Special Topics
– High Speed PCB Design
– Hardware Design Techniques
Introduction to Embedded Systems 10
Introduction to Embedded
Systems
Introduction to Embedded Systems 11
A Typical Embedded System Today
Alix.1C board with AMD Geode LX 800 (500 MHz) by PC Engines
(ref. wikipedia)
12
Definitions
• An embedded system is a processor based system that
is NOT a general purpose computer.
• An embedded system is a computer system designed to
perform one or a few dedicated functions often with real-
time computing constraints.
• An Embedded System is usually dedicated for a single
purpose
– It can be highly optimized
– All extra features are a disadvantage as they cost extra money
and use extra power
Introduction to Embedded Systems 13
Some Facts
• Embedded Systems are everywhere.
• Often the user of the embedded systems is not
even aware that a computer is present.
• Embedded : desktop = 100 : 1
• 99% of all processors are for the embedded
systems market.
• Today, average number of embedded processors
in a typical home is estimated at 50-60.
• A Typical modern automobile has more than 50
processors
Introduction to Embedded Systems 14
A Short List of Embedded Systems
Home Appliances Dishwashers, microwave ovens, VCRs, televisions,
stereos, fire/security alarm systems, lawn sprinkler
controls, thermostats, cameras, clock radios, answering
machines.
Computers Printers, scanners, keyboards, displays, modems, hard
disk drives, CD-ROM drives
Laboratories Data collection, oscilloscopes, signal generators, signal
analyzers, power supplies.
Offices FAX machines, copiers, telephones, and cash Registers,
Personal Digital Assistants (PDAs), pagers, cell phones
Medicine Imaging systems (e.g., XRAY, MRI, and ultrasound),
patient monitors, and heart pacers.
Introduction to Embedded Systems 15
A Short List of Embedded Systems
Aerospace Navigation systems, automatic landing systems, flight
controls, engine controls, space exploration (e.g., the
Mars Pathfinder).
Communications Mobile phones, Digital Exchanges, Satellites, network
routers, switches, hubs
Automobile Fuel injection control, passenger environmental
controls, anti-lock braking, air bag controls,
GPS mapping.
Miscellaneous Wristwatches, video games, portable MP3 players, GPS
Industry Most of the modern production systems have one or
more embedded system
Introduction to Embedded Systems 16
Common Characteristics of Embedded
Systems
• Single Function
– Usually execute a single task over and over
• Tightly Constrained
– Low power, low cost, small size, fast etc
• Reactive
– Continually react to the changes in systems’
environment
• Real-Time
– Must compute certain results in real-time
without delay
Introduction to Embedded Systems 17
Real-Time System Definition
• Real-time system is one whose correctness
is dependent upon time. It can be:
– Hard Real-Time System
• Failure to meet response time constraints results in
complete failure
– Soft Real-Time System
• Failure to meet response time constraints results in
degraded performance.
Introduction to Embedded Systems 18
A typical Embedded System – 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 and
fast.
• Reactive and Real-time – to
Introduction a small
to Embedded extent
Systems 19
Progress in Electronics
• Advances in electronics has made possible
the integration of more and more
functionality on a single chip
Introduction to Embedded Systems 20
Progress in Electronics
• If automobile speed had increased similarly
over the same period, we could now drive
from San Francisco to New York in about 13
seconds (Intel)
Introduction to Embedded Systems 21
Growing Design – Productivity Gap
Introduction to Embedded Systems 22
Emerging Architectures
• A system-on-chip architecture integrates several
heterogeneous components on a single chip
• Increasingly powerful applications are possible
• An efficient implementation requires many low-
level details
Introduction to Embedded Systems 23
Embedded System Design:
A Challenging Task
• How much hardware is required?
– How big CPU and Memory?
• How to meet deadlines?
– Faster Hardware or Clever Software?
• How to minimize power consumption?
– Switch off unnecessary logic or reduce memory
accesses?
Introduction to Embedded Systems 24
Design Metric Competition
• Successful implementation of the desired functionality
along with optimization of various design metrics
• Common Design Metrics
– Unit Cost and NRE Cost
– Size
– Performance: Execution time/throughput
– Power
– Flexibility: Possibility of reuse
– Time to prototype
– Time to market
– Maintainability
– Correctness, safety, etc
Improving one metric may worsen others
Introduction to Embedded Systems 25
Time to market – A driving factor
• 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
Introduction to Embedded Systems 26
Delayed Market Entry is costly
• Simplified revenue model
– Product life = 2W, peak at W
Peak revenue
– Time of market entry defines
Peak revenue from
Revenues ($)
a triangle, representing On-time
delayed entry
market penetration Market rise Market fall
– Triangle area equals revenue Delayed
• Loss
– The difference between the D W 2W
On-time Delayed Time
on-time and delayed triangle entry entry
areas
Introduction to Embedded Systems 27
Abstraction levels
• It is important to
work on the right
SYSTEM
level of abstraction
• The higher the level CHIP
of abstraction, the REGISTER
shorter the design
time GATE
• The lower the level CIRCUIT
of abstraction, the SILICON
more details can be
fine tuned
Introduction to Embedded Systems 28
Abstraction Levels
Introduction to Embedded Systems 29
Abstraction Levels
Introduction to Embedded Systems 30
Abstraction Levels
Introduction to Embedded Systems 31
Future Embedded System Design
• Design productivity increases with the level
of abstraction
• Functional verification is very difficult at low
abstraction levels
• Efficient implementations require to exploit
the low-level features of the target
architecture
Introduction to Embedded Systems 32
Embedded System Technologies
• Processor Technology
– General Purpose
– Single Purpose
– Application Specific
• IC Technology
– Full Custom/VLSI
– Semi Custom ASIC (Standard Cell)
– Programmable Logic (Gate Array)
• Design Technology
– Separate Hardware/Software Parts
– Hardware/Software Co-Design
Introduction to Embedded Systems 33
Independence of processor and IC
technologies
• Basic tradeoff
– General vs. custom
– With respect to processor technology or IC technology
– The two technologies are independent
General- Single-
purpose ASIP purpose
General, processor processor Customized,
providing improved: providing improved:
Flexibility Power efficiency
Maintainability Performance
NRE cost Size
Time- to-prototype Cost (high volume)
Time-to-market
Cost (low volume)
PLD Semi-custom Full-custom
Introduction to Embedded Systems 34
Microprocessors for Embedded Systems
• Microprocessors are
– flexible and easy to program
– Cheap
– Optimized
– come in several variations
• 4-bit, 8-bit, 16-bit, 32-bit
• general purpose or DSP
• But!!!!
• Include overhead in form of instruction decoding
• And memory access
• Thus!!!!!
• Microprocessors are used
– As key components in an embedded design
• Programmable Logic and ASICs are used
– For critical parts in a design
• An objective for an embedded system designer is to find the cheapest
solution that meets the requirements
Introduction to Embedded Systems 35
Summary
• Embedded System are all around us
• Key Challenge is to optimize various design
metrics that compete with one another
• A unified hardware software view is
necessary to improve productivity
• Various design methodologies exist to help
us mange this challenging task
Don’t use a Core i7 to control the
airbag of a car
Introduction to Embedded Systems 36