Embedded Multi-core inter communication

Hi All,

I have a question on how ARM cores communicate internally with other cores and peripherals through AXI, AHPB busses ?  lets say one core wants to send the data to another core, how is this achieved ?

And if there is a DMA transferring data into from one of the cores memory and another core also wants to transfer to the same location, how it is managed.

Please help in clearing these doubts ?

-ben