1Module Microprocessor 8086 Architecture
1Module Microprocessor 8086 Architecture
Microprocessor
CSC405
Module - 1
The Intel Microprocessors 8086 Architecture
By Prof. Sunil Katkar
Department of Computer Engineering, VCET
Module -1
The Intel Microprocessors 8086 Architecture
Objective
To equip students with the fundamental knowledge and basic technical
competence in the field of Microprocessors.
Outcome
At the end of the course student will be able to:
Identify the components and their functions in Intel 8086 microprocessors.
Module -1
The Intel Microprocessors 8086 Architecture
1.1 8086 CPU Architecture,
1.2 Programmer’s Model
1.3 Functional Pin Diagram
1.4 Memory Segmentation
1.5 Banking in 8086
1.6 De multiplexing of Address/Data bus
1.7 Functioning of 8086 in Minimum mode and Maximum mode
1.8 Timing diagrams for Read and Write operations in minimum and
maximum mode
1.9 Interrupt structure and its servicing
8086 Intel Architecture
AX 16-bit Accumulator Stores the 16-bit results of arithmetic and logic operations
AL 8-bit Accumulator Stores the 8-bit results of arithmetic and logic operations
BX Base register Used to hold base value in base addressing mode to access memory
data
CX Count Register Used to hold the count value in SHIFT, ROTATE and LOOP
instructions
DX Data Register Used to hold data for multiplication and division operations
SP Stack Pointer Used to hold the offset address of top stack memory
BP Base Pointer Used to hold the base value in base addressing using SS register to
access data from stack memory
SI Source Index Used to hold index value of source operand (data) for string
instructions
6
DI Data Index Used to hold the index value of destination operand (data) for string
operations
Execution Unit (EU)
8086 INTEL Auxiliary Carry Flag
Carry Flag
ARCHITECT
Flag Register
This is set, if there is a carry from the
lowest nibble, i.e, bit three during
This flag is set, when there is
addition, or borrow for the lowest
URE nibble, i.e,
subtraction.
bit three, during
a carry out of MSB in case of
addition or a borrow in case
of subtraction.
Sign Flag Zero Flag Parity Flag
This flag is set, when the This flag is set, if the result of This flag is set to 1, if the lower
result of any computation the computation or comparison byte of the result contains even
is negative performed by an instruction is number of 1’s ; for odd number
zero of 1’s set to zero.
OF DF IF TF SF ZF AF PF CF
• Segment Register
Code Segment Register
Data Segment Register
Stack Segment Register
Extra Segment Register
• Instruction Pointer
8086 Intel Architecture Bus Interface Unit
Instruction Queue
Segmentation
10
8086 Intel Architecture Bus Interface Unit
Significance of CS and IP
348A:4214
Default Segment Register
13
INTEL 8086 - Pin Diagram
14
INTEL 8086 - Pin Details
Power Supply
5V 10%
Ground
Reset
Registers, seg
regs, flags
CS: FFFFH, IP:
0000H
If high for
minimum 4
Clock clks
15
Duty cycle: 33%
INTEL 8086 - Pin Details
Address/Data Bus:
Contains address Address Latch Enable:
bits A15-A0 when ALE
is 1 & data bits D15 – When high,
D0 when ALE is 0. multiplexed
address/data bus
contains address
information.
16
INTEL 8086 - Pin Details
INTERRUPT
Non - maskable
interrupt
Interrupt
acknowledge
Interrupt request 17
INTEL 8086 - Pin Details
Direct
Memory
Access
Hold
Hold
acknowledge
18
INTEL 8086 - Pin Details
Address/Status Bus
Address bits A19 –
A16 & Status bits S6
– S3
19
INTEL 8086 - Pin Details
20
INTEL 8086 - Pin Details
Min/Max mode
Minimum Mode: +5V
Maximum Mode: 0V
Maximum Mode
Pins
21
Minimum Mode- Pin Details
Read Signal
Write Signal
Memory or I/0
Data
Transmit/Receive
22
S2 S1 S0
000: INTA
001: read I/O port
010: write I/O port
011: halt
100: code access
101: read memory
Status Signal
110: write memory Inputs to 8288 to
111: none -passive generate eliminated
signals due to max
mode.
23
Maximum Mode - Pin Details
Lock Output
Used to lock peripherals off the
system DMA
Activated by using the LOCK: prefix Request/Grant
on any instruction
Lock Output
24
Maximum Mode - Pin Details
QS1 QS0
00: Queue is idle
01: First byte of opcode
10: Queue is empty
11: Subsequent byte of opcode
Queue Status
Used by numeric
coprocessor (8087) 25
Latch 8282 Trans receiver 8286
Clock Generator 8284
External Circuit to Reset 8086 (Power on RESET Circuit)
8086 Microprocessor
Pins and Signals Min/ Max Pins
30
8086 Microprocessor
Pins and Signals Minimum mode signals
Pins 24 -31
Pins 24 -31
32
‘Read’ Cycle timing Diagram for Minimum Mode
‘Write’ Cycle timing Diagram for Minimum Mode
8086 Microprocessor
Pins and Signals Maximum mode signals
36
8086 Microprocessor
Pins and Signals Maximum mode signals
37
8086 Microprocessor
Pins and Signals Maximum mode signals
38
Maximum Mode 8086 System
39
8288 Bus Controller
40
Maximum Mode 8086 System
• Here, either a numeric coprocessor of the type 8087 or another
processor is interfaced with 8086.
• The three status outputs S0*, S1*, S2* from the processor are
input to 8288.
• The outputs of the bus controller are the Control Signals, namely
DEN, DT/R*, IORC*, IOWTC*, MWTC*, MRDC*, ALE etc.
41
Memory Write timing in
Maximum Mode
42
Memory Read timing in
Maximum Mode
43
Interrupts of 8086
Interrupt Service Routines
8086 Programmer’s Model
ES Extra Segment
CS Code Segment
BIU registers
(20-bit address) SS Stack Segment
DS Data Segment
IP Instruction Pointer
EU registers AX AH AL Accumulator
BX BH BL Base Register
CX CH CL Count Register
DX DH DL Data Register
SP Stack Pointer
BP Base Pointer
SI Source Index Register
DI Destination Index Register
FLAGS
48