Реферат Курсовая Конспект
Лекция 10. Минимализация потерь на выполнение команд перехода. - раздел Компьютеры, Микропроцессоры. Основные определения Минимизация Конфликтов По Уровню. Конфликты По Уровню Могут Вызывать...
|
Минимизация конфликтов по уровню.
Конфликты по уровню могут вызывать даже большие потери, чем конфликты по данным. Команды условного перехода может изменить значение счетчика программ (тогда такой переход называют выполняемым, а если не изменет, то невыполняемым)
Простейший способ борьбы с такими конфликтами заключается в приостановке конвеера. Как только обнаруживается команда условного перехода, конвеер останавливается, пока она не достигнет ступени, которая вычисляет новое значение счетчика программы
На втором такте происходит дешифрация команды условного перехода и конвеер останавливается. Далее возобновляет свою работу на 5ом такте в момент вычисления целевого адреса. Таким образом команда i могла быть загружена в конвеер в любом случае.
Например, если при каждом выполнении команды условного перехода конвеер приостанавливает выполнение на 3 такта, а количество команд условного перехода состовляет 30% от общего числа команд, то машина достигает половину производительности, которую может достичь при конвеерном выполнении команд. Существует несколько методов по борьбе с конфликтами по управлению: статический и динамический.
В 1-ом случае прогнозирование направления перехода фиксируется для каждой команды условного прехода на все время выполнения команды, то есть могут быть используемые на уровне компилятора.
Во 2-ом случае схема прогнозирует реализацию автоматически.
Статическое:
1)Метод ожидания
2 Метод возврата
3)Мживания перехода
1. Представляет собой простейший способ обработки данных конфликтов и заключается в остановке выполнения всех команд в конвеере с момента дешифрации команд условного перехода до момента вычисления целевого адреса.
2. Более эффективной и не намного более сложный метод возврата состоит в том, чтобы прогнозировать условный переход как невыполнимый. В этом случае аппаратура процессора продолжает выполнение команды как будто команды условного перехода не было. Однако если условный переход оказывается выполняемым, то конвеер очищается и заново производится выборка команд. Используется и альтернативная схема, когда условный переход прогнозируется выполняемым.
3. Идея метода заключатся в том, что между моментом загрузки команды условного перехода и собственно переходом по выбранной ветке в конвеер загружаются команды, не связанные с выполнением команды условного перехода.
В данном случае в интервале задержки содержится n команд, выполнение которых не зависит от результата выполнения команды условного перехода. Задачи программной части обеспечивать независимость этих команд от условного перехода, а задача аппаратной части обеспечивать выполнение всех команд в интервале задержки
В данном случае интервал задержки заполняется независимой командой, находящейся перед командой условного перехода.
В данном примере направление условного перехода зависит от содержимого регистра . Это значит, что мы не можем переместить команду слож. в интервал задержки. Поэтому в интервал задержки помещается команда вычитания у которой нет зависимости по данным с последними командами сложения и условного перехода.
Из-за такой перестановки необходимо произвести копирование перестав. команд для того, чтобы сохранить порядок следования команд при обращении к переставляемой команде из другого участка программы.
Пример 3 (оптимизированной командой вычитания)
№ | Требования | При каких условиях получается достичь выигрыш производительности |
Команда условного перехода не зависит от переставления команды | Всегда, когда есть независимые команды | |
Выполнение переставляемой команды должно быть корректно, даже если переход не выполняется | Прирост получаем, когда переход выполняется. Может увеличиваться размер программы. Из-за копирования команд | |
Выполнение переставляемой команды должно быть корректно, даже если переход выполняется | Прирост получается, когда переход не выполняется |
Простейший способ динамического предсказания условных переходов, заключается в том, что процессор фиксирует результат выполнения предыдущих команд ветвления по данному адресу, и считает что следующая команда с обращением по данному адресу даст аналогичный результат. Для реализации этого способа используется специальная память (то есть, где будут сохраняться адреса переходов)
Эффективность данного способа зависит от объема памяти и вероятность предсказания может достигать 80%. Для повышения вероятности правильного предсказания используют алгоритмы накапливающие и анализирующие статистику условного перехода по данному адресу и вероятность правильного предсказания повышается до 90-95%.
– Конец работы –
Эта тема принадлежит разделу:
На сайте allrefs.net читайте: "Микропроцессоры. Основные определения"
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Лекция 10. Минимализация потерь на выполнение команд перехода.
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов