Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры.docx
Скачиваний:
32
Добавлен:
16.07.2021
Размер:
169.9 Кб
Скачать

9. Структурные конфликты и способы их минимизации. Конфликты по данным, остановы конвейера и реализация механизма обходов.

Совмещенный режим выполнения команд в общем случае требует конвейеризации функциональных устройств и дублирования ресурсов для разрешения всех возможных комбинаций команд в конвейере. Если какая-нибудь комбинация команд не может быть принята из-за конфликта по ресурсам, то говорят, что в процессоре имеется структурный конфликт.

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

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

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

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

Команда условного перехода (КУП) в ходе выполнения может либо изменить, либо не изменить значение счетчика команд. Если КУП изменяет значение счетчика команд на адрес, вычисленный в команде, то переход называется выполняемым; в противном случае он называется невыполняемым. Таким образом, пока КУП не выполнена (не определен целевой адрес перехода), неизвестно, какую операцию необходимо загрузить в конвейер следующей. Для устранения или частичного сокращения издержек, связанных с указанной неопределенностью, предложены различные методы, которые условно можно разделить на четыре группы: буферы предвыборки, множественные потоки, задержанный переход, предсказание переходов.

Простейший метод работы с условными переходами заключается в приостановке конвейера. Как только обнаруживается КУП, конвейер приостанавливается до тех пор, пока она не достигнет ступени конвейера, которая вычисляет новое значение счетчика команд.

Приостановки конвейера из-за конфликтов по управлению должны реализовываться иначе, чем приостановки из-за конфликтов по данным, поскольку выборка команды, следующей за КУП, должна быть выполнена как можно быстрее, как только мы узнаем окончательное направление КУП.

Число тактов, теряемых при приостановках из-за условных переходов, может быть уменьшено двумя способами:

∙ выявлением характера условного перехода на более ранних ступенях конвейера;

∙ более ранним вычислением значения счетчика команд для выполняемого перехода (т. е. вычислением целевого адреса перехода).