Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.pdf

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

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

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

Добавлен: 19.10.2024

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

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

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

два порождающих модуля Ау и А2. Для выбранных зна­ чений Ai и А2 в табл. 5-2 находят порядки ei и е2 и вы­ числяют значение k в соответствии с теоремой 5-3. Иног­ да может оказаться полезной обратная последователь­ ность действий: исходя из требуемого значения /г подби­ рают значения е( и е2, для которых находят возможные значения модулей Ау и А2.

Например,

если е,=5 , е 2 = 6 ,

то система (5-12) не имеет

решения,

так как е( =5—нечетное

число, и & ^ { 5 , 6] = 30 разрядов. Из табл. 5-2

определяем значения порождающих модулей

А\=3\,

Л 2 = 9

. Для за­

писи вычетов

по этим

модулям

требуется

/•] = 5

и г 2 = 4

разрядов

соответственно.

Таким

образом,

параметры

неукороченного кода,

порождаемого

модулями

Л i = 3 1

и Л 2 = 9 , таковы: £ =30, « = 3 0 + 5 +

+4 = 3 9 разрядов.

Втабл. 5-6 представлены коды с максимальным зна­ чением k при заданном значении количества контроль­

ных разрядов

r = r i + r2 ,

найденные

методом

перебора

 

 

 

Т а б л и ц а 5-6

Количество

Количество

Значение модулей

Значение

 

 

контрольных

информацион­

 

 

отношения

разрядов

ных разрядов

 

Ai

k

г=г,+г7=п—k

k

 

п

 

 

 

 

6

12 •

3

13

0,67

 

 

5

7

 

7

30

7

11

0,81

8

84

7

29

0,91

9

174

7

59

0,95

10

300

11

61

0,97

Ю. Г. Дадаевым [Л. 13]. Если требуемое значение k на­ ходится в пределах 6 0 ^ £ > 3 1 , то практически более це­ лесообразно использовать укороченный (68, 60)-код, по­ рождаемый Ai=l\, Л г = 1 3 , так как он проще реализует­ ся, чем укороченный (92, 84)-код.

5-3. СХЕМЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ АРИФМЕТИЧЕСКИХ КОДОВ

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


аппаратурная реализация кода методами, которые рас­ смотрены в данном параграфе.

Структура миоготактных кодирующих и декодирую­

щих устройств для арифметических кодов

аналогична

структуре этих устройств для циклических

кодов (§ 3-3)

[Л. 42]. Отличие заключается в том, что вместо

суммато­

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

(комби­

национные) сумматоры с запоминанием переноса. Пусть двоичное представление модуля А имеет вид:

A = a o + a i - 2 + . . . + ar-2r.

Тогда для кодирования, т. е. умножения числа N на модуль А, можно использовать схемы, показанные на рис. 5-2. Разряды множимого N поступают иа вход схемы

Рис. 5-2. Две эквивалентные

многотактные схемы последова­

тельного умножения произвольного двоичного числа N на чис­

 

 

ло A=ao+at

-2+

... +ат • 2Т.

 

последовательно, начиная

с младших. На выходе после­

довательно получаем

разряды

произведения,

начиная

с младших.

 

 

 

 

 

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

ного

числа

L = ( / n _ i ,

l N - 2 ,

lu /о) на число

А=(аг,

a r - i ,

..., а0),

представляя эти числа в полиноминальной

форме

 

 

 

 

 

 

L(X)

= / o + / i X +

. . . + l n

- z X n - 2 + l n - l X n - U ,

 

 

 

А(х) = a u + a i X + . . . +а т х г .

 

141


Будем предполагать, что число А делит число L , т. е.

L(x) =A(x)<N(x) =

= a0N(x)

+di\'N (x)+

...

... +

агхгЫ(х,),

 

где N(x) —частное. Так как арифметические коды по­ рождаются модулями А, ко­ торые являются нечетными числами, то ао=1 и из по­ следнего равенства полу­ чаем:

N(x)

=zL(x)

— (cti + a2x + ...

... +arxr-t)xN(x).

(5-17)

Схема

многотактного

устройства

деления

на чис­

ло А,

реализующего

выра­

жение (5-17), показана на рис. 5-3. Оператору х* соот­ ветствует задержка на i так­ тов, при этом вес двоичных символов на входе и выходе

устройства в /-м

такте ра­

вен 2'. Операция

вычитания

в устройстве деления

выпол­

няется сложением

умень­

шаемого с дополнительным кодом вычитаемого. Получе­ ние дополнительного кода осуществляется с помощью схемы, обведенной пункти­ ром на рис. 5-3. Входная пе­ ременная у и выходная пе­ ременная z данной схемы связаны соотношением

z=y + 2z,

где с помощью коэффициен­

та 2 учитывается з а д е р ж к а

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

z=—y.

Рассматриваемая схема деления имеет два устойчи­ вых эквивалентных состояния: 1) содержимое всех за­

поминающих ячеек D (в том числе запоминающих

ячеек

в цепи обратной связи сумматоров) равно 0; 2)

содер­

