8086 architecture

36
8086/8088 Microprocessor Introduction to the processor and its pin configuration

Transcript of 8086 architecture

Page 1: 8086 architecture

8086/8088 Microprocessor

Introduction to the processor and its pin configuration

Page 2: 8086 architecture

Topics

• Basic Features

• Pinout Diagram

• Minimum and Maximum modes

• Description of the pins

Page 3: 8086 architecture

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)

Page 4: 8086 architecture

8086/8088 Pinout Diagrams

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

GNDA14A13A12A11A10 A9 A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCA15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

SS0MN/MXRD

WRIO/MDT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328088

BHE has no meaning on the 8088 and has been eliminated

Page 5: 8086 architecture

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

GNDA14A13A12A11A10 A9 A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCA15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

SS0MN/MXRD

WRIO/MDT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328088

Page 6: 8086 architecture

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.

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Page 7: 8086 architecture

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.

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)

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Lost Signals in Max Mode

Page 8: 8086 architecture

Minimum-mode and Maximum-mode Signals

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

RQ/GT0RQ/GT1

QS0

READYRESET

BHE/S7MN/MXRD

LOCKS2S1S0

QS1TEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Max Mode

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Min Mode

Vcc GND

Page 9: 8086 architecture

808

6 C

PU

F / CA E N 1A E N 2

C l o c kg e n e r a t o r

+ 5 V

R E S

W a i t - S t a t eG e n e r a t o r

C L KR E A D YR E S E T

M / I OI N T A

R DW R

P C L K

M N / M X + 5 V

S T B

O E

8 2 8 2L a t c h

A L E

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

B H E B H E

D 0 - D 1 5

8 2 8 6

D T / RD E N

TO E

1 6

A 0 - A 1 9

A d d r e s s B u s

C o n t r o lB u s

8086 System Minimum mode

Page 10: 8086 architecture

8086

CP

U

C l o c kg e n e r a t o r

W a i t - S t a t eG e n e r a t o r

C L K

R E A D Y

R E S E T

M N / M X

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

S T B

O E

8 2 8 2L a t c h

A 0 - A 1 9

A d d r e s s B u s

+ 5 V

R E SS 0

S 1

S 2

C L KS 0

S 1

S 2

D A T A

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

T

O E

A L E

G n d

D E N

D T / R

M R D C

M W T C

I O R C

I O W C

A I O W C

A M W C

I N T A

8288

Bus

Con

tro

ller

8086 System Maximum Mode

Page 11: 8086 architecture

Description of the Pins

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

RQ/GT0RQ/GT1

QS0

READYRESET

BHE/S7MN/MXRD

LOCKS2S1S0

QS1TEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Max Mode

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Min Mode

Vcc GND

Page 12: 8086 architecture

CPU component Contents

Flags Cleared

Instruction Pointer 0000H

CS FFFFH

DS, SS and ES 0000H

Queue Empty

RESET Operation results

Page 13: 8086 architecture

AD0 – AD15 Address

Data

AD0 - AD15: Address Data Bus

Page 14: 8086 architecture

A17/S4 A16/S3 Function

0

0 Extra segment access

0

1 Stack segment access

1

0 Code segment access

1 1 Data segment access

A17/S4, A16/S3 Address/Status

Page 15: 8086 architecture

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.

A19/S6, A18/S5 Address/Status

Page 16: 8086 architecture

S2 S1 S0 Characteristics

0 0 0 Interrupt acknowledge

0 0 1 Read I/O port

0 1 0 Write I/O port

0 1 1 Halt

1 0 0 Code access

1 0 1 Read memory

1 1 0 Write memory

1 1 1 Passive State

S0, S1 and S2 Signals

Page 17: 8086 architecture

QS1 QS1 Characteristics

0 0 No operation

0 1 First byte of opcode from queue

1 0 Empty the queue

1 1 Subsequent byte from queue

QS1 and QS2 Signals

Page 18: 8086 architecture

