8086 signal des
TRANSCRIPT
-
8/6/2019 8086 Signal Des
1/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 1
Pin Diagram of 8085
20
19
18
17
16
15
14
13
12
11
1
2
3
4
5
6
7
8
9
10
21
22
23
24
25
26
27
28
29
30
40
39
38
37
36
35
34
33
32
31
8085 A
VSS
AD7
AD6
AD5
X1X2
OUT
SOD
SID
TRAP
RST 7.5
RST 6.5
RST 5.5
INTR_____
INTA
AD0
AD1
AD2
AD3
AD4
RESET
A8
Vcc
HOLD
HLDA
CLK ( OUT) _________________
RESET IN
S1___
RD
ALE
S0
READY __
IO / M
___
WR
A9
A10
A11
A15
A14
A13
A12
Serial i/p, o/p signals
DMA
-
8/6/2019 8086 Signal Des
2/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 2
Signal Groups of 8085
Multiplexed address / data bus
GND
VssVcc
+ 5 V
X1 X2
XTAL
4
5
SOD
SID
RESET OUT CLK OUT
____
WR
____
RD
___
IO / M
S0
S1
ALE
A8
A15 High order Address bus
AD0
AD7
HLDA______
INTA
READY
HOLD ______________
RESET IN
INTR
RESET 5.5RESET 6.5
RESET 7.5TRAP
-
8/6/2019 8086 Signal Des
3/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 3
GND
+5V
X1
X2
TIMING AND CONTROLCLK
GEN
CLK
OUT READY
CONTRO
L
R
D
AL
E
S0 S1 RESET
OUT
IO / M HOLD HLDA
DMASTATUS
RESET
IN
ARITHEMETIC
LOGIC UNIT ( ALU)
(8)
ACCUMULATOR TEMP REG(8)
(8)
FLAG( 5)
FLIP
FLOPS
INTERRUPT CONTROL SERIAL I / O
CONTROL
SID SIOTRAP
INT
R
INTARES
5 . 5
RES
6 . 5
RES
7 . 5
8 BIT INTERNAL
DATA BUS
INSTRUCTION
REGISTER( 8 )
MULTIPLXER
R
E
G.
S
E
L
E
C
T
ADDRESS BUFFER
( 8 )
DATA / ADDRESS
BUFFER
( 8 )
INSTRUCTIO
N DECODER
AND
MACHINE
ENCODING
W ( 8 )
TEMP . REG.
B REG ( 8 )
D REG ( 8
)H REG ( 8
)STACK POINTER
PROGRAM COUNTER ( 16
)INCREAMENT / DECREAMENT
ADDRESS LATCH ( 16 )
( 16 )
AD7 AD0 ADDRESS / BUFFER
BUS
A 15 A8ADDRESS BUS
C REG ( 8
)E REG ( 8
)L REG ( 8 )
WR
-
8/6/2019 8086 Signal Des
4/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 4
CYPACS Z
D0
D1
D2
D3
D4
D5
D6
D7
Flag Registers
General Purpose RegistersINDIVIDUAL
COMBININATON
B, C, D, E, H, L
B & C, D & E, H & L
-
8/6/2019 8086 Signal Des
5/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 5
AH AL
BH BL
CH CL
DH DL
SP
BP
SI
DI
ES
CS
SS
DS
IP
1
ADDRESS BUS
( 20 )
BITS
DATA BUS
( 16 )
BITS
BUS
CONTRO
L LOGIC
8
0
8
6
B
U
S
2 3 4 65
INSTRUCTION QUEUE
8 BIT
Q BUS
EU
CONTROL
SYSTEM
ALU DATA BUS
16 BITS
TEMPORARY REGISTERS
ALU
FLAGS
GENERAL
REGISTERS
EXECUTION UNIT ( EU )
BUS INTERFACE UNIT ( BIU)
Fig:
-
8/6/2019 8086 Signal Des
6/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 6
20
19
18
1716
15
14
13
1211
1
2
3
4
56
7
8
9
10
21
22
23
24
25
26
27
28
29
30
40
39
38
37
3635
34
33
32
31
8086
CPU
GND
CLK
INTR
NMI
GND
AD14
AD13
AD12
AD11
AD10
AD9AD8AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
RESET
VCC
AD15
A16 / S3
A17 / S4
____
MN/MX___
RD
_______
LOCK
A19/S6
___
(WR)
READY
______
TEST
QS1
____
S2___
S1 _____
(DEN)(ALE)
A18 / S5
_____
BHE / S7
_____ _____
RQ / GT0 ( HOLD) ___ _____
RQ / GT1 ( HLDA)
____
(M / IO )___
(DT / R)___
S0QS
0
________
(INTA)
Pin Diagram of 8086
-
8/6/2019 8086 Signal Des
7/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 7
CLK
GNDVCC
8086
MPU
INTR
_____
INTA
______
TEST
NMI
RESET
HOLD
HLDA
VCC
____
MN / MX
INTERRUPT
INTERFACE
DMA
INTERFACE
MODE
SELECT READY
_____
DEN
_____
WR
____
RD
__
DT / R
__
M / IO
ALE___
BHE / S7
MEMORY
I / O
CONTROLS
D0
- D15
A0 - A15, A16 / S3 A19/S6
ADDRESS / DATA BUS
-
8/6/2019 8086 Signal Des
8/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 8
Signal Description of 8086
The Microprocessor 8086 is a 16-bit CPU available in
different clock rates and packaged in a 40 pin CERDIP orplastic package.
The 8086 operates in single processor or multiprocessor
configuration to achieve high performance. The pins serve a
particular function in minimum mode (single processor mode )and other function in maximum mode configuration
(multiprocessor mode ).
The 8086 signals can be categorised in three groups. The firstare the signal having common functions in minimum as well
as maximum mode.
-
8/6/2019 8086 Signal Des
9/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 9
The second are the signals which have special functions for
minimum mode and third are the signals having specialfunctions for maximum mode.
The following signal descriptions are common for both modes.
AD15
-AD0
: These are the time multiplexed memory I/O
address and data lines.
Address remains on the lines during T1 state, while the data is
available on the data bus during T2, T3, Tw and T4.
These lines are active high and float to a tristate duringinterrupt acknowledge and local bus hold acknowledge cycles.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
10/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 10
A19/S6,A18/S5,A17/S4,A16/S3 : These are the time multiplexed
address and status lines. During T1 these are the most significant address lines for
memory operations.
During I/O operations, these lines are low. During memory or
I/O operations, status information is available on those lines
for T2,T3,Tw and T4.
The status of the interrupt enable flag bit is updated at the
beginning of each clock cycle.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
11/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 11
The S4 and S3 combinedly indicate which segment register is
presently being used for memory accesses as in below fig. These lines float to tri-state off during the local bus hold
acknowledge. The status line S6 is always low .
The address bit are separated from the status bit using latches
controlled by the ALE signal.
Alternate Data
StackCode or noneData
IndicationS4 S3
0
0
11
0
0
1
1
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
12/33
-
8/6/2019 8086 Signal Des
13/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 13
RD Read : This signal on low indicates the peripheral that
the processor is performing s memory or I/O read operation.RD is active low and shows the state for T2, T3, Tw of any read
cycle. The signal remains tristated during the hold
acknowledge.
READY : This is the acknowledgement from the slow deviceor memory that they have completed the data transfer. The
signal made available by the devices is synchronized by the
8284A clock generator to provide ready input to the 8086. the
signal is active high.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
14/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 14
INTR-Interrupt Request : This is a triggered input. This is
sampled during the last clock cycles of each instruction todetermine the availability of the request. If any interrupt
request is pending, the processor enters the interrupt
acknowledge cycle.
This can be internally masked by resulting the interrupt enableflag. This signal is active high and internally synchronized.
TEST : This input is examined by a WAIT instruction. If the
TEST pin goes low, execution will continue, else the processorremains in an idle state. The input is synchronized internally
during each clock cycle on leading edge of clock.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
15/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 15
NMI- Nonmaskable interrupt : This is an edge triggeredinput which causes a Type 2 interrupt. The NMI is notmaskable internally by software. A transition from low to highinitiates the interrupt response at the end of the currentinstruction. This input is internally synchronized.
RESET : This input causes the processor to terminate thecurrent activity and start execution from FFF0H. The signal isactive high and must be active for at least four clock cycles. Itrestarts execution when the RESET returns low. RESET isalso internally synchronized.
Vcc +5V power supply for the operation of the internal circuit.
GND ground for internal circuit.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
16/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 16
CLK- Clock Input : The clock input provides the basic timingfor processor operation and bus control activity. Its an
asymmetric square wave with 33% duty cycle. MN/MX : The logic level at this pin decides whether the
processor is to operate in either minimum or maximum mode.
The following pin functions are for theminimum mode
operation of 8086. M/IO Memory/IO : This is a status line logically equivalent
to S2 in maximum mode. When it is low, it indicates the CPUis having an I/O operation, and when it is high, it indicates that
the CPU is having a memory operation. This line becomesactive high in the previous T4 and remains active till final T4 ofthe current cycle. It is tristated during local bus holdacknowledge .
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
17/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 17
INTA Interrupt Acknowledge : This signal is used as aread strobe for interrupt acknowledge cycles. i.e. when it goeslow, the processor has accepted the interrupt.
ALE Address Latch Enable : This output signal indicatesthe availability of the valid address on the address/data lines,
and is connected to latch enable input of latches. This signal isactive high and is never tristated.
DT/R Data Transmit/Receive: This output is used to decidethe direction of data flow through the transreceivers
(bidirectional buffers). When the processor sends out data, thissignal is high and when the processor is receiving data, thissignal is low.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
18/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 18
DEN Data Enable : This signal indicates the availability ofvalid data over the address/data lines. It is used to enable thetransreceivers ( bidirectional buffers ) to separate the data fromthe multiplexed address/data signal. It is active from themiddle of T2 until the middle of T4. This is tristated during hold acknowledge cycle.
HOLD, HLDA- Acknowledge : When the HOLD line goeshigh, it indicates to the processor that another master isrequesting the bus access.
The processor, after receiving the HOLD request, issues thehold acknowledge signal on HLDA pin, in the middle of thenext clock cycle after completing the current bus cycle.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
19/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 19
At the same time, the processor floats the local bus andcontrol lines. When the processor detects the HOLD linelow, it lowers the HLDA signal. HOLD is an asynchronousinput, and is should be externally synchronized.
If the DMA request is made while the CPU is performing amemory or I/O cycle, it will release the local bus during T
4provided :
1. The request occurs on or before T2 state of the current cycle.
2. The current cycle is not operating over the lower byte of a
word.3. The current cycle is not the first acknowledge of an interrupt
acknowledge sequence.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
20/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 20
4. A Lock instruction is not being executed.
The following pin function are applicable for maximummode operation of 8086.
S2, S1, S0 Status Lines : These are the status lines which
reflect the type of operation, being carried out by the
processor. These become activity during T4 of the previous
cycle and active during T1 and T2 of the current bus cycles.
1 1
S2 S1 S0 Indication
0
1
00
0
11
11
1
11
1
1
0
0 0
0
0
000
Interrupt Acknowledge
Read I/O portWrite I/O port
HaltCode Access
PassiveWrite memoryRead memory
1 1
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
21/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 21
LOCK: This output pin indicates that other system bus master
will be prevented from gaining the system bus, while theLOCK signal is low.
The LOCK signal is activated by the LOCK prefix
instruction and remains active until the completion of the next
instruction. When the CPU is executing a critical instructionwhich requires the system bus, the LOCK prefix instruction
ensures that other processors connected in the system will not
gain the control of the bus.
The 8086, while executing the prefixed instruction, asserts the
bus lock signal output, which may be connected to an external
bus controller.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
22/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 22
QS1, QS0 Queue Status: These lines give information aboutthe status of the code-prefetch queue. These are active duringthe CLK cycle after while the queue operation is performed.
This modification in a simple fetch and execute architecture ofa conventional microprocessor offers an added advantage ofpipelined processing of the instructions.
The 8086 architecture has 6-byte instruction prefetch queue.Thus even the largest (6-bytes) instruction can be prefetchedfrom the memory and stored in the prefetch. This results in a
faster execution of the instructions. In 8085 an instruction is fetched, decoded and executed andonly after the execution of this instruction, the next one isfetched.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
23/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 23
By prefetching the instruction, there is a considerable speedingup in instruction execution in 8086. This is known asinstruction pipelining.
At the starting the CS:IP is loaded with the required addressfrom which the execution is to be started. Initially, the queuewill be empty an the microprocessor starts a fetch operation tobring one byte (the first byte) of instruction code, if the CS:IPaddress is odd or two bytes at a time, if the CS:IP address iseven.
The first byte is a complete opcode in case of some instruction(one byte opcode instruction) and is a part of opcode, in caseof some instructions ( two byte opcode instructions), theremaining part of code lie in second byte.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
24/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 24
But the first byte of an instruction is an opcode. When the firstbyte from the queue goes for decoding and interpretation, one
byte in the queue becomes empty and subsequently the queueis updated.
The microprocessor does not perform the next fetch operationtill at least two bytes of instruction queue are emptied. The
instruction execution cycle is never broken for fetch operation.After decoding the first byte, the decoding circuit decideswhether the instruction is of single opcode byte or doubleopcode byte.
If it is single opcode byte, the next bytes are treated as databytes depending upon the decoded instruction length,otherwise, the next byte in the queue is treated as the secondbyte of the instruction opcode.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
25/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 25
The second byte is then decoded in continuation with the first
byte to decide the instruction length and the number ofsubsequent bytes to be treated as instruction data.
The queue is updated after every byte is read from the queue
but the fetch cycle is initiated by BIU only if at least two bytes
of the queue are empty and the EU may be concurrentlyexecuting the fetched instructions.
The next byte after the instruction is completed is again the
first opcode byte of the next instruction. A similar procedure is
repeated till the complete execution of the program.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
26/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 26
The fetch operation of the next instruction is overlapped with
the execution of the current instruction. As in the architecture,there are two separate units, namely Execution unit and Bus
interface unit.
While the execution unit is busy in executing an instruction,
after it is completely decoded, the bus interface unit may befetching the bytes of the next instruction from memory,
depending upon the queue status.QS1 QS0 Indication
0
1 1
1
10
0
0
No operationFirst byte of the opcode from the queue
Empty queueSubsequent byte from the queue
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
27/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 27
RQ/GT0, RQ/GT1 Request/Grant : These pins are used
by the other local bus master in maximum mode, to force theprocessor to release the local bus at the end of the processor
current bus cycle.
Each of the pin is bidirectional with RQ/GT0 having higher
priority than RQ/GT1. RQ/GT pins have internal pull-up resistors and may be left
unconnected.
Request/Grant sequence is as follows:1. A pulse of one clock wide from another bus master requests
the bus access to 8086.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
28/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 28
2. During T4(current) or T1(next) clock cycle, a pulse one clockwide from 8086 to the requesting master, indicates that the8086 has allowed the local bus to float and that it will enterthe hold acknowledge state at next cycle. The CPU businterface unit is likely to be disconnected from the local busof the system.
3. A one clock wide pulse from the another master indicates tothe 8086 that the hold request is about to end and the 8086may regain control of the local bus at the next clock cycle.Thus each master to master exchange of the local bus is a
sequence of 3 pulses. There must be at least one dead clockcycle after each bus exchange.
Signal Description of 8086 (cont..)
-
8/6/2019 8086 Signal Des
29/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 29
The request and grant pulses are active low.
For the bus request those are received while 8086 isperforming memory or I/O cycle, the granting of the bus is
governed by the rules as in case of HOLD and HLDA in
minimum mode.
Signal Description of 8086
-
8/6/2019 8086 Signal Des
30/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 30
General Bus Operation
The 8086 has a combined address and data bus commonly
referred as a time multiplexed address and data bus. The main reason behind multiplexing address and data over
the same pins is the maximum utilisation of processor pins and
it facilitates the use of 40 pin standard DIP package.
The bus can be demultiplexed using a few latches andtransreceivers, when ever required.
Basically, all the processor bus cycles consist of at least four
clock cycles. These are referred to as T1, T2, T3, T4. Theaddress is transmitted by the processor during T1. It is present
on the bus only for one cycle.
-
8/6/2019 8086 Signal Des
31/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 31
During T2, i.e. the next cycle, the bus is tristated for changingthe direction of bus for the following data read cycle. The datatransfer takes place during T3, T4.
In case, an address device is slow NOT READY status thewait status Tw are inserted between T3 and T4. These clockstates during wait period are called idle states (T
i
), wait states(Tw) or inactive states. The processor used these cycles forinternal housekeeping.
The address latch enable (ALE) signal is emitted during T1 bythe processor (minimum mode) or the bus controller(maximum mode) depending upon the status of the MN/MXinput.
General Bus Operation ( cont..)
-
8/6/2019 8086 Signal Des
32/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 32
The negative edge of this ALE pulse is used to separate the
address and the data or status information. In maximum mode,
the status lines S0, S1 and S2 are used to indicate the type of
operation.
Status bits S3 to S7 are multiplexed with higher order address
bits and the BHE signal. Address is valid during T1 whilestatus bits S3 to S7 are valid during T2 through T4.
General Bus Operation ( cont..)
Memory read cycle Memory write cycle
-
8/6/2019 8086 Signal Des
33/33
M. Krishna Kumar MAM/M1/LU4/V1/2004 33
General Bus Operation Cycle in Maximum Mode
CLK
Memory read cycle Memory write cycleT1 T2 T3 Tw T4 T1 T2 T3 Tw T4
ALE
S2 S0
Add/stat
WR
DEN
DT/R
READY
RD/INTA
Add/data
A19
-A16
S3
-S7
A19
-A16
S3
-S7
BHE BHE
A0-A15 D15-D0 A0-A15 D15-D0
Bus reserveData Out D15 D0
Wait Wait
ReadyReady
Memory access time
for Data In