Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы1.doc
Скачиваний:
61
Добавлен:
15.06.2014
Размер:
2.65 Mб
Скачать

8 Метод пропуска такта суммирования

Данный метод применим к любой схеме выполнения операции умножения. Сущность его заключается в том, что если очередной анализируемый разряд множителя равен нулю, то такт суммирования пропускается и без задержки на время суммирования Ts вырабатывается устройством управления очередной сигнал сдвига, обеспечивающий сдвиг на один разряд множителя и накопленной суммы частичных произведений или множимого в зависимости от схемы умножения. Если принять, что в двоичном коде множителя в любом разряде с равной вероятностью может находиться как 0, так и 1, то среднее кол-во тактов суммирования при перемножении двух n разрядных чисел сокращается вдвое

Метод расшифровки и одновременного умножения на два разряда множителя

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

(в сторону младших разрядов), анализе двух сдвинутых младших разрядов множителя и выполнении при этом не более одной операции сложения. Одновременная расшифровка и умножение более чем на два разряда множителя не дает заметного уменьшения времени выполнения операции умножения. При разбиении множителя, начиная с младших его разрядов, на группы по два разряда в каждой возможны следующие равновероятные комбинации: 00; 01; 10; 11, которые можно выразить следующим образом: 00=0; 01=20; 10=21;11=22-20. В зависимости от результатов анализа пары разрядов множителя необходимо выполнить следующие операции: при комбинации 00 произвести сдвиг на два разряда вправо предшествующей суммы частичных произведений; при комбинации 01 к предшествующей сумме частичных произведений прибавить множимое, и новую сумму частичных произведений сдвинуть на два разряда вправо; при комбинации 10 к предшествующей сумме частичных произведений прибавить удвоенное, то есть сдвинутое на один разряд влево множимое, и новую сумму частичных произведений сдвинуть на два разряда вправо; при комбинации 11 из предшествующей суммы частичных произведений вычесть множимое, и новую сумму частичных произведений сдвинуть на два разряда вправо. В самом деле, комбинация 11=21+20 может быть представлена следующим образом: 11=22-20=100-01. При таком представлении следует, что отрицательный член правой части рассматриваемого равенства должен учитываться путем вычитания множимого из накопленной суммы частичных произведений, а член 100 представляет собой единицу младшего разряда следующей анализируемой пары разрядов множителя и должен учитываться при её расшифровке. Для этого данная единица должна запоминаться в схеме анализа. При обработке следующей пары разрядов множителя эта запомненная единица учитываться путем прибавления к младшему разряду этой пары по обычным правилам:

00+01=01;01+01=10; 10+01=11;11+01=00+100

Очевидно, что в последнем случае старший член правой части 100 представляет собой единицу младшего разряда следующей анализируемой пары разрядов множителя. Для пояснения описанного метода рассмотрим пример выполнения операции умножения при анализе одновременно двух разрядов множителя. Пусть множимое [X]пр = 0,11110101, а

множитель [Y]пр = 0,100001101. Будем считать, что множимое может передаваться в сумматор со сдвигом на один разряд влево. Тогда для исключения переполнения разрядной сетки сумматора добавим в него перед знаковыми разрядами один дополнительный разряд, а для округления результата добавим в сумматор еще один младший дополнительный разряд. Сложение будем производить в модифицированном обратном коде. Полагаем, что в сумматоре возможен сдвиг за один такт на два разряда вправо. С учетом сделанных оговорок последовательность действий в сумматоре можно представить следующим образом.

В соответствии с поставленной выше задачей выполнения операции умножения одновременно на два разряда множителя представим операнды в следующем виде: |X|=11110101; |Y|=y8 y7 y6 y5 y4 y3 y2 y1 = 10001101. Схема реализации операции ускоренного умножения представлена ниже. Легко проверить, что результат умножения сомножителей X и Y по обычной схеме дает аналогичный результат, то есть Z=X*Y = 0,10000111.

Соседние файлы в предмете Дискретная математика