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.
Dear sirs,
I read ACE specification and ARM processor documents for ACP explanation. I always have some questions about ACP.
As soon as you know, ACP exists in SCU for data coherency.
Q1: The document says that ACP usually connects to a DMA or cryptographic engine, so why does it connect to them?
Q2: who starts ACP port to transfer data from where to where?
Q3: How does ACP implement coherency in multi-core processor?
Thanks.
Cray
Hi Martin,
I have another question.
As you said, the ACP master has no cache coherency. It does not mean it only access non-cachable memory space. Is it right?
cray
No.
The external master (e.g. DMA) does not itself have cache coherency, it gains it by being connected via the ACP.
What I meant by it being uncached, is the ACP only has visibility of the master's bus transactions. Imagine the external master had a cache. It reads an address, which causes a line fill. The line fill bus transaction goes via ACP, meaning it gets a cache coherent copy back. After this processor writes the address, changing the value. But the external master has no knowledge of this - and keeps using the copy in its caches. Hence ACP works well with uncached masters.
Thanks for your explanation. Got it.