The truth is somewhat different from both of these visions. 64-bit computing won't bring us two times the performance in an amazing overnight transformation of the PC, as the move from 8 bits to 16 seemed to do back in the day. But it's not a pointless exercise in shuffling bits, either. The 64-bit extensions to the venerable x86 instruction set architecture (ISA), including AMD64 and Intel's code-compatible EM64T, actually offer some tangible benefits with few drawbacks. These extensions to the x86 ISA offer a much larger memory address space, bring a cleaner programming model with performance benefits, and retain backward compatibility with existing 32-bit applications.
In order to help you navigate through the hype, we nabbed a pair of 64-bit processors from AMD and Intel and tested them with the latest release candidate of the 64-bit version of Windows XP. Read on for our take on the move to 64 bits, including a look at the performance of the latest CPUs in Windows XP Pro x64 Edition with both 32 and 64-bit applications.
The essence of the move to 64-bit computing is a set of extensions to the x86 intruction set pioneered by AMD and now known as AMD64. During development, they were sensibly called x86-64, but AMD decided to rename them to AMD64, probably for marketing reasons. In fact, AMD64 is also the official name of AMD's K8 microarchitecture, just to keep things confusing. When Intel decided to play ball and make its chips compatible with the AMD64 extensions, there was little chance they would advertise their processors "now with AMD64 compatibility!" Heart attacks all around in the boardroom. And so EM64T, Intel's carbon copy of AMD64 renamed to Intel Extended Memory 64 Technology, was born.
The difference in names obscures a distinct lack of difference in functionality. Code compiled for AMD64 will run on a processor with EM64T and vice versa. They are, for our purposes, the same thing.
Whatever you call 'em, 64-bit extensions are increasingly common in newer x86-compatible processors. Right now, all Athlon 64 and Opteron processors have x86-64 capability, as do Intel's Pentium 4 600 series processors and newer Xeons. Intel has pledged to bring 64-bit capability throughout its desktop CPU line, right down into the Celeron realm. AMD hasn't committed to bringing AMD64 extensions to its Sempron lineup, but one would think they'd have to once the Celeron makes the move.
For some time now, various flavors of Linux compiled for 64-bit processors have been available, but Microsoft's version of Windows for x86-64 is still in beta. That's about to change, at long last, in April. Windows XP Professional x64 Edition, as it's called, is finally upon us, as are server versions of Windows with 64-bit support. (You'll want to note that these operating systems are distinct from Windows XP 64-bit Edition, intended for Intel Itanium processors, which is a whole different ball of wax.) Windows x64 is currently available to the public as a Release Candidate 2, and judging by our experience with it, it's nearly ready to roll. Once the Windows XP x64 Edition hits the stores, I expect that we'll see the 64-bit marketing push begin in earnest, and folks will want to know more about what 64-bit computing really means for them.
The immediate impact, in a positive sense, isn't much at all. Windows x64 can run current 32-bit applications transparently, with few perceptible performance differences, via a facility Microsoft has dubbed WOW64, for Windows on Windows 64-bit. WOW64 allows 32-bit programs to execute normally on a 64-bit OS. Using Windows XP Pro x64 is very much like using the 32-bit version of Windows XP Pro, with the same basic look and feel. Generally, things just work as they should.
There are differences, though. Device drivers, in particular, must be recompiled for Windows x64. The 32-bit versions won't work. In many cases, Windows x64 ships with drivers for existing hardware. We were able to test on the Intel 925X and nForce4 platforms without any additional chipset drivers, for example. In other cases, we'll have to rely on hardware vendors to do the right thing and release 64-bit drivers for their products. Both RealTek and NVIDIA, for instance, supply 64-bit versions of their audio and video drivers, respectively, that share version numbers and feature sets with the 32-bit equivalents, and we were able to use them in our testing. ATI has a 64-bit beta version of its Catalyst video drivers available, as well, but not all hardware makers are so on the ball.
Some other types of programs won't make the transition to Windows x64 seamlessly, either. Microsoft ships WinXP x64 with two versions of Internet Explorer, a 32-bit version and a 64-bit version. The 32-bit version is the OS default because nearly all ActiveX controls and the like are 32-bit code, and where would we be if we couldn't execute the full range of spyware available to us? Similarly, some system-level utilities and programs that do black magic with direct hardware access are likely to break in the 64-bit version of Windows. There will no doubt be teething pains and patches required for certain types of programs, despite Microsoft's best efforts.
Of course, many applications will be recompiled as native 64-bit programs as time passes, and those 64-bit binaries will only be compatible with 64-bit processors and operating systems. Those applications should benefit in several ways from making the transition.