The issue stems in the fact that for every bit of information in memory it must have an address to point to it. The number of possible addresses is based on the amount of bits the CPU is running on. Every bit gives you two possible combinations. When you add a second it goes up to 4 for every 2. So on and so forth.
The math: 2^32 = 4,294,967,296
The problem though, is that the CPU can not only address the memory. It also has to talk to the other things on the motherboard, PCI devices, USB hubs, IDE connectors, and the like....
The BIOS automatically addresses all the bits the peripherals need first and then assigns the remaining bits to the memory.
Sources:
http://members.cox.net/slatteryt/RAM.html
http://episteme.arstechnica.com/eve/forums/a/tpc/f/12009443/m/321005770931/r/627007080931
Seems like I'll have to get a 64Bit OS for when I get another 4GB. 64Bit versions of Vista and XP have a memory limit in the terabytes.
Comments
However getting 4GB for a 32 Bit system is not a complete loss. You can set the Page Files to the extra RAM or have your other devices such as your graphics card allocate the extra memory if you are a gamer or use graphical intensive applications.
Really, getting the 4GB for a 32bit XP system is not a bad idea, especially for how cheap RAM is now-a-days.
It's really rather bizarre that the genius' didn't think beyond this point to address it, quite literally, back then. Or even now to figure out a compensation without having to go 64bit.
Salvere vale mei amor.