Стратегии выдачи и завершения команд суперскалярных процессоров



В режиме параллельного выполнения нескольких команд процессор должен следить в какой последовательности: 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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