
- •Глава I
- •06Ласти применения эвм
- •1.6,1. СуперЭвм
- •Глава 2
- •8 Разрядов
- •11110001 11111001 11110001 11110111 А число — 6.285 запишется в память в виде слова из 6 байт:
- •Глава 3
- •Глава 4
- •Лечит узап j
- •Сверхоперативная или местная память
- •4.2. Адресная, ассоциативная и стековая организации памяти
- •Буфер входа-выхода
- •Усилители считывания-записи
- •Глава 5
- •Проклей
- •Идентификатор адреса (s байт)
- •Сектор на дискете
- •Глава 6
- •Управляющий блок автомат)
- •Глава 7
- •В цпршВляющай блок у б
- •Сумматор частичных произведений Регистр множимого
- •О vМножимое перед началом Выполнения умножения
- •Слой элементов и
- •Глава 9
- •Двойное слада па адреса о 32 бит
- •Слобо по адресу z в бит
- •Заслать в стек ад РеЗ
- •Загрузить аз стана в Pa V
- •Номер регист
- •Непосредственный операнд 1а
- •15Ю кГго 51
- •Оповещающий сив нал „Состояние
- •Блок ревастрод
- •Ветвление в макропроерамме по уело дую Акк*0
- •Макрокоманды управления последовательностью выборка микрокоманд
- •Окно процедуры
- •Регистры параметров (а) Регистры глобальных переменных |
- •1 Нуль м Знак-
- •Запоминание состояния процессора (программы)
- •Общий сигнал прерывания
- •Код приоритетного запроса
- •Маска ввоОагвывода
- •Прерывающая
- •01 23*56789 Время
- •I участка I
- •Запись льта мп
- •I Прием операндов на регистры 1
- •Умножение чисел с фиксированной точкой
- •Сложонив чисел с плавающей точкой
- •Глава 10
- •Вызов команды и модификация счетчика команд
- •Процедура тандемных пересылок
- •Однобайтная
- •16 Разрядов
- •Передача д стек а восстановление содержимого регистров
- •Команды досстаяовяения из стеки содержимого регистров
- •Блок сегментных регистров
- •Первый байт команды Второй ffaSm команды (постбайт адресации)
- •Сегментные селекторы
- •Регистры задачи и регистры дескрипторнои таблицы
- •Блок управления и контроля оп
- •Справочник страниц
- •Физическая память
- •16 Мбайт
- •Расширенная память
- •1 Мбайт
- •С каналом ес эвм
- •Связь с другой эвм
- •I Манипулятор % I Графа- I I типа „Мышь” I I построитель I
- •Глава 11
- •Интерфейс основной намята
- •Общее оборудование мультиплексного канала
- •Глава 12
- •Определения четности переносод
- •Глава 13
- •Ill:Выполнснис программы а Выполнение про ерам мы в
- •Пакеты заданий и Входные наборы данных
- •Выходные очереди разных классов в зу на дисках
- •I требует ‘'ода
- •Пользователь обдумывает | ответ системе I (новый запрос)
- •Блок управления памятью
- •Схемы совпадения
- •Шифратор номера отделения
- •Входной коммутатор
- •Коммутации
- •Сегментная таблица п-й программы
- •Векторные, средства
- •К периферийным устройством
- •К периферийным устройствам
- •Глава 15
- •Устройства Ввода- вывода
- •Процессор 2
- •Процессор 3
- •8 Векторных регистров (по 6* слова в каждом)
- •Готовности операндов
- •Глава 16
- •Комплекс абонентского пункта
- •16.2.. Классификация вычислительных сетей
- •1 Элемент
- •Время распрост- ранена*
- •Задержка сета лри коммутации пакетов[
- •Абонентская система
- •Данные пользователя
- •Сеансовый
- •Транспортный
- •Сетевой
- •Интерфейс высоког о уровня
- •Аппаратура передачи данных
- •Установление связи
- •Данные пользователя 00Длина поля и слови я обслуживания
- •Идентификатор протокола
- •7» Бшдта) Данные пользователя б вызове
- •Поток бит
- •Новый пакет (кадр)
- •Станция 1 ведет передачу
- •Передатчик Коаксиальный кйбель
- •Глава 15. Принципы организации многопроцессорных и многомашинных вычислительных систем (комплексов) и суперЭвм 489
- •1S в 7 о Слада па адресу ь
Глава 12
СИСТЕМЫ АВТОМАТИЧЕСКОГО КОНТРОЛЯ И ДИАГНОСТИРОВАНИЯ ЭВМ
ё.
Основные характеристики надежности ЭВМ.
| Функции систем контроля и диагностирования
Согласно современным представлениям под надежностью |р понимается свойство изделия (элемента, узла, устройства, ма- Щ шины, системы) выполнять заданные функции, сохранять свои характеристики в установленных пределах при определенных условиях эксплуатации.
Надежность вычислительной машины определяется безотказностью, достоверностью функционирования и ремонтопригодностью.
Безотказность есть свойство машины или системы, характеризуемое закономерностями возникновения отказов. Под отказом ' понимается событие, заключающееся в полной или частичной .^утрате машиной (системой) работоспособности. Отказ ЭВМ — это такое нарушение ее работоспособности, для восстановления которой требуются определенные действия обслуживающего пер- Щ* сонала по ремонту, замене и регулировке неисправного элемента,
• узла или. устройства. Безотказность может оцениваться средним временем наработки машины на один отказ.
?§£ Ремонтопригодность есть степень приспособленности маши- лы или системы к предупреждению, обнаружению и устранению Л отказов. Ремонтопригодность, определяя потерю работоспособ- • ности машины вследствие необходимости производить устране- ние неисправностей, характеризуется средним временем устра- нения неисправности.
Работа ЭВМ заключается в выполнении преобразований информации, основными из которых являются передача информа-
ции в пространстве (между отдельными блоками и устройствами машины), хранение информации (передача информации во времени), арифметические и логические преобразования.
В силу указанной специфики рабочего процесса надежность ЭВМ наряду'с безотказностью определяется также достоверностью функционирования. Достоверность функционирования есть свойство машины (системы), определяемое безошибочностью производимых машиной (системой) преобразований информации и характеризуемое закономерностями появления ошибок из- за сбоев.
Сбоем называют кратковременное самоустраняющееся нарушение нормального функционирования машины вследствие кратковременного воздействия на некоторый элемент (или элементы) внешних помех или изменений некоторых других входных воздействий, а также из-за кратковременного изменения параметров элементов (кратковременные нарушения контактов и т. п.). После сбоя машина длительное время может работать нормально. Сбой сопровождается искажением информации при операциях передачи, хранения или обработки ее. Следовательно, если не устранить последствия сбоя, то задача может оказаться неправильно решенной из-за искажений в данных, промежуточных результатах или в самой программе.
Однако если при отказе для восстановления работоспособности машины или системы необходимо устранить неисправность в аппаратуре, то при сбое требуется восстановить лишь достоверность информации, что хотя и связано с потерями рабочего времени ЭВМ (например, на повторный пуск программы или ее части), но не требует ремонта или регулировки аппаратуры. В силу этого восстановление достоверности функционирования сравнительно легко может быть автоматизировано.
Достоверность функционирования ЭВМ можно оценить средним временем наработки машины на один сбой. Для более полной оценки достоверности функционирования введем в состав характеристик надежности ЭВМ среднее время восстановления достоверности информации после сбоя.
В процессе развития вычислительной техники повышение безотказности ЭВМ достигалось использованием более надежных элементов (переход от ламповых схем к полупроводниковым и затем к интегральным микросхемам), применением облегченных нагрузочных режимов для схемных компонентов, совершенствованием конструкции и технологии (печатный, в том числе многослойный монтаж, улучшение вентиляции блоков машин, автоматизация проектирования, изготовления и контроля узлов и др.) и соответствующими логическими решениями (см. § 15.4).
Для уменьшения вероятности сбоев принимаются меры для уменьшения помех в цепях электронных схем: согласование нагрузок электронных схем, специальные методы монтажа и выполнения заземлений схем.
Пользователь должен быть уверен в правильности производимых машиной расчетов, особенно при работе ЭВМ в реальном времени с выдачей управляющих воздействий на объект управления.
Если вычислительная машина не обеспечивает пользователя средствами контроля достоверности ее функционирования, он вынужден непроизводительно затрачивать машинное время на двойной просчет, решение контрольных вариантов и т. д.
Выбор методов повышения надежности ЭВМ и их эффективность в значительной мере зависят от того, является вычислительная машина восстанавливаемой или невосстанавливаемой, обслуживаемой или необслуживаемой системой.
Система называется восстанавливаемой, если во время эксплуатации может производиться ремонт для устранения возникающих отказов. Система считается обслуживаемой, если допускается периодическое проведение профилактических испытаний для'выявления элементов и узлов, параметры которых близки к предельно допустимым.
Цельно профилактических испытаний является увеличение среднего времени наработки на отказ в период между профилактическими работами.
В большинстве случаев ЭВМ представляют собой в терминах теории надежности восстанавливаемые обслуживаемые системы. К неврсстанавливаемым системам относятся, например, бортовые вычислительные машины ракет.
Профилактическое обслуживание связано с потерями рабочего времени машины и затратами труда обслуживающего персонала. Эти потери по своему характеру близки к потерям, связанным с устранением отказов, и они должны учитываться наряду с показателями надежности устройств машины при назначении периодов и объема профилактического обслуживания.
Очевидно, что чем выше надежность ЭВМ, тем больше может быть период между профилактическими работами. Чем меньше тратится машинного времени и квалифицированного труда на профилактические работы и устранение неисправностей, тем выше обслуживаемость ЭВМ, т. е. степень приспособленности машины к процессам обслуживания.
В целях оценки совокупного влияния на работу ЭВМ рассмотренных выше отдельных показателей надежности введем комплексный коэффициент эксплуатационной надежности (ком-
——<> o —i 11
j 11
x=am-2m + am_,-2m-,+.-- 46
оТТ ооо ТоТ Too 47
оГп Топ ооГо Гио 47
Т" 'Т' чг ЧТ" т 47
( + 0)пр = 000...0; 52
(+0)обр=000...0. 52
о;м=л-1 + |<?1, 54
=(G)CM+(QL- 54
<7= £ <тг16-' (а/=0, 1, 2, .. n F), 61
0П0П01 пТкиТо 010010И lTTiooib 11111000 lTnoTol 67
оооо оно ooTo^jooo оТоТ ^JToT 68
^пер (ЗЛ4) 106
«л. 148
К=ф„ v2, i>J, 203
{/ = {u„ «2, . . U„|, 203
5={Q0, Qi, Qr), 203
1Ь, 220
_qji 228
I 282
L °" .1 I й 1 • • • I °ч I 356
Х~Х1ГХГ~17~Т 356
GEP-EEI 381
Ц-Щ I 469
©4 489
<Ь• • • <Ь 489
фф-ф фф-ф 501
У-Аг 553
i/iwiii 562
м. 562
„ ЁЛ1Ш1 567
где п, т, е — соответственно число отказов, сбоев и профилактических обслуживаний за достаточно большой период эксплуатации; ti — интервал времени исправной работы машины (системы) между (/—1)-м и i-м нарушениями функционирования машины из-за отказов; тв 0/. — время восстановления после го отказа; тв сг — время восстановления достоверности информации после г-го сбоя (время, потраченное на повторный пуск программы, части программы, команды и т. д.); т* — суммарное машинное время, затраченное в рассматриваемый период на контроль достоверности (на двойной просчет, контрольные варианты, работу схем контроля и т. д.) ; тпф5 — время, затраченное на s-e профилактическое обслуживание; т0Ж/ — время ожидания начала ремонта после /-го отказа.
В знаменателе (12.1) находится общее время наблюдения за работой ЭВМ. Это время включает в себя наряду с суммарным временем работоспособного состояния машины суммарное время ожидания начала ремонта после отказов и продолжительности ремонта. В числителе находится общее время полезной работы машины.
Приведенное выражение позволяет сделать важные выводы.
Для повышения комплексного коэффициента использования необходимо повышать обслуживаемость машины и добиваться уменьшения потерь времени на устранение отказов (повышение ремонтопригодности). Эти потери времени в'таких сложных объектах, как ЭВМ, в первую очередь связаны с поиском места неисправности. Важнейшим средством уменьшения указанных потерь и повышения обслуживаемости ЭВМ является система автоматического диагностирования, позволяющая локализовать неисправность.
Чтобы уменьшить потери от сбоев и отказов, порождающих ошибки, надо предотвратить распространение ошибки в вычислительном процессе, так как в противном случае существенно усложнятся и удлинятся процедуры проверки правильности работы программы, определения и устранения искажений в программе, данных и промежуточных результатах.
Для этого необходимо обнаруживать появление ошибки в выполняемых машиной преобразованиях информации возмож- 410
но ближе к моменту ее возникновения. С этой целью надо иметь систему автоматического контроля правильности работы ЭВМ, которая при появлении ошибки в работе машины немедленно приостанавливает выполнение программы. Наличие такой системы освобождает от забот по контролю достоверности и снижает связанные с этим потери [т* в (12.1)].
Для уменьшения значения второго члена в числителе (12.1) следует иметь систему автоматического восстановления вычислительного процесса, распознающую характер (сбой или отказ) ошибки и при сбое автоматически восстанавливающую достоверность информации и выполнение программы, а при отказе инициирующую работу системы автоматического диагностирования ЭВМ.
Обнаружение ошибок должно Производиться в машине непрерывно и, следовательно, не должно вызывать заметного снижения быстродействия машины. Поэтому эта функция возлагается обычно на быстродействующие аппаратурные средства контроля, которые позволяют почти полностью совместить во времени выполнение основных и контрольных операций.
Необходимость в коррекции ошибок, восстановлении вычислительного* процесса и диагностирования неисправностей при современном уровне надежности ЭВМ возникает достаточно редко. Поэтому целесообразно использовать для выполнения этих функций главным образом микропрограммные, а также программные средства в виде корректирующих и диагностических микропрограмм и программ. Однако чтобы эти программы не были чрезмерно сложны, предусматриваются и определенные аппаратурные средства, поддерживающие процедуры восстановления после сбоев и локализации неисправностей.
Основными характеристиками системы автоматического контроля правильности функционирования ЭВМ являются: а) отношение количества оборудования, охваченного системой контроля, к общему количеству оборудования ЭВМ; б) вероятность обнаружения системой контроля ошибок в функционировании ЭВМ; в) степень детализации, с которой система контроля указывает место возникновения ошибки '; г) отношение количества оборудования системы контроля к общему количеству оборудования ЭВМ.
Основными характеристиками систем автоматического диагностирования являются: а) вероятность правильного обнаружения места отказа; б) разрешающая способность, равная среднему числу подозреваемых сменных блоков; в) доля аппа-
1
Детальное распознавание места
неисправности является задачей системы
диагностирования (см'. § 12.5).
ратурных средств системы диагностирования в общем оборудовании ЭВМ.
Для снижения затрат машинного времени и труда на профилактические испытания следует снабжать ЭВМ аппаратурнопрограммными средствами автоматизации испытаний [27].
. Как следует из (12.1), для повышения коэффициента использования ЭВМ следует уменьшать время ожидания начала ремонта после возникновения отказа, что достигается соответствующими организацией и материально-техническим обеспечением эксплуатационного обслуживания машин, в том числе путем создания для крупных ЭВМ дистанционного обслуживания из специальных центров, связанных с обслуживаемыми машинами средствами телеобработки данных [27].
При создании новых ЭВМ разработка вопросов их технического обслуживания, создания аппаратурно-программных средств повышения надежности функционирования и поддержки эксплуатационного обслуживания ЭВМ, в первую очередь систем автоматического контроля, восстановления и диагностирования, должна вестись параллельно и взаимосвязано с проектированием машины. В современных крупных ЭВМ (например, в ЕС ЭВМ) обнаруживается тенденция к выделению в отдельную систему средств управления и поддержки обслуживания ЭВМ [27, 45].
Контроль передачи информации
При контроле передачи информации наибольшее распространение получили методы информационной избыточности, использующее коды с обнаружением и коррекцией ошибок.
Если длина кода п разрядов, то таким двоичным кодом можно представить максимум 2п различных слов. Если все разряды слова служат для представления информации, код называется простым (неизбыточным). Коды, в которых лишь часть кодовых слов используется для представления информации, называются избыточными. Часть слов в избыточных кодах является запрещенной, и появление таких слов при передаче информации свидетельствует о наличии ошибки.
Принадлежность слова к разрешенным или запрещенным словам определяется правилами кодирования, и для различных кодов эти правила различны.
Коды разделяются на равномерные и неравномерные. В равномерных кодах все слова содержат одинаковое число разрядов. В неравномерных кодах число разрядов в словах может быть различным. В вычислительных машинах применяются преимущественно равномерные коды.
Равномерные избыточные коды делятся на разделимые и неразделимые. Разделимые коды всегда содержат постоянное число информационных (т. е. представляющих передаваемую информацию) и избыточных разрядов, причем избыточные занимают одни и те же позиции в кодовом слове. В неразделимых кодах разряды кодового слова невозможно разделить на информационные и избыточные.
Способность кода обнаруживать или исправлять ошибки определяется так называемым минимальным кодовым расстоянием. Кодовым расстоянием между двумя словами называется число разрядов, в которых символы слов не совпадают. Если длина слова л, то кодовое расстояние может принимать значения от 1 до п. Минимальным кодовым расстоянием данного кода называется минимальное расстояние между двумя любыми словами в этом коде. Если имеется хотя бы одна пара слов, отличающихся друг от друга только в одном разряде, то минимальное расстояние данного кода равно 1.
Простой (неизбыточный) код имеет минимальное расстояние dmin= 1. Для избыточных кодов dmin>\. Если 2, то
любые два слова в данном коде отличаются не менее чем в двух разрядах, следовательно, любая одиночная ошибка приведет к появлению запрещенного слова и может быть обнаружена. Если dmin = 3, то любая одиночная ошибка создает запрещенное слово, отличающееся от правильного в одном разряде, а от любого другого разрешенного слова — в двух разрядах. Заменив запрещенное слово ближайшим к нему (в смысле кодового расстояния) разрешенным словом, можно исправить одиночную ошибку.
В общем случае, чтобы избыточный код позволял обнаруживать ошибки кратностью г, должно выполняться условие
(12.2)
Действительно, одновременная ошибка в г разрядах слова создает новое слово, отстоящее от первого на расстоянии г. Чтобы оно не совпало с каким-либо другим разрешенным словом, минимальное расстояние между двумя разрешенными словами должно быть хотя бы на единицу больше, чем г.
Для исправления г-кратной ошибки необходимо, чтобы новое слово, полученное в результате такой ошибки, не только не совпадало с каким-либо разрешенным словом, но и оставалось ближе к правильному слову, чем к любому другому разрешенному. От правильного слова новое отстоит на расстоянии г. Следовательно, от любого другого разрешенного слова оно должно отстоять не менее чем на г+1, а минимальное кодовое расстоя-
Код с проверкой четности образуется добавлением к группе информационных разрядов, представляющих простой (неизбыточный) код, одного избыточного (контрольного) разряда.
При формировании кода слова в контрольный разряд записывается 0 или 1 таким образом, чтобы сумма 1 в слове, включая избыточный разряд, была четной (при контроле по четности) или нечетной (при контроле по нечетности). В дальнейшем при всех передачах, включая запись в память и считывание, слово передается вместе со своим контрольным разрядом. Если при передаче информации приемное устройство обнаруживает, что в принятом слове значение контрольного разряда не соответствует четности суммы 1 слова, то это воспринимается как признак ошибки.
Максимальное расстояние кода dmin = 2, поэтому код с проверкой четности обнаруживает все одиночные ошибки и, кроме того, все случаи нечетного числа ошибок (3, Бит. д.). При одновременном возникновении двух или любого другого четного числа ошибок код с проверкой четности не обнаруживает ошибок.
При контроле по нечетности контролируется полное пропадание информации, поскольку кодовое слово, состоящее из О, относится к запрещенным.
Код с проверкой четности имеет' небольшую избыточность и не требует больших затрат оборудования на реализацию контроля. Этот код широко применяется в вычислительных машинах для контроля передач информации между регистрами и считываемой информации в оперативной памяти.
Рис.
12.1. Схемы определения четности
При построении схем определения четности суммы 1 слова используют логические элементы с парафазным выходом, подобным изображенному на рис. 12.1, а и б. Показанные схемы выполняют операцию сложения по модулю 2 (условное обозначение М2) для двоичных переменных х и у. На рис. 12.1, в показана схема определения признака четности байта.
Каждый информационный символ должен быть задан прямым и инверсным кодами. Структура схемы проверки четности является многоступенчатой» т. е. слово делится на несколько групп разрядов, в каждой из которых проверка четности производится прямым способом (первая ступень), далее производится проверка четности для групп второй ступени, образованных из групп первой ступени, четности которых в этом случае рассматриваются как обычные двоичные разряды, и т. д. до окончательной проверки четности суммы 1 всего слова. В последней ступени четность байта сравнивается со значением контрольного разряда КР.
Легко установить связь кодирования при контроле по четности с выполнением сложения по модулю 2. Если количество 1 в слове должно быть четным, то в контрольный разряд записывается прямой код суммы по модулю 2 всех информационных разрядов слова. При контроле на нечетность в контрольный разряд заносится обратный код указанной суммы.
Корректирующий код Хэмминга. В оперативной памяти применяют код Хэмминга, позволяющий исправлять ошибки.
Код Хэмминга строится таким образом, что к имеющимся информационным разрядам слова добавляется определенное число контрольных разрядов, которые формируются перед записью слова в ОП и вместе с информационными разрядами слова записываются в память.
При считывании слова контрольная аппаратура образует из прочитанных информационных и контрольных разрядов корректирующее число, которое равно 0 при отсутствии ошибки, либо указывает место ошибки, например двоичный порядковый номер ошибочного разряда в слове. Ошибочный разряд автоматически корректируется изменением его состояния на противоположное.
Рассмотрим процесс кодирования для кода Хэмминга с коррекцией одиночной ошибки (минимальное кодовое расстояние dmin = 3) .
Если в младшем разряде корректирующего числа появится 1, то это означает ошибку в одном из тех разрядов слова, порядковые номера которых имеют 1 в младшем разряде (т. е. разрядов с нечетными номерами). Введем первый контрольный разряд, которому присвоим нечетный порядковый номер и который установим при кодировании таким образом, чтобы
сумма 1 всех разрядов с нечетными порядковыми номерами была равна 0. Эта операция может быть записана в виде
Е{ =х{ ф*3ф*5ф.. . = 0,
где хи Хз и т. д.— двоичные символы, размещенные в разрядах с порядковыми номерами 1, 3 и т. д.
Появление 1 во втором разряде (справа) корректирующего числа означает ошибку в одном из тех разрядов слова, порядковые номера которых (2, 3, 6, 7, 10, И, 14, 15 и т. д.) имеют 1 во втором справа разряде. Поэтому вторая операция кодирования, позволяющая найти второй контрольный разряд, имеет вид
= 0. • . = 0.
Рассуждая аналогичным образом, можно определить все другие контрольные разряды путем выполнения операций
£3 =*4 Ф*5 0*6 ф*7 ©*12 ©*13 ©*14 ©*15 ©* *
£4 = *8ф*9ф*10ф*пф*12ф*13ф*14ф*15©*24ф. . .= 0 И Т. Д.
После приема кодового слова (совместно со сформированными контрольными разрядами) выполняются те же операции подсчета, которые были описаны выше, а образующееся число
EkEk_ j ... £3£2£i
считается корректирующим.
При отсутствии ошибок EkEk-i.. .£2^1 = 0, при наличии ошибки не равными нулю будут те суммы £/, в образовании которых участвовал ошибочный разряд; корректирующее число при этом будет равно порядковому номеру ошибочного разряда.
Выбор места для контрольных разрядов производится таким образом, чтобы контрольные разряды участвовали только в одной операции подсчета четности. Это упрощает процесс кодирования. Рассмотрение выражений для Ей £2, £з и т. д. показывает, что такими позициями являются разряды с номерами, являющимися целыми степенями двойки: 1, 2, 4, 8, 16 и т. д.
Требуемое число контрольных разрядов (или, что то же самое, разрядность корректирующего числа) определяется из следующих соображений. Пусть кодовое слово длиной п разрядов имеет т информационных и k — n — т контрольных разрядов. Корректирующее число длиной k разрядов описывает 2* состояний, соответствующих отсутствию ошибки и появлению ошибок в i-м разряде. Таким образом, должно соблюдаться
или
2*"— k— 1>т. (12.5)
Из этого неравенства следует, например, что пять контрольных разрядов позволяют передавать в коде Хэмминга до 26 информационных разрядов.
Если в ОП одновременно записываются или считываются восемь информационных байт (64 разряда), то при использовании кода Хэмминга потребуется семь дополнительных контрольных разрядов.
Контроль по коду Хэмминга реализуется с помощью набора схем подсчета четности (см. рис. 12.1), которые при кодировании определяют контрольные разряды, а при декодировании формируют корректирующее число.
Модифицированный код Хэмминга. К контрольным разрядам Хэмминга добавляется еще один (в последнем примере восьмой) разряд КР контроля четности всех одновременно считываемых (записываемых) информационных и контрольных разрядов. При считывании формируются корректирующее число EkEk-\. • -Е\ и разряд общей четности КР' для всех считанных разрядов, включая КР. Модифицированный код Хэмминга позволяет устранять одиночные и обнаруживать двойные ошибки, как это следует из табл. 12.1.
Коррекция двойных ошибок в ОП. При использовании в ОП модифицированного кода Хэмминга может производиться коррекция двойных ошибок.
Пусть X — слово, записанное в ОП, а X' — считанное из ОП слово, в котором обнаружены две ошибки. Тогда по сигналу рхемы контроля инициируется следующая процедура.
В неисправную ячейку ОП записывается обратный код считанного слова Xи затем производится его считывание. Над
Таблица 12.1
Корректирующее число Хэмминга EkEk-1 ... Е\ |
КР' |
Наличие ошибок |
Нули |
0 |
Нет ошибок |
фО |
1 |
Одиночная ошибка |
^=0 |
0 |
Двойная ошибка |
Нули |
1 |
Ошибка в контрольном разряде общей |
|
|
четности |
получаемым при этом кодом (X')' и кодом X' производится операция
z=x'®(xy.
Код Z содержит 1 в разрядах, в которых имеются ошибки.
Схемы управления ОП по коду Z корректируют одну ошибку. После этого схема коррекции одной ошибки исправляет вторую ошибку.
♦
Контроль арифметических операций
Арифметические операции, как правило, можно представить в виде последовательностей следующих элементарных операций: передача слова и операции преобразования содержимого триггерных регистров — сдвиг, взятие обратного кода и сложение.
Операция сдвига информации в регистре представляет собой, по существу, передачу информации из /-х разрядов регистра в (t + m)-e или (t — т)-е разряды в зависимости от направления сдвига (т — число разрядов, на которое производится сдвиг). Поэтому для контроля операции сдвига можно использовать те же методы, что и для контроля передачи информации, например контроль четности суммы 1.
Регистр, в котором производится сдвиг, должен иметь дополнительный контрольный разряд, устанавливаемый перед сдвигом в такое состояние, чтобы сумма 1 регистра вместе с контрольным разрядом была, например, четной. Кроме схемы определения общей четности содержимого регистра необходимы схемы, устанавливающие четность разности между числом 1, выдвигаемых из регистра, и числом 1, вдвигаемых в регистр. Если в освобождающиеся при сдвиге разряды вдвигаются 0, то достаточно иметь схему определения четности суммы 1 выдвигаемых разрядов. Одновременно со сдвигом выполняется контрольная операция, состоящая в том, что состояние контрольного разряда меняется на противоположное при нечетности суммы 1 выдвигаемых разрядов. Тогда при правильном выполнении сдвига общая четность суммы 1 в регистре после сдвига не меняется.
Операция взятия обратного кода может быть также проконтролирована путем использования кодов с проверкой четности. Если число информационных разрядов в слове четно, то число 1 в слове четно при четном 0 и число 1 нечетно при нечетном числе 0. В этом случае после образования обратного кода четность числа 1 в слове сохранится, и правильность выполнения операции можно определить, проверив сохранение четности или нечетности суммы 1 в слове, включая контрольный разряд.
Если число информационных разрядов в слове нечетно, то четному числу 1 в слове соответствует нечетное число 0, а нечетному числу 1 — четное число 0. В этом случае после образования обратного кода четность числа 1 изменится на обратную, и для проверки правильности выполнения операции необходимо взять обратный код от содержимого контрольного разряда и проверить сохранение четности или нечетности суммы 1 в слове, включая контрольный разряд.
Рассмотрим метод контроля операции сложения, использую- - щий проверку четности.
При сложении чисел а и b разряды суммы S образуются в соответствии с выражениями
Sj = flj ф b\ ф Рj;
52 = а2ф62ф/>2^ (12 6)
= ап ф Ьп $ Ял!
где Si, а/, Ь„ Pt (/=1, 2, ..., п) —соответственно значения разрядов суммы, слагаемых и переноса, поступающего в i-й разряд. Знак ф означает сложение по модулю 2; п — число разрядов слагаемых и суммы.
Сложив все п приведенных выше равенств по модул^о 2, получим
ф52ф.. .фз^^фогф.. .фа„)ф
®(Ь{ ф&2ф.. .фЬп)е(Р1 фР2ф.. .фРп). (12.7)
Поскольку сумма по модулю 2 всех разрядов слова выражает четность суммы 1 слова, последнее уравнение можно переписать в виде
Четность S = Четность а ф Четность b ф Четность Р. (12.8)
Таким образом, при правильном образовании суммы четность суммы ее единиц должна совпадать с четностью, определяемой выражением (12.8). Однако, как указывалось ранее, при контроле по четности не обнаруживается четное число ошибок. Сбой в схеме образования цифры разряда суммы дает одиночную ошибку, и она будет обнаружена. Если сбой произойдет
в схеме формирования переноса, то он может привести к распространению ошибки по многим разрядам суммы. В связи с этим для полноты контроля необходимо проверять правильность образования переноса Л. Такой контроль может быть организован с помощью схемы, которая проверяет, что в каждом разряде существует либо перенос в прямом коде, либо инверсия переноса и не существует одновременно и то, и другое.
Другой способ заключается в дублировании схем формиро
вания переносов и сравнения переносов основной и дублирующей схем.
Упрощенная схема контроля сумматора приведена на рис. 12.2. Для переносов и отдельно для суммы формируются контрольные разряды четности. Затем схема проверки четности проверяет выполнение условия (12.8).
Контроль выполнения арифметических операций (сложения, вычитания, умножения) можно осуществлять с помощью контрольных кодов, представляющих собой остатки от деления чисел на некоторый модуль R (контроль по модулю R).
Если в качестве контрольного кода используется остаток по модулю /?, то в качестве контрольной операции над остатками может быть выбрана та же арифметическая операция, которая производится над числами. Это вытекает из того, что для сложения, вычитания и умножения действительно соотношение
R (A*B) = R [R (A)*R (В)], (12.9)
где R (X) обозначает остаток числа X по модулю R; ^ — знак арифметической операции сложения, вычитания или умножения.
Контроль арифметических операций по модулю организуется следующим образом. Каждому числу, участвующему в арифметической операции, ста-
1^0шибка
Схема
контроля по совпадению
s.
Пербая
схема формирования переносов
Вторая
схема формирования переносод
С
л а\г а е м
ы
о
Схема
формирования суммы
Схема
формирования четности суммы\