ИЗВЕСТИЯ
ТОМСКОГО ОРДЕНА ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ И ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ПОЛИТЕХНИЧЕСКОГО ИНСТИТУТА им. С. М. КИРОВА
Том 294 1976
УНИВЕРСАЛЬНЫЙ АЛГОРИТМ ИССЛЕДОВАНИЯ ЦИФРОВЫХ УСТРОЙСТВ С АППАРАТУРНЫМ КОНТРОЛЕМ
И. П. АБРАМОВ, Н. П. БАЙДА, Ю. М. КОМАРОВ, В. Б. ЛИПОКИИ,
В. М. ТАНАСЕЙЧУК
(Представлена научным семинаром кафедры вычислительной техники)
При исследовании цифровых устройств (ЦУ) с аппаратурным контролем (АК) методом цифрового моделирования [ 1 ] неисправности в аппаратуре можно задавать путем направленного или вероятностного перебора. Однако в работах [1, 2] подробно рассматривается только алгоритм направленного перебора, пригодный для простых ЦУ типа: дешифратор, счетчик, сумматор и т. п.
В настоящей работе рассматривается задача разработки универсального алгоритма исследования ЦУ с АК произвольной сложности вероятностным методом на основании формализованного представления объекта в виде потенциально-импульсной асинхронной модели [3].
Основные олределения
Объектом нашего исследования являются сети [4], которые можно разбить на две части: основная сеть ОС и сеть контроля (СК). Будем условно считать, что сеть С, состоящая из ОС и СК, содержит единственный выходной полюс уь на котором реализуется функция, определяющая с некоторой достоверностью [5] наличие неисправности [6] в сети С.
Обозначим через X, У и Р множества наборов значений входных переменных, выходных переменных сети С и выходных переменных элементов последней соответственно. Элементы из Ху У и Р будем называть входными векторами, выходными векторами и полными внутренними состояниями сети С.
Множество неисправностей [6] сети С обозначим через N. а сеть С с неисправностью щ 6 N — через С^
Определение. Входной вектор %г 6 X проявляет неисправность п1 € N из полного внутреннего состояния рк £ Р, если под воздействием х/сети С и С] переходят из одного и того же полного внутреннего состояния Рк в различные полные внутренние состояния.
Обозначим через №рк множество неисправностей сети С, проявляемых входным вектором х\ из полного внутреннего состояния рк.
Функция контроля и ее эффективность
Ясно, что функция контроля Ь осуществляет отображение Ь: ХхЫ'хР —{0,1}, ЛГ = ЛГЩпо}),
где х — операция декартова произведения множеств, а >г0 — фиктивная неисправность, наличие которой в сети С не нарушает правильной работы последней.
Идеальная функция контроля Ь определяется следующим образом:
Очевидно, что (I (*,, л0, рк) = 0).
Обозначим через и ¿0 области единичных и нулевых значений функции Ь.
Теорема. Идеальная функция контроля не может быть практически реализована.
Для доказательства утверждения достаточно указать, что неисправность типа = 0 на выходе сети контроля, реализующей любую функцию контроля, не может вызвать единичное значение на этом же выходе.
Определение. Функция контроля Ь называется правильной
(реальной), если Ь ) Ь0, то есть, если область ее нулевых значений содержит область нулевых значений соответствующей идеальной функции.
Поскольку СК реализуют правильные функции контроля, то возникает потребность оценить эффективность последних [5, 7] с целью наивыгоднейшего применения рассматриваемых СК.
Количественно эффективность КГ правильной функции контроля I. находится следующим образом:
где Ь — область единичных значений этой функции контроля в предположении, что она идеальна.
Очевидно, что для всех правильных функций контроля 1-
Задачу нахождения точного значения эффективности функции контроля можно решить, используя следующий алгоритм.
1. Предполагается, что функция контроля, реализуемая заданной СК, идеальна. Строится множество
2. Для каждого элемента 1\ 6 ¿1 моделируется сеть с заданной СК и проверяется значение выхода СК. Если на выходе СК реализовалась
единица, то 1\ включается в в противном случае 1\ в не включается.
3. Эффективность функции контроля вычисляется по формуле (1). Для реальных сетей перебор всех Ь 6 £ь к сожалению, невозможен,
и поэтому эффективность функции контроля можно вычислять лишь приближенно, ограничиваясь рассмотрением 1\ 6 ¿1* С
В этом случае мощность множества ¿1* определяется точностью, с которой величина приближенной эффективности правильной функции контроля
приближается к истинному значению КГ-
На практике часто требуются менее обширные критерии эффективности, например, эффективность обнаружения отказов кратности 1 в ОС, сбоев кратности 2 в ОС и СК и т. д.
П], рк) = 1
рк
(1)
Нетрудно убедиться, что все эти критерии являются частным случаем эффективности функции контроля и получаются из последней путем ограничений, накладываемых на множество N.
Алгоритм нахождения эффективности функции контроля представлен в виде программы на языке ЛЯПАС [4]. Программа отлажена и испытана на ряде реальных ЦУ с АК- Описание программы приведено ниже.
Представление информации в ЭВМ
Исходной информацией к программе, реализующей алгоритм определения эффективности функции контроля, является коплекс А, задающий исследуемую сеть и вектор неисправности в. Комплекс А имеет ту же самую структуру, что и аналогичный комплекс, описанный в [3], но на порядок нумерации налагаются следующие ограничения: счетный вход, если он имеется, всегда должен иметь номер 1, затем по порядку нумеруются входные полюса, основные элементы ОС, основные элементы СК и, наконец, вспомогательные элементы ОС и СК-Элемент считается основным, если в нем задаются неисправности. В противном случае он считается вспомогательным. Кроме того, в шапках подкомплексов нулевой разряд несет информацию о состоянии выходов соответствующих элементов в предыдущий момент времени: единица в 5-м разряде указывает, что элемент отказал; единица в 6-м разряде указывает, что элемент сбился. Единичное значение 4-го разряда свидетельствует о том, что выход рассматриваемого элемента является выходом СК- Шапки подкомплексных основных элементов имеют единицы в 3-м разряде. Изменился и нулевой элемент комплекса А. В разрядах с 27-го по 37-й записывается номер первого элемента СК.
Вектор неисправностей в представляет собой булев вектор, имеющий следующую структуру: разряды с 13-го по 15-й задают кратность отказов в ОС, разряды с 16-го по 20-й задают кратность отказов в СК, разряды с 21-го по 23-й задают кратность сбоев в ОС, разряды с 24-го по 26-й задают кратность сбоев в СК, разряды с 27-го по 37-й задают объем выборки, равный мощности множества.
Библиотека подпрограмм
Исследование эффективности СК-
1. Даны: сеть С, состоящая из ОС и СК, и вектор неисправностей в. Требуется найти значение эффективности функции контроля СК, для неисправностей, заданных вектором в.
2. Внешние операнды:
ак : : С;
Рп : : б;
уп — конец рабочего поля.
Примечание: распределение памяти осуществляется автоматически, и конец рабочего поля позволяет выявлять аварийную ситуацию, возникающую при нехватке памяти.
Задаются: а0> в
Подпрограммы: подготовка, м о д в е р.
3. Алгоритм изложен выше.
4.
* 052 001
§ 0 * подготовка а а \ \
** модвер а р 7 а | 90 ~~
Подготовка к моделированию — подготовка.
1. Дана сеть С, состоящая из ОС и СК. Требуется определить число основных элементов в сети, число входных полюсов сети и номер выходного элемента СК.
2. Внешние операнды:
ак : : С;
Рп — булев вектор, имеющий следующую структуру: в разрядах с 5-го по 15-й записан номер выходного элемента схемы, в разрядах с 16-го по 26-й записано число входных полюсов, в разрядах с 27-го по 37-й записано число основных элементов схемы.
Задаются: аа, ва .
4.
* 052 004
§ 0 Оа Ос О?
§ 1 Дааа=>6@6ао-5.2хЛДс4н->2а£г> 11Д77н-> § 2 а<11ус<11\/р=>рба
§ 4 др.
Вероятностное моделирование — м о д в е р.
1. Даны: сеть С, состоящая из ОС и С К, и вектор неисправностей в. Требуется осуществить моделирование сети С, подавая многократно на ее входы случайное входное воздействие и внося в нее случайным образом неисправность заданной кратности и заданного типа (отказы, сбои). Подсчитать число моделирований, для которых на выходе СК реализовалась единица.
2. Внешние операнды:
а«: : С;
уп — конец рабочего поля;
бп — число основных элементов ОС и СК, число входных полюсов и номер элемента, являющегося выходом СК-
Задаются:
0, а ) в а .
Подпрограммы: удастан, неисправность, генвхос, мод-и е с.
3. Алгоритм изложен выше.
4.
* 052 010
§ 0 аа + Ьа—_70-И 06->4
§ 1 *а=>аОЬ$/\/7=>а
В >22 д/7 =>с
§ 2 Д60а о—>4
* удастан а ^ а — > 1а у Ьт,с => а
* неисправность аро^Оа0
* генвхос а р ^
* моднее оЬ ^ Ь ► За^ Д с, о-» 2
§ 3 => — ^37 =>. Р Л Л I-->2 Ор
§ 4 а=> а0.
Удаление исследованных неисправностей — у н е и с.
1. Задана сеть С, в которой помечены неисправные элементы. Требуется удалить из сети неисправности.
2. Внешние операнды:
ак: : С. Задаются: аа, ва .
3. В 5-е и 6-е разряды шапок всех элементов схемы заносятся нули, что свидетельствует об отсутствии неисправностей в соответствующих элементах.
4. * 052 011
§ 0 0а съ V ^ 1 =>£ § 1 А а <ха — > 6@6а°->2
§ 2.
Задание неисправности — неисправность.
1. Даны: сеть С, состоящая из ОС и СК, вектор неисправностей Ь и переменная а, несущая информацию о сети. Требуется случайным образом внести в сеть С отказы и сбои заданной кратности.
2. Внешние операнды:
а/с:: С;
т„:: а.
Задаются: <за, £>а.
Подпрограммы: отказы, сбои. 4.
* 052 005
§ 0 Р> И Л 771--► 1Р > 17 Д 77 о—> 3 2
§ 1 * сбои офт/р> 17 Д 77о-> 3 § 2 * отказы ар-^
§ з.
Задание сбоев — сбои.
1. Даны: сеть С, состоящая из ОС и СК, вектор неисправностей £ и вектор а, несущий информацию о сети. Требуется по заданной кратности сбоев случайным образом отметить «сбившиеся» элементы ОС и СК или ОС и СК.
2. Внешние операнды:
ак : : С;
рп :: в
Т п.:: а. Задаются: аа , ва . Подпрограммы: случи с. 4.
* 052 ОС 2
§ 0 0атД/7=>ат> 11 Л/7 + 2=>6а0Л /7
= > с=> 11 Л 7 = 2
§ 1 0оа? => = > 14 Д 7 =>
§ 2 * случис а с Ъ II аь — > сас /\сь |-->2
V ¿б - > Да © е - 2!
§ 3.
Задание отказов — отказу.
1. Даны: сеть С, состоящая из ОС и СК, вектор неисправностей в и переменная а, несущая информацию о сети С. Требуется по заданной кратности отказов отметить «отказавшие» элементы ОС, СК или ОС и СК.
2. Внешние операнды:
а к : : С; Рп : : в; Тп : : а. Задаются: аа , ва ■ Подпрограммы: случис.
4.
* 052 003
§ 0 0атЛ/7=>ят>ПЛ/7 + 2=>6 «о Л /? = > ^ = > ¿Р > 17 А 7 е
о1 =^->2
§ 1 0а^=>а^=>£Р>22л7=>го-.3^^2^3 § 2 * случис а с Ь || а6 = > с
Л ¿5 V с5 асДа©£|—► 2!
§ з.
Генератор случайных чисел — случис.
1. Даны два числа вис. Требуется получить случайным образом число й из интервала [в, с].
2. Внешние операнды:
Ы = Ь;
[Р„] = с; [т„]=*
3. Случайные числа получаются с использованием датчика случайных чисел я.
4.
* 052 007
§ 0 а — рхя + Р=> т-Генерирование входных состояний — г е н в х о с.
1. Даны: сеть С и переменная а, несущая информацию о сети. Требуется случайным образом получить входной вектор.
2. Внешние операнды:
:: Ря::
Задаются: аа, Ьа. Подпрограммы: случис.
4.
* 052 006
§ 0 О Н Л/7 ~> а ЗДа * случис аОб /
§ 1 ~ > 6 С! | Д = > Да ф а |--» 1 О а
§ 2 Дафб о^ 3 * случис а 1 с ^ ас = > Ъ
айУС,=>аг> 2
§ 3 а4 ай > 11 Д /7 о->4а6 V Сг а,,
§ 4.
Выводы
1. Введено понятие функции контроля, обобщающей возможные методы оценки эффективности контроля.
2. Предложен универсальный алгоритм моделирования цифрового устройства с аппаратурным контролем с целью оценки количественных значений критериев качества контроля.
3. Алгоритм представлен в виде программы на языке ЛЯПАС и отлажен на ЭВМ М-220.
ЛИТЕРАТУРА
1. Н. П. Б а й д а , Л. А. Лядункина, В. М. Разин. Исследование цифровых устройств с аппаратурным контролем методом цифрового моделирования. Известия ЛЭТИ. Вып. 118, часть I, Л., 1972.
2. Н. П. Б а й д а , Л. А. Лядункина, В. М. Разин. Моделирование цифровых устройств с аппаратурным контролем на языке ЛЯПАС. Известия ТПИ, т. 277 (в печати).
3. И. П. Абрамов, Н. П. Б а й д а, Ю. М. Комаров, В. Б. Л и п с к и й, В. М. Разин. Формализованное описание цифрового устройства и его модель. Настоящий сборник.
4. А. Д. Закревский. Алгоритмы синтеза дискретных автоматов. М., «Наука», 1971.
5. Н. П. Б а й д а , В. М. P а з и н . О показателях качества схем аппаратурного контроля цифровых устройств. Надежность и контроль качества. (Приложение к журналу «Стандарты и качество»), 1972, № 6.
6. Г. Ч ж е н, Е. М е н н и н г, Г. М е т ц. Диагностика отказов цифровых вычислительных систем. М., «Мир», 1972.
7. Н. П. Байда. Эффективность и достоверность аппаратурного контроля цифровых устройств. Известия ТПИ, т. 202, Томск, изд. ТГУ, 1973.