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

 

Изобретение относится к вычислительной технике и может бытк использовано в устройствах отладки программ , устройствах управления ходом выполнения программ и устройствах контроля правильности выполнения программ ЦВМ. Целью изобретения является повышение достоверности контроля хода программ, В устройство введены блок регистров адресов контрольных точек, N блоков регистров эталонной точки, первый блок элементов И, N блоков элементов И, два блока элементов ИЛИ, вторая схема сравнения , второй, третий и четвертый элег менты задержки, блок регистров возврата , седьмой и восьмой элементы И, регистр, блок регистров информации, блок анализа. Устройство позволяет повысить устойчивость программ к аппаратурным сбоям. 1 з.п. ф-лы, 2 ил. Ф

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИНЕСКИХ

РЕСПУБЛИК (i9) (111 д1> 4 G 06 F 11/28

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 4!94055/2ч-2ч (22) 12.02.87 (46) 23.08.88. Вюл, 31 (72) В„Л.Лясковский, А,Л.Сударик и В,В.Воротников (53) 681.3 (088.8) (56) Авторское свидетельство СССР

Ф 63661!, кл. G 06 F ll/00ю 1977

Авторское свидетельство СССР

У 1149269, кл. G 06 F 11/28, 1985. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПРО

ГРАММ (5 7) Изобретение относится к вычислительной технике и может быть использовано в устройствах отладки программ, устройствах управления ходом выполнения программ и устройствах контроля правильности выполнения программ ЦВМ. Целью изобретения является повышение достоверности контроля хода программ. В устройство введены блок регистров адресов контрольных точек, Й блоков регистров эталонной точки, первый блок элементов

И, Й блоков элементов И, два блока элементов ИЛИ, вторая схема сравнения, второй, третий и четвертый эле» менты задержки, блок регистров возврата, седьмой и восьмой элементы И, регистр, блок регистров информации, блок анализа. Устройство позволяет повысить устойчивость программ к аппаратурным сбоям. 1 з.п. ф-лы, 2 ил.

1418719

Изобретение относится к вычислительной технике и может быть использовано в устройствах отладки прог-! рамм, устройствах управления ходом выполнения программ и устройствах контроля правильности выполнения программ ЦВМ.

Цель изобретения — повышение достоверности контроля хода программ.

На фиг.1 представлена схема уст,— ,ройства; на фиг.2 — схема блок аналиа (. Устройство содержит адресный 1, .информационный 2 и вход 3 пуска уст( ройства, блок 4 регистров адресов контрольных точек, М блоков 5 „ - 5g регистров эталонных значений, группу блоков 6, — 6 элементов .И,блок 7 элементов И, первый блок 8 элементов

ИЛИ вторую схему 9 сравнения, блок 10 элементов И, регистр 11 ад( реса, пятый блок 12 элементов И, регистр 13, восьмой блок 14 элементов

И, шестои блок 15 элементов И, блок 25

16 регистров информации, четвертый блок 17 элементов И, блок 18 регистров возврата, второй блок 19 элемен-. тов И„ второй блок 20 элементов ИЛИ, блок 21 анализа, дешифратор 22, второй счетчик 23, первый элемент ИЛИ 24, ! третий элемент 25 задержки, первый счетчик 26, первая схема 27 сравнения, третий блок 28 элементов И, регистр 29 числа повторений, первый элемент 30 задержки, второй элемент . 35 31 задержки, первый 32 и второй 33 элементы И; четвертый элемент 34 задержки.

В блоке анализа каждый канал содержит первый блок 35 элементов И, первый регистр 36, первый сумматор

37, второй регистр 38, первый элемент HE 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 содержит М регистров по числу контрольных точек в прогрАмме).

Ha i-м блоке 5 регистров (i 1,М) записаны эталонные значения переменных программ для i:é контрольной точки, На регистре 29 записано число повто-. рений фрагмента программы, на j-м регистре 46 (j=i,М) — значение максимально возможного отклонения j-й переменной от ее эталонного значения.

Остальное регистры, блоки регистров и счетчики устройства обнулены.

После появления сигнала. "Пуск" на входе 3 устройства, который означает начало счета контролируемой программы, через элемент ИЛИ 24 импульс поступает на вход счетчика 23, увеличивая его состояние на единицу, и через элемент 25 задержки на вход задания режима блока анализа.

Дешифратор 22 расшифровывает код на выходе счетчика, и íà его соответствующем выходе появляется сигнал, который поступает на второй вход соответствующего элемента И блока 7, а также второй вход соответствующего блока 6 элементов И, открывая эти элементы. Адрес i-й контрольной точки программы, проходя через открытый элемент И блока 7 элементов И и через блок 8 элементов ИЛИ поступает на первый вход схемы 9 сравнения, на

I второй вход которой поступает код со счетчика адреса команд ЭВМ (не показано)..Содержимое блока 5 регистров l-й контрольной точки поступает через открытый блок 6 элементов И и блок 20 элементов ИЛИ на группу информационных входов блока анализа.

На последнем регистра блока 5 регистров записано максимально возмож-, ное значение времени выполнения фрагмента программы от (1-1)-й до 1-й контрольной точки программы с учетом времени задержки элемента 25 (i=1 (М-1)), где под нулевой контрольной точкой подразумевается состояние на" чала программы. Элемент 25 задержки задерживает сигнал на время срабатывания счетчика 23, дешифратора 22, 3 !4 блока Ь элементов И и блока 20 элементов ИЛИ.

Сигнал с выхода элемента 25 задержки устанавливает триггер 58 в единичное состояние и, проходя через

-элемент ИЛИ 49, поступает на второй вход блока 47 элементов И. Содержимое (И+1)-го регистра блока 5 регистров переписывается на счетчик 48.

Низкий потенциал с инверсногo выхода триггера 58 поступает на управляющий вход элемента 50 запрета, открывая его и тем самым разрешая поступление сигналов генератора 51 на вычитающий вход счетчика 48.

Если счетчик 48 обнулился до прихода импульса с входа задания режима блока анализа, который переводит триггер 58 в нулевое состояние и закрывает элемент запрета, тем самым не разрешая прохождение импульсов с генератора 51 на вычитающий вход счетчика 48, то значит, что произошло зацикливание в рассматриваемом, фрагменте программы и импульс с нулевого выхода счетчика 48, проходя через элемент ИЛИ 57, проходит на второй выход блока 21 анализа.

Рассмотрим работу устройства при появлении сигнала на втором выходе блока 21 анализа.

Если коды в схеме 9 сравнения на первом и втором входах одинаковы, то на выходе схемы 9 сравнения появляется импульс, который поступает на второй вход элемента И 10, на первый вход которого поступает код счетчика адреса команд ЭВМ, который, проходя через открытый блок 10 элементов И, записывается в регистр II.

Сигнал с выхода схемы 9 сравнения поступает также на первый вход элемента И 15 и на вход разрешения блока 21.анализа. При этом элемент И 15 открывается и содержимое регистров арифметического устройства ЭВМ (не показаны) с входа 2 поступает в блок (16 регистров и далее на первый вход блока 17 элементов И и на группу вхо1 дов блока 21 анализа. Сигнал с входа разрешения блока 21 анализа поступает на стробирующие входы блока 35 элементов И и блока 45 элементов И каждого канала, на второй вход элемента ИЛИ 49 и на нулевой вход триггера 58, обнуляя его. Содержимое регистра 46 в инверсном коде переписывается на второй вход сумматора 43, Я/ 9 4

10 l5

Высокий потенциал с инверсного выхода триггера 58 поступает на управляющий вход элемента 50 запрета, закрывая его и запрещая прохождение сигналов с генератора 51 импульсов на вычитающий вход счетчика 48.

Рассмотрим работу блока анали«а при сравнении эталонных значений переменных со значениями регистров арифметического устройства на примере одного канала, так как работа остальных каналов аналогична, Значение первой переменнои i-й эталонной точки, проходя через открытый блок 35 элементов И, записывается на регистр 36. С инверсных выходов регистра 36 код поступает на первый вход сумматора 3 7, Па второй вход сумматор 37 каждого канала через блок 59 элементов задержки поступает соответствующий код с блока 1.6 регистров информации, В сумматоре 37 производится вычитание оТ реального значения переменной в i-й контроль ,ной точке ее эталонного значения, Значение разности поступает на ре-, гистр 38 и может быть как отрицательным так If положительным, Элементы HF. 39 и блоки 40 и 41 предназначены для получения модуля числа, записанчого в регистре 38, Если на первом выходе (знаковый разряд) регистра 38 низкий потенциал, соответствующий положительному значению кода, то этот код поступает с прямых выходов регистра 38 на группу информационных входов блока 41 элементов И, на вход стробирования которого поступает высокий потенциал с элемента НЕ 39. В противном случае инверсный код с регистра 38 поступает через открытый блок 40 элементов И. Код с выхода блока 40 и 41 (в зависимости от знака кода), проходя через блок 42 элементов ИЛИ, поступает на первый вход сумматора 43, Таким образом на первый вход сумматора поступает модель разности между полученным и эталонньы значением в 1-й контрольной точке. Поэтому на суматорp — 43 вычисляется разноcTb между числом, записанным в регистре

46, и значением разности между полученным и эталонным значением в 1-й контрольной точке.

Если значение числа, записанного в регистре 46, больше, чем значение разности между полученным и эталонРассмотрим случай когда ошибка в щ рассматриваемом фрагменте не произошла, т.е. импульс появился на первом выходе блока 21 анализа, Этот импульс поступает на входы стробирования блоков 12 и 17 элементов И, разрешает перепись содержимого регистра 11, в котором записано значение адреса i-й эталонной точки, и блока регистров информации, в котором записано содержимое регистров арифметического устройства в i-й эталонной точки, в регистр 13 и блок 18 регистров соответственно, а также на вход обнуления счетчика 26, устанавливая его в ноль, и через элемент 24 на вход счетчика 23, изменяя его состояние на единицу и открывая соответствующий элемент И в блоке 7 элементов И, а также соответствующий элемент И

5 14187 ным значением в i-й контрольной точ= ке, то результат на суматоре получа1 естся отрицательный и на его выходе (который является знаковым) остает5 ся высокий потенциал, в противном случае на его выходе появляется низкий потенциал. Сигнал на выходе сумматора инвертируется на элементе

НЕ 44 и поступает на соответствующий вход элемента ИЛИ 55,При этом, если хотя бы одно значение разности между эталонным и действительным значениями переменной больше. заданного заранее максимально возможного значения отклонения, записанного в регистрах 46 каналов, то значит произошла .ошибка при выполнении данного фрагмента программы и на выходе элемента ИЛИ 55 присутствует высокий по- 20 тенциал, который, проходя через элемент не 53, инвертируется и на первом входе элемента И 54 появляется низкий потенциал.

Элемент 52 задержки задерживает 28 сигнал на время срабатывания элементов канала, после чего на его выходе появляется импульс, который поступает на вторые входы элементов

И 54 и 56, Поэтому, если произошла ошибка в рассматриваемом фрагменте программы, то импульс, проходя через элемент ИЛИ 57, появляется на втором выходе блока 21 анализа. Если нет ошибки в рассматриваемом фрагменте программы и не произошло зацикливание, импульс появляется на первом выходе блока 21 анализа, 19 6 блока 6. В дальнейшем работа устройства повторяется аналогичным образом.

Рассмотрим случай, когда ошибка в рассматриваемом фрагменте программы произошла или программа зациклилась на данном фрагменте выполнения, т.е. импульс появился на выходе блока 21

1 анализа, Этот импульс поступает на выход 62 останова.вычислений, оста навливая выполнение программы в ЭВМ, на счетный вход счетчика 26, увеличивая его состояние на единицу, и на вход элеменФа 30 задержки. Код со счетчика 26 переписывается на первый вход схемы 27 сравнения, Импульс с элемента 30 задержки поступает на вход элемента 31 задержки и на второй вход блока 28 элементов И, на первый вход которого поступает код числа повторений участка программы, занесенный в.регистр 29. Если число, записанное в счетчике 26, меньше числа, записанного в регистре 29, то сигнал появляется на первом выходе схемы 27 сравнения и поступает на первый выход элемента И 32. Если чис„э ло, зайисанное в счетчике 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 )7 !87

Вь(ходе г!оявля(тся импуль(р который поступает ня выход 64 устройства, выводится ня лульт оператора (не показан) и сигнализирует об ошибке в

5 программе, Формула и з о б р е т е н и я

). устройство для контроля лро- !0 грамм, содержащее шесть блоков элементов И, элемент И, первую схему сравнения, два счетчика, регистр адреса, первый элемент ИЛИ, дешифратор, первый элемент задержки, причем груп- !5 па выходов первого блока элементов И подключена к группе информационных входов регистра адреса, группа выходов блока элементов И является первой группой информационных выходов

20 устройства, выход первого элемента задержки соединен с входом стобирования третьего блока элементов И, о т л и ч а ю щ е е с я тем, что, с целью повышения достоверности кон-. троля, в устройство введены регистр, блок регистров адресов контрольных точек, блок регистров информации, N блоков регистров эталонных значений (Й вЂ” число контрольных точек в про30 грамме) седьмой и восьмой блоки элементов И, группу из N блоков элементов И, два блока элементов ИЛИ, вто- . рая схема сравнения, второй, третий, четвертый элементы задержки, регистр числа повторений, блок анализа, блок регистров возврата, причем группа вьгходов блока регистров числа повторений соединена с группой входов третьего блока элементов И, группа выходов которого соединена с первой группой входов первой схемы сравнения, вторая группа входов которой подключена к группе разрядных выходов первого счетчика, выходы (Меньше

Il Tt 45 и Равно первой схемы сравнения соединены соответственно с первыми входами первого и второго элементов И," вторые входы которых объединены и подключены к выходу второго элемен50 та задержки, вход которого соединен с выходом первого элемента задержки, вход которого, объединенный со счетным входом первого счетчика, подключен к выходу ошибки блока анализа и является вьгходом останова уст55 ройства, первый вход первого элемента И . объединен с входом сброса первого счетчика, с входами стробиро!

9 8 валия четвертогi) и пятого элементов

И и подключен к выходу от(утствия ошибки блока янялиэя, второй вход первого элемента 1!!П! подключен к вхо. ду пуска устройства, выход первогo элемента ИЛИ соединен со счетным входом второго счетчика и через третий 1 элемент задержки с входом зядялил режима блока анализа, группа выходов второго счетчика подключена к группе выходов дешифратора, выходы которого соединены с входами стробирования соответствующих блоков элементов И группы, группы информационных входов которых соединены с группами выходов соответствующих блоков регистров эталонных значений, выходы блока регистров адресов контрольных то-(E".ê подключены к соответствующим входам группы информационных входов седьмого блока элементов И, группа стробирующих входов которого соединена с выходами дешифраторя, грулля выходов седьмого блока элементов И соединепя с группой входов первого блока элементов ИЛИ, грулля выходов которого соединена с первои группой входов второй схемы сравнения, вторая группа входов которой объединена с группой информационных входов первого блока элементов И и является группой адресных входов устройства, входы стробирования первого и шестого блоков элементов И объединены и подключены к выходу равенства второй схемы сравнения, группы информационных входов и выходов .шестого блока элементов И подключены соответственно к группе информационных входов устройства и группе информационных входов блока регистров информации, группа выходов которого соединена с группой информационных входов четвертого блока элементов И и первой группой информационных входов блока анализа, вторая группа информационных входов которого подключена к группе выходов второго блока элементов ИЛИ, группы входов. которого подключены к группам выходов соответствующих блоков элементов И группы, группа выходов регистра адреса соединена с группой информационных входов пятого блока элементов

И, группа выходов которого соединена с группой информационных входов регистра, группа выходов которого соединена с группой информационных входов восьмого блока элементов И, группа

9 l4 выходов которого является второй группой информационных выходов устройства, входы стробирования второго и восьмого элементов И объединены и подключены к выходу первого элемента

И, выход первого элемента И через четвертый элемент задержки соединен с выходом пуска устройства, группа выходов четвертого блока элементов И соединена с группой информационных

Входов блока регистров возврата, группа выходов которого соединена с группой информационных входов второго блока элементов И.

2. Устройство по п.1, о т л и ч аю щ е е с я тем, что блок анализа содержит Й каналов (М вЂ” число кон" трольных точек), блок элементов задержки, блок элементов И, счетчик, два элемента И, три элемента ИЛИ, элемент НЕ, элемент запрета, триггер, ! элемент задержки генератор импульУ сов, причем группа выходов блока элементов И подключена к группе информационных входов счетчика, вычитающий вход которого соединен с выходом элемента запрета, первый и второй входы которого соединены соответ" ственно с выходом генератора импуль сов и инверсным выходом триггера, нулевой вход триггера объединен с первым входом первого элемента ИЛИ и подключен к входу задания режима блока, выход второго элемента ИЛИ соединен с первым входом первого элемента И и через элемент НЕ с первым входом второго элемента И, выход первого элемента И соединен с первым входом третьего элемента ИЛИ, второй вход которого соединен с выходом признака обнуления счетчика, выходы третьего элемента ИЛИ и второго элемента И являются соответственно выхоЭ дами ошибки и отсутствия ошибки блока, каждый канал содержит четыре блока элементов И, три регистра, два сумматора, блок элементов ИЛИ, два

18719 1О

40 элемента HF., причем первые группы входов первых сумматоров каждого каt нала объединены и подключены через блок элементов .задержки блока анализа к первой группе информационных входов блока, группы информационных входов первых блоков элементов И каждого канала объединены и подключены к второй группе информационных входов блока, стробирующие входы первых и четвертых блоков элементов

И каждого канала объединены и подключены к входу разрешения блока, группа выходов первого блока элементов И в каждом канале подключена к группе входов первого регистра, группа выходов которого соединена с второй группой входов первого сумматора, группа прямых инверсных выходов кото" рого соединена с группами входов со ответственно второго и третьего блоков элементов И, выход знакового разряда регистра подключен к стробирующему входу третьего блока элементов

И и через первый элемент И со стробирующим входом второго блока элементов И, группы выходов второго и третьего блоков элементов И подключены соответственно к первой и второй группам входов блоха элементов ИЛИ, группа выходов которого соединена с первой группой входов второго сумматора, вторая группа входов которого соединена с группой выходов четвер-. того блока элементов И, группа входов которого соединена с группой выходов третьего регистра, выход знакового разряда второго сумматора каждого канала через второй элемент

НЕ подключен к соответствующему входу второго. элемента ИЛИ блока, вто" рой вход первого элемента ИЛИ блока объединен с единичным входом.триггера, через элемент задержки — с вторыми входами первого и второго элементов И и додключен к входу разрешения блока.

l4 I 87 1 9

Фиа!

if@ дл. Ц!7,_#_,2b Нт Й.Г4М

Фиа 2

Составитель И.Сафронова

Техред И.Верес Корректор В.Гирняк

Редактор В.Петраш

Заказ 4154/46

Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Тираж 704

Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4

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

 

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

Изобретение относится к области вычислительной техники и может быть использовано в цифровых системах реального времени

Изобретение относится к вычислительной технике и может быть ис пользовано в ЭВМ для контроля правильности выполнения программ

Изобретение относится к вычислительной технике и может быть использовано при отладке пpoгpa м специализированных систем реального времени

Изобретение относится к цифровой вычислительной технике и может быть использовано при разработке и отладке устройств с микропрограммным управлением

Изобретение относится к вычислительной технике и может быть использовано для тестового контроля исправности процессоров цифровых ЭВМ, имеющих встроенные средства аппаратного контроля

Изобретение относится к вычислительной технике и может быть использовано для оптимизации системы команд ЭВМ с целью сокращения обьема занимаемой памяти и времени выполнения программ Целью изобретения является расширение области применения устройства за счет измерения частоты поя вления одного сочетания следующих одна за другой команд для последующего определения целесообразности создания одной команды, способной заменить эту группу команд

Изобретение относится к цифровой вычислительной технике и предназначено для использования -при отладке программ специализированных вычислительных систем реального времени

Изобретение относится к вычислительной технике и может быть.ис-- пользовано при отладке программ.Цельизобретения - повьппение быстродейст-; ВИЯ при отладке

Изобретение относится к вычислительной технике и

Изобретение относится к вычислительной технике, а именно к устройствам для контроля и отладки цифровых управляющих систем, и может быть использовано для имитации функционирования объекта управления, в частности корабельного оружия

Изобретение относится к компьютерным технологиям, в частности к системам и способам формирования дамп файла при возникновении сбоя в работе программы (аварийном завершении программы) в вычислительных системах с ограниченными ресурсами

Изобретение относится к системе с многоядерным центральным процессором, в частности к способу устранения исключительной ситуации в многоядерной системе

Изобретение относится к вычислительной технике и может быть использовано при построении управляющих вычислительных машин (УВМ), нечувствительных к сбоям программ

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ), например в системах управления газотурбинного двигателя

Изобретение относится к вычислительной технике и предназначено для автоматизированной отладки программного обеспечения мультимашинных систем, работающих в реальном масштабе времени и имеющих общую память

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ)

Изобретение относится к вычислительной технике и может быть использовано для выявления циклических процессов анализируемой программы, регистрации их параметров и хранения регистрируемой информации в блоке памяти с последующей выдачей по запросу
Наверх