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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Cache behavior at reset<br />

<strong>ARM</strong>v6 Differences<br />

In <strong>ARM</strong>v6, all cache lines in a cache, <strong>and</strong> all cached entries associated with branch prediction support, are<br />

invalidated by a reset. This is different to the <strong>ARM</strong>v7 behavior described in Behavior of the caches at reset<br />

on page B2-6.<br />

G.6.3 Tightly Coupled Memory (TCM) support<br />

Tightly Coupled Memory (TCM) support on page AppxG-9 introduced TCMs <strong>and</strong> their use at the<br />

application level. In addition, TCMs can be used to hold critical system-level routines such as interrupt<br />

h<strong>and</strong>lers, <strong>and</strong> critical data structures such as interrupt stacks. Using TCMs can avoid indeterminate cache<br />

accesses.<br />

<strong>ARM</strong>v6 supports up to four banks of data TCM <strong>and</strong> up to four banks of instruction TCM. You must program<br />

each bank to be in a different location in the physical memory map.<br />

<strong>ARM</strong>v6 expects TCM to be used as part of the physical memory map of the system, <strong>and</strong> not to be backed<br />

by a level of external memory with the same physical addresses. For this reason, TCM behaves differently<br />

from a cache for regions of memory that are marked as being Write-Through Cacheable. In such regions, a<br />

write to a memory locations in the TCM never causes an external write.<br />

A particular memory location must be contained either in the TCM or in the cache, <strong>and</strong> cannot be in both.<br />

In particular, no coherency mechanisms are supported between the TCM <strong>and</strong> the cache. This means that it<br />

is important when allocating the TCM base addresses to ensure that the same address ranges are not<br />

contained in the cache.<br />

TCM support <strong>and</strong> VMSA<br />

TCMs are supported in <strong>ARM</strong>v6 with VMSA support. However, there are some usage restrictions.<br />

Restriction on translation table mappings<br />

In a VMSA implementation, the TCM must appear to be implemented as Physically-Indexed,<br />

Physically-Addressed memory. This means it must behave as follows:<br />

Entries in the TCM do not have to be cleaned or invalidated by software for different virtual to<br />

physical address mappings.<br />

Aliases to the same physical address can exist in memory regions that are held in the TCM. This<br />

means the translation table mapping restrictions for TCM are less restrictive than for cache memory.<br />

See Virtual to physical translation mapping restrictions on page AppxG-26 for cache memory<br />

restrictions.<br />

Restriction on translation table attributes<br />

In a VMSA implementation, the translation table entries that describe areas of memory that are h<strong>and</strong>led by<br />

the TCM can be Cacheable or Non-cacheable, but must not be marked as Shareable. If they are marked as<br />

either Device or Strongly-ordered, or have the Shareable attribute set, the locations that are contained in the<br />

TCM are treated as being Non-shareable, Non-cacheable.<br />

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

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

Saved successfully!

Ooh no, something went wrong!