Файл: Сарингулян, Э. В. Арифметические и логические основы цифровых машин учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.10.2024

Просмотров: 57

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Знак результата определяется по состоянию старшего (вто­ рого) знакового разряда и фиксируется сигналом соПри со = 1 результат на сумматоре отрицательный, при со = 0 сумма имеет положительный знак.

Примеры на выполнение операции сложения

1- [с\'1jnp = 0,00111,1 КОдЫ чисел в запоминающем устрой- [/V,]„p =0,01001 J-тае

Сложение чисел в модифицированном прямом коде в сумматоре арифметического устройства

[ ^ 1 ^ = 0 0 ,0 0 1 1 1

+

[/У 3]"„ = 0 0 ,0 1 0 0 1 _____________________

МЙр + I'V2]“p = 00,10000 = [N, + /V2]“p

= 0 результат положительный

I —> ® = 0 -> переполнения пет

2. [jVJnp— 0,01101 (коды чисел в запоминающем устрой- [/V,]np =0,11001 )стве

Сложение чисел в модифицированном прямом коде в сумматоре арифметического устройства

[ yV iln P ~ 0 0 ,0 1 101 _

[ ^ ] ц"р = 00,11001 1

[;V,l“p + [jV,]”p = 01,00110 -> результат искажен

ш = 0

*w= 1-> переполнение

3.[jV,]nP= 0,10111 (коды кисел в запоминающем устрой- [yV2]Iip= 1,01001 Jстве

Сложение чисел в модифицированном дополнительном коде в сумматоре арифметического устройства

В Д оп = 0 0 , 10111

[ «

оп =

11,10111

:

[/V, ]“оп + 1^

=

100,01110= 00,01110= [N, + л /2]"

 

 

 

пр

не учитываетсяI

J ^ I » = 0

 

 

 

ср = 0

28

[-'V,]np — 1,И 001

|Коды чисел в запоминающем устрой-

[ЛЧпр = 0,01101

(стае

Сложение чисел в модифицированном дополнительном коде в сумматоре арифметического устройства

l'V|Ji‘on= 11.00111

[Л ^ оп =

00,01101 ^

[ ^ t n + [ ^ ] , MOn=

n >10100 = [^ 1+ ^ i!]“ep; [N, 4-,Vs)np= l ,01100.

 

•О) =1

ср : о

5.[Лд|„р — 1,00011 ] коды чисел в запоминающем устрой- [/V,]np = 1,10001 |стве

Сложение чисел

в модифицированном дополнительном коде в сумматоре

 

 

арифметического устройства

[Л^]д0П= 11,11101

[/V2]“ „ =11,01111

*■

* i j l ОП

}

„ + [л/2];‘оп= 1п ,01100= 11,011О С И Л И Л '* ,

— 1

! - > « ) = ]

[A',+-/V2]ao

1, 10100.

не учитывается

I

 

 

 

U ?==0

 

 

6- [^ ,]Пр — 1,10011 | коды

чисел в

запоминающем

устрой-

[/V2]np = 1,10001 )стве

 

 

 

Сложение чисел в модифицированном дополнительном коде

в сумматоре

 

арифметического устройства

 

М Йо

11,01101

 

+

 

 

 

 

11,01111

 

[^ilnon + [Л/,1”оп = 110, 11100= 10,11100 -^результат

искажен

]д:>ш=1 не учитывается I

-> <Р= 1-> переполнение

7- [/V.]np =0,10111 ) коды чисел в запоминающем устрой- [W2]np = 1,01001 (стае

Сложение чисел в модифицированном обратном коде в сумматоре арифметического устройства

Р =

о о ,ю 1и ,

 

[^ 21“6Р=

11,10110

 

№ „ + [N,]-

=

100,01101 =

00,01110 = [7V, + л у -р

 

 

Циклический

_ > СО : ■о

 

 

перенос

29

!“►СО; о



8 - [ А

1 , 1 1 0 0 1 |

к о д ы ч и с е л в з а п о м и н а ю щ е м

[ Л У п ? =

0 , 0 1 101 ( с т а е

Сложение чисел и модифпциропанном обратном коде п сумматоре арифметического устройства

ид и ю

f

f/V2]0“6p = 00,01101

+ № Ъ = 11,К)011=|М 1- М К ; [iV14-/V,]np = l J01100

; > (I) - 1

^о

[^'iliip -- 1,00011 | коды чисел в запоминающем устрой- (.'V,|,ip = 1,10001 Iстае

Сложение чисел в модифицированном обратном коде в сумматоре арифметического устройства

[-У,];:бр- 11.11100

I -У' I =•• 11,01110

1Л?. 1обр-Ь ['Уг^'бр--- ] 11 , ° 1 0 1 0 = - 11.01011 — [.v, + Л ',) * 6р;

1--------1

о~ 1

моюо.

Циклический

 

 

перенос

^■> ^ = 0

 

 

 

Ю. [AMnp— 1, 100111КОд Ы чисел в запоминающем

устрой-

[ ] „ р 1,100011стве

 

 

Сложение 1чисел в модифицированном обратном коде в сумматоре арифметического устройства

[ ^ 1 ^ р = 1 ! '01100 +

1Л я ] о в р = П ' 0 1 1 Ю

[ЛМобр + 1Д2Jо б р ■110,11010 =

10,11011

> результат искажен

Jобр

 

 

I

0)

1

Циклический

перенос

->- ® =

1-v переполнение

 

Для передачи суммы при ср=0 из арифметического устрой­ ства для запоминания в кодовые шины числа поступает пря­ мой код результата независимо от знака. Если сумма положи­ тельная (сигнал со = 0), то полученное значение результата со­ ответствует его прямому коду, и преобразование выполнять не надо. При со = 1 необходимо сформировать в АУ из модифици-


рованного дополнительного пли обратного кода суммы прямой код, и уже затем отослать результат в запоминающее устрой­ ство.

Вычитание в машинах с фиксированной запятой

При выполнении операции вычитания необходимость преоб­ разования прямого кода уменьшаемого определяется тем зна­ ком, с которым первое число поступает из запоминающего устройства. Знак же у второго числа необходимо предвари­ тельно изменить. Для этого следует предусмотреть установку знаковой ячейки АУ в положение «1» перед подачей вычитае­ мого на суматор. Тогда, если код знака второго числа 0, на знаковой ячейке, выполняющей суммирование по модулю два (например, триггер со счетным входом), останется код 1, при подаче кода знака 1 установится положение «О». В результате получается 0 © 1= 1 или 1© 1=0 (символ © означает сло­ жение по модулю два, при котором единица переноса теряет­ ся). Таким образом обеспечивается изменение знака вычитае­ мого. В соответствии с этим формируется в АУ дополнитель­ ный или обратный код второго числа либо вычитаемое остает­ ся в прямом коде. И уже затем второе число поступает на сум­ матор. В остальном же эта операция ничем не отличается от

сложения, поскольку вычитание Ni—N2 можно

реализовать

как суммирование Л 0+ (—N2). В конце операции

вычитания

анализируется значение сигналов <р и со, сформированных в за­ висимости от состояния знаковых разрядов результата в сум­ маторе.

Примеры на выполнение операции вычитания

[A;i]np = 0,00101 (коды чисел в запоминающем устрой-

[ /V ,] np = 0 , 0 0 0 1 1 1'с т в е

Изменение знака вычитаемого в знаковой ячейке, предвари­ тельно установленной в 1, перед подачей N2 на сумматор

/ <3 О =/.-

Вычитание чисел в модифицированном дополнительном коде

W o n = 0 0 ,0 0 1 0 1

 

 

 

[ Л Ц " , „ =

1 1 , 1 1 1 0 1

+

____________________________

[л'.1доп+ [^ ]д „п =

100,00010 +

00,00010 = М - Л А ] “р

Нс учнтыоается

 

__- *со =

0

 

 

 

 

 

 

• е? =

0

31


Вычитание чисел d модифицированном обратном коде

[ ^ ,1^ =

00,00101 ,

 

[•^[рбр =

1Ь 11ЮР

 

т * 06Р 1- [лм;'бР= ? 00'00001 -

00,00010=--- I Л\ — /Val“p.

 

I

f

Jj > о>=0

 

Цпкличсс кин

перенос

I >? = о

 

2- [A^lup = 0,01011 1КОдЫ чисел в запоминающем устрой- [/V2]np -- 0,10 11 (стве

Изменение знака вычитаемого в знаковой ячейке, предва­ рительно установленной в 1, перед подачей N2 на сумматор

1 ® О = / .

Вычитанне чисел в модифицированном дополнительном коде

[Л''.1л..п = 00.01011_1_

 

 

 

[В Д 0П=

11,01001 '

 

 

 

lAMVon -Ь [-V2l-0„= 11лоюо =: [yVl— TV2j-on;

[А', —Л'2]пр

,01100.

J

,

1 -

>

О

)

 

э ~

о

 

 

 

Вычитание чисел в модифицированном обратном коде

Р= оо-ою) i +

I АА]рбр = 11,01000 __

М ] “6р+ W 6 P = Ч-ЮОП - [ Л ^ - Л ^ бр; [Л '-Л 0]пр= 1,01100

а) = 1

[ са — 0

3- [А')]пр = 1,0011 1 |коды чисел в запоминающем устрой-

1;\/,]пр = 0,00010 /стве

Изменение знака вычитаемого в знаковой ячейке, предва­ рительно установленной в 1, перед передачей Nz на сумматор

у