Шпаргалка: Командный цикл процессора
Обнаружение зависимости по данным
Данные от команды к команде передаются посредством:
Регистров – обнаружение зависимостей проще (имена регистров зафиксированы в командах).
Ячеек ОП – обнаружение значительно сложнее.
29. Что означает понятие «сохранение потока данных»?
Условные переходы позволяют данным для конкретной команды поступать из многих точек (источников) поток данных становиться динамическим. Изменить зависимость по управлению, сохраняя поток данных и решая проблему исключительных ситуаций, позволяют:
Выполнение команд по предположению;
Условные команды.
Какие меры способствуют снижению приостановок конвейера по управлению?
Базовое планирование загрузки конвейера
Предотвращение приостановки конвейера: отделить зависимую команду (j) от исходной (i) на расстояние в тактах, равное задержке конвейера для последней.
Планирование – обеспечение условий максимальной загрузки конвейера.
Факторы эффективности планирования:
Степень программного ILP;
Задержка функциональных устройств в конвейере.
Недостатки простого конвейера
Главное ограничение: порядок выдачи команд строго определен программой:
Приостановка выполнения какой-либо команды в конвейере вызывает приостановку следующих за ней команд;
Если имеется несколько функциональных устройств, многие из них могут оказаться незагруженными.
Подход к реализации неупорядоченного выполнения
Простой конвейер: структурные конфликты и конфликты по данным потерялись на стадии ID.
Неупорядоченное выполнение команд: ступень ID расщепляется на две:
Выдача: декодирование команд
Чтение операндов: ожидание, отсутствие конфликтов по данным
Динамическое планирование (оптимизация)
Все команды:
Проходят ступень выдачи (issue) в порядке, предписанном программой (упорядоченная выдача);
Могут приостанавливаться и обходить друг друга на ступени чтения операндов, поступая на ступень выполнения неупорядоченно.
Требование: возможность одновременного нахождения нескольких команд на стадии выполнения.