Introduction
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
1-15
ID012310
Non-Confidential, Unrestricted Access
The MMU is responsible for protection checking, address translation, and memory attributes,
and some of these can be passed to an external level two memory system. The memory
translations are cached in MicroTLBs for each of the instruction and data caches, with a single
Main TLB backing the MicroTLBs.
The MMU has the following features:
•
matches Virtual Address, ASID, and NSTID
•
each TLB entry is marked with the NSTID
•
checks domain access permissions
•
checks memory attributes
•
translates virtual-to-physical address
•
supports four memory page sizes
•
maps accesses to cache, TCM, peripheral port, or external memory
•
hardware handles TLB misses
•
software control of TLB.
Paging
Four page sizes are supported:
•
16MB super sections
•
1MB sections
•
64KB large pages
•
4KB small pages.
Domains
Sixteen access domains are supported.
TLB
A two-level TLB structure is implemented. Eight entries in the main TLB are lockable.
Hardware TLB loading is supported, and is backwards compatible with previous versions of the
ARM architecture.
ASIDs
TLB entries can be global, or can be associated with particular processes or applications using
Application Space IDentifiers
(ASIDs). ASIDs enable TLB entries to remain resident during
context switches to avoid subsequent reload of TLB entries and also enable task-aware
debugging.
NSTID
TrustZone extensions enable the system to mark each entry in the TLB as Secure or Non-secure
with the
Non-secure Table IDentifier
(NSTID).
System control coprocessor
Cache, TCM, and DMA operations are controlled through a dedicated coprocessor, CP15,
integrated within the core. This coprocessor provides a standard mechanism for configuring the
level one memory system, and also provides functions such as memory barrier instructions. See
System control
on page 1-21 for more details.