KEMBAR78
Microprocessor Based Systems.ppt
An Introduction to
Microprocessors and
Microcontrollers
A little History
 What is a computer?
 A programmable electronic device that can store,
retrieve, and process data.
 A machine that manipulates data according to a list of
instructions.
 Classification of Computers (power and price)
 Personal computers
 Mainframes
 Supercomputers
 Dedicated controllers – Embedded controllers
Mainframes
 Massive amounts of memory
 Use large data words…64 bits or more
 Mostly used for military defense and large business
data processing
 Examples: IBM 4381, Honeywell DPS8
Personal Computers
 Any general-purpose computer
 intended to be operated directly by an end user
 Range from small microcomputers that work with 4-bit
words to PCs working with 32-bit words or more
 They contain a processor – known by different names:
 Microprocessor – built using Very-Large-Scale
Integration technology; the entire circuit is on a single
chip
 Central Processing Unit (CPU)
 Microprocessor Unit (MPU) – similar to CPU
http://en.wikipedia.org/wiki/Personal_computer
Supercomputers
 Fastest and most powerful mainframes
 Contain multiple processors (CPUs)
 Used for scientific applications, and number crunching
 Now have teraflops performance
 FLoating Point Operations Per Second (FLOPS)
 Examples of special-purpose supercomputers:
 Belle, Deep Blue, and Hydra, for playing chess
 Reconfigurable computing machines or parts of machines
 GRAPE, for astrophysics and molecular dynamics
 Deep Crack, for breaking the DES cipher
 MDGRAPE-3, for protein structure computation
http://en.wikipedia.org/wiki/Supercomputer
Embedded Systems
 An embedded system is a special-purpose computer
system designed to perform one or a few dedicated
functions often with real-time
 An integrated device which consists of multiple devices
 Microprocessor (MPU)
 Memory
 I/O (Input/Output) ports
 Often has its own dedicated software
A little about
Microprocessor-based
Systems ……
Evolution
 First came transistors
 Integrated circuits
 SSI (Small-Scale Integration) to ULSI
 Very Large Scale Integration circuits (VLSI)
 1- Microprocessors (MPU)
 Microcomputers (with CPU being a microprocessor)
 Components: Memory, CPU, Peripherals (I/O)
 Example: Personal computers
 2- Microcontroller (MCU)
 Microcomputers (with CPU being a microprocessor)
 Many special function peripheral are integrated on a single circuit
 Types: General Purpose or Embedded System (with special functionalities)
Microprocessor-Based Systems
• Central Processing Unit (CPU)
• Memory
• Input/Output (I/O) circuitry
• Buses
– Address bus
– Data bus
– Control bus
Microprocessor based system
Arithmetic
Logic
Unit
Register
Arrays
Control Unit
GP-
CPU
CLK Reg
MPU
CPU
Microprocessor-based System
Microprocessor-Based System with Buses:
Address, Data, and Control Signals
Microprocessor-based Systems
Microprocessor
 The microprocessor (MPU) is a computing and
logic device that executes binary instructions in a
sequence stored in memory.
 Characteristics:
 General purpose central processor unit (CPU)
 Binary
 Register-based
 Clock-driven
 Programmable
