Устройство для контроля времени выполнения программ
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
СОЮЗ СОВЕТСНИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 0 06 Р 11/28 ГОСУДАРСТВ.ННЫЙ КОМИТЕТ ССПО ЕЛАМ ИЗОБРЕТЕНИЙ И О А ТНРЬ 1 ТИЙФ;(71) Харьковский политехнический ордена Ленина институт им,В.И.Ленина (53) 681.3 (088.8)(56) Авторское свидетельство СССР У 439813, кл.О 06 Р 11/00,1972.В,М.МагсгупяИ., е,1.я. А ше 1 Ьой Гог йе 1 есСоп оГ шсгосошрцСег ша 1 ГцпсСопя. Ргасе 1 пя 1 уи 1 Ройя 1 ач 1 погшаСу 1 и., РАБ, Чагяач,1978, В 308, р.12, Р 1 д,1..(54)(Я ) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ВРЕМЕНИ ВЫПОЛНЕНИЯ ПРОГРАММ, содержащее первый и второй счетчики времени, элемент ИЛИ, четыре элемента И, тактовый вход устройства соединен с первым входом первого элемента И, выход которого соединен с первыми входами второго и третьего элементов И, выходы второго и третьего элементов И соединены со счетными входами первого и второго счетчиков соответственно, выход четвертого элемента И соединен с первым входом элемента ИЛИ выход которого является выходом неисправности уст" ройства, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности контроля, в устройство вве" дены регистр контрольной метки, регистр текущей метки, блок сравнения, блок ассоциативной памяти, блок индикации, дешифратор адреса, триггер и дешифратор кода команды, причем информационный вход устройства соединен с информационными входами первого и второго счетчиков, первым информационным входомрегистра контрольной метки и информационным входом дешифратора кодакоманд, вход разрешения записи устройства соединен с входом записирегистра текущей метки и с входомразре-,шения дешифрации дешифратора кода команд,выход которого соединен с первымвходом четвертого элемента И и входом установки нуля триггера, первыйвыход дешифратора адреса соединенс входом записи первого счетчика и свходом установки- в "1"триггера,выходкоторого соединен с вторым входомпервого элемента И, адресный входустройства соединен с информационными входами дешифратора адресаи регистра текущей метки, информационный выход которого соединенс вторым информационным входомрегистра контрольной метки, входидентификации адреса устройствасоединен с тактовым входом дешифратора адреса, второй и третий выходыкоторого соединены соответственнос входом записи второго счетчикавремени и первым входом записи регистра контрольной метки, выход которого соединен с,первыми информационными входами блока сравненияи блока ассоциативной памяти, выход регистра текущей метки соединенс вторыми информационными входамиблока сравнения и блока ассоциативной памяти, выход блока сравнениясоединен с входом запуска блокаассоциативной памяти, первый и второй выходы которого соединены со1176336 30 ответственно с вторым входом элемента ИЛИ и вторым входом записирегистра контрольной метки, выходпереполнения второго счетчика времени соединен с инверсным входом элемента ИЛИ, ьыход которого соединенИзобретение относится к вычислительной технике, предназначено дляпрограммно-уплотняемого контроляправильности выполнения рабочей протраммы в цифровых управляющих иинформационных системах реальноговремени и может быть использованодля контроля хода выполнения программ в микропроцессорных АСУ.Цель изобретения - повышение 0достоверности контроля выполненияпрограммы за счет одновременногопрограммно-уплотняемого контролявремени выполнения программы и направления переходов между сегментамипрограммного графа.На Фиг,1 представлена структурная электрическая схема предлагаемого устройства; на Фиг.2 - примервыполнения структурной электрическойсхемы блока ассоциативной памяти;на Фиг,3 - пример построения временного графа и графа переходовпрограммы,Устройствофиг.1) содержит счет.чики 1 и 2 времени, дешифратор 3 ко.да команды, вход 4 данных устройства, адресный вход 5 устройства,вход 6 разрешения записи устройства, тактовый вход 7 устройства,вход 8 идентификации адреса устройства, дешифратор 9 адреса,триггер 10, элементы И 11 - 14,элемент ИЛИ 15, регистр 16 контрольной метки, регистр 17 текущей мет 35ки, блок 18 сравнения, блок 19 ассо"циативной памяти, блок 20 индикации,выход 21 устройства.Информационные входы счетчиков 1и 2 времени, регистра 16 контрольной метки объединены с информационным входом дешифратора 3 кода команды и подключены к входу 4 данныхустройства, вход разрешения дешифра с входом, блока индикации, выход переполнения первого счетчика соединен с вторыми входами второго и четвертого элементов Ии инверсным входом третьего элемента И. ции дешифратора 3 кода командысоединен с входом записи регистра 17текущей метки и подключен к входу 6разрешения записи устройства, выходсоединен с входом установки в "0"триггера 10 и первым входом элементаИ 14, тактовый вход дешифратора 9адреса подключен к входу 8 идентифика.ции адреса устройства, информационный вход соединен с информационнымвходом регистра 17 текущей метки иподключен к адресному входу 5 устройства, первый выход соединен свходом записи счетчика 1 времени ивходом установки в "1" триггера 10,второй выход соединен с входом записисчетчика 2 времени, третий - с первым входом записи регистра 16 контрольной метки, первый вход элементаИ 11 подключен к тактовому входу 7устройства, второй вход соединенс выходом триггера 10, а выходсоединен с первыми входами элементов И 12 и 13, вторые входы элементов И 12 - 14 подключены к выходупереполнения счетчика 1 времени, авыходы - соответственно к счетнымвходам счетчиков 1 и 2 времени ипервому входу элемента ИПИ 15, кинверсному входу которого подключенвыход переполнения счетчика 2 времени, Второй информационный входрегистра 16 контрольной метки соединен с первым информационным выходомрегистра 17 текущей метки, второйвход записи соединен с первым выходомблока 19 ассоциативной памяти, второйинформационный вход которого соединен с вторым информационным входомблока 18 сравнения и со вторым инфор.мационным выходом регистра 17 текущей метки, информационный выход регистра 16 контрольной метки соединен с первыми информационными вхо0 15 20 25 30 35 дами блока 18 сравнения и блока 19 ассоциативной памяти, выход блока 18 сравнения соединен с входом запус ка блока 19 ассоциативной памяти, второй выход которого соединен с вторым 5 входом элемента ИЛИ 15, выход которого соединен с входом блока 20 индикации и подключен к выходу 21 устройства.Блок 19 ассоциативной памяти (Фиг,2) содержит 1 элементов 22,1, 22.2, 22.и программируемых постоянных запоминающих устройств (ППЗУ), н элементов 23.1 23,2, 23. п сравнения. элемент ИЛИ 24, элементы И 25 и 26, элемент НЕ 27.Адресные входы элементов 22.1, 22.2. , 22. и ППЗУ подключены к первому информационному входу блока, выходы соединены соответственно с первыми входами П элементов 23,1, 23,223 п сравнения, вторые вхо. ды которых подключены к второму информационному входу блока, выходы соединены с П входами элемента ИЛИ 24, выход которого соединеи с первым входом элемента И 25 и входом элемента НЕ 27, выход которого соединен с первым входом элемента И 26,второй вход которого соединен с вторым входом элемента И 25 и подключен к входу запуска блока, выход подключен к второму выходу блока, причем выход элемента И 25 подключен к первому выходу блока.Устройство работает следующим образом.В исходном состоянии счетчики 1 и 2 времени, регистр 16 контрольной метки, регистр 7 текущей метки обнулены, триггер 1 О сброшен в иу левое состояние сброс происходит при подаче питания на устройство), элементы И 12 и 14 открыты, элемент И 13 по инверсному входу закрыт сигналом с выхода переполнения счет" 45 чика 1 времени, элемент И 11 закрыт, элемент ИЛИ 15 закрыт, блок 20 индикации отключен.Для обеспечения работы устройства необходимо построить для контролируемой программы временной граф и граф переходов.В качестве контролируемой программы берется готовая, полностью отлаженная программа. 55Для построения временного графа программу разбивают на программные сегменты, время выполнения которых фиксировано. Временной граф представляет собой непустое множество.вершин и дуг, их соединяющих.Вершины кодируют начало и конец,команды, а дуги - временные интервалы, соответствующие времени выполнения команды,Пример построения временного сегмента приведен на Фиг.За, гдеЫ ( = 1 + 19) - времена выполнения отдельных команд, Минимальноевремя выполнения временного сегмекаПмаксимальное время выполнения временного сегментаах 1 ь З Ф 5 6 8 1 1 н11 8 9Для построения графа переходовпрограмму разбивают на сегменты следующим образом. К разрядов адресакоманды представляют ввиде двухчастей: изменяемой части, содержащейразрядов, в неизменяемой части,содержащей (К-) разрядов, называемой меткой сегмента, В сегментвключаются команды с одинаковой меткой. Количество разрядов метки определяет длину сегмента. При необходимости увеличения или уменьшениядлины сегмента достаточно соответственно уменьшить или увеличить длинуметки. Например, при 16-разрядномадресе команды и 8-разряднойметке сегмент содержит 256 команд,при 7"разрядной метке - 512 команд,при 9-разрядной метке - 128 команд.Граф переходов, с помощью которогопроверяется принадлежность адресавыполняемой команды к данномусегменту и разрешение перехода к другому сегменту, представляет собоймножество вершин и дуг, их соединяющжс, Вершинами графа являютсяметки сегментов, а дугами - переходывнутри сегмента или между сегментами,Переходы внутри сегмента кодируютсяпетлей, Устройство разрешаетпереходы только между смежными вершинами графа, все другие переходы яв-.ляются запрещенными. Разрешенныепереходы записываются в ППЗУ блока19 ассоциативной памяти.Пример построения графа переходовприведен на фиг.Зб, где 22,26,31,27,28,29 - метки сегментов. Переход отгегмента "26" к сегменту "22" является разрешенным переходом, а переход 1 11 ф 126 - 28 - запрещенным.Контроль в устройстве сводится к одновременному контролю длительности выполнения программы и соответствия выполняемых программой переходов графу переходов:.В начале каждого контролируемого сегмента происходит программное обращение МП-системы к устройству с помощью команд обращения к внешним устройствам, например, команда вывода ОИТ,Устройство для МП-системы является внешним. Связь между устройством и МП-системой происходит через интерфейстную магистраль,Устройство использует следующие управляющие сигналы М 11-системы: сигнал идентификации машинного цикль выборки команды (вход 6 устройства); сигнал вьвода информации из МП на внешнее устройство (вход 8 устройст" ва); тактовая частота, поступающая от генератора МП-системывход 7/ устройства) .В устройстве программно-доступными блоками являются счетчики 1 и 2 времени и регистр 16 контрольной метки, т.е. каждому блоку соответст" вует свой программно-неизменяемый номер, указываемый в команде вывода.Начало каждого временного сегмента обозначается программным обращением к счетчикам 1,2 времени, причем в счетчик 1 времени записывается минимальное время Т 1,; выполнения временного сегмента программы, а в счетчик 2 времени - разница между максимальным и минимальным временем Т = Т - Т.Конец каждого временного сегмента обозначается специальной командой, например, НОР - нет операции. Э=а команда не должна использоваться для других целей.При программном обращении к счет. чику 1 времени на адресном входе 5 устройства появляется адрес ( программно-неизменяемый номер) счетчика 1, сопровождающийся управляющим сигналом на входе 8 идентификации адреса устройства. Управляющий сигнал разрешает работу дешифратора 9 5 адреса который вырабатьвает на своем первом выходе сигнал, разрешающий запись с входа 4 данных устройства кода временного интервалаТ 11 в счетчик 1 времени и переводящий триггер 10 в единичное состояние. На единичном выходе триггера 10появляется сигнал "Начало контроля".Аналогично записи в счетчик 1времени производится запись временного интервала Т в счетчик 2 времени1 р сигналом с второго выхода дешифрато 1ра 9 адреса при программном обращении к счетчику 2 времени.Сигнал "Начало контроляоткрывает элемент И 11, который разрешает15 прохождение тактовых импульсов стактового входа 7 устройства черезоткрытый элемент И 11 на счетный11 11вход - 1счетчика 1 времени , содержимое которого уменьшается по мере20 выполнения команд контролируемоговременного сегмента . Когда счетчик 1 времени обнулится ,. сигналобратного переноса с е го выхода з акрывает элементы И 1 2 , 1 4 и открывает по255 инверсному входу элемент И 13, черезкоторый тактовые импульсы проходятна счетный вход "-1" счетчика 2 времени, содержимое которого уменьшаетсяна единицу с приходом каждого тактоЗО вого импульса. Сигнал "конец контроля" Формируется на выходе дешифра=тора 3 кода команды в случае появления на входе 4 данных устройства кода команды МОР, сопровождающегосяЗ 5 управляющим сигналом на входе б разрешения записи устройства.Если дешифратор 3 кода командыобнаружит признак конца временногосегмента раньше, чем обнулится счет 40 чик 1 времени (что соответствуетвыполнению сегмента за время,меньше Т и) , то сигнал Конец конт"роля" через открытый элемент И 14,элемент ИЛИ 15 включит блок 20 инди 45 кации, поступит на выход 21 устройства и будет воспринят МП-системойкак сигнал ошибки для снятия готовности системы.Одновременно сигнал Конец конт 50 роля" переводит триггер 10 в нулевоесостояние, закрывая по второму входуэлемент И 11. Поступление тактовыхимпульсов на счетный вход "-1" счетчика 1 прекращается.5 Если дешифратор 3 кода командыобнаружит конец проверяемого временного сегмента после обнуления счетчика 1 времени и до обнуления счет"чика 2 временичто соответствует выполнению сегмента за время( Тъ 1 ТТ щц ) у то сигнал Ко11нец контроля переводит в нулевое состояние триггер 10, закрывает элемент И 11 и прекращает поступление тактовых импульсов на счетчик 2 времени. Так как в этот момент эле. мент И 14 закрыт, то сигнал "Конец 1 О контроля" не проходит на выход 21 устройства и блок 20 индикации.Если счетчик 2 времени обнулится до появления команды БОР (что соответствует выполнению программного 15 сегмента за время, большее Т), то сигнал обратного переноса с выхода счетчика 2 времени через инверсный вход элемента ИЛИ 15 включит блок 20 индикации, поступит на выход 21 уст ройства и будет, воспринят МП-системой как сигнал ошибки для снятия готовности системы.Одновременно с контролем времени выполнения программ в устройстве осу 25 ществляется контроль соответствия выполняемых программой переходов графу переходов.В регистр 16 контрольной, метки программой записывается. контроль ная метка только один раз в начале контроля, В дальнейшем в процессе контроля смена метки происходит аппаратным путем. Запись контрольной метки в регистр 16 контрольной З 5 метки в начале контроля происходит следующим образом.При программном обращении к регистру 16 контрольной метки на адресном входе 5 появляется номер 40 регистра 16, который расшифровывается дешифратором 9 адреса. На третьем выходе дешифратора 9 адреса появляется сигнал, разрешающий запись кода метки с входа 4 данных в регистр 16 45 контрольной метки.В регистр 17 текущей метки записывается текущая метка следующим образом. В каждом цикле выборки команды на адресном входе 5 появляется 50 адрес выполняемой команды, принадлежащей контролируемому сегменту графа переходов (т.е. текущая метка 1 на входе 6 разрешения записи устройства - сигнал, идентифицирующий цикл 55 выборки команды, который разрешает запись текущей метки в регистр 17 текущей метки. С информационного выхода регистра 16 контрольной метки и с.второгоинформационного выхода регистра 17текущей метки коды меток поступаютсоответственно на первый и второйинформационные входы блока 18 сравнения, где коды сравниваются. Покатекущая метка принадлежИт проверяемому сегменту, при правильном выполнении программы коды метокдолжны совпадать.Несовпадение меток может произойти при наличии в сегменте команды,передающей управление другому сегмен.ту в соответствии с графом переходов; при попытке программы выполнитьзапрещенный переход, что обусловлено наличием неисправности в МП-системе,При несовпадении меток на выходеблока 18 сравнения появляется сигнал, поступающий на управляющийвход блока 19 ассоциативной памяти.Одновременно на первый и второйинформационные входы блока 19 ассоциативной памяти поступают те жекоды контрольной и текущей. меток.Блок 19 ассоциативной памяти проверяет, является ли текущая метка разрешенной графомпереходов. Если теку.щая метка разрешена, на первом выходе блока появляется сигнал "Сменаметки", в противном случае на второмвыходе появляется сигнал "Ошибка .Сигнал "Смена метки" поступаетна второй вход записи регистра 16контрольной метки, разрешая перезапись кода текущей метки из регистра 17 текущей метки. Таким образомпроисходит смена контрольной меткиаппаратным путем;Следующие текущие метки аналогично сравниваются с новой конярольной меткой.В случае запрещенного переходасигнал "Ошибкапоступает на второйвход элемента ИЛИ 15, включает блок20 индикации и поступает на выход 21устройства для снятия готовностиМП-системы,Блок 19 ассоциативной памяти работает следующим образом.Одновременно коды контрольной итекущей меток поступают соответственно на первый и второй информацион.ные входы блока. Код контрольнойметки является адресом, для П элемен 1176336тов 22.1, 22.222. и ППЗУ, в ячейках которых по этому адресу хранится и меток, переходы в которые иэ контрольной метки разрешены графом переходов, Из й элементов 22,1, 222, 22. й ППЗУ считываются а меток; которые поступают на первые входы и элементов 23,1.23.2,23. и сравнения, На вторые, 1 О входы л элементов. 23,1 23.2, 23.0 сравнения поступает код текущей метки.Если текущая метка совпадает с . -й меткой, разрешенной графом перехо дов, то на выходе элемента 23, . срав нения появится сигнал, поступающий на-й вход элемента ИЛИ 24, с выхода,которого сигнал проходит через элемент И 25, открытый по второму входу сигналом с входа запуска блока 20 на первый выход блока как сигнал разрешения "смены метки" Если текущая метка не сравнивалась ни с одной иэ И меток (что означает попытку программы выполнить запрещен ный переход), то сигнал об ошибке с выхода элемента ИЛИ 24 через элемент НЕ 27, элемент И 26 проходит на второй выход блока;Таким образом, устройство выдает 30 сигнал ошибки, если измеренное время выполнения программы меньше расчетного; измеренное время выполнения программы больше расчетногд, а также при попытке программы выполнить запре щенный переход.Устройство значительно повышает достоверность контроля правильности выполнения программ, что имеет важное значение в управляющих вычислительных системах, работающих в реальном времени.Дополнительным преимуществом пред лагаемого изобретения является при менение его в любых синхронных вычислительных системах с одним потоком информации и с постоянными программа миеПредлагаемое устройство для конт" роля выполнения программы выгодно отличается от прототипа, так как использование новых элементов," регистра контрольной метки, регистра текущей метки, блока сравнения, дешифратора адреса, триггера, дешифратора кода команды и блока ассо" циативиой памяти обеспечило одновременный контроль выполнения программы по времени в соответствии с временным графом и контроль направления перехо дов в соответствии с графом переходов,а это, в свою очередь, исключило возможность выдачи несанкционирован-. ных команд системой управления на объект при сбоях в аппаратуре.710 Подписио комитета СССРий и открытий.Раушская наб.,д. 4/5 акаэ 5363/4 Тираж арственно иэобретен ква, ЖИИПИ Гос по делам 3035, М город, ул. Проектная,"Патен фил актор И.Ковальч орректор И,Мак
СмотретьЗаявка
3714481, 11.03.1984
ХАРЬКОВСКИЙ ПОЛИТЕХНИЧЕСКИЙ ОРДЕНА ЛЕНИНА ИНСТИТУТ ИМ. В. И. ЛЕНИНА
ДЕРБУНОВИЧ ЛЕОНИД ВИКТОРОВИЧ, БЕЛИЧЕНКО ТАТЬЯНА ПАВЛОВНА, БАЖЕНОВ АЛЕКСАНДР НИКОЛАЕВИЧ, МЫЗЬ АЛЕКСАНДР НИКОЛАЕВИЧ, МОИСЕЕВ АНДРЕЙ ВИКТОРОВИЧ, ЛИБЕРГ ИГОРЬ ГЕННАДИЕВИЧ
МПК / Метки
МПК: G06F 11/28
Метки: времени, выполнения, программ
Опубликовано: 30.08.1985
Код ссылки
<a href="https://patents.su/9-1176336-ustrojjstvo-dlya-kontrolya-vremeni-vypolneniya-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля времени выполнения программ</a>
Предыдущий патент: Цифровая система с тестовым диагностированием
Следующий патент: Устройство для сопряжения
Случайный патент: Многопозиционный распределитель