What is the max. capacity of RAM in 32-bit machine? Why it is not 16GB? [closed]

This question is inspired from a question in stackoverflow here

To what I know,

for 32bit machines, we can have 2^32 combination set of instructions.

so for a max capacity of a RAM in 32-bit machine, it should be able to accommodate 2^32 instructions set, which is

2^32 = 4294967296 instructions set

so as 32 bits = 4 bytes, the RAM capacity should be 4294967296 * 4 bytes = 17179869186 bytes

which is same as -->

17179869186/1024 = 16777216 kB

16777216/1024 = 16384 MB

16384/1024 = 16GB

so I guess the max capacity of RAM that a 32-bit machine can hold is 16GB.

But sounds like 4GB is the correct answer. What's wrong with me???


Solution 1:

RAM is addressed by the byte. There are 2^32 addresses possible in this situation, so a maximum of 4294967296 bytes (2^32) can be addressed. That means the effective maximum on addressible memory is 4294967296 bytes, which is 4 gigabytes.