
52
2. Переупорядочивание и оптими-
зация инструкций во время
выполнения.
2. Переупорядочивание и оптими-
зация во время компиляции
3. Попытка предсказания перехода 3. Отсутствие предсказания пере-
хода
4. Загрузка данных из памяти по
мере необходимости с проверкой
КЭШ памяти
4. Загрузка данных до того, как они
потребуются. КЭШ память прове-
ряется предварительно.
Основные особенности архитектуры
1. Инструкции упаковываются в 128 битный пакет для высокопроиз-
водительной обработки. Эта концепция называется LIW encoding.
2. Этот пакет содержит шаблон из нескольких бит, который помеща-
ется компилятором. В шаблоне указывается, какие команды можно
выполнить параллельно.
3. Компиляторы IA–64 используют технологию «отмеченных команд»
(предикаты) для устранения потерь производительности из-за не-
правильно
предсказанных переходов.
4. Компиляторы IA–64 архитектуры вперёд просматривают исходный
код с целью поиска команд, использующих данные из памяти. Об-
наружив такую команду, компилятор вырабатывает еще две ко-
манды:
1. Команда предварительной загрузки
2. Проверка загрузки.
Во время выполнения программы первая команда загружает дан-
ные до того, как они понадобятся программе, а вторая команда
прове-
ряет, насколько успешно произошла загрузка.
Недостатки:
1. Вся работа по оптимизации программного кода возлагается на
компилятор.
2. Программа, скомпилированная для одного поколения 64-х разряд-
ной архитектуры, может быть не эффективна для другого поколе-
ния.
3. Увеличение размеров кода приводит к увеличению времени на
компиляцию.