You are on page 1of 36

8086/8088 Microprocessor

Introduction to the processor and its pin configuration

Topics
Basic Features Pinout Diagram Minimum and Maximum modes Description of the pins

Basic Features
8086 announced in 1978; 8086 is a 16 bit microprocessor with a 16 bit data bus 8088 announced in 1979; 8088 is a 16 bit microprocessor with an 8 bit data bus Both manufactured using High-performance Metal Oxide Semiconductor (HMOS) technology Both contain about 29000 transistors Both are packaged in 40 pin dual-in-line package (DIP)

8086/8088 Pinout Diagrams

GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

8086

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M/IO DT/R DEN ALE INTA TEST READY RESET

GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

8088

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

VCC A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0 MN/MX RD HOLD HLDA WR IO/M DT/R DEN ALE INTA TEST READY RESET

BHE has no meaning on the 8088 and has been eliminated

Multiplex of Data and Address Lines in 8088


Address lines A0-A7 and Data lines D0-D7 are multiplexed in 8088. These lines are labelled as AD0-AD7.
By multiplexed we mean that the same pysical pin carries an address bit at one time and the data bit another time
GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0 MN/MX RD HOLD HLDA WR IO/M DT/R DEN ALE INTA TEST READY RESET

8088

Multiplex of Data and Address Lines in 8086


Address lines A0-A15 and Data lines D0-D15 are multiplexed in 8086. These lines are labelled as AD0-AD15.

GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

8086

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M/IO DT/R DEN ALE INTA TEST READY RESET

Minimum-mode and Maximum-mode Systems


8088 and 8086 microprocessors can be configured to work in either of the two modes: the minimum mode and the maximum mode Minimum mode:
Pull MN/MX to logic 1 Typically smaller systems and contains a single microprocessor Cheaper since all control signals for memory and I/O are generated by the microprocessor.
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M/IO DT/R DEN ALE INTA TEST READY RESET

8086

Maximum mode
Pull MN/MX logic 0 Larger systems with more than one processor (designed to be used when a coprocessor (8087) exists in the system)

Lost Signals in Max Mode

Minimum-mode and Maximum-mode Signals


GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M/IO DT/R DEN ALE INTA TEST READY RESET GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD RQ/GT0 RQ/GT1 LOCK S2 S1 S0 QS0 QS1 TEST READY RESET

8086

Vcc

8086

GND

Min Mode

Max Mode

8086 System Minimum mode


P C L K

5 V R E S
C lo c k g e n e r a t o
A A E E F C/ N N 2 1

C R R

L K E A E S

D E

Y T

M I O / I N T A R D W R M NM /X + 5 V

C B

o n t r o l u s

W G

a it - S t a t e e n e r a t o r

L E

S O

T E

A A

1 9

8086 C PU

A A

D 0 - A D 1 5 1 6 - A 1 9 B H E

8 2 8 2 L a t c h

d d r e s s

D 8 2 8 6 D D TR / E N T O E

0 1 6

1 5

8086 System Maximum Mode


+ 5 R V
C L E E K A S D E Y T D D E R T L / E N M g t o r

8288 B u s C o n tr o lle r

lo c k e n e r a

R R

M N S S S

/X 0 1 2

n d S S S 0 1 2

M M A I O I O A I N M

R W

D T W R W C C W

C C C

I O T A

W G

a it - S t a t e e n e r a t o r

8086 C PU

S O

T E

A A

0 d B

1 9 B u s

A A

D 0 - A D 1 5 1 6 - A 1 9

8 2 8 2 L a t c h

d r e s s H E

T O
T

D
r

T A

8 2 8 6 r a n s c e i v e

Description of the Pins

GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

8086

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M/IO DT/R DEN ALE INTA TEST READY RESET

Vcc

GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

8086

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD RQ/GT0 RQ/GT1 LOCK S2 S1 S0 QS0 QS1 TEST READY RESET

GND

Min Mode

Max Mode

RESET Operation results


CPU component Contents Flags Instruction Pointer CS DS, SS and ES Queue Cleared 0000H FFFFH 0000H Empty

AD0 - AD15: Address Data Bus

Data AD0 AD15 Address

A17/S4, A16/S3 Address/Status


A17/S4 A16/S3

Function
Extra segment access Stack segment access Code segment access Data segment access

0 0 1 1

0 1 0 1

A19/S6, A18/S5 Address/Status


A18/S5: The status of the
interrupt enable flag bit is updated at the beginning of each cycle. The status of the flag is indicated through this pin

A19/S6: When Low, it indicates that 8086 is in


control of the bus. During a "Hold acknowledge" clock period, the 8086 tri-states the S6 pin and thus allows another bus master to take control of the status bus.

S0, S1 and S2 Signals


S2 0 0 0 0 1 1 1 1 S1 0 0 1 1 0 0 1 1 S0 0 1 0 1 0 1 0 1 Characteristics Interrupt acknowledge Read I/O port Write I/O port Halt Code access Read memory Write memory Passive State

QS1 and QS2 Signals

QS1 0 0 1 1

QS1 0 1 0 1

Characteristics No operation First byte of opcode from queue Empty the queue Subsequent byte from queue

Read Write Control Signals


