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

книги из ГПНТБ / Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования

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

зывают слоем. Исправление ошибок, возникающих из-за неисправностей в логических элементах, происходит .бла­ годаря специальной организации связей между элемен­ тами слоев. Предполагается, что неисправности элемен­ тов порождают ошибки двух типов: «ложная единица» и «лож-ный нуль».

Например, пусть некоторая логическая переменная представлена двумя сигналами: Xi и Хг, поступающими

!=Е—"

а)

3

0 -

Уг

Уз-

0

Рис. 1-6. Введение избыточности по методу учетверения.

а — неизбыточная схема, сумматора по м о д у л ю 2; б — избыточный ва­

риант сумматора.

20

на элемент

И — НЕ. Данный элемент

реализует

функ­

цию y=XiXz,

если один из сигналов

содержит

ошибку

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

ки в следующем

слое.

 

 

На рис. 1-6

приведен пример введения

избыточности

в схему сумматора

по модулю

2 по методу учетверешш,

если используются

логические

элементы

И — НЕ (эле­

менты Шеффера). На данной схеме можно вит,еть чере­ дование соединений от слоя к слою, обеспечивающее не­ чувствительность схемы к неисправностям в логических элементах.

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

Оснобная

Основная

схема

 

схема

 

 

КУ

 

Дополни­

 

тельная

 

 

схема

а)

 

6)

Рис. 1-7. Введение избыточности по

методу избыточного кодиро­

 

вания.

 

а — основная схема;

б — структурная

схема избыточного варианта.

применения восстанавливающих элементов. Однако на­

грузка по входу и выходу на логические элементы зна­

чительно

увеличивается. Количество

аппаратуры увели­

чивается

в 4 раза. Быстродействие

схемы практически

не изменяется с введением избыточности.

Постоянное резервирование комплектующих деталей

в логических члрментах применяется в тех случаях, ког­ да наблюдается существенная асимметрия в характере-

21

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

Избыточное кодирование. Избыточное кодирование основано на увеличении количества разрядов, необходи­ мых для представления информации. Однако при этом появляется возможность обнаруживать и исправлять ошибки, возникающие в процессе передачи, хранения и переработки информации. Идея использования избыточ­ ного кодирования иллюстрируется структурной схемой, показанной на рис. 1-7. Исходная схема содержит к вы­ ходов, называемых •информационными. Дополнительная схема, содержащая г выходов, синтезируется таким об­ разом, чтобы при любом наборе входных сигналов сово­ купность кз n = k + r сигналов на выходах основной и дополнительной схем соответствовала некоторому кор­ ректирующему коду, который позволяет исправить наи­ более вероятные ошибки. Ошибки, возникающие в основ­ ной и дополнительной схемах из-за неисправностей их элементов, исправляются корректирующим устройством (КУ).

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

параметры

связаны соотношением /г = 2г—1г, где г —

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

разрядов. Например, если г = 4 ,

то k~ 11, n = k + r= 15.

 

 

 

Однако

избыточность кода

(значение

отношения

к/п)—не

единственный

и даже

не главный

показатель,

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

ратуры

на реализацию КУ. Поэтому во многих случаях

вместо

кода с минимальной избыточностью выбирают

код с

большей избыточностью, но позволяющий более

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

22

Наличие КУ несколько уменьшает быстродействие избыточной схемы по сравнению с неизбыточной.

В настоящее время для борьбы с ошибками широко применяется контроль работы цифровых систем. Для осуществления контроля используется временная или аппаратурная избыточность. Временная избыточность проявляется в виде имеющегося в цифровой системе за­ паса по быстродействию. Например, если исходя из конкретных' требований задача должна быть решена за время tit а на 'решение задачи при отсутствии ошибок машина тратит время fa, то при fa<li время t = t21\ может быть использовано для проведения контроля. Од­ нако для обнаружения ошибок требуется значительно меньшая избыточность, чем для их исправления.

Существуют аппаратные (схемные) и программные методы контроля. Аппаратные методы основаны на использовании специальных схем, с помощью которых

производится

контроль логических

сигналов

на выходах

 

1

 

 

 

 

Оснод- 2

Осноб-

 

ная.

 

'

ная

 

 

схема

к

схема

 

 

 

 

 

 

 

а)

 

 

 

1

 

 

 

Дополнил

 

 

 

тельнащ

 

 

 

схема

 

 

 

 

 

6)

СК

Ошибка

 

 

 

 

Рис.

1-8. Введение избыточности для контроля.

а — основная

схема:

б — структурная

схема

избыточного

варианта;

 

 

СК — схема контроля.

 

контролируемых устройств. Обнаружение ошибок осно­ вано на использовании естественной или искусственно вводимой избыточности. Рассмотрим некоторое устройст­ во, содержащее k выходов (рис. 1-8,а). Пусть в соответ­ ствии с реализуемым алгоритмом на выходах устройства может быть получено любое из 2Л слов. В этом случае любая ошибка переводит одно слово в другое, и так как любое слово является допустимым (разрешенным), то

