X86 Emulation on Itanium (IA-32 Execution Layer)

From etlam.eu Tech Wiki
Jump to navigationJump to search

Unlike the modern x86-64 / AMD64 architecture, the Itanium architecture is not capable of executing x86 applications natively due to its very different architecture design. But since the software support for Itanium was lackluster and migrating from existing x86 systems would be a headache without native software, a compatibility layer had to be provided.

For the first few generations of Itanium, namely until the Montecito line of Itanium 2 CPUs launched in 2006, a hardware emulation layer was built in to all Itanium chips. However it was later discovered that well implemented software emulation of x86 instructions can be faster than the actual hardware emulation, which is why Intel developed and released the IA-32 Execution Layer for Windows and Linux in 2004.

The execution layer was later included in Windows Server 2003 Service Pack 1 and later versions of Windows, as well as in most Linux distributions released after 2004.


Download IA-32 Execution Layer for Windows Server 2003 for 64-bit Itanium-based Systems and Windows XP 64-bit (download.microsoft.com | 2,2 MB)

Benchmarks

Here are a selected number of benchmarks comparing the Hardware Emulation in the Madison based Itanium 2 1.3 GHz chip to the IA-32 Execution Layer.

Hardware:

  • HP Integrity rx2600 Server
  • CPU: 1x / 2x Intel Itanium 2 1.3 GHz 3 MB (Madison)
  • RAM: 6 GB DDR RAM
  • OS: Microsoft Windows XP Professional 64-Bit Edition, Version 2003 (RTM)
  • GPU: ATI FireGL X1
Software Architecture 1 CPU

Hardware

2 CPUs

Hardware

1 CPU

IA-32 EL

Improvement vs

1 CPU Hardware

2 CPUs

IA-32 EL

Improvement vs

2 CPUs Hardware

7-Zip 9.20 "7z b" - Best of 3 ia64 1242 2372 n/a n/a n/a n/a
7-Zip 9.20 "7z b" - Best of 3 x86 490 866 951 +94,1% 939 +8,4%
CPU-Z Benchmark 17.01.32 - Best of 3 x86 7,0 14,2 7,7 +10,0% 7,7 -45,8%
PCMark 2002 Pro CPU Score - 1 Run x86 1228 1229 2591 +111,0% 2597 +111,3%
Software setup 1 CPU Performance

vs Native

2 CPUs Performance

vs Native

7-Zip 9.20 ia64 (Native) 1242 100% 2372 100%
7-Zip 9.20 x86 (Hardware Emulation) 490 39,5% 866 36,5%
7-Zip 9.20 x86 (IA-32 Execution Layer) 951 76,6% 939 39,6%