Учебное пособие: Арифметические устройства

3) Сдвиг содержимого регистра-накопителя и регистра-множителя на одну позицию вправо. При этом младший разряд регистра-множителя теряется.

4) Регистр-множитель подает логический 0 на управляющую шину. Этот сигнал блокирует сумматор и сложение не производится.

5) Сдвиг содержимого регистра – накопителя и регистра – множителя на одну позицию вправо.

6) Сложение содержимого регистра – накопителя и регистра – множимого, инициируемое логической 1 младшего разряда регистра – множителя на управляемую шину.

7) Сдвиг содержимого регистра – накопителя и регистра – множителя на одну позицию вправо.

В результате этих шагов произведение (100011) находится сразу в двух регистрах (табл. 15.6).

Таблица 15.6. Пошаговый процесс умножения с использованием операций сложения и сдвига

В таблицах 15.5 – 15.6 показаны принципы умножения двумя способами: путем многократного сложения и путем сложений со сдвигами. При этом микропроцессоры могут и не содержать в своих АЛУ умножителей. Конкретный способ умножения можно запрограммировать. Таким образом задавая процессору программу, он выполнит последовательность операций, которая обеспечит умножение двоичных чисел. Благодаря этому существенно уменьшается число электронных схем в центральном процессоре.

15.10. Сложение и вычитание чисел, представленных в дополнительном коде

До сих пор сложение и вычитание производилось над положительными числами. Однако микропроцессоры должны обрабатывать не только положительные, но и отрицательные числа. Используя дополнительный код числа, можно задать как знак числа, так и его абсолютную величину.

Рассмотрим 4 – разрядный дополнительный код. Старший разряд отводится под знак числа: 0 – соответствует положительному числу, 1 – отрицательному. Три разряда отводятся абсолютной величине числа. В табл. 15.7 приведен 4 – разрядный дополнительный код чисел от +7 до –8.

Таблица 15.7. Представление двоичных чисел со знаком.

Из табл. 15.7 видно, что дополнительный код положительных чисел совпадает с обычным представлением двоичного числа. Для получения дополнительного кода отрицательного числа нужно сначала сформировать дополнение этого числа до 1, а затем прибавить 1. На рис. 15.23 показана процедура получения дополнительного кода отрицательного числа.

Рис. 15.23. Пример преобразования числа со знаком в дополнительный код

Эта процедура состоит из трех шагов:

1) десятичное число преобразуется к его двоичному эквиваленту соответствующего положительного числа;

2) находится дополнение полученного двоичного числа до 1, путем замены всех единиц на нули и всех нулей на единицы;

3) к полученному дополнению до 1 прибавляется 1. В результате сложения получаем дополнительный код числа.

Процедура перехода от дополнительного кода к двоичному числу, по которому затем определяется десятичное число, показано на рис. 15.24. Обратное преобразование выполняется следующим образом:

1) находим дополнение до 1 для исходного дополнительного кода, путем замены всех единиц на нули и всех нулей на единицы;

к полученному дополнению до 1 прибавляется 1 путем двоичного сложения. В результате получаем искомое двоичное число, но поскольку в старшем разряде дополнительного кода стоит 1, соответствующее десятичное число является отрицательным.

Рис. 15.24. Пример преобразования дополнительного кода в двоичное число

Рассмотрим примеры на сложение и вычитание чисел, представленных в дополнительном коде (рис. 15.25).

Рис. 15.25. Примеры сложения и вычитания чисел в дополнительном коде

К-во Просмотров: 435
Бесплатно скачать Учебное пособие: Арифметические устройства