Диагностирование микропроцессорных систем, страница 9

.                        (7.4)

При организации контроля, согласно (7.4), одновременно с основной операцией (*) над числами  и  выполняется контрольная операция над остатками  и . После этого сравниваются остатки основного и контрольного результатов. В случае их несовпадения делается вывод о наличии ошибки.

          Смысл применения контроля по модулю заключается в том, что разрядность остатка  существенно меньше разрядности самого числа А. Поэтому затраты аппаратуры для контрольных вычислений также существенно меньше. В ЭВМ часто используется контроль по модулю 3, который обеспечивает обнаружение всех одиночных и некоторого числа двойных ошибок. Разрядность остатков при этом равна 2. На рис. 7.10 показана схема сложения двух чисел с контролем по модулю, построенная в соответствии с (7.4).

Рис.7.10. Схема сложения двух чисел с контролем по модулю

 Блоки П осуществляют формирование остатков. Блок М2 является схемой сравнения, на выходе которой формируется сигнал контроля.

          Логические преобразования в вычислительных системах контролируют схемы встроенного контроля (СВК). Общая структура контроля с использованием СВК приведена на рис. 7.11.

Рис.7.11. Структура контроля

 СВК анализирует значения входных , выходных  и, может быть, некоторых внутренних  сигналов. На практике используются несколько степеней контроля:

          1) полный контроль – обнаруживаются все отклонения выходных сигналов контролируемой схемы;

          2) полный контроль одиночных ошибок – обнаруживаются все отклонения на одном выходе контролируемой схемы;

          3) полный контроль одиночных неисправностей – обнаруживаются отклонения выходных сигналов, вызванные всеми одиночными неисправностями контролируемой схемы;

          4) частичный контроль одиночных неисправностей – обнаруживаются отклонения выходных сигналов, вызванные всеми одиночными неисправностями контролируемой схемы хотя бы на одном входном наборе.

          Методы организации контроля логики описаны в главе 6. На рис. 7.12 приведена схема контроля дешифратора.

Рис.7.12. . Схема контроля дешифратора

 СВК проверяет тот факт, что в исправном дешифраторе на выходе должна быть одна единица из восьми (нечетное число единиц). Схема осуществляет полный контроль одиночных ошибок на выходах 0, 1,..., 7.

          Достоверность функционального диагностирования существенно зависит от исправности самой схемы контроля. Эта проблема называется проблемой контроля «последнего сторожа». Она решается путем применения самопроверяемых СВК, которые обнаруживают и неисправности контролируемого устройства и собственные неисправности (см. главу 6). На рис. 7.13 приведена самопроверяемая схема контроля дешифратора.

Рис.7.13. Самопроверяемая схема контроля дешифратора

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

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

          Эффективным способом контроля является метод двойного счета, когда алгоритм вычислений реализуется два раза с последующим сравнением полученных результатов. В управляющих программах, связанных с ответственными технологическими процессами, важным свойством является самопроверяемость программ [7.8].

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