IO/M DT/R 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 SSO 0 1 0 1 0 1 0 1 CHARACTERISTICS Code Access Read Memory Write Memory Passive Interrupt Acknowledge Read I/O port Write I/O port Halt

8086 Memory Addressing


Data can be accessed from the memory in four different ways: 8 - bit data from Lower (Even) address Bank. 8 - bit data from Higher (Odd) address Bank. 16 - bit data starting from Even Address. 16 - bit data starting from Odd Address.

Treating Even and Odd Addresses

H A d

ig d

r e B a n k ( 5 1 2 KB O D D A A 1 d D - A 1 9 d r e s s a t a B D 8 u s s ( D - D

r s s Hx E8 )

o w A d d B a n ( 5 1 2 E V E D 0

r )

r e s s k K A 0x 8 N - D 7

B u

8-bit data from Even address Bank


O d d B a n k E v e n B a n k

x x x

+ + +

1 3 5 x

x + + 2 4 x

1 - A

1 9

8 - D

B H 1 5

E =

1 D 0 - D 7

0 - D

1 5

MOV SI,4000H MOV AL,[SI+2]

8-bit Data from Odd Address Bank


O d d B a n k E v e n B a n k

x x

+ +

1 3

x x

B A 1 - A 1 9 D D 0 - D 1 5 8 - D 1 5

=E 0 D 0 - D 7

MOV SI,4000H MOV AL,[SI+3]

16-bit Data Access starting from Even Address


O d d B a n k E v e n B a n k

x x

+ +

1 3

x x

- A

- D

H =E 0 1 5 D 0 - D

A 7

- D

1 5

MOV SI,4000H MOV AX,[SI+2]

16-bit Data Access starting from Odd Address


O d d B a nE k v e 0 0 0 0 0 0 4 6 8 n B a n k 0 0 0 O d d B a nE k v e 0 0 0 0 0 0 4 6 8 n B a

0 0 0

0 0 5 0 0 7 0 0 9

0 0 0

0 0 0 0 0 0

5 7 9

0 0 0

- A

9 A D 8 - D 1 1 - A 5 D 9 0 - D 7

- A

9 A D 8 - D 1 1 - A 5 D 9 0 - D 7

( a

ir s t

c c e

s s

f r o

m ( b O ) d N d e Ax t d Ad

rc e c s e s s s

MOV SI,4000H MOV AX,[SI+5]

Read Timing Diagram


T C L K 1 T 2 T 3 T w a it T 4 A B D H 0 - A E D 1 5

L E

2-

M I /O R R D D W D E A D Y

TR / E R N

Write Machine Cycle

INTR (input)
Hardware Interrupt Request Pin
INTR is used to request a hardware interrupt. It is recognized by the processor only when IF = 1, otherwise it is ignored (STI instruction sets this flag bit). The request on this line can be disabled (or masked) by making IF = 0 (use instruction CLI) If INTR becomes high and IF = 1, the 8086 enters an interrupt acknowledge cycle (INTA becomes active) after the current instruction has completed execution.

For Discussion
If I/O peripheral wants to interrupt the processor, the interrupt controller will send high pulse to the 8086 INTR pin. What about if a simple system to be built and hardware interrupts are not needed; What to do with INTR and INTA?

NMI (input) Non-Maskable Interrupt line


The Non Maskable Interrupt input is similar to INTR except that the NMI interrupt does not check to see if the IF flag bit is at logic 1. This interrupt cannot be masked (or disabled) and no acknowledgment is required. It should be reserved for catastrophic events such as power failure or memory errors.

8086 External Interrupt Connections


NMI - Non-Maskable Interrupt INTR - Interrupt Request

NMI Requesting Device

Programmable Interrupt Controller (part of chipset)

NMI

8086 CPU
INTR

Intel 8259A PIC

Interrupt Logic

int

into

Divide Error

Single Step

Software

Traps

TEST (input)
The TEST pin is an input that is tested by the WAIT instruction. If TEST is at logic 0, the WAIT instruction functions as a NOP. If TEST is at logic 1, then the WAIT instruction causes the 8086 to idle, until TEST input becomes a logic 0. This pin is normally driven by the 8087 coprocessor (numeric coprocessor) . This prevents the CPU from accessing a memory result before the NDP has finished its calculation

Ready (input)
This input is used to insert wait states into processor Bus Cycle. If the READY pin is placed at a logic 0 level, the microprocessor enters into wait states and remains idle. If the READY pin is placed at a logic 1 level, it has no effect on the operation of the processor. It is sampled at the end of the T2 clock pulse Usually driven by a slow memory device

8284 Connected to 8086 Mp


X1 X2 AEN1 AEN2 CLK F/C Ready

8284

Reset

RDY1 RDY2 +5V RESET KEY R C

RES

or ci M6808

HOLD (input)
The HOLD input is used by DMA controller to request a Direct Memory Access (DMA) operation. If the HOLD signal is at logic 1, the microprocessor places its address, data and control bus at the high impedance state. If the HOLD pin is at logic 0, the microprocessor works normally.

HLDA (output) Hold Acknowledge Output


Hold acknowledge is made high to indicate to the DMA controller that the processor has entered hold state and it can take control over the system bus for DMA operation.

DMA Operation

You might also like