Изобретение относится к вычислительной технике, в частности к устройствам для автс 1атизадии процесса отладки программ. Известны системы и устройства, позволяющие проводить отладку программ путем обнаружения етиибок и сбоев в работе программируемой ЭВМ, в частности поиск места сбойной команды в программе при ее отладке, содержащие устройство управления, регистры первого и второго переходов, схемы управления и сравнения i Недостаток устройства - ограниченность функциональных возможностей, так как происходит запоминание адресов только двух последних переходов программ,не производится подсчет времени выполнения программы, не прослеживается последователь ность выполнения команд и обработки данных, а также OTcyTCTBsnoT сред ства связи с устройствами, дающими возможность вести отладку и корректировку в терминах исходной программы. Наиболее близким к предлагаемому по технической сущности является устройство диагностики программ, содержащее блок памяти, связанный с ЭВМ и используемый для временного хранения информации о каждой команде, выполняемой ЭВМ, блок сравнения и коммутации, блок управления и син хронизации, управляющий работой сис темы, устройство выбора одного из параметров и режимов Точка останова, Моментальный снимок и Наблюдения работы устройства и средства выборочной индикации информации, хранящейся в блоке памяти Устройство обеспечивает возможность записи в режиме Точка остано ва адресов трех точек или диапазона останова программы с нижнши и верхним пределами 2J , Однако в данной системе отсутств .ет возможность учета времени выполн НИН программ, в режимах Точка оста нова и Моментальный снимок отсут ствует возможность останова и снимка по коду операции, обеспечивающей прослеживание команд ветвления программьз, реализация режима Моменталь ный снимок требует останова работы ЭВМ. Кроме того, устройство отмечается жестким ограничением объема накапливаемой информации, а также отсутствием возможности регистрации передачи управления при прерываниях и выхода устройства на ЭВМ. Целью изобретения является сокра щение времени, необходимого для отладки программ. Поставленная цель достигается тем, что в устройство для отладки программ, содержащее первый блок памяти, мультиплексор, дешифратор, схему сравнения, регистр параметров и регистр команд, причем информационный вход устройства является .информационным входом первого блока памяти и информационным входом мультиплексора, первый выход которого соединен с первым входом схемы сравнения, вход команды устройства является входом регистра команд и регистра параметров, выход которрго соединен с вторым входом схемы сравнения, выход регистра команд соединен с входом дешифратора и управляющим входом мультиплексора, введены второй блок памяти,- первый и второй коммутаторы, триггер, одновнбратор, счетчик записей и счетчик времени, .первый и второй элементы ИЛИ, элемент НЕ и три элемента И, причем выходы дешифратора соединены с первыми входами соответственно первого, второго и третьего элементов И, выходы которых соединены соответственно с nej)BbiM, вторым и третьим входами первого элемента ИЛИ, выход третьего элемента И через элемент НЕ соединен с первьм входом второго элемента ИЛИ и пусковым входом счетчика времени, выход которого является первым информационным выходом устройства, второй выход мультиплексора соединен с вторыми входами первого, второго и третьего элементов И, выход схемы сравнения соединен с третьим входом второго элемента И и инверсным входом третьего элемента И, выход первого элемента ИЛИ соединен с первыми входами первого и второго коммутаторов и со счетным входом счетчика записей, управляющий вход считывания устройства соединен с вторыми входами первого и второго коммутаторов, выходы которых соединены соответственно с управляющими входами записи-считывания пер- . вого и второго блоков памяти соответственно, информационные выходы блоков памяти являются информационными выходами, устройства, выход переполнения счетчика записей соединен со счетным входом триггера, выход которого соединен с управляющими входами первого и второго коммутаторов и через одновибратор - с вторым входом второго элемента ИЛИ, выход которого является управляющий выходом устройства, вход меток времени устройства соединен со счетным входом счетчика времени. На чертеже приведена блок-схема устройства для отладки программ. Устройство содержит первый 1 и второй 2 блок памяти магазинного типа, одновибратор 3, счетчик 4 записей, триггер 5, первый коммутатор б, первый 7 и второй 8 элементы ИЛИ,| второй коммутатор 9, первый 10, второй 11 и третий 12 элементы И, схему 13 сравнения, мультиплексор 14, дешифратор 15 команд, счетчик 16 времени, регистр 17 параметров, регистр 18 команд, элемент 19 НЕ. Уст ройство также содержат управляющий выход 20, второй 21 и первый 22 информационные выходы устройства, информационный вход 23, управляющий вход 24 команд и управляющий вход 25 считывания. Первый 1 и второй 2 блоки памяти магазинного типа обеспечивают после довательное запоминание в каждом по N-блоков информации о выполняемых ЭВМ командах отлаживаемой программы. Переадресация может происходить с псфющью реверсивного счетчика в каждом блоке памяти или посредством задержанного сигнала Запись, поступающего с коммутаторов 6 .и 9. Счетчик 4 записей имеет разрядность, равную емкости каждого 1 и 2 блоков памяти, и с помощью триггера 5 управляет коммутаторами 6 и 9, разрешая прохождение сигнала Запись, через коммутатор 6, а сигн ла Считывание - через коммутатор находясь в единичном состоянии, и наоборот при переходе триггера 5 в нулевое состояние. По управляющему выходу 20 с элемента ИЛИ 8 на ЭВМ или спецпроцессор вьщается сигнал Запрос, сигна лизирующий о том, что произошло переключение записи с одного блока памяти на другой илио том, что про изошло сравнение заданных адресов или кодов операций отлаживаемых про грамм. В таком случае, получая сигналы - Считывание по управляющему входу 25 считывания, устройство вы дает накопленную информацию из соот ветствующего блока памяти через вто рой информационный выход 21. Счетчи 16 времени позволяет определить вре мя выполнения программы при заданно начальном и конечном ее адресах. При получении первого сигнала сравн ния счетчик 16 времени запускается, а при получении второго сигнала сравнения - останавливается и т.д. Накопленная информация может быть считана по первому информационному выходу 22. Команды управления устройством поступают по входу 24 команд и могут состоять из нескольких слов, определяющих код режима и заданный параметр, т.е. один или несколько адресов или кодов операций программы, адреса или номера регистров ЭВМ, выбранных для записи, признаки необходимых для данного режима сигналов управления. Поэтому обмен информацией может осуществляться посылкой нескольких слов. Устройство работает следующим образом. На управляющий вход 24 команд подается кодовая комбинация (команда управления, определяющая выбранный режим отладки и соответствующие параметры. , В регистр 17 параметров записываются заданные адреса или коды операций программы, .которые поступая на схему 13 сравнения, сравниваются с текущими значениями адресов и кодов операций вьшолняемой..программы,. поступающими с мультиплексора 14. Мультиплексор 14 управляется командами, поступающими в дешифратора 15, которые в -зависимости от задан-, ного режима определяю вид информации, поступающей на схему 13 сравнения адреса, коды, операций программы, адреса регистров), а также тип сигналов управления, поступающих на элементы И 10-12 (выборка, чтение, запись, прерывание и т.д.}. С выходов, элементов И 10-12 в зависимости от поступившей, с дешифратора 15 команды, наличия или отсутствия сигнала сравнения со схемы 13, сигналов управления с мультиплексора 14 вырабатываются сигналы, определяющие порядок записи информации Б первый 1 и второй 2 блоки памяти. Каждый блок информации, включающий адрес -команды, ее код и состояние выбранных регистров, записывается в один из блоков памяти 1 и 2 и последовательно сдвигается для .записи следующего блока информации. При этом информация, накопленная iB другом блоке, может быть считана для перезаписи на внешний накопитель с целью последующего анализа. В режиме Наблюдение регистр 17 параметров обнуляется, а с мультиплексора 14 на вход элемента И 10 поступает сигнал управления типа Выборка, который с выхода элемента И 10 через элемент ИЛИ 7 поступает на один из информационных вхо-i ,дов коммутаторов 6 и 9. С выходов коммутаторов 6 или 9 в зависимости от состояния триггера 5 сигнал Запись поступает на управляющий вход блока 1 или 2 памяти. г. Кроле того, сигнал йоступает на счетчик 4 записей, который определяет момент переключения записи с одного блока памяти на другой. При переполнении счетчика 4 происходит переход триггера 5 в с,остояние, определякйцее переключение коммутаторов 6 и 9, а тем самым и номер блока памяти, в который должна производиться запись информации. Сигнал с триггера 5 через элемент ИЛИ 8 Поступает на управляющий выход 20
устройства, сигнализируя о заполнении одного из блоков памяти.
В данном режиме происходит постоянная запись информации о ходе выполнения отлаживаемой программы до момента возникновения сбоя, зацикливания или выхода .отлаживаемой программы на незапланированный останов В случае возникновения одной из перечисленных ситуаций накопленная в блоках 1 и 2 памяти информация может быть считана по второму информационному выходу 21 и проанализированы причины неисправности программы..
Режим Точка останова может быть задан как с остановом по адресу (диапазону адресов) , так и по команде. В описываемом режиме в регистр 17 параметров записывается заданный адрес (адреса) или код (коды) операций команды. При отсутствии сигнала сравнения с выхода схемы 13 сравнения на входе элемента И 12 с его выхода через элемент ИЛИ 7 и один из коммутаторов б и 9 на соответствующий блок памяти в каждом цикле выполнения отлаживаемой программы поступает сигнал Запись, по которому происходит заполнение нового блока информацией о ходе выполнения программы .
В момент сравнения заданного адреса команды с текущим адресом (командной) программы с выхода схемы 13 сравнения на инверсный вход элемента И 12 поступает .сигнал запрета выдачи сигнала записи в соответствующий блок памяти.
Инвертированный на элементе НЕ 19 сигнал с выхода элемента И 12 поступает через элемент ИЛИ 8 на управляющий выход 20 устройства, инфор; 1ируя о лост.ижении заданного адреса (команды) или вызывая останов ЭВМ. Одновременно с выхода элемента НЕ 19 на вход счетчика 16 времени поступает сигнал, разрешающий заполнение счетчика. Следующий сигнал сравнения, поступающий со схемы 13 сравнения через элементы И 12 и НЕ 19 на вход счетчика 16 времени запрещает заполнение счетчика. Накопленная в счетчике 16 информация |о времени работы программы может быть считана через первый информационный выход 22 устройства.
В режиме Моментальный снимок выбор соответствующего блока 1 или 2 памяти осуидествляется аналогично.
Однако момент записи информации, поступившей по информационному входу 23, определяется одновременным появлением на входе элемента И 11 сигнала Выборка с выхода мультиплексора 14 и сигнала сравнения
0 с выхода схемы 13 сравнения, выработанные при совпадении заданного и текущего адресов (команд) программы. Таким образом, запись в соответствующий блок памяти происходит
5 только в момент сравнения текущего адреса (адресов) или кода (кодов) операции программы с заданными.
В режиме Прерывание в блоки 1 или 2 памяти записывается информа0 ция, определяющая точку прерывания в программе и начальный адрес программы обработки информации. Запись производится последовательно при совпадении на входах элемента И 10
5 сигналов записи и прерывания с выхода мультиплексора 14.
Учитывая, что при каждом прерывании в память устройства записывается два блока информации, максимальQ ное количество прерываний, фиксируемое устройством, равно N /2.
Таким образом., благодаря наличию счетчика времени устройство позволяет проводить подсчет времени функционирования отлаживаемых программ, наличие связи -устройства . с ЭВМ и двухбуферная организация памяти позволяет просматривать отлаживаемые программы на неограничен0 ную глубину без останова работы
программ. Введение режима Прерывание позволяет регистрировать как точки прерывания, так и адреса обработки прерываний, что особенно важ5 но при отладке программ управления. Введение в режимы Точка останова и Моментальный снимок возможности работать с параметром Код операции позволяет следить за ветвлением про0 граммы, а отсутствие необходимости останавливать выполнение программы в режиме Моментальный снимок позволяет отлаживать программы, функционирующие в реальном масштабе времени.
название | год | авторы | номер документа |
---|---|---|---|
Устройство для отладки микроЭВМ | 1985 |
|
SU1410708A1 |
Устройство для отладки программ | 1988 |
|
SU1624461A1 |
Устройство для отладки микропроцессорных систем | 1989 |
|
SU1672455A1 |
ВНУТРИСХЕМНЫЙ ЭМУЛЯТОР | 1996 |
|
RU2110833C1 |
Устройство отладки микропрограммных блоков | 1988 |
|
SU1541617A1 |
Устройство для отладки программно-аппаратных комплексов | 1990 |
|
SU1795464A1 |
Устройство для формирования сигналов прерывания при отладке программ | 1986 |
|
SU1411755A2 |
Устройство для формирования сигналов прерывания при отладке программ | 1986 |
|
SU1405061A2 |
УСТРОЙСТВО ДЛЯ ПОИСКА ПЕРЕМЕЖАЮЩИХСЯ ОТКАЗОВ В МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ | 1996 |
|
RU2099777C1 |
Устройство для отладки программ микроЭВМ | 1989 |
|
SU1815643A1 |
УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ, содержащее первый блок памяти, мультиплексор, дешифратор, схему сравнения, регистр параметров и регистр команд, причем информационный вход устройства является информационным входом первого блока памяти и информационным входом мультиплексора, первый выход которого соединен с первым входом схемы сравнения, вход команды устройства является входом регистра команд и регистра параметров, выход которого соединен с вторым входом схемы сравнения, выход регистра команд с рединен с входом дешифратора и управляющим входом мультиплексора, отличающееся тем. Что, с целью увеличения быстродействия при отладке программ, в устройство введены второй блок памяти, первый и второй коммутаторы, триггер, одновибратор, счетчик записей и счетчик времени, первый и второй элементы ИЛИ, элемент НЕ и три элемента И, причем выходы дешифратора соединены с первыми входами соответственно первого, второго и третьего элементов И, выходы которых соединены соответственно с первым, вторым и третьим входами первого элемента ИЛИ, выход третьего элемента И через элемент НЕ соединен с первым входом второго элемента ИЛИ и пусковым входом счетчика времени, выход которого является первым информационным выходом устройства, второй выход мультиплексора соединен с вторвлми входами первого, второго и третьего элементов И, выход схемы сравнения соединен с третьим входом второго элемента И и инверсным входом третьего элемен- с та И, выход первого элемента ИЛИ (Л соединен с первыми входами первого и второго коммутаторов и со счетным входом счетчика записей, управлупощий вход считывания устройства соединен с вторыми входами первого и второго коммутаторов, выходы которых соединены соответственно с управляющими входами записи-считывания первого и .второго блоков памяти соотЭ5 ветственно, информационные выходы ю блоков памяти являются информационными выходами устройства, выход переполнения счетчика записей соео динен со счетным входом триггера, ЭО выход KOloporo соединен с управляющими входами первого и второго коммутаторов и через одновибратор с втйрым входом второго элемента ИЛИ, .выход которого является управляющим выходом устройства, вход меток ;времени устройства соединен со счет,ным входом счетчика времени.
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Устройство для отладки программ | 1974 |
|
SU598077A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Патент США № 3937938, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1983-12-23—Публикация
1982-08-25—Подача