АЛУ для умножения чисел с фиксированной запятой
В ЭВМ операция умножения чисел с фиксированной запятой с помощью соответствующих алгоритмов сводится к операциям сложения и сдвига.
При умножении двух чисел произведение формируется суммированием частичных произведений. В зависимости от цифры множителя к сумме частичных произведений прибавляется либо множимое, либо ноль.
Произведение двух n – разрядных чисел с фиксированной запятой может иметь 2*n значащих разрядов. Поэтому необходимо предусмотреть возможность формирования в АЛУ произведения, имеющего двойную длину.
Структура АЛУ для выполнения умножения должна содержать регистры множимого, множителя и сумматор частичных произведений.
Существует четыре способа умножения чисел с фиксированной точкой. При выполнении операции умножения можно сдвигать либо множимое, либо промежуточный результат и начинать анализ множителя либо с младших разрядов, либо со старших. Соответственно различают четыре структуры АЛУ для этой операции.
В каждом цикле выполнения операции умножения анализируется очередная цифра множителя. Если очередная цифра множителя равна 1, то к сумме частичных произведений прибавляется множимое, в противном случае прибавляется нуль. Цикл завершается сдвигом множимого относительно суммы частичных произведений либо сдвигом суммы частичных произведений относительно неподвижного множимого. Таким образом, выполнение операции умножения в АЛУ сводится к последовательности операций сложения и сдвига.
В случае отрицательного операнда при умножении чисел, представленных в прямом коде, операция умножения сводится к выполнению следующих этапов:
1. определение знака произведения путем сложения по модулю 2 знаковых разрядов множимого и множителя;
2. обнуление знаковых разрядов отрицательных операндов;
3. выполнение операции умножения чисел, представленных в прямом коде.
В случае отрицательного операнда при умножении чисел, представленных в прямом коде, операция умножения сводится к выполнению следующих этапов:
Рассмотрим указанные способы умножения чисел с фиксированной точкой.
1. Умножение чисел, представленных в прямом коде, начиная с младших разрядов множителя, со сдвигом суммы частичных произведений вправо и при неподвижном множимом.
Достарыңызбен бөлісу: |