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

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

Авторы: Головин, Петросян, Тарасенко, Файсканов

ZIP архив

Текст

(21) (22) (46) (71) бюр водст АЗССР нко,В.П.П (53) (56) Иф 104 СССР1982.СР1983. ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ ОПИСАНИЕ ИЗ АВТОРСКОМУ СВИДЕТ 143166/24-245,11.860.05.88. Бюл. У 20пециальное конструкторскоеКибернетика" с опытным йроом Института кибернетики АН Н.В.Головин, А.В.Тарасе етросяи и Б;Ф,Файсканов 681.3(088.8)Авторское свидетельство 9914, кл. С 06 Р 11/28, торское свидетельство С 4932, кл. С 06 Р 11/28,ЕТЕНИЯ 13.(54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ(57) Изобретение относится к вычислительной технике н может быть.ис"пользовано при отладке программ. Цельизобретения - повьипение быстродейст-,вия при отладке, Устройство содержитблок 1 памяти адресов, блок 2 памятиданных, элементы И 3,4 и 8, блок 5управления, счетчик 6 адреса, счетчик 1 импульсов, блок 9 памяти контрольных точек, элемент ИЛИ 10, мультиплексор 11, таймер 12, блок индикации 13. Изобретение позволяет создатьболее информационно емкую трассу от"лаживаемой программы, увеличить быстродействие устройства,задать логические условия достижения контрольныхточек программ. 1 ил.Изобретение относится к вычисли"тельной технике и может быть использовано прн отладке программ.Цель изобретения - повышение быст 5родействия при отладке.На чертеже представлена блок-схема предлагаемого устройства,Устройство содержит блок 1 памятиадреса, блок 2 памяти данных, второй 3 и первый 4 элементы И, блок 5управления, счетчик б,адреса, счетчик 7 импульсов, третий элемент И 8,блок 9 памяти контрольных точек, элемент ИЛИ 10, мультиплексор 11, таймер 12, блок 13 индикации, адресныйвход 14, информационный вход 15,вход 16 синхронизации и выход 1 останова.Блок 1 памяти адресов преднаэначен для Формирования признака достижения отлаживаемым устройством одного из адресов, заданных как контрольная точка, и формирования сигнала разрешения анализа признака дости жения контролируемых условий посовокупности достижения этих условийпо адресной и информационной шинам.Блок 2 памяти данных служит дляформирования признака достижения отлаживаемым устройством одной иэ заданных контрольных точек по информаЦионной шине,5 лок 5 управления представляет сабоц набор тумблеров, посредством которых задаются исходные данные дляуправления индикацией, задания режимов отладки, управления счетчиком 6адреса трассы тлаживаемой программы.Счетчик 6 адреса предназначен дляформирования адреса ячеек блока 9 памяти, в из) которые осуществляетсязапись считывание) информации. Счетчик 7 импульсов служит для задержкисигнала синхронизации на заданнуюблоком 5 величину,Блок 9 памяти контрольных точекпредназначен для записи и последующего считывания трассы отлаживаемойпрограммы составленной по состояниям адресного входа 14, информационного входа 15 устройства, а также посостояниям выхода первого элементаИ 3 и выхода таймера 12 на моментыдостижения контрольных точек.1Мультиплексор 11 обеспечивает коммутацию информации с выходов блока 9 на вход блока 13 индикации в соответствии с управляющими сигналами, поступающими с первого выхода блока 5управления на пятый управляющий входмультиплексора 11,Таймер 12 Формирует двоичный эквивалент временных интервалов междусоседними контрольными точками,Блок 13 индикации предназначен дляпреобразования электрической информации в визуальную,Отлаживаемое программное устройство подключается к адресному 14 и ин"Формационному 15 входам, входу 16синхронизации и выходу 17 остановаустройства для отладки программы.Устройство работает следующим образом.Значения адресных и информационныхшин отлаживаемого устройства, определенные как контрольные точки, являются адресами, подаваемыми на адресные входы блока 1 памяти адресов иблока 2 памяти данных соответственнос адресного входа 14 и информационного входа 15 устройства, т.е. есликонтролируемым значением информаци"онной шины является ее нулевое значе.ние, тогда по нулевому адресу в блоке 2 памяти данных должен быть записан признак достижения контрольнойточки. Аналогично по адресу, численное значение которого равно контролируемому (определенная как контрольная точка) значению адреса на адресном входе 14 устройства, должен бытьзаписан признак достижения контроль-,ной точки в блок 1 памяти адресов,Кроме того, в блоке 1 памяти адресоввыделяется еще один разряд, выполняющий функцию строба разрешения анализа достижения контрольной точки по,совокупности достижения этой точкина адресном 14 и информационном 15входах устройства.Таким образом, отслеживание прохождения контрольных точек программыможно вести либо только по шине адреса отлаживаемого устройства, либо по,совокупности достижения контрольныхточек как по шине адреса, так и пошине данных отлаживаемого устройства,Признак достижения контрольной точкипо адресной шине отлаживаемого программного устройства кодируется в блоке 1 памяти адресов потенциаломпризнак достижения контрольной точкипо информационной шине отлаживаемогопрограммного устройства кодируется25 в блоке 2 памяти данных потенциалом О", разрешение анализа достижения контрольной точки по совокупности информации на адресной магистрали и магистрали данных отлаживаемого устройства кодируется во втором разряде блока 1 памяти адресов потенциалом Перед началом отладки прог" раммного устройства необходимо обну лить счетчик 6 адреса, подачей на его третий сбросовый вход строба обнуления с пятого управляющего выхода и третьего выхода блока 5 на управляющий вход блока 9, подать потенци ал, соответствующий операции "Запись. При отладке программного устройства на вход 16 синхронизации устройства для отладки программ синхронно с появлением информации на адресном 20 входе 14 и информационном входе 15 поступает синхросигнал, который одновременно поступает на третий вход элемента И 3 и на один вход элемен" та И 4Рассмотрим два конкретных случая, в первом из которых информация на адресном входе 14 устройства является контролируемой, т.е. достигнута контрольная точка и контрольная точка оп ределена только по признаку достижения одного из контролируемых адресов. Во втором случае контрольная точка определяется по совокупности достижения определенного адреса на магистра- З ли адреса и определенной информации на магистрали данных отлаживаемого программного устройства.По достижении отлаживаемым устройством контролируемого адреса в первом 40 случае на первом выходе блока 1 па-мяти адресов присутствует потенциал1 , а на втором выходе - потенциал "0"который запирает элемент И 3 . По выдаче отлаживаемым устройством 4синхросигнала, который с входа 1 6 синхронизации поступает на тр етий вход элемента И 3 и на один вход эле" мента И 4 , происходит е го ср абатывание и высокий потенциал с е го выхода В 0 поступает одновременно на счетный вход счетчика 7 импульсов и на первый вход прямого счета счетчика 6 ад реса, что приводит к наращиванию счет" чика и формированию на е го первом адресном выходе увеличенного адреса, который поступает на пятый адресный вход блока 9 , одновременно с выхода счетчика 7 импульсов на шестой вход разрешения записи блока 9 поступаетстроб записи с задержкой, заданной сблока 5 исходя из времени срабатывания счетчика 6 адреса и таймера 12,При этом информация, записываемая вблок 9, определяется следующим: состояние адресной магистрали отлаживаемого устройства; состояние магистрали данных отлаживаемого устройства;информация с выхода таймера 12;признак достижения контрольной точкипо совокупности достижения контролируемых условий на информационной иадресной магистралях отлаживаемогоустройства,Информация с выхода таймера 12представляет собой двоичный эквивалент времени, прошедшего с моментаприхода предыдущей контрольной точки.Необходимость введения в информацию о контрольных точках данных с выхода таймера 12 обуславливается появляющейся воэможностью оценивать время между двумя соседними контрольны.ми точками. Это важно для контролявыполнения отлаживаемым устройствомпрограмм, содержащих циклическиеучастки.В случае если контрольная точкаопределяется по совокупности достижения определенного адреса на магистрали адреса и определенной информации на магистрали данных отлаживаемого устройства, на втором выходе бло-,ка 1 памяти адресов в момент достижения контрольной точки присутствуетпотенциал "1", разрешая срабатываниеэлемента И 3 в случае если на еговтором и третьем входах присутствуетпотенциал 1. Если по достиженииконтрольной точки информация на информационном входе 15 устройстваявляется контролируемой, то низкийпотенциал на выходе блока 2 памятиданных. запрещает срабатывание элемента И З,Если в момент достижения конт"рольной точки информация на информационном входе 15 устройства не является контролируемой (заданной какконтрольная точка), то, так как навыходе блока 2 памяти данных присут-,ствует потенциал логической единицы,по приходу сигнала синхронизации свхода 16 синхронизации устройствасрабатывает элемент И 3 и высокий по атенциал с его выхода поступает наодин вход третьего элемента И 8 и начетвертый информационный вход блока 9,1399745 Для просмотра содержимого блока 9в момент останова отлаживаемого прог.раммного устройства предусмотренавозможность реверсивного отсчета адреса, подаваемого с адресного выхода счетчика 6 адреса на пятый адресный вход блока 9, Для чтения содержимого 0 блока 9 с третьего выхода блока 5на седьмой управляющий вход блока 9 подается логический потенциал, соответствующий операции "Чтение" для блока 9. С второго выхода блока 5 5 на второй вход реверсивного счетчика 6 адреса подается одиночный импульс., содержимое счетчика 6 адреса уменьшается на единицу, Последовательная подача М таких импульсов даПрисутствие высокого потенциала На выходе элемента И 3 свидетельствует о том, что в выполнении стлаживаемым устройством программы произошел сбой, так как в момент достижения определенного адреса информация на инФормационном входе 16 устройства отличается от ожидаемой и заданной как контрольная точка. При этом устройст Во позволяет реализовать оцну из двух возможных режимов отладки программного устройства.В первом режиме с шестого выходаблока 5 управленияна другой вход 15 элемента И 8 подается низкий потенциал, что запрещает прохождение потенциала "1" с выхода элемента И 3 на Выход элемента И 8. Это исключает появление на выходе 17 останова высо кого потенциала (который является фля отлаживаемого устройства активным уровнем сигнала "Останов" ) в случае, если в момент достижения определенного адреса информация на информа- В ционном входе 15 устройства отличается от ожидаемой и заданной как контрольная точка. Это позволяет проводить отладку программного устройства беэ остановов, и реальном режиме вре- ЗО мени. Однако сам факт сбоя в програмМе отлаживаемого устройства не теря 6 тся, так как высокий потенциал с выхода элемента И 3 поступает одновременно на четвертый информационный Вход блока 9, В дальнейшем при проСмотре трассы отлаживаемой программы в блоке 9 можно выявить все случаи Сбоев в программе отлаживаемого устройства. Во втором режиме с шестого 40 выхода блока 5 на другой вход элемен а И 8 подается высокий потенциал, что разрешает прохождение высокого потенциала с выхода элемента И 3 через элемент ИЛИ 10 на выход 17 останова устройства. Тогда если в момент достижения определенного адреса (заДанного как контрольная точка) информация на информационном входе 15 устройства отличается от 1ожидаемой и заданной как контрольная точка, то после выдачи отлаживаемым Программным устройством синхросигнала йа выходе 17 останова появляется высокий потенциал с выхода элемента ИЛИ 10. Отлаживаемое программное уст.ройство прекращает обработку программы, что позволяет просмотреть содержимое блока 9 ло нескольким адресам не по окончании выполнения отлаживаемым устройством программы, а именнов момент сбоя в ее выполнении, Длярестарта отлаживаемого программногоустройства после его останова по условию несовпадения информации на информационном входе 15 устройства сожидаемой (заданной как контрольнаяточка) в момент достижения определен"ного адреса на адресном входе 14 устройства необходимо подать низкийпотенциал с шестого выхода блока 5на один вход третьего элемента И 8,что приводит к снятию высокого активного потенциала на выходе 7 останова устройства для отладки программ,Для того, чтобы в процессе работыотлаживаемого программного устройства не происходило затирание информа"ции по ранее пройденным контрольнымточкам, второй выход переполнениясчетчика 6 адреса соединен с однимвходом элемента ИЛИ 10, Таким образом, по переполнении разрядной сетки счетчика 6 адреса с его второго выходапереполнения на один вход элементаИЛИ 10 подается высокий потенциал,что также приводит к останову отлаживаемого программного устройства идает возможность просмотреть содержимое блока 9, чтобы исключить потерю информации о пройденных контрольных точках, При этом второй выходпереполнения счетчика 6 адреса и выход элемента И 8 подключены соответственно к второму и первому входамблока 5, Это дает возможность органи"зовать на блоке 5 индикацию моментаи причины останова отлаживаемого прог"раммного устройства, 1399745ет возможность просмотреть содержимое блока 9 на необходимую глубину.По окончании просмотра содержимое блока 9 для рестарта программы отла 5живаемого устройства с третьего выхода блока 5 на седьмой управляющий вход блока 9 памяти подается потенци ал, соответствующий операции "Запись, что переводит блок 9 в режим записи. 1 О С пятого выхода блока 5 на третий сбросовый вход счетчика 6 адреса подается обнуляющий импульс, что приводит к снятию высокого активного потенциала на выходе 17 останова уст" ройства для отладки программ. Визуальный контроль записанной в блоке 9 информации в момент останова отлаживаемого программного устройства осущест" вляется заданием кода отображаемой 30 информации, подаваемого с первого вы- хода блока 5 на пятый управляющий вход мультиплексора 11, который в зависимости от этого кода коммутирует на вход блока 13 индикации инфор мацию с первого, второго, третьего и четвертого выходов блока 9, Чередуя подачу вычитающего строба с второго выхода блока 5 и кода отображаемой информации с его первого выхода, мож но провести ретроспективный анализ информации о прохождении программы отлаживаемого устройства в необходи- мом объеме. Таким образом, задавая последовательность контролиРуемых ад 35 ресов в блоке 1 памяти адресов по программе отлаживаемого устройства, можно составить в блоке 9 трассу выполнения этой программы, просмотр ко" .торой в моменты останова дает возмож ность делать выводы об условиях пере- ходов в программе, причинах сбоев, ;общей работоспособности программы.Кроме того, введение в устройство для отладки программы таймера 12 дает 45 воэможность оценить время обработки программой отлаживаемого устройства, циклических участков алгоритма и вес" ти поиск оптимальных условий входа (выхода) и (из) участка, 80Формула изобретенияУстройство для отладки программ, содержащее первый элемент И, элемент ИЛИ, мультиплексор, блок индикации, блок памяти контрольнйх точек, блок уп 1 равления, счетчик адреса, счетчик импульсов, причем выходы выбора индикации,признака записи и задания временной задержки блока управления соединень 1 соответственно с входом управления мультиплексора, входом записи блока памяти контрольных точек и информационным входом счетчика импульсов, выход первого элемента И соединен со счетным входом счетчика импульсов, адресный вход устройства соединен с первым информационным входом блока памяти контрольных точек, выходы которых соединены с информационными, входами мультиплексора, выход которо" го соединен с входом блока индикации, о т л и ч а ю щ е е с я тем; что, с целью повышения быстродействия, в него введены блок памяти адресов, блок памяти данных, 1 второй и третий, элементы И и таймер, причем адресный вход устройства соединен с адресным входом блока памяти адресов, перный и второй выходы которого соединены с первыми входами соответственно первого и второго элементов И, выход первого элемента И соединен со счетным входом сложения счетчика адреса,информационный выход и выход перепол- нения которого соединены соответственно с адресным входом блока памяти контрольных точек, первым входом ос-, танова таймера н выходом признака ос. танова устройства, выход кода време- ни таймера соединен с вторым информационным входом блока памяти контрольных точек, информационный вход устройства соединен с адресным входом блока памяти данных и третьим ин,. формационным входом блока памяти контрольных точек, выход блока памяти данных соединен с вторым входом второго элемента И, выход которого соединен с входом обращения блока памяти контрольных точек и первым входом, третьего элемента И, выход которого соединен с вторым входом элемента ИЛИ и первым входом признака сбоя блока управления, выход переполнения счетчика адреса соединен с вторым входом признака сбоя блока управлениМ, выход переполнения счетчика импуль" сов соединен с входом записи блока памяти контрольных точек, вход сикх" ронизации устройства соединен с вторым входом первого элемента И и третьим входом второго элемента И, выходы управления счетом, начальной установки и блокировки сбоя блока уп равления соединены соответственно сСоставитель Н.СигаловТехред А.Кравчук КорректорА. Обручар Редактор А.Огар Заказ 2667/49 Тираж УО 4 Подписное ВНИИПИ Государственного комитета СССР по делам изобретений и открытий113035, Иосква, Ж, Раушская наб д, 4/5 Производственно-полиграфическое предприятие, г. ужгород, ул. Проектная, 4 9 1399745 опризнаком реверсивного счета счетчи- третьего элемента И, выход первогоКа адреса, с входом нач; пьной установ- элемента И соединен с входом запускаки счетчика адреса и вторым входом таймера.

Смотреть

Заявка

4143166, 05.11.1986

СПЕЦИАЛЬНОЕ КОНСТРУКТОРСКОЕ БЮРО "КИБЕРНЕТИКА" С ОПЫТНЫМ ПРОИЗВОДСТВОМ ИНСТИТУТА КИБЕРНЕТИКИ АН АЗССР

ГОЛОВИН НИКОЛАЙ ВАСИЛЬЕВИЧ, ТАРАСЕНКО АЛЕКСЕЙ ВАСИЛЬЕВИЧ, ПЕТРОСЯН ВИТАЛИЙ ПЕТРОСОВИЧ, ФАЙСКАНОВ БОРИС ФАРИСОВИЧ

МПК / Метки

МПК: G06F 11/28

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

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

Код ссылки

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

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