![](http://datasheet.mmic.net.cn/170000/TS-X-PC603EMGB-C3ML_datasheet_10081766/TS-X-PC603EMGB-C3ML_33.png)
TSPC603E
33/38
5.5. Memory management
The following subsections describe the memory management features of the PowerPC architecture, and the 603e implementation,
respectively.
5.5.1. PowerPC memory management
The primary functions of the MMU are to translate logical (effective) addresses to physical addresses for memory accesses, and to
provide access protection on blocks and pages of memory.
There are two types of accesses generated by the 603e that require address translation - instruction accesses, and data accesses to
memory generated by load and store instructions.
The PowerPC MMU and exception model support demand-paged virtual memory. Virtual memory management permits execution of
programs larger than the size of physical memory ; demand-paged implies that individual pages are loaded into physical memory
from system memory only when they are first accessed by an executing program.
The hashed page table is a variable-sized data structure that defines the mapping between virtual page numbers and physical page
numbers. The page table size is a power of 2, and its starting address is a multiple of its size.
The page table contains a number of page table entry groups (PTEGs). A PTEG contains eight page table entries (PTEs) of eight
bytes each ; therefore, each PTEG is 64 bytes long. PTEG addresses are entry points for table search operations.
Address translations are enabled by setting bits in the MSR-MSR[IR] enables instruction address translations and MSR[DR] enables
data address translations.
5.5.2. PowerPC 603e microprocessor memory management
The instruction and data memory management units in the 603e provide 4 Gbyte of logical address space accessible to supervisor
and user programs with a 4-Kbyte page size and 256-Mbyte segment size. Block sizes range from 128 Kbyte to 256Mbyte and are
software selectable. In addition, the 603e uses an interim 52-bit virtual address and hashed page tables for generating 32-bit physical
addresses. The MMUs in the 603e rely on the exception processing mechanism for the implementation of the paged virtual memory
environment and for enforcing protection of designated memory areas.
Instruction and data TLBs provide address translation in parallel with the on-chip cache access, incurring no additional time penalty in
the event of a TLB hit. A TLB is a cache of the most recently used page table entries. Software is responsible for maintaining the
consistency of the TLB with memory. The 603e’s TLBs are 64-entry, two-way set-associative caches that contain instruction and data
address translations. The 603e provides hardware assist for software table search operations through the ashed page table on TLB
misses. Supervisor software can invalidate TLB entries selectively.
The 603e also provides independent four-entry BAT arrays for instructions and data that maintain address translations for blocks of
memory. These entries define blocks that can vary from 128 Kbyte to 256 Mbyte. The BAT arrays are maintained by system software.
As specified by the PowerPC architecture, the hashed page table is a variable-sized data structure that defines the mapping between
virtual page numbers and physical page numbers. The page table size is a power of 2, and its starting address is a multiple of its size.
Also as specified by the PowerPC architecture, the page table contains a number of page table entry groups (PTEGs). A PTEG con-
tains eight page table entries (PTEs) of eight bytes each ; therefore, each PTEG is 64 bytes long. PTEG addresses are entry points for
table search operations.