We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,arm experts,
Most A series processors have a 64-byte cacheline, while M series processors have a 32-byte cacheline. If an M series processor initiates a 32-byte cacheline coherent access to an A series processor through the ACP, what will happen? Will the A series processor retrieve the full 64-byte data? If there is a system cache downstream of the M series processor, and the cacheline length of the system cache is also 64 bytes, will the result be similar to the previous one?
Thank you a lot for your help
Hi junhao.wang,
If the requests are cacheable and the Cortex-A allocates the cacheline in its cache for future use then it will indeed have to retrieve the full 64B data.
Note that the ACP port of a Cortex-A can typically not handle all types of requests; refer to the Cortex-A53 TRM ACP section for example and to the AMBA specification ACE5-LiteACP protocol. There are two options to transfer 32 bytes through ACP: two 16B transfers or a single 64B transfer.
Also note that the ACP port is meant for an I/O-coherent accelerator; the Cortex-A would not be able to snoop the cache of a Cortex-M attached there.
Hi,vstehle,
Thank you for your answer, and if my cortex-M processor work as an IO coherent Request Node in system with last level cache(or CI-700, for example), when processor excute a cache eviction, or cacheable read from DDR, all transaction are 32 byte, what will CI-700 work like? Will it cause bandwidth waste?
Thank you