If you have 3GB of RAM or less installed on your computer and you're running the x86 (i.e. 32-bit) version of Windows Vista or XP, then you will be able to utilize all of your computer's memory. Although if your system has 4GB or more of RAM, then you might only be able to access the first 3.2-3.5 GB of your computer's memory.
This is primarily due to a limitation of the x86 32-bit architecture. 4GB of RAM is the maximum size of addressable memory that the x86 version of Windows XP or Vista can utilize. Only a little over 3GB is available for use by the operating system or applications. The remaining part of the 4GB of memory is used by your hardware (such as your graphics card) and software for doing memory-mapped I/O (MMIO) access.
In 32-bit operating systems such as the x86 version of Vista the MMIO space must reside within the first 4GB of memory address space. To overcome this limitation you need to have a x64 (64-bit) Intel or AMD CPU and motherboard. Then you need to install the x64 version of Vista (or XP).
If you want to learn more about this subject, read the following article called "Memory Limits for Windows Releases". It discusses the current memory limits for the different operating systems that Microsoft has created (such as: Windows XP, Vista, 2003 Server, 2008 Server, etc.).