жимое нулевой запоминающей ячейки и ячейки в цепи

обратной связи нулевого сумматора (с выхода л)

равно

1, а содержимое остальных ячеек D равно 0. Эти

состоя­

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

Делимое L=(ln-t, • •., к, к) поступает на вход устрой­ ства деления последовательно, начиная с младших раз­ рядов. Устройство вычисляет разряды частного также последовательно, начиная с младших разрядов. Если де­ лимое L делится без остатка на число А, то после п так­ тов работы устройство будет находиться в одном из ну­ левых состояний.

Например, модуль Л = 19 порождает арифметический код длиной /1=9 двоичных разрядов (см. табл. 5-3). Число А в двоичной системе счисления имеет вид:

Л = ( а 4 , а3 ,

«2, fli, а0 )

= 10011.

Схема устройства деления

на модуль

Л = 19 показана на рис. 5-4.

Непосредственным вычислением последовательных состояний устрой­

ства можно убедиться,

что при

поступлении

на

вход числа L = 5 7 =

= 111001

(младшими

разрядами

вперед)

на

выходе

будет

получен

к о д . . . 0 0 0 1 1 , т. е. 3,

и

на восьмом такте

устройство

переходит в ну­

левое состояние.

 

 

 

 

 

 

 

 

Если

входное

/г-разрядное слово содержит

ошибку,

т. е. не делится на

модуль А, то устройство деления не

вернется в нулевое состояние. На основании

анализа

последовательных

 

состояний устройства

можно

испра^

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

Прежде чем рассматривать более общий случай пред­ положим, что ошибка Е=1, т. е. ошибка возникла в млад-

143


D

Выход

ШШпс

Рис. 5-4. Схема деления на порождающий модуль Л = 19.

шем разряде. Пусть е — порядок класса вычетов 2 по нечетному модулю А, тогда имеет место равенство

2е— \=АС,

(5-18)

где С — целое нечетное число; отсюда 1/Л = С/(2е —1).

Правую часть данного равенства можно рассматри­ вать как сумму бесконечной убывающей геометрической прогрессии, первый член которой равен С/2е, а знамена­ тель прогрессии 1/2е, т. е.

1/Д = С / 2 в + С / 2 2 е + С / 2 3 в + ....

(5-19)

Из правой части 'последнего равенства следует из­ вестный из теории чисел результат, что двоичное пред­ ставление частного 1/Л, где Л — нечетное число, имеет вид бесконечной периодической последовательности с пе­ риодом, равным порядку класса вычетов 2 по модулю А.

Первые е двоичные разряды после запятой двоично­ го представления частного 1/Л называются основным пе­ риодом. Этот период равен:

 

С = (2в~

1)/Л =

00^Л) c._r _1 ce _r _,...c1 c0 ,

(5-20)

 

 

г

нулей

 

где

Ci — значения цифр

двоичного представления

числа

С;

г степень

полинома

Л(х), соответствующего

моду­

лю

А.

 

 

 

 

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

ность из г нулей, так как предположение о наличии г нулей подряд в двоичном представлении числа С = = (ce _r _i, .. . , сь с0 ) противоречит условию, что е равно порядку 2.

144


Если е нечешие число, то рассмотренным исчерпы­ ваются характеристики структуры каждого периода дво­ ичного .представления числа 1/Л.

Например,

пусть /4=23, из табл. 5-2

находим,

что е = 1 1 . Тогда

С = ( 2 ° — 1)/Л=2047/23=89=101Ю01 и из выражения

(5-19) получаем,

что

 

 

 

1/23 =

1/10111 = 0,00001011001

00001011001 ...

основной период

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

Если же модуль А — простое нечетное число, а е — четное число, то основной период имеет дополнительные свойства, которые заключаются в следующем. Запишем выражение (5-18) в виде

С=(2 е — 1)/Л

или

 

 

 

 

 

 

 

С = (2е/2—1) (2*/2 +1)/Л.

(5-21)

В рассматриваемом случае (см. доказательство тео­

ремы 5-2) 2 е / 2 = — 1 по модулю Л, поэтому

 

 

 

(2е /2 +1)/Л =

#,

 

где Я —целое

число. Выражение

(5-21)

запишем сле­

дующим

образом:

 

 

 

С = (2е /2 —1)Я или С = 2е /2 (Я—1) + (2е /2 —Я).

Последнее

выражение

запишем в виде

 

 

 

C=2elzF+F,

 

(5-22)

где

 

_

 

 

 

F = H-l

=

-\,F

= V*-H

=

tf*-??£-.

Полученное выражение (5-22) описывает структуру

основного

периода, если 2 е / 2 = — 1

по модулю Л. В дан­

ном случае основной период состоит из двух частей дли­ ной е/2 разрядов каждая. Первая часть, которой соот­ ветствует число F, занимает е/2 старших разрядов пе­ риода (потому что перед числом F стоит коэффициент 2е / 2 ). Вторая часть, которой соответствует число F, зани­ мает е/2 младших разрядов периода; причем двоичное представление числа F равно обратному коду двоичного

10—236

145