1
Introduction to Embedded Systems
Sudhanshu Janwadkar, Teaching Asst, SVNIT
Lecture Notes: January 1-4th 2018
Outline
2
 Embedded systems overview
 What are they?
 Definition and Examples
 Characteristics of Embedded Systems
 Design Metrics
 Processor Technology
 General Purpose, Single Purpose and Application
Specific processors
 Differences between Microprocessors and
Microcontrollers
Embedded systems overview
3
 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...
Embedded systems overview
4
 Embedded computing systems
 Computing systems embedded within
electronic devices
 Difficult to define. Nearly any computing
system other than a desktop computer
 Perhaps 100’s of Embedded systems
per household!!!
Embedded System are
involved here...
and here...
and even here...
Lots more of these, though they
cost a lot less each!!!!!
An Embedded System is a system which consists of hardware and
underlying (embedded) software, called firmware, that makes it a system
dedicated for an application or specific part of application or product.
Popular Examples of embedded systems
5
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
Characteristics of embedded systems
6
 Single-purposed
 Executes a single program, repeatedly
 Traditionally, Embedded Systems were Single Functioned.
 Now a days, the Embedded systems may be Multi-
functioned, but still are single-purposed.
 For example, a washing machine is always a washing
machine. It serves single purpose- i.e. washing clothes.
Multiple functions like variable spin speed, temperature
controlled washing etc may be added for enhancing
user experience, but still the purpose is washing
clothes. It cannot be used for printing characters!
Characteristics of embedded systems
7
 Tightly-constrained
 Low cost
 Low power
 Small, size
 Fast etc.
 For example, a mobile phone which doesn’t fit in
pockets may not be desirable. Similarly, a mobile phone
costing Lakhs of rupees may not find market. Or, one
which requires to be charged for hours together, may
not be welcome!
Characteristics of embedded systems
8
 Reactive and real-time
 Continually reacts to changes in the system’s
environment
 Must compute certain results in real-time without delay
 An airconditioner is an excellent example
of Real-time and Reactive system.
An embedded system example -- a
digital camera
9
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
Note: Images on this slide are only for understanding of the topic.
Design challenge – optimizing design
metrics
10
 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
Design challenge – optimizing design
metrics
11
 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. It is measured in
terms of number of transistor for hardware, size of program code
for software.
 Performance: the execution time (software) or throughput
(hardware)
 Power: the amount of power consumed by the system
 Flexibility: the ability to change the functionality of the system
without incurring heavy NRE cost
 Time-to-market: the time required to develop a system to the point
that it can be released and sold to customers
 Correctness, safety, many more
Design metric competition -- improving
one may worsen others
12
 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
SizePerformance
Power
NRE cost
Processor technology
13
 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
Processor technology
14
 Processors vary in their customization for the problem at hand
General-purpose
processor
Single-purpose
processor
Application-specific
processor
Desired
functionality
General-purpose processors
15
 Programmable device used in a variety of applications
 Also known as “microprocessor”
 Features
 Program memory
 Large registers 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
Single-purpose processors
16
 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
Application-specific processors
17
 Programmable processor optimized for a particular class
of applications having common characteristics
 Compromise between general-purpose and single-purpose
processors
 Features
 Program memory
 Special functional units
 Benefits
 Some flexibility, good performance, size and power
Difference between microprocessor and
microcontroller
18
Organization
 Microprocessor is an IC which has only the CPU (i.e processing
core) inside them. E.g Intel 8085,8086, 80386, i3, i5, i7, i9 etc.
Microprocessors don’t have RAM, ROM, and other peripheral on the
chip. A system designer has to add them externally to make them
functional. Application of microprocessor includes Desktop PC’s,
Laptops, notepads etc.
 On the contrary, Microcontrollers have a CPU(processing core), in
addition with a fixed amount of RAM, ROM and other peripherals, all
embedded on a single chip. They typically found applications in
Embedded Systems

Difference between microprocessor and
microcontroller
19
Architecture
 Microprocessors are based on Von-Neumann architecture, where in
program and data are stored in same memory module.
 On the contrary, Microcontrollers are based on Harward achitecture.
