Are Intel's and AMD's 64-bit Approaches Compatible?

While Advanced Micro Devices and Intel Corporation do not have a lot in common when it comes to central processing units’ micro-architecture these days, both firms engage some very close approaches to enhance their x86 processors with 64-bit capabilities.

For a number of years Intel has been making tremendous efforts to penetrate high-end enterprise server market with its Itanium processor, a chip designed from the ground-up with no x86 in mind. The CPU may be considered as a pretty successful nowadays, but what Intel cannot address with it and its EPIC architecture is the volume market of web, small database servers and other applications of the same kind. The obvious problem Itanium-based servers have besides the cost is very low performance in x86 applications – the most wide-spread software in the world – what requires deploying new IA64-compatible programs making a transition to Itanium an extremely expensive task. If the transition is to costly foe large companies, there probably no ways for technology to be adopted by masses.

Advanced Micro Devices decided go another route. Historically the company could not compete with Intel for lucrative markets of high-end desktop and workstations machines, not talking about enterprise-class servers. It is pretty obvious that AMD could not afford to develop a processor incompatible with existing software infrastructure; consequently, AMD developed an x86 architecture that contained 64-bit extensions and numerous other performance tweaks. The results are AMD Opteron and AMD Athlon 64 microprocessors that form the only family of 64-bit processors able to serve various market segments from desktop to enterprise server.

The industry in general welcomed AMD 64-bit technology more warmly than Intel’s IA64, as it was more affordable and required less funds to transit on. AMD Opteron is probably a truly interesting solution for a plethora of companies because of excellent performance in 32-bit mode and 64-bit caps. Intel certainly would not like to lose highly-profitable mass market of Xeon server processors, but could not address the space with its Itanium chips. This is basically why today Intel finally introduced its IA32 chips with 64-bit enhancements adding AMD’s approach into arsenal.

64-bit extension technology is an enhancement to Intel’s IA32 architecture. The enhancement allows the processor to run newly written 64-bit code and access larger amounts of memory. These extensions do not run code written for the Intel Itanium processor, according to Intel.

“Brief examination of 64-bit Extension Technology Software Developer’s Guide shows that 64-bit extension technology from Intel is very identical to AMD64 technology in certain cases. Both technologies are based in the same general principles,” said an X-bit labs’ analyst Ilya Gavrichenkov.

“Compatibility with AMD 64 does not matter. What matters is compatibility with Microsoft’s operating system. Both Intel and AMD processors have unique micro-architectures so approaches may vary but both must work the OS,” an Intel’s spokesperson said.

“Intel, just like AMD, added a special CPU mode called “64-bit sub-mode”, where 64-bit flat linear addressing, 8 new general-purpose registers (GPRs), 8 new registers for streaming SIMD extensions (SSE, SSE2 and SSE3) and 64-bit-wide GPRs are available along with instruction pointers. Similar to AMD’s 64-bit chips, Intel’s 64-bit extension technology can run in either legacy IA32 mode or IA32e mode. IA-32e mode is the mode a processor uses when running a 64-bit operating system. The IA32e mode consists of two sub-modes: 64-bit mode and compatibility mode, just like it is implemented in AMD64 architecture,” X-bit labs’ analyst explains.

Intel’s officials distinctly claim that the 64-bit Extension Technology has been fully developed by Intel, even though Intel and AMD have cross-licensing agreement.

“With both companies designing entirely different architectures, the question is whether the operating system and software ported to each processor will run on the other processor, and the answer is yes in most cases. However, Intel processors support additional features, like the SSE3 instructions and Hyper-Threading Technology, which are not supported on non-Intel platforms. As such, we believe developers will achieve maximum performance and stability by designing specifically for Intel architectures and by taking advantage of Intel's breadth of software tools and enabling services,” Intel said.

In case IA32e processor runs software developed with AMD64 in mind, it means that che CPUs may be as compatible as x86 processors that also incorporate entirely different architectures, but run the same software.