Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие]

.pdf
Скачиваний:
9
Добавлен:
23.10.2023
Размер:
8.6 Mб
Скачать

- д о -

+ V o 72

- 4 TZ * * , * 0 Tz

Схема блока умножения, реализующая эти выражения, имеет вид, представленный на рисунке 4 .4 .

Рис. 4.4.

Сомножители подаются поочередно. Работа схемы очевидна из описывающих ее логических выражений.

Из

рассмотрения методики выполнения операций над вычета­

ми четко

проглядывается преимущество

контроля по модулю ^=2^-1.

В связи

с этим в дальнейшем мы будем

вести речь только о конт­

- 91-

роле по

этому модулю.

 

§ 4 .8 .

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

кода

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

В связи

с тем, что операция вычитания в ЦВМ выполняется

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

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

На практике применяются две разновидности контроля:

- контролируется только мантисса числа, а знаковый раз­ ряд в образовании вычета не участвует;

- контролируется весь код числа вместе со знаковым раз­ рядом.

В первом случае контроль реализуется проще, но контроль

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

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

При контроле без учета знакового разряда вычет обратного ко­

да

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

инверсии мантиссы прямого кода

этого

числа.

 

 

 

 

 

 

Р (А 0^)

s R ( A r p ) mod fj. ,

 

где

A -п р .- мантисса

прямого кода числа.

 

Но инверсия мантиссы

П -разрядного чисж

 

 

А'

 

= 2 п-1

-А '

 

 

Апр.

 

1

мпр.

 

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

(A0s)~ [Я(2П- 0~P(Anp)^mod^, .

(4 .1 4 )

В случае

CJ =

2>п- I контрольны!! код занимает гп разрядов, и

диверсия

контрольного кода определяется выражением

 

Ш

щ ) < 2 m-1~R(Anp)]mod(2m- 1 )

или, после исключения из правой части ^,= 2™- I ,

К ( А я р ) н [ - ^ пр)]т т 1о с / ( 2 Г1,- 1 ) .

(4Л 5)

Из выражений 4.14 и 4.15 получаем тождество ,для вычисления вычета обратного кода отрицательного числа по вычету прямого кода этого числа без учета знакового разряда:

W o S ) * l № - 0 + M ^ ) U a d ( 2 m- l) . <4 Л 6 >

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

числом

К = R(2n-1) mad (2 т- i ) .

 

 

С помощью аналогичных

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

 

для вычисления вычета

дополнительного кода числа

 

 

^

(Agon)- [R(2n-0 +R(Anp)gon]rrwd(2™- i ) t

(4

.17)

где %(Anp)[jon - дополнение вычета прямого кода числа.

Переход от вычетов обратного или допелнитального кода чи­ сел к вычетам прямого кода этих чисел осуществляется по анало­ гична* формул»*:

R(Anp)s [R(2 - ! ) +^(A0sp)]rmd(2 т- 1)

(4.18)

£ (А лр)- [R (2n-l) + K(Agon)gfon]mod (2m- f )

- 9 3 -

Заметам, что если П выбрать таким, чтобы £ ( 2 П) был

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

ного числа

R (2п-1) mod ( 2 т- 1).

 

 

 

 

 

 

 

Для получения

формул преобразования вычетов при контроле

с учетом знакового разряда запишем выражения прямого кода

обратного

кода А л

 

и инверсии

прямого кода

t

Л

пр

в

виде

сум-

 

оор

 

Оп '2

 

 

 

 

 

 

 

мы знакового разряда

и мантиссы A

 

 

 

 

 

 

А пр = а п- 2 п + л '

н R (A np)modfj.

 

 

 

 

A 0 f y

 

= Qi , 2 n+A

 

s R(AoSp)m oct^

 

 

 

 

А-пр = a n 2 а+ = R(А пр) m o d .

 

 

Вычтем почленно из

второго тождества

третье,

тогда

 

 

 

я (А о5р)

-

s

« п ) - 2 nmod у

 

 

 

или, учтя, что у отрицательного

 

числа

Qn= i , и

#

п = 0

и ,

перенеся R(Anp)

 

в правув часть, получим:

 

 

 

 

 

И(А,;г1,)ш [!1(2'')*!Н\)1 modlj. .

 

(«.ISO

Но инверсию прямого кода Л -разрядного числа можно запи­ сать в виде _

A n f ~ Z n ' - t - ^ n f

или, перейдя к вычетам,

R ( A n p ) = [ R ( 2 n* - 0 - R (Anp)J Tnodf^.

( ч , 2 0 )

Перепишем тождество 4.19 с учетом выражения 4.20 :

Л(Аа6р ^ [ № nft+ 2 n+ i ) - R(A пр)1 W £ с * . 2 Г .

- 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) .

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

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

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

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

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

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

ка четности Р

С

и наоборот.

 

 

*

К о н т р о л ь

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

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

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

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

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

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

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

Соседние файлы в папке книги из ГПНТБ