Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
X
- •4. Предикация, поток управления и поток инструкций
- •4.1. Краткий обзор
- •4.2. Предикация
- •4.2.1. Стоимость эффективности переходов
- •4.2.1.1. Ресурсы предсказания
- •4.2.1.2. Планирование инструкций
- •4.2.2. Предикация в архитектуре IntelItanium
- •4.2.3. Оптимизация эффективности программы использующей предикацию
- •4.2.3.1. Применение преобразования типа if
- •4.2.3.2. Предикация вне пути
- •4.2.3.3. Перемещение кода вверх.
- •4.2.3.4. Перемещение кода вниз
- •4.2.3.5. Сокращение засорения кэша.
- •4.2.4. Соображения о предикации
- •4.2.4.1. Несбалансированные пути выполнения.
- •4.2.4.2. Случай 1
- •4.2.4.3. Случай 2
- •4.2.4.4. Случай 3
- •4.2.4.5. Использование наложения ресурсов
- •4.2.4.6. Случай 1
- •4.2.5. Рекомендации по удалению ветвей
- •4.3. Оптимизация потока управления
- •4.3.1. Уменьшение критического пути при параллельном сравнении
- •4.3.2. Сокращения критического пути с помощью ветвлений.
- •4.3.3. Выбор множества значений для одной переменной или регистра с предикацией
- •4.3.3.1. Выбор одного из нескольких значений
- •4.3.3.2. Уменьшение использования регистров.
- •4.3.4. Улучшение выборки потока инструкций
- •4.3.4.1. Выравнивание потока инструкций.
- •4.4. Подсказки перехода и предвыборки
- •4.5. Итоги
4.5. Итоги
В этой главе представлено широкое разнообразие тем, связанных с оптимизацией потока управления, включая предикацию, архитектуру переходов, ветвление переходов, параллельное сравнение, выравнивание потока инструкций и подсказки переходов. Хотя такие темы могли бы быть представлены отдельными главами, но взаимодействие между особенностями лучше всего понимается при их влиянии друг на друга.
Предикация, и ее взаимодействие с формированием планирования области, является центральным для производительности архитектуры Itanium. К сожалению, обсуждение алгоритмов компиляции такого рода, выходят за рамки данного документа.
Соседние файлы в папке M9