Построение арифметико-логического устройства для выполнения операции умножения целых чисел

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

добавление не производится.

4.Выполняется сдвиг вправо суммы частичных произведений на 1 разряд, причём, если значение суммы ?0, то производится обычный сдвиг. Если текущее значение суммы частичных произведений <0, то производится модифицированный сдвиг с занесением 1 в знаковый разряд.

5.Пункты 3 и 4 повторяются для всех числовых разрядов множителя.

6.Если множитель ?0, то текущее значение суммы частичных произведений представляет собой результат в прямом коде для положительного значения и в дополнительном коде для отрицательного значения. Если множитель <0, то к текущему значению суммы частичных произведений необходимо добавить множимое с обратным знаком.

7.Размещение результатов в формате двойного слова путём сдвига суммы частичных произведений вправо на 1 разряд.

 

Z = X * Y, Y > 0

 

Алгоритм тот же, за исключением модифицированного сдвига. При этом может возникнуть следующее: если младший разряд множителя =0, а множимое <0, то нет необходимости выполнять модифицированный сдвига (нельзя), поскольку сумма частичных произведений =0, а нуль в дополнительном коде знака не имеет. И лишь только с появлением отрицательного значения суммы частичных произведений сдвиг должен быть модифицированным.

 

Y < 0

Yдоп = 2n - |Y|

 

Весовой коэффициент: 2n-1. Поэтому, если вычислить псевдопроизведение:

 

Z = X * (2n-1 - |Y|) = -X * |Y| + X * 2n-1

 

Z больше истинного значения на величину множимого, поэтому на завершительном этапе перед размещением результатов в формате двойного слова перед последним сдвигом необходимо из результата вычесть множимое. Поэтому при СчЦ = 0 к текущему значению суммы частичных произведений добавляют множимое с обратным знаком.