ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 1160

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

3 6 6 Глава 7. Операционные устройства вычислительных машин

Содержимое таблицы плюс некоторые не включенные в нее данные позволяют

сделать следующие выводы. Наиболее быстро работают умножители, построен-

ные по схеме Бута, а также имеющие древовидную структуру, в частности дерево

Дадда. Для операндов длиной в 16 разрядов и более наиболее привлекательной

представляется модифицированная схема Бута, как по скорости, так и по затратам

оборудования. Максимально быстрое выполнение операции умножения обеспе-
чивает сочетание алгоритма Бута и дерева Уоллеса. С другой стороны, достаточно

хорошие показатели скорости при умножении чисел небольшой разрядности вы-

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

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

Конвейеризация параллельных умножителей

В матричной и древовидной структурах параллельных умножителей заложен еще

один потенциал повышения производительности — возможность конвейеризации.

При конвейеризации весь процесс вычислений разбивается на последовательность
законченных шагов. Каждый из этапов процедуры умножения выполняется на сво-
ей ступени конвейера, причем все ступени работают параллельно. Результаты, по-
лученные на i-й ступени, передаются на дальнейшую обработку в (i + 1)-ю сту-
пень конвейера. Перенос информации со ступени на ступень происходит через
буферную память, размещаемую между ними (рис. 7.43).

Рис. 7.43. Структура конвейерного умножителя

Выполнившая свою операцию ступень помещает результат в буферную память

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

щиеся в буферной памяти на ее входе. Синхронность работы конвейера обеспечи-

вается тактовыми импульсами, период которых т определяется самой медленной


background image

Ускорение целочисленного умножения  3 6 7

ступенью конвейера

 t

i

 и задержкой в элементе буферной памяти

 t

i

 t

= max (

t

1

 ,

t

2

,

...

 t

k

) + t

i

. Несмотря на то что время выполнения операции умножения для каждой

конкретной пары сомножителей в конвейерном умножителе не только не умень-
шается, но даже несколько увеличивается за счет задержек в буферной памяти при
последовательном перемножении последовательностей пар сомножителей, дости-
гаемый выигрыш весьма ощутим. Действительно, в конвейерном умножителе из

 k

ступеней перемножаемые данные могут подаваться на вход с интервалом в

 к

 раз

меньшим, чем в случае обычного умножителя. В том же темпе появляются и ре-

зультаты на выходе.

Схема конвейера легко может быть применена к матричным и древовидным

умножителям. В матричных умножителях в качестве ступени конвейера выступа-
ет каждая строка матрицы сумматоров. В качестве примера конвейеризированно-

го матричного умножителя на рис. 7,44 приведена схема

 4x4.

 Черными прямо-

угольниками обозначены триггеры-защелки, образующие буферную память.

Рис. 7.44. Конвейеризированный матричный умножитель

Конвейеризация матричных умножителей на уровне строк сумматоров может

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

- отказа от использования идеи конвейеризации между входными схемами "И"

и первой строкой полных сумматоров;


background image

3 6 8 Глава 7. Операционные устройства вычислительных машин

- увеличением времени обработки на каждой ступени, например можно принять

его равным удвоенному времени срабатывания полного сумматора;

- отказом от формирования всех

 п

г

 битов частичных произведений в самом нача-

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

В древовидных умножителях в качестве ступеней конвейера выступают каска-

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

Кроме того, количество каскадов компрессии также значительно меньше. Это

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

мой Дадда.

Рис. 7.45. Древовидный конвейеризированный умножитель со схемой Дадда


background image

Ускорение целочисленного умножения  3 6 9

В правой части рисунка указано количество триггеров-защелок, необходимых

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

этапа сложения частичных произведений. Количество триггеров может быть со-,

крашено за счет увеличения времени, выделяемого на выполнение операций

в ступени конвейера. Это позволяет убрать некоторые из триггеров.

При конвейеризации умножителя на базе дерева Уоллеса требуется меньше

триггеров-защелок, поскольку в этой схеме основное сжатие суммы частичных
произведений происходит на более ранних этапах. Кроме того, для заключитель-
ного суммирования векторов сумм и переносов используется более «короткий»
сумматор.

Рекурсивная декомпозиция операции умножения

Как правило, аппаратные умножители, построенные на рассмотренных принци-

пах, имеют ограничение на число разрядов вводимых чисел. Умножитель повы-
шенной разрядности можно получить из модулей меньшей разрядности, выстраи-
вая так называемую

 рекурсивную декомпозицию операции умножения.

 Так, для

построения умножителя  8 x 8 можно использовать четыре модуля типа 4x4. Мно-
жимое

 А

 разбивается на четыре старших

 (A

h

)

 и четыре младших

 (А

1

)

 разряда. Мно-

житель

 В

 таким же образом разбивается на части

 В

h

 и

 В

1

 Четыре модуля типа  4 x 4

вычисляют соответственно произведения

 A

h

xB

h

 , A

h

xB

h

 A

1

xB

h

 , A

1

x

В

1

,.

 На выхо-

дах модулей получаются восьмиразрядные результаты, которые соответствуют

частичным произведениям в разрядах: 15—8,11-4, снова 11-4 и 7-0. Окончатель-
ный результат формируется путем суммирования этих четырех частичных произ-
ведений с учетом их положения в разрядной сетке (рис. 7.46).

Рис. 7.49. Декомпозиция операции умножения


background image

3 7 0 Глава 7. Операционные устройства вычислительных машин

Целочисленное деление

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

Рис. 7.47. Общая схема операции деления

Задача сводится к вычислению частного

 Q

 и остатка

 S:

Деление выражается как последовательность вычитаний делителя сначала из

делимого, а затем из образующихся в процессе деления частичных остатков  ( 4 0 ) .
Делимое обычно представляется двойным словом

 (2п

 разрядов),

делитель частное и остаток име-

ют разрядность

 п.

Операция выполняется за л итераций и может быть описана следующим образом:

После

 п

 итераций получается

Частное от деления 2n-разрядного числа на n-разрядное может содержать бо-

лее, чем

 п

 разрядов. В этом случае возникает переполнение, из-за чего перед вы-

полнением деления необходима проверка условия

Из выражения следует, что переполнения не будет, если число, содержащееся

в старших

 п

 разрядах делимого, меньше делителя.

Помимо этого требования, перед началом операции необходимо исключить

возможность ситуации деления на 0.

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

- с неподвижным делимым и сдвигаемым вправо делителем;
я с неподвижным делителем и сдвигаемым влево делимым.

Недостатком первого способа является потребность иметь в устройстве деле-

ния сумматор и регистр двойной длины. Второй способ позволяет строить дели-