
MC68336/376
SYSTEM INTEGRATION MODULE
MOTOROLA
USER’S MANUAL
Rev. 15 Oct 2000
5-50
5.8.2 Interrupt Priority and Recognition
The CPU32 provides seven levels of interrupt priority (1-7), seven automatic interrupt
vectors, and 200 assignable interrupt vectors. All interrupts with priorities less than
seven can be masked by the interrupt priority (IP) field in status register.
NOTE
Exceptions such as “address error” are not interrupts and have no
“l(fā)evel” associated. Exceptions cannot ever be masked.
There are seven interrupt request signals (IRQ[7:1]). These signals are used internally
on the IMB, and have corresponding pins for external interrupt service requests. The
CPU32 treats all interrupt requests as though they come from internal modules; exter-
nal interrupt requests are treated as interrupt service requests from the SIM. Each of
the interrupt request signals corresponds to an interrupt priority. IRQ1 has the lowest
priority and IRQ7 the highest.
Interrupt recognition is determined by interrupt priority level and interrupt priority (IP)
mask value. The interrupt priority mask consists of three bits in the CPU32 status reg-
ister. Binary values %000 to %111 provide eight priority masks. Masks prevent an
interrupt request of a priority less than or equal to the mask value from being recog-
nized and processed. IRQ7, however, is always recognized, even if the mask value is
%111.
IRQ[7:1] are active-low level-sensitive inputs. The low on the pin must remain asserted
until an interrupt acknowledge cycle corresponding to that level is detected.
IRQ7 is transition-sensitive as well as level-sensitive: a level-7 interrupt is not detected
unless a falling edge transition is detected on the IRQ7 line. This prevents redundant
servicing and stack overflow. A non-maskable interrupt is generated each time IRQ7
is asserted as well as each time the priority mask is written while IRQ7 is asserted. If
IRQ7 is asserted and the IP mask is written to any new value (including %111), IRQ7
will be recognized as a new IRQ7.
Interrupt requests are sampled on consecutive falling edges of the system clock. Inter-
rupt request input circuitry has hysteresis. To be valid, a request signal must be
asserted for at least two consecutive clock periods. Valid requests do not cause imme-
diate exception processing, but are left pending. Pending requests are processed at
instruction boundaries or when exception processing of higher-priority interrupts is
complete.
The CPU32 does not latch the priority of a pending interrupt request. If an interrupt
source of higher priority makes a service request while a lower priority request is pend-
ing, the higher priority request is serviced. If an interrupt request with a priority equal
to or lower than the current IP mask value is made, the CPU32 does not recognize the
occurrence of the request. If simultaneous interrupt requests of different priorities are
made, and both have a priority greater than the mask value, the CPU32 recognizes
the higher-level request.