Файл: Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.06.2024
Просмотров: 133
Скачиваний: 0
Пример. |
А = |
0,101 |
Т5 |
(A) |
s |
10mod 3 |
|
В = |
1Д 00 |
R |
(В) |
= 00 mod 3 |
|
|
А • В =1,010100 |
|
R |
г |
01 nod 3 |
|
|
|
I |
I |
|
|
|
теряются
При контроле по тождеству 5.10 веса остающейся части произ ведения (А*В)0СТ = 1,010 должны быть взяты 1 ,2 ,1 ,2 и R (А*В)^|Т * 10 -mod3.
R (А-в)ост = |
{[га - оПо - га] |
+ I |
- i) |
= - юо 2 ю modз. |
||
При контроле по тождеству 5.11 веса |
остающейся части произ |
|||||
ведения |
берутся в |
обычном порядке |
- |
2 ,1 ,2 ,1 |
и (А-В)ост =£НтЛз. |
|
£ |
(а -в) ост = |
{га Гю - о][о |
- га] + га |
- i- io j = |
=- гаоо * 01 mod з.
В том случае, если при умножении чисел производится округ ление, в тождество для вычисления контрольного кода необходимо добавить член £ ( 2 л ) , учитывающий добавление единицы в ос тающуюся часть кода по сигналу округления.
§ 5 .4 . Контроль операции деления чисел в прямом коде
Для операции деления прямого тождества, позволяющего выра зить вычет результата через вычеты операндов, нет. Поэтому де ление контролируется с помощью тождества, выражавшего вычет де лимого (А) через вычеты делителя ( В ) , частного (С) и остатка
( W ) . При принятых обозначениях можно записать:
- 111-
или, перейдя к остаткам для положительных чисел,
£ (A) S [ р ( В ) - й (С) + 1$ ( W )]ттюс1д. . |
5 .12 |
Полученное тождество позволяет проконтролировать операцию деле ния чисел без учета знакового разряда. При контроле с учетом знакового разряда тождество (см . контроль умножения) будет иметь вид:
№ ) = [ Ш В ) - 1 п(2п) № е ) - С < , № п) ] +
6 .13
+ (!>n®en)lH 22n)+K (W )}m od(j,.
Таким образом, для контроля правильности выполнения опера
ции деления необходимо выполнить саму операцию, сформировать вы
четы частного и остатка, вычислить вычет делимого и сравнить его
с контрольным кодом делимого, поступающим вместе с числом. Од нако при этом необходимо иметь в виду,следующие обстоятельства.
|
При |
П -разрядной |
сетке машины делитель и частное имеют |
||||||
|
разрядов, |
остаток - |
2 Л |
разрядов |
(с |
нулями в П старших |
|||
разрядах). Следовательно, вычисленный по тождеству 5.12 или |
|||||||||
5.13 |
вычет делимого |
будет соответствовать |
2п -разрядному дели |
||||||
мому |
(содержащему в |
П |
младших разрядах |
нули). Контрольный |
|||||
же код, поступающий вместе с |
делимым из ЗУ, определен для Л - |
||||||||
разрядного числа. Таким образом, для т о го , |
чтобы вычисленный |
||||||||
контрольный код совпадал с.поступившим из ЗУ, его необходимо |
|||||||||
вычислять для |
Л |
старших разрядов |
( |
П |
***~т ГТет*' щ у а е ш |
||||
разрядов |
отбросить). |
|
|
|
|
|
|
||
|
Если количество |
разрядов |
П |
кратдг» Mqmnflff ш птагсД |
|||||
функции, |
т о , |
как следует |
из предадужего) |
|
шикйг тпцу ■ |
|
|
|
|
- |
H2- |
ших П |
разрядов монет |
быть |
вычислен непосредственно по тож |
||
дествам |
5.12 |
:ш 1 5.13 ( |
И |
младших разрядов в образовании вы |
|
чета не участвуют, так как они содержат нули). |
|||||
Если же |
п |
не кратно |
периоду весовой функции, то вычис |
ление контрольного кода следует производить так не, как это де
лается |
при умножении |
для аналогичного случая. В частности, при |
||
| |
= 3 |
и |
/7 , не |
кратном двум, контрольный код вычисляется |
по |
тождеству |
|
|
Ш П г Ш в П п Ъ(2 п) ] Ш - с п т п) ] +
5.14
+ (& п ® Сп ) ^ ( 2 П ) + 2 'R i V l ) } m o d 5
|
Пример. |
|
А = |
0,101 |
|
К (а ) = ю mod. з |
|||||||
|
|
|
В = 0 , I I I |
|
R (В) |
S 01 |
m o d 3 |
||||||
|
|
|
С = |
0,101 |
|
R (0) |
э |
Ю |
т о d |
3 |
|||
|
|
|
W = |
0,000101 |
R ( W |
) |
s |
ю |
mod |
3 |
|||
По тождеству |
5.13 |
К |
(Л) |
= |
{[01 |
- 0] [10 |
- |
0] |
+ |
О + |
10}s 01 mod 3 |
||
не |
совпадает, |
|
|
|
|
{ 10 |
[01 - 0][10 - |
0] + |
0 + |
10-10} = |
|||
по |
тождеству |
5.14 |
R (А) |
= |
= 10 mod 3
совпадает.
С методикой контроля операций умножения и деления в обрат ном и дополнительном кодах читатель может познакомиться в Я .5.
-1 4 5 -
§5 .5 . Контроль операций сдвига
Контроль операции сдвига наиболее просто осуществляется о
использованием наименьших вычетов. Как будет показано ниже, в
этом случае для вычисления контрольного кода сдвинутого на один разряд числа необходимо сдвинуть его контрольный код и учесть потерю единицы в сторону сдвига.
|
Введем обозначения: |
|
||||
|
А, |
( А ) |
- |
сдвинутое влево (вправо) число, |
||
Т?(А), R (А) |
- |
контрольный код сдвинутого числа, |
||||
R ( A ) , |
R (А) |
- |
сдвинутый контрольный код, |
|||
|
-4-0 О-*- |
- |
число, сдвинутое с циклическим переносом. |
|||
|
А, |
А |
||||
|
Арифметический сдвиг прямого кода числа на один разряд |
|||||
влево. Сдвинутое |
влево число можно записать в виде: |
|||||
|
|
|
|
Л = а п -2п+ 2 А ' - а п . 1- 2 п , |
||
где |
вычитание |
®-п- 2** учитывает |
потерю единицы из старшего |
|||
|
|
разряда мантиссы. |
|
|||
|
Добавив |
и вычтя Qn •2 П, получи:,! |
||||
|
|
|
А |
= 2 (ап-2 п+ А ) - ( а п +апч)-2 п^ _ _ |
||
или, |
перейдя к остаткам и учтя, что |
2R(A) = К 6 4 ) , |
R (A )= L R (A ) - (a n + a n. f) - X ( 2 n) j t n o d p . .
Заменив вычитание добавлением инверсии второго слагаемого, окон
чательно получил:
'R(A)s i K ( A ) + ( a n +an, t)'R(2n) ] m o d ^ |
5 ,1 5 |