Пример. Умножим числа с фиксированной запятой.
Умножим числа с фиксированной запятой.
[А]пр = 0,11001001;
[В]пр = 0,11101011;
С = А ´ В.
1. Определение знака произведения.
ЗнС = ЗнА Å ЗнВ = 0 Å 0.
2. Умножение мантисс.
;

1. - 


2.

3. - 


4.

5. - 


6.

7.

8.

9. +

При совмещении операции округления с
Окр. +
дополнительным 9-м циклом регистр мно-
жимого имеет вид
.
3. Ограничение результата восемью разрядами и присвоение знака.
Окончательно [С]пр = 0,10111001.
Рассмотрим второй ускоренный метод умножения, заключающийся в умножении на два разряда множителя одновременно. При этом возможны четыре двоичные комбинации младших разрядов:
1. Комбинация «00» означает умножение на 0, т.е. пропуск такта суммирования.
2. Комбинация «01» означает умножение на 1, т.е. прибавление множимого к предыдущему частичному произведению.
3. Комбинация «10» означает умножение на 2, т.е. прибавление к предыдущему частичному произведению удвоенного множимого (сдвинутого на один разряд влево).
4. Комбинация «11» означает умножение на 3. В этом случае вместо утроения множимого комбинацию «11» заменяют комбинацией «
», т.е. «четыре минус один». Это означает, что из текущего частичного произведения следует вычесть множимое и сформировать единицу переноса в следующую пару разрядов множителя.
Таким образом, умножение выполняется за
циклов, при этом каждый цикл распадается на два такта. В первом такте выполняется арифметическая операция, определяемая комбинацией двух младших разрядов множителя и переносом из предыдущей пары разрядов (табл. 2.3). Во втором такте содержимое сумматора и регистр множителя сдвигаются на два разряда вправо. Для запоминания переноса в следующую пару разрядов множителя можно использовать дополнительный триггер (Тг). При формировании переноса из двух старших разрядов множителя необходимо выполнить дополнительный такт сложения содержимого сумматора и множимого (полуцикл умножения).
Таблица 2.3
| Разряды множителя | Перенос из предыдущей пары | Перенос в следующую пару | Действие | |
|
| |||
| – | ||||
| +А | ||||
| +2А | ||||
| –А | ||||
| +А | ||||
| +2А | ||||
| –А | ||||
| – |
Поскольку в некоторых случаях возможно переполнение разрядной сетки с искажением второго знакового разряда, следует использовать код с тремя знаковыми разрядами.
Определение знака и порядка произведения, его нормализация выполняются так же, как при неускоренном умножении.
Дата добавления: 2014-12-27; просмотров: 731;
