1. Введение
Использование схем встроенного контроля (СВК) позволяет обнаруживать неисправности и ошибки в вычислениях устройствами автоматики и вычислительной техники в процессе реализации ими своих функций [1, 2]. Такое свойство крайне важно для обеспечения надежности и безопасности устройств, функционирующих в системах различного назначения, в том числе, являющихся составляющими систем управления ответственными технологическими процессами в промышленности и на транспорте [3, 4].
При синтезе СВК используются принципы дробного и кратного резервирования, а также диверсной защиты. Существуют методы, основанные на использовании внутренней избыточности – внесения ее в структуру исходного устройства (объект диагностирования), а также основанные на внесении внешней избыточности – применении внешних средств технического диагностирования. Здесь широко используются методы теории информации и кодирования в процессе выбора способа внесения избыточности [5–10].
Известен [11, 12] традиционный подход к организации СВК с внешними средствами технического диагностирования, основанный на отождествлении булевого вектора, формируемого на выходах объекта диагностирования, с информационным вектором и дополнении его во внешней СВК с применением контрольных устройств до кодового слова заранее выбранного двоичного равномерного кода. В процессе вычисления функций объектом диагностирования во время эксплуатации могут возникать неисправности, приводящие к ошибкам на его выходах, что, в свою очередь, приводит и к возникновению искажений символов кодовых слов и фиксируется тестером заданного кода. Часто в традиционной структуре организации СВК применяют свойства двоичных разделимых кодов: информационный вектор формируется на выходах объекта диагностирования, а контрольный – на выходах устройства контрольной логики. При этом физически объект диагностирования и устройство контрольной логики разделены, что позволяет понятным образом обеспечивать самопроверяемость структуры конечной системы [13].
Достоинства традиционного подхода к организации СВК очевидны, а вот недостатком является то, что при использовании заданного равномерного кода число вариантов синтеза СВК для устройства с конкретными параметрами является крайне малым. Это не позволяет в ряде случаев добиваться обеспечения свойства его самопроверяемости. Однако существует альтернативный подход, основанный на логической коррекции сигналов (ЛКС) в СВК, лишенный данного недостатка [14].
Использование ЛКС при организации СВК с применением равномерных кодов дает возможность синтеза большого числа самопроверяемых устройств. Более того, в практических приложениях удается синтезировать полностью самопроверяемые структуры даже в тех случаях, когда этого невозможно добиться при использовании традиционных подходов к синтезу СВК, основанных на применении традиционного подхода [15].
Использованию ЛКС совместно с равномерными кодами посвящено большое количество работ (однако в сотни раз меньшее, чем использованию традиционного подхода). Например, в [16–18] обсуждаются особенности применения неразделимых равномерных кодов при синтезе СВК на основе ЛКС, в [19–21] – разделимых равномерных кодов с учетом их свойств, в [22, 23] – использования свойств особых классов булевых функций совместно с ЛКС, а в [24, 25] – применения сразу же двух диагностических признаков для организации контроля вычислений на основе ЛКС. В данной статье авторы приводят результаты исследований общего числа способов синтеза СВК на основе ЛКС с применением равномерных разделимых кодов.
Исходные предпосылки и допущения
При синтезе схем встроенного контроля (СВК) на основе логической коррекции сигналов (ЛКС) с применением разделимых равномерных кодов, или (m, k)-кодов, где m и k – число информационных и проверочных символов, могут рассматриваться три основные структуры. Структура типа I подразумевает использование ЛКС для преобразования части функций, вычисляемых на выходах объекта диагностирования, в функции, описывающие проверочные символы заданного (m, k)-кода. Следует отметить, что такое преобразование оказывается единственным для заданной последовательности преобразуемых выходов объекта диагностирования в силу того, что каждому информационному вектору будет соответствовать единственный контрольный вектор (m, k)-кода. Структура типа II основана на логической коррекции сигналов только с тех выходов объекта диагностирования, которые участвуют в формировании информационных символов (m, k)-кода. Здесь преобразование не является единственным, так как для (m, k)-кода при условии m > k одному контрольному вектору может соответствовать два и более информационных векторов. Структура типа III – обобщенная структура организации СВК – основана на использовании ЛКС сразу же со всех выходов объекта диагностирования. В такой структуре возможно гораздо большее количество вариантов доопределения значений информационных и проверочных символов заданного (m, k)-кода. Эти структуры не являются новыми. Структура типа I исследовалась в работах [19, 20, 26], структура типа II рассматривалась в [27] и структура типа III – в [28, 29].
На рис. 1 приведены каскады элементов преобразования для структур всех трех типов. Во всех структурах объектом диагностирования является блок F(x), формирующий систему булевых функций f1, f2, …, fn, n = m + k. Данные функции участвуют в формировании кодовых слов выбранного на этапе проектирования СВК (m, k)-кода, описываемых функциями h1, h2, …, hn. В структурах типа I и II часть из рабочих функций объекта диагностирования корректируются, а часть – нет; в структуре типа III корректируются значения всех булевых функций. Функции логической коррекции сигналов вычисляются блоком контрольной логики G(x).
Рис. 1. Каскады элементов преобразования в структурах организации СВК на основе ЛКС с применением (m, k)-кодов.
Ясно, что могут рассматриваться и другие вариации структур организации СВК на основе ЛКС с применением (m, k)-кодов. Однако в дальнейшем изложении ограничимся только тремя основными.
Работа устройств F(x) происходит при подаче на t входов множества булевых векторов длиной t. Рассмотрим общий случай, когда объект диагностирования функционирует при подаче полного множества входных комбинаций. Его мощность равна 2t. При рассмотрении (m, k)-кода будем рассматривать полное множество его кодовых слов. Его мощность будет равна 2m. Максимальное число контрольных векторов будет равно 2k. Причем, будем рассматривать только те (m, k)-коды, для которых при формировании всех 2m информационных векторов, контрольные векторы генерируются равномерно. Другими словами, каждому контрольному вектору соответствует информационных векторов. Такое ограничение вызвано вопросами обеспечения самопроверяемости СВК и необходимостью формирования некоторого множества кодовых слов (m, k)-кода для проверки его тестера в процессе эксплуатации (конкретное количество кодовых слов, информационных и контрольных векторов определяется при проектировании СВК с учетом особенностей реализации тестера и условий эксплуатации самопроверяемого устройства) [27–29].
Поставим следующую задачу: определить общее количество способов синтеза СВК по трем различным структурам и оценить возможности использования (m, k)-кодов при этом.
Многообразие способов синтеза схем встроенного контроля
В структуре типа I каждый информационный вектор (m, k)-кода однозначно будет определять значения проверочных символов в контрольном векторе. Для выбранных выходов m и k существует только один способ доопределения функций ЛКС. Число способов выбора k преобразуемых функций из m+k определяется величиной . Число вариантов выбора последовательности размещения символов в информационном векторе определяется числом перестановок из m элементов – числом . Число вариантов выбора последовательности размещения символов в контрольном векторе определяется числом перестановок из k элементов – числом . Таким образом, общее число способов организации СВК по структуре типа I с учетом однозначного доопределения функций ЛКС равно:
(1)
В структуре типа II заполнение на каждом входном наборе не однозначное. Напомним, что рассматривается случай использования (m, k)-кода, при котором информационные векторы распределены между контрольными равномерно (такие коды широко распространены и используются в практике синтеза высоконадежных цифровых схем [30]). Число способов выбора m преобразуемых функций из m+k определяется величиной . Число вариантов выбора последовательности размещения символов в контрольном векторе определяется числом перестановок из m элементов – числом . Число вариантов выбора последовательности размещения символов в контрольном векторе определяется числом перестановок из k элементов – числом . На каждой входной комбинации из 2t можно 2m–k способами доопределить функции так, чтобы был сформирован информационный вектор с необходимым контрольным. При этом должно выполняться условие: t≥k. В противном случае не удастся обеспечить формирование по разу каждого контрольного вектора. Общее число способов доопределения, таким образом, будет равно . Отсюда становится ясно, что число способов построения СВК с учетом отмеченного равно:
(2)
Структура типа III отличается от вышерассмотренных тем, что на каждом из 2t входных наборов можно получить любое кодовое слово из полного множества кодовых слов (m, k)-кода с учетом необходимости формирования каждого контрольного вектора хотя бы на одном входном наборе. Далее будем полагать, что доопределение будет таковым, что все контрольные векторы будут формироваться на одинаковом числе входных комбинаций, т. е. распределение формируемых контрольных векторов будет равномерно. В таком случае имеем 2t кодовых слова, распределенных равномерно между 2k контрольными векторами, или имеем 2t–k кодовых слов с одним и тем же контрольным вектором. Следует отметить естественное ограничение, как и в случае со структурой типа II, величина t ≥ k.
Число способов выбора m информационных символов из m+k символов, по-прежнему, равно . Число вариантов выбора последовательности размещения символов в информационном векторе определяется числом перестановок из m элементов – числом . Число вариантов выбора последовательности размещения символов в контрольном векторе определяется числом перестановок из k элементов – числом . При этом на каждом входном наборе можно осуществить доопределение функций ЛКС для получения информационных символов 2m–k способами, поскольку все кодовые слова (их 2m) распределены равномерно между всеми контрольными векторами (их 2k); проверочные символы будут получены после единственным способом. Итого, имеем способов доопределения функций логической коррекции.
Но здесь не учитывается, что первый контрольный вектор может быть сформирован на
входных комбинациях;
второй – на ;
третий – на ; …;
2k-ый – на .
Всего число вариантов доопределений с учетом возможных вариантов сочетаний выходов равно:
С учетом числа способов доопределения, имеем следующее общее число способов построения СВК по структуре типа III:
(3)
Рассмотрим отдельно произведение в формуле (3).
Введем обозначения: Тогда 2k можно получить следующим образом: Произведение в выражении (3) с учетом введенных обозначений может быть записано в виде:
Вернемся к введенным выше обозначениями и подставим исходные выражения в формулу (4):
(5)
Формула (3), описывающая число способов построения СВК по структуре III, с учетом (5) приводится к виду:
(6)
Используя (1), (2) и (6), можно определить для рассматриваемого объекта диагностирования общее количество способов организации СВК на основе ЛКС с применением (m, k)-кода. В табл. 1–3 приведены результаты расчетов для некоторых значений t, m и k для всех трех структур. К примеру, при исходных данных t = 4, m = 4, k = 2 число способов организации СВК по структурам типа I, II и III равно NI = 720, NII = 46 080, NIII = 726 485760 000. Из сравнения данных такого простого примера следует, что структура типа III обладает более высокой вариативностью, чем первые две структуры: существует в 1 009008 000 раз больше вариантов ее построения, чем по структуре типа I и в 15 765750 раз, чем по структуре типа II.
Таблица 1. Число способов организации СВК по структуре типа I
m | k |
2 | 3 | 4 |
4 | 720 | 5 040 | 40 320 |
5 | 5 040 | 40 320 | 362 880 |
6 | 40 320 | 362 880 | 3 628 800 |
7 | 362 880 | 3 628 800 | 39 916 800 |
8 | 3 628 800 | 39 916 800 | 479 001 600 |
9 | 39 916 800 | 479 001 600 | 6 227 020 800 |
10 | 479 001 600 | 6 227 020 800 | 87 178 291 200 |
Таблица 2. Число способов организации СВК по структуре типа II
t | m | k |
2 | 3 | 4 |
2 | 4 | 11 520 | – | – |
2 | 5 | 161 280 | – | – |
2 | 6 | 2 580 480 | – | – |
2 | 7 | 46 448 640 | – | – |
2 | 8 | 928 972 800 | – | – |
2 | 9 | 20 437 401 600 | – | – |
2 | 10 | 490 497 638 400 | – | – |
… | … | … | … | … |
3 | 4 | 23 040 | 80 640 | – |
3 | 5 | 322 560 | 1 290 240 | – |
3 | 6 | 5 160 960 | 23 224 320 | – |
3 | 7 | 92 897 280 | 464 486 400 | – |
3 | 8 | 1 857 945 600 | 10 218 700 800 | – |
3 | 9 | 40 874 803 200 | 245 248 819 200 | – |
3 | 10 | 980 995 276 800 | 6 376 469 299 200 | – |
… | … | … | … | … |
4 | 4 | 46 080 | 161 280 | 645 120 |
4 | 5 | 645 120 | 2 580 480 | 11 612 160 |
4 | 6 | 10 321 920 | 46 448 640 | 232 243 200 |
4 | 7 | 185 794 560 | 928 972 800 | 5 109 350 400 |
4 | 8 | 3 715 891 200 | 20 437 401 600 | 122 624 409 600 |
4 | 9 | 81 749 606 400 | 490 497 638 400 | 3 188 234 649 600 |
4 | 10 | 1 961 990 553 600 | 12 752 938 598 400 | 89 270 570 188 800 |
Таблица 3. Число способов организации СВК по структуре типа III
t | m | k |
2 | 3 | 4 |
2 | 4 | 69 120 | – | – |
2 | 5 | 967 680 | – | – |
2 | 6 | 15 482 880 | – | – |
2 | 7 | 278 691 840 | – | – |
2 | 8 | 5 573 836 800 | – | – |
2 | 9 | 122 624 409 600 | – | – |
2 | 10 | 2 942 985 830 400 | – | – |
… | … | … | … | … |
3 | 4 | 14 515 200 | 406 425 600 | – |
3 | 5 | 203 212 800 | 6 502 809 600 | – |
3 | 6 | 3 251 404 800 | 117 050 572 800 | – |
3 | 7 | 58 525 286 400 | 2 341 011 456 000 | – |
3 | 8 | 1 170 505 728 000 | 51 502 252 032 000 | – |
3 | 9 | 25 751 126 016 000 | 1 236 054 048 768 000 | – |
3 | 10 | 618 027 024 384 000 | 32 137 405 267 968 000 | – |
… | … | … | … | … |
4 | 4 | 726 485 760 000 | 1 647 669 703 680 000 | 843 606 888 284 160 000 |
4 | 5 | 10 170 800 640 000 | 26 362 715 258 880 000 | 15 184 923 989 114 880 000 |
4 | 6 | 162 732 810 240 000 | 474 528 874 659 840 000 | 303 698 479 782 297 600 000 |
4 | 7 | 2 929 190 584 320 000 | 9 490 577 493 196 800 000 | 6 681 366 555 210 547 200 000 |
4 | 8 | 58 583 811 686 400 000 | 208 792 704 850 329 600 000 | 160 352 797 325 053 132 800 000 |
4 | 9 | 1 288 843 857 100 800 000 | 5 011 024 916 407 910 400 000 | 4 169 172 730 451 381 452 800 000 |
4 | 10 | 30 932 252 570 419 200 000 | 130 286 647 826 605 670 4000 000 | 116 736 836 452 638 680 678 400 000 |
Из сравнения же формул (1), (2) и (6) непосредственно следует, что представляет интерес исследование способов формирования алгоритмов построения СВК на основе структур типа II и III, тогда как по структуре типа I число способов определяется исключительно вариантами выбора выходов для преобразования и перестановок выходов внутри информационного и контрольного векторов.
Исследование числа способов организации схем встроенного контроля по различным структурам при увеличении числа выходов объекта диагностирования
4.1. Свойства структур, проявляющиеся при увеличении числа выделяемых информационных символов при постоянстве числа проверочных символов
Установим, как изменяется общее число вариантов построения СВК по структурам всех трех типов.
Определим, как изменится число вариантов построения СВК по структуре типа I с увеличением m на 1 при неизменном k:
(7)
Найдем, как изменится число вариантов построения СВК по структуре типа I с увеличением m на 2 при неизменном k:
(8)
Обобщим (7) и (8) и найдем, как изменится число вариантов построения СВК по структуре типа I с увеличением m на произвольное при неизменном k:
(9)
Таким образом, справедливо следующее умозаключение.
Утверждение 1. При увеличении числа информационных символов при постоянном значении числа проверочных символов на величину общее число способов построения СВК на основе ЛКС с применением заданного (m, k)-кода по структуре типа I увеличивается в раз.
Аналогично изложенному выше найдем, как изменится число вариантов построения СВК по структуре типа II с увеличением m на 1 при неизменном k:
(10)
Установим, как меняется число вариантов построения СВК по структуре типа II с увеличением m на произвольную величину при неизменном k:
(11)
С увеличением m на 1 при неизменном k для структуры типа III число способов построения СВК изменяется на величину:
(12)
С учетом полученных ранее закономерностей (см. формулу 9), установим, как меняется число вариантов построения СВК по структуре типа III с увеличением m на произвольную величину при неизменном k.
(13)
Утверждение 2. При увеличении числа информационных символов при постоянном значении числа проверочных символов на величину общее число способов построения СВК на основе ЛКС с применением заданного (m, k)-кода по структурам типа II и III увеличивается в раз.
4.2. Свойства структур, проявляющиеся при увеличении числа выделяемых проверочных символов при постоянстве числа информационных символов
Рассмотрим, как меняется общее количество способов синтеза СВК на основе ЛКС с применением заданного (m, k)-кода в случае изменения числа выделяемых проверочных символов при постоянстве числа информационных символов.
Анализ (7)–(9) приводит к следующему умозаключению.
Утверждение 3. При увеличении числа проверочных символов при постоянном значении числа информационных символов на величину общее число способов построения СВК на основе ЛКС с применением заданного (m, k)-кода по структуре типа I увеличивается в раз.
Установим, как меняется число вариантов построения СВК по структуре типа II с увеличением k на произвольную величину при неизменном m:
(14)
Выражение (14) доказывает следующее положение:
Утверждение 4. При увеличении числа проверочных символов при постоянном значении числа информационных символов на величину общее число способов построения СВК на основе ЛКС с применением заданного (m, k)-кода по структуре типа II изменяется в раз.
Пользуясь (6), найдем, как меняется число вариантов построения СВК по структуре типа III с увеличением k на произвольную величину при неизменном m:
(15)
Выражение (15) приводит к такому положению:
Утверждение 5. При увеличении числа проверочных символов при постоянном значении числа информационных символов на величину общее число способов построения СВК на основе ЛКС с применением заданного (m, k)-кода по структуре типа III изменяется в
раз.
Отметим, что могут быть установлены аналогичные свойства структур типов I, II и III, проявляющиеся при увеличении числа проверочных символов при постоянстве числа информационных символов (m, k)-кода, а также проявляющиеся при изменении как чисел m, так и k.
4.3. Сравнение числа способов синтеза СВК на основе структур различных типов
Найдем отношение величины NII к NI:
(16)
Выражение (16) доказывает следующее положение:
Утверждение 6. Общее число способов построения СВК на основе ЛКС с применением заданного (m, k)-кода по структуре типа II для одних и тех же t, m и k больше в раз, чем аналогичное число для структуры типа I.
Найдем отношение величины NIII к NI:
(17)
Конечное выражение в (17) свидетельствует о следующем:
Утверждение 7. Общее число способов построения СВК на основе ЛКС с применением заданного (m, k)-кода по структуре типа III для одних и тех же t, m и k больше в раз, чем аналогичное число для структуры типа I.
И, наконец, найдем отношение величины NIII к NII:
(18)
Становится ясным следующее:
Утверждение 8. Общее число способов построения СВК на основе ЛКС с применением заданного (m, k)-кода по структуре типа III для одних и тех же t, m и k больше в
раз, чем аналогичное число для структуры типа II.
Установим, как изменяется значение χΙΙ, Ι c увеличением m на 1:
(19)
Обобщим результат и определим, как изменяется значение χΙΙ, Ι c увеличением m на произвольное :
(20)
Аналогично определим, как изменяется значение χΙΙΙ, Ι c увеличением m на 1:
(21)
Обобщим результат и определим, как изменяется значение cIII, I c увеличением m на произвольное :
(22)
Из сравнения (20) и (22) следует, что при увеличении m на произвольное натуральное число q значения величин cII, I и cIII, I изменяются одинаково. Из (18) следует, что величина cIII, II c увеличением m на произвольное натуральное число q не меняется.
Утверждение 9. Величины cII, I и cIII, I не зависят от числа m и при увеличении на q изменяются одинаково в 2q раз.
Утверждение 10. Величина cIII, II не зависит от числа m и при увеличении на q не изменяется.
Отмеченные в настоящем разделе свойства структур типа I, II и III могут учитываться на практике при выборе способа организации СВК на основе ЛКС с применением заданного (m, k)-кода.
Учет числа способов реализации СВК на практике
Рассмотрим примеры применения полученных в исследовании зависимостей.
Пример1. Даны устройства F1(x) и F2(x) с одинаковым числом входов t = 4 и n1 = 10 и n2 = 12 выходами. Определить число способов организации СВК на основе ЛКС с применением (m, k)-кода, удовлетворяющего введенным ранее ограничениям, по структурам типа I, II и III при k = 2 и установить, во сколько раз больше способов построения СВК для устройства F2(x), чем для устройства F1(x), для каждой из структур.
Рассматриваемый пример можно дополнить рис. 2, где приведены устройства и их параметры.
Рис. 2. Заданные устройства F1(x) и F2(x).
Используем формулы (1), (2) и (6) и определим числа NI, NII, NIII для структур трех типов, организуемых для устройства F1(x):
Аналогично для F2(x) имеем:
Читатель может найти те же данные в табл. 1–3.
С использованием формулы (8), найдем значение следующего выражения:
Далее используем (11) при p = 2:
Формула (13) для рассматриваемого случая p = 2 дает аналогичный результат:
Пример 2. Дано устройство F(x) с числом входов t = 4 и выходов n = 16. Требуется установить число способов синтеза СВК на основе ЛКС по структурам всех трех типов с учетом контроля всех выходов на основе (m, k)-кода, удовлетворяющего введенным ранее ограничениям, при k = 2, а также при делении выходов на два подмножества одинаковой мощности и контроля каждого из них на основе аналогичных структур, а также определить, во сколько раз больше окажется число способов синтеза СВК в случае контроля всех выходов на основе одного кода.
Рассматриваемый пример можно проиллюстрировать рис. 3.
Рис. 3. Принцип организации контроля вычислений по рассматриваемому примеру.
Используем те же формулы (1), (2) и (6) и определим числа NI, NII, NIII для структур трех типов, организуемых для устройства F(x) при его контроле на основе заданного кода:
Разобьем выходы на две группы по 8 выходов в каждой и организуем контроль каждой из них на основе всех трех структур. Получаем следующее число способов организации СВК:
Таким образом, число вариантов организации СВК на основе ЛКС и рассматриваемого (m, k)-кода по структурам типа I и II больше числа вариантов организации СВК для двух выделяемых подмножеств в 12 870 раз. Для структуры типа III число вариантов организации СВК, наоборот, уменьшилось в 1 225 раз.
Могут быть рассмотрены и иные примеры, демонстрирующие эффективность использования установленных в настоящей статье свойств структур типов I, II и III.
Заключение
Большое число способов организации СВК на основе ЛКС с применением (m, k)-кодов позволяет на практике не только синтезировать различные по показателям структурной избыточности устройства с обнаружением неисправностей, но и гораздо проще обеспечивать их самопроверяемость, чем при использовании традиционной структуры, подразумевающей единственную реализацию для выбранного кода (при условии заданных элементной базы и способов синтеза контрольных элементов).
Наибольшей вариативностью обладает структура типа III, позволяющая синтезировать гигантское количество СВК на основе ЛКС с применением (m, k)-кодов. Несколько меньшей вариативностью обладает структура типа II и наименее вариативной является структура типа I, где число способов организации СВК определяется только числом вариантов выбора преобразуемых выходов и перестановками внутри групп преобразуемых и непреобразуемых выходов.
Установленные в ходе исследования закономерности позволяют на практике оценивать общее количество способов синтеза СВК на основе ЛКС с применением (m, k)-кодов и выбирать наилучшие из них для реализации самопроверяемых цифровых устройств.
Наличие большого числа способов синтеза СВК на основе ЛКС является одновременно и достоинством и недостатком, поскольку даже при малых значениях m = 8…10 процедура выбора наилучшего способа по заданному критерию (например, структурной избыточности СВК или равномерности формирования тестовых комбинаций для ее элементов) трудоемка. На практике целесообразно искать квазиоптимальные варианты организации СВК.
Следует также отметить, что здесь не рассматривались некоторые возможные ограничения на процедуру синтеза СВК, например, формирование неполного множества входных воздействий на объект диагностирования или же возможность использования только подмножества кодовых слов заданного (m, k)-кода для организации контроля и пр. Все эти способы будут являться частными случаями рассмотренных и могут быть исследованы дополнительно.
Использование ЛКС с применением (m, k)-кодов – это тот подход, который может оказаться весьма эффективным при синтезе устройств с обнаружением неисправностей для использования в составе систем управления ответственными технологическими процессами.