23

факт возникновения ошибки обнаружить невозможно. Для обнаружения ошибок множество различных выход­ ных слов должно быть разбито на два непересекающих­ ся подмножества: 1) подмножество «разрешенных» слов, 2) подмножество «запрещенных» слов. При этом указан­ ное разбиение должно производиться таким образом, чтобы наиболее вероятные ошибки, порождаемые внутри­ схемными неисправностями, вызывали появление запре­ щенных слов на выходе. Таким образом, для обнаруже­ ния ошибок приходится вводить избыточность, увеличи­ вая количество выходов в контролируемом устройстве.

Для введения избыточности в настоящее время широ­ ко используются кодовые методы. На рис. 1-8,6 показана структурная схема устройства с контролем, в котором используется корректирующий код, содержащий г кон­ трольных (избыточных) разрядов. При обнаружении за­ прещенного слова схема контроля вырабатывает сигнал «ошибка».

В некоторых случаях можно использовать естествен­ ную избыточность. Например, 'в дешифраторе должна возбуждаться только одна выходная шина. Если возбу­ дится две или более шин, то схема контроля вырабаты­ вает сигнал ошибки. Более подробно этот вопрос рассма­ тривается в 'Гл. 7.

Согласно опубликованным данным аппаратные мето­ ды контроля приводят к увеличению количества аппара­ туры до 20%. Данные методы позволяют осуществлять так называемый оперативный контроль. Если речь идет о ЦВМ, то оперативный контроль осуществляется непо­ средственно в процессе решения задачи или управления объектом. Аппаратные методы позволяют обнаруживать систематические и случайные ошибки практически в мо­ мент их возникновения, что упрощает локализацию и исправление возникшей ошибки.

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

двойной счет, •повторный счет по «усеченному» алгоритму;

решение специальных задач с заранее известными от­ ветами (экспресс-тесты; контролирующие программы).

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

24

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

В современных сложных системах эффективно решить задачу'контроля с помощью только аппаратных или толь­ ко программных методов не удается. Поэтому в настоя­ щее время, как правило, используется аппаратно-про­ граммная система контроля, которая синтезируется с учетом преимуществ и недостатков -каждого из методов контроля.

Заканчивая краткое рассмотрение методов борьбы

сошибками в цифровых системах, следует отметить, что

воснове большинства из них лежит метод избыточного кодирования. В данной книге понятие «избыточное коди­ рование» трактуется широко, а именно: избыточным кодированием называется любой метод разбиения мно­ жества возможных выходных слов на непустые подмно­ жества, каждое из которых характеризуется некоторым словом из данного подмножества («представителем»). Разрешенными словами являются «представители» иодмножеств. При отсутствии ошибок на выходе схемы или системы передачи данных будут присутствовать только разрешенные слова. Получение запрещенного слова сви­ детельствует о возникновении ошибки. Естественно, те ошибки, которые трансформируют одно разрешенное слово в другое, не обнаруживаются.

Если рассматриваемые подмножества не пересекают­ ся, то процесс исправления ошибки сводится к генериро­ ванию «представителя» того подмножества, к которому относится рассматриваемое (запрещенное) слово. Таким образом, исправление будет выполнено правильно, если возникшая ошибка не «перевела» разрешенное слово

вкакое-либо запрещенное слово другого подмножества.

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

одновременно

нескольким

подмножествам

(такое сло­

во, разумеется,

не может

быть выбрано в

качестве пред­

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

25

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

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

представителей — кодовыми словами.

 

Для иллюстрации сказанного

рассмотрим

известный

и широко используемый метод

контроля по

принципу

«нечет». С изложенной выше точки зрения этот метод может быть интерпретирован следующим образом. Мно­ жество /г-разрядных слов разбивается на 2| 1 ~1 .пересекаю­

щихся непустых подмножеств каждое мощностью

2"'- 1 , '

в качестве представителей которых выбраны 2 " - 1

слов,

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

Покажем, что с рассматриваемой точки зрения мажо­ ритарный метод введения избыточности является част­ ным случаем избыточного кодирования для класса .неиз­ быточных схем, содержащих только один выход у9, зна­ чение которого может равняться 0 или 1. Для того чтобы исправить ошибку, которая может возникнуть иа выходе г/о, утроим количество схем, вычисляющих значение уо- Таким образом, избыточная система содержит три вы­ хода: t/o, Уи Уъ причем при отсутствии ошибок мы будем получать либо слово 111, либо ООО. Эти слова являются кодовыми, а все множество выходных слов разбивается на следующие два непересекающиеся подмножества:

111 представители подмножеств ООО

Мажоритарный метод является тривиальным методом кодирования для случая /г=1, но если количество выхо­ дов в устройстве превышает 3, то задача формирования

26

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

Введем в рассмотрение важнейшую характеристику кода — минимальное кодовое расстояние. Минимальным кодовым расстоянием называется число

d=mmd(Xh

Xj) при 1Ф], i, /=1,2 , ..., 2'',

