All 4 GB of your installed RAM is "physically" there. However, the 32 bit versions of Windows CANNOT access all of the RAM.
Here is what nvidia has to say about RAM and 32 bit Windows:
"If you install Windows? 32-bit version Operating System (OS), the limitation of this OS version is that it may reserve a certain amount of memory space for system devices. We recommend that you install less than 3 GB system memory if you would like to work under Windows? 32-bit version OS. The excess memory installation will not cause any usage problem, but it will not give users the benefit of manipulating this excess memory space.
If you installed total 4GB memory, the system will detect less than 4GB of total memory because of address space allocation for other critical functions, such as:
- System BIOS (including motherboard, add-on cards, etc..)
- Motherboards resources
- Memory mapped I/O
- configuration for AGP/PCI-Ex/PCI
- Other memory allocations for PCI devices
Different onboard devices and different add-on cards (devices) will result of different total memory size. e.g. more PCI cards installed will require more memory resources, resulting of less memory free for other uses.
On a Dual/Quad GPU system, since PCI-Express graphic cards will occupy around 256MB to 512MB, another 256MB to 512MB will be occupied after you install a 2nd PCI-Express graphic card. Hence, 2.75GB memory left only if two SLI cards installed while 3.0GB memory left with one graphic card without other add-on devices.
This limitation applies to most chipsets & Windows 32-bit version operating system.
If you install Windows 32-bit version operating system, we recommend that you install less than 3GB of total memory. If more than 3GB memory is required for your system it is suggested to use Windows XP Pro X64 Edition. (64-bit) or another Operating System which can address more than 4GB memory."
So, it is a system limitation. Windows and the chip-set are using the upper 1.5 GB of the RAM address space for system hardware house-keeping functions.
Intel does have a couple of technical briefs that go into pretty deep detail about why you can't use the upper address RAM.
Chas