
3-14
PRELIMINARY
Signal Descriptions
Advanci ng the S tandar ds
3.2.9
Interrupt Control
The interrupt control signals (INTR, NMI,
SMI#) allow the execution of the current
instruction stream to be interrupted and
suspended.
Maskable Interrupt Request (INTR) is an
active high level-sensitive input which causes
the processor to suspend execution of the
current instruction stream and begin execution
of an interrupt service routine. The INTR input
can be masked (ignored) through the IF bit in
the Flags Register.
When not masked, the M II CPU responds to
the INTR input by performing two locked inter-
rupt acknowledge bus cycles. During the
second interrupt acknowledge cycle, the M II
CPU reads the interrupt vector (an 8-bit value),
from the data bus. The 8-bit interrupt vector
indicates the interrupt level that caused genera-
tion of the INTR and is used by the CPU to
determine the beginning address of the inter-
rupt service routine. To assure recognition of
the INTR request, INTR must remain active
until the start of the first interrupt acknowledge
cycle.
Non-Maskable Interrupt Request (NMI) is a
rising edge sensitive input which causes the
processor to suspend execution of the current
instruction stream and begin execution of an
NMI interrupt service routine. The NMI inter-
rupt cannot be masked by the IF bit in the Flags
Register. Asserting NMI causes an interrupt
which internally supplies interrupt vector 2h to
the CPU core. Therefore, external interrupt
acknowledge cycles are not issued.
Once NMI processing has started, no additional
NMIs are processed until an IRET instruction is
executed, typically at the end of the NMI
service routine. If NMI is re-asserted prior to
execution of the IRET, one and only one NMI
rising edge is stored and then processed after
execution of the next IRET.
System Management Interrupt Request
(SMI#) is an interrupt input with higher
priority than the NMI input. Asserting SMI#
forces the processor to save the CPU state to
SMM memory and to begin execution of the
SMI service routine.
SMI# behaves one of two ways depending on
the M II’s SMM mode.
In SL-compatible mode SMI# is a falling edge
sensitive input and is sampled on every rising
edge of the processor input clock. Once SMI#
servicing has started, no additional SMI# inter-
rupts are processed until a RSM instruction is
executed. If SMI# is reasserted prior to execu-
tion of a RSM instruction, one and only one
SMI# falling edge is stored and then processed
after execution of the next RSM.
In Cyrix enhanced SMM mode, SMI# is level
sensitive, and nested SMI’s are permitted under
control of the SMI service routine. As a level
sensitive input, software can process all SMI
interrupts until all sources in the chipset have
cleared. In enhanced mode, SMIACT# is
asserted for every SMM memory bus cycle and
negated for every non-SMM bus cycle.
In either mode, SMI# is ignored following reset
and recognition is enabled by setting the
USE_SMI bit in CCR1.