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

 

УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ , содержащее первый блок памяти, мультиплексор, дешифратор, схему сравнения , регистр параметров и регистр команд, причем информационный вход устройства является информационным входом первого блока памяти и информационным входом мультиплексора, первый выход которого соединен с первым входом схемы сравнения, вход команды устройства является входом регистра команд и регистра параметров , выход которого соединен с вторым входом схемы сравнения, выход регистра команд с рединен с входом дешифратора и управляющим входом мультиплексора, отличающееся тем. Что, с целью увеличения быстродействия при отладке программ, в устройство введены второй блок памяти, первый и второй коммутаторы, триггер, одновибратор, счетчик записей и счетчик времени, первый и второй элементы ИЛИ, элемент НЕ и три элемента И, причем выходы дешифратора соединены с первыми входами соответственно первого, второго и третьего элементов И, выходы которых соединены соответственно с первым, вторым и третьим входами первого элемента ИЛИ, выход третьего элемента И через элемент НЕ соединен с первым входом второго элемента ИЛИ и пусковым входом счетчика времени, выход которого является первым информационным выходом устройства, второй выход мультиплексора соединен с вторвлми входами первого, второго и третьего элементов И, выход схемы сравнения соединен с третьим входом второго элемента И и инверсным входом третьего элеменс та И, выход первого элемента ИЛИ (Л соединен с первыми входами первого и второго коммутаторов и со счетным входом счетчика записей, управлупощий вход считывания устройства соединен с вторыми входами первого и второго коммутаторов, выходы которых соединены соответственно с управляющими входами записи-считывания первого и .второго блоков памяти соотЭ5 ветственно, информационные выходы ю блоков памяти являются информационными выходами устройства, выход переполнения счетчика записей соео динен со счетным входом триггера, ЭО выход KOloporo соединен с управляющими входами первого и второго коммутаторов и через одновибратор с втйрым входом второго элемента ИЛИ, .выход которого является управляющим выходом устройства, вход меток ;времени устройства соединен со счет ,ным входом счетчика времени.

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

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

РЕСПУБЛИК (19) (11) .3(51) 6 06 F 11/22

ОПИСАНИЕ ИЗОБРЕТЕНИЯ, ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

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

К АВТОРСН0МУ СВИДЕТЕЛЬСТВУ (21) 3484064/18-24 (22) 25.08.82 (46) 23.12.83. Вюл. )) 47 (72) В.В. Галкин, В.П. Глущенко, В.П. Жабеев, В.И. Королькевич, Я.Г. Минский и С.Н. Иавловский (71) Киевское проектно-конструкторское бюро автоматизированных систем управления (53) 681.325(088.8) (56) 1. Авторское свидетельство СССР

)) 598077, кл. 0 06 F 9/20, 1974.

2. Патент США 1) 3937938, кл. 0 06 F 11/00, 1976 (прототип). (54 ) (57 ) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ, содержащее первый блок памяти, мультиплексор, дешифратор, схему сравнения, регистр параметров и регистр команд, причем информационный вход устройства является информационным входом первого блока памяти и информационным входом мультиплексора, первый выход которого соединен с первым входом схемы сравнения, вход команды устройства является входом регистра команд и регистра параметров, выход которого соединен с вторым входом схемы сравнения, выход регистра команд <;оединен с входом дешифратора и управляющим входом мультиплексора, о т л и ч а ю щ е е с я тем, что, с целью увеличения быстродействия при отладке программ, в устройство введены второй блок памяти, первый и второй коммутаторы, триггер, одновибратор, счетчик записей и счетчик времени, первый и второй элементы ИЛИ, элемент НЕ и три элемента И, причем выходы дешифратора соединены с первыми входами соответственно первого, второго и третьего элементов И, выходы которых соединены соответственно с первым, вторым и третьим входами первого элемента ИЛИ, выход третьего элемента И через элемент

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

