
MOTOROLA
Chapter 6. Memory Management
6-25
Memory Segment Model
6.4.3
TLB Description
This section describes the hardware resources provided in the G2 core to facilitate the page
address translation process. Note that the hardware implementation of the MMU is not
specified by the architecture, and while this description applies to the G2 core, it does not
necessarily apply to other processors of this family.
6.4.3.1
TLB Organization
Because the G2 core has two MMUs (IMMU and DMMU) that operate in parallel, some of
the MMU resources are shared, and some are actually duplicated (shadowed) in each MMU
to maximize performance. Figure 6-7 shows the relationships between these resources
within both the IMMU and DMMU and how the various portions of the effective address
are used in the address translation process.
While both MMUs can be accessed simultaneously (both sets of segment registers and
TLBs can be accessed in the same clock), when there is an exception condition, only one
exception is reported at a time. ITLB miss exceptions are reported when there are no more
instructions to be dispatched or retired (the pipeline is empty). Refer to Chapter 7,
“Instruction Timing,” for more detailed information about the internal pipelines and the
reporting of exceptions.
As TLB entries are on-chip copies of PTEs in the page tables in memory, they are similar
in structure. TLB entries consist of two words; the high-order word contains the VSID and
API fields of the high-order word of the PTE and the low-order word contains the RPN,
C bit, WIMG bits, and PP bits (as in the low-order word of the PTE). In order to uniquely
identify a TLB entry as the required PTE, the TLB entry also contains five more bits of the
page index, EA[10–14] (in addition to the API bits of the PTE).
When an instruction or data access occurs, the effective address is routed to the appropriate
MMU. EA[0–3] select 1 of the 16 segment registers and the remaining effective address
bits and the virtual address from the segment register is passed to the TLB. EA[15–19] then
select two entries in the TLB; the valid bit is checked and EA[10–14], VSID, and API fields
(EA[4–9]) for the access are then compared with the corresponding values in the TLB
entries. If one of the entries hits, the PP bits are checked for a protection violation, and the
C bit is checked. If these bits do not cause an exception, the RPN value is passed to the
memory subsystem and the WIMG bits are then used as attributes for the access.
Also, note that the segment registers do not have a valid bit, and so they should also be
initialized before translation is enabled.
F
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
.