IO/M DT/R SSO CHARACTERISTICS

0 0 0 Code Access

0 0 1 Read Memory

0 1 0 Write Memory

0 1 1 Passive

1 0 0 Interrupt Acknowledge

1 0 1 Read I/O port

1 1 0 Write I/O port

1 1 1 Halt

Read Write Control Signals

Page 19: 8086 architecture

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.

8086 Memory Addressing

Page 20: 8086 architecture

H i g h e rA d d r e s s

B a n k( 5 1 2 K x 8 )

O D D

L o w e rA d d r e s s

B a n k( 5 1 2 K x 8 )

E V E N

A 1 - A 1 9A d d r e s s B u s

D a t a B u s ( D 0 - D 1 5 )

D 8 - D 1 5 D 0 - D 7

B H E A 0

Treating Even and Odd Addresses

Page 21: 8086 architecture

A 1 - A 1 9

D 0 - D 1 5

B H E = 1D 8 - D 1 5 D 0 - D 7

A 0 = 0

x

x + 2

x + 4

x + 1

x + 3

x + 5

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

8-bit data from Even address Bank

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

Page 22: 8086 architecture

A 1 - A 1 9

D 0 - D 1 5

B H E = 0 A 0 = 1

x

x + 2x + 1x + 3

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

D 8 - D 1 5D 0 - D 7

8-bit Data from Odd Address Bank

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

Page 23: 8086 architecture

A 1 - A 1 9

D 0 - D 1 5

B H E = 0A 0 = 0

x

x + 2x + 1x + 3

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

D 8 - D 1 5

D 0 - D 7

16-bit Data Access starting from Even Address

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

Page 24: 8086 architecture

A 1 - A 1 9

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

D 8 - D 1 5D 0 - D 7

A 1 - A 9

0 0 0 5

0 0 0 70 0 0 9

0 0 0 40 0 0 60 0 0 8

A 1 - A 1 9

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

D 8 - D 1 5D 0 - D 7

A 1 - A 9

0 0 0 5

0 0 0 70 0 0 9

0 0 0 40 0 0 60 0 0 8

( a ) F i r s t A c c e s s f r o m O d d A d d r e s s ( b ) N e x t A c c e s s f r o m E v e n A d d r e s s

16-bit Data Access starting from Odd Address

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

Page 25: 8086 architecture

T 1 T 2 T 3 T w a i t T 4

C L K

A D 0 - A D 1 5

B H E

A L E

S 2 S 0-

M / I O

R D

R E A D Y

D T / R

D E N

W R

Read Timing Diagram

Page 26: 8086 architecture

Write Machine Cycle

Page 27: 8086 architecture

• 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.

INTR (input)Hardware Interrupt Request Pin

Page 28: 8086 architecture

• 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?

For Discussion

Page 29: 8086 architecture

• 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.

NMI (input) Non-Maskable Interrupt line

Page 30: 8086 architecture

8086 External Interrupt Connections

NMI - Non-Maskable Interrupt INTR - Interrupt Request

Interrupt Logic

int intoDivideError

SingleStep

NMI Requesting Device

8086 CPUIntel

8259A

PIC

NMI

INTR

Software Traps

Programmable Interrupt Controller

(part of chipset)

Page 31: 8086 architecture

• 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 co-processor (numeric coprocessor) .

• This prevents the CPU from accessing a memory result before the NDP has finished its calculation

TEST (input)

Page 32: 8086 architecture

• 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

Ready (input)

Page 33: 8086 architecture

CLK

Ready

Reset

+ 5 VR

C

RES

X1

X2

F/C

RDY1RDY2

8284

AEN1AEN2

RESET KEY

8086 Microprocessor

8284 Connected to 8086 Mp

Page 34: 8086 architecture

• 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.

HOLD (input)

Page 35: 8086 architecture

• 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.

HLDA (output)Hold Acknowledge Output

Page 36: 8086 architecture

DMA Operation