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

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

Авторы: Овчинников, Рыбкин, Чудин

ZIP архив

Текст

СОЮЗ СОВЕТСНИХСОЦИАЛИСТИЧЕСН ИХРЕСПУБЛИН 09)01) 903 9 4 С 06 Г 11/28 Й КОМИТЕТ СССР РЕТЕВИЙ ИОТНРЫТИЙГОСУДАРСТВЕН ПО ДЕЛАМ ИЗ ИСАНИЕ ИЗОБРЕТЕНИЯ Г ) 3ЪФ г л(56) Авторское свидетельство СССРВ 658562, кл. С 06 .Р 11/28, 1977.Авторское свидетельство СССРВ 879563, кл. С 06 Р 11/26, 1980.(54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПРОГРАММ(57) Изобретение относится к областивычислительной техники; в частностик организации контроля и отладки программ. Устройство позволяет расширить функциональные возможности схемы и повысить точность контроля программ. Устройство включает первыйвход 1, дешифратор 2 адреса, такто1309030вый вход 3 и вход 4 начальной уста- са 23, второй элемент НЕ 24, второй новки устройства, первый элемент блок 25 памяти, первый 26 и второй 27 НЕ 5, первый 6, второй 7 и третий 8 выходы устройства, первую 28.1 и втоэлементы И, первый элемент ИЛИ 9, рую 28,2 схемы сравнения, дешифратор элемент 10 задержки, первый 11, вто- команд 29, группу элементов И 30, рой 12, третий 13 триггеры, четвер- элемент ИЛИ-НЕ 31. Изобретение позвотый элемент И 14, пятый элемент И 15, ляет значительно повысить контроли- информационный вход 16 устройства, рующие возможности устройства, так регистр 17 команд, первый регистр 18, как эа каждый сеанс по контролю провторой регистр 19, вход 20 запуска грамм оператор получает более полную устройства, второй элемент ИЛИ 21, , информацию по работе програмпервый блок 22 памяти, счетчик адре- мы , 1 ил.Изобретение относится к вычислительной технике, в частности к организации контроля и отладки программ.Цель изобретения - повышение контролирующих возможностей устройства.На чертеже изображена структурнаясхема устройства,Устройство содержит вход 1 адреса,дешифратор 2 адреса, тактовый вход 3и.вход 4 начальной установки устрой Оства, первый инвертор (элемент НЕ) 5,первый 6, второй 7 и третий 8 элементы И, .первый элемент ИЛИ 9, элемент 10задержки, первый 11, второй 12 и третий 13 триггеры, четвертый элементИ 14, пятый элемент И 15, информационный вход .16 устройства, регистр 17команд, первый регистр 18, второй регистр 19, вход 20 запуска, второйэлемент ИЛИ 21, первый блок 22 памяти, счетчик 23 адреса, второй ин-.вертор (элемент НЕ) 24, второй блок25 памяти, первый 26 и второй 27 информационные выходы устройства, схемы И 28, 1, 28,2 сравнения, дешифратор 29 команд, группу элементов И 30,элемент ИЛИ-НЕ 31. Устройство работает совместно с ЭВМ, где осуществляется выполнение контролируемой программы. При использовании микроЭВМ с тремя шинами устройство подключается адресным входом 1 к шине адреса, тактовым входом 3 к управляющей шине, информационным входом 16 к шине данных. Если используется микроЭВМ, базирующаяся на микропроцессоре, то в качестве 2команд обращения к устройству можно применять команды С Т, причем одно обращение к устройству должно состоять из трех команд С Т, так как ему отводятся три порта ввода-вывода, например с адресами Е 1, Е 2, ЕЗ. Нри каждом обращении микроЭВМ должна выдать по этим адресам Следующую информацию; код команды, определяющей, какое из условий проверять (адрес Е 1); содержимое проверяемого регистра или области памяти (адрес Е 2);константу пли содержимое другого ре-. гистра или области памяти для сравнения с информацией, записанной по адресу Е 2 (адрес ЕЗ). Устройство реализует следующий алгоритм. Код команды, выданный мик- роЭВМ по адресу Е 1, записывается в регистр 17 команд, а данные, выведенные по адресам Е 2 и ЕЗ, заносятся в первый 18 и второй 19 регистры. Информация из регистра 17 команд используется для выбора схемы 28 сравнения, реализующей проверку по заданному условию, а информация из первого 18 и второго 19 регистров используется этой схемой, Причем если условие не выпопняется (выбранная схема 28 сравнения не выдает единичного сигнала), то содержимое первого 18 и второго 19 регистров записывается в соответствующие блоки памяти, а когда условие выполняется - запись информации не производится.При использовании предлагаемого устройства для контроля программы30 4выхода выбранного элемента Ивыдается единичный сигнал, который поступает на вторые входы соответствующих триггеров и регистра, причем триггер устанавливается в состояние логической единицы, а в регистр записывается информация, поданная на вход 16 устройства.Таким образом, устройство принимает информацию до тех пор, пока не заполнены все три регистра, в этом случае все три триггера устанавлиются в состояние логической единицы. После этого на выходе четвертого элемента И 14 тоже появляется логическая единица, Этот сигнал поступает на первый вход пятого элемента И 5, разрешая, если возникает необходимость, запись информации в блоки 22 и 25 памяти, и на второй вход тоже подается логическая единица. Кроме того, сигнал поступает на вход инвертора 5, с выхода которого нулевой сигнал подается на вторые входы первого 6, второгои третьего 8 элементов И, запрещая тем самым запись информации в каждый из регистров, и на вход элемента 10 задержки. Через промежуток времени, необходимый для обработки записанной в регистры 17 - 19 информации, сигнал с его выхода через элемент ИЛИ 9 поступает на первь 1 е входы триггеров 11 - 13 и устанавливает их в состояние логического нуля. Нулевые сигналы с их выходов поступают на входы четвертого элемента И 14, с выхода которого нулевой сигнал через пятый элемент И 15 подается на инвертор 24, с выхода которого поступает единичный сигнал, запрещающий запись информации в блоки памяти, и на вход инвертора 5, с выхода которого единичный сигнал попадает на вторые входы первого 6, второго 7 и третьего 8 элементов И, разрешая запись информации в соответствующие регистры. После этого устройство готово к работе. При обращении к устройству адрес, поступивший на его вход 1, поступает в дешифратор 2, который подает единичный сигнал на третий вход соответствующего элемента И, в зави симости от адреса выбирается первый 6, второй 7 или третий элемент И 8, Если при этом на второй вход 3 устройства поступает тактовый сигнал, то с 3 13090в выбранных точках ставятся обращения к нему, причем обращений должнобыть столько, сколько условий проверяется в этой точке. Возможности устройства зависят от количества и сложности схем сравнения, входящих в блоксхем 28 сравнения. В элементарномслучае можно ограничиться двумя схемами, проверяющими следующие условия:1, А=В; 2. АВ. Даже эти две схемы 10сравнения дают возможность реализовать не только проверку диапазонаадресов, используемых командами, нои производить целый ряд других проверок, позволяющих установить зацикливание, превышение времени выполнения программы и т.д.Для эффективного использованияустройства создано специальное программное обеспечение, позволяющее 20записывать команды обращения к устройству в удобном виде, а при необходимости - осуществлять контролькаждой из выполняемых команд.Устройство работает следующим образом.После включения устройства навход 4 начальной установки устройства подается единичный сигнал, поступающий на первый вход счетчика 23 адреса и устанавливающий его в нуль, ичерез элемент ИЛИ 9 на первые входытриггеров 11 - 13 и устанавливающийих в нуль. С инверсных выходов этихтриггеров нулевые значения поступают 35на входы четвертого элемента И 14, свыхода которого нулевой сигнал подается, во-первых, через пятый элементИ 15 и.инвертор 24, с выхода которого единичный сигнал поступает на вхо ды блоков 25 и 22 памяти, тем самымзапрещая в них запись информации, а,во-вторых, на вход инвертора 5, с выхода которого единичный сигнал подается на вторые входы первого 6, второго 7, третьего 8 элементов И, разрешая запись информации в регистры 17-19,Обработка информации, записанной в регистры, производится следующим образом. Данные из первого 18 и. второго 19 регистров поступают на информационные входы блоков 22 и 25 памяти, причем информация из первого регистра 18 поступает в блок 25, а информация из второго регистра 19 - в блок 22. Кроме того, информация с выхода первого регистра 18 поступает на первые входы схем 28 сравнения, а309030 бблоков 22 и 25 памяти, которые поэтому сигналу производят запись информации, поданной на первые информационные входы из регистров 18 и 19,по адресам, заданным счетчиком 23адреса, Причем информация из регистра 18 записывается в блок 25 памяти,а информация из регистра 19 - в блок22 памяти,Рассмотрим последовательностьконтроля программы с помощью предла"гаемого устройства. В контролируемойпрограмме выбираются очки, в которых по состоянию определенного регистра или области памяти можно судитьо правильности выполнения программы..Например, в точке 1 регистр В долженбыть равен 10, а в точке 2 регистр Сдолжен быть меньше 12. В каждой извыбранных точек ставят обращение кустройству, например, в виде макрокоманды КП (предполагается, что создано специальное программное обеспечение): в точке 1 КП 1, В, 10; в точ,ке 2 КП 2, С, 12На месте этих макрокоманд сгенерируются макрорасширения, на месте макрокоманды КП 1, В,10 появится следующая последовательность команд,"МЧ 1 А,1 - засылка кода 1 в регистр А;СЧТ Е 1 - выдача кода по адресу Е 1;МОЧ А,В - пересылка содержимогорегистра А в регистр В;СЧТЕ 2 - выдача регистра А по адресу Е 2;МЧ 1 А,10 - засыпка в регистр А числа 10;СЧТ ЕЗ - выдача регистра А по адресу ЕЗ.В результате выполнения этих командв порты Е 1, Е 2, ЕЗ записана следующая информация: в Е 1 - число 1; вЕ 2 - содержимое регистра В; в ЕЗ45 число 10. Содержимое регистра портаЕ 1 (число 1) попадает в регистр команд и воспринимает как код 1, означающий, что нужно сравнить между собой содержимое портов Е 2 и ЕЗ (прове 50 рить условие В=А), Устройство осуществляет эту провеку, и если условиене выполняется, записывает в соответствующие блоки памяти содержимоерегистра В и число 10,с выхода второго регистра 19 - на вторые входы схем 28 сравнения. Если условие, проверяемое в одной из схем 28, выполнилось, например число, поступившее из регистра 18, равно числу, поступившему из регистра 19, то на выходе блока схем соответствующей схемы сравнения появляется единичный сигнал, который поступает на один из вторых входов блока элементов И 30, на один из первых входов которого с.дешифратора 29 команд тоже поступает единичный сигнал, причем вход выбирается в зависимости от кода, находящегося в регистре команд. 15Если сигналы, поданные из дешифратора 29 команд и из схем 28,1 и 28,2 сравнения, попадают на первый и второй входы одного и того же элемента группы элементов И 30, т.е. выпопня ется именно то условие, которое задано кодом команды, то на соответствующем выходе блока элементов И появляется единичный сигнал, а если сигналы, поданные из дешифратора команд и схем 28,1 и 28.2 сравнения, попадают на первый и второй входы разных элементов И группы 30, т.е. выполни- лось не то условие, которое задавалось, или ни одно из условий, проверяемых в схемах 28, не выполнилось, и с его выходов не было подано ни одного единичного сигнала, то ни на одном из выходов группы элементов И 30 не появляется единичный сигнал,35 Это означает, что содержимое проверяемых регистров не является допустимым и информацию о их состоянии необходимо записать в соответствующие блоки памяти. 40 Запись осуществляется следующим образом. Нулевые сигналы с выходов группы элементов И 30 поступают на входы элемента ИЛИ-НЕ 31 и на его выходе появляется единичный сигнал, Он поступает на второй вход пятого элемента И 15, и если на его первый вход тоже подан единичный сигнал, т,е. запись в блоки 22 и 25 разрешена, то на его выходе появляется единичный сигнал, поступающий через элементы ИЛИ 21 на второй вход счетчика 23 адреса, который увеличивает свое значение на единицу и выдает его на вторые (адресные) входы блоков 22 и 25 памяти. Кроме того, сигнал с выхода элемента И 15 через инвертор 24 поступает на третьи входы Аналогичный набор команд сгенерируется на месте макрокоманды КП 2, С 12Здесь 2 - это код, означающий, что нужно проверить условие С 12,30Формула 55 7 13090Таким образом, каждый раз, когда контролируемая программа попадает в точки 1 и 2, проверяются заданные условия, и если они не выполняются, то содержимое регистров (В и С) и констант (числа 10 и. 12) запоминаются в соответствующих блоках памяти.После того, как выполнение программы закончилось, по содержимому блока памяти можно судить о правиль ности ее работы. Если в блоки не была записана информация, то программа выполнялась правильно(не было зарегистрировано ни одного невыполненного условия), Если же в блоках памяти 15 информация есть, то по ее содержимому,можно узнать, в каких точках иколько раз не выполнялись заданные условия. 20Чтение информации из блоков памяти производится следующим образом.Сначала на четвертый вход 4 устройства подается единичный сигнал, поступающий, во-первых, на первый вход 25 счетчика 23 адреса и устанавливающий его в нуль, во-вторых, через элемент ИЛИ 9 на первые входы триггеров 11 13 и устанавливает их в нуль. С выходов этих триггеров нулевые значения поступают на входы четвертого элемента И 14, с выхода которого нулевой Сигнал подается через пятый элемент И 15 и инвертор 24, с выхода которого единичный сигнал поступает на управляющие входы блоков 22 и 25 памяти, тем самым запрещая в них запись информации (разрешая чтение).Затем на пятый вход 20 устройства подается единичный сигнал, он через элемент ИЛИ 21 поступает на второй вход счетчика 23 адреса, который увеличивает свое значение на единицу и выдает его на вторые (адресные) входы блоков 22 и 25 памяти, На выходах 45 26 и 27 блоков памяти появляются значения соответствующих ячеек, т.е. после того, как на вход 20 устройстваподан первый сигнал, на его выходах26 и 27 появляется содержимое первыхячеек блоков 22 и 25 памяти, а послетого, как на вход 20 устройства подан второй сигнал, на его выходах 26и 27 появляется содержимое вторыхячеек блоков 22 и 25 памяти. Такимобразом, подавая сигналы на пятыйвход 20 устройства с его первого 26и второго 27 выходов, можно прочитатьзначения всех ячеек блоков 22 и 25,8изобретения Устройство для контроля программ, содержащее первый и второй регистры условий, счетчик адреса, первый и второй блоки памяти, первый триггер, первую схему сравнения, группу элементов И, первый и второй элементы ИЗ%, причем информационный выход счетчика адреса соединен с адресным входом первого блока памяти, о т л ич а ю щ е е с я тем, что, с цельюповышения контролирующих возможностей, в устройство введены пять элементов И, элемент ИЛИ-НЕ, регистр команд, первый н второй элементы НЕ, дешифратор команд, второй и третий триггеры, элемент задержки, вторая схема сравнения и дешифратор адреса, причем адресный вход устройства соединен с входом дешифратора адреса, первый, второй и третий выходы которого соединены с первыми входами соответственно первого, второго и третьего элементов И, выходы которых соединены с единичными входами соответствЕнно первого, второго и третьеготриггеров, вход начальной установкиустройства соединен с первым входомпервого элемента ИЛИ и с нулевым входом счетчика адреса, информационныйвыход которого соединен с адреснымвходом второго блока памяти, информационный вход устройства соединен синформационными входами регистра1команд, первого и второго регйстровусловий, выход регистра команд соединен с входом дешифратора команд,выходы которого соединены с первымивходами элементов И группы, выходыэлементов И группы соединены с соответствующими входами элемента ИЛИ-НЕ,выход первого элемента ИЛИ соединенс нулевыми входами первого, второгои третьего триггеров, единичные выходы которых соединены соответственнос первым, вторым и третьим входамичетвертого элемента И, выход которогосоединен с первым входом пятого элемента И, и через элемент задержкис вторым входом первого элемента ИЛИ,выход четвертого элемента И соединенчерез первый элемент НЕ с вторымивходами первого, второго и третьегоэлементов И, выходы которых соединены с входами записи соответственнорегистра команд, первого и второгорегистров условий, выход элемента9 1309030 10ИЛИ-НЕ соединен с вторым входом пято- регистров условий соединены соответго элемента И, выход которого соеди- ственно с первыми и вторыми входами нен с первым входом второго элемен- первой и второй схем сравнения, вы" та ИЛИ и через второй элемент НЕ - с ходы равенства которых соединены с входом блокировки записи первого и 5 вторыми входами соответствующих элевторого блоков памяти, информацион- ментов И группы, тактовый вход устные выходы первого и второго регист- ройства соединен с третьими входами ров условий соединены с информацион- первого, второго и третьего элеменными входами соответственно первого тов И, вход запуска устройства соедин второго блоков памяти, выходы кото нен с вторым входом второго элеменрых являются контрольными выходами та ИЛИ, выход которого соединен со устройства, выходы первого и второго счетным входом счетчика адреса.Составитель А.СафроноваРедактор Н,Тупица Техред М.Ходанич Корректор А. ТяскоЗаказ 1800/42Тираж 673 Подписное ВНИИПИ Государственного комитета СССР по делам изобретений и открытий 113035, Москва, Ж, Раушская наб д, 4/5 Производственно-полиграфическое предприятие, г,ужгород, ул.Проектная, 4

Смотреть

Заявка

4024522, 29.12.1985

ОРГАНИЗАЦИЯ ПЯ Х-5263

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

МПК / Метки

МПК: G06F 11/28

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

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

Код ссылки

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

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