Vs. system memory

Aug 31, 2007 17:01 GMT  ·  By

One of the core differences between 32-bit and 64-bit editions of Windows Vista is of course how much system memory the two variants of Microsoft's latest operating systems can use. You have to understand that Microsoft alone limited 32-bit Vista to a maximum of 4 GB of RAM while taking the high-end editions of 64-bit Vista up to 128 GB of RAM. The fact of the matter is that the company could have tailor fitted both 32-bit Windows Vista and Windows XP to address well in excess of 4 GB of system memory, but didn't. The best argument related to the possibility of introducing support for over 4 GB of RAM with x86 Vista and XP is the fact that Microsoft does feature alternative 32-bit Window operating systems with this characteristic. Case in point Windows Server 2003, Enterprise Edition (32 GB of physical RAM), Windows Server 2003, Datacenter Edition and Windows Server 2003 SP1, Enterprise Edition(64 GB of physical RAM) and Windows Server 2003 SP1, Datacenter Edition (128 GB of physical RAM). All these server side Windows operating systems are 32-bit platforms.

So why hasn't the same been done with Windows Vista? Well, just because the 32-bit server operating systems can support in excess of 32-bit of RAM does not mean that it is the ideal solution. Far from it in fact, it is something more of a hack. Introducing PAE... Physical Address Extensions. "PAE is an Intel-provided memory address extension that enables support of greater than 4 GB of physical memory for most 32-bit (IA-32) Intel Pentium Pro and later platforms," Microsoft revealed. Essentially processors with PAE permit access to no less than 36-bit addresses, via the built in 36 pins, in contrast to the 32-bit addresses of 32 pin CPUs. Simple, isn't it? Well not quite! PAE also requires proper "wiring" with the chipset. And sometimes, more often than not, the motherboard simply does not come equipped to deal with 36 pins processors. The fact of the matter is that the PAE extension is an alternative to upgrading to 64-bit architecture, but it also is a temporary solution focused on the already obsolete 32-bit platforms.

"The consumer versions of 32-bit Windows XP and Vista have a stated limit of 4 GB RAM, but a practical limit of about 3.1 GB. [And] PAE doesn't do anything to the virtual memory limit. Pointers are still 32 bits, so a process can only access 4 GB of address space at a time. However, using PAE, two or more processes could each access a different 4 GB of physical memory. With proper operating system support (i.e. AWE on Windows operating systems) PAE also allows a process to allocate additional memory outside its normal address space, then swap portions of that additional memory into its address space as needed. Another hardware limitation [in addition to the motherboard wiring] is the ability of the chipset to remap RAM. If you have 4 GB of RAM, and 600 MB of address space is used up by PCI/AGP reserved areas, the only way to access the top 600 MB of RAM is to remap it into the addresses above the 4 GB boundary. Not all chipsets are able to do this, so some systems will just waste any RAM that happens to be shadowed by a PCI/AGP reserved region," revealed Doug Cook, a member of the Microsoft Platform Builder ("PB") IDE team.

PAE doesn't do anything to the virtual memory limit. Nothing! Keep this in mind. Does 64-bit Vista do something to the virtual memory limit? Well, yes. Actually judge for yourselves. The address space in x64 Vista is a whooping 8TB, that's no less than 8.096 GB. Hmm... Compare 8TB of address space to... 4 GB and you will understand why 64-bit is the future. Even though Microsoft will support 32-bit platforms with Windows 7 (Seven), Vista's successor, the future is still 64-bit. But maybe by 2010 the ecosystem of drivers and applications will get in line with the general trend.

"Windows XP originally supported a full 4 GB of RAM. You would be limited to 3.1-3.5 GB without PAE, but if you enabled PAE on a 4 GB system with proper chipset and motherboard support, you would have access to the full 4 GB. As more people began to take advantage of this feature using commodity (read: cheapest product with the features I want) hardware, Microsoft noticed a new source of crashes and blue screens. These were traced to drivers failing to correctly handle 64-bit physical addresses. A decision was made to improve system stability at a cost of possibly wasting memory. XP SP2 introduced a change such that only the bottom 32 bits of physical memory will ever be used, even if that means some memory will not be used. (This is also the case with 32-bit editions of Vista.) While this is annoying to those who want that little bit of extra oomph, and while I would have liked a way to re-enable the memory "at my own risk", this is probably the right decision for 99.9% of the general population of Windows users," Cook added.