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

 

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

СОЮЗ СОВЕТСКИХ . СОЦИАЛИСТИЧЕСКИХ

РЕСПУ БЛИН

А1 (19) (11) ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ

И А BTOPCHOMV СВИДЕТЕЛЬСТВУ (,21) 3793097/24-24 (22) 24.09..84 (46) 15.06.86. Бюл. Ф 22 (72) Н.А. Аверин, К.В. Богданова, Я.M. Будовский, И.В. Бурковский, Б.В. Зобин и В.Г. Сташков (53) 681. 3 (088. 8) (56) Авторское свидетельство СССР

Р 613326, кл. G 06 F 15/06, 1978.

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

N 834704, кл. G 06 F 13/06, 1980. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ (57) Изобретение относится к вычислительной технике и может быть использовано при отладке программ специализированных цифровых вычислительных систем реального времени. Целью изобретения является расширение функциональных возможностей за счет автоматического накопления статистической информации об отлаживаемой программе в процессе ее выполнения. Устройство содержит три блока памяти, два коммутатора, счетчик, блок блокировки, блок управления, регистр. 3 ил.

1 12

Изобретение относится к вычисли= тельной технике и может быть использовано при отладке программ специаЮ лизированных цифровых вычислительных систем (СЦВС) реального времени, Цель изобретения — расширение функциональных возможностей за счет автоматического накопления статистической информации об отлаживаемой программе в процессе ее выполнения.

На фиг. 1 представлена блок-схема устройства для отладки программы; на фиг. 2 — функциональная схема блока управления; на фиг. 3 — функциональная схема блока блокировки.

Устройство для отладки программ содержит (фиг. 1) первый блок 1 памяти, второй блок 2 памяти, третий блок 3 памяти, первый коммутатор 4, второй коммутатор 5, счетчик 6, блок

7 блокировки, блок 8 управления, ре.гистр 9, информационные входы-выходы устройства 10, входную 11 и адресную шину устройства, выходы 12 данных устройства, входы 13 данных устройства, вход 14 синхронизации ввода устройства, вход 15 синхронизации вывода устройства, вход 16 разрешения выбора второго блока памяти устройства, вход

17 разрешения выбора третьего блока памяти устройства, вход 18 режима устройства, блок 19 начальной установки устройства, первый синхронизирующий вход 20 устройства, второй синхронизирующий вход 21 устройства.

Блок 8 управления содержит (фиг,2) элемент И 22, элемент 23 задержки, элемент ИЛИ 24, формирователь длитель ности -25, элемент НК 26, элемент И 27, элемент 28 задержки, формирователь 29 длительности, элемент HE 30, элемент

И 31 элемент ИЛИ 32, формирователь длительности 33, элемент HE 34, элемент ИЛИ 35, формирователь длительности 36, элемент НЕ 37, элемент задержки 38, элемент И 39., элементы задержки 40-42, элемент И 43, элемент.

ИЛИ 44, триггер 45, элемент 46 задерж ки, элемент И 47.

Блок 7 блокировки содержит (фиг.3) триггер 48, элемент HE 49, элемент

И 50, элемент задержки 51.

В данном примере в качестве блока

1 памяти используется микропроцессорный модуль С5-2113 представляющий собой.ППЗУ с ультрафиолетовым стиранием информации. В качестве блоков памяти 2 и 3 используется микросхема

38086 2

541РУ2, причем блок 3 является одноразрядным. Мультиплексоры 4 и 5 выполнены на микросхемах 133 ЛР1, счетчик 6 — на микросхеме 133 ИЕ 7, триггеры 45 и 48 — на микросхемах 133

ТМ 2, элементы задержки 23, 28, 38, 40 — 42, 46, 51 и формирователи длительности 25, 29, 33, 36 †. на микросхемах 133 АГ 3, остальные элементы являются стандартными и выполнены на микросхемах серии 133.

Первый блок памяти используется для хранения и считывания по сигналам из вычислительной машины команд отлаживаемой программы, второй блок памяти — для накопления статистической информации о программе в процессе ее выполнения, третий — для указания адресов команд, количество обращений к которым необходимо подсчитывать. Регистр используется для приема из магистрали ЭВМ и хранения адреса команды на время, необходимое для работы второго и третьего блоков памяти. Запись исходной информации во второй и третий блоки памяти осуществляется через первый коммутатор. При этом в третьем блоке памяти осуществляется разметка адресов, а второй: блок памяти обнуляется. Второй коммутатор осуществляет коммутацию на адресные входы второго и третьего блоков памяти адреса, поступающего из универсальной ЭВМ при загрузке исходной информации и выводе результатов отладки, либо адреса с регистра в режиме отладки. Подсчет числа обращений к командам с помеченными адресами осуществляется с помощью счетчика.

