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

книги из ГПНТБ / Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие

.pdf
Скачиваний:
96
Добавлен:
27.10.2023
Размер:
29.24 Mб
Скачать

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

и аппаратных средств. При

этом для

выполнения тех

или иных контрольных функций стремятся

выбрать та­

кие средства, которые обеспечивали

бы

наибольшую

производительность машины

при допустимых затратах

контрольного оборудования.

 

 

 

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

Необходимость в коррекции ошибок и диагностике неисправностей при современном уровне надежности ЦВМ возникает достаточно редко. Поэтому целесооб­ разно использовать для выполнения этих функций глав­ ным образом программные средства контроля в виде корректирующих и диагностических программ. Однако, для того чтобы эти программы не были чрезмерно слож­ ны, в современных машинах предусматриваются опре­ деленные аппаратные средства, которые предоставля­ ют в распоряжение программ необходимую информацию о характере ошибки. Основными характеристиками си- стемы-автоматического контроля правильности функци­ онирования ЦВМ являются: а) отношение количества оборудования, охваченного системой контроля к общему количеству оборудования ЦВМ; б) вероятность обнару­ жения системой контроля ошибок в функционировании ЦВМ; в) степень детализации, с которой система контро­ ля указывает место возникновения ошибки *; г) отноше­

* Детальное распознавание места неисправности является за­ дачей системы диагностики (§ 12-6).

630

ние количества оборудования системы контроля к обще­ му количеству оборудования ЦВМ*.

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

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

12-3. К О Н Т Р О Л Ь П Е Р Е Д А Ч Д В О И Ч Н О Й И Н Ф О Р М А Ц И И

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

Если длина кода п разрядов, то таким двоичным ко­ дом можно представить максимум 2" различных слов. Если все разряды слова служат для представления ин­ формации, код называется простым (неизбыточным). Коды, в которых лишь часть кодовых слов используется для представления информации, называются избыточ­ ными. Часть слов в избыточных кодах являются запре­ щенными для представления информации, и появление запрещенных слов при передаче информации свидетель­ ствует о наличии ошибки. Принадлежность слова к раз­ решенным или запрещенным словам определяется пра­ вилами кодирования, и для различных кодов эти прави­ ла различны.

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

Равномерные избыточные коды делятся на раздели­ мые и неразделимые. Разделимые коды всегда содержат постоянное число информационных разрядов (т. е. раз­

* Количество оборудования может

приблизительно оценивать­

ся количеством используемых корпусов

интегральных схем.

40*

631

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

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

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

Простой (неизбыточный) код имеет минимальное расстояние dMин= 1 . Для всех избыточных кодов Дѵшн>1. Если, например dMин^ 2 , то любые два слова в дан­ ном коде отличаются не менее чем в двух разрядах, следовательно, любая одиночная ошибка приведет к по­ явлению запрещенного слова и может быть обнаружена. Если с^мин^З, то любая одиночная ошибка создает за­ прещенное слово, отличающееся от правильного в одном разряде, а от любого другого разрешенного слова — в двух разрядах. Заменяя запрещенное слово ближайшим

к нему '(в смысле кодового расстояния)

разрешенным

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

 

 

В общем случае, для

того чтобы

избыточный

код

позволял обнаруживать

ошибки

кратностью г,

он дол­

* Применение

термина «групповой

код»

объясняется

тем,

что

в систематических

кодах множество кодовых

слов

образует груп­

пу по отношению

к операции

сложения

по модулю

2.

 

 

632

жен удовлетворять условию:

dMm> r + l.

(12-2)

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

Для исправления г-кратной ошибки необходимо, что­ бы новое слово, полученное в результате ошибки, не только не совпадало с каким-либо разрешенным словом, но и оставалось ближе к правильному слову, чем к лю­ бому другому разрешенному слову. От правильного сло­ ва новое слово отстоит на расстоянии г. Следовательно, от любого другого разрешенного слова оно должно от­ стоять не менее чем на r-j-1, а минимальное кодовое расстояние должно быть не меньше суммы этих величин:

^м„н>2л + 1.

(12-3)

Код с проверкой четности

Код с проверкой четности образуется добавлением к

группе информационных разрядов,

представляющих

простой (неизбыточный) код, одного избыточного (конт­ рольного) разряда.

При формировании кода слова в контрольный разряд записывается 0 или 1 таким образом, чтобы сумма еди­

ниц в слове, включая избыточный

разряд, была четной

(в случае контроля по четности) или нечетной

(в случае

контроля по нечетности). В дальнейшем при

всех пере­

дачах, включая запись в память

и считывание, слово

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

Минимальное расстояние кода ймш= 2 , поэтому код с проверкой четности обнаруживает все одиночные ошибки, а кроме того, все случаи нечетного числа оши­ бок—3,5 и т. д. При одновременном возникновении двух или любого другого четного числа ошибок код с провер­ кой четности не обнаруживает ошибок.

При кодировании часто делают сумму единиц слова нечетной, в этом случае контролируется полное пропа­

633

дание информации, поскольку кодовое слово, состоящее из всех нулей, относится к запрещенным.

Код с проверкой четности имеет небольшую избыточ­ ность и поэтому не требует больших затрат оборудова­ ния на реализацию контроля. Этот код широко применя­ ется в современных вычислительных машинах для конт-

Рис. 12-1. Схема определения четности. Вариант 1.

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

При последовательной передаче данных (разряд за разрядом) контроль по четности легко реализуется пу­ тем использования триггера со счетным входом, на ко­ торый поступает передаваемая информация. При каж­

634

дом прохождении единицы триггер будет изменять свое состояние на противоположное и после прохождения всех информационных символов окажется в исходном состоянии (например, 0), если число единиц было чет­ ным, или в состоянии 1, если число единиц нечетно.

Состояние триггера (прямое или инверсное) после прохождения слова представляет собой значение конт­ рольного разряда.

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

635

тов схемы определения четности, использующий схемы И, ИЛИ и усилительный элемент с парафазным вы­ ходом. Каждый информационный символ должен быть задан прямым и инверсным кодом. Структура схемы подсчета четности является многоступенчатой, т. е. сло­ во делится на несколько групп разрядов, в каждой из которых подсчет четности производится прямым спосо­ бом (первая ступень), далее производится подсчет чет­ ности для групп второй ступени, образованных из групп первой ступени, четности которых в этом случае рас­ сматриваются как обычные двоичные разряды, и т. д. до окончательного подсчета четности всего слова. Подоб­ ная многоступенчатая структура позволяет существенно сократить объем необходимого оборудования.

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

Легко установить связь кодирования при контроле по четности с выполнением сложения по модулю 2. Если количество единиц в слове должно быть четным, то в

контрольный

разряд записывается прямой код суммы

по модулю 2

всех информационных разрядов слова. При

контроле на нечетность в контрольный разряд заносится обратный код указанной суммы.

Контроль по совпадению

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

Поразрядное сравнение может быть выполнено пу­ тем определения сумм по модулю 2 для каждой пары соответствующих разрядов регистров. Схема суммиро­ вания по модулю 2 для двух разрядов реализуется на двух схемах_И, объединенных схемой ИЛИ, так как

aQ)b— ab\y ab, где знак0означает

