Современные высокопроизводительные компьютеры


Сокращение потерь на выполнение команд перехода и минимизация конфликтов по управлению - часть 5


Стратегии (b) отдается предпочтение, когда с высокой вероятностью переход является выполняемым, например, если это переход на начало цикла.

Наконец, слот задержки может заполняться командой, находящейся между командой невыполняемого перехода и командой, находящейся по целевому адресу, как в случае (c). Чтобы подобная оптимизация была законной, необходимо, чтобы можно было все-таки выполнить команду SUB, если переход пойдет не по прогнозируемому направлению. При этом мы предполагаем, что команда SUB выполнит ненужную работу, но вся программа при этом будет выполняться корректно. Это, например, может быть в случае, если регистр R4 используется только для временного хранения промежуточных результатов вычислений, когда переход выполняется не по прогнозируемому направлению.

Рис. 5.15, а. Требования к переставляемым командам при планировании


задержанного перехода

Рис. 5.15, б показывает различные ограничения для всех этих схем планирования условных переходов, а также ситуации, в которых они дают выигрыш. Компилятор должен соблюдать требования при подборе подходящей команды для заполнения слота задержки. Если такой команды не находится, слот задержки должен заполняться пустой операцией.

Рассматриваемый
случай
ТребованияКогда увеличивается
производительность

(a)Команда условного перехода не должна зависеть от переставляемой команды Всегда

(b)Выполнение переставляемой команды должно быть корректным, даже если переход не выполняется
Может потребоваться копирование команды
Когда переход выполняется. Может увеличивать размер программы в случае копирования команды

(c)Выполнение переставляемой команды должно быть корректным, даже если переход выполняетсяКогда переход не выполняется

Рис. 5.15, б

Планирование задержанных переходов осложняется (1) наличием ограничений на команды, размещение которых планируется в слотах задержки и (2) необходимостью предсказывать во время компиляции, будет ли условный переход выполняемым или нет. Рис. 5.16 дает общее представление об эффективности планирования переходов для простейшего конвейера с одним слотом задержки перехода при использовании простого алгоритма планирования.


- Начало -  - Назад -  - Вперед -



Книжный магазин