Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
default.docx
Скачиваний:
10
Добавлен:
13.09.2019
Размер:
2.43 Mб
Скачать
  1. Конфликты по управлению и способы их минимизации.

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

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

Например, если конвейер будет приостановлен на три такта на каждой команде условного перехода, то это может существенно отразиться на производительности машины. При частоте команд условного перехода в программах, равной 30% и идеальном CPI, равным 1, машина с приостановками условных переходов достигает примерно только половины ускорения, получаемого за счет конвейерной организации. Таким образом, снижение потерь от условных переходов становится критическим вопросом. Число тактов, теряемых при приостановках из-за условных переходов, может быть уменьшено двумя способами:

  1. Обнаружением является ли условный переход выполняемым или невыполняемым на более ранних ступенях конвейера.

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

  1. Предсказание переходов.

Статическое предсказание переходов

Статическое предсказание переходов осуществляется на основе некоторой апри­

орной информации о подлежащей выполнению программе. Предсказание делает­

ся на этапе компиляции программы и в процессе вычислений уже не меняется.

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

заключается в виде информации, используемой для предсказания, и ее трактовке.

Исходная информация может быть получена двумя путями: на основе анализа кода

программы или в результате ее профилирования.

Динамическое предсказание переходов

В динамических стратегиях решение о наиболее вероятном исходе команды УП

принимается в ходе вычислений, исходя из информации о предшествующих пере­

ходах (истории переходов), собираемой в процессе выполнения программы. В це­

лом, динамические стратегии по сравнению со статическими обеспечивают более

высокую точность предсказания.

  1. Суперконвейерные процессоры.

Эффективность конвейера находится в прямой зависимости от того, с какой частотой на его вход подаются объекты обработки. Добиться n-кратного увеличения темпа работы конвейера можно двумя путями:

- разбиением каждой ступени конвейера на п «подступеней» при одновременном повышении тактовой частоты внутри конвейера также в п раз; (cуперконвейеризация)

- включением в состав процессора п конвейеров, работающих с перекрытием.

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

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

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

Недостатки:

В длинном конвейере возрастает вероятность конфликтов

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

Усложняется логика взаимодействия ступеней конвейера.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]