IA-32 Execution Layer

IA-32 Execution Layer
Original author(s)Intel
Stable release
5336 / 5.3.81.31.21
Operating systemLinux, Windows Server
TypeEmulator
LicenseLGPL, Proprietary

The IA-32 Execution Layer (IA-32 EL) is a software emulator in the form of a software driver that improves performance of 32-bit applications running on 64-bit Intel Itanium-based systems, particularly those running Linux and Windows Server 2003 (it is included in Windows Server 2003 SP1 and later[1] and in most Linux distributions for Itanium). The IA-32 EL bypasses the slow x86 hardware emulation which is available on pre-Montecito Itanium models.

The IA-32 EL used a two-phase (later three-phase) approach: initially it quickly translated every piece of code at a basic block level, adding certain instrumentation for detecting hot code; then hot code was dynamically optimized at a super-block level, and the optimized translated code replaced cold code on the fly.[2] Later interpretation engine was added that allowed to avoid altogether translation of code executed just a few times - cold non-optimized translation became thus the second phase, and hot optimized translation became the third phase. IA-32 Execution Layer supported self-modifying code, and could even optimize it quite well.

Part of the software is under the LGPL and part is under an Intel proprietary license.[3]

See also

References

  1. ^ The IA-32 Execution Layer 4.3 Software Driver (microsoft.com)
  2. ^ "IA-32 Execution Layer: Technical Whitepaper". Intel.
  3. ^ "Intel Software Development Products". Intel. Archived from the original on April 23, 2007.

External links

  • Intel® Itanium® Processor Family Reference Guide: IA-32 Execution Layer
  • v
  • t
  • e
Subsidiaries
Joint venture
4Group Holdings (50% owned by Technicolor SA)
Products
  • v
  • t
  • e
Lists
Microarchitectures
IA-32 (32-bit)
x86-64 (64-bit)
x86 ULV
Current products
x86-64 (64-bit)
Discontinued
BCD oriented (4-bit)
pre-x86 (8-bit)
Early x86 (16-bit)
x87 (external FPUs)
8/16-bit databus
8087 (1980)
16-bit databus
80C187
80287
80387SX
32-bit databus
80387DX
80487
IA-32 (32-bit)
x86-64 (64-bit)
Other
Related
Litigation
People
Founders
CEOs
Related


Stub icon

This emulation-related article is a stub. You can help Wikipedia by expanding it.

  • v
  • t
  • e