Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11- 2(к печати).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

4.3.2. Блочные операционные устройства

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

Эти устройства работают параллельно, обрабатывая каждое свои операнды. Управление этими устройствами осуществляется с помощью так называемых длинных командных слов (Very Long Instruction Word - VLIW). Командные слова включают инструкции для каждого их исполнительных устройств, а также операнды или указатели на них.

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

4.3.3. Конвейерные операционные устройства

Для конвейеризации вычислений необходимо:

- разбить вычисления на последовательность одинаковых по времени этапов;

  • реализовать каждый этап аппаратно в виде ступени конвейера;

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

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

Рассмотрим процесс умножения двух двоичных четырехразрядных положительных чисел:

По косвенной схеме умножения на устройстве с одним сумматором и набором регистров для реализации этого умножения необходимо в общем случае выполнить 4 шага, на каждом их которых выполняется умножение A на очередной разряд bi, сложение A bi с текущей суммой частичных произведений и сдвиг новой полученной суммы на 1 разряд вправо. Таким образом, время на выполнение этого умножения можно приближенно оценить как :

,


где t& -задержка на 1 логическом вентиле (при умножении A на bi), В формуле не присутствуют затраты на сдвиги, так как они задаются жестко путем соединений линеек сумматоров, кроме того, считаем, что все частичные произведения формируются за 1 логическое умножение. Для нашего случая время на умножение оказывается равным 13 t&. Таким образом, быстродействие умножителя по сравнению с обычной схемой примерно в 3 раза выше. Кроме того, умножитель может работать в режиме конвейера. В данном случае число его ступеней равно 6 (так как в сумматоре с последовательным переносом придется организовывать три отдельные ступени). Пиковая производительность конвейера при полной загрузке - 1 результат за 2t&, то есть в 20 раз выше, чем в обычной схеме. Такой выигрыш достигается за счет дополнительных аппаратных затрат, которые выше, чем в первом случае примерно в 4-5 раз.

В умножителе Брауна используются несколько основных способов повышения производительности:

  • распараллеливание вычислений (одновременное вычисление всех Abi);

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

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

Как уже упоминалось, основным элементом матричного умножителя является сумматор с сохранением переноса (ССП или Carry Save Adder - CSA). Его используют не только в умножителях, но и везде, где необходимо ускорить сложение N чисел. Так, на рис. 4.4. показан сумматор для сложения 3 чисел на базе ССП. Остановимся на принципе построения подобных устройств. Полный сумматор (ПС) позволяет складывать 3 одноразрядных числа. Обычно в качестве третьего слагаемого выступает перенос, поступающий либо с предыдущего сумматора, либо со схемы передачи переноса. Но если в качестве третьего слагаемого использовать соответствующий разряд третьего n-разрядного числа и не передавать перенос в следующий одноразрядный сумматор, то на выходе сумматора сформируется сумма в данном разряде и перенос.

На выходе линейки таких сумматоров формируются два числа - собственно сумма разрядов трех n-разрядных слагаемых и сумма переносов при сложении этих слагаемых. Сумма этих двух чисел и представляет собой значение суммы трех слагаемых:

S = X + Y + Z = Sxyz+ Cxyz.

Линейка полных сумматоров, обведенная на рис. 4.5 пунктиром - это и есть сумматор с сохранением переноса (ССП). Данная схема имеет 3 входа и два выхода (имеются в виду n-разрядные входы и выходы), поэтому в литературе можно встретить для нее обозначение ССП3-2.

Рис. 4.4

Если подать два полученных числа на обычный параллельный сумматор, то на выходе мы получим сумму 3 чисел. Если использовать не один ССП3-2, а дерево таких сумматоров, как показано на рис.4.5 (ССП8-2), то выполняется сложение 8 чисел, и так далее - для N чисел мы используем схему ССПN-2. Фактически мы имеем схему, похожую на пирамидальную, но с одной общей

с хемой передачи и ускорения переноса.

Ускорение схемы на базе ССП по сравнению с пирамидальным включением сумматоров зависит от времени задержки параллельного сумматора со схемой ускоренного переноса (СУП):

  • где tсум - время задержки параллельного сумматора с СУП,

  • tзс - задержка полного одноразрядного сумматора.

П

Рис. 4.5

ри этом необходимо отметить, что для большинства вариантов СУП ускорение схемы с ССП по сравнению с пирамидальной возрастает при увеличении разрядности слагаемых, так как,

соответственно растет tсум, а tзсне меняется. На базе быстродействующего сумматора на N чисел, аналогичного представленному на рис. 4.5, можно построить древовидный умножитель Уоллеса.

В

Рис.4.5

Рис.4.6

таком устройстве умножение выполняется в 2 этапа - на первом формируются все частичные произведения вида A • bi • 2i , на втором - полученные N частичных произведений (где N – количество разрядов множителя без учета знаковых) складываются на сумматоре с ССПN-2 , как показано нарос. 4.6 на примере умножения на 8-и разрядный множитель. По сравнению с умножителем Брауна мы имеем выигрыш в быстродействии за счет использования большего количества ССП, что позволяет в большей степени распараллелить процесс сложения частичных произведений. Конвейерные ОУ могут использоваться самостоятельно, но чаще являются составной частью ОУ процедурного типа, либо - блочных ОУ как аппаратные ускорители выполнения операций.

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