1-36
MPC7400 RISC Microprocessor Users Manual
Exception Model
Although exceptions have other characteristics, such as priority and recoverability,
Table 1-5 describes categories of exceptions the MPC7400 handles uniquely. Table 1-5
includes no synchronous imprecise exceptions; although the PowerPC architecture
supports imprecise handling of oating-point exceptions, the MPC7400 implements these
exception modes precisely.
Table 1-6 lists MPC7400 exceptions and conditions that cause them. Exceptions speciTc to
the MPC7400 are indicated. Note that only three exceptions may result from execution of
an AltiVec instruction:
¥
AltiVec unavailable exception. Taken if there is an attempt to execute any
non-stream vector instruction with MSR[VA] = 0. After this exception, execution
resumes at offset 0x00F20. This exception does not happen for stream instructions
(
dst
[
t
],
dstst
[
t
], or
dss
). Note that the VRSAVE register is not protected by this
exception, which is consistent with the AltiVec speciTcation.
A DSI exception. Taken if a vector load or store operation encounters a page fault
(does not Tnd a valid PTE) or a protection violation. Also a DSI occurs if a vector
load or store attempts to access T = 1 (PIO) space.
AltiVec assist interrupt. Taken in some cases if a vector oating-point instruction
detects denormalized data as an input or output in Java mode.
¥
¥
Table 1-6. Exceptions and Conditions
Exception Type
Vector Offset
(hex)
Causing Conditions
Reserved
00000
System reset
00100
Assertion of either HRESET or SRESET or at power-on reset
Machine check
00200
Assertion of TEA during a data bus transaction, assertion of MCP, or an
address, data, or L2 bus parity error. MSR[ME] must be set.
DSI
00300
As speciTed in the PowerPC architecture. For TLB misses on load, store, or
cache operations, a DSI exception occurs if a page fault occurs. The
MPC7400 takes a DSI if a
lwarx
or
stwcx.
instruction is executed to an
address marked write-through or if the data cache is enabled and locked.
ISI
00400
As deTned by the PowerPC architecture.
External interrupt
00500
MSR[EE] = 1 and INT is asserted.
Alignment
00600
¥ A oating-point load/store,
stmw
,
stwcx
,
lmw
,
lwarx
,
eciwx
or
ecowx
instruction operand is not word-aligned.
¥ A multiple/string load/store operation is attempted in little-endian mode.
¥ The operand of
dcbz
is in memory that is write-through-required or
caching-inhibited or the cache is disabled
Program
00700
As deTned by the PowerPC architecture.
Floating-point
unavailable
00800
As deTned by the PowerPC architecture.
Decrementer
00900
As deTned by the PowerPC architecture, when the most signiTcant bit of the
DEC register changes from 0 to 1 and MSR[EE] = 1.
Reserved
00A00D00BFF