
MOTOROLA
Chapter 4. Exceptions
4-25
4.5.4 ISI Exception (0x00400)
The ISI exception is implemented as it is defined by the PowerPC architecture. An ISI
exception occurs when no higher priority exception exists and an attempt to fetch the next
instruction fails for any of the following reasons:
If an instruction TLB miss fails to find the desired PTE, then a page fault is
synthesized. The ITLB miss handler branches to the ISI exception handler to retrieve
the translation from a storage device.
An attempt is made to fetch an instruction from a direct-store segment while
instruction translation is enabled (MSR[IR] = 1).
An attempt is made to fetch an instruction from no-execute memory.
An attempt is made to fetch an instruction from guarded memory when MSR[IR] =
1.
The fetch access violates memory protection.
Register settings for this exception are described in Chapter 6, “Exceptions,” in
The
Programming Environments Manual.
When an ISI exception is taken, instruction execution for the handler begins at offset
0x00400 from the physical base address indicated by MSR[IP].
4.5.5 External Interrupt (0x00500)
An external interrupt is signaled to the 603e by the assertion of the INT signal as described
in Section 7.2.9.1, “Interrupt (INT)—Input.” The interrupt may not be recognized if a
higher priority exception occurs simultaneously or if the MSR[EE] bit is cleared when INT
is asserted.
After the INT is detected (and provided that MSR[EE] is set), the 603e generates a
recoverable halt to instruction completion. The 603e requires the next instruction in
program order to complete or except, block completion of any following instructions, and
allow the completed store queue to drain. If any other exceptions are encountered in this
process, they are taken first and the external interrupt is delayed until a recoverable halt is
achieved. At this time the 603e saves the state information and takes the external interrupt
as defined in the PowerPC architecture.