Address Lines A0-A7 and Data Lines D0-D7 Are Multiplexed in 8088.
Address Lines A0-A7 and Data Lines D0-D7 Are Multiplexed in 8088.
8088
• Address lines A0-A7 and
GND 1 40 VCC
Data lines D0-D7 are A14
A13
2
3
39
38
A15
A16/S3
A12 4 37 A17/S4
multiplexed in 8088. A11
A10
5
6
36
35
A18/S5
A19/S6
AD0-AD7. AD6
AD5
AD4
10
11
12
31
30
29
HOLD
HLDA
WR
AD3 13 28 IO/M
– By multiplexed we mean AD2
AD1
14
15
27
26
DT/R
DEN
Maximum mode
NMI 17 24 INTA
INTR 18 23 TEST
CLK 19 22 READY
Pull MN/MX logic 0 GND 20 21 RESET
GND 1 40 VCC
GND 1 40 VCC
AD14 2 39 AD15
AD14 2 39 AD15
AD13 3 38 A16/S3
AD13 3 38 A16/S3
AD12 4 37 A17/S4
AD12 4 37 A17/S4
AD11 5 36 A18/S5
AD11 5 36 A18/S5
AD10 6 35 A19/S6
AD10 6 35 A19/S6
AD9 7 34 BHE/S7
AD9 7 34 BHE/S7
AD8 8 33 MN/MX Vcc AD8 8
8086
33 MN/MX
GND
AD7
AD6
9
10
8086 32
31
RD
HOLD
AD7
AD6
9
10
32
31
RD
RQ/GT0
AD5 11 30 RQ/GT1
AD5 11 30 HLDA
AD4 12 29 LOCK
AD4 12 29 WR
AD3 13 28 S2
AD3 13 28 M/IO
AD2 14 27 S1
AD2 14 27 DT/R
AD1 15 26 S0
AD1 15 26 DEN
AD0 16 25 QS0
AD0 16 25 ALE
NMI 17 24 QS1
NMI 17 24 INTA
INTR 18 23 TEST
INTR 18 23 TEST
CLK 19 22 READY
CLK 19 22 READY
GND 20 21 RESET
GND 20 21 RESET
+5V
Clock CLK M/IO
READY Control
generator INTA
RES RESET Bus
RD
AEN2 WR
AEN1
F/C MN/MX +5V
8086 CPU
8282
AD0-AD15 Latch
A16-A19
BHE BHE
D0 - D15
8286 16
DT/R T
DEN OE
8086 System Maximum Mode
+5V
MN/MX Gnd CLK MRDC
CLK
S0 S0
Clock READY MWTC
RES S1 S1
Bus Controller
generator AMWC
S2 S2
8288
RESET IORC
DEN IOWC
DT/R AIOWC
Wait-State ALE INTA
Generator
8086 CPU
STB A0 - A19
OE
Address Bus
8282
AD0-AD15
Latch BHE
A16-A19
T
OE DATA
8286
Transceiver
Description of the Pins
GND 1 40 VCC
GND 1 40 VCC
AD14 2 39 AD15
AD14 2 39 AD15
AD13 3 38 A16/S3
AD13 3 38 A16/S3
AD12 4 37 A17/S4
AD12 4 37 A17/S4
AD11 5 36 A18/S5
AD11 5 36 A18/S5
AD10 6 35 A19/S6
AD10 6 35 A19/S6
AD9 7 34 BHE/S7
AD9 7 34 BHE/S7
AD8 8 33 MN/MX Vcc AD8 8
8086
33 MN/MX
GND
AD7
AD6
9
10
8086 32
31
RD
HOLD
AD7
AD6
9
10
32
31
RD
RQ/GT0
AD5 11 30 RQ/GT1
AD5 11 30 HLDA
AD4 12 29 LOCK
AD4 12 29 WR
AD3 13 28 S2
AD3 13 28 M/IO
AD2 14 27 S1
AD2 14 27 DT/R
AD1 15 26 S0
AD1 15 26 DEN
AD0 16 25 QS0
AD0 16 25 ALE
NMI 17 24 QS1
NMI 17 24 INTA
INTR 18 23 TEST
INTR 18 23 TEST
CLK 19 22 READY
CLK 19 22 READY
GND 20 21 RESET
GND 20 21 RESET
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
TIMING SEQUENCE
AN EXTERNAL CLOCK GENERATOR DEVICE IS
CONNECTED TO 8086 TO PROVIDE CLOCK SIGNALS
THROUGHOUT THE SYSTEM.
ONE CYCLE OF CLOCK IS CALLED A STATE OR T-
STATE.
EACH BASIC OPERATION SUCH AS READING A
MEMORY LOCATION OR WRITING TO A PORT
REQUIRES SEVERAL STATES.THIS GROUP OF STATES IS
CALLED A MACHINE CYCLE.
THE TOTAL TIME REQUIRED TO FETCH AND EXECUTE
AN INSTRUCTION IS CALLED AN INSTRUCTION CYCLE.
AN INSTRUCTION CYCLE CONSISTS OF ONE OR MORE
MACHINE CYCLE.
BASIC SIGNAL FLOW ON 8086 BUSES
CLK
M/IO
ALE
MEMORY ACCESS TIME
ADDR/
RESERVED VALID
A15-A0
DATA FOR DATA D15-D0
ADDR/
A19-A16
STATUS
RD/INTA
READY
DT/R
DEN
WRITE CYCLE
HERE WE WILL SEE THE ACTIVITIES CARRIED OUT
ON 8086 BUS AT VARIOUS TIME INSTANTS WHEN IT
WRITES TO A PORT OR A MEMORY LOCATION.
CLK
M/IO
ALE
ADDR/
A15-A0 DATA OUT (D15-D0)
DATA
ADDR/
A19-A16
STATUS
WR
READY
DT/R
DEN
8086 Memory Addressing
Higher Lower
Address Address
Bank Bank
(512K x 8) BHE (512K x 8) A0
ODD EVEN
x+1 x
x+3 x+2
x+5 x+4
BHE = 1 A0 = 0
D8-D15 D0-D7
A1-A19
D0-D15
MOV SI,4000H
MOV AL,[SI+2]
8-bit Data from Odd Address Bank
Odd Bank Even Bank
x+1 x
x+3 x+2
BHE =0 A0 = 1
A1-A19
D0-D7
D8-D15
D0-D15
MOV SI,4000H
MOV AL,[SI+3]
16-bit Data Access starting from Even Address
Odd Bank Even Bank
x+1 x
x+3 x+2
A0 = 0
BHE =0
A1-A19 D8-D15
D0-D7
D0-D15
MOV SI,4000H
MOV AX,[SI+2]
16-bit Data Access starting from Odd Address
Odd Bank Even Bank Odd Bank Even Bank
A1-A19 A1-A19
A1-A9 A1-A9
D0-D7 D0-D7
D8-D15 D8-D15
(a) First Access from Odd Address (b) Next Access from Even Address
MOV SI,4000H
MOV AX,[SI+5]
Read Timing Diagram
T1 T2 T3 Twait T4
CLK
AD0-AD15
BHE
ALE
S2-S0
M/IO
RD
READY
DT/R
DEN
WR
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.
Programmable
NMI Requesting Interrupt Controller
Device (part of chipset)
NMI
8086 CPU
Intel
INTR
Interrupt Logic 8259A
PIC
Divide Single
int into
Error 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 co-
processor (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
Ready
X2
AEN1 CLK
8086 Microprocessor
AEN2
F/C 8284
Reset
RDY1
RDY2
RES
R
+5V
RESET KEY C
HOLD (input)
• The HOLD input is used by DMA controller to
request a Direct Memory Access (DMA) operation.