Download Print this page

Intel 80386 Hardware Reference Manual page 51

Hide thumbs Also See for 80386:

Advertisement

inter
LOCAL BUS INTERFACE
Once NA# is sampled active, it remains active internally throughout the current bus cycle.
If
NA# and READY# are active in the same CLK cycle, the state of NA# is irrelevant,
because READY # causes the start of a new bus cycle; therefore, the new address and status
signals are always output regardless of the state of NA#.
A complete discussion of the considerations for using address pipelining can be found in the
80386 Data Sheet (Order Number 231630).
3.1.7 Interrupt Acknowledge Cycle
An unmasked interrupt causes the 80386 to suspend execution of the current program and
perform instructions from another program called a service routine. Interrupts are described
in detail in Section 3.4.
The 8259A Programmable Interrupt Controller is a system component that coordinates the
interrupts of several devices (eight interrupts for a single 8259A; up to 64 interrupts with
eight cascaded 8259As). When a device signals an interrupt request, the 8259A activates
the INTR input of the 80386.
Interrupt acknowledge cycles are special bus cycles designed to activate the 8259A INTA
input that enables the 8259A to output a service-routine vector on the data bus. The 80386
performs two back-to-back interrupt acknowledge cycles in response to an active INTR input
(as long as the interrupt flag of the 80386 is enabled).
Interrupt acknowledge cycles are similar to regular bus cycles in that the 80386 bus outputs
signals at the start of each bus cycle and an active READY # terminates each bus cycle. The
cycles are shown in Figure 3-11.
• ADS# is driven low to start each bus cycle.
• Control signals
MjIO#, DjC#,
and W
jR#
are driven low to signal to interrupt-
acknowledge bus cycles. These signals must be decoded to generate the INT A input signal
for the 8259A. The decoding logic is usually included in the bus controller logic for the
particular design. Bus controller designs are discussed in Chapters 6 and 8.
o
LOCK# is active from the beginning of the first cycle to the end of the second. HOLD
requests from other bus masters are not recognized until after the second interrupt
'acknowledge cycle.
• The address driven during the first cycle is 4; during the second cycle, the address is O.
BE3#, BE2#, and BE1# are high, BEO# is low, and,A31-A3 are low for both cycles;
A2 is high for the first cycle and low for the second.
'
• The 80386 floats D31-DO for both cycles; however, at the end of the second cycle, the
service routine vector at the 8259A outputs is read by the 80386 on pins D7-DO.
• READY # must go low to terminate each cycle. '
System logic must delay READY # to extend the cycle to the minimum pulse-width require-
ment of the 8259A Programmable Interrupt Controller. In addition, the 80386 inserts at
least 160 nanoseconds of bus idle time (four Ti states) between the two cycles to match the
recovery time of the 8259A.
3-17

Advertisement

loading