La capa de ejecución IA-32 (IA-32 EL) es un emulador de software en forma de controlador de software que mejora el rendimiento de las aplicaciones de 32 bits que se ejecutan en sistemas basados en Intel Itanium de 64 bits , en particular los que ejecutan Linux y Windows Server 2003 (está incluido en Windows Server 2003 SP1 y posteriores [1] y en la mayoría de las distribuciones Linux para Itanium). La IA-32 EL evita la lenta emulación de hardware x86 que está disponible en los modelos Itanium anteriores a Montecito .
El IA-32 EL utilizó un enfoque de dos fases (más tarde de tres fases): inicialmente tradujo rápidamente cada pieza de código a un nivel de bloque básico, agregando cierta instrumentación para detectar código caliente ; luego, el código caliente se optimizó dinámicamente a un nivel de superbloque, y el código traducido optimizado reemplazó al código frío sobre la marcha. [2] Más tarde se agregó un motor de interpretación que permitió evitar por completo la traducción de código ejecutado solo unas pocas veces: la traducción fría no optimizada se convirtió así en la segunda fase, y la traducción optimizada en caliente se convirtió en la tercera fase. La capa de ejecución IA-32 admitía código automodificable e incluso podía optimizarlo bastante bien.
Una parte del software está bajo la LGPL y otra parte bajo una licencia propietaria de Intel. [3]