Изобретение относится к электрон ной вычислительной технике и может быть использовано для формирования cиJнaлa прерывания при отладке прог рамм. Известны устройства для формированйя сигнала прерывания при отладке программ, состоящие из монитора вырабатывающего сигнал прерывания по специальной команде обращения к монитору, или из программируемого таймера, вырабатывающего сигнал прерывания спустя некоторый фиксиро ванный интервал времени, который можно задавать программно l, Недостатком этих устройств для формирования сигнала прерывания при откладке программ является то, что известен лишь интервал времени, спустя который вырабатывается сигна прерывания, но не известно, через сколько выполненных процессором команд вырабатывается этот сигнал прерывания. Система команд процессо ра .часто включает сотни команд с различным временем их выполнения. В практических случаях подсчет времени выполнения цепочки команд требует программу объемом несколько Кбайтов, включая таблицы соответствия кодов операций команд и времени выполнения команд. Кроме того в тех случаях, когда заранее не из вестен результат выполнения команд для задания временного интервала программируемому таймеру требуется программное моделирование хода выполнения программы, что требует программ объемом несколько десятков Кбайтов. Программные затраты в этом случае велики, и их желательно избежать. Наиболее близким к предлагаемому по технической сущности является устройство, содержащее элемент И и триггер, выход которого является выходом сигнала прорывания устройства. Сигнал прерывания вырабатывается после второго входного сиг нала, следующего за командой Раз решение прерываний 2. Недостатком устройства является появление сигнала прерывания после каждой команды отлаживаемой программы, что увеличивает время прохож дения отлаживаемой программы, а сле довательно, и время отладки програм дает лишь один режим отладки програ не позволяет отлаживать цепочки команд в реальном масштабе времени. После каждого прерывания процессор выполняет прерывающую программу, в которойзапоминает и анализирует свое внутреннее состояние в точке прер,ывания ( содержимое регистров, флажков и т.д.). Прерывающая программа часто включает сотни команд, в результате время выполнения отлаживаемой программы в таком режиме прерывания после каждой команды отлаживаемой программы возрастает в сотни раз по сравнению с выполнением отлаживаемой программы в реальном масштабе времени. Цель изобретения - сокращение времени отладки программ, заключающееся в сокращении времени прохождения отлаживаемой программы. Поставленная цель достигается тем, что устройство для формирования сигнала прерывания при отладке программ, содержащее элемент И, элемент задержки и триггер, причем выход триггера является выходом сигнала прерывания устройства, вход выборки устройства через элемент задержки соединен с выхЬдом разрешения выдачи синхросерии устройства, дополнительно содер жит счетчик команд, причем информационный вход устройства соединен с информационным входом счетчика команд, выход переполнения которого соединен с нулевым входом триггера, единичный выход которого соединен с первым входом элемента И, вход окончания команды устройства соединен с вторым входом элемента И, выход которого соединен со счетным входом счетчика команд, вход выборки устройства соединен с нулевым входом счетчика команд и единичньом входом триггера. На фиг. 1 представлена схема предлагаемого устройства; на фиг. 2- временная диаграмма его работы. Устройство содержит элемент И 1, элемент 2 задержки и триггер 3, причем выход триггеру 3 является выходом 4 сигнала прерывания устройства, вход 5 выборки устройства через элемент 2 задержки соединен с выходом 6 разрешения выдачи синхросерии устройства, а также счетчик 7команд, причем информационный вход 8устройства соединен с информационным входом счетчика 7, выход переполнения которого соединен с нулевым входом триггера 3, единичный выходкоторого соединен с первым ззыходом элемента И 1, вход 9 окончания команды устройства соединен с вторым входом элемента И 1, выход которого соединен со счетным входом счетчика 7, вход 5 выборки устройства соединен с нулевым входом счетчика 7 и единичным входом триггера 3. Устройство работает следующим образом. По сигналу низкого уровня на входе 5 выборки устройства происходит запись информации с информационного входа 8 устройства в счетчик 7 команд, устанавливая начальное значение счетчика, одновременно триггер 3 устанавливается в единичное состояние. Через временной интервал.
определяемый временем задержки элемента 2 задержки (временной интервал выбирается таким образом, чтобы запись начального значения в счетчик 7 команд произошла без искажений), на выходе б разрешения выдачи синхросерий устройства появляется сигнал низкого уровня, по которому происходит снятие сигнала на входе 5 выборки устройства. В конце выполнения каждой команды на выходе 9 окончания команды устройства появляется сигнал высокого уровня, который, через элемент И 1 поступает на счетный вход счетчика 7, уменьшая каждый раз на единицу содержимое этого счетчика. Через К выполненных команд (где 0 К i 2 , п -разрядность счетчика) содержимое йчетчика 7 обнуляется. Псоле к +1 выполненной команды на выходе счетчика 7 появляется сигнал низкого уровня, по которому триггер 3 сбрасывается. На выходе триггера 3 появляется сигнал низкого уровня, который поступает на вход элемента И 1, запрещая этим работу.счетчика 7. . Этот же сигнал появляется на выходе 4 сигнала прерывания устройства, что приводит к прерыванию выполнения программы.
Следовательно, через К+1 команд после команды задания начального значения счетчика команд устройства включая в К команду задания начального значения счетчика команд, появляется сигнал прерывания, причем значение К легко менять программно. Таким образом, режим прерывания, в котором запоминается и анализируется внутреннее состояние в точке прерывания, происходит после выполнения цепочки из К+1 команды в реальном масштабе времени после команды задания начального значения счетчика команд.
Команду задания начального значения счетчика команд устройства можно располагать в прерывающей программе, обычно в конце выполнения прерывающей программы перед ко:мандой возврата из подпрограммы прерывания.
Тогда через К + 1 - 2 К-1 команду отлаживаемой программы происходит прерывание отлаживаемой программы. Отлаживаемую программу при таком методе не нужно модифицировать, она может располагаться в ОЗУ или даже ПЗУ с перезаписью.
Устройство дает возможность создания различных режимов отладки
0 программ. При К 2 прерывание программы осуществляется после каждой выполняемой команды отлаживаемой про граммы. При вход в прерывающую программу осуществляется через К-1
5 команду отлаживаемой программы.
Следовательно, прелагаемое устройство позволяет получить другой режим отладки программ, когда цепочка команд отлаживаемой программы длиной
Q К - 1 команда выполняется в реальном масштабе времени и после этого происходит прерывание. Тем самым данное устройство позволяет осуществить выбор режима отладки программ,
5 задавая различные значения К.
При использовании предлагаемого устройства, по сравнению с прототипом, сокращается время прохождения отлаживаемой программы, а следовательно, и время отладки программ, так как отлаживаемую программу можно проходить с постоянным шагом в 2, 3 или 4 и т.д. команд, что дает преимущество во времени прохождения
5 отлаживаемой программы соответственно в 2, 3 или 4 и т.д. раз, или с переменным шагом итерационным методом, уменьшая постепенно от больших величин к маленьким шаг прохож0 дения отлаживаемой програмуы, приближаясь постепенно к особым точкам отлаживаемой программы, запуская каж-дый раз выполнение отлаживаемой программы с нового места (это допус5 тимо, так как при прерываниях можно полностью запомнить состояние прерванной программы), что также при оцит к сокращению времени прохождения отлаживаемой программы. Кроме того,
создаются возможности по отладке цепочек команд в реальном масштабе времени .
4t:u f.f..J
йг-й
фие. Z
название | год | авторы | номер документа |
---|---|---|---|
Устройство для прерывания при отладке программ | 1984 |
|
SU1171799A2 |
Устройство для отладки микроЭВМ | 1989 |
|
SU1677708A1 |
Устройство для отладки программ | 1987 |
|
SU1462327A1 |
Устройство для отладки программ микроЭВМ | 1989 |
|
SU1815643A1 |
Устройство для отладки микроЭВМ | 1987 |
|
SU1587514A1 |
СПОСОБ КОНТРОЛЯ И ОТЛАДКИ ПРОГРАММ РЕАЛЬНОГО ВРЕМЕНИ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 1991 |
|
RU2050588C1 |
Устройство для отладки программ | 1988 |
|
SU1624461A1 |
Устройство для отладки программно-аппаратных блоков | 1986 |
|
SU1425683A1 |
Устройство для отладки программно-аппаратных блоков | 1987 |
|
SU1497617A1 |
Устройство для отладки программ | 1982 |
|
SU1062708A1 |
УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ СИГНАЛА ПРЕРЬЮАНИЯ ПРИ ОТЛАДКЕ ПРОГРАММ, содержсццее элемент И, элемент задержки и триггер, причем выЯод триггера является выходом сигнала прерывания устройства, вход выборки устройства через элемент задержки соединен с выходом разрешения выдачи синхросерии устройства, отличающеес я тем, что, с целью сокращения времени отладки программ, в устройство введен счетчик команд, причем информационный вход устройства соединен с информационным входом счетчика команд, выход переполнения которого соединен с нулевым входом триггера, единичный выход которого соединен с первым входом элемента И, вход окончания команды устройства соединен с вторым входом элемента И, выход которого соединен со счетным входом счетчика команд, вход выборки устройства соединен с нулевым входом счетчика команд и единичным входом триггера.
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Разборное колесо | 1921 |
|
SU370A1 |
Под ред.Л.Д.Райкова.М., МирМ978, с.70-71 | |||
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Зурков А.В | |||
Оборудование для отладки программ.-Электроника, 1976, №13, с.56-57 (прототип) . |
Авторы
Даты
1984-11-15—Публикация
1983-07-08—Подача