Five and a half years ago, AMD launched its Athlon 64 processor lineup, extolling the benefits of 64-bit computing and what it’d mean for the future. It didn’t take Intel long to follow suit on the desktop. From there, the infrastructure—the operating systems and drivers—began falling into place to support more 64-bit software.
Today, 64-bit compatibility is almost a given. In fact, in the business space, where 64-bit computing has always been seen to have the most promise, applications have emerged that will only run in 64-bit. Even Small Business Server 2008, a relatively entry-level operating environment for businesses with up to 75 users, is now 64-bit-only due to its inclusion of Exchange Server 2007.
Why did Microsoft make the executive decision to launch its latest messaging platform exclusively in 64-bit trim? According to a blog post by Chris Mitchell in Microsoft’s Exchange Performance Engineering Team, the application uses 64-bit addressing to get its virtual hands on more system memory, preventing repeated trips back and forth to disk. In Chris’ example, an older version of Exchange might have access to 900 MB of a 32-bit server’s 4 GB ceiling. In a 4,000-user enterprise, that's 225 KB of RAM per user—not nearly enough for all of the messages, rules, calendar entries, and contacts in a typical mailbox. Moving to 64-bit and upgrading servers to 10s of gigabytes (Chris’ recommendation in that same 4,000-user business is 24 GB) softens the load on storage.
But desktops aren’t nearly as hard-up for memory, right? We expected 64-bit computing to trickle down from the enterprise, but gamers want to know: where is the benefit from this technology today?
Going To 64-Bit: Because You Can…
Enthusiasts running Socket AM2/AM2+ platforms commonly go with 2 GB or 4 GB memory kits. After all, even though DDR2 memory is cheap, 4 GB is still the enthusiast norm—8 GB is closer to workstation-class.
But when you buy a Core i7-based machine and step up to a triple-channel arrangement, it just doesn’t make sense to slide back the other direction and populate with three 1 GB modules. And so now you’re looking at 6 GB and a forced move to 64-bit computing if you want to actually use all of that memory.
…Or Because You Have To
Oh that’s right—I almost forgot. In case you've been living under a rock since AMD started preaching its 64-bit message, the fundamental limit on how much RAM a 32-bit operating system can see is 4 GB (2^32). Anything more simply won’t show up as installed memory.
Once you factor in device addressing, the magic number actually drops below 4 GB. That’s why it’s common for 32-bit systems with 4 GB to report 3 GB plus change in the Windows Device Manager. It’s not a Windows problem, though. Rather, that’s just how x86 architecture works.
Update:A bit of clarification on the above point--the issue of not seeing a full 4 GB of memory in Microsoft's consumer operating systems is shared between hardware and software vendors. The inability of a 32-bit Windows OS like XP or Vista to use the full 4 GB stems from compatibility issues with older chipsets, as indicated in this paper from HP, preventing devices from being mapped high. Thanks to reader nater for his feedback response on the matter.
Workarounds for reclaiming that lost memory have been introduced, of course. Intel’s Physical Address Extensions enabled 36-bit physical address tables, which did help in server environments by upping maximum memory size to 64 GB. However, according to a presentation given by Chuck Walbourn, senior software design engineer in Microsoft’s XNA Developer Connection at Gamefest 2008, PAE never really worked the way it should in with desktop operating systems, which would have needed to map the 4 GB virtual address space into the greater physical space. Drivers were the main problem, he said. They had application compatibility problems, assuming they always had 32-bits with which to work, not 36.
In addition to the 32-bit physical address lines, you’re also limited to 32-bits of virtual address space. Because one bit is reserved for shared kernel memory (used by all processes and the operating system), individual applications only have access to a maximum of 2 GB of private address space. Suddenly, you’re facing limitations that just might have a more profound impact on a desktop machine. Could taking the 64-bit plunge today actually make a significant difference in your gaming experience? That’s what we’ve set out to explore.