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

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

Авторы: Моченков, Мощицкий, Тимонькин, Ткаченко, Харченко

Есть еще 3 страницы.

Смотреть все страницы или скачать ZIP архив

Текст

(9 юц 5 006 Е ОСУДАРСТВЕННЫЙ КОМИТЕТО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯРИ ГКНТ СССР ПИСАНИЕ ИЗОБРЕТЕНИЯ вт б К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(56) Авторское свидетельство СССРЬЬ 1363220, кл. 6 06 Е 11/28, 1987,Авторское свидетельство СССРМ 1176336, кл, 6 06 Р 11/28, 1985.(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ХОДАПРОГРАММ(57) Изобретение относится к вычислительной технике и может быть использовано дляконтроля хода программы ЭВМ, а также для.отладки их программного обеспечения.Цель изобретения - повышение достоверности контроля, В устройство для контроляпрограммы, содержащее блок 1 памяти,первый и второй регистры 4 и 5, первый ивторой счетчики 6 и 7 времени, триггер 8 Изобретение относится к вычислительной технике и может быть использовано для контроля хода программ ЭВМ,Цель изобретения - повышение достоверности контроля.На фиг, 1 изображена функциональная схема устройства; на фиг, 2 - схема блока памяти; на фиг. 3 - схема блока регистров; нв фиг. 4 - схема блока сравнения; на фиг, 5 -схема блока регистров контрольной метки.Устройство контроля хода программы содержит блок 1 памяти, генератор 2 единиц, блок 3 регистров, первый регистр 4, второй регистр 5, первый счетчик 6 времени,орой счетчик 7 времени, триггер 8 пуска, лок 9 индикации, блок 10 сравнения, депуска, блок 9 индикации, блок 10 сравнения, дешифратор 11 адреса, элементы И 15-18, элемент ИЛИ 21, введены генератор 2 единиц, блок 3 регистров, шифратор 12 кодов, первый коммутатор 13, второй коммутатор 14, пятый элемент И 19, одновибратор 20, второй элемент ИЛИ 22, третий элемент ИЛИ 23, четвертый элемент ИЛИ 24. Сущность изобретения заключается в повышении достоверности контроля за счет реализации возможности функционирования в четырех новых режимах: с автоматическим заданием масштаба уставок времени и .контролем всех переходов; с автоматическим заданием масштаба уставок времени и контролем всех переходов. между заданными участками программы; с программным заданием масштаба уставок времени и контролем всех переходов; с программным заданием масштаба уставок времени и контролем переходов между заданными участками программы. 5 ил. шифратор 11 адреса, шифратор 12 кодов, первый коммутатор 13, второй коммутатор 14, первый 15, второй 16, третий 17, четвертый 18, пятый 19 элементы И, одновибратор 20, элемент ИЛИ 21, элемент ИЛИ 22, элемент ИЛИ 23, элемент ИЛИ 24, выход 25 устройства, первую группу 26 входов устройства, вторую группу 27 входов устройства, первый вход 28 устройства, второй вход 29 устройства, выход 30 блока 1 памяти, выход 31 блока памяти, группу 32 выходов блока 3 регистров, группу 33 выходов блока 3 регистров, группу 34 выходов регистра 4, группу 35 выходов регистра 5, выходы 36 и 37 счетчика 7 времени, выходы 38, 39, 40, 41;42, 43, 44 дешифратора 11 адреса.Выход 30 блока 1 памяти подключен кпервому входу элемента ИЛИ 24, выход которого подключен к входу блока 9 индикации и выходу 25 устройства, Выход 31 блока1 памяти подключен к первому управляющему входу регистра 4 контрольной метки,группа 34 выходов которого подключена кпервой группе входов блока 10 сравнения игруппе входов блока 1 памяти. Группа выходов генератора 2 единиц подключена к первой группе входов первого коммутатора 13,группа выходов которого подключена кгруппе информационных входов счетчика 6времени.Группа 32 выходов блока 3 регистровсоединена с группой входов шифратора 12,группа выходов которого подключена к первой группе входов второго коммутатора 14.Группа 33 выходов блока 3 регистров подключена к второй группе входов блока 10сравнения, выход которого подключен квходу блока 1 памяти. Группа 35 выходоврегистра 5 соединена с первой группой входов регистра 4 и второй группой входовблока 1 памяти, а также с третьей группойвходов блока 10 сравнения,Выход счетчика 6 времени подключен кпервым входам элементов И 16 и 18, а такжек инверсному входу элемента И 17, выход-которого соединен со счетным входом счетчика 7 времени, Выход 36 счетчика 7 времени подключен к инверсному входу элементаИ 19, выход которого подключен к второмувходу элемента ИЛИ 24, выход 37 счетчика7 времени подключен к инверсному входуэлемента ИЛИ 24. Единичный выход триггера 8 пуска подключен к первому входу элемента И 15, выход которого соединен с вторым входом элемента И 16 и прямым входом элемента И 17, Выход 38 дешифратора 11 адреса соединен с первым входом элемента ИЛИ 21 и прямым входом элемента И 19, Выход 39 дешифратора 11 подключен к второму входу элемента ИЛИ 21, выход которого соединен с нулевым входом триггера 8 пуска и вторым входом элемента И 18, выход которого подключен к третьему входу элемента ИЛИ 24, Выход 40 дешифратора 11 адреса подключен к первому управляющему входу блока 3 регистров и входу одновибратора 20, выход которого соединен с первыми управляющими входами коммутаторов 13 и 14, а также с первыми входами элементов ИЛИ 22 и 23, Выход 41 дешифратора 11 адреса подключен к совмещенному установочному входу триггера 8 пуска, второму управляющему входу регистра 4,.а также второму управляющему входу блока 3 регистров.10 20 30 50 Выход 42 дешифратора 11 адреса подключен к третьему входу блока 3 регистров,.выход 43 дешифратора 11 адреса подключен к второму управляющему входу коммутатора 14 и второму входу элемента ИЛИ 23,выход которого соединен с синхровходомсчетчика 7 времени, Выход 44 дешифратора",1 адреса подключен к второму управляющему входу коммутатора 13 и второму входуэлемента ИЛИ 22, выход которого подключен к синхровходу счетчика 6 времени,Группа выходов коммутатора 14 подключена к группе информационных входовсчетчика 7 времени, Выход элемента И 15соединен с вторым входом элемента И 16,выход которого подключен к счетному входусчетчика 6 времени, а также к прямому входу элемента И 17, Группа 26 входов устройства подключена к группе адресньх входовдешифратора 11 адреса, а также отдельными разрядами подключена к группе входоврегистра 5, Группа 27 входов устройстваподключена к вторым группам входов коммутатора 13 и коммутатора 14, а также отдельными разрядами к второй группевходов регистра 4 и группе входов блока 3регистров. Вход 28 устройства подключен куправляющему входу дешифратора 11 адреса, управляющему входу регистра 5 и управляющему входу блока 10 сравнения, ВхоД 29устройства подключен к второму входу элемента И 15,Блок 1 памяти (фиг. 2) содержит перепрограммируемые запоминающие элементы 45 памяти, блок элементов 46,1-46.псравнения, элемент И 47, элемент И 48, элемент И 49, выход 30, выход 31, группу 32входов, группу 33 входов, управляющийвход от блока 10 сравнения,Группа выходов запоминающих элементов 45 отдельными разрядами подклю-чена к первым группам входов элементов46.1-46.п сравнения соответственно, выходы которых подключены к соответствующимвходам элемента ИЛИ 49.Выход элемента И 47 является выходом30 блока, а выход элемента И 48 являетсявыходом 31 блока, Выход элемента ИЛИ 49подключен к инверсному входу элемента И47 и первому входу элемента И 48.Группа 32 входов подключена к группевходов запоминающего устройства 45.. Группа 33 входов блока подключена к вторым группам входов элементов 46,1-46.п5 сравнения. Управляющий вход блока подключен к второму входу элемента И 48 ипрямому входу элемента И 47,Блок 3 регистров (фиг. 3) содержит регистр 50 маски, регистр 51, триггер 52 установки, группу 32 выходов, группу 3320 25 30 40 50 выходов, группу 27 входов, вход 40, вход 41, вход 42.Группа выходов регистра 50 маски является группой 32 выходов блока, Группа выходов регистра 51 является группой 33 выходов блока. Единичный выход триггера 52 установки подключен к установочному входу регистра 51.Группа 27 входов блока подключена к группам входов регистра 50 маски и регистра 51, вход 40 подключен к синхровходам регистра 50 маски и регистра 51, вход 41 подключен к нулевому входу триггера 52 установки, вход 42 подключен к совмещенному установочному входу триггера 52 установки.Блок 10 сравнения фиг. 4) содержит элемент 53 сравнения, блок элементов И 54,1-54,п, блок элементов И 55.1-55,п, выход блока на блок 1 памяти, группу 33 входов, группу 34 входов, группу 35 входов, управляющий вход 28.Выход по несовпадечию элемента 53 сравнения является выходом блока.Группа выходов блока элементов И 54.1-54.п подключенак группе А входов элемента 53 сравнения. Группа выходов блока элементов И 55.1-55,п подключена к группе В входов элемента 53 сравнения,Группа 33 входов подключена отдельными разрядами к первым входам элементов И 54,1-54,п блока и элементов И 55.1-55.п блока, группа 34 входов блока подключена отдельными разрядами к вторым входам элементов И 54.1-54.п блока соответственно, Группа 35 входов блока подключена отдельными. разрядами к вторым входам элементов И 55.1 - 55.п блока.Вход 28 блока является управляющим входом элементов 53 сравнения.Блок 4 регистра контрольной метки (фиг. 5) содержит регистр 56, коммутатор 57, элемент ИЛИ 58, элемент 59 задержки, группу 34 выходов, группу 27 входов, группу 35 входов, входы 31 и 41,Группа выходов оегистра 56 является группой 34 выходов блока, группа выходов коммутатора подключена к группе входов элемента 59 задержки, группа выходов которого подключена к группе входов регистра 56, выход элемента ИЛИ 58 подключен к синхровходу регистра 56, группа 27 входов блока подключена к первой группе входов коммутатора 57, группа 35 входов блока подключена к второй группе входов коммутатора, вход 31 блока подключен к первому входу элемента ИЛИ 58 и первому управляющему входу коммутатора 57, вход 41 блока подключен к второму управляющему входу коммутатора 57 и второму входу элементаИЛИ 58.Блок 1 памяти предназначен для хранения и проверки адресов разрешенных переходов. Он представляет собой ассоциативное запоминающее устройство, в котором по адресу данной команды хранятсяадреса возможных разрешенных переходовотданной команды к всевозможным другим.Перепрограммируемые запоминающиеэлементы памяти 45 предназначены дляхранения и выдачи по пришедшему кодуадреса адресов разрешенных переходов.. Блок элементов 46,1-46.п сравненияпредназначен для сравнения кодов адресовтекущих команд с кодами разрешенных адоесов, записанных в перепрограммируемомзапоминающем устройстве 45.Элемент И 47 предназначен для формирования сигнала "Ошибка". Элемент И 48предназначен для формирования сигнала"Смена метки", Элемент ИЛИ 49 предназначен для объединения выходов элементов46,1-46.п сравнения,Генератор 2 единиц предназначен дляформирования последовательности сигналов, имеющих потенциал лОгической единицы.Блок 3 регистров предназначен для хранения и выдачи кода маски на шифратор 12,блок 10 сравнения в различных режимахработы устройства.Регистр 50 маски предназначен дляполучения, хранения и выдачи кода маски.Регистр 51 предназначен для выдачи кодамаски на блок 10 сравнения в режимах, когда производится контроль абсолютно всехпереходов.Триггер 52 предназначен для установкии удержания регистра 51 в единичном состоянии при программном обращении к регистру 51.Регистр 4 контрольной метки предназначен для хранения и выдачи кода контрольной метки. Регистр 5 предназначен дляхранения и выдачи кода адреса текущей команды.Счетчики 6 и 7 времени предназначеныдлч фиксации минимальной и максимальной границ времени соответственно приконтроле времени выполнения контролируемой программы,Триггер 8 пуска предназначен для формирования сигнала "Начало контроля". Блок9 индикации предназначен для световой регистрации наличия ошибки в программе,Блок 10 сравнения предназначен для регистрации наличия переходов, путем сравнения кодов адресов предыдущей команды споследующей, 1663612Элемент 53 сравнения предназначендля выдачи сигнала наличия перех 9 да наблок 1 памяти при несравнении кодов адресов команд,Блоки элементов И 54.1-54.п и 55,1-55,ппредназначены для осуществления контроля изменений в разрядах сравниваемых кодов адресов команд с помощью кода маски,Дешифратор 11 адреса предназначендля выработки сигналов управления программно-доступными блоками схемы, а также выработки сигналов для управленияфункционированием устройства в соответствии с заданным алгоритмом.Шифратор 12 кодов предназначен дляформирования кодов уставок масштаба времени для автоматической перезаписи всчетчики 6 и 7 времени в соответствии скодом маски.Коммутаторы 13 и 14 предназначеныдля управления записью кодов времени всчетчики 6 и 7 времени либо автоматическис шифратора 12, либо программно.Элемент И 15 предназначен для пропуска в устройство импульсов тактовой частоты при наличии разрешающего сигнала свыхода триггера 8 пуска.Элементы И 16, 17, 18 предназначеныдля осуществления контроля времени обра ботки участка программы. Элемент И 19предназначен для контроля времени выполнения контролируемого участка программы,если есть требование строго фиксироватьколичество обработанных команд в определенный промежуток времени,Одновибратор 20 предназначен дляосуществления синхронизации работысчетчиков 6 и 7 и блока 3 регистров и шифратора 12 кодов при автоматическом задании масштаба уставок времени.Элемент ИЛИ 21 предназначен для обьединения выходов 38 и 39 дешифратора 11адреса, чтобы сформировать сигнал "Конецконтролируемого участка",Элементы ИЛИ 22, 23 предназначеныдля формирования сигнала синхронизациидля управления работой счетчиков 6 и 7 времени.Элемент ИЛИ 24 предназначен для формирования сигнала "Ошибка" для блока 9индикации и запроса на прерывание длямикропроцессорной системы,Устройство работает следующим образом.Устройство позволяет производить контроль хода выполнения программы как повремени, так и контролировать переходы.Причем контроль по времени возможно реализовать двояким путем (в зависимости оттребований к программированию):5 10 15 ванию, таким образом: контролируются переходы между участ 45 50 55 20 25 30 35 40 с программным заданием интервала времени, в течение которого должны быть обработаны команды данного участка программы;с автоматическим заданием интервала времени, причем контролировать выполнение участка программы можно нестрого, в интервале времени ТвпТТвах, а также, задаваясь определенным числом команд, которые должны быть обработаны, фиксировать количество выполняемых команд в данный момент времени. Контроль переходов осуществляется взависимости от требований к программироками программы; контролируются абсолютно все переходы как между участками, так и внутри их Исходя из изложенного, можно выделить несколько режимов функционирования устройства контроля хода программы:с автоматическим заданием масштаба уставок времени и контролем абсолютно всех переходов;с автоматическим заданием масштаба уставок времени и контролем переходов между заданными участками программы;с программным заданием масштаба уставок времени и контролем абсолютно всех переходов;с программным заданием масштаба уставок времени и контролем переходов между заданными участками программы,Устройство для микропроцессорной системы является внешним. Связь между устройством и микропроцессорной системой происходит через интерфейсную магистраль,Устройство использует следующие управляющие сигналы микропроцессорной системы: сигнал идентификации машинного .цикла Выборки команд (метка М 1 - пятый разряд слова состояния - вход 28 устройства; импульсы тактовоЙ частоты, поступающие от генератора микропроцессорной системы, - вход 29 устройства.В устройстве программно-доступными блоками являются счетчики 6 и 7 времени, регистр 4 контрольной метки, регистр 50 маски, регистр 51 в блоке 3 регистров, каждому блоку соответствует свой программно- неизменяемый номер,В исходном состоянии все элементы памяти обнулены (цепи установки в нуль условно не показаны). При этом в блок 1 памяти, представляющий собой ассоциативное запоминающее устройство, занесены адреса разрешенных переходов.5 10 15 20 25 30 35 40 45 50 Рассмотрим функционирование устройства контроля в первом режиме,Программа составляетсяс выполнением требований структурности. Программа разбивается на контролируемые участки, и ричем длина участка (количество команд ) зависит от длины кода маски К= 2 - 1, представляющего собои комбинацию "1", обозначающих разряды, которые могут модифицироваться; для каждого контролируемого участка эта разрешающая зона может изменяться. Таким образом, фиксируется изменение любого разряда кода адреса, Начало контролируемого участка - код маски, конец обозначается кодом адреса А идентифицирующим, например, команду вывода ОЧТРЧТ,Микропроцессор (например, К 580) выставляет на шину адреса код адреса регистра 50 маски, а на шину данных код маски.Адрес регистра 50 маски через группу 26 входов устройства поступает на группу входов дешифратора 11 адреса, а код маски через группу 27 входов устройства поступа ет на группу входов регистра 50 маски блока 3 регистров, Дешифратор 11 адреса расшифровывает адрес регистра 50 маски и на его выходе появляется сигнал, который разрешит запись кода маски в регис гр 50 маски. Управляющим сигналом для дешифратора 11 адреса является сигнал идентификации машинного цикла выборки команды (метка М 1 - пятый разряд слова состояния) на входе 28 устройства. Код числа с группы 32 выходов регистра 50 маски поступает на шифратор 12, на выходе которого будет сформирован код, обозначающий масштаб времени максимально допустимого выполнения контролируемого участка программы.Данный код через коммутатор 14 по управляющему сигналу с выхода 40 дешифратора 11 адреса по заднему фронту через одновибратор 20 и через элемент ИЛИ 23 запишется в счетчик 7 максимального времени. По тому же управляющему сигналу с выхода элемента ИЛИ 22 через коммутатор 13 в счетчик 6 минимального времени с группы выходов генератора 2 единиц запишется код, представляющий собой набор логических единиц, Таким образом, в счетчик 6 записан код минимального времени выполнения контролируемого участка, а в счетчик 7 записан код максимального времени выполнения того же участка,Далее микропроцессор обращается к регистру 4 контрольной метки, т,е: адрес этого регистра поступает на группу 26 входов устройства и на группу входов дешифратора 11 адреса. По управляющему сигналу с выхода 41 дешифратора 11 адреса по заднему фронту возбуждается триггер 8 пуска. По сигналу на единичном выходе триггера 3 пуска откроется элемент И 15, тем самым разрешается проход с входа 29 устройства на выход элемента И 15 тактовых импульсов.Сигналы тактовой частоты с выхода элемента И 15 поступают на открытый элемент И 16 и закрытый по инверсному входу элемент И 17. Сигнал с выхода элемента И 16 поступает на счетный вход "-1" счетчика 6, содержимое которого уменьшается по мере выполнения команд контролируемого участка программы. Когда счетчик 6 времени обнуляется, сигнал обратного перехода с его выхода закрывает элементы И 16 и 18, а открывает по инверсному входу элемент И 17, через который тактовые импульсы проходят на счетный вход "-1" счетчика 7 максимального времени, содержимое которого уменьшается на единицу с приходом каждого тактового импульса, Сигнал "Конец контроля" формируется на выходе 39 дешифратора 11 адреса, по приходу на его группу входов неизменяемого кода адресаА, идентифицирующего команду вывода,Если дешифратор 11 адреса обнаружит признак конца временного участка раньше, чем обнулится счетчик 6 времени (что соответствует выполнению участка программы за время, меньшее Тгл), то сигнал "Конец контроля" через открытый элемент И 18, элемент ИЛИ 24 включит блок 9 индикации, поступит на выход 25 устройства и будет воспринят микроп роцессорной системой как сигнал ошибки, запрос на прерывание.Одновременно сигнал "Конец контроля" переводит триггер 8 пуска в нулевое состояние, закрывая по второму входу элемент И 15, Поступление тактовых импульсов на счетный вход "-1" счетчика 6 времени прекращается.Если дешифратор 11 адреса обнаружит конец прсверяемого временного сегмента после обнуления счетчика 6 времени и до обнуления счетчика 7 максимального времени, что соответствует выполнению участка программы за время Т (ТтаТТрах), то сигнал "Конец контроля" переводит в нулевое состояние триггер 8 пуска, закрывает элемент И 15 и прекращает поступление тактовых импульсов на счетчик 7 максимального времени, так как в этот момент элемент И 18 закрыт, то сигнал "Конец контроля" не проходит на вход 25 устройства иблок 9 индикации,Если счетчик 7 максимального времени обнулится до появления кода адреса А (что соответствует выполнению программногоучастка за время, большее Тпх), то сигнал обратного переноса с выхода 37 счетчика 7 времени через инверсный вход элемента ИЛИ 24 включит блок 9 индикации, поступит на выход 25 устройства и будет воспринят микропроцессорной системой как запрос на прерывание,Если необходимо контролировать строго определенное количество команд в заданное время, то программа составляется таким образом, чтобы после адреса Аз, обозначающего конец контролируемого участка программы, следовал неизменяемый адрес АБ "+1".При поступлении этого адреса на группу входов дешифратора 11 адреса на выходе 38 дешифратора 11 появится сигнал, который откроет по прямому входу элемент И 19. В этот момент на выходе 36 счетчика 7 времени должен присутствовать сигнал логической единицы, что соответствует тому, что произошла выборка й команд, если же в данный момент будет выбрано больше или меньше, чем М команд, то на выходе 36 счетчика 7 времени будет присутствовать сигнал логического нуля, данный сигнал поступит на инверсный вход элемента И 19,наличие сигнала на выходе которого бУдет означать присутствие ошибки, что зарегистрирует блок 9 индикации. а также сигналошибки поступит на выход 25 устройства,Одновременно с контролем времени выполнения программ в устройстве осуществляется контроль переходов, В силу того, что кодом маски можно задавать самые различные зоны изменений разрядов в коде адреса, контролируются абсолютно все переходы.Контроль переходов осуществляется следующим образом, Как описывалось вы- ше, регистр 4 контрольной метки является программно-доступным, В регистр 4 конт.рольной метки программно записывается контрольная метка в начале контроля, т,е. при запуске устройства. В дальнейшем в процессе контроля смеси метки происходит аппаратным путем,Запись происходит следующим образом. Микропроцессор на шину данных выставляет код контрольной метки, а на шину адреса - код адреса регистра 4. У дешифратора 11 адреса возбуждается выход 41, сигналом с этого выхода информация с группы 27 входов запишется в регистр 4 контрольной метки. В регистр 5 записывается адрес выполняемой текущей команды, который поступает с группы 26 входов устройства, Этот код будет записываться по сигналу, идентифицирующему цикл выборки команды. С групп 34 и 35 выходов регистров 4 и 5 5 10 15 20 25 30 35 40 45 50 коды поступают на первые и вторые группы входов блока 10 сравнения, Код контрольной метки с выхода 34 регистра 4 поступает на входы блока элементов И 54,1-54.п, а код текущего адреса поступает на входы блока элементов И 55.1-55.п с гоуппы 35 выходов регистра 5, Код маски с группы 33 выходов регистра 51 поступает на соответствующие входы элементов И 54,1-54.п и 55.1-55,п блоков.Таким образом, коды на группах выходов элементов И 54,1-54.п и 55.1-55.п будут сформированы в соответствии с законом расстановки "1" и "0" в коде маски, т,е, любое изменение разрядов в маскируемой зоне в коде адреса, что соответствует переходу, будет зафиксировано в кодах на группах выходов блоков элементов И 54,1- 54,п"и 55.1-55,п, Данные коды поступают на первую и вторую группы входов блока 53 сравнения соответственно, где по заднему фронту управляющего сигнала с выхода 28 устройства (который иДентифицирует выборку команды - метка М 1) проходит сравнение этих кодов, Сигнал несовпадения кодов на выходе блока 10 сравнения поступает на управляющий вход блока 1 памяти, Одновременно с поступлением кодов контрольной метки и текущего адреса на блок 10 сравнения, они поступают на соответствующие группы 34 и 35 входов блока 1 памяти, Блок 1 памяти проверяет, является ли совершенный программой переход разрешенным. Код с группы 34 входов блока 1 памяти является адресом, по которому в перепрограммируемом запоминающем устройстве 45 содержатся адреса всех возможных разрешенных переходов из данного адреса. Считанные коды адресов поступают на первые группы входов соответствующих элементов сравнения 46.1-46,п блока, где они сравниваются с кодом адреса текущей команды.Если происходит сравнение, т.е, переход разрешен, то на выходе 31 блока 1 памяти появляется сигнал перезаписи кода адреса текущей команды в регистр 4 контрольной метки, где с этого момента данный код становится контрольным. В противном случае на выходе 30 блока 1 памяти появляется сигнал "Ошибка". Следующие коды адресов текущих команд сравниваются с новым контрольным кодом (по существу, кодом адреса предыдущей команды),В случае запрещенного перехода сигнал "Ошибка" поступает на вход элемента ИЛИ 24, включает блок 9 индикации и посту пает на выход 25 устройства для перевода5 10 20 25 30 режима 35 40 микропроцессорной системы в режим прерывания.Таким образом, устройство выдает сигнал ошибки в случае, когда программа выполняется не в расчетное время, а также при любом запрещенном переходе.Рассмотрим работу устройства во втором режиме (с автоматическим заданием масштаба установок времени и контролем переходов между заданными участками программы). Как указывалось выше, выбор функционирования устройства в том или ином режиме зависит от требований к устройству контроля и требований к программированию, Как и для первого режима программа разбивается на программные участки. Началом контролируемого участка считается код маски, конец обозначается кодом адреса А (например, команда вывода). К разрядов адреса команды представляют в виде двух частей: изменяемой части, содержащейразрядов, и неизменяемой части, содержащей (К) разрядов, называемой меткой участка. В участок включаются команды с одинаковой меткой. Для одного участка разряды меток должны совпадать,Контроль времени с автоматическим заданием масштаба уставок времени происходит аналогично описанному для первого Одновременно с контролем времени происходит контроль переходов; В отличие от первого режима после записи кода маски в регистр 50 маски и записи кода контрольной метки в регистр 4 контрольной метки по управляющему сигналу с выхода 41 дешифратора 11 адреса происходит программное обращение к регистру 51, Неизменяемый адрес этого регистра поступает на группу входов дешифратора 11, в результате возбуждается выход 42.Сигнал с этого выхода 42 дешифратора 11 адреса установит триггер 52 установки в единичное состояние, сигнал на единичном выходе триггера 52 поступит на установочный вход регистра 51, который будет удерживаться в единичном состоянии в течение всего режима (т,е, происходит отключение регистра 51), (Триггер 52 установки обнуляется сигналом запуска системы с выхода 41 дешифратора 11 адреса при обращении к регистру 4 контрольной метки в начале выполнения программы при всяком режиме).В регистр 5 записывается текущая метка по управляющему сигналу, иденцифицирующему цикл выборки команды,С группы 34 выходов регистра 4 контрольной метки и группы 35 выходов регистра 5 коды метки поступают на соответствующие группы входов блока 10 45 50 55 сравнения, где коды сравниваются. Код маски представляет собой набор единиц, так как регистр 51 установлен в единичное со-. стояние, следовательно, этот код не оказывает влияния на работу блока 10 сравнения, Пока текущая темка принадлежит проверяемому участку, при правильном выполнении программы коды меток должны совпадать.Несовпадение меток может произойти при наличии в участке программы команды, передающей управление другому участку -разрешенный переход, а также при попытке программы выполнить запрещенный переход, что обусловлено наличием неисправно-сти в микропроцессорной системе, При несовпадении меток на выходе блока 10 сравнения появляется сигнал, поступающий на управляющий вход блока 1 памяти.Одновременно на группу 32 входов блока 1 памяти поступает код контрольной метки, а на группу 33 входов поступает код текущей метки. Блок 1 памяти проверяет, является ли переход разрешенным, Код контрольной метки является адресом, по которому в перепрограммируемом запоминающем устройстве 45 записаны раэоешенные переходы.Если текущая метка разрешена, то на выходе 31 блока 1 памяти при наличии разрешающего сигнала с блока 10 сравнения появляется сигнал "Смена метки", в противном случае на выходе 30 блока 1 памяти появится сигнал "Ошибка", Сигнал "Смена метки" перепишет текущую метку в регистр 4 контрольной метки, а сигнал "Ошибка" включает блок 9 индикации и поступает на выход 25 устройства, а затем в микропроцессорную систему как запрос на прерывание,Рассмотрим функционирование устройства контроля в третьем режиме (с программным заданием масштаба уставок времени и контролем абсолютно всех переходов),Программа для третьего режима составляется аналогично описанному для первого режима эа исключением того, что вслед за командой записи кода маски в регистр 50 маски следуют программные обращения к счетчикам 6 и 7 времени, причем обращением к этим счетчикам является начало каждого временного участка. В счетчик 6 времени записывается минимальное время Тпъ выполнения временного участка программы, а в счетчик 7 времени - разница между максимальным и минимальным временем ЬТ = Трах - Твп. Конец временного участка обозначается неизменяемым адресом А,(при необходимости ставится и адрес А, + 1).5 10 15 20 30 50 Код маски в этом режиме используется исключительно для контроля абсолютно всех переходов, как в первом режиме,Фукнционирование устройства в третьем режиме начинается программным обращением к регистру 50 маски. Код маски запишется в регистр 50 маски по управляющему сигналу с выхода 40 дешифратора 11 адреса, Далее при программном обращении к счетчику 6 времени на группе 26 адресных входов устройства появляется адрес счетчика 6 времени, сопровождающийся управляющим сигналом на входе 28 устройства, Управляющий сигнал разрешает работу дешифратора 11 адреса, который вырабатывает на своем выходе 44 сигнал, разрешающий прохождение кода коммутатор 13 и запись по заднему фронту в счетчик 6 времени кода временного интервала-Тпп. Аналогично записи в счетчик 6 происходит запись временного интервала в счетчик 7 времени сигналом с выхода 43 дешифратора 11 адреса при программном обращении к счетчику 7 времени.Таким образом, информация, записанная в счетчики при обращении к регистру 50 маски, будет заменена программно-принудительно. Контроль начинается при обращении к регистру 4 контрольной метки, т,е. сигнал с выхода 41 дешифратора 11 адреса установит в единичное состояние триггер 8 пуска, открывая тем самым элемент И 15 для пропуска тактовых импульсов с входа 29 устройства.Работа счетчиков 6 и 7 будет происходить аналогично описанному в первом режиме, Далее контроль времени, а также контрольпереходов происходитаналогично описанному в первом режиме, Программная запись временных интервалов позволяет вводить коррекцию по ходу выполнения программы,Рассмотрим характерные особенности функционирования устройства контроля в четвертом режиме с программным заданием масштаба уставок времени и контролем переходов между заданными участками программы). В этом режиме программа составляется следующим образок Программа разбива ется на временные участки. Начало каждого временного участка обозначается и рограм-. мным обращением к счетчикам 6 и 7 времени. Конец каждого временногс участка. Обозначается приходом кода адреса Аэ(Аз+1). К разрядов адреса команды представляют в виде двух частей: изменяемой части и неизменяемой части, метка участка. В участок включаются команды с одинаковой меткой. Таким образом, контроль времени в четвертом режиме происходит, как описано в третьем режиме, а контроль переходов осуществляется, как описано ео втором режиме. Формула изобретения Устройство для контроля хода программы, содержащее блок памяти, первый и второй регистры, первый и второй счетчики времени, триггер пуска, блок индикации, блок сравнения, дешифратор адреса, первый, второй, третий и четвертый элементы И и первый элемент ИЛИ, причем первый выход блока памяти подключен к первому прямому входу первого элемента ИЛИ, выход которого соединен со входом блока индикации и является выходом ошибки устройства, второй выход блока памяти соединен с первым входом записи первого регистра, группа выходов которого соединена с первой группой информационных входов блока сравнения и с группой адресных входов блока памяти, группа выходов второго регистра соединена с первой группой информационных входов первого регистра, группой информационных входов блока памяти и второй группой информационных входов блока сравнения, прямой выход триггера пуска соединен с первым входом первого элемента И, выход которого соединен с первым и прямым входами соответственно второго и третьего элементов И, выход переполнения первого счетчика времени соединен с вторым входом второго элемента И, с инверсным входом третьего элемента И и с первым входом четвертого элемента И, выход третьего элемента И соединен со счетным входом второго счетчика времени, выход переполнения которого соединен с инверсным входом первого элемента ИЛИ, выход равенства блока сравнения соединен с входом обращения блока памяти, первый выход дешифратора адреса соединен с вторым входом записи первого регистра, выходы второго и четвертого элементов И соединены соответственно со счетным входом первого счетчика времени и вторым прямым входом первого элемента ИЛИ, группа адресных входов устройства соединена с группами информационных входов дешифратора адреса и второго регистра, группа информационных входов устройства сОединена с етОрОЙ группой инфсрмацисн" ных входов первого регистра, вход признака выборки команды устройства соединен со стробирующим входом дешифратора адреса, входом записи второго регистра, тактовый вход устройства соединен с вторым входом первого элемента И, о т л и ч а ю 1663612 18щ е е с я тем, что, с целью повышения достоверности контроля, в него введены генератор единиц, блок регистров, шифратор кодов, первый и второй коммутаторы, пятый элемент И, одновибратор, второй, третий и 5 четвертый элементы ИЛИ, причем группа информационных выходов генератора единиц соединена с первой группой информа- ционных входов первого коммутатора, группа выходов которого соединена с груп пой информационных входов первого счетчика времени, первая группа выходов блока регистров соединена с группой входов шйфратора кодов, группа выходов которого соединена с первой группой информационных 15 входов второго коммутатора, вторая группа выходов блока регистров соединена с третьей группой информационных входов блока сравнения, выход заема второго счетчика времени соединен с инверсным вхо дом пятого элемента И, выход которого соединен с четвертым прямым входом первого элемента ИЛИ, первый выход дешифратора адреса соединен с единичным установочным входом триггера пуска и вто рым входом записи первого регистра, второй выход дешифратора адреса соединен с прямым входом пятого элемента И и с первым входом второго элемента ИЛИ, третий выход дешифратора адреса соединен с ЗО вторым входом второго элемента ИЛИ, выход которого соединен с нулевым входом триггера пуска и вторым входом четвертого элемента И, четвертый выход дешифратора адреса соединен с входом записи блока регистров и входом одновибратора, выход которого соединен с первыми управляющими входами первого и второго коМмутаторов и первыми входами третьего и четвертого элементов ИЛИ, пятый выход дешифратора адреса соединен с третьим входом блока регистров, шестой выход дешифратора адреса соединен с вторым управляющим входом второго коммутатора и вторым входом четвертого элемента ИЛИ, выход которого соединен с синхровходом второго счетчика времени, седьмой выход дешифратора адреса соединен с вторым управляющим входом первого коммутатора и вторым входом третьего элемента ИЛИ, выход которого соединен с синхровходом первого счетчика времени. группа выходов второго коммутатора соединена с группой информационных входов второго счетчика времени, вторая группа входов устройства соединена с: вторыми группами информационных входов первого и второго коммутаторов и группой входов блока регистров, вход признака выборки команды устройства соединен с входом разрешения блока сравнения.

Смотреть

Заявка

4488399, 30.09.1988

ПРЕДПРИЯТИЕ ПЯ А-1874

ТКАЧЕНКО ВЛАДИМИР АНТОНОВИЧ, ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ, ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ, МОЧЕНКОВ АНДРЕЙ ВЛАДИМИРОВИЧ, МОЩИЦКИЙ СЕРГЕЙ СЕМЕНОВИЧ

МПК / Метки

МПК: G06F 11/28

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

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

Код ссылки

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

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