НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 34353637383940 ... 48


Макрокоманды FSM2, FSM3 допускают использование различных регистров. Введем обозначения команд, используемых в макрокомандах, в соответствии с табл. 6.

Таблица 6

Команда

LDAX

STAX

LHLD

XCHG

SHLD

Обозначение

Тогда для макрорасширений перечисленных макрокоманд можно записать подмножество используемых команд и регистров:

FSM1 = (/>/, Р2, РЗ, Р4, А, Н, L) FSM2 (1) = {Р1, Р2, Р4, Р5, Р7, А, В, С, D) FSM2 (2) = (Я/, Р2, Р4, Р5, Р7, А, В, С, Е) FSM2 (3) = {Р1, Р2, Р4, Р5, Р„ A,B,D, Е) FSM2 (4) = {Р1, Р2, Р4, Р5, Р7, А, С, D, Е) FSM2 (5) = {Р1, Р2, Р5, Р7, А, В, С, Н) FSM2(6) = {PI, Р2, Р4, Р5, Р7, А, В, С, L) FSM2(7) = (P/, Р2, Р4, Р5, Р7, А, В, Е, Н) FSM2{8) = (P/, Р2, Р2, Р5, Р7, А, D, Е, L) FSM3 = (P, Р8, Р9, РЮ, Н, L, D, Е)

Для макрокоманды FSM2 в скобках указан номер возможной реализации.

Непосредственно из анализа различных реализаций операции сложения с применением макрокоманд FSM1, FSM2, FSM3 можно сделать вывод, что выполнение всех этих операций позволяет получить 10 результатов сложения двух байтов с занесением их в память. Если имеется неисправность лишь в одном из элементов множества {Р,} (J {А, Р, В, С, D, Е, Н, L), i = 1,10, приводящая к неправильному результату вычисления, то эту неисправность можно выявить, а ее влияние в ряде случаев устранить путем сравнения получаемых результатов вычисления.

Действительно, пересечение перечисленных подмножеств равно пустому множеству,т. е.

FSM1 П FSM2(i) Л FSM3= 0. <=1



Следовательно, неисправный элемент не участвует во всех операциях сложения. Кроме того, неисправность ряда узлов можно достаточно просто выявить. Так, неисправность регистра Я можно выявить путем изменения тестовых наборов, над которыми выполняется сложение. Если для операций FSM1, FSM2 (i), i = I, 2,3 4, 6, 8 получаем один результат и для FSM2 (5), FSM2 (7) - другой, то при принятых предположениях неисправным является регистр Я.

Учитывая различный характер использования регистров (например, применение регистра для адресации или хранения данных) в макрокомандах FSM1 и FSM2, можно получить достаточное количество результатов сложения. Анализ их позволяет локализовать неисправность ряда регистров (например, регистра Я). При выборе тестов можно использовать традиционные подходы к оптимизации их состава 117, 18, 21, 22]. Для повышения отказоустойчивости целесообразно применять несколько микропроцессоров. Это позволяет в значительной степени устранить взаимокомпенсацию неисправностей в пределах отдельных микропроцессоров и выявлять неисправности нескольких элементов.

Необходимо отметить, что приведенный пример показывает лишь принцип контроля выполняемых микропроцессором операций. Алгоритмы контроля и диагностирования для конкретных условий должны учитывать особенности выполнения операций и размещение исходных программ и данных. Кроме того, зная внутреннюю структуру узлов управления и дешифрации, выполняющих требуемые команда.!, можно расширить подмножество {Я,-}, учитывая разделение отдельных команд на подмножества микрокоманд и участвующих в их выполнении функциональных узлов микропроцессора. Таким образом можно обеспечить улучшение глубины диагностирования в пределах отдельных элементов системы.

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



в процессе контроля (ЗУ, линий связи, мультиплексоров и т. д.).

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

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

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

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

Рассмотрим модель диагностирования по случайным последовательностям [571.

Микропроцессор можно рассматривать как конечный автомат Мура М = {Х, Q, Z, б, е»), где X = {Xi, х, ...) - множество входных векторов; Q = {qi, ... , q„} - множество внутренних состояний; Z = {z, z, .. } - множество выходных векторов, а б определяет функцию перехода.

Обозначим J = Xi, Xg, Х„ -входную последова-

тельность, а 8{qi, Xj) и 8{qi, J) - состояния, в которые приходит автомат из начального состояния qi при задании соответственно входного набора X/и последовательности J. Выходы микропроцессора задаются с помощью выходной функции (i){qi)£Z. При наличии неисправности / автомат М превращается в автомат Mf = (X, Qf, Z, 8, of), где =

= {q{, .... qm) такова, что m = п или тф п.

Предполагается, что конечный автомат в исправном состоянии можно перевести в заранее известное состояние q,, g Q. Диагностический эксперимент состоит в задании входных последовательностей и наблюдении выходов автомата. Говорят,



0 ... 34353637383940 ... 48