Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем
.pdf3 4 2 Глава 7. Операционные устройства вычислительных машин
«-разрядного сумматора подается либо множимое, либо 0. На второй вход посту пает содержимое п старших разрядов РЧП. Новое частичное произведение из сум матора пересылается в старшие разряды РЧП. Далее содержимое РЧП сдвигается на один разряд вправо, причем в освободившийся старший разряд регистра зано сится значение переноса из старшего разряда сумматора. Поскольку мультиплек сор управляется младшим разрядом РМт, то содержимое этого регистра также сдви гается на один разряд вправо. Описанная последовательность повторяется п раз. Более экономичным в плане аппаратуры является иное решение, когда вместо двух регистров - n-разрядного РМт и 2м-разрядного РЧП - используется один комби нированный 2л-разрядный регистр (показан на рис 7.16 справа). Множитель пер воначально заносится в младшие п разрядов этого регистра, а старшие разряды обнуляются. По мере сдвигов вправо младшие, уже проанализированные разряды множителя выталкиваются из регистра, освобождая место для очередной цифры СЧП. Обычно такой регистр строится из двух n-разрядных регистров, объединен ных цепями сдвига. Дополнительно отметим, что если очередная цифра множите ля равна 1, то для вычисления суммы ЧП требуются операции сложения и сдвига, а при нулевой цифре множителя в принципе можно обойтись без сложения, огра ничившись только сдвигом. Это, естественно, требует некоторого видоизменения схемы.
Алгоритм сдвига влево
Процедура традиционного умножения со сдвигом влево включает в себя следую щие шаги:
1.Исходное значение суммы частичных произведений принимается равным нулю.
2.Анализируется очередная цифра множителя (анализ начинается со старшей цифры). Если она равна единице, то к СЧП прибавляется множимое, в против ном случае (цифра равна нулю) прибавление не производится.
3.Выполняется сдвиг суммы частичных произведений влево на один разряд.
4.Пункты 2 и 3 последовательно повторяются для всех цифровых разрядов мно жителя.
На рис. 7.17 приведен пример умножения со сдвигом влево(10х 11). Описанная процедура может быть реализована с помощью схемы, показанной
на рис. 7.18.
К преимуществу алгоритма сдвига влево следует отнести то, что он позволяет совмещать во времени операции сложения и сдвига. Однако, по сравнению с алго ритмом сдвига вправо, он имеет и ряд недостатков. В первую очередь, СЧП и мно житель не могут совместно использовать один и тот же регистр. Для реализации алгоритма требуется 2х-разрядный сумматор. Кроме того, схема со сдвигом влево неудобна при выполнении умножения над числами с разными знаками.
Тем не менее окончательный выбор между алгоритмами сдвига вправо или влево не однозначен. Так, если в результате умножения требуется результат только оди нарной длины, то вариант со сдвигом влево может оказаться в аппаратурном пла не выгоднее, поскольку не принуждает вводить дополнительные цепи сдвига. Ко нечный выбор определяется соотношением затрат оборудования на реализацию цепей сдвига и дополнительных разрядов сумматора.