Here, code memory and program memory are separate
Von-Neumann Architecture Harward Architecture
Self Study: 1. Pls. list out differences between the two architectures and compare them
2. Justify yourself why 8051 is Harward architecture?
Difference between microprocessor and
microcontroller
20
Task performed
 Microcontrollers are designed to perform specific
tasks. Specific means applications where the
relationship of input and output is defined and is
fixed. For example, keyboards, mouse, washing
machine, digicam, remote, microwave etc.
 Since the applications are very specific, they need small resources like
RAM, ROM, I/O ports etc and hence can be embedded on a single chip.
This in turn reduces the size and the cost.
 Microprocessor find applications where tasks are
unspecific like developing software, games,
websites, photo editing, creating documents etc. In
such cases the relationship between input and
output is not defined.
 They need high amount of resources like RAM, ROM, I/O ports etc.
Difference between microprocessor and
microcontroller
21
Speed of operation (Clock Frequency)
 The clock speed of the Microprocessor is quite high
as compared to the microcontroller. Whereas the
microcontrollers operate from a few MHz to 30 to 50
MHz, today’s microprocessor operate above 1GHz
as they perform complex tasks.
Difference between microprocessor and
microcontroller
22
Cost
 Comparing microcontroller and microprocessor in
terms of cost is not justified. Undoubtedly a
microcontroller is far cheaper than a microprocessor.
 However microcontroller cannot be used in place of
microprocessor and using a microprocessor is not
advised in place of a microcontroller as it makes the
application quite costly.
 Microprocessor cannot be used stand alone. They
need other peripherals like RAM, ROM, buffer, I/O
ports etc and hence a system designed around a
microprocessor is quite costly.
Difference between microprocessor and
microcontroller
23
Size and Power Consumption
 In case of Microprocessors, due to a number of
external components connected, the size of the
system is large. Also, these components consume a
lot of power, making them unsuitable candidates for
battery-powered devices as well as other
portable/stand-alone applications.
 The reverse is true for microcontrollers. Typically
most of embedded systems are battery powered and
portable devices. All of the embedded systems are
stand-alone applications.
Summary
24
 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
 Microprocessors vs Microcontrollers

