ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 133
Скачиваний: 1
3 3 8 Глава 7. Операционные устройства вычислительных машин
При сложении n-разрядных двоичных чисел (бит знака и
п -
1 значащих цифр)
возможен результат, содержащий
п
значащих цифр. Эта ситуация известна как
переполнение.
«Лишний» бит занимает позицию знака, что приводит к некоррект-
ности результата. Естественно, что ОПУ должно обнаруживать факт переполне-
ния и сигнализировать о нем. Для этого используется следующее правило:
если
суммируются два числа и они оба положительные или оба отрицательные, пере-
полнение имеет место тогда а только тогда, когда знак результата противополо-
жен знаку слагаемых.
Рисунки 7.10,
д
и 7.10,
е
показывают примеры переполне-
ния. Обратим внимание, что переполнение не всегда сопровождается переносом
из знакового разряда.
Рис. 7 . 1 1 . Примеры выполнения операции вычитания в дополнительном коде: а,
б, в, г —
вычитание без возникновения переполнения; л, в — вычитание с переполнением
Вычитание выполняется в соответствии с правилом:
для вычитания одного чис-
да (вычитаемого) из другого (уменьшаемого) необходимо взять дополнение вычи-
таемого и прибавить его к уменьшаемому.
Под дополнением здесь понимается вы-
читаемое с противоположным знаком, представленное в дополнительном коде.
Вычитание иллюстрируется примерами (рис. 7.11). Два последних примера (см.
рис. 7.11,
д
и 7.1
\,е)
демонстрируют ранее рассмотренное правило обнаружения
переполнения.
Чтобы упростить обнаружение ситуации переполнения, часто применяется так
называемый
модифицированный дополнительный код,
когда для хранения знака
отводятся два разряда, причем оба участвуют в арифметической операции нарав-
не с цифровыми разрядами. В нормальной ситуации оба знаковых разрядах содер-
жат одинаковые значения. Различие в содержимом знаковых разрядов служит
признаком возникшего переполнения (рис. 7.12).
Рис. 7.12. Примеры выполнения операции сложения в модифицированном дополнительном
коде:
в, б —
переполнения нет; в, г — возникло переполнение
На рис. 7.13 показана возможная структура операционного блока для сложе-
ния и вычитания чисел со знаком в формате с фиксированной запятой. Централь-
ным звеном устройства является n-разрядный двоичный сумматор. Операнд
А
по-
ступает на вход сумматора без изменений. Операнд
В
предварительно пропускается