|Any computer has 2 limits on physical memory:|
1. The amount that can physically be installed.
2. The amount that can be addressed by the OS.
The amount that you can actually use will be the lesser of the two.
All client versions of Windows support a maximum 4GB physical address space. This limit is imposed by both technical and licensing issues.
It would be nice if all of this address space could be used for RAM. But this cannot be. For performance reasons a substantial portion of this space must be used for memory mapped hardware devices. Since you can't have both RAM and hardware at the same address you cannot address a full 4GB of RAM in a client OS.
This is a hardware limitation, not a problem with Windows. It is there for XP and older, Vista, and Windows 7. If there is a 32 bit successor to Windows 7, don't expect it to be any different.
There is a technique supported with server systems that can avoid this problem. However, many popular hardware devices, those commonly used with a client OS, do not behave well in such an environment. For this reason this feature is not supported on client systems.
If you want to use 4GB or more RAM you must use a 64 bit OS.