сумму по

модулю 2,

а и b — значения соответствующих разрядов

регистров.

При контроле по совпадению не требуется формиро­

вания каких-либо дополнительных

контрольных разря­

636

дов, следовательно, этот метод основывается не на ин­ формационной, а на схемной избыточности.

Один из вариантов схемы контроля передач по сов­ падению показан на рис. 12-3. После передачи информа­ ции из регистра А в регистр Б (или из Б в Л) через вре­ мя, несколько большее времени установления переход-

Регистр

ных процессов в триггерах регистров, запускается конт­ рольный сигнал.

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

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

637

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

лу групп, на которые разбивается

слово при

подсчете

четности. Быстродействие

данного

способа

контроля

также значительно выше

быстродействия

контроля

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

Однако контроль по совпадению обладает одним су­ щественным недостатком. Контроль по совпадению по­ зволяет проверить правильность передачи числа в ре­ гистр и отсутствие сбоев при его хранении только в тече­ ние времени, пока не изменит своего состояния регистр, из которого передавалась информация. При использова­ нии контроля по четности проверяется не только пра­ вильность передачи числа в регистр (память), но и от­ сутствие сбоев при хранении числа в регистре (памяти) в течение сколь угодно долгого времени.

Код Хэмминга

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

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

Рассмотрим более подробно процесс кодирования

638

Е3 = 64 0 7 0 1 2

 

1 3

4

 

10

 

Е і

8

*119 10 2 0 13 14

для кода с коррекцией одиночной ошибки. Если кодовое

 

 

 

 

 

*14 *24 −=0

слово не содержит ошибок, то

корректирующее

число

должно быть равно нулю. При наличии ошибки коррек­

тирующее

число

должно

 

содержать

номер

ошибоч­

ного разряда. Если в младшем разряде корректи­

рующего

числа

появится

1, то это

означает

ошибку

в одном из тех разрядов слова, порядковые номера ко­

торых имеют единицу в младшем разряде

(т. е. разря­

дов с нечетными номерами). Введем

первый контроль­

ный разряд, которому присвоим нечетный

порядковый

номер и который установим при кодировании таким об­

разом, чтобы сумма единиц

всех разрядов с нечетными

порядковыми номерами была равна нулю. Эта операция

может быть записана в виде

 

 

 

 

 

 

 

где хі,

Хз

 

£і =

зф

 

 

О,

 

 

 

и т. д — двоичные

символы,

размещенные в

разрядах с порядковыми номерами 1, 3 и т. д.

 

 

Появление единицы во втором разряде (справа) кор­

ректирующего числа

означает ошибку в тех

разрядах

слова,

порядковые

номера

 

которых

(2, 3, 6, 7,

10, 11,

14, 15 и т. д.)

имеют единицу во втором справа разряде.

Поэтому вторая

операция

кодирования,

позволяющая

найти второй

контрольный

 

разряд,

которому

должен

быть присвоен какой-либо порядковый номер из группы

2, 3, 6, 7, 10, 11

и т. д., имеет вид:

 

 

 

 

 

 

Е3= 2 з в 7

 

1 0

1 1

 

 

0

 

Рассуждая аналогичным образом, можно определить

все другие

контрольные

разряды

путем

выполнения

операций:

 

 

 

 

 

 

 

 

 

 

 

 

и т. д.

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

Eft E k _ • • • Е Е Е Х

j 3 2

считается корректирующим.

639

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