Page 27 - ЭВМ
P. 27
x = –5 11010
y = –1 11110
11000
1
11001 –«–6».
Общее правило определения наличия или отсутствия перепол-
нения звучит следующим образом: переполнение разрядной сетки от-
сутствует, если одновременно отсутствуют или присутствуют перено-
сы в знаковый разряд и из знакового разряда; переполнение разряд-
ной сетки присутствует, если есть перенос в знаковый разряд, а из
знакового разряда нет переноса, либо наоборот, есть перенос из зна-
кового разряда, а в знаковый разряд нет переноса.
Существуют два основных физических способа определения пе-
реполнения:
1. Фиксация переносов в знаковый разряд и из знакового разря-
да. Для этого вводятся два триггера: Т1 – фиксирует перенос в знако-
вый разряд; Т2 – фиксирует перенос из знаковой части. Схема сложе-
ния по mod 2, реализующая функцию для Триггера переполнения:
Т пер = Т1+Т2 (Т пер = 1 – переполнение, Т пер = 0 – нет переполнения).
2. Для x и y в сумматоре отводятся под знак два разряда. Если
значения результирующих знаковых разрядов совпадают, то перепол-
нения нет, а если значения различны, то переполнение есть.
Более распространенным является первый способ.
Вычитание чисел в дополнительном и обратном кодах. Опера-
ция вычитания сводится к операции сложения за счет того, что вычи-
таемое число записывается либо в дополнительном, либо обратном
кодах:
y
z =− = х + (– y),
х
z’ = x’ – y’ = x’ + (–y’).
Рассмотрим микропрограмму и оборудование арифметико-
логического устройства (АЛУ) для выполнения операции сложения
и вычитания чисел с фиксированной точкой (дополнительное кодиро-
вание).
В состав АЛУ входят (n+1)-разрядный параллельный комбина-
ционный сумматор КС, регистр сумматора РC, входные регистры
сумматора РА и РВ, входной регистр АЛУ Р1 (рис. 1.1) [2]. Длина
всех регистров равна длине операндов n+1.
27