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

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

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

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

Добавлен: 19.06.2024

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

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

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

- 9 4 -

В случае использования модуля «

2 т - I с учетом тождества

4.15 выражение 4.21 принимает вид:

 

К(Ао5р) =С Я (2>ПН+ 2 П-1)+К(Апр)1тос((!2т-1). (4 .2 2 )

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

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

Тождества для преобразования вычета прямого кода в вычет

дополнительного

кода

и вычетов обратного и дополнительного кода

в вычет прямого

приводятся ниже:

П (Арп ) Ф (2 ™ *2 п- ф H(Anp )9on]mod(2nx- 0

R ( A ^ ) ^ [ K ( 2 n*+2 fl+d+R(AoSp)]™°Gl(2ni-i) (4 .2 3 )

R(Anp )s L^(2

+2 - 0+R(Agon)jjon] -mod(2 т- 1)

Обнчно преобразование вычетов выполняется в сумматоре контроль­ ных кодов.'

- 9 5 -

Г л а в а У

АППАРАТНЫЙ КОНТРОЛЬ

АРИФМЕТИЧЕСКИХ И ЛОГИЧЕСКИХ ОПЕРАЦИЙ

 

§ 5 .1 . Контроль арифметических

операций по четности

 

П о н я т и е

б у л е в о й

р а з н о с т и .1 При ис­

следовании влияния тех или иных неисправностей (ошибок)

на

значение выходной функции г м

некоторой логической

схемы удобно пользоваться понятием булевой разности;

 

Булевой разностью функции

относительно

вход­

ной переменной X'L

называют выражение

 

dT(x)

 

 

 

d

здесь не производная, а оператор разности, означа­

ющий сложение функции

? ( * ) с выражением

этой

же функции, в

котором переменная

Xi

заменена на инверсию.

 

 

 

Наиболее важным для нас свойством булевой разности явля­

ется равенство ее

I ,

если

значения функции

Т ( х )

не

совпада­

ют для правильного

и ошибочного значений £С£

,

и равенство O',

если эти значения функции совпадают.

 

 

 

 

Если систему контроля можно описать некоторым логическим

выражением, в котором значения аргументов

Яу

являются вход­

ными, промежуточными или выходными переменными

контролиру -

емой схемы, то по

значении булевой разности

 

 

можно

а п


- 9 6 -

определить, контролируется ли неисправность, вызывающая ошиб­

ку в значении переменной

Х[

( f f ~ ~

= l) «ли не контроля-

/

d m

\

Это

свойство

булевой разности в даль­

руется |

= 0J ,

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

 

 

 

d r(х) = d m

 

 

5 .2

 

 

 

 

 

dxi

 

 

 

 

 

 

d[F(x)®G(x)] = d m ^

JG&

 

 

 

 

 

d xi

 

 

 

dxi

d xi

 

 

 

 

dT(S)

= d m )

dth

 

 

 

 

 

 

d z i

d

d

*

i

 

 

 

 

К о н т р о л ь п о л у с у м м ы .

Формирование

сум­

мы

Si

в сумматоре обычно реализуется как сложение по ti}od2

полусуммы

Н[

и переносов

С

 

:

 

 

 

 

 

 

Si

= Hi

© с ,.,

 

 

 

Схема контроля полусуммы может быть реализована как самосто­

ятельная часть схемы полного контроля сумматора. Значение

I -г о

разряда полусуммы чисел А и В определяется

выражением

=

 

 

Четность полусуммы

Рн

,

очевидно,

можно записать

как

оумиу

по

mod 2

всех разрядов

полусуммы:

 

 

 


- 9 7 -

^ = Н л ® Н я - А . ® « ! ® . . . © Н 0 =

= (a ^ Q ^ ,® ..® ^ © ... ® д 0) ® ^ ® 4 - Д - •® 4 ® ® 4 ) =

= Ра ® h -

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

верить на четность полусумму и сложить ее

по

m od 2

с четноо-

тью слагаемых. Равенство полученной суммы

£

~ Рц ® ?а @7-^

нулю свидетельствует об отсутствии ошибок

нечетной кратности,1

К о н т р о л ь

п о ч е т н о с т и

 

п о л н о й

с у м -

м ы . Четность полной суммы может

быть

представлена следующим

выражением:

 

 

Ps = S „ ® ^ . , © - e 5 i ® - ® 5 0 = < а , г ® £ я © с я - , ) ©

ф (а пч®^п-1ФСп-г) ® - ••® (oi

 

) © . . . ®

® (ao®^o®Cgx ) =

-

® а о) ®

® £<•-, ® • ® с * х ) = % ® Ре ® К

 

