- •2. Введение в архитектуру Intel ® Itanium ™
- •2.1 Работа вычислительной среды
- •2.2. Краткий обзор набора инструкций переходов.
- •2.3. Свойства набора инструкций IntelItanium
- •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. Свойства набора инструкций IntelItanium
Архитектура Itaniumвключает особенности, которые позволяют поддерживать высокую производительность и удаляют барьеры, препятствующие дальнейшему увеличению производительности. АрхитектураItaniumоснована на следующих принципах:
Явный параллелизм
Механизмы взаимодействия компилятора и процессора
Массив ресурсов, дающий преимущество параллельным инструкциям.
128 регистров для целых и действительных чисел
Поддержка множества исполнительных устройств и портов памяти.
Свойства, которые увеличивают параллелизм уровня инструкций
Спекулятивность (которая минимизирует воздействие время ожидания)
Предикативность (которая устраняет переходы)
Программный конвейер циклов с уменьшением потерь
Предсказание переходов для уменьшения затрат на переходы
Фокусированные улучшения для увеличения производительности программного обеспечения
Специальная поддержка модульности программного обеспечения
Высокопроизводительная архитектура с плавающей точкой
Специальные мультимедиа-инструкции
Следующие разделы выдвигают на первый план эти важные особенности архитектуры Itanium.
2.4. Параллелизм уровня инструкций
Параллелизм уровня инструкций (ILP) – это возможность выполнять несколько инструкций одновременно.
Архитектура Itaniumразрешает запуск независимых инструкций в связках (три инструкции в связке) и может запускать несколько пакетов за такт. АрхитектураItaniumпозволяет компилятору направлять работу и планировать параллельные нити вычислений с помощью большого количества параллельных ресурсов, таких как большие регистровые файлы и множественность исполнительных устройств.
Архитектура Itaniumвключает механизмы, обеспечивающие преимуществаILP. Компиляторы для традиционных архитектур часто ограничены в своих возможностях по применению спекулятивной информации, поскольку они не могут гарантировать, что она всегда корректна. АрхитектураItaniumпозволяет компилятору использовать спекулятивную информацию без ущерба для корректности выполнения приложения (см. раздел 2.6 «Спекулятивность»). В традиционной архитектуре вызовы процедур ограничивают производительность, из-за сливания (spill) и заливания (fill) регистров. АрхитектураItaniumпозволяет процедурам передавать применение регистров процессору. Это позволяет процессору планировать процедурные регистровые операции даже при низкой степениILP. См. раздел 2.7 «Стек регистров».