Файл: Основы технической эксплуатации ЭЦВМ..pdf

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

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

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

Добавлен: 15.10.2024

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

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

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

регистра накапливается г контрольных разрядов, являю­ щихся остатком от деления многочлена Н(х) на Р(х). На ( т + л+1)-м такте ключи Кі — /С4 устанавливаются в положение включено и полученный остаток поступает на дешифратор коррекций. Если кодовая комбинация

Рис. 3-10. Структурная схема декодирующего устройства в цикли­ ческом коде для многочлена Р( х) =х4-fcjt+I.

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

124

с .соответствующим разрядом приемного регистра. Таким образом, с дешифратора коррекции на счетный вход триггера разряда, в котором произошла ошибка, подает­ ся сигнал, исправляющий ошибку. После исправления ошибки многочлен G(x) переписывается из приемного на информационный регистр. При ' появлении двойной ошибки в кодовой комбинации с выхода дешифратора подается сигнал останова.

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

Широкое распространение в последние годы получил контроль по модулю, именуемый иногда контролем по остаткам или наименьшим вычетам. Такой вид контроля позволяет проверить правильность выполнения операций над числами и правильность их передачи.

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

Правомерность использования остатка в качестве контрольной информации объясняется тем, что любое

*число М сравнимо с остатком гт, полученным в резуль­ тате деления контролируемого числа М на модуль q.

Сказанное можно записать в виде тождества

М^=гт той <q.

(3-11)

Тождество (3-11) устанавливает между числами М,

гт и q соотношение

 

M = q l + rm,

 

где I — частное от деления М на q.

в любой

Тождество (3-11) может быть записано

системе счисления. Так, число 11 в десятичной системе счисления при модуле 3 будет тождественно числу 2,

т.е. 11 з=2 mod 3.

Вдвоичной системе счисления запись будет иметь вид 1011s 10 mod 11.

125


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

кк

N] Мі = £ /„mod?; і'= I i~1

ПЛ/^ П ч шосІ9-

i=l 1=1

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

Контроль арифметических операций производится по следующим формулам:

1) сложение и вычитание

 

 

ЛГ.ндЛ'І^УИ,,

rm ± r

=

r ,

 

 

 

 

 

іщ '—

т1

ту

где

М, = rnhmod q,

Al, =

гіщmod q,

Мл== rnh mod q\

 

2) умножение

 

 

 

 

 

 

M XM Z= M.V

r„h ri!h= r mt,

 

 

 

 

где

M, = r

mod q,

AL =

r„, mod q,

Л'/, = r„ mod q;

 

3) деление

 

 

 

 

 

 

 

 

_1__ X — /V/ •

r

r

_L_ r

 

== r

 

 

/VI2

m 2

 

 

m a

'm, 1

где

A'l, = rnh mod q — делимое; M„ = r

mod q — делитель;

M. = /• „ mod q — частное;

M. =

r„, mod q — остаток от

деления M t на М 2.

 

 

 

 

 

 

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

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

126


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

В случае несравненна остатков фиксируется ошибка. Различают два вида контроля по модулю: числовой

нцифровой. При числовом контроле остатки получаются

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

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

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

Остановимся на выборе величины модуля и способах формирования остатков более подробно. Одним из спо­ собов получения остатка является выполнение операции деления контролируемого числа или суммы его цифр на выбранный модуль. Молено получить остаток, не приме­ няя операции деления. Для пояснения этого запишем «-разрядное число М в р-й системе счисления:

А4=

Ьп _ 1р п ' 1 -ф-Ьп _«рп ~ ~ -\- ...- р ö,p — b0=

2 Ь і р { , (3-12)

 

 

 

; = о

где

bj — цифры в і-м

разряде числа М,

принимающие

значения от 0 до р—1.

 

 

Рассмотрим три -возможных случая выбора модуля (q<p, q= p и q>p) применительно к двоичной системе счисления.

При q<p модуль получается равным единице. Оста­ ток от деления контролируемого числа в этом случае всегда будет равен самому числу. Поэтому рассматри­

вать случай q<p применительно к двоичной

системе

счисления не имеет смысла.

 

При числовом контроле по модулю q = p

получить

значительный эффект так же невозможно, так как в этом случае контролироваться будет только последний разряд числа. Все сбои в старших разрядах числа выявляться не будут. Убедиться в этом нетрудно, взглянув на выра­ жение (3-12). Все члены этого выражения будут кратны модулю q, кроме последнего слагаемого (і= 0 ).

127


При цифровом контроле по модулю q = p = 2 можно обнаруживать одиночные и групповые с нечетной крат­ ностью (3; 5 и т. д.) ошибки. Такой вид контроля полу­ чил широкое распространение в ЭЦВМ. Он именуется контролем по четности и был рассмотрен нами выше.

При q>p можно записать: p = qу, где у — целое положительное число.

•Подставляя значение/?в выражение (3-12), получаем:

 

т і (д-чу.

 

(3-13)

 

1=0

 

 

 

 

Для

произвольной степени

і

разность q—у

.может

быть записана так:

 

 

 

 

 

(<7-Т)г' = <7г' -

“7г'" Ч + -

+

 

+

q t - 'l ' +

.'. +

i - m * -

(3-14)

Из выражения (3-14) следует, что все члены его, кро­ ме последнего, кратны q, поэтому остаток от деления числа М на модуль q будет иметь вид:

 

(— 1)г'/ПіТМПОСІ(р+ Т).

(3-15)

В двоичной

г=о

 

 

системе счисления модуль q обычно вы­

бирают равным 3 или 7.

 

Для <7=3 выражение (3-15) запишется:

 

 

П—1

 

 

Гт = 2, (— 1)г'/ЛгПЮСІ 3.

(3-16)

<=О

Из выражения (3-16) следует, что для нахождения остатка от деления двоичного числа М на модуль 3 необ­ ходимо просуммировать цифры разрядов числа М с уче­ том знаков четных и нечетных разрядов.

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

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

138


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

Необходимость циклического переноса можно пояс­ нить следующим образом. Если при суммировании по mod 11 на двухразрядном сумматоре не учитывать еди­ ницу переноса в третий несуществующий разряд (напри­ мер, при сложении чисел 11 и 01), то мы будем терять число 100— 1 modll. Циклический перенос компенсиру­ ет потерю числа 100 прибавлением единицы в младший разряд сумматора. Аналогично поясняется необходи­ мость циклического переноса при суммировании с по­ мощью трехразрядного сумматора.

Для сравнения эффективности числового контроля по модулю 3 и 7 в табл. 3-6 приведены значения вероятности обнаружения одиночных, двойных и тройных ошибок для 40-разрядной параллельной контролируемой кодовой комбинации. Данные в табл. 3-6 определены иа основа­ нии расчетов [Л. 43], полученных при условии, что метод воплощен в идеально падежной схеме, т. е. вероятность неправильной работы самой контрольной аппаратуры не учитывается.

Как видно из табл. 3-6 эффективность контроля по модулю 7 превышает эффективность контроля по моду­ лю 3. Это достигается за счет введения дополнительной

избыточности: при контроле

по модулю

3 требуются

 

 

Т а б л и ц а 3-6

 

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

 

4 0 -разрядной параллельной кодовой

Вид ошибок

комбинации

при контроле по

прп контроле по

 

 

модулю 3

модулю 7

Одиночные

1

1

Двойные

0,5

0,84

Тройные

0,75

0,86

Количество дополнительных разря-

2

3

дов для представления контроль­

 

 

ного кода

 

 

9— 180

 

129