
MOTOROLA
Chapter 4. Exceptions
4-17
4.4 Exception Latencies
Latencies for taking various exceptions depend on the state of the machine when the
exception conditions occur. This latency may be as short as one cycle, in which case an
exception is signaled in the cycle following the appearance of the exception condition. The
latencies are as follows:
Hard reset and machine check—In most cases, a hard reset or machine check
exception will have a single-cycle latency. A two-to-three-cycle delay may occur
only when a predicted instruction is next to complete, and the branch guess that
forced this instruction to be predicted was resolved to be incorrect.
Soft reset—The latency of a soft reset exception is affected by recoverability. The
time to reach a recoverable state may depend on the time needed to complete or
except an instruction at the point of completion, the time needed to drain the
completed store queue, and the time waiting for a correct empty state so that a valid
MSR[IP] may be saved. For lower-priority externally-generated interrupts, a delay
may be incurred waiting for another interrupt, generated while reaching a
recoverable state, to be serviced.
Further delays are possible for other types of exceptions depending on the number and type
of instructions that must be completed before those exceptions may be serviced. See
Section 4.1.2, “Summary of Front-End Exception Handling,” to determine possible
maximum latencies for different exceptions.
4.5 Exception Definitions
Table 4-7 shows all the types of exceptions that can occur with the 603e and the MSR bit
settings when the processor transitions to supervisor mode. The state of these bits prior to
the exception is typically stored in SRR1.
Table 4-7. MSR Setting Due to Exception
Exception
Type
MSR Bit
POW
TGPR
ILE
EE
PR
FP
1
ME
FE0
2
SE
BE
FE1
2
IP
IR
DR
RI
LE
System reset
0
0
—
0
0
0
—
0
0
0
0
—
0
0
0
ILE
Machine
check
0
0
—
0
0
0
0
0
0
0
0
—
0
0
0
ILE
DSI
0
0
—
0
0
0
—
0
0
0
0
—
0
0
0
ILE
ISI
0
0
—
0
0
0
—
0
0
0
0
—
0
0
0
ILE
External
0
0
—
0
0
0
—
0
0
0
0
—
0
0
0
ILE
Alignment
0
0
—
0
0
0
—
0
0
0
0
—
0
0
0
ILE
Program
0
0
—
0
0
0
—
0
0
0
0
—
0
0
0
ILE
Floating-
point
unavailable
3
0
0
—
0
0
0
—
0
0
0
0
—
0
0
0
ILE