The maximum integer value that can be stored in 32 bits is 4,294,967,295. Therefore, a processor with 32-bit memory addresses can directly access "only" 4 GB of memory. Which is why it doesn't make sense to put any more memory in a system running a 32-bit operating system.