09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical 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.

8.6 Locked access<br />

Level 2 Memory System<br />

The AXI protocol specifies that, when a locked transaction occurs, the master must follow the<br />

locked transaction with an unlocked transaction to remove the lock of the interconnect. The<br />

locked sequence is not complete until the end of the locking transaction. The SWP{B,H}<br />

instructions include separate read and write transactions on the AXI. The read transaction is<br />

marked as a locked transaction while the write transaction is not marked as a locked transaction.<br />

Therefore, the write transaction serves as the unlocking transaction and the AXI interconnect is<br />

unlocked when the write response is generated.<br />

The SWP{B,H} instructions can access cacheable or noncacheable memory. If it is to cacheable<br />

memory, the bus transaction is not marked as a locked transaction. If it is to noncacheable<br />

memory, both the read and write transactions are treated as strongly ordered memory type, and<br />

the bus transaction is marked as a locked transaction.<br />

If an abort occurs, the swapping of data between the register and memory is unsuccessful. To<br />

clear the lock, the processor issues a write transaction on the AXI interface without any byte<br />

strobes active.<br />

Note<br />

All transactions related to the swap instructions are issued with the lock indicator on its<br />

respective port, ARLOCK or AWLOCK.<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 8-12<br />

ID060510 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!