Understanding why

Jan 4, 2008 16:03 GMT  ·  By

32-bit Windows operating systems, and Windows Vista makes no exception whatsoever to this rule, are limited in terms of the amount of system memory that can be addressed to no more than 4 GB. But, the fact of the matter is that 32-bit Windows XP or Windows Vista will not use more than 3.2 GB to a maximum of 3.5 GB of RAM, even if the hardware configuration comes with a full 4 GB. This issue does not impact 64-bit Windows operating systems, and with Vista you can go all out when it comes to RAM, as the Ultimate, Business and Enterprise SKUs can support a maximum of 128 GB of physical system memory, while the Home Premium and Home Basic editions will permit the implementation of 16 GB, and respectively 8 GB of RAM.

With Windows Vista SP1, currently planned for the first quarter of 2008, Microsoft will force the operating system to show the full amount of system memory installed, and not only the memory that Vista has available. The Redmond company warned that the change will ultimately depend on the integration with the machine's BIOS and, as such, not all Vista users will experience it. But, it does not mean that Vista SP1 will resolve the 4 GB of RAM limitations of the 32-bit Vista operating system. In this context, if you have a 32-bit copy of Vista, there is no point waiting for SP1 to enjoy up to four GB of RAM, the simplest solution is to go 64-bit.

"Due to an architectural decision made long ago, if you have 4GB of physical RAM installed, Windows is only able to report a portion of the physical 4GB of RAM (ranges from ~2.75GB to 3.5GB depending on the devices installed, motherboard's chipset & BIOS). This behavior is due to 'memory mapped IO reservations'. Those reservations overlay the physical address space and mask out those physical addresses so that they cannot be used for working memory. Significant chunks of address space below 4GB (the highest address accessible via 32-bit) get reserved for use by system hardware: BIOS - including ACPI and legacy video support; PCI bus including bridges etc. PCI Express support will reserve at least 256MB, up to 768MB depending on graphics card installed memory", explained Hilton Locke, Microsoft Software Test Engineer.