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

If the address of an entry on which the invalidate operates does not have a Normal Cacheable<br />

attribute, or if the cache is disabled, then an invalidate operation also ensures that this<br />

address is not present in the cache.<br />

Note<br />

Entries for addresses with a Normal Cacheable attribute can be allocated to an enabled cache<br />

at any time, <strong>and</strong> so the cache invalidate operation cannot ensure that the address is not<br />

present in the cache.<br />

Clean <strong>and</strong> Invalidate<br />

A cache clean <strong>and</strong> invalidate operation behaves as the execution of a clean operation<br />

followed immediately by an invalidate operation. Both operations are performed to the same<br />

location.<br />

The points to which a cache maintenance operation can be defined differ depending on whether the<br />

operation is by MVA or by set/way:<br />

For set/way operations, <strong>and</strong> for All (entire cache) operations, the point is defined to be to the next<br />

level of caching.<br />

For MVA operations, two conceptual points are defined:<br />

Point of coherency (POC)<br />

For a particular MVA, the POC is the point at which all agents that can access memory<br />

are guaranteed to see the same copy of a memory location. In many cases, this is<br />

effectively the main system memory, although the architecture does not prohibit the<br />

implementation of caches beyond the POC that have no effect on the coherence between<br />

memory system agents.<br />

Point of unification (POU)<br />

The PoU for a processor is the point by which the instruction <strong>and</strong> data caches <strong>and</strong> the<br />

translation table walks of that processor are guaranteed to see the same copy of a memory<br />

location. In many cases, the point of unification is the point in a uniprocessor memory<br />

system by which the instruction <strong>and</strong> data caches <strong>and</strong> the translation table walks have<br />

merged.<br />

The PoU for an Inner Shareable shareability domain is the point by which the instruction<br />

<strong>and</strong> data caches <strong>and</strong> the translation table walks of all the processors in that Inner<br />

Shareable shareability domain are guaranteed to see the same copy of a memory location.<br />

Defining this point permits self-modifying code to ensure future instruction fetches are<br />

associated with the modified version of the code by using the st<strong>and</strong>ard correctness policy<br />

of:<br />

1. clean data cache entry by address<br />

2. invalidate instruction cache entry by address.<br />

The PoU also enables a uniprocessor system which does not implement the<br />

Multiprocessing Extensions to use the clean data cache entry operation to ensure that all<br />

writes to the translation tables are visible to the translation table walk hardware.<br />

B2-12 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!