Устройство для контроля хода программ
Иллюстрации
Показать всеРеферат
УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА ПРОГРАММ, содержащее счетчик -времени, генератор импульсов, дешифратор , четыре элемента И и два элемента ИЛИ, причем информационньй вход счетчика времени является входом кода допустимого времени работы программы устройства, выход переполнения счетчика времени является выходом метки времени устройства, выход генератора импульсов соединен со счетным входом счетчика времени, отличающееся тем, что, с целью расширения функциональных возможностей устройства путем обеспечения контроля при зацикливании и непрограммном останове, в устройство введены счетчик признаков, триггер блокировки, триггер окраски запуска, причем выход триггера блокировки соединен с первыми входами первого и второго элементов И, выходы которых являются соответственно выходом неисправности программы и перезапуска программы устройства, вход блокировки соединен с вторыми входами первого и второго элементов И, выход второго элемента И соединен с вторым входом первого элемен а ИЛИ, выход которого соединен с входом начальной установки счетчика признаков, первый и второй информационные выходы счетчика времени соединены с третьими входами.первого и второго элементов И, вход кода команды устройства соединен с входом дешифратора, первьй выход которого соединен с первым входом триггера окраски запуска, со счетным входом счетчика признаков, с первым входом триггера блокировки , второй выход дешифратора соединен с первым входом третьего элемента И, @ выход которого является признаком (Л начального пуска устройства, выход триггера окраски запуска соединен с вторым входом третьего элемента И, вход общего сброса устройства и вход Питание включено соединены соответственно с первым и вторым входами второго элемента ИЛИ, выход которого соединен с вторым входом григгера окраски запуска, вторым входом триггера блокировки, вторьм входом перэо вого элемента ШШ и с входом началь;х ) ной установки счетчика времени, выход переполнения счетчика времени соединен с третьим входом триггера блок ировки и с вторым входом четвертого элемента И, выход которого соединен с третьим входом первого элемента ШШ, выход переполнения счетчика признаков соединен с четвертым входом триггера блокировки и с вторым входом четвертого элемента И.
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК ((9> SU (и)
З(5И С 06 F 11 28
ОПИСАНИЕ ИЗОБРЕТЕНИЯ,1.
Н ABTOPCHOMV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3577744/18-24 (22) 04.02.83 (46) 07.07.84. Бюл. 1Ф 25 (72) П.А. Федярин и В.А. Черкасов (53) 681.3(088.8) (56) 1. Клямко Э.И. Схемный и тестовый контроль автоматических цифровых вычислительных машин. M. "Советское радио", 1963, с. 58-60, 91-92.
2. Авторское свидетельство СССР
N 894713, кл. G 06 F 11/28, 1980 (прототип). (54)(57) УСТРОЙСТВО ДЛЯ КОНТРОЛ
ХОДА ПРОГРАММ, содержащее счетчик .времени, генератор импульсов, дешифратор, четыре элемента И и два элемента ИЛИ, причем информационный вход счетчика времени является входом кода допустимого времени работы программы устройства, выход переполнения счетчика времени является выходом метки времени устройства, выход генератора импульсов соединен со счетным входом счетчика времени, о т л и ч а ю щ е е с я тем, что, с целью расширения функциональных возможностей устройства путем обеспечения контроля при зацикливании и непрограммном останове, в устройство введены счетчик признаков, триггер блокировки, триггер окраски запуска, причем выход триггера блокировки соединен с первыми входами первого и второго элементов И, выходы которых являются соответственно выходом неисправности программы и перезапуска прorраммы устройства, вход блокировки соединен с вторыми входами пер-. вого и второго элементов И, выход второго элемента И соединен с вторым входом первого элемен а ИЛИ, выход которого соединен с входом начальной установки счетчика признаков, первый и второй информационные выходы счетчика времени соединены с третьими входами первого и второго элементов
И, вход кода команды устройства соединен с входом дешифратора, первый выход которого соединен с первым входом триггера окраски запуска, со счетным входом счетчика признаков, с первым входом триггера блокировки, второй выход дешифратора соединен с первьм входом третьего элемента И, выход которого является признаком начального пуска устройства, выход триггера окраски запуска соединен с вторым входом третьего элемента И, вход общего сброса устройства и вход
"Питание включено" соединены соответственно с первым и вторым входами второго элемента ИЛИ, выход которого соединен с вторым входом триггера. окраски запуска, вторым входом триггера блокировки, вторым входом первого элемента ИЛИ и с входом начальной установки счетчика времени, выход переполнения счетчика времени соединен с третьим входом триггера блокировки и с вторым входом четвертого элемента И, выход которого соединен с третьим входом первого элемента ИЛИ, выход переПолнения счетчика признаков соединен с четвертым входом триггера блокировки и с вторым входом четвертого элемента И.
1101831
Изобретение относится к вычислительной технике, и частности к цифровым вычислительным машинам (ЦВМ), работающим в мультипрограммном режиме в реальном масштабе времени в автоматизиронанных системах управления объектами.
Известно устройство, †.ля контроля хода программ, содержащее счетчик, триггер, элемент И, осуществляющие 10 контроль с использованием запуска и блокировки сигнала ошибки при антораэрыве программ, т;е. при прерывании выполняемой программы и переходе на новую программу по сигналам !5 извне. Контроль перехода программы авторазрына осуществляется следуюшим образом: по сигналу авторазрыва взводится триггер сигнала ошибки, а в первой ячейке программы анторазрыва 20 располагается команда блокировки сигнала ошибки. В случае, если ЦВМ не выходит на программу анторазрыва через определенное время, формируется сигнал ошибки и хода программы ЦВМ Ц2.
Недостаток этого устройства состоит в том, что оно не позволяет осуществлять контроль кода правильности программы в случае зацикливания программы анторазрыва. 30
Наиболее близким к предлагаемому изобретению является устройство для контроля хода программ, содержащее два счетчика, генератор импульсов, три дешифратора, регистры, элементы 35
И и ИЛИ, осуществляющее временной контроль хода программы. В счетчик перед выполнением программы заносит-. ся по специальной команде программы код максимально допустимого времени @ выполнения программы, а число регистров хранения оставшегося нремени выполнения программ равно глубине пре рывания программ. При мультипрограммном режиме работы возможно прерыва — 5 ние текущей программы программой более высокого приоритета с перезаписью со счетчика кода оставшегося времени выполнения программ на регистр хранения кода и занесением на 50 счетчик максимального времени выполнения новой программы. При нормальном ходе программы переполнения счетчика не происходит и после выполнения программы содержимое с регистра хране- 55 ния кода оставшегося нремени выполнения программы переписывается обратно н. счетчик. Если время выполнения програм. мы превосходит максимально допустимое, то сигнал переполнения счетчика поступает в систему пре рывания Ulk1,сигнализируя о неправильном ходе программы (2) .
Недостатки известного устройства заключаются в том, что оно не позволяет осуществить контроль хода программы в случае зацикливания программы на командах, н число которых входит команда посылки кода на счетчики, В этом случае в счетчике будет циклические восстанавливаться началь ное значение кода максимального времени выполнения программы, сигнал переполнения счетчика не формируется и не поступит н систему прерывания, в данном устройстве отсутствует защита от случайного останова ЦВЫ в случае сбоя кода операции с выходом на команду Останов". Кроме того, в известном устройстве значительный объем оборудования, а также не реализуется автоматический пуск ЦВИ при включении питания.
Целью изобретения является расширение функциональных воэможностей устройства путем обеспечения контроля при зацикливании и непрограммном останове.
Поставленная цель достигается тем, что. устройство для контроля хода программ, содержащее счетчик времени, генератор импульсов, дешифратор, четыре элемента И и два элемента ИЛИ, причем информационный вход счетчика времени является входом кода допустимого времени работы программы устройства, выход переполнения счетчика времени является выходом метки времени устройства, выход генератора импульсов соединен со счетным входом счетчика времени, введены счетчик признаков, триггер блокировки, триггер окраски запуска, причем выход триггера блокировки соединен с первыми входами первого и второго элементов И, выходы которых являются соответственно выходом неисправности программы и перезапуска программы устройства, вход блокировки устройства соединен с вторыми входами первого и второго элементов
И, выход второго элемента И соединен с вторым входом первого элемента ИЛИ, выход которого соединен с входом начальной установки счетчика признаков, первый и второй информационные выхо1101831 ды счетчика времени соединены с третьими входами первого и второго элементов И, вход кода команды устройства соединен с входом дешифратора, первый выход которого соединен с первым входом триггера окраски запуска, со счетным входом счетчика признаков, с первым входом триггера блокировки, второй выход дешифратора соединен с первым входом третьего эле- 10 мента И, выход которого является признаком начального пуска устройства, выход триггера окраски запуска соединен с вторым входом третьего
1 элемента И, вход общего сброса 15 устройства и вход "Питание включено" соединены соответственно с первым и вторым входами второго элемента ИЛИ, выход которого соединен с вторым входом триггера окраски запуска, вторым входом триггера блокировки, вторым входом первого элемента ИЛИ и с входом начальной уста., ковки счетчика времени, выход переполнения счетчика времени соединен с третьим входом триггера блокировки, и с вторым входом четвертого элемента
И, выход которого соединен с третьим входом первого элемента ИЛИ, выход переполнения счетчика признаков соединен с четвертым входом триггера блокировки и с вторым входом четвертого элемента И.
На фиг. 1 представлена функциональная схема устройства для конт35 роля хода программ; на фиг. 2 — временная диаграмма работы устройства для контроля хода программ при нормальной последовательности выполнения программ и при невыходе ЦВМ на про- 40 грамму обработки прерывания по метке реального масштаба времени; на фиг. 3 — временная диаграмма работы устройства для контроля хода программ при зацикливании ЦВМ на командах, 4> в состав которых входит команда выдачи признака работы.
Устройство содержит счетчик 1 времени, счетчик 2 признаков, генератор 3 импульсов, триггер 4 блоки- 50 ровки, триггер 5 окраски запуска, элементы И 6 — 9, элементы ИЛИ 10 и 11, дешифратор 12, вход 13 блокировки, вход 14 общего сброса, вход
15 "Питание включено", вход 16 кода допустимого времени работы программы устройства, вход 17 кода команды устройства, выход 18 неисправности программы, выход 19 перезапуска программы, выход 20 метки времени, выход 21 признака начального пуска устройства, выход 22 счетчика 1, выход 23 счетчика 1, выход 24 счетчика 2 принудительной установки, выход
25 дешифратора 12, выход 26 дешифратора 12, выход 27 элемента ИЛИ 11 начальной установки, вход 28 установки в "0" счетчика 2, счетный вход
29 счетчика 1.
Устройство для контроля хода программы работает следующим образом.
Информационный вход счетчика 1 времени в зависимости.от построения системы автоматического управления объектами подключается к информационной магистрали 16 ЦВМ или внешнего абонента, по которой поступает код времени, запоминаемый счетчиком 1.
Темп решения задач в реальном масштабе времени может меняться с темпом выдачи кода по информационной магистрали 16. Импульсы с генератора
3 поступают на счетный вход 29 и подсчитываются счетчиком i времени.
При достижении переполнения счетчика
1 на выходе 20 формируется сигнал метки времени, который поступает в узел прерывания ЦВМ и внешнему абоненту, устанавливает триггер 4 блокировки в " 1" и осуществляет по входу
28 сброс фиксатора 2 заданного количества признаков работы посредством прохождения сигнала через открытый элемент И 9 и элемент ИЛИ 10. ЦВМ по сигналу метки времени выходит на программу обработки прерывания. Одна из команд этой программы вьщает в устройство для контроля кода программ определенный код адреса, который выделяется дешифратором l2 адресной магистрали ЦВМ на выходе 25 и является сигналом "Признак работы". Сигнал
"Признак работы" устанавливает в "0" триггер 4 блокировки, устанавливает в "0" триггер 5 окраски запуска, а также подсчитывается счетчиком 2 заданного количества признаков. При правильном ходе программ в ЦВМ триггер 4 блокировки сигналом "Признак работы" устанавливается в "0" до: того, как сформируются на счетчике на выходах 22 и 23 сигналы синхронизации неисправности программы и перезапуска программы.
Таким образом, на выходах 18 и 19 устройства сигналы неисправности и
1101831 перезапуска программы не формируются, так как элементы И б и И 7 закрыты нулевым состоянием триггера 4 блокировки (фиг. 2).
Работа устройства для контроля хода программы при переходе ЦВМ в неуправляемое состояние включает зацикливание ЦВМ на любом участке программы или случайный останов ЦВМ, работающей в реальном масштабе времени.
При нарушении хода программ в
ЦВИ, обусловленном тем, что ЦВМ не выходит на программу обработки прерывания метки времени по причине, например, случайного останова ЦВМ при сбое, когда в коде операции
ЦВМ формируется код команды "Останов", или зацикливании ЦВМ на командах маскирования прерывания, програм ма ЦВМ не выдает команду с признаком работы и соответственно сигнал
"Признак работы" не формируется. В этом случае состояние триггера 4 блокировки сохраняется "единичным" после прохождения сигнала метки реального масштаба времени и разрешает элементам И б и И 7 формировать сигналы неисправности и перезапуска программы и пуск ЦВМ. Сигнал неисправности программы приводит все регистры ЦВМ в начальное состояние без обнуления оперативного запоминающего устройства. Сигнал перезапуска программы заносит на счетчик команд
ЦЫМ фиксированный начальный адрес программы. По окончании сигнала
"Перезапуск" ЦВМ начинает работу по программе пуска с этого адреса. В этой программе ЦВМ командой опрашивает триггер 5 окраски запуска посредством дешифратора 12 адресной магистрали ЦВМ, на выходе 2б которого выделяется сигнал опроса триггера окраски запуска, поступающий на элемент И 8. С выхода 21 устройства в информационную магистраль ЦВМ выдается признак начального пуска или . подзапуска. Нулевое состояние триггера 5 окраски запуска, установленное сигналами "Признак работы", определяет режим одзапуска и сообщает программе пуска, что ЦВМ уже работала по программе управления объектами в реальном масштабевремени и произошло нарушение хода программы (фиг. 2). В этом случае программа пус- ка не проводит начальной очистки ЦВМ,,а переходит на программу восстановления управления объектами в реальном масштабе времени, используя массив данных об объектах управления, находящийся в ОЗУ, накопленный в процессе работы.
При нарушении хода программы ЦВМ» обусловленном тем, что ЦВМ зацикливается на куске программы, например, в случае появления ошибочного кода на индексном регистре при модификации адресов команд программы, в состав которой входит команда,выдачи признака работы, на выходе 25 дешифратора 12 формируется сигнал "Признак работы" с частотой более высокой, чем частота сигнала метки реального масштаба времени. Сигналы "Признак работы" поступает на счетчик 2, и при количестве признаков- работы равном трем и больше за время между двумя метками реального масштаба времени на выходе 24 счетчика 2 формируется сигнал принудительной установки триггера 4 блокировки в состояние "1"> который запрещает прохожцение сигнала метки реального масштаба времени через элемент И 9 и элемент
ИЛИ 10 на обнуление счетчика 2. Единичное состояние триггера 4 блокировки разрешает формирование элементами
И б и И 7 сигналов неисправности и перезапуска. Сигнал "Пуск ЦВМ" обнуляет счетчик 2 признаков работы и, как следствие этого, на выходе
24 счетчик 2 снимает сигнал принудительной установки триггера 4 (фиг. 3), По окончании сигнала "Пуск", ЦВМ начинает работать по программе аналогично, без начальной очистки ОЗУ с выходом на программу восстановления.
При начальном пуске ЦВМ с пульта оператора посредством нажатия кнопки
"Общий сброс" на вход 14 устройства для контроля хода программ приходит, сигнал .общего сброса, по которому через элемент ИЛИ 11 выход 27 посредством сигнала начальной установки в нулевое состояние устанавливается триггер 4 блокировки, в единичное состояние — триггер 5 окраски запуска, в "О" — счетчики 1 и 2. По окончании сигнала начальной установки триггер 4 блокировки устанавливается в единичное состояние сигналом.метки реального времени, которое разрешает формирование сигналов "Сброс" и "Пуск ЦВМ". Программа начального
1101831 пуска опрашивает состояние триггера
5 окраски запуска посредством сигнала "Опрос" на выходе 26 дешифратора
12 и элемента И 8. С выхода устройства 21 выдается признак начального пуска или подзапуска. Единичное состояние триггера 5 окраски запуска определяет режим начального пуска и
ЦВМ выходит на программу начальной очистки ОЗУ и в дальнейшем на про- 1б грамму управления объектами в реальном масштабе времени с накоплением и формированием массива данных.
Автоматический пуск ЦВМ при вклю/ чении первичного напряжения осуще- 15 ствляется по сигналу "Питание пода-!! но с блока памяти, который поступает на вход 15 устройства. До установления номинальных значений вторичных напряжений сигнал "Питание подано 20 выдается уровнем ноля вольт, что является логическим нулем. После установления номинальных значений вторичных напряжений сигнал "Питание подаtI но выдается уровнем логической еди- 25 ницы. Работа устройства для контроля хода программ по сигналу "Питание
11 включено подано через элемент ИЛИ
11 проходит аналогично как по сигналу "Общий сброс". Таким образом,при восстановлении напряжения в первичной сети, ЦВМ выходит на программу начального пуска с очисткой ОЗУ и программу управления объектами в реальном масштабе времени автоматически без вмешательства оператора и потери времени.
Оператор при необходимости может заблокировать по входу 13 устройство контроля хода программы сигналом блокировки сброса и пуска ЦВМ с пульта и осуществить сброс, пуск ЦВМ с помощью соответствующих кнопок.
Таким образом, устройство для контроля хода программ позволяет защитить выполнение функций управления объектами в реальном масштабе времени в автоматизированных систе— мах от неуправляемых состояний ЦВГ1, в том числе от зацикливания и остановов ЦВМ, автоматизировать пуск ЦВГ1 при включении первичного питания, 1101831 гп
27
Составитель И. Сигалов
Техред T. Иаточка Корректор О.Тигор
Редактор В. Иванова
Заказ 4769/33 Тираж 699 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений к открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4