Таким образом, для контроля полной

суммы необходимо сло­

жить по m od 2 четность

суммы Pg

с четностями слагаемых

и внутренних переносов Тс

 

Е = ц ® р а ®р6 <врс .

- 9 8 -

Сявдует иметь в виду, что признак четности и внутренних пере­ носов заранее не известен и формируется в процессе выполнения

операции.

Поэтому равенство

£

дулю свидетельствует об

отсутствии

ошибок только при условии отсутствия неисправностей

в цепях формирования переносов.

Ошибки, возникающие в цепях

переноса, не изменяют четности выражения, так как они одновремен­

но меняют четность переносов Ра и суммы

Ps

.

Действитель­

но, предположим, что ошибка произошла в

С t- _ (

переносе.

Тогда булева разность

 

 

 

 

dE _

сЩ

 

 

dPa

dPs

dH

 

dci4

da4

+

dCi-i

+ dclt

+

dci-i

но

l f ! i - = ( c n- t <s>Cn -2 ® . . . ®

 

&egx) ©

 

u C i - j

 

 

 

 

 

 

 

 

 

 

© ( c „

® C n

 

©

© C ■ © . © C p t ) - i

 

1 n ~ 1

n - z

 

L- 1

 

 

6X

 

и ,

аналогично,

 

d 4

c/S<;

 

 

 

 

 

 

dci4

 

dS;

dci4

 

 

 

 

Следовательно,

dfj

 

1

+

0 + 0 + 1 = 0

,т .е

ошибка

dcL.t

не обнаруживается.

 

 

 

 

 

 

 

 

 

Пример.

 

 

 

 

 

 

 

 

 

а)

А = 0,0011

 

Ра

= 0

б)

А = 0,0011

ра = 0

 

В = 1,0110

 

Р^= I

 

В =

1,0110

 

 

 

Р<? = 1

 

Н = 1,0101

 

 

 

 

 

Н =

1,0101

ошибка Р = I

 

С = 0,1100

 

рс

= °

 

с. = 0,1101

 

S = 1,1000

 

Ps

= 0

 

S =

иооо

Ро= 0

 

 

 

 

 

 

 

ошибка

 

 

 

 

Е = Г + 0 + I + I =

 

Е = 0 + 0 + 1 + 0 = 1

 

Ошибка обнаруживается

Описка

не

обнаруживается


- 9 9 -

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

Известен ряд способов обеспечения контроля операции сло­

жения по четности ( см. Л. 7) .

Одним из способов является дублирование цепей переноса. При

этом способе в образовании суммы принимают участие одни схе­

мы формирования переносов, в вычислении признака четности -

другие, и, следовательно, ошибка в цепях переноса, участву­

ющих в образовании

суммы, не скажется на формировании призна­

ка четности Р

С

и наоборот.

 

 

*

К о н т р о л ь

о п е р а ц и и в ы ч и т а н и я . В

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

в обратный (дополнительный) и наоборот.

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

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

При контроле преобразования в дополнительный код внача­ ле можно проконтролировать получение обратного кода, а затем проконтролировать добавление единицы в младший разряд, так ,

как это делается при сложении (получение дополнительного


- 100-

кода обычно выпол1шется б сумматоре).

 

К о н т р о л ь

о п е р а ц и и

с д в и г а . При сдай­

те числа влево или вправо единицы, выходящие за разрядную сетку,

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

шщы*

Если фиксировать единицы, вмходяидое за разрядную сетку,

и учесть (при обратном коде) количество единиц, запалнягацих освобождающиеся разряда, то признак четности сдвинутого око.ца формируется достаточно просто:

 

•;

 

га

га

г тер ^

гзап

 

где

Ра -

четность сдвинутого числа А,

 

 

 

Ртер - четность

совокупности разрядов, выходящих за раз­

 

 

рядную сетку,

 

 

 

 

 

 

?зап “ четность

совокупности

освобождающихся разрядов,

 

 

заполняемых единицами (при сдвиге обратного или

 

 

дополнительного кода).

 

 

 

 

 

Контроль операций умножения и деления может быть осущест­

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

каждом такте выполнения этих операций.

 

 

 

К о н т р о л ь

 

л о г и ч е с к и х

о п е р а ц и й

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

 

и р а в н о з н а ч н о с т и .

 

Операция неравнозначности выполняется в соответствии с

таблицей

5 .1 ,

где

Д(- и £[

-

входные двоичные переменные,

Cg

- выходная.

Из таблицы видно,

что

число

С , являющееся ре­

зультатом поразрядного выполнения операции неравнозначности,

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