где Xi, Xj — кодовые

слова.

Для обнаружения любой ошибки кратности х или менее .необходимо и достаточно, чтобы минимальное рас­ стояние кода 'было хотя бы на единицу больше чем х:

dp>x+l.

Для исправления любой ошибки кратности х или менее должно выполняться неравенство

d > 2 x + l .

Получим соотношение, связывающее между собой значения k, n = k + r и d, если требуется исправлять сим­ метричные независимые ошибки. Каждое из подмно­ жеств, на которые разбивается исходное множество, представляет собой сферу (в /г-мерном пространстве), центром которой является кодовое слово. Потребуем, чтобы все сферы имели одинаковый радиус R (R может принимать только целые неотрицательные значения). Тогда максимальное значение радиуса сферы (/?M ai;c). которое можно получить исходя из принципа «плотной упаковки» сфер (любой элемент исходного множества может принадлежать только одной из сфер), следует из неравенства

2* Ё 0 ) < 2 " и л и

S (" ) < 2 * ~ к

| = Э

1 = 0

Первый сомножитель в первом неравенстве есть коли­

чество сфер,

а второй — число

элементов внутри сферы.

Полученное

соотношение соответствует 'Эквидистантному

коду, у которого расстояния между любой

парой кодо­

вых слов равны d = 2RwaKC+\

(#макс находится

численна

из последнего неравенства).

 

 

 

 

В тех случаях, когда ошибки

являются

асимметрич­

ными, целесообразно отказаться

от требования

постояи-

27

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

В некоторых работах говорится о специфике борьбы с ошибками в управляющей и числовой информации к делается вывод о том, что кодовую избыточность целе­ сообразно использовать только для защиты числовой ин­ формации [Л. 28]. С нашей точки зрения не следует про­ тивопоставлять числовую и управляющую информацию, так как ЦВМ различает тип информации не по ее каким-

либо специфическим

особенностям,

а по тому, ъ

какое

устройство

поступает

информация.

Например,

слово,

считанное

из ОЗУ и

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

будет

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

Г л а в а в т о р а я

НЕКОТОРЫЕ КЛАССЫ КОРРЕКТИРУЮЩИХ КОДОВ И ИХ РЕАЛИЗАЦИЯ

2-1. АЛГЕБРАИЧЕСКИЕ МЕТОДЫ ОПИСАНИЯ КОДОВ

Множество л-разрядных двоичных слов, для которых

следующим образом определена операция

суммирования:

X+Y= (Xi + ljl, Xz+ljz,

Хп +

Уп),

где Xi+yi — сумма по модулю 2, образует абелеву (ком­ мутативную) группу (см. приложение 1). Если кроме операции суммирования ввести операцию умножения на скаляр а из поля 5- (в нашем случае поле & состоит из двух элементов: 0 и 1)

аХ = (ахи а х 2 , . . . , ахп),

то получим векторное (линейное) пространство Vn, эле­ менты которого называются векторами.

28

В теории линейных пространств важную роль играет понятие линейной зависимости. Совокупность векторов

Xi, Xz, ..., Хт

называется линейно зависимой, если'мож-

но подобрать

такие скаляры а\, аг, ..., а,п

(среди кото­

рых по меньшей мере один отличен от нуля), что

а Д , - f - а.2Х2 +..• + лтХт

= £ агХг - = 0.

 

 

i=i

 

Если это

равенство возможно

только в

том случае,

когда все aj = 0, то совокупность векторов называется ли­ нейно независимой.

 

Базисом пространства Vn называют

такую

конечною

линейно независимую

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

векторов

Yit

Y%, ...

..., Ym,

через

которую

линейно выражается

любой

век­

тор

X<=Vn:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X =

J] OfYi,

 

 

~~~

 

 

 

 

 

 

 

 

 

 

 

 

i=l

 

 

 

 

 

 

 

 

 

где

а,- — скаляры.

Число

векторов,

образующих

базчс

векторного

пространства

Vn,

называется

размерностью

пространства.

 

 

 

 

 

 

 

 

 

 

 

 

 

3-

Если векторные

пространства

У

и f

над полем

имеют

одну и ту же размерность, то они изоморфны. Мож­

но показать, что любая квадратная

невырожденная

ма­

трица

T = | | t i j | |

порядка

m

с элементами

из

 

поля

3J

может

служить

матрицей

.перехода

от

одного

 

базиса

к другом .базису пространства

 

 

 

 

 

 

 

 

 

 

 

 

(Xi'

^ 2 >

• • • ' Ущ) Т= =

(2|I

Z2> ••• 1 Zm)'

 

 

 

 

Назовем

L

подпространством

пространства

 

V, если

подмножество L образует линейное пространство над по­

лем

3*

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

операций,

которые

опреде­

лены в

V.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обратимся теперь к описанию векторных простраистн с помощью матриц. Базисные векторы могут рассматри­ ваться как строки ма грицы

Уг

0 =

29

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