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.

Application Level Memory Model<br />

In addition, any branches that appear in program order after the ISB instruction are written into the branch<br />

prediction logic with the context that is visible after the ISB instruction. This is needed to ensure correct<br />

execution of the instruction stream.<br />

Any context altering operations appearing in program order after the ISB instruction only take effect after<br />

the ISB has been executed.<br />

For details of the ISB instruction in the Thumb <strong>and</strong> <strong>ARM</strong> instruction sets see ISB on page A8-102.<br />

Pseudocode details of memory barriers<br />

The following types define the required shareability domains <strong>and</strong> required access types used as arguments<br />

for DMB <strong>and</strong> DSB instructions:<br />

enumeration MBReqDomain {MBReqDomain_FullSystem,<br />

MBReqDomain_OuterShareable,<br />

MBReqDomain_InnerShareable,<br />

MBReqDomain_Nonshareable};<br />

enumeration MBReqTypes {MBReqTypes_All, MBReqTypes_Writes};<br />

The following procedures perform the memory barriers:<br />

DataMemoryBarrier(MBReqDomain domain, MBReqTypes types)<br />

DataSynchronizationBarrier(MBReqDomain domain, MBReqTypes types)<br />

InstructionSynchronizationBarrier()<br />

A3-50 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!