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).