Блок блокировки обеспечивает блокировку обращений к второму и третьему блокам памяти на время, необходимое для завершения в них текущих процессов.

Работа устройства рассмотрена на примере отладки программ СЦВС содержащей микроЭВМ "Электроника-В, снабженной интерфейсом по ОСТ 11.305. ,903-80. Данное устройство эксплуатируется совместно с оборудованием

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

В данном примере эти функции выполняет универсальная электронно-вычислительная машина (УЭВМ), состыкованз 1238086 . 4 ная с данным устройством с помощью Разрешающий потенциал (высокий цепей сопряжения. Шины 10, 20 и 21 уровень сигнала) поступает с входа подключаются к магистрали микроЭВМ, 18 устройства на первые управляющие при этом шины 10 соединены с шинами входы коммутаторов 4 и 5, через перадрес-данные, вход 20 — с ОБМ, а 5 вый вход блока 7 — на вход элемента вход 21 — с шиной ДЧТ. Шины 11-19 49, а также через режимный вход блоподключены к устройству сопряжения ка 8 — на первые входы элементов 22

»

УЭВИ. При этом через входы 1 1 посту- 27 и 31. Запрещающий потенциал (низ-пает адрес, через шины 13 — данные, кий уровень сигнала) формируется на через вход 19 — сигнал начальной 10 втором входе элемента 50 через элеустановки, через вход 18 — признак мент 49 и через первый выход блока режима работы устройства, через 7 — на вторых управляющих входах комвход 17 — признак. выборки третьего мутаторов 4 и 5. В этом режиме в исблока памяти, через вход 16 — приз- ходком состоянии на входах 19 17

»» . нак выборки второго блока памяти, че- g5 15,и 14 устройства подается потенцирез входы 14 и 15 — синхроимпульсы ал низкого уровня. ввода и вывода информации соответст- В результате этого на выходах элевенно. Через выходы 12 накопленные ментов 22, 27 и 31 блока 8 и втором статистические данные выводятся из и третьем выходах блока 7 имеем поустройства в УЭВИ. щ тенциал низкого уровня. На пятом и

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

При этом в первый блок памяти зано- вом» втором, третьем и седьмом вико» сится отлаживаемая программа. Способ дах — потенциал высокого уровня. фиксации программы зависит от физи- 25 ческой реализации памяти. В данном . Для записи информации в блок 2 с пр „ере первый блок памяти выполнен хода 16 УСТРойства подет РазРешаюв виде полупостоянного Зу обеспечи- щии циал вы оР лока 2 амЯти»

» вающего подключение к магистрали которыи через вход выбора второго по ОСТ 11.3р5.903-80 Запись инф р- блока памнти блока 8.постУпает на м ии в него осуществляется с пом ю второй вход элемента 22 и с входа 14 програм атора при извлечении блока устроиства — импульс положительнои поиз состава данного устройства. полярности, который через первый синустройство работает в двух режи- хРонизиРУющий вхоД блока S-ностУпает мах: ре Х вЂ” режим обмена информа- на третьи входы элементов 22 и 27 и ции с уЭВМ; режим ХХ вЂ” реж отл — 35 пРоходи "еРез элемент 22, на пеРвом ки программ. входе которого разрешающий потенциал .. обусловлен режимом обмена информацией

Режим работы устройства определя- с УЭВИ. Элемент 27 закрыт по второму ется уровнем сигнала, поступающего . входу запрещающим потенциалом выбора . на вход 18 устройства. При этом вы- 46 блока 3 памяти с входа 17 устройства сокий уровень сигнала соответствует через вход выбора третьего блока парежиму Е, а низкий — режиму II. В ре- мяти блока 8. Сигнал с выхода элежиме Х в зависимости от поступления .мента 22 формируется на элементе 25; внешних сигналов может осуществлять- . через первый вход элемента 24 инверся ввод либо вывод информации. 45 тируется элементом 26 и через первый

После включения питания устройст- выход блока 8 поступает на вход рева на вход 19 начальной установки жима запись — чтение блока 2 в виде подают импульс положительной поляр- . отрицательного импульса, что соответности, который через вход начальной ствует режиму записи информации в установки и второй вход элемента 44 50 блок 2. Кроме того си н о, сигнал с выхода блока 8 поступает на нулевой вход элемента 22 через элемент 23 з ержр, через третий выход ки, параметр которого учитывает время нт задержблока 8 и третий вход блока 7 — иа установки режима на входе блока 2 йенулевой вход т игге а 48 д р . ра 48. мяти, а также через четвертый вход

