Atmel ARM-Based Evaluation Kit AT91SAM9N12-EK AT91SAM9N12-EK Data Sheet

Product codes
AT91SAM9N12-EK
Page of 1104
46
SAM9N12/SAM9CN11/SAM9CN12 [DATASHEET]
11063K–ATARM–05-Nov-13
9.6.2 
Translation Look-aside Buffer (TLB)
The Translation Look-aside Buffer (TLB) caches translated entries and thus avoids going through the translation process
every time. When the TLB contains an entry for the MVA (Modified Virtual Address), the access control logic determines
if the access is permitted and outputs the appropriate physical address corresponding to the MVA. If access is not
permitted, the MMU signals the CPU core to abort.
If the TLB does not contain an entry for the MVA, the translation table walk hardware is invoked to retrieve the translation
information from the translation table in physical memory.
9.6.3 
Translation Table Walk Hardware
The translation table walk hardware is a logic that traverses the translation tables located in physical memory, gets the
physical address and access permissions and updates the TLB.
The number of stages in the hardware table walking is one or two depending whether the address is marked as a
section-mapped access or a page-mapped access.
There are three sizes of page-mapped accesses and one size of section-mapped access. Page-mapped accesses are
for large pages, small pages and tiny pages. The translation process always begins with a level one fetch. A section-
mapped access requires only a level one fetch, but a page-mapped access requires an additional level two fetch. For
further details on the MMU, please refer to chapter 3 in ARM926EJ-S Technical Reference Manual.
9.6.4 MMU 
Faults
The MMU generates an abort on the following types of faults:
Alignment faults (for data accesses only)
Translation faults
Domain faults
Permission faults
The access control mechanism of the MMU detects the conditions that produce these faults. If the fault is a result of
memory access, the MMU aborts the access and signals the fault to the CPU core.The MMU retains status and address
information about faults generated by the data accesses in the data fault status register and fault address register. It also
retains the status of faults generated by instruction fetches in the instruction fault status register.
The fault status register (register 5 in CP15) indicates the cause of a data or prefetch abort, and the domain number of
the aborted access when it happens. The fault address register (register 6 in CP15) holds the MVA associated with the
access that caused the Data Abort. For further details on MMU faults, please refer to chapter 3 in ARM926EJ-S
Technical Reference Manual.
9.7
Caches and Write Buffer
The ARM926EJ-S contains a 16KB Instruction Cache (ICache), a 16KB Data Cache (DCache), and a write buffer.
Although the ICache and DCache share common features, each still has some specific mechanisms.
The caches (ICache and DCache) are four-way set associative, addressed, indexed and tagged using the Modified
Virtual Address (MVA), with a cache line length of eight words with two dirty bits for the DCache. The ICache and
DCache provide mechanisms for cache lockdown, cache pollution control, and line replacement.
A new feature is now supported by ARM926EJ-S caches called allocate on read-miss commonly known as wrapping.
This feature enables the caches to perform critical word first cache refilling. This means that when a request for a word
causes a read-miss, the cache performs an AHB access. Instead of loading the whole line (eight words), the cache loads
the critical word first, so the processor can reach it quickly, and then the remaining words, no matter where the word is
located in the line.
The caches and the write buffer are controlled by the CP15 register 1 (Control), CP15 register 7 (cache operations) and
CP15 register 9 (cache lockdown).