19.6. УМНОЖИТЕЛИ
Рассмотрим умножение двоичных чисел сначала на численном примере. Вычисляя произведение получим
Отметим, что в случае представления чисел в двоичном коде все вычисления выполняются достаточно просто, поскольку умножение производится только на единицу и нуль. Поэтому для вычисления произведения необходимо каждый раз сдвигать множимое на один разряд влево. Полученное в результате сдвига частное произведение прибавляется к результату, если соответствующий данному шагу сдвига разряд множителя равен единице. Если он равен нулю, то сложение не происходит. Таким образом, в процессе умножения отдельные разряды множителя анализируются последовательно друг за другом, поэтому этот метод умножения называется последовательным
Такую процедуру можно реализовать с помощью регистра сдвига и одного сумматора. Однако в случае подобной схемы с памятью необходимо использовать программное управление. Как мы уже видели при рассмотрении преобразования двоичного кода в двоично-десятичный, процесс сдвига можно также реализовать с помощью комбинационной схемы, соединяя соответствующим образом N сумматоров. Хотя при этом требуется много сумматоров, нет необходимости в регистре сдвига и устройстве управления. Но основным преимуществом является сокращение времени операции, поскольку оно определяется уже не тактами управления, а лишь временем задержки логических элементов.
На рис. 19.38 показана возможная структура комбинационной схемы для умножения разрядов. Для суммирования можно использовать неоднократно упоминавшиеся ранее арифметические блоки поскольку выполняемая ими функция может изменяться с помощью нескольких управляющих сигналов. Множимое X подключается параллельно к четырем суммирующим входам всех арифметических блоков. Множитель поразрядно подается на их управляющие входы При этом сигнал действует следующим образом:
Предположим сначала, что дополнительное число Тогда на выходе первого арифметического блока появится результат
Это произведение соответствует первому слагаемому в приведенной ранее схеме
При использовании этих микросхем время умножения достигает следующих значений:
(см. скан)
Умножители, выпускаемые в виде интегральных микросхем с высокой степенью интеграции:
(см. скан)
Все эти микросхемы выполняют также умножение отрицательных чисел в форме двоичного дополнения.
При использовании описанного способа умножения каждый раз производится прибавление новой части произведения к ранее полученной промежуточной сумме. Этот способ требует незначительного количества логических элементов, а реализующие его схемы имеют понятную и легко расширяемую структуру. Однако время вычисления можно сократить, если по возможности большее число сложений выполнять одновременно, а полученные при этом промежуточные суммы складывать в быстродействующем сумматоре. Для этого разработаны различные способы, которые отличаются только последовательностью сложения