29.11.2014 Views

Fast Models Reference Manual - ARM Information Center

Fast Models Reference Manual - ARM Information Center

Fast Models Reference Manual - ARM Information Center

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.

AEM <strong>ARM</strong>v7-A specifics<br />

When the parameter vmsa.infinite_write_buffer is set, write accesses performed by one core<br />

are not visible to other cores, or outside the processor, unless a relevant barrier operation is<br />

performed or until a sufficiently long elapsed delay has occurred.<br />

You can adjust the delay time with the parameter vmsa.write_buffer_delay, which is the<br />

approximate number of instructions between successive buffer drains. If you set this parameter<br />

to 0, then no time-based drains occur, and you must perform explicit barrier operations.<br />

In regions marked as Device or Strongly Ordered memory, accesses complete in an order<br />

relative to other accesses of the same type, but can be interleaved with accesses to Normal<br />

memory. Writes to these regions are not combinable, and reads cannot be satisfied from the<br />

buffer, so an explicit read access invokes the completion of all pending write accesses to that<br />

memory type.<br />

You can use this feature most effectively with the cache incoherence check. See Cache<br />

incoherence check.<br />

A.1.4<br />

Treat cache invalidate operation as clean and invalidate<br />

Rating: 1.<br />

With the parameter vmsa.cache_treat_invalidate_as_clean set as true, a cache invalidate<br />

operation cleans any dirty lines before they are invalidated.<br />

Note<br />

It is never appropriate to rely on incoherence effects of cached memory, because a cached view<br />

can be cleaned or evicted at any time.<br />

A.1.5<br />

Cache incoherence check<br />

Rating: 5.<br />

When the parameter vmsa.cache_incoherence_check is set, the model warns about any data-side<br />

memory read accesses whose result could have been ambiguous because of incoherency in the<br />

system. The warning contains the physical address being accessed, and at least two data values<br />

that could have been the result.<br />

For example, consider an area of memory that has been copied into the Level 1 cache. If the<br />

memory is changed by an external agent, then a read to these addresses could return either the<br />

old value from the cache or the new value if that cache line is evicted.<br />

Similar effects can occur in MP systems if newer values are pending in the writebuffer, or in a<br />

writeback cache block outside the inner shared domain.<br />

A.1.6<br />

Delayed operation of CP15 instructions<br />

Rating: 2.<br />

In general, the functional effect of any operation in the system control co-processor, CP15 is not<br />

guaranteed to occur until after an Instruction Synchronization Barrier (ISB) is subsequently<br />

executed, or an exception entry or return occurs. There are several exceptions to this rule. Some<br />

guarantee earlier visibility in certain circumstances, and others require extra steps to guarantee<br />

that the operation takes place. These are described more fully in the <strong>ARM</strong> Architecture<br />

<strong>Reference</strong> <strong>Manual</strong> <strong>ARM</strong>v7-A and <strong>ARM</strong>v7-R Edition.<br />

<strong>ARM</strong> DUI 0423J Copyright © 2008-2011 <strong>ARM</strong>. All rights reserved. A-3<br />

ID051811<br />

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!