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

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

Авторы: Гладштейн, Комаров, Шубин

ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК ОПИСАНИЕ ИЗОБРЕТЕНИ бин ьство СССР/28, 1980,ии В 2035633,ик, 1982.КОНТРОЛЯ ХОДА т госуаа ствекный комитет сссРпо делАм изОБРетений и ОтнРытю АВТОРСКОМ,Ф СВИДЕТЕЛЬСТ(46) 15.11,85. Бюл. В 4271) Рыбинский авиационный технологический институт(54)157) УСТРОЙСТВО ДЛЯПРОГРАК 4, содержащее первый блок постоянной памяти, блок оперативной памяти и дешифратор, причем выход первого блока постоянной памяти,вход и выход блока оперативной памяти череэ двунаправленную шину данныхсоединены с информационным входом - выходом устройства, входы чтения первого блока постоянной памяти и блокаоперативной памяти соединены с вхо-.дом чтения устройства, группа адресных входов устройства соединена с группой входов дешифратора, с груп- пами адресных входов первого блокапостоянной памяти и блока оперативной памяти, первый и второй выходы дешифратора соединены с входами обращения. соответственно первого блокапостоянной памяти и блока оперативной памяти, вход записи устройствасоединен с входом записи блока 8011 191.2 Аад 4 0 оперативной памяти, о т л и ч аю щ е е с я тем, что, с целью повышения достоверности контроля ходапрограммы, в устройство введены сумматор, регистр, схема сравнения,первый и второй элементы И, элементИЛИ и второй блок постоянной памяти,причем информационный вход устройства соединен с входом первого дперанда сумматора, выход которого соединен с информационным входом регистра, группа адресных входов устройства соединена с адресным входомвторого блока постоянной памяти,информационный выход которого соединен с первым входом схемы сравнения, выход которой соединен с первым входом первого элемента И, первый выход дешифратора и вход чтенияустройства соединены соответственнос первым и вторым входами второгоэлемента И, выход которого соединенс тактовым входом регистра и с вто- ,рым входом первого элемента И, выход которого является выходом ошибкиустройства и соединен с первым входомэлемента ИЛИ, вход начальной установки устройства соединен с вторымвходом элемента ИЛИ, выход которогосоединен с входом сброса регистра,информационный выход регистра соединен с вторым входом схемы сравненияи с входом второго операнда сумма 1191912 гИзобретение относится к вычислительной технике и может быть использовано при построении надежных микро-, процессорных устройств, нечувствительных к сбоям программы. 5Цель изобретения - повышение достовернрсти контроля хода программы,На фиг, 1 изображена структурная схема устройства; на фиг. 2 -. базовые 10 структуры программирования.Устройство для контроля хода программ содержит процессор 1, двунаправленная шина данных которого:и младшие разряды выходной шины адреса 15 подключены к соответствующим выводам первого блока постоянной памяти 2, блок оперативной памяти 3 и устройство ввода-вывода 4, вход чтения кото рого соедйненс входамичтения перво го блокапостоянной памяти 3 нс выходом чтения процессора 1, старшие разряды выходной шины адреса которого подключены квходу дешифратора 5,пер- вый выход которого соединен с входом ,выборки первого блока постоянной памяф .ти 2, второй выход подключен к входу выборки блоКа оперативной памяти 3, а третий выход соединен с вхОдом выборки чстройства ввода-вывода 4, 30 внешние входы и выходы которого образуют внешнюю шину 6, а вход записи связан с входом записи блока оперативной памяти 3 и с выходом записи процессора 1, последовательно соединенные сумматор 7, регистр 8, схему сравнения 9 и первый элемент И 10, выход которого подключен к входу прерывания процессора 1 и к входу элемента ИЛИ 11, выход которого подключен к К-входу регистра 8, вход синхронизации которого соединен с вторым входом первого элемента И 10 и с выходом второго элемента И 12, первый входкоторого подключен к первому выходу дешифратора 5, а второй вход соединен с выходом чтения процессора 1, младшие разряды выходной шины адреса которого подключены к входу второго блока постоянной памяти 13, выход которого соединен.с вторым входом схемы сравнения 9, первый и второй входы сумматора 7 подключены соответ" ственно к выходу регистра 8 и к шине данных процессора 1, вход сброса ко-торого соединен с вторым входом элемента ИЛИ 12, Второй блок постоянной памяти 13 подключен таким образом,что на его входы выборки к чтения (непоказаны) постоянно подается уровень11 что обеспечивает постоянноеактивное состояние его выходов и наличие информации на них в соответствии с поданным адресом,Устройство работает следующим образом.Процессор 1 в соответствии с программой опрашивает устройство ввода- вывода 4, В начале опроса процессор 1 формирует на выходной шине адреса код, старшие разряды которого поступают на дешифратор 5 и возбуждают его третий выход, Сигнал с выхода дешифратора 5 поступает на вход выборки устройства ввода-вывода 4 и подготавливает его к циклу обмена информации с процессором 1. Одновременно младшие разряды шины адреса процессора 1 поступают на адресный вход устройства ввода-вывода 4, которое в соответствии с принятым адресом подключает к своему выводуданных один из входов каналов внешней шины 6, При использовании для обмена информацией между процессором 1 и внешними устройствами принципа неизолированного интерфейса обращение к устройству ввода-вывода может осуществляться с помощью тех же управляющих сигналов "Чтение" и Запись", что и к ячейкам памяти. Поэтому в предлагаемом устройстве для ввода информации с устройства ввода-вывода 4 в процессор 1 генерируется сигнал "Чтение", Продолжая опрос устройства ввода-вывода 4, процессор 1 последовательно изменяет информацию на младших разрядах шины адреса и генерирует сигнал "Чтение", Таким образом, в процессор 1 через устройство ввода-вывода 4 последовательнопередается информация со всех входных каналов внешней шины 6, связывающей устройство с регулируемым объектом не показан 1 и несущей информацию о его текущем состоянии, Послеприема информации с последнего входного канала внешней шины 6 процессор 1 заканчивает опрос устройства ввода-вывода 4 и переключается на обработку принятой информации, В процессе обработки процессор 1 периодически обращается к блоку оперативной памяти 3, который служит для хранения промежуточных результатов вычислений, Обращение к блоку оператнв1191912 4 ствующие меры. Это выдвигает задачу оперативного контроля за процессом исполнения программы,Предлагаемое устройство обеспечивает контроль за использованиемпрограмм работы микропроцессорныхсистем с многобайтными командами,последовательно размещаемыми побайтно в первом блоке постоянной памяти2, При этом контроль осуществляетсяпутем сравнения результата суммирова.ния (например, по модулю 256. всехбайтов команд, предшествовавших очередному байту исполняемой команды исчитанных ранее из первого блока постоянной памяти 2,с некоторым контрольным., числом, извлекаемым иэ второго блока постоянной памяти 1 З,по(тому же адресу, что и очередной байткоманды из первого блока постояннойпамяти 2, Контрольное число, извлекаемое иэ постоянного запоминающегоустройства 13, представляет собойсумму по тому же модулювсех предшествующих байтов, считанных изпервого блока постоянной памяти 2,Если результат суммирования совпадаетс контрольным числом, то делаетсявыводчто программа работает. верно,В противном случае фиксируется нарушение нормального исполнения программы,Указаннь:й метод реализуется в предлагаемом устройстве следующим образом,В первоначальный момент временина входы сброса процессора 1 и регистра 8 поступает сигнал, устанавПри этом в регистре 8 устанавливается нулевое число, а процессор начинает исполнение программы с начального адреса, Для извлечения первого байта первой команды процессор 1вьщает на шину адреса адрес его размещеПри этом старшие разряды адреса определяют зону адресного пространства, в которой расположена память ко манд, и после декодирования дешифратором 5 активируют первый блок вого выхода дешифратора 5, активирую"дий блок постоянной памяти 2, открывает элемент И 12. а младшие разряды ной памяти 3 осуществляется так же,как и в случае обращения к устройствуввода-вывода 4, посредством адресации. При этом старшие разряды адресапосле декодирования дешифратором 5 5подготавливают блок памяти 3 к циклуобмена, а младшие указывают номерячейки, с которой намечается обмен,Запись или чтение информации из блока оперативной памяти 3 осуществляется соответственно по сигналам процессора 1 "Запись" или "Чтение",После окончания обработки в процессоре 1 накапливаются данные, кото.рые подлежат передаче в устройство 15.ввода-вывода 4. Передача данных изпроцессора 1 в устройство ввода-вывода 4 осуществляется по укаэаннойсхеме посредством выдачи адреснойинформации иэ процессора 1 и возбуждения им сигнала "Запись". Устройствоввода-вывода 4 последовательно принимает данные из процессора 1 и возбуждает выходные каналы внешней шины 6, По выходным каналам внешней ши ны 6 данные иэ устройства ввода-вывода 4 в виде управляющих воздействий поступают на регулируемый объект.После возбуждения последнего выходного канала внешней шины 6 процессор 1 вновь переходит к опросуустройства ввода-вывода 4, чем осуществляется циклическое воспроизведение программы функционирования уст", ройства.35Для надежного функционированиявсего устройства должно быть обес-.печено надежное исполнение его управляющей программы, состоящей иэ кабо- ливающий их в исходное состояние,ра команд, хранящихся в первом блоке постоянной памяти 2. Однако вреальных условиях нормальное исполнение программы может нарушатьсявследствие различных причин: сбоеви отказов аппаратуры, помех, кратковременного пропадания питающих ния в первом блоке постоянной памяти 2,напряжений и т,п. В условиях постоянно повышающейся сложности программи расширения областей примененияпрограммных вычислительных систем 5 Опоследствия этих сбоев становятсявсе более значительными, Для восста- постоянной памяти 2, подготавливаяновления работоспособности устройст- его к выдаче байта команды иэ ячейва управления после сбоя программы ки, определяемой младшими разрядаминеобходимо прежде всего за мини адреса, Одновременно сигнал с пермальное время обнаруживать сам фактнарушения корректного исполненияпрограммы и принимать соответ 1191912адреса поступают на второе постоянное запоминающее устройство 13, что обеспечивает появление на его выходе первого контрольного числа, равного кулю, Схема сравнения 9 сравнивает контрольное число с числом, находящимся в регистре 8, и вследст-, вие их равенства формирует сигнал, запирающий элемент И 1 О, Для приема байта команды из блока постоянной памяти 2 процессор генерирует сигнал "Чтение", что вызывает появление считываемого байта команды на шине данных и его занесение в процессор, Одновременно сигнал "Чтение" проходит через открытый элемент И 12 и не про" ходит через закрытый элемент И 10, При этом байт команды, находящийся на шине данных, суммируется сумматором 7 с числом, находящимся в регистре 8, В момент окончания сигнала "Чтение" на выходе элемента И 12 формируется сигнал, записывающий резуль" тат суммирования с выхода сумматора 7 в регистр 8, в котором он запоминается до следующего цикла чтения очередного байта команды из блока постоянной памяти 2. При записи в регистр 8 нового значения равенство чисел на входах схемы сравнения нарушается и она выдает сигнал, отпирающий элемент И 10, Но так как в это время сигнал на втором его входе уже отсутствует, то этоне приводитк формированию сигнала на выходе этого элемента И 10, В дальнейшем при правильной работе программы принцип действия устройства совершенно иденти - чен укаэанному, Для чтения очередного байта из блока постоянной памяти 2 процессор снова формирует на младших разрядах адреса адрес ячейки в которой он находится. При этом из постоянного запоминающего устройства 13 по этому адресу считывается новое значение контрольного числа, совпадающего с состоянием регистра 8 в этот момент времени, что обеспечивает закрывание элемента И 10 ,и т,д, Таким образом, при правильной работе программы на выходе элемента И 10, т,е, на входе прерывания процессора, никогда не появится сигнал прерывания, свидетельствующий о сбое программы. При обращении процессора 1 к блоку оперативной памяти 3 или устройству ввода-вывода 4 элемент И 12 останется закрытым выходнымсигналом с дешифратора 5, так какадресная зона, отведенная этим устройствам, при использовании принципанеизолированного интерфейса не совпадает с адресной зоной, отведеннойблоку постоянной памяти 2,Нарушение нормального хода программы может быть вызвано, например,сбоем счетчика команд в процессоренли отказом адресных линий в шине адреса,.что приводит к искажению ин 510 формации на шине адреса и нарушению последовательности выбора команд либо к отказу ячеек блока постояннойпамяти 2, или отказу линий связи в 15 шине данных, это приводит к чтению неверных кодов команд из блока постоянной памяти 2, ОДнако предлагаемое ленин запроса прерывания обеспечивается подачей напряжения +12 В на вывод системного контроллера, т.е, на выход подтверждения прерывания,Таким образом, в предлагаемом устройстве реализуется контроль за правильностью работы программы, При нарушениях ее нормального исполнения, вызванного сбоем или нарушением информации на адресной шине, либо искажением кодов команд программы,50 55 устройство обеспечивает выявление подобных нарушений нормального хода про"граммы. Действительно,.при искажении,информации на адресной шине из постоянного запоминающего устройства 13.будет извлечено контрольное слово,не соответствующее верному состояниюрегистра 8, При искажении информациина шине данных состояние регистра 8не будет соответствовать верному кон 30трольному слову на выходе постоянного запоминающего устройства 13,Однако в обоих случаях схема сравнения 9 зафиксирует неравенство чиселна ее входах и откроет элемент И 10,В результате этого сигнал с выходаэлемента И 12, появляющийся при обращении к постоянному запоминающемуустройству 2, пройдет черезоткрытыйэлемент И 10 на вход прерыванияпроцессора, При этом процессор перейдет на программу обработки прерывания, которая определит соответствующие меры защиты от возникшегонарушения нормального хода программы. В простейшем случае управляющая 45программа может быть запущена с начального адреса, Переход на программу обработки прерывания при поступ1191912 вую структуру программы и выход иэнее будет происходить с нулевым значением контролируемой суммы, т,енулевым состоянием регистра 8. Недостатком уравнивания до нулевых значений контролируемой суммы являетсято, что сбои программы, приводящиек пропуску целого количества еебазовых структур, не будут обнаружены,Для обнаружения таких сбоев значения контрольной суммы кодов операций при выходе из различных базовыхструктур должны быть различны. Проще всего это значение контрольнойсуммы сопоставить с номером базовойструктуры в полной логической структуре программы, При этом в базовой структуре "Цикл" в зацикливающей30ветви программы уравнивание должноосуществляться до входного значенияконтрольной суммы, т,е. номера преды"дущей базовой. структуры, а в выходной ветви - до выходного значенияконтрольной суммы, т.е, номера выпол"ненной базовой структуры.В простейшем случае уравниваниеконтрольной суммы может быть реалиФзовано одной единственной командойЭв качестве которой в системе, исполь 40зующей многобайтные команды, удобноиспользовать команды с непосредственной адресацией, Учитывая, что сум-,мирование кодов операций осущест 45вляется по некоторому модулю во втором байте команды, считываемой изблока постоянной памяти 2, всегдаможно указать число, дополняющееконтрольную сумму до заданного значения. Определение величины урав 50нивающего числа может осуществлятьлся либо программистом в процессеразработки программы, либо автоматически с помощью программы ассемблеконтроль оперативно выявляет это иосуществляется быстрый перезапускустройства. В результате этого функции программы либо восстанавливаютсяза минимальный промежуток времениЭчто позволяет сохранить высокое качество управления регулируемым объектом, либо минимизируются последствия сбоев в случае их абсолютнойнедопустимости.Однако использование предлагаемого устройства для контроля функционирования микропроцессорной системыналагает некоторые ограничения наее программирование, Беэ учета этихограничений в предложенном устройстве обеспечивается контроль лишь линейных участков программы, Линейныйучасток программы при широко распространенном структурном подходе кпрограммированию(Хьюз Дж. Мичтом Дж,Структурный подход к программированию, М,: Мир, 1980 )называется базовой структурой "Следование", Однакоэтой структуры недостаточно, чтобы.представить даже самые простые практические программы. Логическаяструктура любой сколь угодно сложнойпрограммы может быть выражена комбинацией трех базовых структур: указанной структуры "Следование", "Развилка и Цикл , Все эти базовыеИ 11 1структуры приведены на фиг, 2, Приэтом структура "Цикл" может иметьфдве разновидности,. Каждая базоваяструктура программы имеет один входи один выход, Однако внутри базовыхструктур,"Развилка" и "Цикл" осущест"вляется ветвление: вычислительногопроцесса с последующим объединениемветвей. Объединение ветвей программы осуществляется обращением по од-.ному и .тому же адресу после приходаветвей программы. Суммы кодов операций, находящихся в различных ветвях,в общем случае не совпадают, В результате этого при объединении ветвейпрограммы без принятия дополнительных мер предложенное устройство зафиксирует сбой программы, хотя такового и нет, Для исключения этого явления необходимо искусственно выравнивать суммы кодов операций передкаждым объединением ветвей, Это легко обеспечивается путем размещения 5перед каждой точкой объединения.ветвей дополнительных управляющих команд, не имеющих функционального значения с точки зрения процесса решениязадачи, решаемой микропроцессорнойсистемой, Эти команды изображены,нафиг, 2 заштрихованными прямоугольни 5хами, причем их различная штриховкаподчеркивает различное значение(уравнивание сумм кодов операций может осуществляться до нулевого значения ), При этом вход в каждую базора при трансляции разработанной рабочей программы в объектную программу, При этом в качестве объекта воздействия уравнивающей команды дол жен выбираться регистр микропроцес

Смотреть

Заявка

3741904, 16.05.1984

РЫБИНСКИЙ АВИАЦИОННЫЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ

ГЛАДШТЕЙН МИХАИЛ АРКАДЬЕВИЧ, ШУБИН НИКОЛАЙ АЛЕКСЕЕВИЧ, КОМАРОВ ВАЛЕРИЙ МИХАЙЛОВИЧ

МПК / Метки

МПК: G06F 11/28

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

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

Код ссылки

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

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