Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4К.2С.ЗФО-ИСТ / Схемотехника ЭВМ / Схемотехника ЭВМ ч.2.doc
Скачиваний:
559
Добавлен:
10.04.2015
Размер:
18.35 Mб
Скачать

4.12 Умножители двоичных кодов чисел.

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

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

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

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

Так как таблица умножения в двоичной системе счисления идентична таблице, описывающей операцию конъюнкции двух логических переменных, то получение компонент частичных произведений можно реализовать на элементах 2И. Для данного примера их понадобится 9.

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

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

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

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

Построить параллельные умножители большой разрядности можно наращивая рассмотренную структуру, либо объединяя множительно-суммирующие блоки, которые реализуют операцию . Примером такого блока является микросхема К555ИП8, выполняющая умножение четырехразрядного числа на двухразрядное и прибавление к результату пары чисел с разрядностью 4 и 2.

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

Промышленностью выпускаются в интегральном исполнении функционально законченные блоки для быстрого умножения двух восьмиразрядных чисел - микросхема К1802ВР3, двенадцатиразрядных – К1802ВР4 и шестнадцатиразрядных – К1802ВР5. Время выполнения операции умножения у них составляет порядка 100÷120 нС. В настоящее время аналогичные устройства встраиваются в сопроцессоры и ряд микроконтроллеров.