Introduction to Embedded Systems

  • 1.
    1 Introduction to EmbeddedSystems Sudhanshu Janwadkar, Teaching Asst, SVNIT Lecture Notes: January 1-4th 2018
  • 2.
    Outline 2  Embedded systemsoverview  What are they?  Definition and Examples  Characteristics of Embedded Systems  Design Metrics  Processor Technology  General Purpose, Single Purpose and Application Specific processors  Differences between Microprocessors and Microcontrollers
  • 3.
    Embedded systems overview 3 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...
  • 4.
    Embedded systems overview 4 Embedded computing systems  Computing systems embedded within electronic devices  Difficult to define. Nearly any computing system other than a desktop computer  Perhaps 100’s of Embedded systems per household!!! Embedded System are involved here... and here... and even here... Lots more of these, though they cost a lot less each!!!!! An Embedded System is a system which consists of hardware and underlying (embedded) software, called firmware, that makes it a system dedicated for an application or specific part of application or product.
  • 5.
    Popular Examples ofembedded systems 5 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
  • 6.
    Characteristics of embeddedsystems 6  Single-purposed  Executes a single program, repeatedly  Traditionally, Embedded Systems were Single Functioned.  Now a days, the Embedded systems may be Multi- functioned, but still are single-purposed.  For example, a washing machine is always a washing machine. It serves single purpose- i.e. washing clothes. Multiple functions like variable spin speed, temperature controlled washing etc may be added for enhancing user experience, but still the purpose is washing clothes. It cannot be used for printing characters!
  • 7.
    Characteristics of embeddedsystems 7  Tightly-constrained  Low cost  Low power  Small, size  Fast etc.  For example, a mobile phone which doesn’t fit in pockets may not be desirable. Similarly, a mobile phone costing Lakhs of rupees may not find market. Or, one which requires to be charged for hours together, may not be welcome!
  • 8.
    Characteristics of embeddedsystems 8  Reactive and real-time  Continually reacts to changes in the system’s environment  Must compute certain results in real-time without delay  An airconditioner is an excellent example of Real-time and Reactive system.
  • 9.
    An embedded systemexample -- a digital camera 9 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 Note: Images on this slide are only for understanding of the topic.
  • 10.
    Design challenge –optimizing design metrics 10  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
  • 11.
    Design challenge –optimizing design metrics 11  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. It is measured in terms of number of transistor for hardware, size of program code for software.  Performance: the execution time (software) or throughput (hardware)  Power: the amount of power consumed by the system  Flexibility: the ability to change the functionality of the system without incurring heavy NRE cost  Time-to-market: the time required to develop a system to the point that it can be released and sold to customers  Correctness, safety, many more
  • 12.
    Design metric competition-- improving one may worsen others 12  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 SizePerformance Power NRE cost
  • 13.
    Processor technology 13  Thearchitecture 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
  • 14.
    Processor technology 14  Processorsvary in their customization for the problem at hand General-purpose processor Single-purpose processor Application-specific processor Desired functionality
  • 15.
    General-purpose processors 15  Programmabledevice used in a variety of applications  Also known as “microprocessor”  Features  Program memory  Large registers 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
  • 16.
    Single-purpose processors 16  Digitalcircuit 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
  • 17.
    Application-specific processors 17  Programmableprocessor optimized for a particular class of applications having common characteristics  Compromise between general-purpose and single-purpose processors  Features  Program memory  Special functional units  Benefits  Some flexibility, good performance, size and power
  • 18.
    Difference between microprocessorand microcontroller 18 Organization  Microprocessor is an IC which has only the CPU (i.e processing core) inside them. E.g Intel 8085,8086, 80386, i3, i5, i7, i9 etc. Microprocessors don’t have RAM, ROM, and other peripheral on the chip. A system designer has to add them externally to make them functional. Application of microprocessor includes Desktop PC’s, Laptops, notepads etc.  On the contrary, Microcontrollers have a CPU(processing core), in addition with a fixed amount of RAM, ROM and other peripherals, all embedded on a single chip. They typically found applications in Embedded Systems 
  • 19.
    Difference between microprocessorand microcontroller 19 Architecture  Microprocessors are based on Von-Neumann architecture, where in program and data are stored in same memory module.  On the contrary, Microcontrollers are based on Harward achitecture. Here, code memory and program memory are separate Von-Neumann Architecture Harward Architecture Self Study: 1. Pls. list out differences between the two architectures and compare them 2. Justify yourself why 8051 is Harward architecture?
  • 20.
    Difference between microprocessorand microcontroller 20 Task performed  Microcontrollers are designed to perform specific tasks. Specific means applications where the relationship of input and output is defined and is fixed. For example, keyboards, mouse, washing machine, digicam, remote, microwave etc.  Since the applications are very specific, they need small resources like RAM, ROM, I/O ports etc and hence can be embedded on a single chip. This in turn reduces the size and the cost.  Microprocessor find applications where tasks are unspecific like developing software, games, websites, photo editing, creating documents etc. In such cases the relationship between input and output is not defined.  They need high amount of resources like RAM, ROM, I/O ports etc.
  • 21.
    Difference between microprocessorand microcontroller 21 Speed of operation (Clock Frequency)  The clock speed of the Microprocessor is quite high as compared to the microcontroller. Whereas the microcontrollers operate from a few MHz to 30 to 50 MHz, today’s microprocessor operate above 1GHz as they perform complex tasks.
  • 22.
    Difference between microprocessorand microcontroller 22 Cost  Comparing microcontroller and microprocessor in terms of cost is not justified. Undoubtedly a microcontroller is far cheaper than a microprocessor.  However microcontroller cannot be used in place of microprocessor and using a microprocessor is not advised in place of a microcontroller as it makes the application quite costly.  Microprocessor cannot be used stand alone. They need other peripherals like RAM, ROM, buffer, I/O ports etc and hence a system designed around a microprocessor is quite costly.
  • 23.
    Difference between microprocessorand microcontroller 23 Size and Power Consumption  In case of Microprocessors, due to a number of external components connected, the size of the system is large. Also, these components consume a lot of power, making them unsuitable candidates for battery-powered devices as well as other portable/stand-alone applications.  The reverse is true for microcontrollers. Typically most of embedded systems are battery powered and portable devices. All of the embedded systems are stand-alone applications.
  • 24.
    Summary 24  Embedded systemsare 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  Microprocessors vs Microcontrollers