SA-1100 Developer’s Manual 7-1
Memory-Management Unit (MMU)
7
This chapter describes the memory-management functions.
7.1 Overview
The Intel
®
StrongARM
®
SA-1100 Microprocessor (SA-1100) implements the standard ARM
™
memory-management functions using two 32-entry fully associative translation buffers (TBs). One
is used for instruction accesses and the other for data accesses. On a TB miss, the translation table
hardware is invoked to retrieve the translation and access permission information. Once retrieved,
if the entry maps to a valid page or section, then the information is placed into the TB. The
replacement algorithm in the TB is round robin. For an invalid page or section, an abort is
generated and the entry is not placed in the TB.
7.1.1 MMU Registers
See Section 5.2, “Coprocessor 15 Definition” on page 5-2 for a description of the Memory
Management Unit (MMU) coprocessor 15 registers supported by the SA-1100.
7.2 MMU Faults and CPU Aborts
The MMU generates four faults:
• Alignment fault
• Translation fault
• Domain fault
• Permission fault
Alignment faults are generated by word loads or stores with the low-order two address bits
nonzero, and by load or store half words when the low-order address bit is a one. Translation faults
are generated by access to pages marked invalid by the memory-management page tables. Domain
faults and permission faults are generated by accesses to memory that are protected by the current
mode, domain, and page protection. See the ARM Architecture Reference for more information. In
addition, an external abort may be raised on external data accesses.
7.3 Data Aborts
The SA-1100 takes a data abort exception due to: MMU-generated exceptions, accessing reserved
memory space, and assertion of the abort pin while accessing expansion memory. Writes to
memory areas marked as bufferable ignore the external abort pin.