I can't understand why DDR3 DIMMs (as well as other DIMMs, like DDR2) doesn't have pin outs for all addressable memory. I understand, that they shouldn't have all 64 address pins, because contemporary computers seldom have more than 32 GB RAM, so 35 pins will be enough. But they only have 15 pins, this is enough for only 32 KB of memory. How do it work? What do I miss?

I have some understanding the CPU and RAM working process:

  1. CPU and RAM have address pins and data pins, which connected by corresponding buses. The Intel 8080 CPU for example, had 16 address pins and 8 data pins.

  2. The CPU sets the needed address pins and READ/WRITE pin to the ON state and gets the value from RAM.

  3. The memory controller stays in between - it add the layer of abstraction for CPU, that is, does all machinery: picks RAM module, then chip on RAM module, etc. CPU only passes address to it and gets data.
  4. The CPU cache does its work before the memory controller, I don't know much about it.

But in the end, memory controller also should use full address to extracting data from RAM, right? How it can specify 64 bit address using only 15 bit.

I took this specification as an example and add some color to it for convenience. The address pins highlighted by red color.

enter image description here enter image description here


What do I miss?

You are missing:

  • Row/column addressing
  • Bank addressing

Taking this into account gives you more address bits.

Perhaps this table will help you to understand:

enter image description here

Source 168-Pin DIMM-Memory

Further Reading

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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