1 History of Microprocessor
1 History of Microprocessor
Devices
EEN 208
4 CREDITS
3-0-2
EEN 208
Course Objectives:
At the end of the course, the students should
be able to
■ Explain the architecture of 8086
microprocessor
■Enhance the programming techniques
■Demonstrate various interfacing techniques.
■Design a microprocessor based application
Microprocessor 8086
■ Introduction to Microprocessors and Microcomputers, 8086 Microprocessor
architecture, Pin configuration, Register organisation of 8086, physical
memory organisation, General bus operation, Special processor activities,
Minimum Mode 8086 System and Timings, Maximum Mode 8086 System
and Timings.
■ Instruction Set And Assembler Directives
■ Machine Language Instruction Formats, Addressing Modes of 8086,
Instruction Set of 8086, , Data transfer, Arithmetic, Branch, loop, machine
control, logical, shift and rotate instructions, I/O Assembler Directives and
Operators.
■ Assembly Language Programming With 8086
■ Machine Level Programs, Programming with an Assembler, Assembly
Language Example Programs.
■ Special Architectural Features And Related Programming:
■ Introduction to stack, stack Structure of 8086, Interrupts and Interrupt Service
Routines, Interrupt Cycle of 8086, Non Maskable Interrupt, Maskable
Interrupt, Interrupt Programming, .
Basic Peripherals And Their Intrfacing With 8086
■ Memory interfacing, Programmable Interval Timer (8253/8254),
Programmable Interrupt Controller (8259), Keyboard/Display Controller
(8279),, DMA Controller (8237/8257).
■Interfacing I/O Ports, PIO 8255 (Programmable Input-Output Port),
Operation of 8255, Interfacing Analog to Digital Data Converters,
Interfacing Digital to Analog Data Converters.
■ Mid Semester
■ End Semester
■ Quizes
■ Assignment Tests
■ Project
■ Performance in practicals
■ Practical file
■ Quiz/final practical performance/viva
■ Surprise tests
THE BRIEF HISTORY OF
MICROPROCESSOR
WHAT IS MICROPROCESSOR ?
▪ The Microprocessor
is a Programmable
device.
MICROPROCESSOR MICRONTROLLER
The necessary blocks of a
microprocomputer/controller
Address Bus
General-Purpose Microprocessor System
Microcontrolle
r
■ A smaller computer
■ On-chip RAM, ROM, I/O ports...
■ Example : Motorola’s 6811, Intel’s 8051, Zilog’s Z8 and PIC 16X
CP RAM ROM
U A single chip
Serial
I/O Timer COM
Port Port
Microcontroller
Microprocessor vs. Microcontroller
Microprocessor Microcontroller
■ CPU is stand-alone, • CPU, RAM, ROM, I/O
RAM, ROM, I/O, timer and timer are all on a
are separate single chip
• fix amount of on-chip
■ designer can decide on
ROM, RAM, I/O ports
the amount of ROM,
• for applications in
RAM and I/O ports. which cost, power and
■ expansive space are critical
■ versatility • single-purpose
■ general-purpose
What is a Microprocessor?
■ The word comes from the combination Micro and
processor.
❑Processor means a device that processes whatever.
In this context processor means a device that
processes numbers, specifically binary numbers, 0’s
and 1’s.
■ To process means to manipulate. It is a general
term that describes all manipulation. Again in this
content, it means to perform certain operations on
the numbers that depend on the microprocessor’s
design.
19
Definition of the Microprocessor
20
Definition (Contd.)
Expanding each of the underlined words:
❑ Programmable device: The microprocessor can
perform different sets of operations on the data it
receives depending on the sequence of
instructions supplied in the given program.
By changing the program, the microprocessor
manipulates the data in different ways.
22
Definition (Contd.)
❑ Numbers: The microprocessor has a very narrow view
on life. It only understands binary digits,0 and 1.
A binary digit is called a bit (which comes from binary
digit).
Generally 0 represents one voltage level and 1
represents another.
0 and 1 are synonymous with low and high.
24
Definition (Contd.)
❑ Arithmetic and Logic Operations:
■ Every microprocessor has arithmetic operations such as add
and subtract as part of its instruction set.
❑ Most microprocessors will have operations such as multiply and
divide.
❑ Some of the newer ones will have complex operations such as
square root.
25
Definition (Contd.)
❑ Program: A program is a sequence of instructions
that bring data into the microprocessor, processes
it and sends it out.
26
Definition (Contd.)
❑ Programming Languages
■ Machine language
❑ Machine language is the lowest level programming language. I
is a language intended to be understood by the microprocesso
(the machine) only.
In this language, every instruction is described by binary
patterns.
e.g. 11001101 may mean 1 + 2
27
Definition (Contd.)
❑ Programming Languages
■ Assembly language
❑ This language is more understandable by humans. In this
language, the binary patterns are assigned mnemonics
❑ (short abbreviated names).
28
Definition (Contd.)
❑ Programming Languages
■ High level languages
❑ These are languages like C, PASCAL and FORTRON. These
are more natural for humans to use than assembly or machine
languages. They are also more compact (i.e. it takes less
statements to write the program).
One high level instruction translates into many assembly
or machine language instructions.
e.g. x = y + z may translate into:
MOV 1000, R1
MOV 1004, R2
ADD R1, R2
MOV R1, 1008
29
Definition (Contd.)
❑ Programming Languages
■ The new level being developed: is ultra high level
languages which would contain things like C++, and
JAVA.
❑ Here a single instruction may translate into
hundreds of assembly or machine language
instructions.
30
Definition (Contd.)
Stored in memory :
■ First, what is memory?
❑ Memory is the location where information is kept while not in current use.
❑ It is like pages of a book with spaces for fixed no. of bits in each line.
However these pages are made of semiconductor material.
❑ Memory is a collection of storage devices. Usually, each storage device hold
one bit. Also, in most kinds of memory, these storage devices are grouped
into groups of 8. These 8 storage locations can only be accessed together.
So, one can only read or write in terms of bytes to and from memory.
❑ Memory is usually measured by the number of bytes it can hold. It is
measured in Kilos, Megas and lately Gigas.
❑ A Kilo in computer language is 210 =1024.
❑ So, a KB (KiloByte) is 1024 bytes.
❑ Mega is 1024 Kilos and Giga is 1024 Mega.
31
Definition (Contd.)
❑Stored in memory:
■ When a program is entered into a computer, it is
stored in memory.
■ Then as the microprocessor starts to execute the
instructions, it brings the instructions from memory
one at a time.
32
Definition (Contd.)
33
EVOLUTION OF COMPUTER
IBM 650,
1954
EVOLUTION OF COMPUTER
The Mechanical age: -abacus : 500 B.C.
-calculator(with gears and wheels) : Pascal
❑ First generation (1889-1954) -vacuum tube
4- Bit processor-
MCS-4 Family - 4004 (used in calculator),
4001, 4002,4003,4008,4009
MCS-40 Family- 4040, 4101,4207,4209 etc.
8- Bit processor- 8008,8080,8085 etc
16- Bit processor- 8086,8088,80186,80286 etc.
32- Bit processor- 80386DX, 80386SX, 80376,pentium
Pentium pro, II, etc.
64- Bit processor- Intel Pentium, core i3, core
i5,core i7,etc
Evolution of Intel Microprocessors
Number of Minimum transistor
transistorsPen P III sizes (µm)
808
P4 0
tiu
803 P II
m
808 86
8 802 808
86
808 8
0 803
86 Pen
802 tiu P II P III P 4
86 m
Clock
frequencies
P4
(MHz)
P II
Pen P III
803 tiu
808 86 m
808 8
0 802
86
4 – BIT MICROPROCESSORS
▪ World’s FIRST
Microprocessor is –
INTEL 4004.
▪ It is a 4 bit
microprocessor based on
LSI Technology.
▪ APPLICATION:-
Fig:- INTEL 4004 Video games, Microwave
ovens, Calculators.
▪ DRAWBACKS:-
Slow, Small Memory Size.
8 – BIT MICROPROCESSORS
▪ APPLICATION:-
Calculator, Traffic Signal Control,
Altair 8800 Computer (First PC).
▪ Z-80 microprocessor is
manufactured by Zilog
Corporation on July,1976.
• It is capable of
addressing 64KB of
memory.
• Required Clock
Fig:- Intel 8085 frequency is 3MHz.
8085
Introduced in 1977
8-bit with 40-pin dual in line package
16-bit address
bus
4500 transistors
8086
Introduced in 1978
20-bit address bus : access up to 1MB memory
16-bit Internal processor registers also can process 8
bit.
A separate BIU & EU: fetch & execute simultaneously
40-pin DIP package, 29k
transistors,
8088
Introduced in 1979, almost similar to 8086
20-bit address bus: access up to 1Mb memory
external 8-bit data bus, 16 bit
Internal VDD
(5V)
8-bit 20-bit
data addre
ss
contr 80 contr
∙∙
ol 88 ∙∙∙ ol
signal signal
s s
ToC from
L
8088
K G 8088
N 8088 signal
80286
24-bit address bus : 16M byte
memory
added 16 new
instructions
Identical to 8086 except the addressing
and higher clock speed
134k transistors
PGA(pin grid array)
6-12 MHz
Introduces “VIRTUAL MEMORY CONCEPT”
80386
flexible 32-bit Microprocessor(1986) : data bus,
registers
32-bit address bus(4G byte physical)
64 terabyte virtual
4G maximum segment size
Support 16k
segments
Concept of paging was
introduced
Available in 20MHz to
33MHz
132-PIN grid array
package
Pentium
� Increasing the complexity of the IC:
if every line could be shrunk in half, same circuit could be
built in one-forth the area
� Superscalar : support 2 instruction pipelines(5 stage)
actually execute two different instruction simultaneously
� Pentium(1993) : originally labeled P5(80586)
- 60 - 66MHz(110MIPS)
-8K code cache, 8K data cache
-coprocessor : redesign(8-stage instruction pipeline)
-64 bit AB(higher data transfer rates)
Pentium PRO
� Code named P6 : 1995
-basic clock frequency : 150-166MHz
� Two chips in one : two separate silicon die
� Superscalar processor of degree three-
-12 stage
� Internal cache :
� level one(L1) : 8K instruction and data cache
� level two(L2) : 256K(or 512K)
� 36-bit address bus : 64G byte memory
� has been optimized to efficiently execute 32-bit code
Pentium III
1. used faster core than Pentium
is still P6 or Pentium pro processor
2. Two version :
1. slot 1 version mounted on a plastic cartridge
512K cache : one-half the clock speed
2. socket 370 version called flip-chip : looks like the
older Pentium package → Intel claim cost less
256K cache : clock speed
3. clock frequency : 1 GHz
104 increase in transistor count, clock frequency over 30 years!
Fourth Generation
During 1980s
Low power version of HMOS
technology (HCMOS)
Third Generation 32 bit processors
During 1978 Physical memory space 224 bytes =
HMOS technology ⇒ Faster speed, 16 Mb
Higher packing density Virtual memory space 240 bytes = 1
16 bit processors ⇒ 40/ 48/ 64 pins Tb
Easier to program Floating point hardware
Dynamically relatable programs Supports increased number of
Processor has multiply/ divide addressing modes
arithmetic hardware
More powerful interrupt handling Intel 80386
capabilities Second Generation
Flexible I/O port addressing During 1973
NMOS technology ⇒ Faster speed,
Intel 8086 (16 bit processor) Higher density, Compatible with TTL
4 / 8/ 16 bit processors ⇒ 40 pins
First Generation Ability to address large memory
Between 1971 – 1973 spaces and I/O ports
PMOS technology, non compatible with Greater number of levels of
TTL subroutine nesting
4 bit processors ⇒ 16 pins Better interrupt handling capabilities
8 and 16 bit processors ⇒ 40 pins 57
Due to limitations of pins, signals are Intel 8085 (8 bit processor)
WHERE WE STAND NOW ?
Itanium,
Pentium
Dual Core, Intel 80386,
Core i3, i5, i7 80486,
Pentium P5, Intel 8086,
P6,Pentium 4 8088, 80186,
64-BIT MP Intel 8008,
80286
32-BIT MP 8080,
8085, Z-80
16-BIT MP
Intel 4004
8-BIT MP
4-BIT MP
o
r
ess
roc
Input Output
rop
Mic
Memory
59
Inside The Microprocessor
60
Organization of a microprocessor-based system
ALU Register
Array
System Bus
Control
Memory
ROM RAM
61`1
Organization of the Microprocessor
❑ The microprocessor can be divided into three main pieces:
■ Arithmetic/Logic Unit
❑ Performs all computing and logic operations such as addition and
subtraction as well as AND, OR and XOR.
■ Register Array
❑ A collection of registers within the microprocessor itself. These are
used primarily for data storage during program execution. The number
and the size of these registers differ from one microprocessor to the
other.
■ Control Unit
❑ As the name implies, the control Unit controls what is happening in the
microprocessor. It provides the necessary control and timing signals to
all operations in the microprocessor as well as its contact to the
outside world.
62
Memory
■ Memory stores information such as instructions and data in
binary format (0 and 1). It provides this information to the
microprocessor whenever it is needed.
63
Memory
■ To execute a program:
❑ the user enters its instructions in binary format into the memory.
❑ The microprocessor then reads these instructions and whatever
data is needed from memory,
executes the instructions and
places the results either in memory or
produces it on an output device.
64
I/O Input/Output
■ Input and output devices are the system’s
means of communicating with the outside
world. These devices are collectively known
as peripherals.
❑ Input devices transfer binary information from the
outside world to the microprocessor.
■ Examples of input devices are: keyboard,A/D
convertors, mouse, bar code reader, scanner and the
like.
❑ Output devices transfer binary information from
the microprocessor to the outside world.
■ Theses include things like an LED,CRT or video screen,
a monitor,X-Y plotter,D/A converter, a printer and the
65 like.
System Bus
68
Machine Language
■ The number of bits that form the “word” of a microprocessor is
fixed for that particular processor.
❑ These bits define a maximum number of combinations.
■ For example an 8-bit microprocessor can have at most 28 = 256
different combinations.
70
Assembly Language
71
Assembly Language
■ It is important to remember that a machine language and
its associated assembly language are completely
machine dependent.
❑ In other words, they are not transferable from one
microprocessor to a different one.
■ For example, Motorolla has an 8-bit microprocessor
called the 6800.
❑ The 8085 machine language is very different from that
of the 6800. So is the assembly language.
❑ A program written for the 8085 cannot be executed on
the 6800 and vice versa.
72
“Assembling” The Program
74
Compiler vs. Interpreter
■ What is the difference between Compiler and Interpreter?
❑ A compiler translates the entire program at once and
produces the object code.
❑ An interpreter “ compiles “ the source code one line at-
a-time. The object code for each line is produced,
executed, and forgotten.
❑ Each time the program is to be executed, it has to be re-
interpreted.
■ Interpreters are very inefficient. Compilers produce
object code that is quite a bit smaller and faster to
execute.
■ Compilers are still inefficient when complete control is needed
and when memory is very critical.
75
The Hardware/Software Interaction
■ The hardware of a computer system is the collection of chips
that make up its different pieces, including the
microprocessor.
❑ The hardware consists of five main systems:
- The microprocessor
- Memory (RAM & ROM)
- Storage (Disk, CD)
- Input Devices (keyboard, mouse)
- Output Devices (monitor, printer).
Input Microprocessor Output
Memory Storage
76
The Hardware/Software interaction
78
The Operating System
■ The interaction of the user with the computer is through
the operating system.
❑ When the user invokes a program, the operating system
starts the process and makes the program start executing.
The program is executed on top of the operating system.
Applicatio
n
Operatin
Application Programs g
79
Operating Systems
■ Examples of operating systems are:
❑ MS-DOS
❑ MS Windows
❑ Macintosh OS
❑ OS/2
❑ UNIX
■ Most operating systems are hardware specific:
❑ For example, windows only runs on microprocessors
made by Intel or those that behave the same way
(i.e. “compatible”).
■ Other operating systems (like UNIX) are
designed to work on any platform (hardware).
80