How to relate memory address to physical components in RAM

addressingcomputer-architectureram

I am trying to understand how are the micro-scale components arranged to relay address information to the Operating system software.

What are the components that make up the ram which actually contribute to the address?

Also, how many such components would a … say 2GB RAM contain?

Edit: This answer seems to contain some useful material, please see if it is helpful in answering my question: https://electronics.stackexchange.com/a/132056/86531

Best Answer

2GB of memory requires 31 address lines. This is because 2\$^{31}\$ = 2147483648 (see this page for powers of 2 values).

So this would require 31 address lines going from the microcontroller chip to the memory chip. (Microcontrollers usually have RAM memory built in, but not this much -- so an external memory chip must be used.)

In addition there would be data lines going from the memory chip to the processor, i.e. 32 data lines for a 32-bit processor, and 64 data lines for a 64-bit processor. There will also be some control lines on top of that.

If it is a 32-bit machine, then they are usually read out 32-bits, or 4 bytes at a time at a time. If only one byte is read out, it can be less efficient if it is not on a 4-byte boundary because a shift has to be done. Likewise for a 64-bit machine.

Because of the large number of lines going from external chips to the microcontroller, they are built with ball grid arrays (BGA) which allow for many hundreds of connections.