;времени устройства соединен со счет;ным входом счетчика времени.

1062708

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

Известны системы и устройства, позволяющие проводить отладку про- 5 грамм путем обнаружения ошибок и сбоев в работе программируемой ЭВМ, в частности поиск места "сбойной" команды в программе при ее отладке, содержащие устройство управления, $0 регистры первого и второго переходов, схемы управления и сравнения j1).

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

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

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

Устройство обеспечивает возмож- 40 ность записи в режиме "Точка останова" адресов трех точек или диапазона останова программы с нижним и верхним пределами (2) .

Однако в данной системе отсутству- 45 ,ет возможность учета времени выполнения программ, в режимах "Точка останова" и "Моментальный снимок" отсут-, ствует возможность останова и снимка по коду опеРации, обеспечивающей прослеживание команд ветвления программы, реализация режима "Моментальный снимок" требует останова работы

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

Целью изобретения является сокра- 60 щение времени, необходимого дпя отладки программ.

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

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

Устройство содержит первый 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 блоки памяти магазинного типа обеспечивают последовательное запоминание в каждом по N-блоков информации о выполняемых ЭВМ командах отлаживаемой программы. Переадресация может происходить с помощью реверсивного счетчика в каждом блоке памяти или посредством задержанного сигнала

"Запись", поступающего с коммутаторов б .и 9 ° Счетчик 4 записей имеет разрядность, равную емкости каждого

1 и 2 блоков памяти, и с помощью триггера 5 управляет коммутаторами

6 и 9, разрешая прохождение сигнала

"Запись",через колвфтатор 6, а сигнала "Считывание" — через коммутатор .9, находясь в единичном состоянии, и наоборот при переходе триггера 5 в нулевое состояние.

По управляющему выходу 20 с элемента ИЛИ 8 на ЭВМ или спецпроцессор выдается сигнал "Запрос", сигнализирующий о том, что произошло переключение записи с одного блока памяти на другой или о том, что произошло сравнение заданных адресов или кодов операций отлаживаемых программ. В таком случае, получая сигналы -"Считывание" по управляющему входу 25 считывания, устройство выдает накопленную информацию из соответствующего блока памяти через второй информационный выход 21. Счетчик

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

Чри получении первого сигнала сравнения счетчик 16 времени запускается, а при получении второго сигнала сравнения — останавливается и т.д.

Накопленная информация может быть считана по первому информационному выходу 22.

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

На управляющий вход 24 команд подается кодовая комбинация (команда управления/, определяющая выбран, 5 ный режим отладки и соответствующие параметры.

В регистр 17 параметров записываются заданные адреса или коды операций программы, .которые поступая на

10 схему 13 сравнения, сравниваются с текущими значениями адресов и кодов операций выполняемой..программы,. поступающими с мультиплексора 14.

Мультиплексор 14 управляется коман)5 дами, поступающими в дешифратора

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 команд и могут состоять из нескольких слов, определяющих код режима и заданный параметр, т.е. один или несколько адресов или кодов операций программы, адреса или номера регистров

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

Кроме того, сигнал йоступает на счетчик 4 записей, который определяет момент переключения записи с одного блуа памяти на другой. При переполнении счетчика 4 происходит переход триггера 5 в состояние, on60 ределяющее переключение коммутато,ров б и 9, а тем самыми и номер бло:ка памяти, в который должна производиться запись информации. Сигнал с триггера 5 через элемент ИЛИ 8 поступает иа управляющий выход 20

1062708

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.

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

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

1062708

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

Техред М. Гер гель

Редактор Н. Лазаренко

Корректор М.Демчик

Заказ 10219/50

Тираж 706 Подписное

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

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

Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4

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

 

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

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

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

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

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

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

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

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

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

Изобретение относится к средствам тестирования взаимосвязанных больших интегральных микросхем (БИС) на уровне плат в реальных условиях эксплуатации
Наверх