Загрузка исходной информацией 55 элемента 32, формирователь 33» инвервторого и третьего блоков памяти тор 34 и шестой выход блока 8 постуосуществляется в режиме I следующим пает в виде отрицательного импульса образом. на разрешающий вход блока 2, осущест.1238086 вляя в нем запись информации, которая поступает на его информационные входы.с входов 13 устройства через вторые информационные входы коммутатора

4. Запись производится по адресу, сформированному на входах 11 устройства и поступающему в блок 2 через первые информационные входы коммутатора 5, поскольку на первых управля- 10 ющих входах коммутаторов 4 и 5 имеется разрешающий потенциал в режиме

1. Формирование на входах 13 нулевой информции и перебор кодов адреса на входах 11 обеспечивает обнуление бло- 15 ка 2.

Загрузка данных в блок 3 производится аналогичным образом при поступлении синхроимпульса на вход 14 устройства и разрешающего потенциала на вход 17, поступающего через вход выбора третьего блока памяти блока 8 на второй вход элемента 27. Импульс с входа 14 устройства проходит через первый синхронизируюпрщ вход. бло- yg .ка 8, третий вход элемента 27, на первом входе которого имеется разрешающий потенциал, обусловленный режимом обмена информацией с УЭВИ. Далее этот импульс проходит через формирователь 29, элемент НЕ 30, второи выход блока 8 на.вход режима запись— чтение блока 3 в виде отрицательного импульса, устанавливая в блоке 3 па35 мяти режим записи, Кроме того, сигнал с

Ъыхода элемента 27 проходит через элемент задержки 28, второй вход элемента 35, с выхода которого сформированный па длительности на элементе 36 и инвертированный на элементе

3? он поступает в виде отрицательно.— го импульса через третий выход блока

8 на второй управляющий вход блока 3 памяти, инициируя операцию записи информации. При этом на адресные и информационные входы бябка 3 информация поступает с входов 11и 13 соответст.венно, В режиме ХХ, соответствующем низкому уровню потенциала на входе 18 устройства, осуществляется накопление статистической информации об отлаживаемай программе. При этом используются положительные синхроимпульсы "ОБИ", поступающие из микроЭВИ 5 на вход 20 устройства. В процессе выполнения отлаживаемой программы составляющие ее команды считываются в магистраль ЭВИ из блока 1 через входы-выходы 10. По сигналу "OBN" в блок принимается код адреса, формируемьпЧ микроЭВИ на шинах 10 устройства. На вторых управляющих входах коммутаторов 4 и 5, а также втором входе элемента 50 имеется разрешающий потенциал через первый вход блока 7 и эле- . мент 49 с входа 18 устройства. Синхроимпульс с входа 20 устройства через второй вход блока 7 поступает на первьй вход элемента 50, на третьем входе которого присутствует разрешающий потенциал с нулевого выхода триггера 48, находящегося в обнуленном состоянии, на втором входе — разрешающий потенциал, определяемый состоянием режимного сигнала на первом входе блока 7 (низкий уровень). Сигнал с выхода элемента 50 через второй выход блока 7 поступает на вход синI хронизации регистра 9 и фиксирует в нем состояние входов 10 устройства, на которых в этот момент присутствует код адреса. Этот же сигнал, задержанный на элементе 51 на время, необходимое для установки адреса в регистре 9, поступает на вход установки триггера 48 в единичное состояние, которое запрещает прохождение. синхросигнала с второго входа блока 7 через

его элемент 50. Кроме тога, положительный сигнал с выхода элемента 51 через третий выход блока 7, второй синхронизирующий вход блока 8, второй вход элемента 32 формируется и инвертируется на элементах 33 и 34 соответственно и через седьмой выход блока 8

8 поступает на резрешающий вход блока

2 в виде: отрицательного импульса.За счет низкого уровня потенциала на. входе режима блока 8 и выходе элемента 40 на первом выходе блока 8 присутствует потенциал высокого уровня через элементы 24, 25 и 26, что определяет режим считывания информации из блока 2. Одновременно сигнал с второго синхронизирующего входа блока 8 проходит через первый вход элемента 35; формируясь по длительности на элементе 36, и через элемент

НЕ 37 и третий выход блока 8 поступает в виде отрицательного импульса на разрешающий вход блока 3 памяти.

Благодаря низкому уровню потенциала на режимном входе блока 8 на выходе элемента 29 также потенциал низкого

3238086 уровня, а на втором выходе данного блока — высокий уровень, потенциала через элемент НЕ 30, что соответствует режиму считывания информации из .блока памяти 3. Указанное считывание из блоков 2 и 3 происходит по адресу, фиксированному в регистре 9, поступающему на адресные входы блоков 2 и З.через вторые информационные входы коммутатора 5, у которого на втором управляющем вход разрешающий потенциал, а на первом управляющем входе - запрещающий. Информация, считанная из блока 3 поступает на второй вход элемента 47. Если из блока 3 считан сигнал "1" (высокий уровень), то через элемент 47 разрешено прохождение импульса с второго синхронизирующего входа блока 8, задержанного на элементе 46 с учетом считывания информации из блока 3. Триггер 45 устанавливается в состояние

