
6-14
G2 PowerPC Core Reference Manual
For More Information On This Product,
Go to: www.freescale.com
MOTOROLA
MMU Features
If the T bit in the corresponding segment descriptor is zero, page address translation is
selected. The information in the segment descriptor is then used to generate the 52-bit
virtual address. The virtual address is then used to identify the page address translation
information (stored as page table entries (PTEs) in a page table in memory). For increased
performance, the core has two TLBs to store recently-used PTEs on-chip.
If an access hits in the appropriate TLB, the page translation occurs and the physical
address bits are forwarded to the memory subsystem. If the required PTE is not resident,
the MMU requires a search of the page table. In this case, the core traps to one of three
exception handlers for the system software to perform the page table search. If the PTE is
successfully matched, a new TLB entry is created and the page translation is once again
attempted. This time, the TLB is guaranteed to hit. Once the PTE is located, the access is
qualified with the appropriate protection bits. If the access is a protection violation (not
allowed), an exception (instruction access or data access) is generated.
If the PTE is not found by the table search operation, a page fault condition exists, and the
TLB miss exception handlers synthesize either an ISI or DSI exception to handle the page
fault.
6.1.7
MMU Exceptions Summary
In order to complete any memory access, the effective address must be translated to a
physical address. In the G2 core, an MMU exception condition occurs if this translation
fails for one of the following reasons:
Page fault—There is no valid page table entry to identify the page specified by the
effective address (and segment descriptor) and there is no valid BAT translation.
An address translation is found but the access is not allowed by the memory
protection mechanism.
Additionally, because the core relies on software to perform table search operations, the
processor also takes an exception when:
There is a miss in the corresponding (instruction or data) TLB.
The page table requires an update to the changed (C) bit.
The state saved by the processor for each of these exceptions contains information that
identifies the address of the failing instruction. Refer to Chapter 5, “Exceptions,” for a more
detailed description of exception processing.
Because a page fault condition (PTE not found in the page tables in memory) is detected by
the software that performs the table search operation (and not the core hardware), it does
not cause a G2 core exception, in the strictest sense, in that exception processing as
described in Chapter 5, “Exceptions,” does not occur. However, in order to maintain
architectural compatibility with software written for other devices that implement the
PowerPC architecture, the software that detects this condition should synthesize an
F
Freescale Semiconductor, Inc.
n
.