The other way that 64-bit machines surpass today's 32-bit systems is when it comes to doing math. Whereas today's 32-bit machines have processors that can represent any integer between 0 and 4,294,967,295 (that's 232-1), a 64-bit machine can represent integers between 0 and 18,446,744,073,709,551,615 (264-1).
Once again, being able to do math with these huge numbers in a single instruction can be an enormous advantage in a small number of scientific applications. But it turns out that for most day-to-day office tasks 64-bit integer math isn't all that useful. For starters, that's because we already have machines that can do 64-bit: today's machines just do it with special-purpose floating point processing units, or else they do it with multiple 32-bit instructions. For most operations, special 64-bit math hardware is simply not needed.
You don't need to take my word on this. Just look at the history of other 64-bit architectures. While 64 bits is new to the world of x86, other microprocessors made the transition to 64 bits back in the 1990s. The Alpha, MIPS64, and Sparc64 are all 64-bit machines. Yet most of the programs running on these computers effectively ignore the top 32-bits of every number-that's because those digits are invariably 0.
The Real 64-bit Payoff: Newer Designs
All of these arguments against 64-bit machines melt into the woodwork, however, when you sit down in front of Apple's new G5 computer: no matter whether you editing video or simply browsing the Web, the machine feels dramatically faster than it's 32-bit G4 cousins. So what gives?
With the notable exception of Intel's Itanium processor, today's 64-bit machines generally run 32-bit code faster than their 32-bit cousins for the same reason that the 32-bit Intel 80386 ran 16-bit code faster than the 8088 and the 80286. The reason is that the 64-bit CPUs are simply more modern devices. These chips are made with more advanced silicon processes, they have higher clock rates, and they pack more transistors. AMD's Athlon64 and IBM's G5 don't just have wider registers: they also have more functional units inside their silicon brains. These chips do a better job at things like executing multiple instructions at the same time, out-of-order execution, and branch prediction. That 64-bit PowerMac G5 running in the Apple Store is largely running 32-bit code. The machine's impressive speed comes from the combination of two processors, the faster clock rates, a bigger cache, and a better memory bus.
Yes, AMD and IBM could have put that same technology into a new 32-bit design. But these days, designing a new chip costs billions of dollars. A 64-bit processor can command a higher price than a 32-bit CPU, so it is in the best interest of these companies to put their latest-and-greatest technology into their 64-bit products.
Looking forward, 64-bit computing will really catch on because the 64-bit machines will just happen to do a better job running today's 32-bit code than today's 32-bit processors. But the market could easily evolve in another direction. Those extra 32 bits consume a lot of power, so companies building CPUs for laptops and handhelds might simply fold the tricks developed for 64-bit machines into their 32-bit devices.
The same thing has happened in game consoles. Although there was a lot of excitement a few years ago when Nintendo decided to use the 64-bit R4300i processor for its Nintendo 64 system, video game players didn't really benefit from the extra 32 bits of address or math. The R4300i was a fast chip at the time because it implemented a lot of other state-of-the-art techniques for speeding program execution. It could have provided the same level of performance if those tricks had been applied to a 32-bit processor. It was the tricks that brought the speed, not the bits.
Comments