AMD Athlon 64 & Athlon 64 FX - It's Judgment Dayby Anand Lal Shimpi on September 23, 2003 1:25 PM EST
- Posted in
Where does 64-bit help?
Although the performance that will sell the Athlon 64 today has nothing to do with this, the 64-bit part of the equation will definitely play a role in the processor's future. With no final release of the 64-bit version of Windows XP, there is no popular OS support (we will touch on Linux support as well as Win64 support shortly) and no real application support at this time, but where will the 64-bitness of the Athlon 64 help?
There are three main categories that you can split up the performance benefits into: 32-bit applications running on a 32-bit OS, 32-bit applications on a 64-bit OS and 64-bit applications on a 64-bit OS; we will be analyzing each one of these scenarios individually.
Case 1: 32-bit apps under a 32-bit OS
At the launch of the Athlon 64, the predominant operating environment will be running 32-bit applications under a 32-bit OS. All performance benefits the K8 architecture will show here are courtesy of the on-die memory controller, improved branch predictor, higher clock speed and more robust TLBs - none of the performance improvements you'll see in this case will have anything to do with the 64-bit capabilities of the processor.
Case 2: 32-bit apps under a 64-bit OS
When Windows XP 64-bit Edition is officially released (a public beta is due out at the time of publication), many users will be running their 32-bit applications under the 64-bit OS.
Outside of the performance improvements that we just outlined in Case 1, there are a couple of additional benefits the Athlon 64 may offer users. Currently under Windows, although you have a physical memory limit of 4GB, any given process can only use up to 2GB of memory; the remaining 2GB is reserved for use by the OS. With the 32-bit applications under a 64-bit OS scenario, each 32-bit application could be given a full 4GB of memory to work with, instead of being limited to the 2GB Windows process size limitation. Unfortunately this benefit isn't really "plug 'n play" as the application would have to be aware that it can use the added memory, which in the vast majority of cases would require a new patch to be made available.
The second benefit the Athlon 64 could offer in this scenario comes from the availability of additional registers. Although the 32-bit application would still only be compiled to use the regular set of 8 general purpose registers and standard set of FP and SSE2 registers, the 64-bit OS would be able to reference and use all of the registers at its disposal. The performance benefits that you would see here exist in any sort of task handling that the OS would be doing (switching between applications) as well as just regular Windows performance. Granted that the performance improvements seen here should be negligible, considering the extra overhead that does exist when running 32-bit applications in a 64-bit environment (more on this in a bit).
Case 3: 64-bit applications under a 64-bit OS
The final scenario is the one that shows the most promise, yet has the least amount of application support today - running a 64-bit app under a 64-bit OS. Here, the benefits are numerous; not only do you get the performance improvements courtesy of the Athlon 64's architecture, but each application now has full access to the increased number of registers and each application can use much more than 4GB of memory.
Although the Athlon 64 can support 64-bit memory addressability, for demand reasons it only supports 40-bit of physically addressable memory - or ~137GB, not exactly a limiting factor at this point.
The performance improvements developers are expecting to see under this final scenario has been estimated to be in the 10 - 20% range in tasks that are not memory bound, meaning those areas where the application is using less than 2 - 4GB of memory in the first place will still see sizable performance gains courtesy of the availability of more registers. We will investigate a few of these scenarios to substantiate (or refute) these claims later on in the article.
Performance improvements where you are memory bound will be even more impressive; just think about how slow swapping to disk is and how much faster keeping everything in memory makes your computer.