3. Introduction
The microprocessor also known as the central processing
unit, is the brain of all computers and many household and
electronic devices. Multiple microprocessors, working
together, are the "hearts" of datacenters, super-computers,
communications products, and other digital devices.
4. History
Fairchild Semiconductors (founded in 1957) invented the first IC
in 1959.
In 1968, Robert Noyce, Gordan Moore, Andrew Grove
resigned from Fairchild Semiconductors.
They founded their own company Intel (Integrated Electronics).
The first microprocessor invented was of 4-bit, after that 8-
bit,16-bit,.32-bit & 64-bit are founded
10. Input/Output (I/O)
Input Devices
Switches and Keypads
Provide binary information to the MPU
Output devices
LEDs and LCDs
Receive binary information from the MPU
330_01
10
11. Microprocessor Architecture
The MPU communicates with Memory and I/O using the
System Bus
Address bus
Unidirectional
Memory and I/O Addresses
Data bus
Bidirectional
Transfers Binary Data and Instructions
Control lines
Read and Write timing signals
330_01
11
12. Microprocessor – Basic concept
CPU
contains
CCU
ALU
data registers
and
pointer registers
ADDRESS BUS
32-bit / 64-bit wide
CONTROL BUS
Timing signals, ready signals,
interrupts etc
DATA BUS – bidirectional
8-bit / 16-bit / 32-bit / 128-bit
Microprocessor, by-itself, completely useless – must have external peripherals to
Interact with outside world
14. Micro controller
A self-contained system in which a processor, support, memory,
and input/output (I/O) are all contained in a single package.
A small computer system on a single IC
14
15. History of Microcontroller
First used in 1975(Intel 8048)
The introduction of EEPROM in 1993, allowed
microcontrollers to be electrically erased
The same year, Atmel introduced the first microcontroller using
Flash memory.
18. Basic Features of Microcontroller
Processor reset
Device clocking
Central processor
Program and Variable Memory (RAM)
I/O pins
Instruction cycle timers
19. More Sophisticated Features
Built-in monitor/debugger program
Interrupt capability
Analog I/O (PWM and variable dc I/O
Serial I/O (synchronous, a synchronous)
Parallel I/O (including direct interface to a master processor
External memory interface
21. Basic microcontroller architecture (2/3)
Memory
RAM
ROM
Store data and code
CPU
Mathematical and logical operation
Memory units are called Register
22. Basic microcontroller architecture (3/3)
• BUS
– Group of 8,16 or more wires
– Three type, address bus, data bus and control bus
• Input-output unit
– port A, port B, port C … …
– Input, output and bidirectional ports
• Serial communication
• Timer unit
• Watchdog
– Automatic reset to prevent stall
• Analog to Digital Converter (ADC)
23. Processor Architecture
CISC
Large amount of instructions each carrying out a different
permutation of the same operation
Functionality of the instructions is more dependent upon
the processor’s designer.
RISC
Fundamental set of instructions
More control for users to design their own operations
25. Processor Architecture
Princeton (Van Neumann) architecture
Common memory for program and data
Simple chip design
Execution of an instruction can take multiple
cycles
31. Memory
The memory in a computer system stores the data and
instructions of the programs.
Adress
decoder Storage
Area
Adress
bus
Data
bus
Other signals
(Vcc,Gnd, CS,
etc.)
33. I/O Space
- Memory Mapped I/O Versus Programmed I/O
Programmed I/O
Special instructions such as IN and OUT are used to transfer
data between a CPU register and an external device.
Memory Mapped I/O
Standard instructions are used to transfer data between a CPU
register and an external device.
I/O ports appear as memory addresses.
35. Instruction support for interrupts
Processors provide two instructions, enable priority
interrupt (EPI) and for disable priority interrupt (DPI).
These are atomic instructions that are used for many
purposes, such as buffering, within interrupt handlers, and
for parameter passing.
36. Internal CPU handling of interrupts
38
Step 1: finish the currently executing macroinstruction. Step 2: save the contents of the
program counter to the interrupt return location. Step 3: load the address held in the
interrupt handler location into the program counter. Resume the fetch and execute
sequence.
Single interrupt support
37. Internal CPU handling of interrupts
Step 1: complete the currently executing instruction. Step 2: save the contents of PC to
interrupt return location i. Step 3: load the address held in interrupt handler location i into the
PC. Resume the fetch-execute cycle.
Multiple interrupt support
38. Interruptible instructions
In rare instances individuation macroinstruction may need to be
interruptible.
This might be the case where the instruction takes a great deal of
time to complete. E.g. a memory to memory instruction that
moves large amounts of data.
In most cases, such an instruction should be interruptible between
blocks to reduce interrupt latency. However, interrupting this
particular instruction could cause data integrity problems.
39. Advantages of Microcontroller over
Microprocessor
Pin count down
Design time down, Board layout size down
Upgrade path easier – matching between peripherals for speed
Cost down – bulk purchases
Reliability up
Common software / hardware design environment available
from manufacturer
40. Issues when using microcontroller
Two types of memory – speed issues when using
On-chip – fast, easy to access, “almost like a register”, limited amount of on-chip
memory available
Off-chip – slower
Use on-chip memory in a “cache” mode (copy off-chip data to on-chip when
processing data, then copy back)
External components still there
E.g. Video CODECs – need to use DMA – Direct Memory Access – so that the
controller can get on with the “processing” and let something else worry about
moving data in and out of the chip
Real time environment
Event driven – can’t WAIT for a device to become ready, can’t POLL to see if
device is ready, interrupt handling is key
All these resources are “power hungry” and compete for resources (data busses
etc) – special features
41. Difference between
microprocessor & microcontroller
Microprocessor Microcontroller
Contains ALU, general purpose register, stack
pointer, programme counter, clock timing &
interrupt circuit
Contains the circuitary of microprocessor & in
addition it has built in ROM, I/O devices,
timer & counter
It has too many instructions to move the data
between CPU & memory
It has one or two instruction to move the data
between CPU & memory
It has one or two bit handling instruction It has many bit handling instruction
Access time for memory & I/O devices is more Less access time for built in memory & I/O
devices
Microprocessor based system requires more
hardware
Microcontroller based system requires less
hardware, reducing PCB size & increasing the
reliability
More flexible in design point of view Less flexible in design point of view
It has single memory map for data & code It has separate memory map for data & code
Less number of pins are malfunctioned More number of pins are malfunctioned