With the release of Windows x64 nearing, how will applications of today perform on the next generation of processors?
The Windows x64 platform is not Microsoft’s first endeavor into the 64-Bit market. Before AMD64 (which Microsoft terms “x64”), we had the Itanium (which Microsoft terms “IA64”). In fact, Microsoft Windows Server 2003 is available in IA64 editions, and now x64 editions. At one time, Microsoft even offered an IA64 version of Windows XP (however, they have dropped this in favor of x64 now).
One crucial thing that prevented people from migrating to an IA64 version of Windows was 32-bit legacy application support. When Intel created the Itanium processor, they decided to not include any type of 32-bit support inside the processor – meaning a 32-bit application required emulation to run on an Itanium system. The high cost of emulation in performance meant that Itanium’s were not good candidates for running high-performance 32-bit applications. To take advantage of IA64, all programs would need to be recompiled and targeted for IA64 – which often required rewriting portions of the program.
When AMD released the AMD64 line of processors (AMD Athlon 64, AMD Athlon FX, AMD Opteron, and now AMD Turion), AMD recognized the desire for 64-bit computing, and also respected the need for performance 32-bit computing as well. Instead of wiping the slate clean on processor design, as Intel did with Itanium, AMD added 64-bit extensions to the 32-bit architecture that we already used. This meant, that an AMD64 processor could run new 64-bit applications, and old 32-bit applications without any emulation.
The Windows x64 Platform features an application compatibility layer called WOW64 – Windows on Windows64. Note, the first “Windows” refers to 32-Bit Windows, so WOW64 really refers to Windows32 on Windows64. When a 32-bit application is executed in Windows x64, WOW64 kicks in, and provides the 32-bit compatibility to your 32-bit application. To you, your program appears the same way it would in 32-bit Windows, and performs the same exact way (or possibly even better) in Windows x64.
Read the rest here
Great overview of this next generation computing platform.