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

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

Авторы: Воротников, Лясковский, Сударик

ZIP архив

Текст

(О ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ ч 94055/2 ч 12.02,87(56) Авторское свидетельство СССР 9 63661, кл. С 06 Г /00 ю 1977,Авторское свидетельство СССР У 1149269, кл. С 06 Г 11/28, 1985. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПРО ГРАММ(5 7) Изобретение относится к вычислительной технике и может быть использовано в устройствах отладки программ, устройствах управления ходом выполнения программ и устройствах контроля правильности выполненияпрограмм ЦВМ. Целью изобретения является повышение достоверности контроля хода программ. В устройство введены блок регистров адресов контрольных точек, Й блоков регистров эталонной точки, первый блок элементовИ, Й блоков элементов И, два блокаэлементов ИЛИ, вторая схема сравнения, второй, третий и четвертый элементы задержки, блок регистров возврата, седьмой и восьмой элементы И,регистр, блок регистров информации,блок анализа. Устройство позволяетповысить устойчивость программ каппаратурным сбоям. 1 з.п. ф 2 ил.Изобретение относится к вычислительной технике и может быть испольэовано в устройствах отладки программ, устройствах управления ходомвыполнения программ и устройствахконтроля правильности выполненияпрограмм ЦВМ.Цель изобретения - повышение достоверности контроля хода программ,На Фиг.1 представлена схема уст, -,ройства; на Фиг.2 - схема блок аналир Я. Устройство содержит адресный 1,информационный 2 и вход 3 пуска устройства, блок 4 регистров адресовконтрольных точек, М блоков 5- 5 прегистров эталонных значений, группублоков 6, - 6 элементов И,блок 7 элементов И, первый блок 8 элементовИЛИ вторую схему 9 сравнения,блок 10 элементов И, регистр 11 адреса, пятый блок 12 элементов И, регистр 13, восьмой блок 14 элементовИ, шестои блок 15 элементов И, блок 2516 регистров информации, четвертыйблок 17 элементов И, блок 18 регистров возврата, второй блок 19 элемен-.тов И второй блок 20 элементов ИЛИ,блок 21 анализа, дешифратор 22, второй счетчик 23, первый элемент ИЛИ 24,третий элемент 25 задержки, первыйсчетчик 26, первая схема.27 сравнения, третий блок 28 элементов И, регистр 29 числа повторений, первыйэлемент 30 задержки, второй элемент3531 задержки, первый 32 и второй 33элементы И; четвертый элемент 34 задержки.В блоке анализа каждый канал содержит первый блок 35 элементов И,первый регистр 36, первый сумматор37, второй регистр 38, первый элемент НЕ 39, третий блок 40 элементовИ второй блок 41 элементов И, блок42 элементов ИЛИ, второй сумматор 43,второй элемент НЕ 44, четвертый блок45 элементов И, третий регистр 46,В блок анализа также входят блок 47элементов И, счетчик 48, первый элемент ИЛИ 49, элемент 50 запрета, генератор 51 импульсов, элемент 52 задержки, элемент НЕ 53, второй элемент И 54, второй элемент ИЛИ 55,первый элемент И 56, третий элементИЛИ 57, триггер 58, блок 59 элементов задержки,Кроме того, устройство имеет двегруппы информационных выходов 60 и 61, выход 62 останова, выход 63 пуска и выход 64 ошибки.Устройство работает следующим образом.В исходном состоянии на блоке 4 регистров адресов контрольных точек записаны адреса контрольных точек (блок 4 содержит М регистров по числу контрольных точек в прогрАмме), На 1-м блоке 5 регистров (1=1,М) записаны эталонные значения переменных программ для 1:й контрольной точки, На регистре 29 записано число повто-. рений фрагмента программы, на 1-м регистре 46 (1=1,М) - значение максимально возможного отклонения 1-й переменной от ее эталонного значения, Остальное регистры, блоки регистров и счетчики устройства обнулены.После появления сигнала "Пуск" на входе 3 устройства, который означаетначало счета контролируемой программы, через элемент ИЛИ 24 импульс поступает на вход счетчика 23, увеличивая его состояние на единицу, и через элемент 25 задержки на вход задания режима блока анализа.Дешифратор 22 расшифровывает код на выходе счетчика, и на его соответствующем выходе появляется сигнал, который поступает на второй вход соответствующего элемента И блока 7, а также второй вход соответствующего блока 6 элементов И, открывая эти элементы. Адрес 1-й контрольной точки программы, проходя через открытый элемент И блока 7 элементов И и через блок 8 элементов ИЛИ поступает на первый вход схемы 9 сравнения, навторой вход которой поступает код со счетчика адреса команд ЭВМ (не показано)Содержимое блока 5 регист. ров 1-й контрольной точки поступает через открытый блок 6 элементов И и блок 20 элементов ИЛИ на группу информационных входов блока анализа. На последнем регистра блока 5 регистров записано максимально возмож-, ное значение времени выполнения фраг. мента программы от (1-1)-й до 1-й контрольной точки программы с учетом времени задержки элемента 25 (1=1, (М, где под нулевой контрольной точкой подразумевается состояние на" чала программы. Элемент 25 задержки задерживает сигнал на время срабатывания счетчика 23, дешифратора 22, 3 4блока Ь элементов И и блока 20 элементов ИЛИ.Сигнал с выхода элемента 25 задержки устанавливает триггер 58 нединичное состояние и, проходя черезэлемент ИЛИ 49, поступает на второйвход блока 47 элементов И, Содержимое (И+1)-го регистра блока 5 регистров переписывается на счетчик 48,Низкий потенциал с инверсного выходатриггера 58 поступает на управляющийвход элемента 50 запрета, открываяего и тем самым разрешая поступлениесигналов генератора 51 на вычитающийвход счетчика 48,Если счетчик 48 обнулился до прихода импульса с входа задания режимаблока анализа, который переводиттриггер 58 в нулевое состояние и закрывает элемент запрета, тем самымне разрешая прохождение импульсовс генератора 51 на нычитающий входсчетчика 48, то значит, что произошло зацикливание в рассматриваемом. фрагменте программы и импульс с нулевого выхода счетчика 48, проходя через элемент ИЛИ 57, проходит на второй выход блока 21 анализа.Рассмотрим работу устройства припоявлении сигнала на втором выходеблока 21 анализа.Если коды в схеме 9 сравнения напервом и втором входах одинаковы, тона выходе схемы 9 сравнения появляется импульс, который поступает навторой вход элемента И О, на первыйвход которого поступает код счетчика адреса команд ЭВМ, который, проходя через открытый блок 1 О элементов И, записывается в регистр 11.Сигнал с выхода схемы 9 сравненияпоступает также на первый вход элемента И 5 и на вход разрешения блока 21.анализа. 11 ри этом элемент И 15открывается и содержимое регистроварифметического устройства ЭВМ (непоказаны) с входа 2 поступает в блок(16 регистров и далее на первый входблока 17 элементов И и на группу нхо 1дов блока 21 анализа, Сигнал с входа разрешения блока 21 анализа поступает на стробирующие входы блока 35элементов И и блока 45 элементов Икаждого канала, на нторой вход элемента ИЛИ 49 и на нулевой вход триггера 58, обнуляя его. Содержимое регистра 46 и инверсном коде переписывается на второй вход сумматора 43, 87 9 5 10 15 20 2530 35 404550 55 Высокий потенциал с инверсного выхода трееее ера 58 ееоступает на уп)авлееющий вход элемента 50 запрета, закрывая его и запрещая прохождение сигналов с генератора 51 импульсан нанычитающий вход счетчика 48.Рассмотрим работу блока анализапри сравнении эталонных значений переменных са значениями регистроварифметического устройстна на примере одного канала, так как работаостальных каналов аналогична,Значение первой переменнои 1-йэталонной точки, проходя через открытый блок 35 элементов И, записывается на регистр 36, С иннерсных нееходон регистра 36 код поступает на первый нхад сумматора 3 7, Па второйвход сумматор 37 каждого канала через блок 59 элементов задержки поступает соответствующий код с блока 16регистров информации. В сумматоре 37производится вычитание от реальногозееачееееея перемееенай н 1 й кант 1 аль,ной точке ее эталонного значения,Значение разности поступает на ре-,гистр 38 и может быть как отрицатель.ным так и положительным,Элементы НЕ 39 и блоки 40 и 41предназначены для получения модулячисла, записанчого в регистре 38,Если на первом выходе (знаковый разряд) регистра 38 низкий потенциал,соотнетствующий положительному значению кода, то этот код поступаетс прямых выходов регистра 38 на группу информационных входов блока 41элементов И, на вход стробиронаниякоторого поступает высокий потенциалс элемента НЕ 39. В протинном случае инверсный код с регистра 38 поступает через открытый блок 40 элементов И. Код с выхода блока 40 и 41 (н зависимости от знака кода), проходя через блок 42 элементов ИЛИ, поступает на первый вход сумматора 43, Таким образом на первый вход сумматора поступает модель разности между полученным и эталанньем значением н 1-й контрольной точке, Поэтому на суматоревычисляется разность между числом, записанньем в регистре 46, и значением разности между полученным и эталонным значением н 1-Й контрольной точке.Если значение числа, записанного в регистре 46, больше, чем значение разности между полученным и эталон 5 14187 ным значением в 1-й контрольной точ= ке, то результат на суматоре получаестся отрицательный и на его выходе (который является знаковым) остает 5 ся высокий потенциал, в противном случае на его выходе появляется низкий потенциал. Сигнал на выходе сумматора инвертируется на элементе НЕ 44 и поступает на соответствующий вход элемента ИЛИ 55,При этом, если хотя бы одно значение разности между эталонным и действительным значениями переменной больше, заданного заранее максимально возможного значения отклонения, записанного в регистрах 46 каналов, то значит произошла .ошибка при выполнении данного Фрагмента программы и на выходе элемента ИЛИ 55 присутствует высокий по О тенциал, который , проходя через элемент не 53, инвертируется и на первом входе элемента И 54 появляется низкий потенциал.Элемент 52 задержки задерживает 25 сигнал на время срабатывания элементов канала, после чего на его выходе появляется импульс, который поступает на вторые входы элементов И 54 и 56, Поэтому, если произошла ошибка в рассматриваемом Фрагменте программы, то импульс, проходя через элемент ИЛИ 57, появляется на втором выходе блока 21 анализа, Если нет ошибки в рассматриваемом фрагменте программы и не произошло зацикливание, импульс появляется на первом выходе блока 21 анализа,Рассмотрим случай, когда ошибка в 4 О рассматриваемом Фрагменте не произошла, т.е, импульс появился на первом выходе блока 21 анализа, Этот импульс поступает на входы стробирования блоков 12 и 17 элементов И, разрешает перепись содержимого регистра 11, в котором записано значение адреса 1-й эталонной точки, и блока регистров информации, в котором записано содержимое регистров арифметического устройства в 1-й эталонной точки, в регистр 13 и блок 18 регистров соответственно, а также на вход обнуления счетчика 26, устанавливая его в ноль, и через элемент 24 на вход счетчика 23, изменяя его состояние на единицу и открывая соответствующий элемент И в блоке 7 элементов И, а также соответствующий элемент И55 19 6блока 6. В дальнейшем работа устройства повторяется аналогичным образом.Рассмотрим случай, когда ошибка врассматриваемом фрагменте программыпроизошла или программа зациклиласьна данном Фрагменте выполнения, т.е.импульс появился на выходе блока 211анализа, Этот импульс поступает навыход 62 останова.вычислений, останавливая выполнение программы в ЭВМ,на счетный вход счетчика 26, увеличивая его состояние на единицу, ина вход элеменФа 30 задержки. Кодсо счетчика 26 переписывается на первый вход схемы 27 сравнения, Импульсс элемента 30 задержки поступает навход элемента 31 задержки и на второй вход блока 28 элементов И, напервый вход которого поступает кодчисла повторений участка программы,занесенный в.регистр 29. Если число,записанное в счетчике 26, меньшечисла, записанного в регистре 29, тосигнал появляется на первом выходесхемы 27 сравнения и поступает напервый выход элемента И 32. Если чис 3ло, зайисанное в счетчике 26, равночислу, записанному в регистре 29,то сигнал появляется на втором выходе схемы 27 сравнения и поступает напервый вход элемента И 33, Элемент 31задержки задерживает импульс на время работы схемы 27 сравнения,Импульс с элемента 31 задержкипоступает на вторые входы элементовИ 32 и 33. Если на первом входе элемента И 32 присутствует сигнал, тона его выходе появляется импульс, ко"торый поступает на входы стробирования блоков 14 и 19 элементов И, темсамым разрешая перепись содержимогорегистра 13 в счетчик адреса командпо выходу 61 и содержимого блоков 18регистров в арифметические устройство ЭВМ по выходу 62 соответственнои восстанавливает состояние ЭВМ на(1"1)-м шаге, а также на вход элемента 34 задержки. Импульс, задержанный на время переписи содержимого регистра 13 и блока 18 регистров варифметическое устройство ЭВМ, появляется на выходе пуска 63 устройства,осуществляя пуск программы с (1-1)-йэталонной точки.Далее работа устройства повторяется аналогичным образом.Если на первом входе элементаИ 33 присутствует сигнал, то на его7 14 З 7выходе появляется импульс., которыйпоступает ня выход 64 устройства,выводится ня лульт оператора (не показан) и сигнализирует об ошибке в5программе,Формула изобретенияустройство для контроля программ, содержащее шесть блоков элементов И, элемент И, первую схему сравнения, два счетчика, регистр адреса, первый элемент ИЛИ, дешифратор, первый элемент задержки, причем груп па выходов первого блока элементов И подключена к группе информационных входов регистра адреса, группа выходов блока элементов И является первой группой информационных выходов20 устройства, выход первого элемента задержки соединен с входом стобирования третьего блока элементов И, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности кон-.троля, в устройство введены регистр, блок регистров адресов контрольных точек, блок регистров информации, Й блоков регистров эталонных значений (й - число контрольных точек в про 30 грамме) седьмой и восьмой блоки элементов И, группу из Й блоков элементов И, два блока элементов ИЛИ, вто- . рая схема сравнения, второй, третий, четвертый элементы задержки, регистр числа повторений, блок анализа, блок регистров возврата, причем группа выходов блока регистров числа повторений соединена с группой входов третьего блока элементов И, группа выходов которого соединена с первой группой входов первой схемы сравнения, вторая группа входов которой подключена к группе разрядных выходов первого счетчика, выходы Меньше1 11 45 и Равно первой схемы сравнения соединены соответственно с первыми входами первого и второго элементов И,4 вторые входы которых объединены и подключены к выходу второго элемен 50 та задержки, вход которого соединен с выходом первого элемента задержки, вход которого, объединенный со счетным входом первого счетчика, подключен к выходу ошибки блока анализа и является выходом остаиова уст 55 ройства, первый вход первого элемента И . объединен с входом сброса первого счетчика, с входами стробиро. 19 8валия четвертого и пятого элементовИ и подключен к выходу отсутствияошибки блока анализа, второй входпервого элемента ИЛИ подключен к входу пуска устройства, выход первогоэлемента ИЛИ соединен со счетным вхо.дом второго счетчика и через третий 1элемент задержки с входом зядялилрежима блока анализа, группа выходоввторого счетчика подключена к группевыходов дешифратора, выходы которогосоединены с входами стробированиясоответствующих блоков элементов Игруппы, группы информационных входовкоторых соединены с группами выходовсоответствующих блоков регистровэталонных значений, выходы блока регистров адресов контрольных точекподключень 1 к соответствующим входамгруппы информационных входов седьмого блока элементов И, группа стробирующих входов которого соединена свыходами дешифратора, группа выходовседьмого блока элементов И соединепяс группой входов первого блока элементов ИЛИ, грулля выходов которогосоединена с первои группой входоввторой схемы сравнения, вторая группа входов которой объединена с группой информационных входов первогоблока элементов И и является группой адресных входов устройства, входы стробирования первого и шестого блоков элементов И объединены и подключены квыходу равенства второй схемы сравнения, группы информационных входови выходов .шестого блока элементов Иподключены соответственно к группеинформационных входов устройства игруппе информационных входов блокарегистров информации, группа выходовкоторого соединена с группой информационных входов четвертого блока элементов И и первой группой информационных входов блока анализа, втораягруппа информационных входов которого подключена к группе выходов второго блока элементов ИЛИ, группы входов. которого подключены к группамвыходов соответствующих блоков элементов И группы, группа выходов регистра адреса соединена с группой информационных входов пятого блока элементовИ, группа выходов которого соединена сгруппой информационных входов регистра, группа выходов которого соединена с группой информационных входоввосьмого блока элементов И, группа9 ч выходов которого является второй группой инФормационных выходов устройства, входы стробирования второго и восьмого элементов И объединены и подключены к выходу первого элемента И, выход первого элемента И через четвертый элемент задержки соединен с выходом пуска устройства, группа выходов четвертого блока элементов И соединена с группой инФормационных Входов блока регистров возврата, группа выходов которого соединена с группой инФормационных входов второго блока элементов И.2. Устройство по п.1, о т л и ч аю щ е е с я тем, что блок анализа. содержит Й каналов (М - число кон" трольных точек), блок элементов задержки, блок элементов И, счетчик, два элемента И, три элемента ИЛИ, лемент НЕ, элемент запрета, триггер, элемент задержки генератор импульУсов, причем группа выходов блока элементов И подключена к группе инФормационных входов счетчика, вычитающий Вход которого соединен с вьходом элемента запрета, первый и второй входы которого соединены соответ" ственно с выходом генератора импульс. сов и инверсным выходом триггера, нулевой вход триггера объединен с первым входом первого элемента ИЛИ и подключен к входу задания режима блока, выход второго элемента ИЛИ соединен с первым входом первого элемента И и через элемент НЕ с первым входом второго элемента И, выход перВого элемента И соединен с первым Входом третьего элемента ИЛИ, второй вход которого соединен с выходом признака обнуления счетчика, выходы третьего элемента ИЛИ и второго элемента И являются соответственно выходами ошибки и отсутствия ошибки блока, каждыйканал содержит четыре блока элементов И, три регистра, два сумматора, блок элементов ИЛИ, два18719 1 О 5 10 15 20 25 30 35 40 элемента НЕ, причем первые группывходов первых сумматоров каждого канала объединены и подключены черезблок элементов задержки блока анализа к первой группе инФормационныхвходов блока, группы инФормационныхвходов первых блоков элементов Икаждого канала объединены и подключены к второй группе информационныхвходов блока, стробирующие входыпервых и четвертых блоков элементовИ каждого канала объединены и подключены к входу разрешения блока, группа выходов первого блока элементов Ив каждом канале подключена к группевходов первого регистра, группа выходов которого соединена с второйгруппой входов первого сумматора,группа прямых инверсных выходов кото"рого соединена с группами входов соответственно второго и третьего блоков элементов И, выход знакового разряда регистра подключен к стробирующему входу третьего блока элементовИ и через первый элемент И со стробирующим входом второго блока элементов И, группы выходов второгои третьего блоков элементов И подключенысоответственно к первой и второйгруппам входов блоха элементов ИЛИ,группа выходов которого соединена спервой группой входов второго сумматора, вторая группа входов которогосоединена с группой выходов четвер-.того блока элементов И, группа входов которого соединена с группой выходов третьего регистра, выход знакового разряда второго сумматоракаждого канала через второй элементНЕ подключен к соответствующему входу второго элемента ИЛИ блока, вто"рой вход первого элемента ИЛИ блокаобъединен с единичным входом.триггера, через элемент задержки - с вторыми входами первого и второго элементов И и додключен к входу разрешения блока.418719 а й. ццгВгк ютй.амфиг Составитель И,СафроноваТехред И.Верес Корре Гирняк едактор В.Петраш Тираж 704 ударственного ко м изобретений иосква, Ж, Раушска аз 4154/46 исно тета СССР В ИИПИ Гос о дела ий ы 1130 на оизводственно-полиграфическое предприятие, г. Ужгород, ул. Проектная

Смотреть

Заявка

4194055, 12.02.1987

ВОЙСКОВАЯ ЧАСТЬ 03444

ЛЯСКОВСКИЙ ВИКТОР ЛЮДВИГОВИЧ, СУДАРИК АЛЕКСАНДР НИКОЛАЕВИЧ, ВОРОТНИКОВ ВЯЧЕСЛАВ ВЛАДИМИРОВИЧ

МПК / Метки

МПК: G06F 11/28

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

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

Код ссылки

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

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