Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Конфликтов по управлению



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

Если команда условного перехода заменяет счетчик команд значением адреса, вычисленного в команде, то переход называют выполняемым. В противном случае – невыполняемым.

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

Метод

Если конвейер будет приостановлен на 3 такта, на каждой команде условного перехода, это может существенно отразиться на производительности ВМ. При частоте команд условного перехода программ =30 процессоры с приостановками условных переходов достигают примерно половины получаемого за счет конвейерной организации.

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

В общем случае, чем глубина конвейера больше, тем больше потери на команды условных переходов, исчисляемые в тактах.

Метод возврата 1.

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

В этом случае необходимо позаботиться о том, чтобы не изменять состояние процессора до тех пор, пока направление перехода не станет известным.

Метод возврата 2.

Схема альтернативная предыдущему. Прогнозирует условный переход как выполняемый.

Проблемы реализации точного

прерывания в конвейере.

Обработка прерываний в конвейерной ВМ оказывается более сложной из-за того, что совмещенное выполнение команд затрудняет определение возможности безопасного изменения состояния процессора произвольной командой.

В конвейерной ЭВМ команда выполняется поэтапно, и еще в процессе выполнения отдельных этапов команда может изменить состояние процессора. Тем временем возникшее прерывание может вынудить процессор прервать выполнение еще не завершенных команд.

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

Необходимость реализации в ЭВМ точных прерываний иногда оспаривается из-за проблем, расположенных выше. Поэтому в соответствии со стандартом IEEE перечислены типы ВМ, в которых должно обеспечиваться точное прерывание либо целиком с помощью аппаратуры, либо с некоторой помощью со стороны программных средств (ОС).

Т.о. по мере увеличения степени конвейеризации возникнет необходимость отката любого изменения состояния произведенного до выполнения команды.





Дата публикования: 2015-02-03; Прочитано: 321 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...