Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы 2008-2009.doc
Скачиваний:
20
Добавлен:
17.09.2019
Размер:
4.36 Mб
Скачать
  1. Ускорение

Теоретически наилучшее время обработки входного потока из N команд:

Ускорение

2. Эффективность

Д оля ускорения, приходящаяся на одну ступень конвейера:

3 . Пропускная способность (производительность)

Номинальная производительность (при полной загрузке)

Оценки выигрыша от конвейеризации

В синхронном конвейере:

Т.к. tT ≥ ti, имеем:

В соответствии с (ti + ti+1 > tT, ):

или

Далее:

< <

или

Учитывая, что

получаем

Издержки конвейерной обработки

    • пропускная способность процессора повышается;

    • практическая длина конвейера ограничена (вследствие накладных расходов);

    • каждая команда проходит все стадии обработки;

    • время выполнения отдельной команды несколько увеличивается;

    • некоторые стадии предполагают одновременное обращение к памяти;

    • из-за команд условного перехода могут аннулироваться ранее извлеченные команды; подобное и в случае прерывания.

85. Виды рисков синхронного конвейера.

Проблема

Потенциальная производительность конвейера команд на практике недостижима по причине конфликтных ситуаций (риск, hazard).

Причины рисков:

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

    • взаимосвязь команд по данным (риск по данным);

  • неоднозначность при выборке следующей команды в случае команд перехода (риск по управлению).

Структурный риск

Конфликт по ресурсам: несколько команд, находящихся на разных ступенях конвейера, пытаются одновременно использовать один и тот же ресурс (чаще всего память).

Конвейер приостанавливает выполнение одной из команд до тех пор, пока не станет доступным требуемое ФУ.

Примеры:

    • машины с не полностью конвейерными ФУ:

      • время работы такого устройства может составлять несколько тактов синхронизации конвейера;

      • последовательные команды, использующие данное ФУ, не могут поступать в него в каждом такте;

    • недостаточное дублирование некоторых ресурсов, (только один порт записи в регистровый файл и т.п.);

    • единственный конвейер памяти для команд и данных.

Конфликт по данным

Две команды в конвейере (i и j) предусматривают обращение к одной и той же переменной х, причем команда i предшествует команде j.

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

Следствиe: совмещение операций может привести к изменению порядка обращения к операндам.

В общем случае между i и j ожидаемы три типа конфликтов:

    • «Чтение после записи» (RAW);

    • «Запись после чтения» (WAR);

    • «Запись после записи» (WAW).

Условия отсутствия конфликта по данным

Условия Бернстейна (Bernstein's Conditions):

где О(m) – множество ячеек, изменяемых командой m;

I(n) – множество ячеек, читаемых командой n.

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

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

Два фактора:

    • выборка команды из точки перехода для любой команды перехода;

    • выполнение команд условного перехода.