Устройство для отладки программ
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1062708
Авторы: Галкин, Глущенко, Жабеев, Королькевич, Минский, Шавловский
Текст
(56)Р 5982кл, 0 ГОСУДАРСТВЕННЫЙ КОМИТЕТ ССПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИ 3484064/18-2425.08.8223.12.83. Бюл.47В.В. Галкин, В.П. Глущенко,Жабеев, В.И. Королькевич,Минский и С.Н. ИавловскийКиевское проектно-конструкторбюро автоматизированных систеления681.325(088.8)1. Авторское свидетельство СС077, кл. 0 06 Р 9/20, 1974,Патент США Р 3937938,06 Р 11/00, 1976 (прототип)( 54 ) ( 57 ) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ, содержащее первый блок памяти,мультиплексор, дешифратор, схему сравнения, регистр параметров и регистркоманд, причем информационный входустройства является информационнымвходом первого блока памяти и информационным входом мультиплексора,первый выход которого соединен спервым входом схемы сравнения, входкоманды устройства является входомрегистра команд и регистра параметров, выход которого соединен с вторым входом схемы сравнения, выходрегистра команд ;оединен с входомдешифратора и управляющим входоммультиплексора, о т л и ч а ющ е е с я тем, что, с целью увеличения быстродействия при отладкепрограмм, в устройство введены второй блок памяти, первый и второйкоммутаторы, триггер, одновибратор,счетчик записей и счетчик времени,первый и второй элементы ИЛИ, элемент НЕ и три элемента И, причем выходы дешифратора соединены с первыми входами соответственно первого, второго и третьего элементов И, выходы которых соединены соответственно с первым, вторым и третьим входами первого элемента ИЛИ, выход третьего элемента И через элемент НЕ соединен с первым входом второго элемента ИЛИ и пусковым входом счетчика времени, выход которого является первым информационным выходом устройства, второй выход мультиплексора соединен с вторыми входами первого, второго и третьего элементов И, выход схемы сравнения соединен с третьим входом второго элемента И и инверсным входом третьего элемен- щО та И, выход первого элемента ИЛИ соединен с первыми входами первого и второго коммутаторов и со счетным входом счеччика записей, упразлзмщий вход считывания устройства соединен с вторыми входами первого и второго коммутаторов, выходы которых соединены соответственно с управляющими входами записи-считывания первого и второго блоков памяти соответственно, информационные выходы блоков памяти являются информационными выходами устройства, выход переполнения счетчика записей соединен со счетным входом триггера, выход которого соединен с управляю- шими входами первого и второго коммутаторов и через одновибратор с вторым входом второго элемента ИЛИ, выход которого является управляющим выходом 1 устройства, вход меток ;времени устройства соединен со счет;ным входом счетчика времени.Изобретение относится к вычисли-тельной технике, в частности к устройствам для автоматизации процессаотладки программ.Известны системы и устройства,позволяющие проводить отладку программ путем обнаружения ошибок исбоев в работе программируемой ЭВМ,в частности поиск места "сбойной"команды в программе при ее отладке,содержащие устройство управления, 10регистры первого и второго переходов, схемы управления и сравнения 1.Недостаток устройства - ограниченность Функциональных возможностей, так как происходит запоминание. 45адресов только двух последних переходов программ,не производитсяподсчет временй выполнения программы, не прослеживается последовательность выполнения команд и обработки данных, а также отсутствуют средства связи с устройствами, дающимивоэможность вести отладку и корректировку в терминах исходной программы, 25Наиболее близким к предлагаемомупо технической сущности являетсяустройство диагностики программ,содержащее блок памяти, связанныйс ЭВМ и используемый для временногохранения информации о каждой команде, выполняемой ЭВМ, блок сравненияи коммутации, блок управления и синхронизации, управляющий работой системы, устройство выбора одного изпараметров и режимов "Точка останова", "Моментальный снимок" и"Наблюдения" работы устройства исредства выборочной индикации инФормации, хранящейся в блоке памяти.устройство обеспечивает возможность записи в режиме "Точка останова" адресов трех точек или диапазона останова программы с нижним иверхним пределами 2,Однако в данной системе отсутству,ет возможность учета времени выполнения программ, в режимах "Точка останова" и "Моментальный снимок" отсут-,ствует возможность останова и снимка по коду опеРации, обеспечивающейпрослеживание команд ветвления программы, реализация режима "Моментальный снимок" требует останова работыЭВМ. Кроме того, устройство отмечается жестким ограничением объема накапливаемой информации, а также отсутствием возможности регистрациипередачи управления при прерыванияхи выхода устройства на ЭВМ. Целью изобретения является сокра щение времени, необходимого дпя отладки программ.Поставленная цель достигается тем, что в устройство для отладки программ, содержащее первый блок памяти, мультиплексор, дешифратор, схему сравнения, регистр параметров и регистр команд, причем информационный вход устройства является,информационным входом первого блока памяти и информационным входом мультиплексора первый выход которого соединен с первым входом схемы сравнения, вход команды устройства является входом регистра команд и регистра параметров, выход которрго соединен с вторым входом схемы сравнения, выход регистра команд соединен с входом дешифратора и управляющим входом мультиплексора, введены,второй блок памяти, первый и второй коммутаторы, триггер, одновкбратор, счетчик зайисей и счетчик времени, .первый и второй элементы ИЛИ, элемент НБ и три элемента И, причем выходы дешифратора соединены с первыми входами соответственно первого, второго и третьего элементов И, выходы которых соединены соответственно с первым, вторым и третьим входами первого элемента ИЛИ, выход третьего элемента И через элемент НЕ соединен с первым входом второго элемента ИЛИ и пусковым входом счетчика времени, выход которого. является первым информационным выходом устрой- ства, второй выход мультиплексора соединен с вторыми входами первого, второго и третьего элементов И, выход схемы сравнения соединен с третьим входом второго элемента И и инверсным входом третьего элемейта И, выход первого элемента ИЛИ соединен с первыми входами первого и второго коммутаторов и со счетным входом счетчика записей, управляющий вход считывания устройства соединен с вторыми входами первого и второго коммутаторов, выходы которых соединены соответственно с управляющими входами записи-считывания пер-, вого и второго блоков памяти соот" ветственно, информационные выходы блоков памяти являются информационными выходами устройства, выход переполнения счетчика записей соединен со счетным входом триггера, выход которого соединен с управляющими входами первого и второго коммутаторов и через одновибратор - с вторым входом второго элемента ИЛИ, выход которого является управляющим выходом устройства, вход меток времени устройства соединен со счетным входом счетчика времениНа чертеже приведена блок-схема устройства для отладки программ.Устройство содержит первый 1 и второй 2 блок памяти магазинного типа, одновибратор 3, счетчик 4 записей, триггер 5, первый коммутатор б, первый 7 и второй 8 элементы ИЛИ второй коммутатор 9, первый 10, вто1062708 рой 11 и третий 12 элементы И, схе-" му 13 сравнения, мультиплексор 14, дешифратор 15 команд, счетчик 16 времени, регистр 17 параметров, регистр 18 команд, элемент 19 НЕ. Устройство также содержит управляющий выход 20, второй 21 и первый 22 инФормационные выходы устройства, информационный вход 23, управляющий вход 24 команд и управляющий вход 25 считывания.Первый 1 и второй 2 блоки памяти магазинного типа обеспечивают последовательное запоминание в каждом по И-блоков информации о выполняемых ЭВМ командах отлаживаемой программы. Переадресация может происходить с помощью реверсивного счетчика в каждом блоке памяти или посредством задержанного сигнала "Запись", поступающего с коммутаторов б .и 9Счетчик 4 записей имеет разрядность, равную емкости каждого 1 и 2 блоков памяти, и с помощью триггера 5 управляет коммутаторами б и 9, разрешая прохождение сигнала "Запись",через коммутатор б, а сигнала "Считывание" - через коммутатор .9, находясь в единичном состоянии, и наоборот при переходе триггера 5 в нулевое состояние.По управляющемувыходу 20 с элемента ИЛИ 8 на ЭВМ или спецпроцессор выдается сигнал Запрос", сигнализирующий о том, что произошло переключение записи с одного блока памяти на другой илио том, что произошло сравнение заданных адресов или кодов операций отлаживаемых программ. В таком случае, получая сигналы "Считывание" по управляющему входу 25 считывания, устройство выдает накопленную информацию из соответствующего блока памяти через второй информационный выход 21. Счетчик 16 времени позволяет определить время выполнения программы при заданном начальном и конечном ее адресах. Зри получении первого сигнала сравнения счетчик 16 времени запускается, а при получении второго сигнала сравнения - останавливается и т.д. Накопленная информация может быть считана по первому информационному выходу 22. 4Устройство работает следующимобразом.На управляющий вход 24 командподается кодовая комбинация (команда управления/, определяющая выбран- , 5 ный режим отладки и соответствующиепараметры.В регистр 17 параметров записываются заданные адреса или коды операций программы, .которые поступая на 1 О схему 13 сравнения, сравниваютсяс текущими значениями адресов и кодов операций выполняемой,.программы,.поступающими с мультиплексора 14.Мультиплексор 14 управляется коман дами, поступающими в дешифратора15, которые в зависимости от задан-,ного режима определяют вид информации, поступающей на схему 13 сравнения адреса, коды, операций программы, адреса регистров), а такжетип сигналов управления, поступающих на элементы И 10-12 (выборка,чтение, запись, прерывание и т.д.).С выходов элементов И 10-12 в зависимости от поступившей с дешифратора 15 команды, наличия или отсутствия сигнала сравнения со схемы 13,сигналов управления с мультиплексора 14 вырабатываются сигналы, определяющие порядок записи информациив первый 1 и второй 2 блоки памятиКаждый блок информации, включающий адрес .команды, ее код и состояние выбраннЫх регистров, записывается в один из блоков памяти 1 и 2 35 и последовательно сдвигается для,в другом блоке, может быть считанадля перезаписи на внешний накойитель 40 с целью последующего анализа. В режиме "Наблюдение" регистр17 параметров обнуляется, а с мультиплексора 14 на вход элемента И 10 45 поступает сигнал управления типа"Выборкаф, который с выхода элемента И 10 через элемент ИЛИ 7 поступает на один из информационных вхо-, дов коммутаторов б и 9. С выходов коммутаторов б или 9 в зависимости от состояния триггера 5 сигнал "Запись" поступает на управляющий вход блока 1 или 2 памяти.Команды управления устройством поступают по входу 24 команд и могут состоять из нескольких слов, определяющих код режима и заданный параметр, т.е. один или несколько адресов или кодов операций программы, адреса или номера регистров ЭВМ, выбранных для записи, признаки необходиМых для данного режима сигналов управления. Поэтому обмен инФормацией может осуществляться посылкой нескольких слов. Кроме того, сигнал йоступает на 55 счетчик 4 записей, который определяет момент переключения записи с одного блуа памяти на другой. При переполнении счетчика 4 происходит переход триггера 5 в состояние, оп ределяющее переключение коммутато,ров б и 9, а тем самьщ и номер блока памяти, в который должна производиться запись информации. Сигнал с триггера 5 через элемент ИЛИ 8 поступает иа управляющий выход 205 10 15 20 25 30 35 40 45 50 устройства, сигнализируя о заполнении одного из блоков памяти.В данном режиме происходит постоянная запись информации о ходе выполнения отлаживаемой программы до момента возникновения сбоя, зацикливания или выхода отлаживаемой программы на незапланированный останов. В случае возникновения одной иэ перечисленных ситуаций накопленная в блоках 1 и 2 памяти информация может быть считана по второму информационному выходу 21 и проанализированы причини неисправности программы.Режим "Точка останова" может быть задан как с остановом по адресу (диапазону адресов), так и по команде. В описываемом режиме в регистр 17 параметров записывается заданный адрес (адреса) или код (коды) операций команды. При отсутствии сигнала сравнения с выхода схемы 13 сравнения на входе элемента И 12 с его выхода через элемент ИЛИ 7 и один из коммутаторов 6 и 9 на соответствующий блок памяти в каждом цикле выполнения отлаживаемой программы поступает сигнал "Запись", по которому происходит заполнение нового блока информацией о ходе выполнения программы.В момент сравнения заданного адреса команды с текущим адресом командной) программы с выхода схемы 13 сравнения на инверсный вход элемента И 12 поступает .сигнал запрета выдачи сигнала записи в соответствующий блок памяти.Инвертированный на элементе НЕ 19 сигнал с выхода элемента И 12 поступает через элемент ИЛИ 8 на управляющий выход 20 устройства, информируя о достижении заданного адреса (команды) или вызывая останов ЭВМ. Одновременно с выхода элемента НЕ 19 на вход счетчика 16 времени поступает сигнал, разрешающий заполнение счетчика. Следующий сигнал сравнения, поступающий со схемы 13 сравнения через элементы И 12 и НЕ 19 на вход счетчика 16 времени запрещает заполнение счетчика. Накопленная в счетчике 16 информация о времени работы программы может быть считана через первый информационный выход 22 устройства. В режиме "Моментальный снимок" выбор соответствующего блока 1 или 2 памяти осуществляется аналогично.Однако момент записи информации, поступившей по информационному входу 23, определяется одновременным появлением на входе элемента И 11 сигнала "Выборка" с выхода мультиплексора 14 и сигнала сравнения с выхода схемы 13 сравнения, выработанные при совпадении заданного и текущего адресов (команд) программы. Таким образом, запись в соответствующий блок памяти происходит только в момент сравнения текущего адреса (адресов) или кода кодов) операции программы с заданными.В режиме "Прерывание" в блоки 1 или 2 памяти записывается информация, определяющая. точку прерывания в программе и начальный адрес программы обработки информации. Запись производится последовательно при совпадении на входах элемента И 10 сигналов записи и прерывания с выхода мультиплексора 14.Учитывая, что при каждом прерывании в память устройства записывается два блока информации, максимальное количество прерываний, фиксируемое устройством, равно М /2. Таким образом, благодаря наличию счетчика времени устройство позволяет проводить подсчет времени функционирования отлаживаемых программ, наличие связи устройства с ЭВМ и двухбуферная органиэация памяти позволяет просматривать отлаживаемые программы на неограниченную глубину без останова работы программ. Введение режима "Прерывание" позволяет регистрировать как точки прерывания, так и адреса обработки прерываний, что особенно важно при отладке программ управления. Введение в режимы "Точка естанова" и "Моментальный снимок" возможности работать с параметром "Код операции" позволяет следить за ветвлением программы, а отсутствие необходимости останавливать выполнение программы в режиме "Моментальный снимок" позволяет отлаживать программы, функционирующие в реальном масштабе времени.Заказ 10219/5 илиал ППП "Патент", г. Ужгород, ул. Проектн 706ственногобретенийЖ, Р Тираж ВНИИПИ Государ по делам иэ 113035, МосквПодпис ноеомитета СССРоткрнтийушская наб., д. 4/5
СмотретьЗаявка
3484064, 25.08.1982
КИЕВСКОЕ ПРОЕКТНО-КОНСТРУКТОРСКОЕ БЮРО АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ
ГАЛКИН ВИТАЛИЙ ВАСИЛЬЕВИЧ, ГЛУЩЕНКО ВЛАДИМИР ПЕТРОВИЧ, ЖАБЕЕВ ВЛАДИМИР ПАВЛОВИЧ, КОРОЛЬКЕВИЧ ВЛАДИМИР ИВАНОВИЧ, МИНСКИЙ ЯКОВ ГРИГОРЬЕВИЧ, ШАВЛОВСКИЙ СТАНИСЛАВ НИКОЛАЕВИЧ
МПК / Метки
МПК: G06F 11/22
Опубликовано: 23.12.1983
Код ссылки
<a href="https://patents.su/5-1062708-ustrojjstvo-dlya-otladki-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для отладки программ</a>
Предыдущий патент: Устройство для мажоритарного выбора асинхронных сигналов
Следующий патент: Устройство для контроля микропрограмм
Случайный патент: Способ мелиорации песчаных и супесчаных почв