Данная архитектура была объявлена Intel в мае 1999 г. Типичным представителем архитектуры является ЦП Itanium. Процессоры IA-64 располагают массивными вычислительными ресурсами, включая 128 регистров для ФЗ, 128 регистров ПЗ и 64 регистра предикации наряду с множеством регистров специального назначения (рис. 3.12). Команды должны группироваться для параллельного выполнения различными функциональными модулями. Набор команды оптимизирован, чтобы обеспечить вычислительные потребности криптографии, видеокодирования и других функций, которые все более необходимы следующим поколениям серверов и рабочих станций. В процессорах IA-64 также поддерживаются и развиваются ММХ-технологии и SIMD-расширения.
Архитектура IA-64 не является ни 64-битовой версией архитектуры Intel IA-32, ни адаптацией предложенной Hewlett-Packard архитектуры РА-RISC на 64 бита, а представляет собой полностью оригинальную разработку (см. таблицу). IA-64 — это компромисс между CISC и RISC, попытка сделать их совместимыми (существуют два режима декодирования команд — VLIW и CISC, и ЦП автоматически переключается в необходимый режим исполнения).
Основные инновационные технологии IA-64 — длинные слова команд (long instruction words — LIW), предикаты команд (instruction predication), устранение ветвлений (branch elimination), предварительное чтение данных (speculative loading) и другие ухищрения для того, чтобы «извлечь больше параллелизма» из кода программ.
Таблица. Основные различия архитектур IA-32 и IA-64
Характеристики
Архитектура х86
Архитектура IA-64
Использование сложных команд переменной длины, обрабатываемых по одной
Использование простых команд одинаковой длины, сгруппированных по 3
Переупорядочивание и оптимизация команд в процессе исполнения
Переупорядочивание и оптимизация в процессе компиляции
Попытки предсказания переходов (ветвлений)
Выполнение нескольких последовательностей команд одновременно без предсказания ветвлений
Считывание данных из памяти (загрузка) по мере необходимости, в первую очередь проверяя кэш
Загрузка данных прежде, чем они потребуются
Основная проблема архитектуры IA-64 заключается в отсутствии встроенной совместимости с х86 кодом, что не позволяет процессорам IA-64 эффективно работать с программным обеспечением, разработанным за последние 20—30 лет. Intel оборудует свои процессоры IA-64 (Itanium, Itanium 2 и т. д.) декодером, который преобразует инструкции х86 в команды IA-64. Декодер не является самым эффективным как по способу реализации, так и по принципу построения, ведь аппаратная поддержка инструкций х86 работает значительно быстрее. Поэтому Itanium и Itanium 2 характеризуются низкой производительностью в приложениях х86.