3 ms·
I believe, but don't know for sure, that classic iGPUs still behaved like discrete PCI devices under the hood, and accessed RAM using DMA over PCI(e), which is
by kbolino 2y ago
I believe, but don't know for sure, that classic iGPUs still behaved like discrete PCI devices under the hood, and accessed RAM using DMA over PCI(e), which is slower than the RAM is capable of, and also adds some overhead. Whereas, modern unified memory approaches have a direct high-bandwidth connection between RAM and the GPU, which may be shared with the CPU, bypassing PCI entirely and accessing the memory at its full speed.
- zamadatix 2y agoMy understanding is this was true for the original Trinity era APUs in 2012 but by 2014 Kevari APUs had already put them on the same bus so passing the pointer over PCIe was no longer necessary for systems with unified system memory https://en.wikipedia.org/wiki/Heterogeneous_System_Architecture https://en.wikipedia.org/wiki/Heterogeneous_System_Architect... Reading about HSA again (it's been many years) it seems like ARM was one of the ones originally part of defining it back then and I wonder if Apple actually did anything different on top this at all or just branded/marketed the use of what was already there.
- kbolino 2y agoGreat link! It seems there are 3 key things which distinguish the modern "unified memory architecture" from its predecessors: 1. Pointer passing instead of buffer copying 2. Separate bus for memory access alongside the PCIe bus 3. No partitioning of RAM into exclusive CPU vs. GPU areas These features seem to have come at different times, and it's the combination of all three that defines the modern approach. Broadly speaking, whereas classic iGPUs were still functionally "peripheral devices", modern UMA/HSA iGPUs are coequal partners with their CPUs. AMD seems to have delivered the first hardware meeting these criteria about 8-9 years ago, beating Apple to the punch by a couple years. However, AMD's memory bandwidth can be quite a bit behind Apple's. The M1 Pro handily beats anything AMD had out at the time (200 GB/s vs. 120 GB/s), and the M1 Max has double that bandwidth.