2.2.5. AXI locked and exclusive accesses

The following sections describe AXI locked and exclusive accesses:

AXI locked transfers

In the case of a non-cacheable transfer, the access is forwarded to L3 memory through the master ports and is marked as locked.

In the case of cacheable transfers, a cache lookup is always performed. In the case of a cache miss, a linefill, non-locked, is requested on the master side. Write accesses always cause non-locked writes on the master side.

When a slave is performing a locked sequence, cacheable or not, the other slave is stopped from accepting more transfers. A locked transaction is stalled until all buffers are empty, including the store buffer.

The processor must ensure that there is only one outstanding transaction across the read and write channels during a locked sequence.

If multiple locked transfers come in at the same time, they are permitted to proceed in a certain priority. The priority for locked transfers is that S0 takes priority over S1.

Note

A locked sequence must consist of solely non-cacheable or cacheable transactions. A locked sequence cannot contain a mix of cacheable and non-cacheable transactions. The cache controller does not support a locked sequence starting with one locked read and one locked write at the same time on the same slave port.

AXI exclusive accesses

The cache controller supports cacheable and non-cacheable exclusive accesses but does not provide an exclusive monitor. The system integrator must implement external exclusive monitors as follows, so that the EXOKAY response can be returned:

  • for cacheable exclusive accesses, implement one or more external exclusive monitors on the slave side of the cache controller

  • for non-cacheable exclusive accesses, implement one or more external exclusive monitors on the master side of the cache controller.

The monitor on the slave side must be aware of the cache controller internal status, such as the shared override bit, to determine which accesses are cacheable and which are not.

Note

All exclusive accesses to the cache controller configuration registers return a SLVERR response.

The AXI specification requires that control signals in the read and write portions of an exclusive sequence must be identical. This includes the AXI ID. However, the L2C-310 enables you to issue different AXI IDs between the read and write portions of a non-cacheable exclusive sequence when the accesses are sent to L3. If the exclusive monitor located in the L3 memory system supports this behavior, this enables you to maximize the performance during the exclusive sequence.

Note

This behavior is not fully compatible with AXI. You control it using bit 21 of the Prefetch Control Register. See Prefetch Control Register.

Copyright © 2007-2009 ARM. All rights reserved.ARM DDI 0246D
Non-Confidential