Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.04.2024
Просмотров: 204
Скачиваний: 0
Если (G++Q - ) < 0 , то (2-|-G++Q~) < 2 и |
переноса |
|
не возникает. В этом случае из (2-22) получаем: |
|
|
(G+ )nP + [Q )обр = (G+ + Q )обр |
(2-24) |
|
(при G+ + Q~ < |
о). |
|
Итак, сложение кодов согласно приведенному прави |
||
лу дает алгебраическую сумму в |
прямом коде, если эта |
сумма положительна, и в обратном коде, если она отри цательна.
Рассмотрим теперь использование дополнительного кода для алгебраического сложения. Приведем соответ ствующее правило (полагаем, что модуль алгебраиче ской суммы меньше единицы).
При алгебраическом сложении двух двоичных чисел с использованием дополнительного кода положительные слагаемые представляются в прямом коде, а отрицатель ные— в дополнительном и производится арифметиче ское суммирование этих кодов, включая разряды знаков, которые при этом рассматриваются как разряды целых единиц. При возникновении переноса из разряда знака единица переноса отбрасывается. В результате получа ется алгебраическая сумма в прямом коде, если эта сум
ма положительна, и в |
дополнительном |
коде, если эта |
||||||
сумма отрицательна. |
|
|
|
|
|
|
||
В самом |
деле, |
если G~<c0 и Q ~ < 0, то согласно |
||||||
(2-18) |
|
|
|
|
|
|
|
|
(G |
)доп + |
(Q )доп = |
G |
Ң- 2 4- Q |
+ 2 |
= |
||
|
= |
2 f |
(G |
+ |
Q |
+ 2 ) . |
|
|
Так как |
— l< G ~ -fQ - <;0, |
то |
величина, |
стоящая в |
скобках, меньше двух, но больше единицы. Двойка, сто ящая вне скобки, образует перенос из разряда знака, ко торый будет отброшен. В результате получаем:
(G )доп + |
(Q )доп = (С + Q |
) + 2 = |
(G + |
Q )доп*(2-25) |
|
Если G + > 0, а Q -< 0 , то |
|
|
|
|
|
|
(G+)np 4- (Q )доп = |
(G+ + |
Q J + |
2. |
|
Если при этом 0 < G++Q- <; 1, то стоящая |
вне скоб |
||||
ки двойка |
дает единицу переноса из |
разряда |
знака, ко- |
73
торая отбрасывается. При этом получаем:
(G+)„p + (<Г)доп = |
(G+ + |
Q_ )np |
(2-62) |
|
(при G+ + Q ~> О). |
|
|
||
Если же —1 < G + + Q ~ < 0 , |
то (G++Q - ) + 2 < 2 |
и пе |
||
реноса из разряда знака |
не возникает. В этом |
случае |
||
1G-^)пр + IQ |
)доп = |
(G+ + |
Q )доп |
(2-27) |
(при G+ -f QT < О)-
Применение дополнительного или обратного кода для представления отрицательных чисел упрощает операцию алгебраического сложения. Алгебраическое сложение чисел с разными знаками заменяется арифметическим сложением кодов, при этом автоматически получается код знака результата. Однако остается нерешенным во прос о выработке признака переполнения разрядной сетки.
Допустим, что производится сложение двух отрица тельных двоичных чисел, представленных в дополнитель ном коде, причем эти числа по модулю меньше, а их сум ма по модулю больше единицы, например:
(<7)доп= 1,01010 (—0,10110)
(<3)доп = 1,00101 (— 0,11011)
0 , 0 1 1 1 1
При сложении кодов теряется единица переноса из разряда целых единиц и результат ошибочно восприни мается как положительное число, меньшее единицы.
Отметим, что при алгебраическом сложении двух чисел G и Q, каждое из которых по модулю меньше еди ницы, может возникнуть переполнение разрядной сет ки, но при этом модуль получаемой суммы всегда мень ше двух. Это обстоятельство облегчает построение кодов, по виду которых можно судить о переполнении разрядной сетки.
Для получения признака переполнения разрядной сетки применяют модифицированные прямой, дополни тельный и обратный коды. Эти коды отличаются от ра нее рассмотренных кодов тем, что для представления знака используются два разряда. При этом знак плюс обозначается 00, а знак минус — 11.
При алгебраическом сложении чисел знаковые раз ряды рассматриваются как разряды целой части числа.
74
При возникновении переноса единицы из старшего разряда знака эта единица отбрасывается, если отрица тельные числа представляются модифицированным до полнительным кодом, или производится циклический пе ренос в младший разряд мантиссы, если отрицательные числа изображаются модифицированным обратным ко дом.
При алгебраическом сложении на переполнение раз рядной сетки (модуль алгебраической суммы больше единицы) указывает несовпадение цифр в знаковых раз рядах. Комбинации 01 в знаковых разрядах соответст вует положительное число, а комбинации 10—отрица тельное число.
В этих случаях модуль суммы
|
|
|
|
1 < |
М < |
2. |
|
Сказанное иллюстрируется примерами (индексом м |
|||||||
обозначен модифицированный код). |
|
||||||
Пример 1. |
|
— |
|
|
|
|
|
G = |
0,10110 |
|
<0)^=11,01001 |
||||
Q= |
— 0,11011 |
|
(Q)“ 6p = 11,00100 |
||||
G + Q = |
— 1,00001 |
|
|||||
|
~П1,00100 |
||||||
(переполнение |
|
,11,01001 |
|||||
|
1 10,01101 |
||||||
разрядной сетки) |
|
|
—1 |
||||
|
|
|
|
|
|
10,01110 |
|
|
|
|
|
|
(G-hQ)“6p == 10,01110 |
||
|
|
|
|
(О)“ о п = |
11,01010 |
|
|
|
|
|
|
(Q)"on= |
11,00101 |
|
|
|
|
|
|
|
+ |
11,01010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
_______________11,00101 |
|
||
|
|
|
|
( G + Q ) “ |
( 1) 10,01111 |
|
|
Пример 2. |
G = |
|
= |
10,01111 |
11,00011 |
||
|
|
0,10011 |
|
(Q)“6p= |
|||
G + |
Q = |
— 0,11100 |
|
(G)“ p = |
00,10011 |
||
Q = |
— 0,01001 |
|
+ |
00,10011 |
|||
(нет |
переполнения) |
|
(G + Q)“ p = |
11,00011 |
|||
|
|
|
|
|
|
1 1 , 1 0 1 1 0 |
|
|
|
|
|
|
|
I f .10110 |
75
|
|
(G)M = |
00,10011 |
|
|
|
|
|
' |
' п р |
|
|
|
|
|
(Q)M =11,00100 |
|
|
||
|
|
'^•'доп |
* |
|
|
|
|
|
|
+ |
00,10011 |
|
|
|
|
|
11,00100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11,10111 |
|
|
|
|
(G + Q)"on=n,10111 |
|
|
||
Пример 3. |
|
|
|
|
|
|
0 |
= |
0,10110 |
|
(G)£p = 00,10110 |
||
Q = |
0 ,1 1 1 0 1 |
|
(Q)“P= 00,11101 |
|
||
G + Q |
= |
1 ,10011 |
|
|
||
|
00,10110 |
|||||
разрядной |
|
|||||
|
+ |
|
|
|||
|
01,10011 |
|||||
(переполнение |
______________ 00,11101 |
|
||||
|
сетки) |
(G+ Q)“p= 01,10011 |
||||
Пример 4. |
|
|
|
|
|
|
G = |
— 0 ,0 1 1 0 1 |
|
(G)o6P = |
11,10010 |
||
Q = |
0 ,1 0 1 0 1 |
|
||||
|
(Q)np = 00,10101 |
|||||
G + Q = |
0 ,0 1 0 0 0 |
|
||||
|
|
11,10010 |
||||
(нет |
переполнения) |
|
+ |
|||
|
00,10101 |
|||||
|
|
|
|
100,00111 |
||
|
|
|
________I - - |
->1 |
||
|
|
|
|
|
00,01000 |
|
|
|
|
( ° |
+ Q)np = |
oo, (иooo |
(G)“on= 11.10011
(Q)“p= 00,10101 11,10011
+
_______________ 00,10101
(1)00,01000 (G + Q)np =00,0100°
Показанные на рис. 2-2 и 2-3 разрядные сетки соот ветствуют формам, в которых слова записываются в ячейки оперативной памяти. В арифметическом устрой стве для контроля переполнения вводят дополнительно второй знаковый разряд мантиссы, а также второй зна ковый разряд, порядка (для машин с плавающей запя той при отсутствии смещения порядка) и для изображе
76
ния мантиссы и порядка используют модифицированные коды с двумя знаковыми разрядами.
Отметим особенности нормализации и выполнения сдвига для отрицательных чисел, представленных в до полнительном (обратном) коде.
У нормализованного положительного или отрицатель ного числа с мантиссой, изображаемой в прямом коде, цифра в старшем 5-ичном разряде мантиссы должна быть отлична от нуля. Для отрицательных мантисс, пред ставленных в обратном или дополнительном коде, усло вие нормализации | q 1/5 выполняется, если цифра
встаршем 5-ичном разряде мантиссы есть нуль.
Вслучае чисел с плавающей запятой комбинации 01 и 10 в знаковых разрядах мантиссы указывают на нару
шение |
нормализации |
влево, |
а комбинации цифр 00 |
и 1 cr.si |
(cTsi^O) в младшем знаковом разряде и старшем |
||
5-ичном цифровом |
разряде |
мантиссы сигнализируют |
|
о нарушении нормализации |
вправо. Для восстановле |
ния нормализации производится сдвиг мантиссы впра во (или влево) на нужное число разрядов, при этом порядок увеличивается (уменьшается) на соответствую щее число единиц.
Если отрицательные числа представляются в допол нительном (обратном) коде, сдвиг производится по осо бым правилам («модифицированный сдвиг»), с тем что бы в результате сдвига дополнительного (обратного) кода числа х на т 5-ичных разрядов получился дополни тельный (обратный) код числа Smx или S~mx соответст венно для сдвига влево или вправо.
При модифицированном сдвиге дополнительного (об ратного) кода вправо в освобождающиеся старшие раз ряды мантиссы записываются единицы, а при сдвиге влево единицы записываются в освобождающиеся млад шие разряды.
2-5. К О Д И Р О В А Н И Е Д Е С Я Т И Ч Н Ы Х Ч И С Е Л
В большинстве вычислительных машин и систем для представления и хранения информации внутри машин и ее преобразований используются двоичный алфавит и двоичная система счисления. Однако и в этом случае для облегчения связи человека с машиной необходимо иметь возможность готовить и вводить в машину исход
77