8086 architecture
TRANSCRIPT
![Page 1: 8086 architecture](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/1.jpg)
8086/8088 Microprocessor
Introduction to the processor and its pin configuration
![Page 2: 8086 architecture](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/2.jpg)
Topics
• Basic Features
• Pinout Diagram
• Minimum and Maximum modes
• Description of the pins
![Page 3: 8086 architecture](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/12.jpg)
CPU component Contents
Flags Cleared
Instruction Pointer 0000H
CS FFFFH
DS, SS and ES 0000H
Queue Empty
RESET Operation results
![Page 13: 8086 architecture](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/13.jpg)
AD0 – AD15 Address
Data
AD0 - AD15: Address Data Bus
![Page 14: 8086 architecture](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/26.jpg)
Write Machine Cycle
![Page 27: 8086 architecture](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/27.jpg)
• 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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/28.jpg)
• 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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/29.jpg)
• 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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/31.jpg)
• 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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/32.jpg)
• 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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/33.jpg)
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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/34.jpg)
• 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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/35.jpg)
• 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](https://reader030.vdocuments.mx/reader030/viewer/2022020110/55a67ee61a28ab5a6f8b478d/html5/thumbnails/36.jpg)
DMA Operation