Стратегии выдачи и завершения команд суперскалярных процессоров
В режиме параллельного выполнения нескольких команд процессор должен следить в какой последовательности: 1) ему выбирать команды из памяти; 2) выполнять команды; 3) позволяет изменять регистры и ячейки памяти.
В общем виде стратегию выдачи и завершения команд можно сгруппировать в следующем виде: 1) УВУЗ; 2) УВНЗ; 3) НВНЗ.
Предположим, что процессор способен одновременно выбирать и дешифрировать 2 команды. Передача обеих команд на дешифрацию происходит также одновременно. В состав процессора входит 3 ФБ (сложение, умножение и деление), 2 устройства, обеспечивающих запись результата.
Стратегия УВУЗ
Цикл | ДК | ИК | * | ЗД | |||
УВУЗ – простейшая. В настоящее время используется как точка отсчета при сравнении различных стратегий. Особенности: Все, что затрудняет завершение команды в одном конвейере, приостанавливает и другой, т.к. команды должны покидать конвейер в порядке их поступления.
Стратегия УВНЗ
Цикл | ДК | ИК | ЗД | ||||
Данная стратегия позволяет одному из конвейеров работать при приостановке в другом. При этом команды, стоящие позже, могут быть выполнены раньше предыд. Процессор должен гарантировать, что результаты не будут записаны в память, а регистры не будут модифицированы в неправильной последовательности. При реализации данной стратегии программный код может быть выполнен на 1 цикл меньше.
|
|
Стратегия НВНЗ
Цикл | Окно | |||||||
1, 2 | ||||||||
3, 4 | ||||||||
4, 5, 6 | ||||||||
Стратегия разрешает процессору нарушать предписанный порядок выдачи команд на исполнение. Чтобы обеспечить неупорядоченную выдачу в конвейере необходимо max развязать ступени декодирования и исполнения. Это обеспечивается с помощью БП, которую наз. окном команд.
Каждая декодированная команда вначале помещается в окно команд. Процессор может продолжить выборку и декодирование вплоть до полного заполнения буфера. Выдача команд на исполнение определяется не последовательностью поступления команд, а мерой их готовности.
|
|
Окно не является дополнительной ступенью конвейера, т.е. не сказывается на производительности конвейера. При данной стратегии команда 6 готова ранее, чем команда 5 и поэтому она исполняется раньше, это приводит к уменьшению времени выполнения программного кода на 1 цикл. В НВНЗ команда не может быть выдана, если она приводит к зависимости или конфликту. Эффективность заключается в том, что к выдаче готово большее количество команд, что позволяет уменьшить вероятность приостановки конвейера.
Дата добавления: 2015-12-17; просмотров: 48; Мы поможем в написании вашей работы! |

Мы поможем в написании ваших работ!