Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

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

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

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

Добавлен: 09.04.2024

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

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

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

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

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

этом для

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

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

выбрать та­

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

бы

наибольшую

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

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

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

 

 

 

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

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

* Детальное распознавание места неисправности является за­ дачей системы диагностики (§ 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