
5-2
MPC603e & EC603e RISC Microprocessors User's Manual
MOTOROLA
The block address translation (BAT) mechanism is a software-controlled array that stores
the available block address translations on-chip. BAT array entries are implemented as pairs
of BAT registers that are accessible as supervisor-level special-purpose registers (SPRs).
There are separate instruction and data BAT mechanisms, and in the 603e, they reside in
the instruction and data MMUs respectively.
The MMUs, together with the exception processing mechanism, provide the necessary
support for the operating system to implement a paged virtual memory environment and for
enforcing protection of designated memory areas. Exception processing is described in
Chapter 4, “Exceptions.” Section 4.2, “Exception Processing,” describes the MSR, which
controls some of the critical functionality of the MMUs.
5.1 MMU Features
The 603e implements the memory management specification of the PowerPC OEA for 32-
bit implementations. Thus, it provides 4 Gbytes of effective address space accessible to
supervisor and user programs with a 4-Kbyte page size and 256-Mbyte segment size. In
addition, the MMUs of 32-bit PowerPC processors use an interim virtual address (52 bits)
and hashed page tables in the generation of 32-bit physical addresses. PowerPC processors
also have a block address translation (BAT) mechanism for mapping large blocks of
memory. Block sizes range from 128 Kbyte to 256 Mbyte and are software-programmable.
The 603e completely implements all features required by the MMU specifications of the
PowerPC architecture (OEA) for 32-bit implementations. Table 5-1 summarizes all 603e
MMU features including the architectural features of PowerPC MMUs (defined by the
OEA) for 32-bit processors and the implementation-specific features provided by the 603e.
Table 5-1. MMU Features Summary
Feature Category
Architecturally Defined/
603e-Specific
Feature
Address ranges
Architecturally defined
2
32
bytes of effective address
2
52
bytes of virtual address
2
32
bytes of physical address
Page size
Architecturally defined
4 Kbytes
Segment size
Architecturally defined
256 Mbytes
Block address
translation
Architecturally defined
Range of 128 Kbyte–256 Mbytes sizes
Implemented with IBAT and DBAT registers in BAT array
Memory protection
Architecturally defined
Segments selectable as no-execute
Pages selectable as user/supervisor and read-only
Blocks selectable as user/supervisor and read-only
Page history
Architecturally defined
Referenced and changed bits defined and maintained