![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_93.png)
IDT MIPS32 4Kc Processor Core
Memory Management
79RC32438 User Reference Manual
2 - 31
November 4, 2002
Notes
Data TLB
The DTLB is a small 3-entry, fully associative TLB which provides a faster translation for Load/Store
addresses than is possible with the JTLB. The DTLB only maps 4-Kbyte pages/sub-pages.
Like the ITLB, the DTLB is managed by hardware and is transparent to software. Unlike the ITLB, when
translating Load/Store addresses, the JTLB is accessed in parallel with the DTLB. If there is a DTLB miss
and a JTLB hit, the DTLB can be reloaded that cycle. The DTLB is then re-accessed and the translation will
be successful. This parallel access reduces the DTLB miss penalty to 1 cycle.
Virtual to Physical Address Translation
Converting a virtual address to a physical address begins by comparing the virtual address from the
processor with the virtual addresses in the TLB. There is a match when the virtual page number (VPN) of
the address is the same as the VPN field of the entry, and either:
The Global (G) bit of both the even and odd pages of the TLB entry are set, or
The ASID field of the virtual address is the same as the ASID field of the TLB entry.
This match is referred to as a TLB hit. If there is no match, a TLB miss exception is taken by the
processor and software is allowed to refill the TLB from a page table of virtual/physical addresses in
memory.
Figure 2.25 shows the logical translation of a virtual address into a physical address. In this figure, the
virtual address is extended with an 8-bit address-space identifier (ASID), which reduces the frequency of
TLB flushing during a context switch. This 8-bit ASID contains the number assigned to that process and is
stored in the CP0 EntryHi register.
Figure 2.25 Overview of a Virtual-to-Physical Address Translation
If there is a virtual address match in the TLB, the physical frame number (PFN) is output from the TLB
and concatenated with the Offset, to form the physical address. The Offset represents an address within the
page frame space. As shown in Figure 2.25, the Offset does not pass through the TLB.
1.Virtual address (VA) represented by the
virtual page number (VPN) is compared
with tag in TLB.
2. If there is a match, the page frame
number (PFN0 or PFN1) representing
the upper bits of the physical address
(PA) is output from the TLB.
3. The Offset, which does not pass through
the TLB, is then concatenated with the PFN.
Offset
VPN
G
ASID
Virtual Address
TLB
Entry
Offset
PFN
TLB
G
ASID
VPN2
C0 D0 V0
PFN0
PFN1
C1 D1 V1
Physical Address