Kaveri CPU-iGPU connections

I have some questions regarding how the CPU and integrated GPU interact within the memory hierarchy. I highlighted the keyword items in question.

1. Does the integrated GPU have a DMA controller ?

    If NO, are the ALL writes to RAM done via the shared memory controller ?

    If YES, can it be used by software for memory copying ?

2. Is the GPU communicating via the PCI controller/interface in any significant way with the CPU ? I would assume the IOMMUv2 is on the PCIe bus so communication is via PCIe.

If NO, is the entire communication (e.g. command ring) in RAM ?

3. Is the cache hierarchy for CPU and GPU coherent in any way ?

4. Are the caches flushed when a shared region (e.g. SVMAlloc) is mapped/unmapped ?

5. Finally on what specification I found about AMD A6 7400K I see it is limited to memory of 1866mhz.

Any other AMD Kaveri CPU has the memory controller limited at 2133mhz.

Are they different IP blocks ? (in addition to having just 1MB cache/module vs 2MB cache/module in other CPUs).

 

Thank you,

Grigore