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:
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.
The CPU sets the needed address pins and READ/WRITE pin to the ON state and gets the value from RAM.
- 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.
- 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.