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

книги из ГПНТБ / Основы технической эксплуатации ЭЦВМ

..pdf
Скачиваний:
4
Добавлен:
22.10.2023
Размер:
15.81 Mб
Скачать

затем 'Полученное произведение разделить на Р(х) И остаток от деления G(x)xr на Р(х) сложить по модулю 2 с произведением G(x)xr.

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

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

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

Описанная схема формирования циклического кода может быть реализована с помощью регистра с обрат­ ными связями, представляющего собой сдвигающий ре­ гистр и ряд сумматоров по модулю 2. Количество раз­ рядов сдвигающего регистра выбирается равным степени многочлена Р(х). Сумматоры в количестве, на единицу меньшем числа ненулевых членов многочлена Р{х), вклю­ чаются на входы тех разрядов регистра (начиная с ■младшего), которым соответствуют ненулевые члены многочлена Р(х).

На рис. 3-9 показана структурная схема устройства кодирования в циклическом коде для многочлена Р(х) = = х і +х+-1. Для простоты пояснения клапаны Кі и /<2 по­ казаны в виде обыкновенных выключателя и переключа­ теля. Схема работает следующим образом. К моменту начала кодирования ключ Кг находится в положении 1, а ключ Кі—в положении включено. Последовательность импульсов обыкновенного кода G(x) поступает, начинал со старшего разряда, одновременно в канал передачи и

120

на вход сумматора 1. Первые г сдвигов соответствуют умножению многочлена G(x) на' хт. За m + r тактов в схеме сдвигающего регистра с обратными связями на­ капливается г контрольных разрядов, являющихся остат­

ком от деления многочленов G(x)xr

на

Р(х). На

(m-\-1)-м такте ключ І(і устанавливается

в

положение

выключено, а ключ Кг на (т + г+ 1 )-м такте устанавли­ вается'в положение 2. За последующие г тактов с выхода старшего разряда регистра в канал передачи последова­ тельно поступят г контрольных разрядов. В результате описанной процедуры будет сформирован циклический код, соответствующий многочлену F(x).

Проиллюстрируем работу схемы на примере кодиро­ вания двоичного числа 101011001. В табл. 3-5 во втором вертикальном столбце показано потактовое поступление информации на вход сдвигающего регистра с обратными связями, а в третьем, четвертом, пятом и шестом — опе­ рации вычитания (сложения по модулю 2), происходя­ щие в регистре в процессе проведения деления.

Сравнивая циклический код, полученный для числа 101011001 в кодирующем устройстве, с многочленом 3-9, образованным путем последовательного деления много­ члена G(x)xr— xiZ+ x i0+x8+x1+x!i на Р(х) — хі + х + 1, можно сказать, что в обоих случаях получены идентич­ ные результаты.

Структурная схема (рис. 3-10), предназначенная для декодирования циклического кода с целью обнаружения и .исправления ошибок, состоит из приемного, информа­ ционного и декодирующего регистров и дешифратора коррекции одиночной ошибки. Декодирующий регистр представляет собой точно такой же сдвиговый регистр с обратными связями, который применяется в кодиру­ ющем устройстве. Это объясняется тем, что при кодиро­ вании и декодировании выполняются аналогичные опе­ рации деления многочлена G(x)xr на Р(х) в первом случае и Н(х) или Р(х) на Р(х) во втором.

На структурной схеме изображен сдвиговый регистр для многочлена Р ( х ) — х'1+ х + 1.

Работа схемы происходит следующим образом. Цик­ лический код поступает, начиная со старшего разряда, одновременно на входы приемного и декодирующего ре­ гистров. Спустя m+ r тактов приемный регистр оказыва­ ется полностью заполненным принятой кодовой комбина­ цией, За эти же m + r тактов в схеме декодирующего

. 1?!

to со

то cf

s

1=3

\o

£ а: о eg

E 2 mЧ

OS2D

C SrO V

f? s * c

üÜOc;

ëègg

C.Cs

а cs

О а

Ч w

к ~ c. —

CO£

g.f

8І.

g

О

£

sf

È о

БІНБХ

daKOH

N

X

о

о

о

fl

X ~

X о

н

X о

X'

е-

X

Х о

ія

X о

*

X —

Xо

о

о

X

ХО

о

X

о

х о

0

X

г»

X -

®

X О

ІЯ

X о

*

X —<

см

о

X

о

X —

3

X о

е

X ^

е>

Х о

0

X

с-

X

<3

X о

о

X о

X

со

 

 

то

то

 

 

 

f -

н

 

 

 

CD

СП

 

 

 

О

о

 

 

 

U

С_

 

 

 

о

о

 

 

 

то

о -

 

 

 

Оч

о

 

 

 

н

 

 

 

С

то

 

 

 

статок после па деления

статок после па деления

 

 

 

О

О

 

X о

X -

X о

ѴЯ

X

X о

С-1

 

о

 

 

X

X о

X —

X —

X о

 

о

 

Х о

 

О

X —

X

х о

о

о

се

Х О

 

X

х о

X

Х О

РХ О

X о

X

X

X

0

X -

 

 

 

г»

Х~н

 

 

X -

о

 

о

 

X о

X о

X О

 

ю

ю

Л

ІЯ

X о

х о

X О

Х о

X —

*

X —

*

X —

X — X —

rf<

ю

CD

00

If

X

X о

X о

и>

ч

о

123

16

Со

<3

-§ §.

I і о S

È га „ е(

»“ 53 I Rg& £ |* = h dо п £■6-9 § С о - §

 

Он

 

CN)

 

 

о

 

Я

Ч

 

та

 

 

 

 

 

 

О

 

 

 

о

Я

 

 

 

 

 

 

 

ч

ж2

 

 

*=С

о

 

 

 

52

 

 

f-*.

 

05 О

ж

&

 

 

о °

2 ^

 

о,—.

о

О

 

і о

 

н

 

 

та

 

 

О О

 

н

 

 

 

О

 

 

-э-~

 

О

 

 

о

 

 

 

X О

X о X —

X О X О

и

X —

X о

х о

а к

 

 

 

ою

 

 

 

К w

 

 

 

сг -

 

 

 

с. я

 

 

 

со «5

 

 

 

g.a

 

 

 

»я

 

 

 

й) £

X о

 

X О

9 а.

 

È«

 

 

 

S.O

 

 

 

 

 

 

е(

 

 

 

3

X О

X —

X —

 

C°L ЯI

*8

вінві douoH

123

регистра накапливается г контрольных разрядов, являю­ щихся остатком от деления многочлена Н(х) на Р(х). На ( т + л+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

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