Sunday, October 13, 2013

Who decides the size of RAM?


Speed is the prime factor that anyone consider while purchasing a new computer system. Generally, speed of the computer depends on two factors, that is microprocessor used and main memory (RAM) available. Here, I will give focus on the RAM which directly affects the speed of the system. Many computer users think that you can attach any amount of RAM (main memory) to your computer system, But this is not true. I will explain this concept form engineer's point of view. As an example a 32-bit microprocessor with 32-bit address lines can access and use maximum of 4 GB of the RAM.

Let's see the basic computer architecture first.


Any execution that computer requires memory is taken from RAM. Almost 100% programs computer creates are actually executed with the help of RAM. So, RAM is actual 'memory' of computer system. In order to use the memory for reading & writing, the address associated with the memory cells are used. One memory cell of 1 byte is given an unique address in RAM. For any operation with memory, microprocessor generates the address. This address is carried by the address bus of the processsor. Remember, the address generation of RAM is only performed by processor.

The address range of RAM generally starts from 0, depending upon the width of address bus. For example- width of address bus is 4, Then minimum address that microprocessor can generate or address bus can carry is 0000 and max will be 1111. It means that processor can access maximum 16 memory locations of RAM with 4 bit width of the address bus! It will be 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 (Total- 16). It can be found by 24 = 16.

As you go on increasing microprocessors address bus width , the memory accessing capabilitiy of it increases . It doubles by adding the every extra line to the address bus., e.g. 8 address lines can access 28 = 256 bytes of RAM, 9 address lines can access 29 = 512 bytes of RAM!

One of the most famous processor 8086 has 20 address lines. It can access max 220 = 1 MB of main memory! So, if your microprocessor has 32 address lines then it can access upto 232 = 4GB RAM.

It indiredctly means, whenever extra RAM that you cannot use/add above 4 GB for a 32- bit address line processsor, it completely wasted. If you are using 5 GB RAM for 32 bit address lines processor your upper 1GB of RAM is of no use!

In this way, the address lines play a vital role in deciding size of the RAM.