5-20
MPC7400 RISC Microprocessor Users Manual
Real Addressing Mode
If an MMU register is being accessed by an instruction in the instruction stream, the IMMU
stalls for one translation cycle to perform that operation. The sequencer serializes
instructions to ensure the data correctness. Updates to the IBATs and SRs are classiTed as
fetch serializing operations by the sequencer. After such an instruction is dispatched, the
instruction buffer is ushed and the fetch stalls until the instruction completes. Reads from
the IBATs are classiTed as execution serializing. Once the LSU ensures that all previous
instructions can be executed, subsequent instructions can be fetched and dispatched.
5.2 Real Addressing Mode
If address translation is disabled (MSR[IR] = 0 or MSR[DR] = 0) for a particular access,
the effective address is treated as the physical address and is passed directly to the memory
subsystem as described in Chapter 7, òMemory Management,ó in
The
Programming
Environments Manual
.
Note that the default WIMG bits (0b0011) cause data accesses to be considered cacheable
(I = 0) and thus load and store accesses are weakly ordered. This is the case even if the data
cache is disabled in the HID0 register (as it is out of hard reset). If I/O devices require load
and store accesses to occur in strict program order (strongly ordered), translation must be
enabled so that the corresponding I bit can be set. Note also, that the G bit must be set to
ensure that the accesses are strongly ordered. For instruction accesses, the default memory
access mode bits (WIMG) are also 0b0011. That is, instruction accesses are considered
cacheable (I = 0), and the memory is guarded. Again, instruction accesses are considered
cacheable even if the instruction cache is disabled in the HID0 register (as it is out of hard
reset). The W and M bits have no effect on the instruction cache.
For information on the synchronization requirements for changes to MSR[IR] and
MSR[DR], refer to Section 2.3.2.4, òSynchronization,ó in this manual, and
òSynchronization Requirements for Special Registers and for Lookaside Buffersó in
Chapter 2, òPowerPC Register Set,ó in
The Programming Environments Manual.
Table 5-6. MPC7400 Microprocessor MMU Registers
Register
Description
Segment registers
(SR0DSR15)
The sixteen 32-bit segment registers are present only in 32-bit implementations of the
PowerPC architecture. The Telds in the segment register are interpreted differently
depending on the value of bit 0. The segment registers are accessed by the
mtsr
,
mtsrin
,
mfsr
, and
mfsrin
instructions.
BAT registers
(IBAT0UDIBAT3U,
IBAT0LDIBAT3L,
DBAT0UDDBAT3U, and
DBAT0LDDBAT3L)
There are 16 BAT registers, organized as four pairs of instruction BAT registers
(IBAT0UDIBAT3U paired with IBAT0LDIBAT3L) and four pairs of data BAT registers
(DBAT0UDDBAT3U paired with DBAT0LDDBAT3L). The BAT registers are deTned as
32-bit registers in 32-bit implementations. These are special-purpose registers that
are accessed by the
mtspr
and
mfspr
instructions.
SDR1
The SDR1 register speciTes the variables used in accessing the page tables in
memory. SDR1 is deTned as a 32-bit register for 32-bit implementations. This
special-purpose register is accessed by the
mtspr
and
mfspr
instructions.