Chapter 5. Memory Management
5-1
Chapter 5
Memory Management
This chapter describes the MPC7400 microprocessors implementation of the memory
management unit (MMU) speciTcations provided by the operating environment
architecture (OEA) for PowerPC processors. 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 speciTcation) 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
speciTc hardware used to implement the MMU model of the OEA in the MPC7400. Refer
to Chapter 7, òMemory Management,ó in
The
Programming Environments Manual
for a
complete description of the conceptual model. Note that the MPC7400 does not implement
the optional direct-store facility and it is not likely to be supported in future devices.
AltiVec Technology and the MMU Implementation
The AltiVec functionality in the MPC7400 affects the MMU model in the following ways:
¥
A data stream instruction (
dst
[
t
] or
dstst
[
t
]) can cause table search operations to
occur after the instruction is retired
¥
MMU exception conditions can cause a data stream operation to abort
¥
Aborted VTQ-initiated table search operations can cause a line fetch skip
¥
Execution of a
tlbsync
instruction can cancel an outstanding table search operation
for a VTQ
Two general types of memory accesses generated by PowerPC processors require address
translationinstruction accesses and data accesses generated by load and store
instructions. Generally, the address translation mechanism is deTned in terms of the
segment descriptors and page tables PowerPC processors use to locate the
effective-to-physical address mapping for memory accesses. The segment information
translates the effective address to an interim virtual address, and the page table information
translates the interim 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 MPC7400). In addition,
two translation lookaside buffers (TLBs) are implemented on the MPC7400 to keep
recently-used page address translations on-chip. Although the PowerPC OEA describes one