Оригинальный автор(ы) | Интел |
---|---|
Стабильный релиз | 5336 / 5.3.81.31.21 |
Операционная система | Linux , Windows-сервер |
Тип | Эмулятор |
Лицензия | LGPL , защищенный авторским правом |
IA -32 Execution Layer (IA-32 EL) — это программный эмулятор в форме программного драйвера , который повышает производительность 32-разрядных приложений, работающих на 64-разрядных системах на базе Intel Itanium , в частности, на Linux и Windows Server 2003 (он включен в Windows Server 2003 SP1 и более поздние версии [1] и в большинство дистрибутивов Linux для Itanium). IA-32 EL обходит медленную аппаратную эмуляцию x86 , которая доступна на моделях Itanium до Montecito .
IA-32 EL использовал двухфазный (позже трехфазный) подход: изначально он быстро транслировал каждый фрагмент кода на уровне базового блока, добавляя определенный инструментарий для обнаружения горячего кода ; затем горячий код динамически оптимизировался на уровне суперблока, и оптимизированный транслированный код заменял холодный код на лету. [2] Позже был добавлен механизм интерпретации, который позволял полностью избегать трансляции кода, выполняемого всего несколько раз — холодная неоптимизированная трансляция стала, таким образом, второй фазой, а горячая оптимизированная трансляция стала третьей фазой. IA-32 Execution Layer поддерживал самомодифицирующийся код и даже мог довольно хорошо его оптимизировать.
Часть программного обеспечения распространяется по лицензии LGPL , а часть — по фирменной лицензии Intel. [3]