Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 2

up vote 5 down vote accepted

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.

share|improve this answer
1  
So, then the memory controller actually turns the RAM into a truly randomly accessible space for the OS and the limitations of this space are based on whatever the lowest common denominator is among the installed RAM modules. Good to know, thanks! –  cheflo Mar 5 '13 at 22:05
1  
@cheflo - You seem to be mixing logical access with physical (i.e. HW) control. The executing program and the data it uses is in RAM assigned to it by the OS. The actual physical RAM used is mapped to virtual memory, and is under control of the OS. The memory controller is responsible for operation of the RAM, its timing and refresh operation. It also arbitrates access to the RAM between the CPU, bus masters and DMA controller. "the limitations of this space ..." -- It's not a limitation, it's simply the result of using common clock and control lines to all memory modules. –  sawdust Mar 5 '13 at 22:47
    
@sawdust I realize that memory mgmt is a core function of an OS, I was trying to address the OP question related to an OS controlling access to a specific stick of RAM. Maybe I could have worded it better but that was what I was trying to answer. –  Brad Patton Mar 6 '13 at 0:16

In the past, RAM I installed always wound up running at the speed of the slowest module.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.