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

\провраммы /<

Распаковка

, выборка г

I участка I

I проераммы\

Формирование исполнительных авресов ”1

Выборка I операндов t

1 hi-

tz tj t7

результатах

N \N+1\99+Z\N+3

I I

+н-

99*2

М*7

Г

|L

N+Z

N+Г

в АЛУ

Запись льта мп

Я

Ъ *9 *10

Рис. 9.38. Временная диаграмма совмещения выполнения трех команд (формата RR) в асинхронном конвейере команд (ЭВМ, ЕС-1050)

исполнительных адресов (при выполнении команд формата RR отсутствует) и выборку операндов.

Этап III состоит также из двух процедур: выполнения опера­ций в АЛУ и записи результата в память.

Из диаграммы видно, что, начиная с момента времени U, выполняются одновременно три этапа цикла соответственно для трех команд. В приведенном примере с момента /7 из-за большой Длительности в команде W+1 операции в АЛУ приостанавлива­ется работа блоков аппаратуры, соответствующих этапам I и II.

Арифметический конвейер. Выше был рассмотрен конвейер команд. Однако в целях повышения производительности маши­ны принцип конвейерной обработки широко используется и в са­мих выполняющих содержательную обработку информации Устройствах (АЛУ), которые строятся в виде арифметического конвейера, причем таких арифметических конвейерных линий

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

Пусть операционное устройство должно вычислять некото­рую функцию Ф от входных данных (выполнять некоторую операцию над входными данными). Можно функцию Ф пред­ставить в виде последовательности более простых подфункций

причем такой, что результаты преобразования, выполняемые подфункцией ф<, используются в качестве входных данных при вычислении подфункции <p*+i, и если при этом для каждой под­функции иметь реализующую ее схемный блок, то получим арифметический конвейер, который может быть выполнен как синхронный или как асинхронный.

Приведенные выше элементы теории синхронного конвейера команд остаются в силе и для синхронного арифметического конвейера. Если /т — такт конвейера, то после полной загрузки он станет выдавать значения функции Ф через интервалы време­ни tr. Увеличение производительности процессора за счет ис­пользования арифметического конвейера можно оценить по (9.12).

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

Рассмотрим в качестве примера использование арифметиче­ского конвейра для сложения двух векторов X + Y = Z, компо­нентами которых являются числа, представленные в форме с плавающей точкой и в нормализованном виде.

Выделим в операции сложения чисел с плавающей точкой четыре этапа: 1) сравнение и определение разности порядков; 2) выравнивание порядков — сдвиг мантиссы числа с меньшим порядком на число разрядов, равное разности порядков; 3) сложение мантисс; 4) нормализация результата.

В арифметическом конвейере эти этапы выполняются отдель­ными блоками, образующими конвейер, по которому перемеща­ются операнды или промежуточные результаты операции. По мере их перемещения в конвейер вводятся новые компоненты векторов.

Пусть времена, необходимые для выполнения этапов сложе­ния чисел с плавающей точкой, есть ti, U, h, 14- Следовательно,

Рис. 9.39. Пример настройки арифметического конвейера -на выполнение различных операций