Software:IA-32 Execution Layer
Original author(s) | Intel |
---|---|
Stable release | 5336 / 5.3.81.31.21
|
Operating system | Linux, Windows Server |
Type | Emulator |
License | LGPL, 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
- ↑ The IA-32 Execution Layer 4.3 Software Driver (microsoft.com)
- ↑ "IA-32 Execution Layer: Technical Whitepaper". Intel. http://software.intel.com/en-us/articles/ia-32-execution-layer-technical-whitepaper/?wapkw=ALL(IA-32+EL).
- ↑ "Intel Software Development Products". Intel. Archived from the original on April 23, 2007. https://web.archive.org/web/20070423060135/http://www.intel.com/cd/software/products/asmo-na/eng/219740.htm.
External links
Original source: https://en.wikipedia.org/wiki/IA-32 Execution Layer.
Read more |