Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.10.2024
Просмотров: 138
Скачиваний: 0
неисправностей деталей. Например, если в диоде или транзисторе неисправность типа «обрыв» случается мно го чаще, чем «короткое замыкание», то данный элемент можно резервировать с помощью параллельного включе ния 'второго диода (транзистора). Если короткое -замы кание возникает чаще, чем обрыв, то применяется после довательное включение резерва.
Избыточное кодирование. Избыточное кодирование основано на увеличении количества разрядов, необходи мых для представления информации. Однако при этом появляется возможность обнаруживать и исправлять ошибки, возникающие в процессе передачи, хранения и переработки информации. Идея использования избыточ ного кодирования иллюстрируется структурной схемой, показанной на рис. 1-7. Исходная схема содержит к вы ходов, называемых •информационными. Дополнительная схема, содержащая г выходов, синтезируется таким об разом, чтобы при любом наборе входных сигналов сово купность кз n = k + r сигналов на выходах основной и дополнительной схем соответствовала некоторому кор ректирующему коду, который позволяет исправить наи более вероятные ошибки. Ошибки, возникающие в основ ной и дополнительной схемах из-за неисправностей их элементов, исправляются корректирующим устройством (КУ).
Важной характеристикой корректирующего кода является отношение количества информационных разря дов к к общей длине кода п. В случае кодов Хэмминга, позволяющих исправить любую одиночную ошибку, эти
параметры |
связаны соотношением /г = 2г—1—г, где г — |
|||
количество контрольных |
разрядов. Например, если г = 4 , |
|||
то k~ 11, n = k + r= 15. |
|
|
|
|
Однако |
избыточность кода |
(значение |
отношения |
|
к/п)—не |
единственный |
и даже |
не главный |
показатель, |
определяющий количество аппаратуры в избыточном устройстве, так как необходимо учитывать затраты аппа
ратуры |
на реализацию КУ. Поэтому во многих случаях |
вместо |
кода с минимальной избыточностью выбирают |
код с |
большей избыточностью, но позволяющий более |
просто выполнить декодирование информации. Суммар ные затраты аппаратуры сильно зависят от особенностей конкретной схемы и при введении избыточности данным методом могут увеличиваться в 2 и более раз по сравне нию с нензбыточным вариантом.
22
Наличие КУ несколько уменьшает быстродействие избыточной схемы по сравнению с неизбыточной.
В настоящее время для борьбы с ошибками широко применяется контроль работы цифровых систем. Для осуществления контроля используется временная или аппаратурная избыточность. Временная избыточность проявляется в виде имеющегося в цифровой системе за паса по быстродействию. Например, если исходя из конкретных' требований задача должна быть решена за время tit а на 'решение задачи при отсутствии ошибок машина тратит время fa, то при fa<li время t = t2—1\ может быть использовано для проведения контроля. Од нако для обнаружения ошибок требуется значительно меньшая избыточность, чем для их исправления.
Существуют аппаратные (схемные) и программные методы контроля. Аппаратные методы основаны на использовании специальных схем, с помощью которых
производится |
контроль логических |
сигналов |
на выходах |
||
|
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