Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
all3.docx
Скачиваний:
1
Добавлен:
24.12.2018
Размер:
1.58 Mб
Скачать

2. Понятие конвейера. «Жадная» стратегия. Понятие mal в теории конвейера. Лемма для статических конвейеров. Введение задержек для увеличения производительности

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

Конвейерная обработка потока команд:

1

2

3

4

1

2

3

4

1

2

3

4

Tком(посл) ~ Снс — время одной операции Tконв ~ С/N, где N-число ступеней конвейера

Для ускорения процесса выполнения команды на конвейере N должно

Ограничения: 1) нет возможности разбить на ∞ число ступеней (физически)

2) многоступенчатый конвейер работает неэффективно в случае частого изменения задач.

Идеальный (явный) конвейер реализуем при выполнении следующих условий:

1) Каждое вычисление базовой функции можно разбить на ряд подфункций, и при этом каждая базовая функция независима от другой. 2) Вычисление каждой функции требует одной и той же цепочки подфункций.

3) Подфункции тесно связаны между собой, т.е. выход одной является входом другой.

4) Времена выполнения (вычисления) различных подфункций приблизительно равны.

может быть 1) IFETCH — используется СК и выбирается очередная команда из П 2) DECODE — декодирование команды

3) EAGEN — вычисление адресов операндов в П 4) OPER FETCH1 — выборка 1-го операнда 5) 2-го операнда 6) EXEC — выполнение операции

7) SAVE — сохранение результата

8) END OP — завершение операции (анализ рез-та, модифицирование СК, выработка слово-состояния, проверка и установка флагов, сброс служ. переменных)

Классификация конвейеров:

Однофункциональный — конвейер, способный к вычислению базовой функции только одного типа. Многофункциональный — конвейер, способный к вычислению базовых функций разного типа. Статический тип — если конвейерная система способна лишь относительно редко изменять тип исполняемой функции (например — конвейер в векторных машинах) Динамический тип — если конвейерная система способна часто изменять тип исполняемой функции, вплоть до новой функции на каждом исполнении (например — любой процессор)

Свойство статического конвейера: он должен максимально быстро работать.

Таблица занятости (ТЗ): строки = количество ступеней конвейера. Столбцы = такты синхронизации ступеней конвейера. Инициация (начало) ТЗ наступает тогда, когда начинается вычисление, которое проследует по определенному ею пути. Попытка инициации операций использующих одну и ту же ступень в один и тот же период времени называется столкновением.

Латентность (Latency) — число единиц времени, разделяющих инициации одной или различных таблицы занятости (целое, >= 0). L — временная задержка между 2 событиями. Чем меньше латентность между парами операций, тем быстрее работает конвейер. Вычисление средней L: среднее время выполнения некоторого количества операций делится на количество операций (может быть дробной) Цель стратегии диспетчеризации (управляющей стратегии) — это выработка последовательности моментов времени, в которые должны выполняться инициации или выработка такой последовательности L, между инициациями которых минимизирует среднюю латентность. Таблица занятости:

«Жадная стратегия» — стратегия, которая всегда между двумя инициациями вводит мин. возможную в текущий момент времени латентность. Не является оптимальной.

L = <3,8> — цикл латентности по «жадной» стратегии (т.е. L=3, L=8, L=3….). Lср = 5.5

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