Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
all.docx
Скачиваний:
15
Добавлен:
24.12.2018
Размер:
1.56 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, между инициациями которых минимизирует среднюю латентность. Таблица занятости:

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

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

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