Учебное пособие: Арифметические устройства
В двоичной системе счисления правила умножения очень просты. Они показаны на рис. 15.18.
Рис. 15.18. Правила двоичного умножения
Рассмотрим пример на умножение двоичных чисел 111 и 101 (рис. 15.19).
Рис. 15.19. Пример на двоичное сложение
Сначала множимое (111) умножается на значения разряда единиц множителя. В результате получается первое частичное произведение, равное 111. Затем множимое умножается на значение разряда двоек множителя, при этом младший разряд второго частичного произведения отбрасывается. На третьем этапе множимое умножается на значение разряда четверок множителя. В результате получается третье частичное произведение 11100, но записывается это число как 111. В конце, первое, второе и третье частичные произведения складываются.
На рис. 15.20 показан еще один пример на двоичное умножение.
Рис. 15.20. Пример на двоичное умножение
Рассмотрим способы, которыми можно реализовать умножение двоичных чисел. Первый способ умножения – это многократно повторяемая операция сложения. Рассмотрим пример. Допустим необходимо найти произведение десятичных чисел 6 и 4. Произведением этих чисел является число 24. Этот же результат можно получить, используя операцию сложения: 6+6+6+6=24. Таким образом, операцию умножения можно заменить многократным сложением.
Рассмотрим схему устройства, которое позволяет реализовать такой способ умножения (рис. 15.21).
Рис. 15.21. Структурная схема операции умножения с использованием многократно повторяемого сложения
Рассмотрим процесс умножения двоичного числа 110 (десятичное 6) на двоичное число 100 (десятичное 4). Число 110 загружается в регистр множимого. Множитель (100) содержится в вычитающем счетчике. Произведение накапливается в регистре произведения.
В табл. 15.5 показан пошаговый процесс умножения двоичных чисел.
Таблица 15.5. Пошаговый процесс умножения двоичных чисел путем многократного сложения
Сначала множимое и множитель загружаются в регистр множимого и вычитающий счетчик множителя соответственно, а регистр произведения обнуляется. После первого шага в регистре произведения появляется число 00110, а множитель уменьшается на 1. После второго шага в регистре произведения оказывается сумма множимого (110) и числа 00110, множитель уменьшается на 1. Таким образом процесс завершается после четырех шагов, когда счетчик множителя содержит 000, а регистр произведения 11000 (десятичное число 24). Но этот способ не всегда удобен. Например, для нахождения произведения 56*12 нужно определить сумму 12 слагаемых, каждое из которых равно 56. Такой процесс вычисления занимает слишком много времени.
Вторым способом умножения двоичных чисел является способ сложения со сдвигами.
Вернемся к примеру, показанному на рис. 15.19. В этом примере двоичное число 111 умножается на двоичное число 101. При рассмотрении данного примера можно сделать следующие выводы:
1) Частичное произведение всегда равно 000, если множитель равен 0, и равно множимому, если множитель равен 1.
2) Число разделов в регистре произведения должно быть в два раза больше числа разделов в регистре множимого.
3) При сложении первое частичное произведение сдвигается на одну позицию (разряд) вправо (по отношению ко второму произведению).
На основе сделанных выводов можно построить схему для умножения двоичных чисел (рис. 15.22).
Рис. 15.22. Структурная схема умножителя с использованием операций сложения и сдвига
В исходном состоянии множимое (111) загружается в регистр, регистр-накопитель очищен (установлен в состояние 0000) и множитель (101) загружен в регистр. При этом регистр-накопитель и регистр-множителя составляют единый регистр (рис. 15.22.). Рассмотрим пошаговый процесс умножения двоичных чисел.
1) Загрузка исходных данных в регистры.