- •2. Введение в архитектуру Intel ® Itanium ™
- •2.1 Работа вычислительной среды
- •2.2. Краткий обзор набора инструкций переходов.
- •2.3. Свойства набора инструкций Intel Itanium
- •2.4. Параллелизм уровня инструкций
- •2.5. Связь между компилятором и процессором
- •2.6. Спекулятивность
- •2.6.1. Спекулятивность по управлению
- •2.6.2. Спекулятивность по данным.
- •2.6.3. Предикация
- •2.7. Стек регистров
- •2.8. Переходы
- •2.9. Ротация регистров
- •2.10. Архитектура работы с плавающей точкой
- •2.11. Поддержка мультимедиа
- •2.12. Особенности системной архитектуры Intel ® Itanium ™
- •2.12.1. Поддержка в операционных системах модели множественного адресного пространства
- •2.12.2. Поддержка в операционных системах модели единого адресного пространства
- •2.12.3. Производительность и масштабируемость систем
- •2.12.4. Безопасность и поддерживаемость систем
- •2.13. Терминология
2.2. Краткий обзор набора инструкций переходов.
Внутри системной среды Itanium процессор может в любое время выполнять любые инструкции IA-32 или Itanium. Три специальные инструкции и прерывания задаются для переключения процессора между наборами инструкций Itanium и IA-32.
jmpe (IA-32 инструкция) переход к инструкции типа Itanium и переключение на набор инструкций типа Itanium.
br.ia (Itanium инструкция) переход к инструкции типа IA-32 и переключение на набор инструкций типа IA-32.
rfi (Itanium инструкция) “Return from interruption” задает возврат к IA-32 или Itanium инструкции.
Прерывания переводят процессор в набор инструкций типа Itanium не зависимо от условий прерывания.
Инструкции jmpe и br.ia обеспечивают малозатратный механизм для передачи управления между различными наборами инструкций. Эти инструкции обычно включены в “thunks” или “stubs” (“заглушки”) осуществляющие требуемое редактирование связей и вызовов условий для динамически и статически подключаемых библиотек. Детали описаны в разделе 6.1. «Виды наборов инструкций».
2.3. Свойства набора инструкций Intel Itanium
Архитектура Itanium включает особенности, которые позволяют поддерживать высокую производительность и удаляют барьеры, препятствующие дальнейшему увеличению производительности. Архитектура Itanium основана на следующих принципах:
Явный параллелизм
Механизмы взаимодействия компилятора и процессора
Массив ресурсов, дающий преимущество параллельным инструкциям.
128 регистров для целых и действительных чисел
Поддержка множества исполнительных устройств и портов памяти.
Свойства, которые увеличивают параллелизм уровня инструкций
Спекулятивность (которая минимизирует воздействие время ожидания)
Предикативность (которая устраняет переходы)
Программный конвейер циклов с уменьшением потерь
Предсказание переходов для уменьшения затрат на переходы
Фокусированные улучшения для увеличения производительности программного обеспечения
Специальная поддержка модульности программного обеспечения
Высокопроизводительная архитектура с плавающей точкой
Специальные мультимедиа-инструкции
Следующие разделы выдвигают на первый план эти важные особенности архитектуры Itanium.
2.4. Параллелизм уровня инструкций
Параллелизм уровня инструкций (ILP) – это возможность выполнять несколько инструкций одновременно.
Архитектура Itanium разрешает запуск независимых инструкций в связках (три инструкции в связке) и может запускать несколько пакетов за такт. Архитектура Itanium позволяет компилятору направлять работу и планировать параллельные нити вычислений с помощью большого количества параллельных ресурсов, таких как большие регистровые файлы и множественность исполнительных устройств.
Архитектура Itanium включает механизмы, обеспечивающие преимущества ILP. Компиляторы для традиционных архитектур часто ограничены в своих возможностях по применению спекулятивной информации, поскольку они не могут гарантировать, что она всегда корректна. Архитектура Itanium позволяет компилятору использовать спекулятивную информацию без ущерба для корректности выполнения приложения (см. раздел 2.6 «Спекулятивность»). В традиционной архитектуре вызовы процедур ограничивают производительность, из-за сливания (spill) и заливания (fill) регистров. Архитектура Itanium позволяет процедурам передавать применение регистров процессору. Это позволяет процессору планировать процедурные регистровые операции даже при низкой степени ILP. См. раздел 2.7 «Стек регистров».
