Пример. Умножим числа с фиксированной запятой.
Умножим числа с фиксированной запятой.
[А]пр = 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; просмотров: 659;