- •1. Введение
- •Декодирование
- •1 2 3 4 5
- •1 2 3
- •1 2 3 4
- •2. Функциональное разбиение и разбиение на ступени
- •3.Конвейеризация в сравнении с перекрытием
- •E f
- •4. Классификация конвейеров
- •5. Временные диаграммы
- •6. Помехи
- •7. Исторический обзор
- •8. Сравнение с параллелизмом
- •Подфункция
- •1.Введение………………………………………………………………………………………………………………………………….1
E
F
E f


Фиксаторы


Компаратор
и селектор
Логика



ступени
1
Более Мантисса Мантисса Разность
высокий большего меньшего порядков
порядок числа числа




Фиксаторы




Сдвигатель
вправо
Логика
ступени
2



Фиксаторы




Логика
ступени
3


Фиксаторы




Определение числа
нулей в
старших
разрядах
Логика
ступени 4




Фиксаторы


Сдвигатель
влево



Логика
ступени 5


Скоординированный Нормализованная
порядок мантисса


Результат
Рис 2. Пример сумматора с плавающей запятой,именющего пять ступеней
Общая
память




Вычислительный
процессор
(ступень 1)
Процесс ввода-
вывода
(ступень 2)
С






тупень

1 Задача 1 Задача 2 Задача 1 Задача 3 ...





2
Задача 2 Задача 1 Задача 3
Задача 1





Время
Неиспользуемое
время
Рис. 3.Простая система с перекрытием
Другой пример процесса с перекрытием дает разработка высокоскоростных центральных процессоров, таких как машина IBM 360/91. Здесь базовой функцией, подлежащей вычислению, является повторяющееся исполнение машинной команды, а разбиение зависит как от данных, так и от цепочки исполняемых операций. Как и в случае сумматора с плавающей запятой, аппаратура, как правило, делится здесь на определенное число ступеней. Однако, вследствие ряда причин, в том числе разницы в форматах, каждая команда может проходить свой путь внутри конвейера. Например, команда перехода не будет проходить ту же последовательность ступеней, которую проходит команда умножения чисел с плавающей запятой. Вдобавок, зависимости между последовательными командами могут изменять как избираемый путь, так и время, затрачиваемое на каждой ступени. Еще один пример: может случиться, что команда умножения чисел с плавающей запятой будет ожидать результата выполнения некоторой предыдущей команды, тогда как команда перехода, начатая на несколько циклов позднее, не будет зависеть от результата выполнения команды умножения и может вырваться вперед. При этом реализуется высоко динамический процесс, в котором порядок промежуточной обработки и завершения выполнения команд может полностью отличаться от последовательности, в которой начиналось их исполнение. Будем называть конвейерной любую конструкцию, использующую либо конвейеризацию, либо перекрытие, как это было изложено выше. В случае необходимости для уточнения будем использовать подходящий термин.
