Ok, I know that it is called Random Access Memory, but i wonder if there is any structure in how RAM is used. I have read that the RAM clock speed of different sticks will be limited to the slowest one installed in that system. But if I would have RAM modules of different timings, channel architectures or DDR1/2/3, would they all be limited to the slowest RAM module in the same way as clock speed? If not, will the operating system make sure to use the fastest one first, meaning that access actually is not random between the different RAM sticks?
A couple of facts:
- You can't mix and match RAM of different architectures (eg DDR1 and DDR2)
- The OS is not responsible for the low-level timing and operation of the RAM. That is handled in hardware by the memory controller (this is usually embedded in the CPU nowadays). With Windows the OS sees the RAM as one addressable space and controls memory management while the memory controller handles the physical interaction with the RAM.
- In dual-channel systems both RAM sticks are used to store data simultaneously (like striping in a RAID system) so the memory controller has to be able to use the same clock to talk all of the memory at once. Therefore the lowest common denominator has to be used.
- Some motherboards have compatibility issues with certain brands or models of memory when attempting to use them in dual-channel mode. Several manufacturers only support a matched pair of modules.
For best performance, use memory of the same speed and timings in sets matching the number of channels.
In the past, RAM I installed always wound up running at the speed of the slowest module.