Файл: Сарингулян, Э. В. Арифметические и логические основы цифровых машин учеб. пособие.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