TLB
Victim pointer
Base pointer
Entry N–1
Entries 0, 1, and 2
are locked
Entries 3 through N–1
can be overwritten
Entry 3
Entry 2
Entry 1
Entry 0
Preliminary
www.ti.com
System MMU
1.4.3.1.3 Translation Lookaside Buffer
Translating virtual addresses to physical addresses is required for each memory access in systems using
an MMU. To accelerate this translation process, a cache, or TLB, holds the result of recent translations.
For every translation, the MMU internal logic first checks whether the requested translation is already
cached in the TLB. If the translation is cached, this translation is used; otherwise the translation is
retrieved from the translation tables and the TLB is updated. If the TLB is full, one of its entries must be
replaced. This entry is selected on a random basis.
The first n TLB entries, where n < Total Number N of TLB Entries , can be protected (locked) against
being overwritten by setting the TLB base pointer to n . When this mechanism is used, only unprotected
entries can be overwritten. The victim pointer indicates the next TLB entry to be written.
shows an example of the TLB with N TLB entries (ranging from 0 to N-1). The base pointer contains the
value "3" protecting Entry 0, Entry 1, and Entry 2 and the victim pointer points to the next TLB entry to be
updated.
NOTE:
The last TLB entry (Entry N-1) always remains unprotected.
Figure 1-22. TLB-Entry Lock Mechanism
The table walking logic automatically writes the TLB entries. The entries can also be manually written,
which is done typically to ensure that the translation of time-critical data accesses is already present in the
TLB so that they execute as fast as possible. The entries must be locked to prevent them from being
overwritten.
1.4.3.1.3.1 TLB Entry Format
TLB entries consist of two parts:
•
The CAM part contains the virtual address tag used to determine if a virtual address translation is in
the TLB. The TLB acts like a fully associative cache addressed by the virtual address tag. The CAM
part also contains the section/page size, as well as the preserved and the valid parameters. See the
register table for more details.
•
The RAM part contains the address translation that belongs to the virtual address tag as well as the
endianness, element size, and mixed parameters described in First-Level Translation Table. See the
MMU_RAM register table for more details.
The valid parameter specifies whether an entry is valid or not. The preserved parameter determines the
behavior of an entry in the event of a TLB flush. If an entry is set as preserved, it is not deleted when a
TLB is flushed, that is, when [0] GLOBALFLUSH is set to 1. Preserved entries must be deleted manually.
127
SPRUGX9 – 15 April 2011
Chip Level Resources
© 2011, Texas Instruments Incorporated
Содержание TMS320C6A816 Series
Страница 2: ...Preliminary 2 SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 92: ...92 Read This First SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1122: ...1122 Multichannel Audio Serial Port McASP SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1562: ...1562 Real Time Clock RTC SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1658: ...1658 Timers SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1750: ...1750 UART IrDA CIR Module SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1984: ...1984 Universal Serial Bus USB SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...