![](http://datasheet.mmic.net.cn/270000/MPC7400_datasheet_16037847/MPC7400_81.png)
Chapter 1. Overview
1-35
Exception Model
in SRR0 and SRR1 early to prevent the program state from being lost due to a system reset
and machine check exception or to an instruction-caused exception in the exception
handler, and before enabling external interrupts.
The PowerPC architecture supports four types of exceptions:
¥
Synchronous, preciseThese are caused by instructions. All instruction-caused
exceptions are handled precisely; that is, the machine state at the time the exception
occurs is known and can be completely restored. This means that (excluding the trap
and system call exceptions) the address of the faulting instruction is provided to the
exception handler and that neither the faulting instruction nor subsequent
instructions in the code stream will complete execution before the exception is
taken. Once the exception is processed, execution resumes at the address of the
faulting instruction (or at an alternate address provided by the exception handler).
When an exception is taken due to a trap or system call instruction, execution
resumes at an address provided by the handler.
Synchronous, impreciseThe PowerPC architecture deTnes two imprecise
oating-point exception modes: recoverable and nonrecoverable. Even though the
MPC7400 provides a means to enable the imprecise modes, it implements these
modes identically to the precise mode (that is, enabled oating-point exceptions are
always precise).
Asynchronous, maskableThe PowerPC architecture deTnes external and
decrementer interrupts as maskable, asynchronous exceptions. When these
exceptions occur, their handling is postponed until the next instruction, and any
exceptions associated with that instruction, completes execution. If no instructions
are in the execution units, the exception is taken immediately upon determination of
the correct restart address (for loading SRR0). As shown in Table 1-5, the MPC7400
implements additional asynchronous, maskable exceptions.
Asynchronous, nonmaskableThere are two nonmaskable asynchronous
exceptions: system reset and the machine check exception. These exceptions may
not be recoverable, or may provide a limited degree of recoverability. Exceptions
report recoverability through the MSR[RI] bit.
¥
¥
¥
1.7.2 MPC7400 Microprocessor Exception Implementation
The MPC7400 exception classes described above are shown in Table 1-5.
Table 1-5. MPC7400 Microprocessor Exception Classifications
Synchronous/Asynchronous
Precise/Imprecise
Exception Type
Asynchronous, nonmaskable
Imprecise
Machine check, system reset
Asynchronous, maskable
Precise
External, decrementer, system management, thermal
management, and performance monitor interrupts
Synchronous
Precise
Instruction-caused exceptions