Introduction
to
Microprocessors
Department of Computer Science and Engineering
Course ID : CSE 3203
Course Title : MICROPROCESSORS
Topics to be Covered
Microprocessors and Microcontrollers
Applications of microprocessors and microcontrollers
Intel 8086 Microprocessor: Internal architecture, Register structure, Addressing
modes, Instruction set etc.
An overview of Intel 80186, 80286, 80386, 80486 and Pentium microprocessors
RISC and CISC processors.
Coprocessors.
Assembly language programming
2
Recommended Texts
Microprocessors and Interfacing: Programming and Hardware, by Douglas V. Hall
Assembly Language Programming and Organization of the IBM PC, by Ytha Y. Yu,
Charles Marut
Microprocessor, architecture, programming & application with the 8085, by Ramesh
Gaonkar
The Intel Microprocessor, by Barry B. Bray
Microprocessor and Microcomputer – Based System Design, by Mohamed
Rafiquzzaman
3
Some tips before we begin
Number Systems and their Conversion
Basics of “Digital Logic Design”
Basics of “Computer Architecture”
Basic Programming
4
Concept of Computer
Computer Data Processing
Data Storage
5
Major Components of Computer
MEMORY
I/O
SYSTEM
BUS
Computer
CPU
6
Central Processing Unit
A central processing unit (CPU) is a
description of a class of logic machines that
can execute computer programs.
The form, design and implementation of CPUs
have changed dramatically since the earliest
examples, but their fundamental operation
has remained much the same.
7
Central Processing Unit
To synchronize and control the
overall operation of the CPU
Control Unit &
Instruction Decoder
To decode instruction and To perform the arithmetic and logical
operations within the CPU
pass the necessary control signals to CU
Arithmetic/Logic Unit A set of internal storage
locations within the CPU
To perform shift and rotate
operations that may either be Registers
arithmetic or logical in nature
• Control and Status Registers
• User-Variable Registers
8
So .. What is Microprocessor?
A microprocessor (abbreviated as µP) is a Silicon Chip
that contains an electronic central processing unit (CPU).
In the world the word µP or CPU is now used
interchangeably. It is made from miniaturized transistors
and other circuit elements on a single semiconductor
integrated circuit (IC).
The integration of the whole CPU onto a single VLSI Chip
therefore greatly reduced the cost of processing capacity.
Architectures of Microprocessors:
RISC (Reduced Instruction Set
8-bit designs
Computer)
16-bit designs
CISC (Complex Instruction Set
32-bit designs
Computer)
64-bit designs
Special-purpose designs:
Multi-core designs
Microcontrollers, Digital Signal
Processors (DSP) and Graphics
9 Processing Units (GPU).
10
Concept about Microprocessor
A microprocessor incorporates most or all of
the functions of a central processing unit
(CPU) on a single integrated circuit (IC).
Die of an Intel 80486DX2
microprocessor (actual size:
12×6.75 mm) in its packaging
CPU
11
List of Microprocessors
1971 - Intel 4004, 1st single chip CPU, 4-bit processor,
46 instructions
1972 - Intel 4040, enhanced 4004, 60 instructions
1972 - Intel 8008, 8-bit P
1972 - Texas Instrument TMS 1000, 1st single C, 4-bit
1974 - Intel 8080, successor to the 8008, used in Altair 8800
1975 - Motorola 6800, used MOS technology
1976 - Intel 8085, updated 8080, +5V power supply
1976 - Zilog Z80, improved 8080
1976 - TI TMS 9900, 1st 16-bit P
1978 - Zilog Z8000, Motorola 68000, 16-bit P
1978 - Intel 8086, 16-bit, IBM’s choice...
12
Microcontroller (C)
Microcontroller is an
IC dedicated to perform
simpler tasks.
A microcontroller is the MEMORY
integration of I/O SYSTEM
BUS
Processor
Memory (RAM, ROM)
I/O ports CPU
13
List of Microcontrollers
1972 - Texas Instrument TMS 1000, 1st single
C, 4-bit
1976 - Intel 8048, 8-bit C, 1k ROM, 64b RAM,
198027 I/O 8051, 4k ROM, 128b RAM, 32 I/O, 2 16-bits time
- Intel
1980s -
(MCS-51 family)
- Intel 8031, 8052, 8751, …
- Atmel AT89C51, AT 89C1052/2051,…
- Dallas Semiconductor DS5000 series…
-Philips, National Semiconductor, …
- Freescale S32K MCU, Renesas RL 78G1F
14
Microprocessor System Vs Microcontroller System
Microprocessor Microcontroller
Used where intensive processing Used where task is fixed and
is required predefined
Only CPU is in the chip. Memory, CPU, Memory, I/O port – all are
I/O port are connected externally connected on the same single
chip
Clock speed and RAM is higher Clock speed and RAM is less
The program for the The program for the
microprocessor can be changed microcontroller is fixed once it is
for different applications. designed
Cost is comparatively higher Cost is comparatively lower
Power consumption is higher Power consumption is lower
Overall size of the system is large Overall size of the system is
smaller
Applications
15 include personal Applications include washing
computers machines, camera etc.
Food for thought
We know that your computer uses a
microprocessor. But what about your
keyboard?
16
Microprocessor System Vs Microcontroller System
Data Bus
CPU CPU RAM ROM
General Serial
purpose RAM ROM I/O Timer COM
Micro Port Serial
Port I/O
processor Timer
Port COM
Port
Address Bus
Microprocessor System Microcontroller
17
Assembly Language
Assembly language:
Assembly language is used in programming because it is difficult
to program a microprocessor in its native machine language.
Assembler:
An assembler is a program that converts assembly language into
machine language.
Assemblers are similar to compilers in that they produce
executable code. However, assemblers are more simplistic.
18
High level language vs Machine language
int a, b, c;
a = 83;
b = -2; // high level language
c = a + b;
--------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
0010 0001 0000 0100
0001 0001 0000 0101
0011 0001 0000 0110 //machine language
0111 0000 0000 0001
0000 0000 0101 0011
1111 1111 1111 1110
19
Example of Assembly Language
Add 2 with 3
mov cl, 3 : copy the value 3 in the internal register cl // so currently cl is
holding the value 3
add cl, 2 : add the value 2 with the current value of cl // after adding 2, cl is now
and store sum in cl holding the value 5
Subtract 2 from 3
mov cl, 3 : copy the value 3 in the internal register cl //so currently cl is
holding the value 3
sub cl, 2 : sub the value 2 from the current value of cl //after subtracting 2, cl is now
holding the value 1
mov, add, sub --- opcodes or instructions
cl, 3, 2 ---- operands
20
Food for thought
Using cl register show assembly code for the
following expression :
5 + 6 – 10
mov cl, 5
add cl, 6
sub cl, 10
21