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


лова
памяти
1 2 3 4 5
1 2 3







С

тупень
1





1 2 3 4





Ступень 2











Ступень 3


Время
Число i соответствует i-й команде
Рис. 1. Цифровой конвейер ЭВМ
для повторяющегося выполнения той же функции, может выполнять ее за С/N наносекунд, что дает N-кратное увеличение производительности. Разумеется, на практике ограничения, накладываемые на достижимые скорости, связаны как с аппаратными средствами, так и с самой конвейеризуемой функцией. Однако даже при этих ограничениях резкое повышение производительности все же возможно, и оно регулярно достигалось в реальных системах.
Возможное увеличение производительности зависит как от типа базовой операции, конвейеризуемой в системе, так и от качества разбиения этой функции на подфункции, которым могут быть сопоставлены ступени конвейера. В реальных системах такие базовые операции могут начинаться с арифметических операций с плавающей запятой, охватывать исполнение команд на машинном уровне и достигать значительного перекрытия при функционировании центрального процессора в целом и процессора ввода-вывода. Такие системы часто проектируются как иерархические, так что каждая ступень одного уровня конвейеризации проектируется как конвейер.
2. Функциональное разбиение и разбиение на ступени
Термин конвейеризация в том смысле, в каком он используется в данной книге, относится к методам проектирования, в результате применения которых в вычислительной системе обеспечивается совмещенность различных действий по вычислению базовых функций за счет их разбиения на подфункции:
• вычисление базовой функции эквивалентно некоторой последовательности вычислений подфункций;
• величины, являющиеся входными для данной подфункции, являются выходными величинами той подфункции, которая предшествует данной в цепочке вычисления;
• никаких других взаимосвязей, кроме обмена входными и выходными данными, между подфункциями нет;
• каждая подфункция может быть выполнена аппаратными блоками;
• времена, необходимые для реализации этими аппаратными блоками своих действий, приблизительно равны.
Аппаратные средства, необходимые для выполнения любой из этих подфункций, образуют ступень. В отличие от физического конвейера — трубопровода, проводящего жидкость, — типичный цифровой конвейер не воспринимает данные как непрерывный поток. На его вход поступают дискретные данные, которые перемещаются от ступени к ступени по сигналам датчика синхроимпульсов. (Хорошей физической аналогией здесь является наполнение бутылок на разливочной линии.)
Поскольку логические схемы, фактически выполняющие обработку на каждой ступени, обычно не имеют собственной памяти, указанная дискретность представления данных на каждой ступени требует, чтобы тот или иной элемент памяти был подключен к входу или выходу каждой ступени. Этот элемент препятствует перескоку данных, обрабатываемых на одной ступени, на следующую ступень, что привело бы к ошибочному воздействию на эту ступень до истечения установленного периода обработки на ступенях. Такие перескоки могли бы возникать из-за различий в объеме логических операций на отдельных ступенях или изменений временных задержек на логических элементах. Эти межступенные элементы памяти предотвращают перескоки, обеспечивая синхронизацию всех ступеней хотя бы один раз на каждом шаге обработки. Поступление синхроимпульса в конце каждого периода времени, соответствующего шагу обработки, инициирует выборку каждым элементом памяти выходных данных предыдущей ступени и сохранение данных на своем выходе до поступления очередного синхроимпульса. В течение следующего периода эти выходные данные поступают на вход логики следующей ступени и с ее выхода будут выбраны следующим элементом памяти с приходом очередного синхроимпульса. В литературе эти устройства памяти называются по-разному: фиксатор ступени (staging latch) , платформа ступени (staging platform) или устройство занятости (reservation station).
