gpu-cpu communication

Hi all,

I would like to ask a simple question…Where can I find detailed information about cpu gpu communication in a heterogeneous architecture?

To be more specific, I would like to find specific information about how the cpu and gpu communicate each other…For example, through DMAs, interrupts, which buses do they use, etc…

Any links, details, titles of books would be very helpful!

Thanks in advance