Microprocessor-based Systems
Microprocessor
 the “brains” of the computer
 its job is to fetch instructions, decode them, and then execute them
 8/16/32/etc –bit (how it moves the data
 contains:
ALU performs computing tasks – manipulates the data/ performs numerical and logical
computations
Registers are used for temp. storage
Control unit is used for timing and other controlling functions – contains a program
counter (next instruction’s address and status register)
System software: A group of programs that monitors the functions of the entire system
Evolution of CPUs
Transistors
 Vacuum Tubes: A devise to control,
modify, and amplify electric signals
 Then came transistors in 1947
 In 1960 Jack Kilby and Robert Noyce
designed the first integrated circuit (IC)
 Fairchild company manufactured logic
gates
Integrated Circuits
 Advances in
manufacturing allowed
packing more transistors
on a single chip
 Transistors and Integrated
Circuits from SSI (Small-
Scale Integration) to ULSI
 Birth of a microprocessor
and its revolutionary
impact
Microprocessors
 Noyce and Gordon Moore
started Intel
 Intel designed he first calculator
 Intel designed the first
programmable calculator
 Intel designed the first
microprocessor in 1971
 Model 4004
 4-bit; 2300 transistors, 640
bytes of memory, 108 KHz
clock speed
Microprocessor-based Systems
Memory
 Memory is a group of registers
 16 register – address: 0-15 – in binary: 0-
1111; Address lines: A0-A3
 Serves two major purposes
 storing the binary codes for the sequence of
instructions specified by programs (program)
 storing binary data that the computer needs
to execute instructions (data)
Memory Types
 R/W: Read/Write Memory; also called RAM
 It is volatile (losses information as power is removed)
 Write means the processor can store information
 Read means the processor can receive information from the
memory
 Acts like a Blackboard!
 ROM: Read-Only memory;
 It is typically non-volatile (permanent) – can be erasable
 It is similar to a Page from your textbook
Microprocessor-based Systems
Memory Classification
Expensive
Fast/
Cheap
Slow
Onetime programmable
Electronically Erasable
PROM
Microprocessor-based Systems
Memory Classification
Expensive
Fast/
Cheap
Slow
Onetime programmable
Electronically Erasable
PROM
Erasable ROMs
 Marked Programmed ROM
 Programmed by the manufacturer
 Programmable ROM (PROM)
 Can be programmed in the field via the programmer
 Erasable Programmable ROM (EPROM)
 Uses ultraviolet light to erase (through a quartz window)
 OTP refers to one-time programmable
 Electrically Erasable Programmable ROM (EEPROM)
 Each program location can be individually erased
 Expensive
 Requires programmer
 FLASH
 Can be programmed in-circuit (in-system)
 Easy to erase (no programmer)
 Only one section can be erased/written at a time (typically 64 bytes at a time)
Input/Output (I/O) Ports
 The way the computer communicates with the
outside world devices
 Peripherals are connected to I/O ports
 Peripherals are I/O devices
 Input devices
 Output devices
 Examples
 Printers and modems,
 keyboard and mouse
 scanner
 Universal Serial Bus (USB)
.
Microprocessor-based
Systems - BUS
 The three components – MPU, memory, and I/O – are connected by a
group of wires called the BUS
 Address bus
 consists of 16, 20, 24, or 32 parallel signal lines (wires) - unidirectional
 these lines contain the address of the memory location to read or written
 Control bus
 consists of 4 to 10 (or more) parallel signal lines
 CPU sends signals along these lines to memory and to I/O ports
 examples: Memory Read, Memory Write, I/O Read, I/O Write
 Data bus
 consists of 8,16, or 32 parallel signal lines
 bi-directional
 only one device at a time can have its outputs enabled,
 this requires the devices to have three-state output
Expanded Microprocessor-Based System
• Note the directions
of:
• address bus
• Data bus
• Control signals
• What is the width of
the:
• address bus?
• Data bus?
 What are Microcontrollers?
First Microcontrollers
 IBM started using 8042 and 8048 (8-bit
microcontroller) in printers
 Apple Macintosh used Motorola
 1980 Intel abandoned microcontroller business
 By 1989 Microchip was a major player in designing
microcontrollers
 PIC: Peripheral Interface Controller
Embedded controllers
 Used to control smart machines
 Examples: printers, auto braking systems
 Also called microcontrollers or microcontroller units
(MCU)
Embedded controllers
Software Characteristics
 No operating systems
 Execute a single program, tailored exactly to the
controller hardware
 Assembly language (vs. High-level language)
 Not transportable, machine specific
 Programmer need to know CPU architecture
 Speed
 Program size
 Uniqueness
Microcontroller Unit (MCU)
Block Diagram
 An integrated electronic computing and logic device that
includes three major components on a single chip
 Microprocessor
 Memory
 I/O ports
 Includes support devices
 Timers
 A/D converter
 Serial I/O
 Parallel Slave Port
 All components connected by common communication lines
called the system bus.
MCU Architecture
 RISC (Harvard)
 Reduced instruction set computer
 Simple operations
 Simple addressing modes
 Longer compiled program bust faster to execute
 Uses pipelining
 CISC (Von Neuman)
 Complex instruction set computer
 More complex instructions (closer to high-level
language support)
Main 8-bit Controllers
 Microchip
 RISC architecture (reduced instruction set computer)
 Has sold over 2 billion as of 2002
 Cost effective and rich in peripherals
 Motorola
 CISC architecture
 Has hundreds of instructions
 Examples: 68HC05, 68HC08, 68HC11
 Intel
 CISC architecture
 Has hundreds of instructions
 Examples: 8051, 8052
 Many difference manufacturers: Philips, Dallas/MAXIM Semiconductor, etc.
 Atmel
 RISC architecture (reduced instruction set computer) –
 Cost effective and rich in peripherals
 AVR
Numbering system
Data format
Memory operation
System Software
(hardware/Software)
Example of a microprocessor /
microcontroller based
Let’s continue…..
Memory
 A semiconductor storage
device consisting of
registers that store
binary bits
 Two major categories
 Read/Write Memory
(R/WM)
 Read-only-Memory
(ROM)
Symbolic Representation of Memory Contents
 Addresses Registers
CODE:
READ PORT A
WRITE PORT B
STOP
What is the address bus value?
PORT A = 8000H
PORT B = 8001H
Fetch / Decode /
Execute
Software:
From Machine to High-Level Languages (1 of 3)
 Machine Language: binary instructions
 All programs are converted into the machine language
of a processor for execution
 Difficult to decipher and write
 Prone to cause many errors in writing
Machine Language
Assembly Language
High-level Language
Software: From Machine
to High-Level Languages (2 of 3)
 Assembly Language: machine instructions represented
in mnemonics
 Has one-to-one correspondence with machine
instructions
 Efficient in execution and use of memory; machine-
specific and not easy to troubleshoot
Machine Language
Assembly Language
High-level Language
Software: From Machine
to High-Level Languages (3 of 3)
 High-Level Languages (such as BASIC, C, and C++)
 Written in statements of spoken languages (such as
English)
 machine independent
 easy to write and troubleshoot
 requires large memory and less efficient in execution
Machine Language
Assembly Language
High-level Language
Data Format (8-bit) (1 of 4)
 Unsigned Integers: All eight bits (Bit0 to Bit7)
represent the magnitude of a number
 Range 0 to FF in Hex and 0 to 255 in decimal
Signed
Unsigned
Data Format (8-bit) (2 of 4)
 Signed Integers: Seven bits (Bit0 to Bit6)
represent the magnitude of a number.
 The eighth bit (Bit7) represents the sign of a
number. The number is positive when Bit7 is
zero and negative when Bit7 is one.
 Positive numbers: 0 to 7F (0 to 127)
 Negative numbers: 80 to FF (-1 to -128)
 All negative numbers are represented in 2’s
complement
Signed
Unsigned
Data Format (8-bit) (3 of 4)
 Binary Coded Decimal Numbers (BCD)
 8 bits of a number divided into groups of four, and each
group represents a decimal digit from 0 to 9
 Four-bit combinations from A through F in Hex are
invalid in BCD numbers
 Example: 0010 0101 represents the binary coding of the
decimal number 25d which is different in value from 25H.
Data Format (8-bit) (4 of 4)
 American Standard Code for Information Interchange
(ASCII)
 Seven-bit alphanumeric code with 128 combinations (00
to 7F)
 Represents English alphabet, decimal digits from 0 to 9,
symbols, and commands
Storing Bits in Memory
 We can store in different
memory types
 EEPROM, FLASH, RAM, etc.
 In an 8-bit RAM
 Each byte is stored in a single
memory register
 Each word is stored in two
memory locations (registers)
 DATA 0x1234
 0x12REG11 (High-order byte)
 0001 0010
 0x34REG10 (Low-order byte)
 0011 0100
What if we want to store -8?
Remember -8111 1000 (in two’s complement)
Design Examples …..
Microcontrollers vs. Microprocessors
MPU-Based Time
and Temperature System
MCU-Based Time
and Temperature System
References
 Read about microcontrollers:
http://www.mikroe.com/en/books/picbook/2_01chapter.htm
 Lots of good information exist on Wikipedia about microcontrollers
http://en.wikipedia.org/wiki/
 History of transistors:
http://inventors.about.com/library/weekly/aa061698.htm
 Nice transistor timeline by Intel:
http://www.intel.com/technology/timeline.pdf
 I used a few slides from here:
http://www.ceng.metu.edu.tr/courses/ceng336/_documents/introduct
ion.pdf

Microprocessor Based Systems.ppt

  • 2.
  • 3.
    A little History What is a computer?  A programmable electronic device that can store, retrieve, and process data.  A machine that manipulates data according to a list of instructions.  Classification of Computers (power and price)  Personal computers  Mainframes  Supercomputers  Dedicated controllers – Embedded controllers
  • 4.
    Mainframes  Massive amountsof memory  Use large data words…64 bits or more  Mostly used for military defense and large business data processing  Examples: IBM 4381, Honeywell DPS8
  • 5.
    Personal Computers  Anygeneral-purpose computer  intended to be operated directly by an end user  Range from small microcomputers that work with 4-bit words to PCs working with 32-bit words or more  They contain a processor – known by different names:  Microprocessor – built using Very-Large-Scale Integration technology; the entire circuit is on a single chip  Central Processing Unit (CPU)  Microprocessor Unit (MPU) – similar to CPU http://en.wikipedia.org/wiki/Personal_computer
  • 6.
    Supercomputers  Fastest andmost powerful mainframes  Contain multiple processors (CPUs)  Used for scientific applications, and number crunching  Now have teraflops performance  FLoating Point Operations Per Second (FLOPS)  Examples of special-purpose supercomputers:  Belle, Deep Blue, and Hydra, for playing chess  Reconfigurable computing machines or parts of machines  GRAPE, for astrophysics and molecular dynamics  Deep Crack, for breaking the DES cipher  MDGRAPE-3, for protein structure computation http://en.wikipedia.org/wiki/Supercomputer
  • 7.
    Embedded Systems  Anembedded system is a special-purpose computer system designed to perform one or a few dedicated functions often with real-time  An integrated device which consists of multiple devices  Microprocessor (MPU)  Memory  I/O (Input/Output) ports  Often has its own dedicated software
  • 8.
  • 9.
    Evolution  First cametransistors  Integrated circuits  SSI (Small-Scale Integration) to ULSI  Very Large Scale Integration circuits (VLSI)  1- Microprocessors (MPU)  Microcomputers (with CPU being a microprocessor)  Components: Memory, CPU, Peripherals (I/O)  Example: Personal computers  2- Microcontroller (MCU)  Microcomputers (with CPU being a microprocessor)  Many special function peripheral are integrated on a single circuit  Types: General Purpose or Embedded System (with special functionalities)
  • 10.
    Microprocessor-Based Systems • CentralProcessing Unit (CPU) • Memory • Input/Output (I/O) circuitry • Buses – Address bus – Data bus – Control bus
  • 11.
  • 12.
  • 13.
    Microprocessor-Based System withBuses: Address, Data, and Control Signals
  • 14.
    Microprocessor-based Systems Microprocessor  Themicroprocessor (MPU) is a computing and logic device that executes binary instructions in a sequence stored in memory.  Characteristics:  General purpose central processor unit (CPU)  Binary  Register-based  Clock-driven  Programmable
  • 15.
    Microprocessor-based Systems Microprocessor  the“brains” of the computer  its job is to fetch instructions, decode them, and then execute them  8/16/32/etc –bit (how it moves the data  contains: ALU performs computing tasks – manipulates the data/ performs numerical and logical computations Registers are used for temp. storage Control unit is used for timing and other controlling functions – contains a program counter (next instruction’s address and status register) System software: A group of programs that monitors the functions of the entire system
  • 16.
  • 17.
    Transistors  Vacuum Tubes:A devise to control, modify, and amplify electric signals  Then came transistors in 1947  In 1960 Jack Kilby and Robert Noyce designed the first integrated circuit (IC)  Fairchild company manufactured logic gates
  • 18.
    Integrated Circuits  Advancesin manufacturing allowed packing more transistors on a single chip  Transistors and Integrated Circuits from SSI (Small- Scale Integration) to ULSI  Birth of a microprocessor and its revolutionary impact
  • 19.
    Microprocessors  Noyce andGordon Moore started Intel  Intel designed he first calculator  Intel designed the first programmable calculator  Intel designed the first microprocessor in 1971  Model 4004  4-bit; 2300 transistors, 640 bytes of memory, 108 KHz clock speed
  • 20.
    Microprocessor-based Systems Memory  Memoryis a group of registers  16 register – address: 0-15 – in binary: 0- 1111; Address lines: A0-A3  Serves two major purposes  storing the binary codes for the sequence of instructions specified by programs (program)  storing binary data that the computer needs to execute instructions (data)
  • 21.
    Memory Types  R/W:Read/Write Memory; also called RAM  It is volatile (losses information as power is removed)  Write means the processor can store information  Read means the processor can receive information from the memory  Acts like a Blackboard!  ROM: Read-Only memory;  It is typically non-volatile (permanent) – can be erasable  It is similar to a Page from your textbook
  • 22.
  • 23.
  • 24.
    Erasable ROMs  MarkedProgrammed ROM  Programmed by the manufacturer  Programmable ROM (PROM)  Can be programmed in the field via the programmer  Erasable Programmable ROM (EPROM)  Uses ultraviolet light to erase (through a quartz window)  OTP refers to one-time programmable  Electrically Erasable Programmable ROM (EEPROM)  Each program location can be individually erased  Expensive  Requires programmer  FLASH  Can be programmed in-circuit (in-system)  Easy to erase (no programmer)  Only one section can be erased/written at a time (typically 64 bytes at a time)
  • 25.
    Input/Output (I/O) Ports The way the computer communicates with the outside world devices  Peripherals are connected to I/O ports  Peripherals are I/O devices  Input devices  Output devices  Examples  Printers and modems,  keyboard and mouse  scanner  Universal Serial Bus (USB)
  • 26.
  • 27.
    Microprocessor-based Systems - BUS The three components – MPU, memory, and I/O – are connected by a group of wires called the BUS  Address bus  consists of 16, 20, 24, or 32 parallel signal lines (wires) - unidirectional  these lines contain the address of the memory location to read or written  Control bus  consists of 4 to 10 (or more) parallel signal lines  CPU sends signals along these lines to memory and to I/O ports  examples: Memory Read, Memory Write, I/O Read, I/O Write  Data bus  consists of 8,16, or 32 parallel signal lines  bi-directional  only one device at a time can have its outputs enabled,  this requires the devices to have three-state output
  • 28.
    Expanded Microprocessor-Based System •Note the directions of: • address bus • Data bus • Control signals • What is the width of the: • address bus? • Data bus?
  • 29.
     What areMicrocontrollers?
  • 30.
    First Microcontrollers  IBMstarted using 8042 and 8048 (8-bit microcontroller) in printers  Apple Macintosh used Motorola  1980 Intel abandoned microcontroller business  By 1989 Microchip was a major player in designing microcontrollers  PIC: Peripheral Interface Controller
  • 31.
    Embedded controllers  Usedto control smart machines  Examples: printers, auto braking systems  Also called microcontrollers or microcontroller units (MCU)
  • 32.
    Embedded controllers Software Characteristics No operating systems  Execute a single program, tailored exactly to the controller hardware  Assembly language (vs. High-level language)  Not transportable, machine specific  Programmer need to know CPU architecture  Speed  Program size  Uniqueness
  • 33.
    Microcontroller Unit (MCU) BlockDiagram  An integrated electronic computing and logic device that includes three major components on a single chip  Microprocessor  Memory  I/O ports  Includes support devices  Timers  A/D converter  Serial I/O  Parallel Slave Port  All components connected by common communication lines called the system bus.
  • 34.
    MCU Architecture  RISC(Harvard)  Reduced instruction set computer  Simple operations  Simple addressing modes  Longer compiled program bust faster to execute  Uses pipelining  CISC (Von Neuman)  Complex instruction set computer  More complex instructions (closer to high-level language support)
  • 35.
    Main 8-bit Controllers Microchip  RISC architecture (reduced instruction set computer)  Has sold over 2 billion as of 2002  Cost effective and rich in peripherals  Motorola  CISC architecture  Has hundreds of instructions  Examples: 68HC05, 68HC08, 68HC11  Intel  CISC architecture  Has hundreds of instructions  Examples: 8051, 8052  Many difference manufacturers: Philips, Dallas/MAXIM Semiconductor, etc.  Atmel  RISC architecture (reduced instruction set computer) –  Cost effective and rich in peripherals  AVR
  • 36.
    Numbering system Data format Memoryoperation System Software (hardware/Software) Example of a microprocessor / microcontroller based Let’s continue…..
  • 37.
    Memory  A semiconductorstorage device consisting of registers that store binary bits  Two major categories  Read/Write Memory (R/WM)  Read-only-Memory (ROM)
  • 38.
    Symbolic Representation ofMemory Contents  Addresses Registers CODE: READ PORT A WRITE PORT B STOP What is the address bus value? PORT A = 8000H PORT B = 8001H Fetch / Decode / Execute
  • 39.
    Software: From Machine toHigh-Level Languages (1 of 3)  Machine Language: binary instructions  All programs are converted into the machine language of a processor for execution  Difficult to decipher and write  Prone to cause many errors in writing Machine Language Assembly Language High-level Language
  • 40.
    Software: From Machine toHigh-Level Languages (2 of 3)  Assembly Language: machine instructions represented in mnemonics  Has one-to-one correspondence with machine instructions  Efficient in execution and use of memory; machine- specific and not easy to troubleshoot Machine Language Assembly Language High-level Language
  • 41.
    Software: From Machine toHigh-Level Languages (3 of 3)  High-Level Languages (such as BASIC, C, and C++)  Written in statements of spoken languages (such as English)  machine independent  easy to write and troubleshoot  requires large memory and less efficient in execution Machine Language Assembly Language High-level Language
  • 42.
    Data Format (8-bit)(1 of 4)  Unsigned Integers: All eight bits (Bit0 to Bit7) represent the magnitude of a number  Range 0 to FF in Hex and 0 to 255 in decimal Signed Unsigned
  • 43.
    Data Format (8-bit)(2 of 4)  Signed Integers: Seven bits (Bit0 to Bit6) represent the magnitude of a number.  The eighth bit (Bit7) represents the sign of a number. The number is positive when Bit7 is zero and negative when Bit7 is one.  Positive numbers: 0 to 7F (0 to 127)  Negative numbers: 80 to FF (-1 to -128)  All negative numbers are represented in 2’s complement Signed Unsigned
  • 44.
    Data Format (8-bit)(3 of 4)  Binary Coded Decimal Numbers (BCD)  8 bits of a number divided into groups of four, and each group represents a decimal digit from 0 to 9  Four-bit combinations from A through F in Hex are invalid in BCD numbers  Example: 0010 0101 represents the binary coding of the decimal number 25d which is different in value from 25H.
  • 45.
    Data Format (8-bit)(4 of 4)  American Standard Code for Information Interchange (ASCII)  Seven-bit alphanumeric code with 128 combinations (00 to 7F)  Represents English alphabet, decimal digits from 0 to 9, symbols, and commands
  • 46.
    Storing Bits inMemory  We can store in different memory types  EEPROM, FLASH, RAM, etc.  In an 8-bit RAM  Each byte is stored in a single memory register  Each word is stored in two memory locations (registers)  DATA 0x1234  0x12REG11 (High-order byte)  0001 0010  0x34REG10 (Low-order byte)  0011 0100 What if we want to store -8? Remember -8111 1000 (in two’s complement)
  • 47.
  • 48.
  • 49.
  • 50.
    References  Read aboutmicrocontrollers: http://www.mikroe.com/en/books/picbook/2_01chapter.htm  Lots of good information exist on Wikipedia about microcontrollers http://en.wikipedia.org/wiki/  History of transistors: http://inventors.about.com/library/weekly/aa061698.htm  Nice transistor timeline by Intel: http://www.intel.com/technology/timeline.pdf  I used a few slides from here: http://www.ceng.metu.edu.tr/courses/ceng336/_documents/introduct ion.pdf