There is more than just RAM which the operating system has to address. If you install a total of 4GB worth of RAM (or more), the system will detect/use/display 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.
This limitation applies to most chipsets & Windows XP/Vista 32-bit version operating systems. Again, this is a limitation of the Operating System not having enough address space to allocate to the system *and* the RAM. Not allocating address space to devices renders them inoperable. Not allocating addresses to RAM simply results in the unaddressed section not being used in an otherwise fully functional computer. Therefore the OS designers assign RAM last.
If you install a Windows operating system, and if more than 3GB memory is required for your system, then the below conditions must be met:
1. A memory controller which supports memory swap functionality is used. The latest chipsets like Intel 975X, 955X, Nvidia NF4 SLI Intel Edition, Nvidia NF4 SLI X16, AMD K8 and newer architectures can support the memory swap function.
2. Installation of Windows XP Pro X64 Ed. (64-bit), Windows Vista 64, Windows 7 x64 or other OS which can provide more than 4GB worth of address space.
Note: Windows Vista 32bit SP1 and Windows 7 will display the installed amount of RAM always. For the actuals, please check the management console.