
Chapter 5. Memory Management
5-17
MMU Overview
In addition to the translation exceptions, there are other MMU-related conditions (some of
them deTned as implementation-speciTc, and therefore not required by the architecture)
that can cause an exception to occur. These exception conditions map to processor
exceptions as shown in Table 5-4. The only MMU exception conditions that occur when
MSR[DR] = 0 are those that cause an alignment exception for data accesses. For more
detailed information about the conditions that cause an alignment exception (in particular
for string/multiple instructions), see Section 4.6.6, òAlignment Exception (0x00600).ó
Note that some exception conditions depend upon whether the memory area is set up as
write-though (W = 1) or cache-inhibited (I = 1). These bits are described fully in
òMemory/Cache Access Attributes,ó in Chapter 5, òCache Model and Memory Coherency,ó
of
The
Programming Environments Manual.
Refer to Chapter 4, òExceptions,ó and to
Chapter 6, òExceptions,ó in
The
Programming Environments Manual
for a complete
description of the SRR1 and DSISR bit settings for these exceptions.
For data accesses, the MPC7400 LSU initiates out-of-order accesses without knowledge of
whether it is legal to do so. The MMU detects protection violations and
dcbz
alignment
exceptions. The MMU prevents the changed bit in the PTE from being updated erroneously
in these cases, but the LRU algorithm is updated. The MMU does not initiate exception
processing for any exception conditions until the instruction that caused the exception is the
next instruction to be retired. Also, the MPC7400 MMU does not perform a hardware table
search operation due to TLB misses until the request is required by the program ow.
Page protection violation
Conditions described for page in òPage
Memory Protectionó in Chapter 7, òMemory
Management,ó in
The Programming
Environments Manual.
I access: ISI exception
SRR1[4] = 1
D access: DSI exception
DSISR[4] =1
No-execute protection violation
Attempt to fetch instruction when SR[N] = 1
ISI exception
SRR1[3] = 1
Instruction fetch from
direct-store segment
Attempt to fetch instruction when SR[T] = 1
ISI exception
SRR1[3] =1
Data access to direct-store
segment (including oating-point
accesses)
Attempt to perform load or store (including FP
load or store) when SR[T] = 1
DSI exception
DSISR[5] =1
Instruction fetch from guarded
memory
Attempt to fetch instruction when MSR[IR] = 1
and either matching xBAT[G] = 1, or no
matching BAT entry and PTE[G] = 1
ISI exception
SRR1[3] =1
Table 5-3. Translation Exception Conditions (Continued)
Condition
Description
Exception