Why does RAM need to be installed in pairs?

Why does RAM need to be installed in pairs? What's the reason behind this?


Memory doesn't have to be installed in pairs, but it is recommended in pretty much any modern motherboard as this is what enables Dual Channel mode which can (under some circumstances) dramatically increase performance.

Also, some high end motherboards support Triple channel and Quad channel memory which means that for optimum results, you will install the memory three or four modules at a time.


As well as the modern dual and triple channel arrangements, memory did (and in some systems still does) need to be installed in pairs or even groups of four. For example, in motherboards designed for 286 and 386SX processors, 8-bit SIMMs (actually usually 9-bit, with an extra parity bit for error detection) were installed in pairs to match up with the CPU's 16 bit databus. This meant that the processor could request, and get, its full data bus filled in one request rather than two. Similarly, a 386DX or 486 with their 32 bit data buses would need 4 modules of 8 or 9 bits wide (though only one 32/36 bit module).

Those of sufficient age (i.e. me) will remember 30 pin SIMMs (8 and 9 bit modules) and 72 pin SIMMs (the 32/36 bit modules).

When "Pentium class" intel CPUs came along, most of them having a 64 bit data bus to improve how fast data could be moved into their internal cache (despite them being 32 bit processes at their core and therefore for the most part only natively processing data in 32 bit chunks or smaller), we again started to have to double up 72 pin (32 or 36 bit) SIMMs to keep that external bus fed.

DIMMs present a 64 bit data path so do not need to be doubled up for processors with a 64 bit data bus for these reasons. Processors have grown in speed much more than memory has over the last couple of decades though. It used to be that memory controllers would have to institute wait states in the RAM so that the processors didn't miss messages that came too fast, but these days CPUs can eat data much faster than RAM can hand it out (hence the need for lots of faster-but-more-expensive cache memory on the CPU itself). This is where double and triple channel memory controller options come in - under the right conditions they can request data from two or more modules at once to try and keep up with the processors' demands. In "ideal" conditions (the CPU rattling through RAM sequentially, and no usable cache so all requests go direct to main memory), dual channel memory can theoretically double memory bandwidth, though in reality the difference is usually much much smaller than this because such conditions are quite rare.

A related aside: what makes a processor an "x"bit processor is how it internally handles data, not how it talks to the outside components. Hence the 386SX (with its 16 bit data bus, 24 bit address bus and 32 bit internals) and the Pentium (64 bit data bus, 32 bit address bus and mainly 32 bit internals) are both considered 32 bit processors.