1т Н

i . Сигнал с второго синхронизирующего входа, задержанный на элементе р

38 на время установки триггера 45, поступает. на первые входы элементов

39 .и 43. При указанном состоянии триггера 45 элемент 43 закрыт по второму входу, а элемент 39 по второму входу открыт. Пройдя через элемент

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

8 зафиксирует в счетчике 6 информацию, считанную из блока памяти 2.

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

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

24, формируется по длительности на элементе. 25 и инвертируется на элементе 26, задавая на соответствующее.время режим записи блоку 2 (низкий уровень сигнала на его входе режима запись — чтение). С выхода элемента 40 сигнал проходит также через третий вход элемента 32, формирователь 33 на седьмой выход блока 8,задерживаясь на элементе 41 на время, необходимое для установки режима записи .в. блоке 2. В результате этого в блок памяти 2 по текущему адресу записана информация, увеличенная на единицу. После окончания процессов записи, длительность которых учитывается элементом задержки 42, через третий вход элемента 44 сброшены триггеры 45 и 48. Начиная с этого момента, второй вход блока 7 разблокирован для сигналов с входа 20 устройства. Если из блока памяти 3 считана нулевая информация, то триггер 45 остается в исходном состоянии и элемент

43 по второму входу открыт, а элемент 39 по второму входу закрыт. В результате сигнал с выхода элемента

43 пройдет через первый вход элемента 44 и через четвертый выход блока 8 и третий вход блока 7 обнулит триггер 48, после чего разрешен прием следующего синхросигнала с входа 20 устройства в блок 7.

Формирование. сигналов "OEN" осуществляется микроЭВМ по результатам обработки очередной команды программы, считываемой из блока 1 по сигналу "ДЧТ" „ поступающему из микрбЭВМ на вход 21 устройства. При этом считывание информации из блока 1 осуществляется независимо от работы цепей блокировки устройства.

После накопления статистической информации в режиме Х (на входе режима блока 8 потенциал высокого уровня) осуществляют ее вывод в универсальную машину через выходы i2 устройства.

Для этого на вход синхронизации вывода t5 устройства подают положительный импульс, который через третий синхронизирующий вход блока 8, второй вход элемента Зi, открытого по первому входу режимным сигналом, первый вход элемента 32 и седьмой выход блока 8 поступает отрицательным импульсом на разрешающий вход блока 2. Поскольку на первом выходе блока 8 сохсохраняется потенциал высокого уровня, происходит считывание информации. из блока 2 по адресу на входах ti устройства. Считанная информация поступает на выходы 12 устройства. Осу- . ществляя указанные действия с подачей различных кодов на входы ii устройства, производят считывание информации со всего массива памяти блока

2 либо его части. При этом память 3 находится в режиме хранения информации.

Формула изобретения

Устройство для отладки программ, содержащее первый и второй блоки па3238086 мяти, блок управления, регистр и первый коммутатор, выходы которого связаны через двунаправленную шину данных с информационными входами-Выходами второго блока памяти; причем информационные входы-выходы первого блока памяти подключены к информационным входам-выходам устройства, первый вход синхронизации блока управления является входом синхрони» зации ввода устройства, первый выход блока управления соединен с входом режима запись - чтение вгорого блока памяти, о т.я и ч а ю щ е е с я 15 тем, что, с целью расширения функциональных возможностей устройства за счет .автоматического накопления статистической информации об отлаживаемой программе в процессе ее выполнения, оно дополнительно содержит третий. блок памяти, второй коммутатор, счетчик и блок блокировки, причем первая группа информационных входов второго коммутатора соединена 25 с входной адресной шиной устройства, вторая группа информационных входов соединена с группой выходов регистра, группа информационных входов которого соединена с информационными входами-выходами устройства, а выходы второго коммутатора соединены с адресными входами второго и третьего блоков памяти, вход режима, запись— чтение третьего блока памяти соединен с вторым выходом блока управления„ а разрешающий вход — с третьим выходом блока управления, третий вход синхронизации блока управления является входом синхронизации вывода устройства,. выходы первого коммутатора соединены с вьмодами данных устройства и с информационными входа..ми счетчика, выходы которого соединеС Первой ÐÓ<>ÎÀ информа

1238085

И

17 В

l5 !

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

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

1238086

Фи 3

Составитель Д, Ванюхин

Редактор М.Недолуженко Текред Л.Сердюкова

Корректор М. Шароши

Заказ 3293/50 Тираж 671

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

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

Подписное

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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