Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I have a number of varying processor specifications (x86, x64, PII, P4 etc) can I accurately calculate the memory (speed, size, etc) that will work with the CPU?

I appreciate that the motherboard the CPU / RAM will be used on will further limit this by number of pins, speed and slots.

Are there any 'gotchas' or can I deduce this all from specifications and what properties of the RAM / CPU should I be checking?

share|improve this question
Why on earth is this tagged 'not-programming-related'? Who cares if it's programming-related? – mmyers Jul 31 '09 at 15:10
Just came up in the tags when I typed, so I thought I'd stick to the convention. – user4213 Jul 31 '09 at 15:41
It gets even more confusing with PAE (32-bits for memory --> 36-bits) – bgw Jul 31 '09 at 16:20
up vote 2 down vote accepted

I'm not certain of what you're really trying to ask. Basically, CPU/RAM specifications are usually a function of the chipset more than RAM.

If I have a number of varying processor specifications (x86, x64, PII, P4 etc) can I accurately calculate the memory (speed, size, etc) that will work with this RAM?

"Accurately calculate"? Um, yes I suppose. The motherboard Chipset and usually the socket of the CPU will determine what specifications of RAM can be supported. For example, some processors are supported by chipset 'X' and 'X' does NOT support DDR3. Guess what? No DDR3 support for that CPU. That's about as simple as it gets. Some CPUs are built around RAM (remember RAMBUS?) while others focus more on what chipset can support which features they want.

Are there any 'gotchas' or can I deduce this all from specifications and what properties of the RAM / CPU should I be checking?

Yes there are some BIG gotchas. People (system builders) typically get hung up on a few details: what CPU can I have - how much RAM can I hold - bus support (PCI-e x16/x8/x4?) and peripherals. The problem in looking at things in this light is that the most important factor is being left out: the chipset.

I don't care how fast a CPU is or what killer RAM you get, the chipset is the heart of the motherboard and in turn, the computer itself. Chipset determines RAM, CPU, buses, everything. So if you want to deduce from specifications of RAM & CPU, start looking at the motherboard chipset.

Another "gotcha" is RAM. RAM can be expensive to rare to find to stable/unstable. RAM is a strange beast. The faster the RAM, usually the slower the timings. If you really want to learn about how RAM works, there are lots of articles all over the web. But learning RAM timing and how the chipset works in conjunction is what really matters.

Don't get swept up in "nehalem" fever or whatever CPU is the flavor of the year. Yeah, it's a solid CPU, but if the RAM is too expensive or flaky and the chipset is 'meh' at best, it's not always worth it. DDR3 is not better simply because of speed. You have to weigh your options carefully with what you're trying to achieve. Are you building a simple computer? Workstation for development or animation/rendering or computation?

And as a last and obvious note, always read the manual before buying anything. You'll save yourself time and money.

share|improve this answer
Actually, the memory controller is the determining factor. AMD CPUs since the Athlon 64 and Intel CPUs since the first i3/i5/i7 (Nehalem) have had integrated memory controllers. For these CPUs, you can determine the compatible memory technology without considering the motherboard chipset. – rob Nov 22 '13 at 1:34

No conclusive way to determine what RAM it can use. There was far too much overlap.

in GENERAL though..

  • PC100/PC133 lasted from P2 to P3
  • Rambus was on some early P4s
  • P4 generally used DDR.. some used DDR2 near the end
  • Core2Duos use DDR2
  • Core2Quad use DDR2
  • Core I7 use DDR3

However, choosing a specific memory module is hard as there are varying system/motherboard specifications which may not be compatible.

share|improve this answer
It sounds like 'you' could do it, so I need to replicate your knowledge as an expert system? If I could take the knowledge you have and wrap it up in a function / database then it sounds doable, I just need a lot expert knowledge. Does that sound right? – user4213 Jul 31 '09 at 15:09

If you go check out the memory advisor tool at Crucial, you will see that it is basically using a database of every known motherboard. If you know the motherboard, you can figure out which memory modules work with it.

share|improve this answer
Good point, I forgot about them. – user4213 Jul 31 '09 at 15:24

To a degree yes, but one of the more defining components is the chipset used on the motherboard. That is what normaly determines ram usage characteristics/limitations.

share|improve this answer

Coupled with Kevin Panko's comment,

You need to know your motherboard model, not the CPU.

An easy way to find out the details is the excellent CPU-Z program from CPUID.


Using that information, check google, or Kevin's Crucial link to find what memory is supported.

share|improve this answer

Not fully. Motherboards may impose upper limits on the amount of RAM that will be supported. In fact, if you know your motherboard, you'll know what RAM you'll need. If all you know is your CPU, you'll be able to determine what motherboards would support it and from that, know what RAM you'll need.

Some CPUs support multiple types of RAM. AM3 based Phenom IIs, for example, support DDR2 and DDR3 RAM.

share|improve this answer

Actually the only thing you need to know is the motherboard, since this is what will define what RAM you can use.

The best configuration is normally predetermine. For example i7 boards will support DDR3, Dual Core normally support DDR2 etc.

However the CPU won't have an effect on the memory choice.

share|improve this answer

Contrary to what is stated in most of the other answers, there are several CPUs for which you can definitively state that a particular type of RAM is compatible without researching motherboard chipsets.

The determining factor is the memory controller, which either resides on the motherboard or is integrated into the CPU, as has been the case for AMD CPUs as far back as the Athlon 64.

Computers using Intel microprocessors have traditionally had a memory controller implemented on their motherboard's northbridge, but many modern microprocessors, such as DEC/Compaq's Alpha 21364, AMD's Athlon 64 and Opteron processors, IBM's POWER5, Sun Microsystems's UltraSPARC T1, and more recently Intel's Core i7 and Core i5 Cpu's have an integrated memory controller (IMC) on the microprocessor in order to reduce memory latency. While this has the potential to increase the system's performance, it locks the microprocessor to a specific type (or types) of memory, forcing a redesign in order to support newer memory technologies.

Given a CPU model, you could look at the documentation on the manufacturer's website or Wikipedia (AMD | Intel) to determine (1) if it has an integrated memory controller and (2) if so, what type of memory it supports.

If you're looking at an AMD CPU older than the Athlon 64 or an Intel CPU older than the first generation of i3/i5/i7 (Nehalem), then the CPU does not have an integrated memory controller and the type of memory will be dictated by the motherboard chipset.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .