This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What's the relationship between exclusive access and memory cacheable in Cortex A53?

Hello community and experts,

         I am doing an experiment on Cortex-A53 which executes some exclusive access instructions such as 'ldaxr'.

         When I config memory to Normal type+cacheable, 'ldaxr' can execute well. But if I config memory to Normal type+non-cacheable, it will generate exception when execute 'ldaxr'.

        Must the memory of exclusive instructions access be cacheable in Cortex-A53?

        Thanks for your attention!

Best Regards,

Emmy

  

Parents
  • For cacheable, shareable memory the A53 (and all the other MPCores) will manage the exclusive access internally.

    For non-cacheable memory the transaction is sent out onto the bus with extra metadata identifying it as an exclusive transaction. It then relies on an external Global Monitor implemented somewhere in the memory system dealing with the exclusiveness.

    Some DDR controllers implement a monitor, some don't, so if non-cacheable exclusives 'work' or not is a system level thing.

Reply
  • For cacheable, shareable memory the A53 (and all the other MPCores) will manage the exclusive access internally.

    For non-cacheable memory the transaction is sent out onto the bus with extra metadata identifying it as an exclusive transaction. It then relies on an external Global Monitor implemented somewhere in the memory system dealing with the exclusiveness.

    Some DDR controllers implement a monitor, some don't, so if non-cacheable exclusives 'work' or not is a system level thing.

Children
No data