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

 

Изобретение относится к вычислительной технике и может быть.ис-- пользовано при отладке программ.Цельизобретения - повьппение быстродейст-; ВИЯ при отладке. Устройство содержит: блок памяти адресов, блок 2 памяти данных, элементы И 3,4 и 8, блок 5 управления, счётчик 6 адреса, счетчик 7 импульсов, блок 9 памяти контрольных точек, элемент ИЛИ JO, мультиплексор 11, таймер 12, блок индика - ции 13. Изобретение позволяет создать более информационно емкую трассу от-; лаживаемой программы, увеличить быстродействие устройства, 1задать ческие условия достижения контрольиьйс точек программ. J ил.j о S (Л с 00 QO СО 1 4 сл

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

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

РЕСПУБЛИН ((9) SU (ill (Sl) y G 06 F ll/28

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

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

ЗСЕ"".""- "

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

К .А BTOPCHOMV СВИДЕТЕЛЬСТВУ (21) 4143l66/24-24 (22) 05,11.86 (46) 30,05.88. Бюл. У 20 (71) Специальное конструкторское бюро "Кибернетика" с опытным йроизводством Института кибернетики AH

АЗССР (72) Н.В.Головин, А.В.Тарасенко, В.П.Петросян и Б;Ф.Файсканов (53) 681.3(088.8) (56) Авторское свидетельство СССР

9 1049914, кл. 6 06 F 11/28, 1982 °

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

У 1174932, кл. G 06 F 11/28, 1983. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ (57) Изобретение относится к вычислительной технике н может быть.ис". пользовано при отладке программ. Цель изобретения — повьипение быстродейст-, вия при отладке. Устройство содержит блок 1 памяти адресов, блок 2 памяти! данных, элементы И 3,4 и 8, блок 3 управления, счетчик 6 адреса, счетчик 7 импульсов, блок 9 памяти контрольных точек, элемент ИЛИ )О, мультиплексор ll, таймер 12, блок индикации 13. Изобретение позволяет создать

- более информационно емкую трассу от" лаживаемой программы, увеличить быст» рогействие устройства, задать логи „. ф че кие условия достижения контрольных точек программ. 1 ил.

1 399745

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

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

На чертеже представлена блок-схема предлагаемого устройства.

Устройство содержит блок 1 памяти адреса, блок 2 памяти данных, вто- fp рой 3 и первый 4 элементы И, блок 5 управления, счетчик b,àäðåñà, счетчик 7 импульсов, третий элемент И 8, блок 9 памяти контрольных точек, элемент ИЛИ 10, мультиплексор 11 тай- 15 мер 12, блок 13 индикации, адресный вход 14, информационный вход 15, вход 16 синхронизации и выход 17 останова.

Блок 1 памяти адресов преднаэна- 2р чен для формирования признака достижения отлаживаемым устройством одного из адресов, заданных как контрольная точка, и формирования сигнала разрешения анализа признака дости-25 жения контролируемых условий., по совокупности достижения этих условий по адресной и информационной шинам.

Блок 2 памяти данных служит для

Формирования признака достижения от- 3р лаживаемым устройством одной иэ заданных контрольных точек по информационной шине, Длок 5 управления представляет сабоц набор туйблеров, посредством которых задаются исходные данные для управления индикацией, задания режимов отладки, управления счетчиком 6 адреса трассы тлаживаемой программы. ! Счетчик 6 адреса предназначен для ( формирования адреса ячеек блока 9 памяти, в (из) которые осуществляется запись (считывание) информации. Счетчик 7 импульсов служит для задержки сигнала синхронизации на заданную блоком 5 величину, Блок 9 памяти контрольных точек предназначен для записи и последующего считывания трассы отлаживаемой программы„ составленной по состояниям адресного входа 14, информационного входа 15 устройства, а также по состояниям выхода первого элемента

И 3 и выхода таймера 12 на моменты достижения контрольных точек.

Мультиплексор 11 обеспечивает коммутацию информации с выходов блока 9 на вход блока 13 индикации в соответствии с управляющими сигналами, поступающими с первого выхода блока 5 управления на пятый управляющий вход мультиплексора 11.

Таймер 12 формирует двоичный эквивалент временных интервалов между соседними контрольными точками.

Блок 13 индикации предназначен для преобразования электрической информации в визуальную.

Отлаживаемое программное устройство подключается к адресному 14 и инФормационному 15 входам, входу 16 синхронизации и выходу 17 останова устройства для отладки программы.

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

Значения адресных и информационных шин отлаживаемого устройства, определенные как контрольные точки, являются адресами, подаваемыми на адресные входы блока 1 памяти адресов и блока 2 памяти данных соответственно с адресного входа 14 и информационного входа 15 устройства, т.е. если контролируемым значением информаци" онной шины является ее нулевое значе. ние, тогда по нулевому адресу в блоке 2 памяти данных должен быть записан признак достижения контрольной точки. Аналогично по адресу, численное значение которого равно контролируемому (определенная как контрольная точка) значению адреса на адресном входе 14 устройства, должен быть записан признак достижения контроль-, ной точки в блок 1 памяти адресов.

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

Таким образом, отслеживание прохождения контрольных точек программы можно вести либо только по шине адре!са отлаживаемого устройства, либо no, совокупности достижения контрольных точек как по шине адреса, так и по шине данных отлаживаемого устройства.

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

1399745

25 в блоке 2 памяти данных потенциалом "0", разрешение анализа достижения контрольной точки по совокупности информации на адресной магистрали и магистрали данных отлаживаемого устройства кодируется во втором разряде блока 1 памяти адресов потенциалом "!" ° Перед началом отладки прог" раммного устройства необходимо обну- 10 лить счетчик 6 адреса, подачей на

его третий сбросовый вход строба обнуления с пятого управляющего выхода и третьего выхода блока 5 на управляющий вход блока 9, подать потенци- 15 ал, соответствующий операции "Запись .

При отладке программного устройства на вход 16 синхронизации устройства для отладки программ синхронно с появлением информации на адресном 20 входе 14 и информационном входе 15 поступает синхросигнал, который одновременно поступает на третий вход элемента И 3 и на один вход элемента И 4 °

Рассмотрим два конкретных случая, в первом из которых информация на адресном входе 14 устройства является контролируемой, т.е. достигнута контрольная точка и контрольная точка on- 30 ределена только по признаку достижения одного из контролируемых адресов.

Во втором случае контрольная точка определяется по совокупности достижения определенного адреса на магистра- З5 ли адреса и определенной информации на магистрали данных отлаживаемого программного устройства.

По достижении отлаживаемым устройством контролируемого адреса в первом 40 случае на первом выходе блока 1 па- мяти адресов присутствует потенциал

1! 11

1, а на втором выходе — потенциал

"0", который запирает элемент И 3.

По выдаче отлаживаемым устройством 45 синхросигнала, который с входа )6 синхронизации поступает на третий вход элемента И 3 и на один вход элемента И 4, происходит его срабатывание и высокий потенциал с его выхода 50 поступает одновременно на счетный вход счетчика 7 импульсов и на первый вход прямого счета счетчика 6 ад. реса, что приводит к наращиванию счет" чика и формированию на его первом адресном выходе увеличенного адреса, который поступает на пятый адресный вход блока 9, одновременно с выхода счетчика 7 импульсов на шестой вход разрешения записи блока 9 поступает строб записи с задержкой, заданной с блока 5 исходя из времени срабатывания счетчика 6 адреса и таймера 12.

При этом информация, записываемая в блок 9, определяется следующим: состояние адресной магистрали отлаживаемого устройства; состояние магистрали данных отлаживаемого устройства; информация с выхода таймера 12; признак достижения контрольной точки по совокупности достижения контролируемых условий на информационной и адресной магистралях отлаживаемого устройства, Информация с выхода таймера 12 представляет собой двоичный эквивалент времени, прошедшего с момента прихода предыдущей контрольной точки.

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

В случае если контрольная точка определяется по совокупности достижения определенного адреса на магистрали адреса и определенной информации на магистрали данных отлаживаемо го устройства, на втором выходе бло-, ка 1 памяти адресов в момент достижения контрольной точки присутствует потенциал "1", разрешая срабатывание элемента И 3 в случае если на его втором и третьем входах присутствует потенциал "I . Если по достижении контрольной точки информация на информационном входе 15 устройства является контролируемой, то низкий потенциал на выходе блока 2 памяти данных. запрещает срабатывание элемента И З,Если в момент достижения конт" рольной точки информация на информационном входе l5 устройства не является контролируемой (заданнои как контрольная точка), то, так как на выходе блока 2 памяти данных присут-, ствует потенциал логической единицы, по приходу сигнала синхронизации с входа 16 синхронизации устройства срабатывает элемент И 3 и высокий по» тенциал с его выхода поступает на один вход третьего элемента И 8 и на четвертый информационный вход блока 9.

1399745

Для просмотра содержимого блока 9 в момент останова отлаживаемого прог5.ðàììHoãî устройства предусмотрена возможность реверсивного отсчета адреса, подаваемого с адресного выхода счетчика 6 адреса на пятый адресный вход блока 9. Для чтения содержимого

О блока 9 с третьего выхода блока 5 на седьмой управляющий вход блока 9 подается логический потенциал, соответствующий операции "Чтение" для блока 9. С второго выхода блока 5

5 на второй вход реверсивного счетчика 6 адреса подается одиночный импульс., содержимое счетчика 6 адреса уменьшается на единицу Последовательная подача М таких импульсов даПрисутствие высокого потенциала на выходе элемента И 3 свидетельствует о том, что в выполнении стлаживаемым устройством программы произошел сбой, так как в момент достижения определенного адреса информация на информационном входе 16 устройства отличается от ожидаемой и заданной как контрольная точка. При этом устройст- 10

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

В первом режиме с шестого выхода ! блока 5 управления на другой вход 1ф элемента И 8 подается низкий потенциал, что запрещает прохождение потенциала "1" с выхода элемента И 3 на

Выход элемента И 8. Это исключает появление на выходе 17 останова высо- я кого потенциала (который является фля отлаживаемого устройства активным уровнем сигнала "Останов" ) в случае, если в момент достижения определенного адреса информация на информа- >В ционном входе !5 устройства отличает-. ся от ожидаемой и заданной как контрольная точка. Это позволяет проводить отладку программного устройства беэ остановов, и реальном режиме вре- 30 мени. Однако сам факт сбоя в програмМе отлаживаемого устройства не теря6тся, так как высокий потенциал с выхода элемента И 3 поступает одноВременно на четвертый информационный вход блока 9. В дальнейшем при про мотре трассы отлаживаемой программы в блоке 9 можно выявить все случаи

Сбоев в программе отлаживаемого устройства. Во втором режиме " шестого 10 выхода блока 5 на другой вход элемен 1 а И 8 подается высокий потенциал, что разрешает прохождение высокого потенциала с выхода элемента И 3 через элемент ИЛИ 10 на выход 17 останова

4 устройства. Тогда если в момент достижения определенного адреса (заДанного как контрольная точка) информация на информационном вхо де 15 устройства отличается от

I ожидаемой и заданной как контрольная точка, то после выдачи отлаживаемым

Программным устройством синхросигнала

На выходе 17 останова появляется высокий потенциал с выхода элемента

HJIH 10. Отлаживаемое программное устI

Я .ройство прекращает обработку программы, что позволяет просмотреть содержимое блока 9 ло нескольким адресам

Hp по окончании выполнения отлаживаемым устройством программы, а именно в момент сбоя в ее выполнении, Для рестарта отлаживаемого программного устройства после его останова по условию несовпадения информации на информационном входе 15 устройства с ожидаемой (заданной как контрольная точка) в момент достижения определен" ного адреса на адресном входе 14 устройства необходимо подать низкий потенциал с шестого выхода блока 5 на один вход третьего элемента И 8, что приводит к снятию высокого активного потенциала на выходе 7 останова устройства для отладки программ, Для того, чтобы в процессе работы отлаживаемого программного устройства не происходило затирание информа" ции по ранее пройдечным контрольным точкам, второй выход переполнения счетчика 6 адреса соединен с одним входом элемента ИЛИ 10, Таким образом, по переполнении разрядной сетки счетчика 6 адреса с его второго выхода переполнения на один вход элемента

ИЛИ 10 подается высокий потенциал, что также приводит к останову отлаживаемого программного устройства и дает возможность просмотреть содержимое блока 9, чтобы исключить потерю информации о пройденных контрольных точках. При этом второй выход переполнения счетчика 6 адреса и выход элемента И 8 подключены соответственно к второму и первому входам блока 5, Это дает возможность органи" зовать на блоке 5 индикацию момента и причины останова отлаживаемого про1" раммного устройства, 1399745 ет возможность просмотреть содержимое блока 9 на необходимую глубину.

По окончании просмотра содержимое блока 9 для рестарта программы отла5 живаемого устройства с третьего выхода блока 5 на седьмой управляющий вход блока 9 памяти подается потенци ал, соответствующий операции "Запись, что переводит блок 9 в режим записи. 10

С пятого выхода блока 5 на третий сбросовый вход счетчика 6 адреса подается обнуляющий импульс, что приводит к снятию высокого активного потенциала на выходе 17 останова уст- 1ф ройства для отладки программ. Визуальный контроль записанной в блоке 9 информации в момент останова отлаживаемого программного устройства осуществляется заданием кода отображаемой 30 информации, подаваемого с первого выхода блока 5 на пятый управляющий .вход мультиплексора 11, который в зависимости от этого кода коммутирует на вход блока 13 индикации информацию с первого, второго, третьего и четвертого выходов блока 9. Чередуя подачу вычитающего строба с второго выхода блока 5 и кода отображаемой информации с его первого выхода, мож- 30 но провести ретроспективный анализ информации о прохождении программы отлаживаемого устройства в необходи- мом объеме. Таким образом, задавая последовательность контролируемых ад 36

pecos в блоке 1 памяти адресов по программе отлаживаемого устройства, можно составить в блоке 9 трассу выполнения этой программы, просмотр ко- . торой в моменты останова дает возмож- 40 ность делать выводы об условиях пере ходов в программе, причинах сбоев, ;общей работоспособности программы.

Кроме того, введение в устройство для отладки программы таймера 12 дает 46 воэможность оценить время обработки программой отлаживаемого устройства, циклических участков алгоритма и вес" ти поиск оптимальных условий входа (выхода) и (из) участка. 60

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

Устройство для отладки программ, содержащее первый элемент И, элемент

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

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

Составитель Н.Сигалов

Техред А.Кравчук КорректорА. Обручар

Редактор А.Огар

Заказ 2667/49 Тираж 7Î4 Подписное

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

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

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

9 1399745 I0 признаком реверсивного счета счетчи- третьего элемента И, выход первого

Ка адреса, с входом нач; пьной установ- элемента И соединен с входом запуска ки счетчика адреса и вторым входом таймера.

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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