
37
помощью косой передачи вправо выполняется сдвиг
множителя вправо; триггер знака ТгЗн1 для хранения знака
множимого, триггер знака ТгЗн2 для хранения знака
множителя; сумматор См для образования суммы
частичных произведений; регистр РгА для формирования
частичного произведения; регистр РгВ для накопления
суммы частичных произведений; регистр сумматора, где
образуется новое значение суммы; счетчик циклов СчЦ.
Последовательность действий в каждом цикле
выполнения умножения определяется младшим разрядом
регистра множителя, куда последовательно одна за другой
поступают цифры множителя. В зависимости от цифры
множителя регистру РгА присваивается либо множимое,
либо ноль. Затем производится сложение частичного
произведения (РгА) и суммы частичных произведений
(РгВ). Поскольку старшие разряды регистра множителя Рг2
освобождаются, они могут быть использованы для
хранения младших разрядов произведения, поступающих
из младшего разряда сумматора. После проведения (n-1)-го
цикла умножения в младшем разряде Рг2 содержится
знаковый разряд множителя Y. Двойная длина результата
формируется сцеплением РгСм и Рг2. Необходимо
выполнить корректирующий сдвиг вправо модуля
произведения. После коррекции в цепочке РгСм:Рг2
содержатся только цифровые разряды модуля
произведения. Затем формируется знак результата
38
умножения. И на n-разрядную шину выхода
последовательно выдаются n старших и n младших
разрядов произведения.
Умножение чисел с фиксированной запятой можно
разделить на следующие этапы:
- начальная установка;
- вычисление сумм частичных произведений;
- коррекция результата в формате двойной длины.
Алгоритм умножения целых положительных чисел,
представленных в прямом коде, начиная с младших
разрядов, со сдвигом суммы частичных произведений
вправо представлен на рис. 2.10.
Этапы выполнения операции умножения в
алгоритме разделены пунктирной линией. Микрооперации,
выполняемые в разных тактах, в блоках разделяются
горизонтальной чертой.