I am reading ACE protocol and i am confused about when to use cache maintenance transactions. On what basis should i decide when to use cache maintenance transaction and which transaction to be used?
Can anyone please help?
for a region of outer shareable memory, all the masters in the Outer Shareable domain need to clean and invalidate this line if they have it. They know to do this by receiving a CleanInvalid snoop, which was initiated by the master sending the transactions.
Thank you for the reply. I understand that why the transaction is issued but how does the cache know the shareable domain of memory (supposedly main memory)?
In an Arm A-class CPU, this would be determined by the page tables - in other words, regions of memory will be defined with a specific shareability. When memory is loaded into the CPU cluster, it will be tagged with the shareability.
Thank you for you reply. I have understood now>