Устройство для контроля последовательности выполнения программ
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано для контроля правильности выполнения программ ЭВМ и других устройств и систем программного управления , а также для автоматизированной отладки программ и контроля очередности следования модулей программ. Целью изобретения является расширение функциональных возможностей устройства за счет расширения множества контролируемых программ . Поставленная цель достигается тем, что в состав устройства введены дептфратор, третья группа элементов И и группа элементов задержки . Кроме Того, применен новьм способ кодирования записи последовательности выполнения модулей программы . 2 ил., 5 табл. S (Л to 01 4 4;: CD 00
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (19) (11) А1 (51) 4 G 06 Р 11/30 11/28
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АBTÎPCHÎMV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3848908/24-24 (22) 29. 01. 85 (46) 30.08.86. Бюл. Р 32 (71) Ульяновский политехнический институт (72) Г.Б. Соловей (53) 681. 3 (088. 8) (56) Авторское свидетельство СССР
N 630630, кл. G 06 F 11/00, 1978.
Авторское свидетельство СССР
У 842843, кл. G 06 F 11/30, 1981. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПОСЛЕДОВАТЕЛЬНОСТИ ВЫПОЛНЕНИЯ ПРОГРАММ (57) Изобретение относится к вычислительной технике и может быть использовано для контроля правильности выполнения программ ЭВИ и других устройств и систем программного управления, а также для автоматизированной отладки программ и контроля очередности следования модулей программ. Целью изобретения является расширение функциональных возможностей устройства за счет расширения множества контролируемых программ. Поставленная цель достигается тем, что в состав устройства введены дешифратор, третья группа элементов И и группа элементов задержки. Кроме того, применен новый способ кодирования записи последовательности выполнения модулей программы. 2 ил., 5 табл.
1254493
Г
25
Таблица 3
Таблица1
Таблица 4
Изобретение относится к вычислительной технике и может быть использовано для контроля правильности. выполнения программ ЭВМ и других устройств и систем с программным управлением, а также для автоматизированной отладки программ и контро" ля очередности следования модулей программы.
Цель изобретения — расширение класса контролируемых программ.
На фнг. 1 приведена функциональная схема устройства; на фиг. 2блок оперативной папанти.
Устройство для контроля последовательности выполнения программ содержит вход 1 опроса, первый вход
2 и второй вход 3 записи эталонной последовательности, информационный вход 4, выходы 5 правильного и выходы 6 неправильного следования модулей программы, блок 7 оперативной памяти, регистр 8, дешифратор 9, первый 10, третий 11 и второй 12 элементы ИЛИ, элемент 13 задержки, первую 14, вто« рую 15 и третью 16 группы элементов
И, группу элементов ИЛИ 17, группу элементов 18 задержки, каждая ячейЮ ка блока оперативкой памяти содержит триггер 19, первый 20, второй
2f и третий 22 элементы И.
Объединение выходов элементов
И 21 (22) каждого столбца реализовано по схеме "МОНТАЖНОЕ ИЛИ".
Согласно способу кодирования зависимости модулей друг от друга в известном устройстве, последователь" ность модулей должна быть закодирована в блоке оперативной памяти следующим образом {см. табл. 1).
Независимо от используемого пути передачи управления в предложенной последовательности выполнения модулей никогда не будет выдан сигнал на разрешение включения в работу программы мо .уля 11 3.
Действительно, при необходимос5 ти выполнения модулей УФ 2, 4, 5, 3 в блоке оперативной памяти будут последовательно реализованы следующие преобразования sa счет стирания единиц в строках, соответствующих выполненному модулю (см. табл. 2-4)
Таблица 2
1254493
j1 8, ЗП1 ; (» g, ОП), В табл. 2 выполнен модуль 11 2, в табл. 3 выполнен модуль N 4, в табл. 4 — выполнен модуль У 5.
Ф
К моменту вызова модуль У 3 в ячейках блока оперативной памяти $
1-й, 3-й и б-й, 1-й присутствуют единицы, что является препятствием для разрешения выполнения данного модуля.
Аналогичная ситуация возникает и при выполнении последовательности модулей У 2, 4, 6, 1, 3. В описании показана возможность реализации и диагностирования данной последовательности модулей. >5
Представим зависимость между модулями программы в виде графа, где вершинам соответствуют модули программ, а ребрам — возможные передачи управления между модулями. Таким образом, в общем случае к одной вершине может подходить несколько ребер, а также отходить несколько ребер. Для представления подобных зависимостей сопоставим каждому столбцу и каждой строке блока 7 оперативной памяти определенный модуль программы. Содержимое блока оперативной памяти соответствует матрице связности графа зависимостей модулей ЗО программы, т.е. "1" s .клетку на пересечении -ой строки и j -ro столбца заносится в том случае, если за i -м модулем программы может следовать ) -й, а "0" -З$ если не существует передачи управления от i --го модуля к j -му модулю программы. Для программы (фиг. 4), вариант заполнения 2-й матрицы представлен в табл. 5 40
Таблица 5
$$
Число "0" для обозначения модуля не используется. Перед включением в работу j -го модуля осуществляется проверка на наличие связи между данным и последнии выполнением (i-м) модулем, т.е. наличие "1™ в клетке на пересечении 1 -го столбца и (-ой строки.
В случае отсутвия ™1" делается заключение об отсутствии связи между данными модулями программы и вырабатывается сигнал "Запрет" на включение модуля в работу.
Рассмотрим на качественном уровне воэможность реализации всех типов проверок. Если 1 -й модуль не принадлежит выполняемой программе, то в соответствующем столбце блока
7 оперативной памяти записаны все нули, т.е. и в ячейке (i,j) записан и и
0 (где > — номер модуля редшественника), а значит., будет выдан сигнал "Запрет". Аналогично будет выдан сигнал "Запрет" и в том случае, если j -й модуль не должен следовать эа t -м. EcJIH требуется однократное выполнение l» -го модуля, то в ячейке (i,i) будет записан "0", попытка вторичного выполнения -го модуля приведет к появлению сигнала
"Запрет".
Устройство функционирует в двух режимах: записи зависимости модулей и контроля правильности включения модуля в работу программы.
В соответствии с режимами в устройстве должна быть обеспечена следующая последовательность поступления информации в процессе функционирования(1,g,k — номера модулей
ОП, ЗНО, ЗПР— управляющие сигналы).
Для каждого исполняемого модуля (3) программы: (для каждого модуля (!), предшествующего Х -му модулю.
k g, ЗП1 (k — первын модуль программы), для каждого модуля (k), перед включе нием его в программу
В режиме записи зависимости модулей предварительно обнуляется содержимое блока 7 оперативной памяти и регистра 8.
Для каждого используемого в программе модуля выполняются следующие операции. Иа информационный вход 4
254493 6
30
35
4S
5 1 устройства последовательно подаются номера модулей, непосредственно после которых может быть включен в работу J -й модуль, одновременно с подачей номеров модулей поступают по управляющему входу 3 устройства сигналы ЗП1.
Дешифратор 9 преобразует каждый номер в сигнал на одном из выходов, который через соответетующие элемент 16 третьей группы элементов И и элемент 17 группы элементов ИЛИ записывает "1" в требуемый разряд регистра 8 (после поступления всех .требуемых согласно программе номеров, в регистре 8 сформируется множество "1 "). Затем на информационный вход 4 устройства подается номер
1-ro модуля, а на управляющий вход
2 — сигнал ЗПО, в результате чего, во-первых, через дешифратор 9 возбуждается соответствующий -му модулю столбец, во-вторых, через эле менты 15 второй группы элементов И " строки блока 7 оперативной памяти, которые соответствуют записанным в регистре 8 единицам.
Триггер 19 (È5 -триггер) хранит информацию.о воэможности следования за 3 -м модулем программы У -ro модуля. На пересечении возбужденных строк и 3 -ro столбца через первый элемент И 20 единицы записываются в триггер 19. Через время,, необхо димое для. записи единиц в блок 1 оперативной памяти, регистр 8 будет обнулен через элемент 13 задержки и третий элемент ИЛИ 12. Далее укаэанные действия будут выполнены для следующего модуля. После заполнения блока 7 оперативной памяти в соответствующую ячейку регистра 8 записан номер первого модуля программы, который и начинает выполняться.
В режиме контроля правильности включения модуля в работу программы на информационный вход 4 устройства поступает номер (М) эапрошенного в работу модуля, а на управляющий вход 1 - сигнал ОПР. В результате возбуждается 1-я строка, соответству ющая последнему выполненному модулю программы (через один иэ элементов
14 первой группы элементов И), и
В-й столбец.
В зависимости от состояния триггера 19 возбуждается один иэ выходов М "го столбца. Если триггер в
10 !
20 нулевом состоянии (в программе отсутствует связь между данными мбдулями), то через элемент И 22 и первый элемент ИЛИ 11 будет инициирован сигнал "Запрещение" включения модуля в работу программы. Ксли триггер в единичном состоянии, то, вопервых, через элемент И 21 и второй элемент ИЛИ 10 будет выдан сигнал
"Разрешение" на выполнение очередного модуля программьц во-вторых, через третий элемент HJIH 12 будет обнулен регистр 8; в-третьих, через время 7, необходимое для обнуления регистра 8, через один из элементов 18 группы элементов задержки и элемент 17 группы элементов ИЛИ в разряд, соответствующий номеру данного модуля, регистра 8 будет записана единица. Впоследствии номер. данного модуля фигурирует как номер последнего выполненного модуля.
Формула изобретения
Устройство для контроля последовательности выполнения программ, содержащее первый, второй и третий элементы ИЛИ, регистр, группу элементов ИЛИ, первую и вторую группы элементов И, элемент задержки, блок оперативной памяти, причем выходы первого и второго элементов ИПИ являются соответственно выходами правильного и неправильного следования модулей программы устройства, информационные выходы первой группы оперативкой памяти соединены с группами входов первого и второго элементов ИЛИ, информационные выходы второй группы блока оперативной памяти соединены с соответствующими входами третьего элемента ИЛИ, вход опроса устройства соединен с первьвии входами элементов И первой группы, первый вход записи эталонной последовательности устройства соединен с первыми входами элементов И второй группы и через элемент задержкис входом второго элемента ИЛИ, выход которого соединен с входом начальной установки регистра, информационные выходы регистра соединены с вторыми входами соответствующих элементов И первой и второй групп, выходы элементов И первой и второй групп соединены соответственно с
7 1254493 8 входами опроса и записи блока опера- устройства соединен с входом дешифтивной памяти, выход каждого элемен- ратора, каждый выход которого соета ИЛИ группы соединен с информаци- динен с вторым входом соответствуюонным входом соответствующего раз- щего элемента И третьей группы и ряда регистра, о т л и ч а ю щ е — входом признака записи информации е с я тем, что, с целью расширения блока оперативной памяти, выходы класса контролируемых программ, в элементов И третьей группы соединены него введены дешифратор, третья груп- с первыми входами соответствующих па элементов И и группа элементов элементов ИЛИ группы, информационные задержки, причем второй вход записи 1в выходы первой группы блока оперативэталонной последовательности устрой- ной памяти соединены через соответства соединен с первыми входами эле- ствующие элементы задержки группы ментов И третьей группы, вход номера с вторыми входами соответствующих контролируемого модуля программы элемечтов ИЛИ группы.
1254493
Составитель И.Сигналов
Редактор И.Касарда Техред И.Попович Корректор В..Бутяга
Тираж б71 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Заказ 4722/53
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4