Конфликты в конвейере( структурные, по данным, по управлению)



1) структурные конфликты; 2) конфликты по данным; 3) конфликты по управлению.

Структурные конфликты возникают при обращении нескольких команд к одному и тому же ресурсу, т.к. в этапах рабочего цикла 3 этапа связаны с памятью? На практике удается избежать данных конфликтов: за счет использования иерархической системы память (кэш данных, кэш команд), за счет расслоения памяти. В целом влияние структурных конфликтов на производительность конвейеров по сравнению с другими видами конфликтов невелико. Более существенно влияют конфликты по данным.

Конфликты по данным – типичная и регулярно встречающаяся проблема. Предполагают, что на конвейере располагаются 2 команды: i и j, которые обращаются к одной переменной. I предшествует j. Возникают 3 конфликта: 1) чтение после записи (команда j читает до того, как команда I успела записать новое значение X, т.е. j ошибочно получит старое значение в X вместо нового. 2) запись после чтения (при параллельной обработке): команда j записывает новое значение х до того как команда i успела прочитать х, то есть команда i ошибочно получит новое значение х вместо старого. 3) запись после записи: команда j записывает новое значение х прежде, чем команда i успела записать в качестве х свое значение, то есть х ошибочно содержит i-e значение х вместо j-гo.

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

В борьбе с конфликтами по данным выделяют 2 аспекта: 1) своевременное обнаружение потенциальных конфликтов; 2) устранение конфликтов.

Для борьбы с конфликтами по данным применяются программные и аппаратные методы. Программные методы ориентированы на возможности устранения конфликтов на стадии компиляции. Аппаратные методы предпринимают приостановку конвейера, но это снижает производительность. Наиболее проблемный конфликт – чтение после записи. Для решения таких конфликтов используют прием ускорения продвижения информации или цепи обхода.

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


Дата добавления: 2015-12-17; просмотров: 54; Мы поможем в написании вашей работы!

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






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