6.4.5 Synchronization primitives

The L1 memory system supports the Load-Exclusive, Store-Exclusive, and Clear-Exclusive synchronization primitive instructions. For all Non-shareable memory pages, the synchronization primitives are supported with a local monitor that is in each L1 memory system. For Shareable memory pages, the local monitor is used in conjunction with a global monitor. Where the global monitor resides depends on the memory type and cacheability.

Internal coherent global monitor

If synchronization primitives are used for memory pages that are Shareable Normal Write-Back and the cache is enabled, SCTLR.C is 1, the external monitor on AXI is not used. Instead, the global monitor function is handled in the L1 cache using the cache coherence information.

External global monitor

If synchronization primitives are used for memory pages that are Device, or Inner-Shareable Normal Non-cacheable, a global monitor must be provided in the interconnect. See the ARM® Architecture Reference Manual ARMv8, for ARMv8-A architecture profile for more information. The memory requests are sent on the AXI interface as Read-Exclusive or Write-Exclusive. See the ARM® AMBA® AXI and ACE Protocol Specification for more information.

Note

Use of synchronization primitives on addresses in regions marked as Device memory is UNPREDICTABLE in the ARMv8-A architecture. Code that makes such accesses is not portable.
Non-ConfidentialPDF file icon PDF versionARM 100095_0002_03_en
Copyright © 2014, 2015 ARM. All rights reserved.