12.6.2 ACP limitations

The ACP is optimized for cache-line length transfers and supports a wide range of AMBA3 AXI3 requests, but it has some performance and functional limitations that must be considered.

ACP performance limitations

ACP accesses are optimized for transfers that match Cortex®‑R8 processor coherent requests.

  • A wrapped burst of four doublewords (length = 3, size = 3), with a 64-bit aligned address, and all byte strobes set.
  • An incremental burst of four doublewords, with the first address corresponding to the start of a cache line, and all byte strobes set.

For maximum performance, use ACP accesses that match this optimized format. ACP accesses that do not match this format cannot benefit from the SCU optimizations, and have significantly lower performance.

ACP functional limitations

ACP unsupported transfers.

The ACP is a full AMBA3 slave component, with the exception of the following transfers that are not supported:

  • Exclusive read and write transactions to coherent memory.
  • Locked read and write transactions to coherent memory.
  • Optimized coherent read and write transfers when byte strobes are not all set.

Because of this, it is not possible to use the LDREX/STREX mechanism through the ACP to gain exclusive access to coherent memory regions that are marked with AxUSERSC[0] = 0b1 and AxCACHESC[1] = 0b1.

However, the LDREX/STREX mechanism is fully supported through the ACP for noncoherent memory regions, marked with AxUSERSC[0] = 0b0 or AxCACHESC[1] = 0b0.

64-bit accesses to the AXI low-latency peripheral port always abort. 32-bit wide normal memory Non-Cacheable accesses from the ACP to the AXI low-latency peripheral port do not abort.

Non-ConfidentialPDF file icon PDF versionARM 100400_0001_03_en
Copyright © 2015–2017 ARM Limited or its affiliates. All rights reserved.