Today Dwight Silverman ran a great piece on TechBlog which examines whether folks buying a new PC are best sticking with 32-bit Vista or making the leap to 64-bit Vista. It's a good piece but there's one bit that I feel deserves some clarification.
Vista x64 can use more memory than the 32-bit version, which is limited to 4 gigabytes.
The problem with this statement is that it gives the impression that the cut off point when it comes to memory lies at the 4GB mark. Less memory than this and you're fine with 32-bit, but any more memory and you need a 64-bit OS to make advantage of it. The confusion arises because people take the term memory to mean RAM, and this can lead to some expensive mistakes as people buy PCs loaded with 4GB of RAM and a 32-bit OS, only to later realize they can't make use of all the RAM they bought.
The 4GB limit refers to total addressable memory space and not just the RAM installed. It's a total made up of system RAM, graphics RAM, PCI memory range, ACPI and a few other bits and pieces. And if you think that your system RAM is the only significant factor, think again. You can buy graphics cards fitted with 1GB of RAM, and if you wanted (and had the spare cash!) you could fit three of these into a system. There's not a 1 to 1 relationship between graphics memeory consuming system RAM, but the larger the memory, the more the card sets aside for itself. Now that 4GB limit doesn't leave you a lot of space for system RAM. For more information, check out an excellent post by tech guru Mark Russinovich. Here's a small extract from Mark's blog:
The consumption of memory addresses below 4GB can be drastic on high-end gaming systems with large video cards. For example, I purchased one from a boutique gaming rig company that came with 4GB of RAM and two 1GB video cards. I hadn't specified the OS version and assumed that they'd put 64-bit Vista on it, but it came with the 32-bit version and as a result only 2.2GB of the memory was accessible by Windows. You can see a giant memory hole from 8FEF0000 to FFFFFFFF in this Meminfo output from the system after I installed 64-bit Windows.
Note: Wondering how we arrive at that 4GB limit? Here's the math for 32-bit systems:
232 = 4,294,967,296 bytes 4,294,967,296 / (1,024 x 1,024) = 4,096 MB = 4GB
It's different for 64-bit:
264 = 18,446,744,073,709,551,616 18,446,744,073,709,551,616 / (1,024 x 1,024) = 16EB (exabytes)
On system fitted with 4GB of RAM and a modest graphics card with 512MB of on-board memory the end user normally sees about 3GB of installed system RAM. So what this means is that the realistic upper RAM limit for a 32-bit OS is more like 3GB. If you're adding big graphics cards with larger amounts of RAM (or using Crossfire or SLI) then you'll need to be seriously thinking about a 64-bit OS much sooner.
Dwight's also posted his Holiday PC spec list, which is also a good read. My only complaint there is that I think that Dwight is being too agnostic when it comes to recommending CPUs, especially at the power user end of the spectrum - the AMD's Phenom really doesn't belong in the same list as Intel's powerhouse CPU, the Core i7. Dwight also suggests Intel Celeron CPUs at the lower end, something which I would now avoid.