Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ZH 2011 - ОРГАНИЗАЦИЯ ЭВМ.doc
Скачиваний:
42
Добавлен:
20.09.2019
Размер:
5.4 Mб
Скачать

20. Организация конвейера процессора и оценка его производительности

Существует тенденция выполнять в 1 момент времени более, чем 1 команду.

Суть в совмещении базовых операций – выполняется более, чем 1 базовая операция.

Базовые операции:

  • чтение кода команды, выборка команды ВК;

  • дешифрация кода ДК;

  • чтение операнда ОП;

  • выполнение команды В;

  • запись результата ЗР.

Некот. опер. могут быть повт.

выборка команды 1

дешифрация команды 1

оп.1, оп 2, … команды 1

выполнение 1

запись результата 1

ВК 2

ДК 2

ОП 2

В 2

ЗР 2

ВК 3

ДК 3

ОП 3

В 3 ЗР 3

ВК 4

ДК 4

ОП 4 В 4 …

ВК 5

Ресурсы, используемые отдельными компонентами, различны. Обращение к памяти может потребовать общих ресурсов (например, при обращении к общей шине вв/выв). На сколько разрешим конфликт ресурсов, на столько больше ступеней можно организовать конвейер. В приведенном выше конвейере может выполняться до 5-ти команд.

Возможные конфликты:

  • структурные (связанные со структурой);

  • конфликты по данным (результат предыдущей команды влияет на выполнение следующей);

  • по управлению.

21. Вопросы бесконфликтной работы конвейера процессора

Возможные конфликты:

  • структурные (связанные со структурой);

  • конфликты по данным (результат предыдущей команды влияет на выполнение следующей);

  • по управлению.

Решение структурных конфликтов:

- стараются уменьшать влияние - приостановка конвейера на 1 такт (pipeline bubble);

- дублирование – 1 шина на ввод, 2-я – на вывод.

Решение конфликтов по данным:

WAR – запись после чтения;

RAW – чтение после записи;

WAW – запись после записи.

1) вводятся дополнительные пути (пути обхода). Результат не записывается в регистр, а идет напрямую в исполнительное устройство. Т. е. в конвейере –1 такт.

2) дублирование – дополнительный набор регистров.

Не все конфликты по данным можно обойти, особенно в архитектурах с расширенным набором команд.

Для решения этих проблем используют методы планирования работы конвейера.

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

Эти конфликты дают наиболее существенные потери:

  • сброс конвейера (наипростейшее решение), однако это снижает производительность, т. к. в программе часты переходы.

Пути решения:

  • предсказание переходов;

  • дублирование вычислений.

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

Наиболее часты переходы вперед (60-70%). Переходы часто связаны с циклами. Высока вероятность повторных переходов => если хранить протоколы переходов, то их можно предсказать. Если переход 1-й раз выполнен в одном направлении, то вероятнее всего, что и в следующий раз – в том же, а в 3-й, 4-й и т. д. еще вероятнее. Каждому переходу в программе определяется признак (знак), который определяет, правильно или нет угадан предыдущий переход. С каждым циклом этот признак может ув. или ум. Имея 2-хразрядный признак, удается предсказать до 95% следующий переход.

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

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