книги из ГПНТБ / Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования
.pdfЯ. А. ХЕТАГУРОВ, Ю. П. РУДНЕВ
ПОВЫШЕНИЕ НАДЕЖНОСТИ ЦИФРОВЫХ УСТРОЙСТВ МЕТОДАМИ
ИЗБЫТОЧНОГО КОДИРОВАНИЯ
Ш
fed
«Э Н Е Р Г И Я»
М О С К ВА 1974
6Ф7.3 X 41
УДК 681.32
I |
Г о с . п у б л и ч н а я |
|
I |
н а у ч н о - . о |
о с к а л |
I |
б и б л и о т е к а С C P |
|
{ |
4l-sT..:5->UOrQ ЗАЛА |
.10 v-i S
Хетагуров Я. А. и Руднев Ю. П.
X 41 Повышение надежности цифровых устройств ме тодами избыточного кодирования. М., «Энергия». 1974.
272 с. |
с ил. |
|
|
|
|
|
|
||
В |
книге |
рассматриваются характеристики |
ошибок |
и |
методы борь |
||||
бы с |
ними |
в |
цифровых |
устройствах п |
каналах передачи |
данных. |
|||
Излагаются |
основы теории |
избыточного |
кодирования |
и |
реализации |
||||
корректирующих |
кодов, предназначенных |
для |
обнаружения |
и исправ |
ления ошибок (независимых однократных и многократных, коррели рованных, с заданной конфигурацией и т. д . ) . Описываются методы применения избыточного кодирования в цифровых устройствах. При водится методика оценки надежности устройств при использовании
корректирующих |
кодов. |
|
|
|
|
Книга предназначена для |
специалистов, занимающихся |
повыше |
|
нием надежности |
проектируемых |
ЦВМ и средств цифровой автоматики. |
||
y |
30502-256 |
|
|
|
Х |
051(01)-74 |
1 7 , - ? 3 |
6 |
Ф ™ |
© Издательство «Энергия», 1974.
ПРЕДИСЛОВИЕ
Основные методы (повышения надежности цифровых устройств — применение более надежных деталей, их предварительная тренировка, оптимальное (в смысле на дежности) построение схем и выбор режимов их работы, усовершенствование технологии изготовления и конст рукции элементов и устройств, 'применение интегральной технологии — не позволяют решить задачу получения требуемой надежности из-за сложности и ответственности современных систем. Поэтому в настоящее время разра батываются и практически используются различные ме тоды введения избыточности (резервирование, мажори тарный принцип, избыточное кодирование информации и т. п.), позволяющие синтезировать устройства, в кото рых с высокой 'вероятностью автоматически обнаружива ются возникающие ошибки. Исправление ошибок «произ водится также автоматически аппаратными и программ ными средствами или включением резервной аппаратуры.
По зарубежным данным пока только 5% 'всех экс плуатируемых ЦВМ снабжены оборудованием для пере
дачи цифровой информации. Однако ожидается, |
что |
|
к 1973 г. эта величина поднимется до 60%, |
а к 1980 |
г. |
достигнет 80% {Л. 1]. При обмене данными |
между ЦВМ |
|
с помощью линий связи требуется, чтобы |
вероятность |
ошибки, приведенная к двоичному символу, не превыша ла Ю- 1 0 —10~1 2 . Например, в коммуникационной сети NASA -в результате принятых мер получена вероятность ошибки Ю - 1 2 . В то же время в реальных телефонных ка налах вероятность ошибочного приема двоичного симво ла имеет порядок Ю - 4 — 10 _ 3 . Отсюда следует необходи мость существенного улучшения достоверности передачи информации при одновременном увеличении объемов передаваемой имформации.
Задачи повышения надежности цифровых устройств обработки и передачи информации обусловили значи тельный интерес специалистов к методам избыточного
3
кодирования. В результате .широких исследований в об ласти теории кодирования равработан ряд конструктив ных методов синтеза корректирующих кодов, имеющих
практическую |
ценность. Простейшие корректирующие |
|
коды широко |
применяются в цифровых устройствах. |
|
В последнее |
время начинают использоваться и |
более |
мощные но своим корректирующим способностям |
коды. |
Так, в подавляющем большинстве современных ЦВМ общего и специального назначения применяется код с не четным количеством единиц для контроля хранения и передачи информации. Для .контроля работы арифмети ческих устройств (АУ) и адресных трактов оперативных запоминающих устройств (ОЗУ) в 'ряде случаев приме няются простейшие арифметические коды, порождаемые одним модулем. Для обнаружения двойной ошибки и исправления одиночной в ОЗУ машины Stretch применен код Хэмминга длиной 72 разряда, из которых 8 являют ся контрольными [Л. 2]. Для тех же целей в отечествен ной управляющей машине общепромышленного назначе ния типа ВНИИЭМ-3 используется код длиной 30 раз рядов, из которых 24 являются информационными. В основном ЗУ новой серии машин фирмы IBM (модели 370/155 и 370/165) имеются аппаратные средства для исправления всех одиночных ошибок, обнаружения всех двойных и большинства многократных [Л. 3].
Корректирующие коды применяются для построения надежных коммутаторов больших токов с управлением от относительно маломощных источников, для защиты информации в ЗУ на магнитных лентах и дисках [Л. 4—6].
Обеспечение требуемой достоверности при передаче цифровой информации но каналам связи невозможно без применения избыточного кодирования. Для этой цели в основном применяется два типа корректирующих ко дов— циклические и итеративные с проверкой количест
ва единиц |
на четность |
(нечетность). |
Международный |
|
консультативный комитет по |
телефонии |
и телеграфии |
||
(МККТТ) |
рекомендует |
при |
передаче |
информации по |
телефонным каналам со скоростью 600 и 1 200 бод при
менять |
циклический |
код, |
порождаемый полиномом |
xi6+xa+x5+l |
[Л. 7]. |
|
|
По теории корректирующих кодов издан ряд работ |
|||
отечественных и зарубежных |
авторов, из которых следу |
||
ет в первую очередь |
отметить работы [Л. 8—13]. Основ- |
4
ное 'внимание в этих монографиях уделяется алгебраи ческим методам построения корректирующих кодов. Однако глубокое изложение теории не сопровождается оценками эффективности применения корректирующих кодов 'в цифровых системах.
Кроме того, имеется несколько монографий, посвя щенных контролю ЦВМ € помощью .помехоустойчивого
кодирования (Л. 14—16]. В этих работах |
рассматривается |
||||
контроль .по модулю с учетом |
специфики |
его |
реализации |
||
в ЦВМ. |
Вопросы введения |
избыточности |
в |
конечные |
|
автоматы |
с оценкой надежности рассмотрены |
в книге |
(Л. 17]. Наконец, следует упомянуть книгу {Л. 18], в ко торой излагаются методы аппаратного контроля ЦВМ.
Однако до настоящего времени отсутствует обстоя тельная работа по применению избыточного кодирования в цифровой технике, в которой были бы изложены с единых позиций основные методы, избыточного кодиро вания информации, используемые в технике цифровых вычислительных устройств (что позволит использовать ее в качестве справочного пособия); рассмотрены способы применения избыточного кодирования с учетом струк турных и логических особенностей цифровых устройств, а также приведены оценки реально получаемого эффек та (повышения надежности) при применении корректи рующих кодов.
В предлагаемой читателям книге сделана попытка удовлетворить указанным требованиям. При этом пред полагается, что читатель знаком с основами вычисли тельной техники и теории надежности. Учитывая инже нерный характер данной книги, авторы иногда опускают доказательства. Однако, когда это имеет принципиаль ное значение для понимания существа вопроса, доказа тельства приводятся. В книге отсутствуют сведения по корректирующим кодам в системе остаточных классов, которые можно найти в монографии Акушского И. Я. и Юдицкого Д. И. Машинная арифметика в остаточных классах. М., «Советское радио», 1968.
В гл. 1 .рассматриваются характеристики ошибок в цифровых устройствах и каналах передачи данных. Вводятся понятия кратности ошибки, метрического про странства, расстояния и др. Рассматривается связь меж ду неисправностями и ошибками. Приводятся некоторые данные по статистике ошибок в цифровых устройствах и при передаче данных по каналам связи. Далее излага-
5
ются основные методы борьбы с ошибками — синтез из быточных схем, 'нечувствительных к определенному коли честву .неисправностей, и синтез системы обнаружения ошибок. Обсуждается роль избыточного кодирования как одного из методов .борьбы с ошибками.
Гл. 2 посвящена алгебраическим 'методам синтеза некоторых классов линейных групповых кодов: Хэмми-п- га, низкоплотиостных, Рида — Маллера, а также кодов, исправляющих ошибки заданного вида.
Циклические коды и их реализация с помощью линей ных цифровых фильтров рассматриваются в гл. 3. В этой главе приводятся параметры и порождающие полиномы циклических кодов Хэмминга, Боуза — Чоудхурн — Хоквинхема, Файра относительно короткой длины, пред ставляющих наибольший практический интерес для циф ровой техники. Излагаются методы мажоритарного де кодирования, а также методы построения многоканаль ных кодирующих и декодирующих устройств.
Вгл. 4 рассмотрены коды: сверточные, итеративные,
спостоянным весом, с большим минимальным расстоя нием (получаемые с помощью, матриц Адамара).
Арифметические коды, порождаемые одним или не сколькими модулями, а также AN- и AN + В-коды рас смотрены в гл. 5. Там же приводятся алгоритмы вычис ления остатка при делении на модуль и схемы реализа ции арифметических кодов.
В гл. 6 рассматривается методика оценки надежно сти невосстанавливаемых избыточных устройств.
В заключительной главе даны примеры использова ния корректирующих кодов в комбинационных схемах, арифметических и запоминающих устройствах ЦВМ. Эти примеры позволяют проиллюстрировать возможные об ласти применения кодов, а также встречающиеся труд ности. При этом в книге не ставится задача сравнитель ной оценки рассматриваемых кодовых методов введения
избыточности |
с |
другими методами (резервированием, |
||
использованием |
мажоритарных |
органов, |
применением |
|
логики с переплетениями). Это |
самостоятельная задача, |
|||
которая может |
быть решена |
только |
применительно |
|
к конкретной ситуации. |
|
|
||
Краткое пояснение некоторых алгебраических поня |
||||
тий, которые |
используются в |
основном |
тексте, дано |
|
в приложении |
1. |
|
|
|
Г л а в а |
п е р в а я |
ХАРАКТЕРИСТИКИ ОШИБОК В ЦИФРОВЫХ СИСТЕМАХ И МЕТОДЫ БОРЬБЫ С НИМИ
1-1. ХАРАКТЕРИСТИКИ ОШИБОК В ЦИФРОВЫХ УСТРОЙСТВАХ И КАНАЛАХ ПЕРЕДАЧИ ДАННЫХ
В подавляющем большинстве современных информа ционных систем используются двоичные сигналы, т. е. сигналы, некоторые 'параметры которых (напряжение, ток, фаза и т. д.) должны принимать только два зна чения. Одному из этих значений сопоставляется символ О, а второму—1. Упорядоченное множество k двоичных символов будем называть словом длиной k символов или разрядов. Например,
Х= ( х ь хг, . • . , -V/,), где Х; = 0 или |
1, |
является словом длины k. В дальнейшем для обозначе ния слов будем использовать прописные буквы, а его символов ('разрядов) —строчные.
Обычно с целью упрощения технической реализации устройств для передачи, хранения пли обработки инфор мации используются слова фиксированной длины. Пусть имеется 'некоторый конечный автомат (схема), содержа щий k выходов. Отказы или сбои в работе логических элементов автомата будем называть внутрисхемными неисправностями или ошибками. Количество логических
элементов, неправильно реализующих свои |
функции |
|
в течение одного такта работы |
автомата, будем назы |
|
вать кратностью внутрисхемной |
неисправности |
в данный |
момент времени. Внутрисхемные неисправности порож дают ошибки на выходе автомата, т. е.
|
(У*и У*г, • • •, У*к) Ф:\Уи |
Уг, • •., |
Уи), |
|
||
где |
У* =(#*], у*г, |
• •., у*к)—выходное |
слово |
при нали |
||
чии |
внутрисхемной |
'Неисправности, |
У= (уи |
г/г, |
.. •, Ук) — |
7
выходное слово при отсутствии внутрисхемной неисправ ности.
Ошибки, |
порождаемые внутрисхемными |
неисправно |
|||||||||
стями |
типа |
отказ, называют |
систематическими ошибка |
||||||||
ми. Случайными |
.называют |
ошибки, |
порождаемые |
вну |
|||||||
трисхемными неисправностями типа сбой. |
|
|
|
||||||||
Если каждой паре слов из множества выходных слов |
|||||||||||
{У} |
поставить в |
соответствие |
неотрицательное |
число |
|||||||
d(Y, |
У*), называемое расстоянием |
между |
У и У* и удов |
||||||||
летворяющее условиям (аксиомам): |
|
|
|
|
|||||||
|
1) |
d(Y, |
У*)=0 в |
том и |
только |
в том |
случае, |
если |
|||
У = У* (аксиома |
тождества); |
|
|
|
|
|
|
||||
2) |
d(Y, |
Y*)=d(Y*, |
У) (аксиома |
симметрии); |
|
||||||
3) |
d(Y, |
Y*)+d(Y*t |
y * * ) > d ( y , |
У**) |
(аксиома |
тре |
|||||
угольника), то говорят, что в множестве |
{У} введена ме |
||||||||||
трика |
и оно называется метрическим пространством. |
||||||||||
|
В |
нашем случае |
метризация |
множества |
{У} позволя |
ет количественно измерять величину ошибки через рас
стояние d(Y, |
У*). При этом, |
если d(Y, |
Y*) — \, |
то |
будем |
||
говорить, что |
имеет место |
однократная |
ошибка, |
если |
|||
d(Y, |
У*) =2, |
то — двукратная |
и т. д. Чем больше |
крат |
|||
ность ошибки, тем сложнее ее исправить. |
|
|
|
||||
Учитывая |
различные способы |
задания |
функции |
||||
d(Y, |
У*), естественно задать ее таким |
образом, |
чтобы |
||||
кратность ошибки на выходе схемы не превышала |
крат |
кости внутрисхемной неисправности. К сожалению, удов летворить этому условию удается лишь в нескольких ча
стных случаях. В настоящее время в цифровых |
устройст |
|||||
вах используются два способа измерения расстояния. |
||||||
Расстояние по Хэммингу определяется следующим об |
||||||
разом: |
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
d(Y, У * ) = Е 1 ^ - 0 \ | . |
|
||
|
|
|
|
i=l |
|
|
При |
использовании |
двоичных |
символов |
значение |
||
d(Y, |
У'1') |
равно |
числу |
позиций, в |
которых различаются |
|
слова |
У и У*. |
Вес У, |
обозначаемый W(Y), |
определим |
как число единичных символов в У. Расстояние и вес
связаны следующим |
соотношением: |
|
d{Y, |
У * ) = Щ У + У*), |
(1-1) |
8
где |
Y+ У* = |
(y\ + y*i, |
y-i+y*2, ..., |
ул+ //*><) |
означает по |
||
разрядное суммирование 1 |
по модулю 2 слов |
У и У*. Сло |
|||||
во |
У* можно |
представить |
следующим образом: |
||||
|
|
|
|
У* = У + £ , |
|
|
|
где |
Е=(е\, |
вг, |
..., ей) |
обозначает |
ошибку, |
представляю |
щую собой слово длиной /г разрядов, содержащее еди ницы только на тех позициях, которые искажены. Учи тывая соотношение '(1-1), получаем:
d(Y, |
У*) = ' № ( У + У + £ ) = № ( £ ) , |
||
т. е. расстояние |
между |
словами У и |
У* или кратность |
ошибки равна весу ошибки. |
|
||
Изложенный |
способ |
измерения |
кратности ошибки |
удобен в том случае, когда ошибки, возникающие на
различных выходах |
схемы, |
взаимо- |
|
||
независимы. Например, рассмотрим |
f,(X) |
||||
комбинационную |
схему, |
содержа |
|||
Уi |
|||||
щую т входов -и к выходов. Для за |
|||||
|
|||||
дания алгоритма |
ее работы исполь |
|
|||
зуем систему булевых функций: |
|
||||
0i = M-Vi, Хг, |
.... |
xm)=fi(X)\ |
|
|
|
|
|
|
|
w, |
|
yh = fk(Xl, |
Xz, |
Xm)-=fk(X), |
|
|
|
||
где X=(xi, |
хг, |
Xm) |
• слова |
на |
x, |
хг |
|
входе схемы. |
|
|
|
|
Рис. 1-1. Независи |
||
Если для |
реализации |
каждой |
из |
||||
мая |
реализация систе |
||||||
функций fi(X) |
использовать отдель |
мы |
булевых функций. |
||||
ную схему, то говорят о независимой |
|
|
реализации функций. Будем считать, что в этом случае комбинационная схема состоит из k независимых кана лов (.рис. 1-1). Возникновение неисправности в одном из каналов не влияет на работу других каналов, и поэтому
1 В книге знак « + » используется для обозначения операции как арифметического сложения, так и сложения по модулю 2. В тех слу чаях, когда в одном выражении выполняются обе операции, сумми рование по модулю 2 обозначается знаком ф .
9