05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Common Memory System <strong>Architecture</strong> Features<br />

B2.1 About the memory system architecture<br />

The <strong>ARM</strong> architecture supports different implementation choices for the memory system microarchitecture<br />

<strong>and</strong> memory hierarchy, depending on the requirements of the system being implemented. In this respect, the<br />

memory system architecture describes a design space in which an implementation is made. The architecture<br />

does not prescribe a particular form for the memory systems. Key concepts are abstracted in a way that<br />

enables implementation choices to be made while enabling the development of common software routines<br />

that do not have to be specific to a particular microarchitectural form of the memory system. For more<br />

information about the concept of a hierarchical memory system see Memory hierarchy on page A3-52.<br />

B2.1.1 Form of the memory system architecture<br />

<strong>ARM</strong>v7 supports different forms of the memory system architecture, that map onto the different architecture<br />

profiles. Two of these are described in this manual:<br />

<strong>ARM</strong>v7-A, the A profile, requires the inclusion of a Virtual Memory System <strong>Architecture</strong> (VMSA),<br />

as described in Chapter B3 Virtual Memory System <strong>Architecture</strong> (VMSA).<br />

<strong>ARM</strong>v7-R, the R profile, requires the inclusion of a Protected Memory System <strong>Architecture</strong> (PMSA),<br />

as described in Chapter B4 Protected Memory System <strong>Architecture</strong> (PMSA).<br />

Both of these memory system architectures provide mechanisms to split memory into different regions.<br />

Each region has specific memory types <strong>and</strong> attributes. The two memory system architectures have different<br />

capabilities <strong>and</strong> programmers’ models.<br />

The memory system architecture model required by <strong>ARM</strong>v7-M, the M profile, is outside the scope of this<br />

manual. It is described in the <strong>ARM</strong>v7-M <strong>Architecture</strong> <strong>Reference</strong> <strong>Manual</strong>.<br />

B2.1.2 Memory attributes<br />

Summary of <strong>ARM</strong>v7 memory attributes on page A3-25 summarizes the memory attributes, including how<br />

different memory types have different attributes. Each region of memory has a set of memory attributes:<br />

B2.1.3 Levels of cache<br />

in a PMSA implementation the attributes are part of each MPU memory region definition<br />

in a VMSA implementation the translation table entry that defines a virtual memory region also<br />

defines the attributes for that region.<br />

From <strong>ARM</strong>v7, the architecturally-defined cache control mechanism covers multiple levels of cache, as<br />

described in Caches on page B2-3. Also, it permits levels of cache beyond the scope of these cache control<br />

mechanisms, see System-level caches on page B2-26.<br />

Note<br />

Before <strong>ARM</strong>v7, the architecturally-defined cache control mechanism covers only a single level of cache,<br />

<strong>and</strong> any support for other levels of cache is IMPLEMENTATION DEFINED.<br />

B2-2 Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DDI 0406B

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!