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

A.1 Boundary features and architectural checkers<br />

Boundary features and architectural checkers are model capabilities that help your development<br />

and testing process by exposing latent problems in the target code. Certain boundary features or<br />

architectural checkers, however, might have an adverse effect on the overall running speed of<br />

target code. There are two reasons that this occurs:<br />

• some checkers require the host CPU to perform extra work, for example to keep track of<br />

historical information<br />

• some features cause the simulated target processor to perform extra work, for example in<br />

the number of steps required to perform cache maintenance.<br />

As a result, you can optionally enable or disable checkers in cases where there is an impact on<br />

performance. In the sections that follow, the effect of both the above factors on the total<br />

execution time of a typical target operating system boot is indicated as a relative rating on a scale<br />

from 1 to 5, where a larger number indicates a greater impact on speed.<br />

A.1.1<br />

Aggressively pre-fetching TLB<br />

Rating: 2.<br />

The architecture describes that a processor might at any time request the pagetable entry or<br />

entries corresponding to any virtual address. When the boolean parameter vmsa.tlb_prefetch is<br />

set as true, the AEM actively monitors the memory for all pagetables, and immediately updates<br />

the Translation Lookaside Buffer (TLB) accounting for any changes.<br />

Also, in this mode the TLB maintains state for old and new entries, and raises the message<br />

E_StaleTLB if there is any possible ambiguity as to which entry could have been used in a<br />

subsequent transaction.<br />

Note<br />

The aggressively pre-fetching TLB does not currently support the IMPLEMENTATION DEFINED TLB<br />

lockdown feature described in TLB lockdown on page A-10. Lockdown registers are<br />

non-operational when the pre-fetching TLB option is in use.<br />

Note<br />

The aggressively pre-fetching TLB does not currently support the Large Physical Address or<br />

Virtualization features. TLB pre-fetching does not occur when either lpae or virtualization is<br />

implemented in the processor.<br />

A.1.2<br />

Passive infinite TLB<br />

Rating: 1.<br />

You can safely set the parameters vmsa.main_tlb_size and vmsa.instruction_tlb_size to<br />

arbitrarily large values. Entries are fetched only when they are used, but remain in the TLB until<br />

no space remains or the entry is explicitly flushed out.<br />

A.1.3<br />

Infinite write buffer<br />

Rating: 4.<br />

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

ID051811<br />

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!