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

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

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

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

Добавлен: 31.10.2024

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

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

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

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

а д оп- 1М 1001

 

 

 

„ =

11,11110 '

 

 

 

+

=

111,10111 = 11,10111 =--

1-4--А'з|—

 

Не

учитывается

 

I

 

_[-> 0)= 1

[/V,--yV2|np—1,01001

 

 

 

 

 

 

 

 

I _> го = 0

 

 

 

 

 

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

 

 

 

w t o p

=

11. 11000^

 

 

 

 

 

 

[А^аЦ'бр =

11,11101

 

 

 

 

р

+

р

=

ш >Ю101 -

11,10110 •= f-V,

- д / 21

 

 

 

 

 

 

I_______

?

Ц в = 1

[ W

- z V ^ l ,01001

 

 

 

 

 

 

Циклический

^

 

 

перенос

4- [A^Jnp -- 0,01101 | коды чисел в запоминающем устрой- [AOlnp ~ 1,00110 { стве

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

У О 1 = 0

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

[ЛМ"оп = 00,01101J

„ „ = 00,00110 '

„ + ( № , = оо,шоп =[/v,

J -> «0=0

I - <? = 0

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

6р= оо,о1Ю1

„ = 00,00110

[ЛМоСр + №

'обр

: 00,10011 =

[/V, — л^];,1

J^>- ш= 0

II р

 

 

 

 

 

^~> CD= о

 

3

Э. В. Сарингулян, Г. В, Смирнова

33


5- [ЛМ,ip "1,00101 |коды чисел в запоминающем устрой- [Лщ]„р = 1,01001 /стве

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

 

 

 

 

;

/ с в 1

= о

 

 

 

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

 

[* .]? „„=

11.11011 д

 

 

__________ 1АМГоп^ 00.01001

1

 

 

1Л’.1ц,„ -о ['Vs|“on =

100,00100 =00,00100 =, |Л'

- /V2]«

 

*______ I

 

 

 

 

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

 

 

 

 

 

 

 

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

 

 

[.У,]"

 

11,11010

,

 

 

 

1

1 оор

 

 

 

 

1

 

 

-

00,01001 ^

 

 

 

-1пбр_______ _____________

 

 

[-V,Г1-

-loop

=100,00011

=00,00100 = |Л\ — iV,l“

I

»J.iop t

 

 

A

1

-Inp

 

 

 

 

 

Циклический

 

 

 

 

 

 

 

 

перенос

 

 

 

6-

[A;i]np

о, Ю111 |КодЫчисел в запоминающем

устрой-

 

[/V2|np --

1,11001

|стве

 

 

 

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

i О i — О ,

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

[ ^ ^ „ =

00,10111

,

w inn =

00.11001

1

t'VJion “1 |,V.,]“ in =

01,10000

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

 

J_-> ш = 0

 

 

ср— 1 -> переполнение

34


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

„ = 00,10111

___________№ „ = 00,11001

№ P + № p = °UOOOO результат искажен

Jr» ш= О

^-» © = 1 -> переполнение

7- [^llnp = 1,11001 1коды чисел в запоминающем устрой- [Д’2]пр = 0,10101 Jстве

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

/ 0 ( /

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

„ = 11,00111

[М,]«

= 11,01011+

I --»доп

9

[ЛМдоп + [Дз]чои = 110,10010= 10,10010 -> результат искажен

<---------------

I

!->- щ-- -

1

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

 

^

1— переполнение

 

 

с -

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

№ „ = 11,00110

№ „ =

4,01010

 

 

t^ilncp + [^г1обр “

*ЮЛОООО =

10,10001

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

 

^ ^

^

1

 

Циклический

‘-р ’

 

перенос

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

Есл1И после выполнения операции вычитания ср=0, резуль­ тат может быть передан в запоминающее устройство, предва­ рительно преобразованный в прямой код при со=1 При ср=1 формируется команда о переполнении разрядной сетки.

Умножение в машинах с фиксированной запятой

Обычно реализуется операция умножения над числами, представленными в прямом коде. При этом знак произведения вырабатывается в результате сложения знаков сомножите-

3 *

35


леи по модулю два (таб. 2.1). Для этой операции использует­ ся специальный узел в арифметическом устройстве (сумма­ тор знаков сомножителей, выполненный обычно в виде треггера со счетным входом).

 

Т а б л н ц а 2.1

Правила знаков

Правила цифровых

ал го бpi.i

знаков

(+ ) X (i ) - ( + )

0 0 =0

( г ) С (--)= ( -)

0 -1- I = 1

( )>'•(•} -(-)

1 у 0== 1

1 -1 ( - ) ( г)

1 f l = 0

Операция умножения в двоичной

системе сводится к по­

разрядному умножению множимого

последовательно на циф­

ры множителя, при этом частичное произведение либо равно множимому, если соответствующий разряд множителя 1, либо нулю, если разряд множителя 0. Для реализации алгоритма умножения в двоичной системе используются суммирующие схемы со сдвигами множимого пли сумм частичных произведе­ ний как влево, так и вправо. Умножение может начинаться как с младшего, таки со старшего разряда множителя. После ум­ ножения «-разрядных чисел получается произведение, содер­ жащее 2/1 Разрядов. Так как разрядная сетка ограничена в большинстве случаев п разрядами, то п младших разрядов произведения теряется, и результат необходимо округлить. Округление при прямых кодах сомножителей выполняется пу­ тем прибавления единицы к старшему из отбрасываемых раз­ рядов результата. Если возникает единица переноса, то она суммируется с младшим из остающихся разрядом произведе­ ния. В конце операции умножения знак произведения переда­ ется из сумматора знаков сомножителей в знаковые разряды сумматора, который выработал значение произведения. По со­ стоянию старшего знакового разряда этого сумматора опреде­ ляется значение сигнала м аналогично, как при операциях сло­ жения и вычитания. Сигнал ф при умножении чисел, по абсо­ лютному значению меньших единицы, равен нулю.

Рассмотрим одну нз схем умножения чисел в прямом ко­ де, содержащую последовательность операций суммирования п сдвигов. Операция умножения начинается с младших разря­ дов множителя (множитель сдвигается вправо). После каждо­ го такта суммирования, когда прибавляется очередное частич­ ное произведение, равное множимому или нулю, в зависимости от значения сдвинутого разряда множителя к накопленной сумме частичных произведений, вновь полученная сумма ча­ стичных произведений сдвигается вправо, а множимое в про-

об


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

В некоторых машинах для действий над отрицательными

•числами используется обратный или дополнительный коды. Рассмотрим схемы умножения чисел с учетом алгебраиче­

ских знаков, когда накопление сумм частичных произведений выполняется в прямом или обратном кодах.

Пример на выполнение операции умножения в прямом коде

Множимое

]Л,,]пр=- 1,10011

Передача разрядов миожи-

Множитель

[ЛД]П0

=0,01111

 

1 1 р

 

теля, начиная с младшего

Разряды

сумматора

 

 

 

Доп. разряд jr

 

 

00,00000

0

Верное

частичное

произведение

00,10011

0

Первая сумма частичных произведений X’,

00,10011

0

Сдвиг

 

 

вправо

 

 

 

00,01001

1

Второе

частичное

произведение

00,10011

0

Вторая сумма частичных произведений Х3

00,11100

1

Сдвиг Х2 вправо

 

 

 

■00,01110

0

Третье

частичное

произведение

00,10011

0

Третья сумма частичных произведений X.,

01,00001

0

Сдвиг

 

Х3 вправо

 

 

 

■00,10000

1

Четвертое частичное

произведение

00,10011

0

Четвертая сумма частичных произведе­

01,00011

1

ний

 

 

 

 

 

 

Сдвиг

 

X., вправо

 

 

 

00,10001

1

Пятое

 

частичное произведение

00,00000

0

Пятая

 

сумма частичных произведений Х5

0 0 , 1 0 0

и

1

Сдвиг

 

Х5 вправо

 

 

 

04,01000

1

Округление

 

 

 

 

 

1

 

 

 

 

 

 

 

о 0 ,0 1 0 0 1

0

Знак множимого

1

 

В сумм споре

о

множителя

©

________

 

 

 

Знак

0

>

11,010! 1 [Лд.ДХр

Знак

произведения

1

-------------------

 

 

 

 

 

 

 

~> (О

1

 

 

 

 

 

 

 

 

I-> Ч■0

 

37