Устройство для контроля хода программ

Номер патента: 1617442

Авторы: Викентьев, Силин

ZIP архив

Текст

, 1 б 1744 5 С 06 Г 112 ЕННЫЙ КОМИТЕТЕТЕНИЯМ И ОТНРЫТИЯМ СОР ГОСУД АРС ПО ИЗОБР ПРИ ГКНТ САНИЕ ИЗОБРЕТЕНИ ВУ схема иг. 3 - временные стролства для конт"хода прод 1 уствход 3ы 5,6 условныхсигнала,онные ыдачи вы- а-окон-16 вьппение дос ерности контроля. а фиг. 1 приведен схема устройства д элеме нкциональконтроля 24 К АВТОРСКОМУ СВИ(56) Анцупов С.А. и др. Диагностирование управляющих устройств по м алгоритмов. - Автоматика и телемеха,ника, 1986, У 10, с.132, рис.5Авторское. свидетельство СССР У 1236487, кл. С 06 Р 11/28, 1986. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДА ПРОГРАММ(57) Изобретение относится к вычислительной технике и может быть использовано для контроля хода вычислительного процесса в автоматизирован-. ных системах управления, построенных на однокристальных микропроцессорных БИС, программно-реализующих различные Изобретение относится к вычислительной технике и может быть использовано для контроля функционирования и хода вычислительного процесса в автоматизированных системах управления (АСУ), построенных на основе однокристальных микропроцессорных БИС и программно реализующих различные алгоритмы логического управления задаваемые в виде бинарных граф схем алгоритмов (БГСА).Бель изобретения - по алгоритмы логического управления,задаваемые в виде бинарных граф-схемалгоритмов. Белью изобретения является повышение достоверности контроля,Устройство дополнительно содержит двегруппы элементов И, группу элементовИЛИ, элементы НЕ, сумматоры по модулюдва, элемент задержки, третью схемусравнения. Устройство позволяет обнаружить алгоритмические ошибки иоперативно выдавать соответствующуюдиагностическую информацию о характере этой ошибки. Кроме того, реализованный в устройстве вывод контрольной информации, использующий часть адресного пространства, позволяет совместить ряд рабочих и установочныхопераций, что уменьшает вводимую врабочую программу временную избыточность. 2 ил., 1 табл. хода программ, на фдиаграммы работы уроля хода программ.Устройство для контроляграмм содержит тактовый вхройства, вход 2 обращения,чтения, вход 4 записи, вхопризнака последовательностмодулей, вход 7 эталонногоадресные входы 8, информацивходы 9, вход 10 признакаходного слова, вход 11 нач чания контроля, элементы Игруппы 17 и 18 элементов И,ты И 19-23, группу элементо30 элементы ИЛИ 25-31, элементы НЕ 3235, сумматор 36 по модулю два, группу37 сумматоров по модулю два, триггеры 38-40, блок 41 хранения контрольного слова, счетчик 42, дешифратор43, буферный регистр 44, схемы 45-47сравнения элемент 48 задержки, формироватгпь 49 импульса, выходы 50-52ошибки устройства и входы 53 устаьськи устройства.На фиг.2 а представлена временнаядиаграмма работы устройства для контроля хода программы ца последнем машин ком цикле выполнения команды вводз входного слова в буферный регистр44, блока 4 1 хранения контрольногослова, на фиг.2 б - временная диаграмма работы устройства на последнем машинном цикле выполнения контрольной 20команды типа ОПТ( К ) при условиисовпадения числа машинных циклов,заданного значениями адресных линийА 1-АЗ, с числом, сформированным навыходах счетчика 43 при отработке 25соответствующего фрагмента, а такжепри совпадении эталонного значенияперехода (разряд А 4) и результатапромежуточных вычислений,В строке 1 таблицы кодированиявторого байта соответствующих контрольных команд представлен порядоккодирования второго байта командыввода входного слова (1 И ( ВВ), встроке 2 - порядок кодирования вто 35рого байта команды вывода выходногоуправляющего слова (ОПТ (ВНВ ) ), встроке 3 - пьрядок кодирования адресных разрядов А 1-АЗ, в строках 4и 5 - порядок кодирования разряда А 4, 40задающего на вход 7 устройства эталонное значение условия перехода,которое определяется по бинарнымграфам схем алгоритмов в зависимостиот того, по какому ребРУ (нулевому 45или единичному) осуществлен переходк выполнению следующего программного,фрагмента, реализующего соответствующую ему вершину БГСА; в строках 6-8 -порядок кодирования разрядов А 5 и А 6при выполнении соответственно первой,второй и третьей последова;ельностейкоманд в программных фрагмантах сусловными переходами.Любой алгоритм логического управ,55ления, заданный системой булевых функций, может быть представлен БГСА,осуществляющим выбор выходных управляющих слов, в качестве которых могут выступать определенные комбинации значений управляющих сигналов.При этом, реализующая этот алгоритммикропроцессорная бинарная программаможет быть составлена как некотораяпоследовательность повторяющихсяфрагментов программы, образующихтиповые программные модули, ориентирование как на обработку однобайтных наборов входных сигналов, хранящихся в регистрах общего назначения микропроцессорной БИС, так и цавыдачу из определенных массивов памяти управляющих выходных слов. Заметим, что в общем случае все Фрагменты можно разделить на условныепрограммные модули, служащие дляпроверки логических условий переходов по ветвям алгоритма, и лиейныепрограммные модули, служащие для формирования или выдачи выходных управляющих слов, причем контролируемое число машинных циклов в условныхпрограммных модулях зависит от значения логического условия перехода.Следовательно, ход выполнения такойпрограммы можно считать правильным,если на любом из допустимых набороввходных переменных переход от выполнения предыдущего программного модуляк последующему не приводит к искажению реализуемого алгоритма. Для выделения программных модулей и организации ввода исходных данных, своевременной выдачи и обработки контрольной и управляющей информации этимодули разделены контрольными командами, несущими для устройства контроля ряд эталонных и управляющих сигналов. В качестве таких команд используются команды обмена микропроцессора с внешними устройства типа1 М В 2 и ОПТ В 2(где В 2 - второйбайт команды, порядок кодированиякоторого в зависимости от назначениякоманды представлен в таблице. Такимобразом, условием безошибочного выполнения того или иного программногомодуля может служить отсутствие ошибок типа:- пропадание необходимой или появление ложной команды в каком-либопрограммном модуле,цеперпое получение в ходе вычислений значения входной переменной(или логического условия перехода),определяемого порядок отработки ветвей алгоритма,17442 5 16При этом Отсутствие ошибки первого типа определяется устройством путемаппаратной реализации в нем функциисравнения некоторого эталонного числа с числом синхроимпульсов,выдаваемыхмикропроцессорной БИС при отработке соответствующей последовательностикоманд модуля, а ошибка второго типаобнаруживается путем сравнения вычисленного условия перехода с соответствующим значением входного сигнала, хранимого в определенных разрядах входного слова. Кроме того, дляисключения ошибочного ветвления впрограмме, которое может быть вызвано сбоями во флаговых регистрах БИСили искажениями в маскирующих комбинациях, вычисленное значение условияперехода, хранимое в аккумулятореБИС, также сравнивается со значениемэталонного сигнала, хранимого в одном из разрядов второго байта командыОПТ (КЪ. Контроль правильности отработки модуля осуществляется устройством после его выполнения перед началом отработки микропроцессоромследуюшего модуля, что позволяет. Обнаруживать ошибку на любом шаге рабочей программы.До начала контроля на входах 2-4устройства присутствуют нулевые сигналы, блокирующие работу схемы устройства. Первый 38 и второй 39 триггеры находятся в нулевом состоянии,третий триггер 40 - в единичном, Триггеры блока 41 хранения контрольногослова и буферный регистр 44 обнулены,На входах устройства в зависимостиот максимальной длины контролируемыхпрограммных фрагментов задается комбинация начальной установки счетчика42, например значение двойки (0010).При выборе значения начальной установки счетчика 42 должно выполнятьсяусловиеЦ = Р- шах(М;) -1 ( = 1,и),11где Я - комбинация начальной установки счетчика 42;Р - модуль счета счетчика 42;0, - один из типичных фрагментовпрограммы, подлежащих контролю,Л(0,) - число машинных тактов работы МП при обработке фрагмен-1та 0,программы,и - общее количество типичныхфрагментов, составляющих программу и различных и,. числу машинных тактов.Для упрощения схемы сравнения, выполненной на элементах И 19-23 может быть рекомандовано нормированиедлины контролируемых фрагментов путем дополнения их до максимальнойдлины, например, пустыми командами 10 типа ИОР.При обработке любой иэ ИБП первоииз отрабатываемых микропроцессоромкоманд является команда ввода входного слова от внешнего устройстваввода в микропроцессор, например, команда 1 ИВВ . На последнем, цикле выполнения этой команды на входы 2 и 3устройства выдаются единичные сигналы,а на шине адреса УИС помещается неко торый адрес, соответствующий второмубайту команды ввода, Для инициализации устройства контроля этот адрес вразряде АО содержит единицу, котораячерез вход 11 устройства поступает на 25 первый вход четвертого 15 элемента И идалее, проходя через формирователь 49импульса, переводит по заднему фронтуимпульса триггер 40 в единичное состояние.Одновременно с этим на выходах эле ментов 14 и 25 формируется единичныйсигнал, который через элемент 48 задержки производит начальную установку счетчика 42, подтверждает исходныесостояния триггеров 39 и 40 и форми рует единичные сигналы на выходах элементов ИЛИ 24, первых входах элементов И группы 17 и входе обращения СБбуферного регистра 44, Таким образом,поступающее на шину данных входное 40 слово записывается не только в аккумулятор МП, но и через входы 9 устройства и элементы И группы 17 - вбуферный регистр 44 и в триггеры блока 4 1 хранения контрольного слова.45 Отрабатываемые затем последовательности команд, образующие контролируемые фрагменты, формируют на выходахсчетчика 42 с помощью синхросигналов,поступающих в каждый машинный такт по 50 входу 1 устройства, через элементИ 12 и счетный вход (+1), определенные комбинации сигналов, которые напоследних циклах выполнения контрольных команд ОУТ( К , разделяющих фраг.менты, формируют ня Одном из выходовэлементов И 19 - 23 единичные сигналы,которые, проходя через элемент ИЛИ28, подтверждают единичное состояниетриггера 40. В случае, если в контролируемом фрагменте не выполняется какая-либо команда или появляется ложная, то на выходе 50 устройства появляется сигнал ошибки, который формируется либо по выходу (+Р) счет 5 чика 42, либо на последнем машинном цикле контрольной команды ОПТ (К , так как на выходах элементов И 19-23 нет значения единицы и, следовательно, триггер 40 переносится в нулевое состояние, В случае, если в соответствии с бинарным графом реализуемого алгоритма к тому или иному фрагменту программы предусмотрен переход по нескольким путям вычисления, то перед этим фрагментом программы ставится соответствующее количество контрольных команд ОПТ (К ), каждая из которых имеет определенное значение второго байта команды. Лля того, чтобы эти контрольные команды не воспринимались как ложные, на заключительном машинном цикле их выполнения с помощью счетчика 42, элементов 25 И 18, ИЛИ 26 и 30 на входы начальной установки триггеров 39 и 40 и блока 41 подается сигнал, исключающий выдачу ложного сигнала ошибки на выходах 50-52 устройства. 30Для исключения алгоритмических ошибок ветвления, возникающих вследствие неверного анализа микропроцессором входных переменных (логических условий переходов) после отработки каждо 35 го из модулей условного перехода при выполнении контрольных команд ОПТ К), устройством проверятся соответствие .значения логического условия перехода, полученного маскированием в акку муляторе микропроцессора, значению соответствующей существенной переменной х, хранящейся в буферном регистре 44 устройства контроля. При этом в последнем цикле выполнения соответ ствующей контрольной команды ОПТ (К) с линий шины адреса на входы 8 устройства поступает код выбираемого триггера иэ блока 41 хранения контрольного слова, в который с помощью дешифратора 43, элементов И 18, ИЛИ 24 и соответствующих управляющих сигналов записи и обращения записывается вычисленное микропроцессором значение логического условия перехода, поступающего в это же время из акку 55 мулятора МП через шину данных входы 9 устройства и элементы И 17 наР- ход соответствующего триггера блока 41, Если при этом значение, вычисленное в аккумуляторе микропроцесора, оказывается неверным и соответствующий триггер блока 41 изменяет свое состояние на противоположное, то на выходе одного из сумматоров по модулю два группы 37 появится единица, что возникает вследствие расхождения значений, поступающих с соответствующего выхода триггера блока 41 и соответствующего выхода 1 буферного регистра 44 на первый и второй входы этого сумматора по модулю дна. Единица, проходя через элемент ИЛИ 31, выдает на выходе 52 сигнал ошибки ветвления. Кроме того, в случае, если значение переменной вычислено верно и на выходе 52 отсутствует сигнал ошибки, а переход в программе осуществлен все же по другому значению, что является следствием искажения значения флагового регистра или маски, служащей для определения значений переменных х , то на выходе элемента1 РИЛИ 27 появляется значение, отличное от значения, поступающего с шины адреса на вход 7 устройства и на первый вход сумматора 36 по модулю два. В результате этого второй триггер 39 перебрасывается в единицу, а на выходе 51 у тройства выдается сигнал ошибки маски. При отработке микропроцессором заключительного на каждом пути вычисления реализуемого алгоритма фрагмента выдачи выходного управляющего слова на третьем цикле выполнения команды ОПТ .ВЫВ", на соответствующий вход 10 признака выдачи выходного слова устройства поступает значение единицы, которая в сочетании с сигналами, полученными на выходах счетчика 42, формирует при верной отработке этого модуля на выходах элементов И 19 и ИЛИ 28 единичный сигнал, подтверждающий единичное состояние третьего триггера 40 и отсутствие ошибки, Кроме того, единичный признак ЛО = 1 окончания контроля, поступивший при выполнении команды вывода ОПТ(ВЫВ) на вход 11 устройства, в сочетании с сигналами записи и обращения переводит через входы 2 и 4устройства первый триггер 38 в нулевое состояние, а единичный сигнал с вьжода элемента И 16, поступая через элемент ИЛИ 26 на К-вход второго триггера 39 и первые входы элементов И 24, запрещает выдачу ложных сигналов ошибки ветвления и маскированияс выходов 51 и 52 устройства. Прцвыполнении команд 1 М СВВ или ОПТ(ВЫВ;у, служащих для ввода и выводавходного и выходного слов, а такжепри выполнении каждой из контрольныхкоманд ОПТ (Кна выходе элементаИЛИ 25 формируется единичный сигнал,который, проходя через элемент 48задержки на вход Ч счетчика 42, устанавливает его в то начальное состояние, которое задано на входах 53начальной установки. Элемент задержки в данном случае служит для обеспечения взаимодействия и срабатывания соответствующих элементов, а также для исключения возможных состязаний, возникающих при работе схемы.Таким образом, сочетание единичныхпризнаков начала (окончания) контроля и типа контролируемых фрагментов представляет пользователювозможность адресовать в момент входного слова до 128 устройств ввода,в момент вывода - до 64 устройстввывода.Следовательно, предлагаемое устройство для контроля хода программыпо сравнению с известным позволяетобнаруживать программные ошибки, вызываемые не только некорректным выполнением отдельных фрагментов самой программы, а также обнаруживать и выдавать соответствующую диагностическую информацию об алгоритмических ошибках, вызываемых неверным анализом логических условий переходов в программе, которые являются следствием сбоев аппаратуры илиискажений исходных данных. Кроме того, устройство позволяет анализировать и получать цеолходимую информацию о характере обнаруженной ошибки, что существенно повышает оперативность и эффективность принимаемых оператором или управляющим устройством корректирующих м ер,Формула из обр етенияУстройство для контроля хода программ , содержащее дешифратор, счетчик, буферный регистр, блок хранения контрольного слова, первую и вторую схемы сравнения, формирователь импульса, первый, второй и третий триггеры, два элемента ИЛИ, десять 1элементов И, причем адресные входывходом первого триггера, прямой25 выход которого соединен с первым вхо 30 35 40 45 50 55 51015 устройства соединены с информационными входами дешифратора, о т л ич а ю щ е е с я тем, что, с цельюповышения достоверности контроля, нустройство введены две группы элементов И, группа элементов ИЛИ, пятьэлементов ИЛИ, четыре элемента НГ,группа сумматоров по модулю два,сумматор по модулю два, третья схемасравненчя, элемент задержки, причем,вход записи устройства подключен кпервым входам первого и второго элемента И, вход чтения устройства под.ключен к первым входам третьего ичетвертого элементов И, вход началаконтроля устройства подключен к вторым входам первого и четвертого элементов И, вход обращения устройства соединен с вторыми входами второго и третьего элементов И, выход четвертого элемента И через формирователь импульса соединен с единичным дом пятого элемента И, второй вход которого подключен к тактовому входуустройства, выход пятого элемента Исоединен со счетным входом счетчика,группа информационных входов которогоподключена к группе установочныхвходов устройства, выход первого элемента И соединен с нулевым входомпервого триггера и первым входом первого элемента ИЛИ, второй вход которого соединен с входом установки второго триггера и подключен к выходувторого элемента ИЛИ, инверсный выходпервого триггера соединен с первым входом второго элемента ИЛИ, с первым входом сумматора по модулю дваи входами началы й установки буферного регистра и 6.ока хранения контрольного слова, выходы второго итретьего элементов И соединены с первым и вторым входами третьего элемента ИЛИ, выход которого соединен спервыми входами элементов И первойгруппы, вторые входы которых подключены к группе информационных входовустройства, выходы элементов И первой группы соединены с информационными входами буферного регистра, входразрешения которого соединен с первыми входами элементов ИЛИ группы ц подключен к входу чтения устройства,вторые входы элементов ИЛИ группысоединены с выходами дешифратора,стробирующий вход дешифратора соеди 1617442 12нен с выходом второго элемента И,выходы элементов ИЛИ группы соединены с первыми входами соответствующихэлементов И второй группы, выход первого элемента ИЛИ соединен с нулевымвходом третьего триггера и через первый элемент НЕ - с вторыми входамиэлементов И второй группы, выходыкоторых подключены к синхровходам бло-ока хранения контрольного слова, выходы элементов И первой группы соединены с входами четвертого элементаИЛИ и информационными входами блокахранения контрольного слова, выходыбуферного регистра соединены с первыми входами соответствующих сумматоровпо модулю два группы, вторые входыкоторых соединены с выходами блокахранения контрольного слова, выходысумматоров по модулю два группы соединены с входами пятого элементаИЛИ, выход которого является первымвыходом ошибки устройства, прямой выход третьего триггера является вторым выходом ошибки устройства, выходтретьего элемента ИЛИ соединен с синхровходами второго и третьего триггеров и через элемент задержки в . свходом разрешения записи счетчика,выход переполнения которого соедпненс первым входом седьмого элементаИЛИ, второй вход которого соединен синверсным выходом второго триггера,выход которого является третьим выходом ошибки устройства, выход первого разряда счетчика соединен с первыми входами элементов И с шестогопо девятый, выход второго разрядасчетчика соединен с вторыми входами 40седьмого, девятого элементов И ипервым входом десятого элемента И,выход третьего разряда счетчика соединен с вторыми входами шестого, восьмого, десятого элементов И и третьим входом девятого элемента И, выход четвертого разряда счетчика соединен с третьими входами седьЭ мого, восьмого и десятого элементов И, выходы схем сравнения с первой по третью соединены с четвертыми входами соответственно восьмого, седьмого и десятого элементов И, выход второго элемента И соединен с третьим входом шестого элемента И, выходы элементов И с седьмого по десятый со единены с входами шестого элемента ИЛИ, выход которого соединен с инфор мационным входом второго триггера, первый вход признака последовательности условных модулей устройства соединен с первыми входами первой и второй схем сравнения и через второй элемент НЕ - с первым входом третьей схемы сравнения, второй вход признака последовательности условных модулей устройства соединен с вторыми входами первой и третьей схем сравнения и через третий элемент НЕ - с вторым входом второй схемы сравнения, выход четвертого элемента ИЛИ соединен с вторым входом сумматора по модулю два, с третьим входом первой схемы сравнения и через четвертый элемент НЕ - с третьими входами второй и третьей схем сравнения, третий вход сумматора по модулю два подключен к входу эталона устройства, а выход - к информационному входу третьего триггера, выход шестого элемента И соединен с вторым входом второго элемента ИЛИ, четвертый вход девятого элемента И подключен к входу приз-. нака выдачи выходного слова устройства.Прнэнз гачала Стра талоное усокнезрело тр кончали онтролл хол с устроасте енола еходных слое 1 В сВВр Начало контроле,код исходных данных 2 нтролаыходных уп1 О 1 О 301 УТ к к Р Переход при х 3 Переход при х. х х к ВР а поспелова полнении ус ельностьоаиого иодула2-а посл 3Р ЛВ пател выполненыдулаЭ-а последыполненидула слоеного и ЮР ЛВ ностього иоеателусло увел разрадое ных значений, соотеетс1 - соответствуыан услоенЯ перехоО о команде 12 ере Г 1 агспи переход по конкина(,2.1 сВЫВР Венецеыеопаепл сл1 А ра2-Я ра3-А раЛ-А ра3-А раб-А рв)-А раВ-А ра зрад эрад зрад зрад 3 рад зрад зрад з рад и е ч е н н3 Знако" опознлчено олин из еозиок л аналиэируеиогозрлла входного слогнчесхиг услоеиа рес устрэдсте вывод качение логических е условных иодула1617442. в,.в г Ьк,Вы Д 1 ВРО. 27 ЮФФ Яб 1.ак З,Ь г Составитель И. Сафроноваактор Л, Пчолинская Техред Л.Олийнык КоРректоР Н.Король иэводственно-издательский комбинат Патент , г, УжгороГагарина, 1 Дык КУ 4 У Ьааа.зк Заказ 4119 Тираж 5 б 7 ВНИИПИ Государственного комитета по иэо 113035, Москва, Ж, РРак36Рык3,57 арыкаоцЪ аъ,ккинк,Кыкл,РРйк.8 Подписноеениям и открытиям при ГКНТ СССкая наб., д, 4/5

Смотреть

Заявка

4621915, 19.12.1988

ПЕРМСКОЕ ВЫСШЕЕ ВОЕННОЕ КОМАНДНО-ИНЖЕНЕРНОЕ КРАСНОЗНАМЕННОЕ УЧИЛИЩЕ РАКЕТНЫХ ВОЙСК ИМ. МАРШАЛА СОВЕТСКОГО СОЮЗА В. И. ЧУЙКОВА

СИЛИН АЛЕКСАНДР ВЛАДИМИРОВИЧ, ВИКЕНТЬЕВ ЛЕОНИД ФЕДОРОВИЧ

МПК / Метки

МПК: G06F 11/28

Метки: программ, хода

Опубликовано: 30.12.1990

Код ссылки

<a href="https://patents.su/8-1617442-ustrojjstvo-dlya-kontrolya-khoda-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для контроля хода программ</a>

Похожие патенты