Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Б М.docx
Скачиваний:
148
Добавлен:
09.06.2015
Размер:
2.63 Mб
Скачать

Глава 12

СИСТЕМЫ АВТОМАТИЧЕСКОГО КОНТРОЛЯ И ДИАГНОСТИРОВАНИЯ ЭВМ

ё.

  1. Основные характеристики надежности ЭВМ.

| Функции систем контроля и диагностирования

Согласно современным представлениям под надежностью |р понимается свойство изделия (элемента, узла, устройства, ма- Щ шины, системы) выполнять заданные функции, сохранять свои характеристики в установленных пределах при определенных условиях эксплуатации.

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

Безотказность есть свойство машины или системы, характе­ризуемое закономерностями возникновения отказов. Под отказом ' понимается событие, заключающееся в полной или частичной .^утрате машиной (системой) работоспособности. Отказ ЭВМ — это такое нарушение ее работоспособности, для восстановления которой требуются определенные действия обслуживающего пер- Щ* сонала по ремонту, замене и регулировке неисправного элемента,

• узла или. устройства. Безотказность может оцениваться средним временем наработки машины на один отказ.

?§£ Ремонтопригодность есть степень приспособленности маши- лы или системы к предупреждению, обнаружению и устранению Л отказов. Ремонтопригодность, определяя потерю работоспособ- • ности машины вследствие необходимости производить устране- ние неисправностей, характеризуется средним временем устра- нения неисправности.

Работа ЭВМ заключается в выполнении преобразований ин­формации, основными из которых являются передача информа-

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

В силу указанной специфики рабочего процесса надежность ЭВМ наряду'с безотказностью определяется также достоверно­стью функционирования. Достоверность функционирования есть свойство машины (системы), определяемое безошибочностью производимых машиной (системой) преобразований информа­ции и характеризуемое закономерностями появления ошибок из- за сбоев.

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

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

Достоверность функционирования ЭВМ можно оценить средним временем наработки машины на один сбой. Для более полной оценки достоверности функционирования введем в со­став характеристик надежности ЭВМ среднее время восста­новления достоверности информации после сбоя.

В процессе развития вычислительной техники повышение безотказности ЭВМ достигалось использованием более надеж­ных элементов (переход от ламповых схем к полупроводниковым и затем к интегральным микросхемам), применением облегчен­ных нагрузочных режимов для схемных компонентов, совершен­ствованием конструкции и технологии (печатный, в том числе многослойный монтаж, улучшение вентиляции блоков машин, автоматизация проектирования, изготовления и контроля узлов и др.) и соответствующими логическими решениями (см. § 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].

  1. Контроль передачи информации

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

Если длина кода п разрядов, то таким двоичным кодом можно представить максимум 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 корректируют одну ошибку. После этого схема коррекции одной ошибки исправляет вторую ошибку.

  1. Контроль арифметических операций

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

Операция сдвига информации в регистре представляет со­бой, по существу, передачу информации из /-х разрядов регистра в (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.

Пербая схема фор­мирования переносов

Вторая схема фор­мирования переносод

С л а\г а е м

ы о

Схема формиро­вания суммы

\

Схема формиро­вания четности суммы

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