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

 

Изобретение относится к области вычислительной техники, в частности к организации контроля и отладки программ . Устройство позволяет расширить функциональные возможности схемы и повысить точность контроля программ . Устройство включает первый вход Т, дешифратор 2 адреса, такто ff (Л с: со 1Г о со J,/)-J/

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

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

РЕСПУБЛИН (59 4 G 06 F 11 /28

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К А ВТОРСНОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР по делАм изОБРетений и ОтнРытий (21) 4024522/24-24 (22) 29.12.85 (46) g7.05.87. Вюл. й- 17 (72) В.В.Овчинников, И.И.Рыбкин и А.Н.Чудин

{53) 681.3(088.8) (56) Авторское свидетельство СССР

И 658562, кл. С 06 .F f 1/28, 1977.

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

И 879563, кл. G 06 F 11/26, 1980.

„.Я0„„1 09030 A l (54) УСТРОЙСТВО ДНЯ КОНТРОЛЯ ПРОГРАММ (57) Изобретение относится к области вычислительной техники, в частности к организации контроля и отладки программ. Устройство позволяет расширить функциональные возможности схемы и повысить точность контроля программ. Устройство включает первый вход 1, дешифратор 2 адреса, такто1309030 вый вход 3 и вход 4 начальной уста- са 23, второй элемент H= 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, элемент l0 задержки, первый 11, второй 12 и третий 13 триггеры, четвертый элемент

И 14, пятый элемент И 15, информационный вход .16 устройства, регистр 17 команд, первый регистр 18, второй регистр 19, вход 20 запуска, второй элемент ИЛИ 21, первый блок 22 па- 20 мяти, счетчик 23 адреса, второй ин-. вертор (элемент НЕ) 24, второй блок

25 памяти, первый 26 и второй 27 информационные выходы устройства, схемы И 28, 1, 28.2 сравнения, дешифратор 29 команд, группу элементов И 30, элемент ИЛИ-НЕ 31.

Устройство работает совместно с

ЭВМ, где осуществляется выполнение контролируемой программы. При использовании микроЭВМ с тремя шинами устройство подключается адресным входом 1 к шине адреса, тактовым входом 3 к управляющей шине, информационным входом 16 к шине данных. Если используется микроЭВМ, базирующаяся на микропроцессоре, то в качестве

2 команд обращения к устройству можно применять команды С Т, причем одно обращение к устройству должно состоять из трех команд С Т, так как ему отводятся три порта ввода-вывода, например, с адресами F.1, Е2, ЕЗ.

При каждом обращении микроЭВМ должна выдать по этим адресам Следующую информацию: код команды, определяющей, какое из условий проверять (адрес

Еl); содержимое проверяемого регистра или области памяти (адрес Е2); константу пли содержимое другого ре-. гистра или области памяти для сравнения с информацией, записанной по адресу Е2 (адрес ЕЗ).

Устройство реализует следующий алгоритм. Код команды, выданный микроЭВМ по адресу Еl, записывается в регистр 17 команд, а данные, выведенные по адресам Е2 и ЕЗ, заносятся в первый 18 и второй 19 регистры. Информация из регистра 17 команд используется для выбора схемы 28 сравнения, реализующей проверку по заданному условию, а информация из первого 18 и второго 19 регистров используется этой схемой. Причем если условие не выпопняется (выбранная схема

28 сравнения не выдает единичного сигнала), то содержимое первого 18 и второго 19 регистров записывается в соответствующие блоки памяти, а когда условие выполняется — запись информации не производится.

При использовании предлагаемого устройства для контроля программы

30 4 выхода выбранного элемента И выдается единичный сигнал, который поступает на вторые входы соответствующих триггеров и регистра, причем триггер устанавливается в состояние логической единицы, а в регистр записывается информация, поданная на вход 16 устройства.

Таким образом, устройство принимает информацию до тех пор, пока не saполнены все три регистра, в этом случае все три триггера устанавлиются в состояние логической единицы. После этого на выходе четвертого элемента И 14 тоже появляется логическая единица. Этот сигнал поступает на первый вход пятого элемента И !5, разрешая, если возникает необходимость, запись информации в блоки 22 и 25 памяти, и на второй вход тоже подается логическая единица. Кроме того, сигнал поступает на вход инвертора 5, с выхода которого нулевой сигнал подается на вторые входы первого 6, второго 7 и третьего 8 элементов И, запрещая тем самым запись информации в каждый из регистров, и на вход элемента 10 задержки. Через промежуток времени, необходимый для обработки записанной в регистры 17 — 19 информации, сигнал с его выхода через элемент ИЛИ 9 поступает на первые входы триггеров 11 — 13 и устанавливает их в состояние логического нуля.

Нулевые сигналы с их выходов поступают на входы четвертого элемента И 14, с выхода которого нулевой сигнал через пятый элемент И 15 подается на инвертор 24, с выхода которого поступает единичный сигнал, запрещающий запись информации в блоки памяти, и на вход инвертора 5, с выхода которого единичный сигнал попадает на вторые входы первого 6, второго 7 и третьего 8 элементов И., разрешая запись информации в соответствующие регистры.

После этого устройство готово к работе. При обращении к устройству адрес, поступивший на его вход 1, поступает в дешифратор 2, который подает единичный сигнал на третий вход соответствующего элемента И, в зави- >> симости от адреса выбирается первый 6, второй 7 или третий элемент И 8. Если при этом на второй вход 3 устройства поступает тактовый сигнал, то с

3 13090 в выбранных точках ставятся обращения к нему, причем обращений должно быть столько, сколько условий проверяется в этой точке. Возможности уст ройства зависят от количества и слож- 5 ности схем сравнения, входящих в блок схем 28 сравнения. В элементарном случае можно ограничиться двумя схемами, проверяющими следующие условия:

1. А=В; 2. А В. Даже эти две схемы 10 сравнения дают возможность .реализовать не только проверку диапазона адресов, используемых командами, но и производить целый ряд других проверок, позволяющих установить зацик- 1э ливание, превышение времени выполнения программы и т.д.

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

Устройство работает следующим образом.

После включения устройства на вход 4 начальной установки устройст-. ва подается единичный сигнал, поступающий на первый вход счетчика 23 ад-30 реса и устанавливающий его в нуль, и через элемент ИЛИ 9 на первые входы триггеров 11 — 13 и устанавливающий их в нуль. С инверсных выходов этих триггеров нулевые значения поступают 35 на входы четвертого элемента И 14, с выхода которого нулевой сигнал подается, во-первых, через пятый элемент

И 15 и инвертор 24, с выхода которого единичный сигнал поступает на вхо-40 ды блоков 25 и 22 памяти, тем самым запрещая в них запись информации, а, во-вторых, на вход инвертора 5, с выхода которого единичный сигнал подается на вторые входы первого 6, вто- 45 рого 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 появится следующая последовательность команд."

MV1 А,1 — засылка кода 1 в регHC P А;

CVT Е1 — выдача кода по адресу Е1;

M0V A  — пересылка содержимого регистра А в регистр В;

CVT Е2 — выдача регистра А по адресу Е2;

NVI A 10 — засыпка в регистр А числа 10;

CVT ЕЗ вЂ” выдача регистра А по адресу ЕЗ.

В результате выполнения этих команд в порты Е 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, т.е. выпопня- 20 ется именно то условие, которое задано кодом команды, то на соответствующем выходе блока элементов И появляется единичный сигнал, а если сигналы, поданные из дешифратора команд и схем 28.1 и 28.2 сравнения, попадают на первый и второй входы разных элементов И группы 30, т.е. выполнилось не то условие, которое задавалось, или ни одно из условий, проверяемых в схемах 28, не выполнилось, и с его выходов не было подано ни одного единичного сигнала, то ни на одном из выходов группы элементов И

30 не появляется единичный сигнал. 35

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

Запись осуществляется следующим образом. Нулевые сигналы с выходов группы элементов И 30 поступают на входы элемента ИЛИ-HE 31 и на его выходе появляется единичный сигнал.

Он поступает на второй вход пятого элемента И 15, и если íà его первый вход тоже подан единичный сигнал, т.е. запись в блоки 22 и 25 разрешена, то íà его выходе появляется единичный сигнал, поступающий через элементы ИЛИ 21 на второй вход счетчика 23 адреса, который увеличивает свое значение на единицу и выдает его на вторые (адресные) входы блоков 22 и 25 памяти. Кроме того, сигнал с выхода элемента И 15 через инвертор 24 поступает на третьи входы

Аналогичный набор команд сгенерируется на месте макрокоманды КП 2, С 12 ° Здесь 2 — >тa код, означающий, что нужно проверить условие С 12.

Формула

7 13090

Таким образом, каждый раз, когда контролируемая программа попадает в точки 1 и 2, проверяются заданные условия, и если они не выполняются, то содержимое регистров (В и С) и констант (числа 10 и 12) запоминаются в соответствующих блоках памяти.

После того, как выполнение программы закончилось, по содержимому блока памяти можно судить о правиль- f0 ности ее работы. Если в блоки не была записана информация, то программа выполнялась правильно (не было зарегистрировано ни одного невыполненного условия). Если же в блоках памяти 15 информация есть, то по ее содержимому,можно узнать, в каких точках и колько раз не выполнялись заданные условия.

Чтение информации из блоков памяти производится следующим образом.

Сначала на четвертый вход 4 устройства подается единичный сигнал, поступающий, во-первых, на первый вход 25 счетчика 23 адреса и устанавливающий его в нуль, во-вторых, через элемент

ИЛИ 9 на первые входы триггеров 11

13 и устанавливает их в нуль. С выходов этих триггеров нулевые значения 30 поступают на входы четвертого элемента И 14, с выхода которого нулевой сигнал подается через пятый элемент И 15 и инвертор 24, с выхода которого единичный сигнал поступает на 35 управляющие входы блоков 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 изобретения

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

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

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

1 команд, первого и второго регистров условий, выход регистра команд соединен с входом дешифратора команд, выходы которого соединены с первыми входами элементов И группы, выходы элементов И группы соединены с соответствующими входами элемента ИЛИ-НЕ, выход первого элемента ИЛИ соединен с нулевыми входами первого, второго и третьего триггеров, единичные выходы которых соединены соответственно с первым, вторым и третьим входами четвертого элемента И, выход которого соединен с первым входом пятого элемента И, и через элемент задержки с вторым входом первого элемента ИЛИ, выход четвертого элемента И соединен через первый элемент HE с вторыми входами первого, второго и третьего элементов И, выходы которых соединены с входами записи соответственно регистра команд, первого и второго регистров условий, выход элемента

9 1309030 10

ИЛИ-НЕ соединен с вторым входом пято- регистров условий соединены соответго элемента И, выход которого соеди- ственно с перйымн и вторыми входами нен с первым входом второго элемен- первой и второй схем сравнения, выта ИЛИ и через второй элемент НŠ— с ходы равенства которых соединены с входом блокировки записи первого и 5 вторыми входами соответствующих элевторого блоков памяти, информацион- ментов И группы, тактовый вход устные выходы первого и второго регист- ройства соединен с третьими входами ров условий соединены с информацион- первого, второго и третьего элеменными входами соответственно первого тов И, вход запуска устройства соедин второго блоков памяти, выходы кото- 10 нен с вторым входом второго элеменрых являются контрольными выходами та ИЛИ, выход которого соединен со устройства, выходы первого и второго счетным входом счетчика адреса.

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

Редактор Н,Тупица Техред М.Ходанич Корректор А. Тяско

Заказ 1800/42 Тираж 673 Подписное

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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