
MOTOROLA
Chapter 5. Memory Management
5-3
5.1.1 Memory Addressing
A program references memory using the effective (logical) address computed by the
processor when it executes a load, store, or cache instruction, and when it fetches the next
instruction. The effective address is translated to a physical address according to the
procedures described in Chapter 7, “Memory Management,” in
The
Programming
Environments Manual
, augmented with information in this chapter. The memory
subsystem uses the physical address for the access.
For a complete discussion of effective address calculation, see Section 2.3.2.3, “Effective
Address Calculation.”
5.1.2 MMU Organization
Figure 5-1 shows the conceptual organization of a PowerPC MMU in a 32-bit
implementation; note that it does not describe the specific hardware used to implement the
memory management function for a particular processor. Processors may optionally
implement on-chip TLBs and may optionally support the automatic search of the page
tables for PTEs. In addition, other hardware features (invisible to the system software) not
depicted in the figure may be implemented.
Page address
translation
Architecturally defined
Translations stored as PTEs in hashed page tables in memory
Page table size determined by mask in SDR1 register
TLBs
Architecturally defined
Instructions for maintaining optional TLBs (
tlbie
instruction in
603e)
603e-specific
64-entry, two-way set associative ITLB
64-entry, two-way set associative DTLB
Segment descriptors
Architecturally defined
Stored as segment registers on-chip
Page table search
support
603e-specific
Three MMU exceptions defined: ITLB miss exception, DTLB
miss on load exception, and DTLB miss on store (or C = 0)
exception; MMU-related bits set in SRR1 for these exceptions
IMISS and DMISS registers (missed effective address)
HASH1 and HASH2 registers (PTEG addr)
ICMP and DCMP registers (for comparing PTEs)
RPA register (for loading TLBs)
tlbli r
B instruction for loading ITLB entries
tlbld r
B instruction for loading DTLB entries
Shadow registers for GPR0–GPR3 (can use
r0
–
r3
in table
search handler without corruption of
r0
–
r3
in context that was
previously executing)
Table 5-1. MMU Features Summary (Continued)
Feature Category
Architecturally Defined/
603e-Specific
Feature