Until relatively recently, computers have grown into modular designs, with the ‘cheesegrater’ Mac Pro as a good example. Its processor (CPU) uses main memory (RAM). To obtain high quality graphics output, it has a graphics card with a graphics processing unit (GPU) and its own dedicated high-speed memory (VRAM). Some other hardware systems have their own memory too, used for buffering and temporary storage.
This has some obvious advantages. It’s eminently upgradeable by the user; when you can afford a better graphics card, you can replace the existing one with a faster GPU and more graphics memory. You can also buy a basic version of that model with little main memory, and upgrade that when you can afford it. This has allowed graphics cards to have less, faster and more expensive memory which is only accessible to the GPU. Main memory isn’t shared between the CPU and GPU, although ironically more basic designs, such as laptops with simpler graphics, may use main memory rather than the faster chips of a graphics card.
There are problems with this architecture, though. GPUs are now being used for a lot more than just driving the display, and their computing potential for specific types of numeric and other processing is in demand. So long as CPUs and GPUs continue to use their own local memory, simply moving data between RAM and VRAM has become an unwanted overhead. If you’d like to read a more technical account of some of the issues which have brought unified memory to Nvidia GPUs, you’ll enjoy Michael Wolfe’s article on the subject.
At the same time, chip design has changed, with far tighter integration of what were separate chips into a System on a Chip (SoC), a field in which Apple is one of the leaders, largely as a result of its hardware development for iPhones and iPads. SoCs can run faster, use less power, and stay cooler, and when built in large quantities are significantly cheaper – all advantages which Apple has used in its products, and recently in Macs.
In this new model, CPU cores, GPUs and other hardware such as the Neural Engine all access the same memory. When data being processed by the CPU needs to be manipulated by the GPU, it stays where it is. That unified memory is as fast to access as dedicated GPU memory, and completely flexible. When you want to connect a high-resolution display, that’s not limited by the memory tied to the GPU, but by total memory available.
To achieve this, Apple integrates the unified memory in the chip carrier itself. That provides the shortest and fastest path between those systems within the SoC and the memory they share. It unfortunately also means that memory can’t be upgraded without replacing the whole chip. As that’s soldered onto the logic board, that in turn requires a replacement logic board, which is much of the cost of a new computer. Although it’s easy to read this as locking the user in, traditional user-replaceable memory modules simply can’t do the job that’s required, and for the moment there’s no better solution.
In the first two rounds of Apple’s new Mac releases, using the M1 chip, unified memory has only been available in 8 and 16 GB capacity. While those are fine for lower-end Macs, users working with high-resolution video and other demanding tasks need more. Apple has addressed that in its new M1 Pro and Max chips, which come with up to 32 and 64 GB respectively.
Although 64 GB may seem a lot to most users, because this is unified, shared by CPU, GPU, Neural Engine and some other systems, demanding users need to be careful to allow for the fact that there’s no VRAM in addition. If what you do at present requires 8 GB of VRAM, then that’s likely to knock an 8 GB hole in your unified memory. However, there is the compensation that your CPU will almost certainly need less for that same task, because it can access the same 8 GB used by the GPU. There’s no need for double-accounting for CPU and GPU separately.
Unified memory is one part of Apple’s complex recipe for making its new Macs perform so well, both in terms of speed and in energy efficiency. And it’s a feature that I think we’re going to see more often in its competitors systems too.