0
\$\begingroup\$

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

\$\endgroup\$
  • 1
    \$\begingroup\$ Your question doesn't seem very clear, but does this answer have any useful information? \$\endgroup\$ – Roger Rowland Sep 14 '15 at 14:31
  • \$\begingroup\$ @RogerRowland it was helpful but NOT what I asked. My question is: Can 1 capacitor make up an address 0X00FF? Is there a 1:1 relationship between physical and logical? \$\endgroup\$ – Spandan Sep 14 '15 at 14:37
  • \$\begingroup\$ I don't know what you are asking, but the physical address ranges are divided in SODIMM and DIMM's. wiki them for more info. \$\endgroup\$ – MaMba Sep 14 '15 at 14:43
  • 1
    \$\begingroup\$ I think that answer explains that the lowest level is one bit. An address refers to a number of bits that make up the word size of whatever computer architecture is under investigation. \$\endgroup\$ – Roger Rowland Sep 14 '15 at 14:43
  • \$\begingroup\$ @RogerRowland its starting to make sense. So, if its say a 128 KB RAM, so total bits are 128*1024*8 bits. So, this many capacitors/electronic addressable components are present? \$\endgroup\$ – Spandan Sep 14 '15 at 14:52
1
\$\begingroup\$

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.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ So, I calculated its 2^31 bytes. But, if 1 electronic component can store 1 bit (1 or 0) so is it that there are 2^31*8 (bits) no. of such components in a 2GB RAM? @tcrosley \$\endgroup\$ – Spandan Sep 14 '15 at 14:57
  • \$\begingroup\$ @Spandan Yes, you are correct. Another way of saying it is the memory has 2^31 bytes. \$\endgroup\$ – tcrosley Sep 16 '15 at 16:25

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.