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 />

The <strong>ARM</strong>v7 specification of the cache maintenance operation describe what they are guaranteed to do in a<br />

system. It does not limit other behaviors that might occur, provided they are consistent with the requirements<br />

for cache behavior described in Cache behavior on page B2-5.<br />

This means that as a side-effect of a cache maintenance operation:<br />

any location in the cache might be cleaned<br />

any unlocked location in the cache might be cleaned <strong>and</strong> invalidated.<br />

Note<br />

<strong>ARM</strong> recommends that, for best performance, such side-effects are kept to a minimum. In particular, when<br />

the Security Extensions are implemented <strong>ARM</strong> strongly recommends that the side-effects of operations<br />

performed in Non-secure state do not have a significant performance impact on execution in Secure state.<br />

Effect of the Security Extensions on the cache maintenance operations<br />

When the Security Extensions are implemented, each security state has its own physical address space. For<br />

details of how this affects the cache maintenance operations see The effect of the Security Extensions on the<br />

cache operations on page B3-27.<br />

The <strong>ARM</strong>v7 abstraction of the cache hierarchy<br />

The following subsections describe the <strong>ARM</strong>v7 abstraction of the cache hierarchy:<br />

Cache hierarchy abstraction for address-based operations<br />

Cache hierarchy abstraction for set/way-based operations on page B2-16.<br />

Example code for cache maintenance operations on page B2-16 gives an example of cache maintenance<br />

code, that can be adapted for other cache operations, <strong>and</strong> Boundary conditions for cache maintenance<br />

operations on page B2-17 gives more information about the cache operations.<br />

Cache hierarchy abstraction for address-based operations<br />

The addressed-based cache operations are described as operating by MVA. Each of these operations is<br />

always qualified as being one of:<br />

performed to the point of coherency<br />

performed to the point of unification.<br />

See Terms used in describing cache operations on page B2-10 for definitions of point of coherency <strong>and</strong><br />

point of unification, <strong>and</strong> more information about possible meanings of MVA.<br />

This means that the full list of possible address-based cache operations is:<br />

Invalidate data cache or unified cache line by MVA to the point of coherency<br />

Clean data cache or unified cache line by MVA to the point of coherency<br />

Clean data cache or unified cache line by MVA to the point of unification<br />

Clean <strong>and</strong> invalidate data cache or unified cache line by MVA to the point of coherency<br />

Invalidate instruction cache line by MVA to the point of unification.<br />

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

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

Saved successfully!

Ooh no, something went wrong!