
MOTOROLA
Chapter 5. Memory Management
5-1
Chapter 5
Memory Management
50
50
This chapter describes the PowerPC 603e microprocessor’s implementation of the memory
management unit (MMU) specifications provided by the PowerPC operating environment
architecture (OEA) for PowerPC processors. The 603e MMU implementation is very
similar to that of the PowerPC 603 microprocessor except that the 603e implements an
extra key bit in the SRR1 register that simplifies the table search software. In addition,
because the 603e does not support direct-store bus accesses, it causes a DSI exception when
a direct-store segment is encountered. Refer to Appendix C, “PowerPC 603 Processor
System Design and Programming Considerations,” for a complete description of the
differences applicable to the PowerPC 603 microprocessor.
The primary function of the MMU in a PowerPC processor is the translation of logical
(effective) addresses to physical addresses (referred to as real addresses in the architecture
specification) for memory accesses, and I/O accesses (I/O accesses are assumed to be
memory-mapped). In addition, the MMU provides access protection on a segment, block,
or page basis. This chapter describes the specific hardware used to implement the MMU
model of the OEA in the 603e. Refer to Chapter 7, “Memory Management,” in
The
Programming Environments Manual
for a complete description of the conceptual model.
Two general types of accesses generated by PowerPC processors require address
translation—instruction accesses, and data accesses to memory generated by load and store
instructions. Generally, the address translation mechanism is defined in terms of segment
descriptors and page tables used by PowerPC processors to locate the effective-to-physical
address mapping for instruction and data accesses. The segment information translates the
effective address to an interim virtual address, and the page table information translates the
virtual address to a physical address.
The segment descriptors, used to generate the interim virtual addresses, are stored as on-
chip segment registers on 32-bit implementations (such as the 603e). In addition, two
translation lookaside buffers (TLBs) are implemented on the 603e to keep recently-used
page address translations on-chip. Although the PowerPC OEA describes one MMU
(conceptually), the 603e hardware maintains separate TLBs and table search resources for
instruction and data accesses that can be accessed independently (and simultaneously).
Therefore, the 603e is described as having two MMUs, one for instruction accesses
(IMMU) and one for data accesses (DMMU).