The ARM Memory Management Unit (MMU) includes a translation table walk unit that translates virtual addresses to physical addresses during TLB misses by accessing memory-based translation tables. It utilizes multi-level tables and Translation Table Base Registers to manage the translation process, while performance is enhanced by caching recent translations in the TLB. The Translation Control Register configures various aspects of the translation regime, including address space size and cacheability.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
5 views2 pages
Translation_Table_walk_unit
The ARM Memory Management Unit (MMU) includes a translation table walk unit that translates virtual addresses to physical addresses during TLB misses by accessing memory-based translation tables. It utilizes multi-level tables and Translation Table Base Registers to manage the translation process, while performance is enhanced by caching recent translations in the TLB. The Translation Control Register configures various aspects of the translation regime, including address space size and cacheability.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2
In ARM's Memory Management Unit (MMU), the translation table walk unit
is responsible for translating virtual addresses to physical addresses when
a TLB miss occurs, by sequentially accessing memory-based translation tables. Here's a more detailed explanation: Purpose: The MMU, which includes the translation table walk unit, is responsible for translating virtual addresses used by software into physical addresses used by the memory system. TLB Miss: When a requested virtual address is not found in the Translation Lookaside Buffer (TLB), a TLB miss occurs, triggering the translation table walk. Table Walk Process: The translation table walk unit initiates a lookup process in memory-based translation tables to find the mapping between the virtual and physical addresses. Multi-Level Tables: ARM MMU uses multi-level translation tables, where the address is used to index into different levels of tables until the physical address is found. Table Walk Unit Functionality: The table walk unit reads the translation table entries from memory, using the virtual address to index into the tables. Performance: Translation table walks can be slow as they involve memory accesses, so the TLB is used to cache recent translations to improve performance. Memory Coherence: When the data MMU performs an external memory operation during a table walk, the write buffer is flushed to ensure memory coherence. Translation Table Base Registers: The TTBR0 and TTBR1 registers store the base addresses of the translation tables, and the MMU uses these registers to initiate the table walk. Faults: If a translation fault occurs during the table walk, the MMU signals a Translation Fault, indicating that the virtual address is not valid or that the access is not permitted. Page Sizes: ARM MMU allows for mixing and matching of page sizes, which can be 4KiB, 16KiB, or 64KiB.
The Translation Control Register (TCR_ELx) configures many aspects of
the translation regime, including: TnSZ : Controls the size of the virtual address space that is being described TGn : Sets the granule, which is the smallest describable block, for the translation regime IGRNn/ORGNn/SH : Specifies the cacheability and shareability that the MMU should use for table walks TBIn : To byte ignore. Setting this bit causes the top 8 bits of the virtual address to be ignored by the processor when performing virtual to physical translation. Allowing software to store something else in those bits instead. In this exercise, we do not use this feature, so we leave it disabled.