Introduction
to
Microprocessors
Department of Computer Science and Engineering
Course Instructor: Abdullah AL Mostakim
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
Data
Computer
Processing
Data Storage
5 CSE – 341 : Microprocessors
Major Components of Computer
MEMORY
I/O
SYSTEM
BUS
Computer
CPU
6 CSE – 341 : Microprocessors
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 CSE – 341 : Microprocessors
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
pass the necessary control signals to
operations within the CPU
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 CSE – 341 : Microprocessors
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 Computer)
❖ CISC (Complex Instruction Set Computer)
❖ Special-purpose designs: Microcontrollers, Digital
Signal Processors (DSP) and Graphics Processing Units
(GPU).
9 CSE – 341 : Microprocessors
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
10 CSE – 341 : Microprocessors
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 - Texas Instrument TMS 1000, 1st
1972
single
1974 -μC, 4-bit
Intel 8080, successor to the 8008, used
in Altair
1975 8800
- Motorola 6800, used MOS
technology
1976 - Intel 8085, updated 8080, +5V
power-supply
1976 Zilog Z80,
improved 80809900, 1st 16-
1976 - TI TMS
bit μP - Zilog Z8000, Motorola 68000,
1978
16-bit -μP
1978 Intel 8086, 16-bit, IBM’s
choice...
11 CSE – 341 : Microprocessors
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
12 CSE – 341 : Microprocessors
List of Microcontrollers
1972 - Texas Instrument TMS 1000, 1st single
μC, 4-bit
1976 - Intel 8048, 8-bit μC, 1k ROM, 64b RAM,
27
1980I/O - Intel 8051, 4k ROM, 128b RAM, 32 I/O, 2
16-bits timers
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
13 CSE – 341 : Microprocessors
Microprocessor System Vs Microcontroller System
Microprocessor Microcontroller
Used where intensive processing is Used where task is fixed and
required predefined
Only CPU is in the chip. Memory, I/O CPU, Memory, I/O port – all are
port are connected externally connected on the same single chip
Higher Clock speed and external RAM Lower Clock speed and RAM used is
used is also higher also lower
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 include personal Applications include washing
computers
14 CSE – 341 :machines, camera etc.
Microprocessors
Food for thought
🞂 We know that your computer uses a
microprocessor. But what about your
keyboard?
🞂 Difference Between MCU and MPU
[Link]
between-microprocessor-and-microcontroller
15 CSE – 341 : Microprocessors
Microprocessor System Vs Microcontroller System
Data Bus
CPU CPU RAM ROM
General Seria
purpose RAM ROM I/ Timer l
Micro O Seria
COM I/
processor Port Timer
Port O l
Port COM
Address Bus Port
Microprocessor System Microcontroller
16 CSE – 341 : Microprocessors
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.
17 CSE – 341 : Microprocessors
Machine Language Assembly Language
Machine Language is the lowest level Assembly Language is a low level programming
programming language where the instructions language which requires an assembler to convert
execute directly by the CPU. to machine code.
Machine language is comprehensible only to Assembly language is comprehensible to
computers. humans.
A machine language consists of binary digits. Assembly language follows a syntax similar to the
English Language.
Machine language varies depending on the Assembly language consists of a standard set of
platform. instructions.
Machine language is machine code. Assembly language is using for microprocessor
based, real-time systems.
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 CSE – 341 : Microprocessors
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 CSE – 341 : Microprocessors
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 CSE – 341 : Microprocessors