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

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

Авторы: Сучков, Шалин

ZIP архив

Текст

ельство СССРО, 1974.ьство СССРО, 1978 УДАРСТВЕННЫЙ КОМИТЕТ СССРДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИИ(54) (7) УСТРОЙСТВО ДЛЯ ОТЛАДКИПРОГРАИИ, сОдержащее регистр исполнительного адреса, регистр адресакоманд, блок буферных регистров,распределитель, счетчик, триггер,три элемента И, первый элемент ИЛИи элемент задержки, причем выходрегистра исполнительного адресасоединен с первым входом первогоэлемента И, выход которого соединенс входом регистра адреса команд, вы"ход последнего соединен с информационным входом блока буферных регистров, входы команд условного и безусловного переходов признака устройства соединены соответственно с первыми вторым входами первого элементаИЛИ, выход которого соединен с первым входом второго элемента И и через элемент задержки с вторым входом первого элемента И, выход второго элемента И соединен с управляющимвходом записи блока буферных регистров и счетными входами счетчика ираспределителя, выходы которого сое-.динены с адресными входами блока буферных регистров, выходы которого являются информационными выходами устройства, выход счетчика и первый управляющий вход режима работы уст ройства соединены соответственно с первым и вторым входами третьего элемента И, выход которого соединен с нулевым входом триггера и является первым выходом прерывания устройства, выход триггера соединен с вторым входом второго элемента И, о т л ич а ю щ е е с я тем, что, с целью повышения производительности, в него введены регистр начального адреса,схема сравнения, два элемента И и второй элемент ИЛИ, причем информационный вход устройства соединен с Е входом регистра начального адреса и информационным входом счетчика, выход регистра начального адреса сое динен с первым входом схемы сравнения, выход регистра адреса команд соединен с вторым входом схемы срав- Я нения, выход которой соединен с первыми входами четвертого .и пятого элементов И, первый и второй управляющие входы режима работы устройства соединены с вторыми входами чет;- вертого и пятого элементов И соответственно, выход четвертого элемента И соединен с первым входом второ" го элемента ИЛИ, выход которого соединен с единичным входом триггера, управляющий вход трассировки програм мы устройства соединен с вторым входом второго элемента ИЛИ, выход пятого элемента И является вторым выхо дом прерывания устройства.Изобретение относится к вычислительной технике и может быть использовано в устройствах управления СЦВМдля обеспечения отладки программ.Известно устройство для отладкипрограмм, содержащее регистр первогоперехода, регистр второго перехода,схему сравнения, счетчик команд, дешифратор, блок операций, первый, второй и третий переключатели, регистркоманд, первый, второй и третий триггеры, а также первый и второй элементы задержки 1 ,Однако данное устройство не позволяет отлаживать программы, работающие в реальном масштабе времени, так 15как для контроля хода выполнения программы производится останов, что приводит к потере входной информации иискажению обрабатываемой информации.Наибблее близким к предлагаемомуявляется устройство для управленияпамятью, содержащее регистр адресакоманд, блок буферных регистров,распределитель, счетчик, триггер,три элемента И, элемент ИЛИ, элементзадержки, регистр исполнительногоадреса, выход которого через первыйэлемент И соединен с входом регистраадреса команд, выход которого соединен с входом блока буферных регистров, элемент ИЛИ, входы которого сое- З 0динены с входами устройства, а выходчерез элемент задержки - с входомпервого элемента И, распределитель,два элемента .И, счетчик и триггер,причем выходы элемента ИЛИ и триггера соединены через второй элемент Ис входами счетчика, блока буферныхрегистров и распределителя, выходыкоторого соединены с группой входовблока буферных регистров, выходы 40которого соединены с группой устройства, выход счетчика и управляющийвход устройства соединены через третий элемент И с первым входом триггера, второй вход которого соединенс входом установки устройства 2 1.Недостатком известного устройстваявляется отсутствие возможности формирования сигнала прерывания в любойзаданной точке программы, а такжефиксации начальной точки (адреса 1 50включения режима контроля (трассировки) за ходом выполнения программы.Кроме .того, в таком устройстве отсутствует воэможность оперативногоизменения количества команд переходов, после выполнения которых вырабатывается сигнал прерывания. Всеэто уменьшает производительностьоператоров, ведущих отладку программ.Цель изобретения - повышение производительности при отладке программ.Поставленная цель достигаетсятем, что в устройство для отладкипрограмм, содержащее регистр исполнительного адреса, регистр адреса ко маид, блок буферных регистров, распределитель, счетчик, триггер, три элемента И, первый элемент ИЛИ и элемент задержки, причем выход регистра исполнительного адреса соединен с первым входом первого элемента И, выход которого соединен с входом регистра адреса команд, выход последнего соединен с информационным входом блока буферных регистров, входы команд условного и безусловного переходов признака устройства соединены соответственно с первым и вторым входами первого элемента ИЛИ, выход которого соединен с первым входом второго элемента И и через элемент задержки с вторым входом первого элемента И, выход второго элемента И соединен с управляющим входом записи блока буферных регистров и счетными входами счетчика и распределителя, выходы которого соединены с адресными входами блока буферных регистров, выходы которого являются информационными выходами устройства, выход счетчика и первый управляющий вход режима работы устройства соединены соответственно с первым и вторым входами третьего элемента И, выход которого соединен с нулевым входом триггера и является первым выходом прерывания устройства, выход триггера соединен с вторым входом второго элемента И, введены регистр начального адреса, схема сравнения, два элемента И и второй элемент ИЛИ, причем информационный вход устройства соединен с входом регистра. начального адреса и информационным входом счетчика, выход регистра начального адреса соединен с первым входом схемы сравнения, выход регистра адреса команд соединен с вторым входом схемы сравнения, выход которой соединен с первыми входами четвертого и пятого элементов И, первый ифвторой управляющие входы режима работы устройства соединены с вторыми входами четвертого и пятого элементов И соответственно, выход четвертого элемента И соединен с первым входом второго элемента ИЛИ, выход которого соединен с единичным входом триггера, управляющий вход трассировки программы устройства соединен с вторым входом второго элемента ИЛИ, выход пятого элемента И является вторйм выходом прерывания устройства.На чертеже приведена блок-схема предлагаемого устройства.Устройство содержит регистр 1 исполнительного адреса, первый элемент И 2, регистр 3 адреса команд, блок 4 буферных регистров, схему 5 сравнения, регистр 6 начального адреса, счетчик 7, распределитель 8, второй элемент И 9, триггер 10, первый элементИЛИ 11, элемент 12 задержки, пятыйи четвертый элементы И 13 и 14, второй элемент ИЛИ 15, третий элементИ 16, информационный вход И 17, входы 18 и 19 признаков команд условного и безусловного переходов, первыйуправляющий вход 20 режима работыустройства, управляющий вход 21 трассировки программы, второй управляющий вход 22 режима работы устройства, первый выход 23 прерывания устройства, информационный выход 24 ивторой выход 25 прерывания устройства. 10 Выход регистра 1 исполнительного адреса соединен через первый элемент 15 И 2 с входом регистра 3 адреса команд, выход которого подключен к входу блока 4 буферных регистров и входу схемы 5 сравнения, второй вход которой соединен с выходом регистра 6 началь ного адреса, вход которого подключен к входу счетчика 7, второй вход которого соединен с входом блока 4 буферных регистров, входом распределителя 8 и выходом второго элемента И 9, первый вход которого соединен с выходом триггера 10, а второй - с выходом первого элемента ИЛИ 11 и через элемент 12 задержки с вторым входом первого элемента И 2. Выход схемы 5 срав 30 нения соединен с входом пятого элемента И 13 и через четвертый элемент И 14 с входом второго элемента ИЛИ 15, выход которого соединен с входом триггера 10. Второй вход триггера 10 соединен с выходом третьего элемента И 16, входы которого соответственно соединены с вторым входом четвертого элемента И 14 и выходом счетчика 7, группа входов блока 4 буферных регистров соединена с группой выходов 40 распределителя 8.Входы 17-22 служат для приема уп" равляющих сигналов, а выходы 23-25 ; для их выдачи.Устройство работает следующим об разомРежим работы устройства определяется подачей управляющего сигнала на вход 22 режим 1) или вход 20 режим 23.50В режиме 1 устройство обеспечивает формирование сигнала прерыва" ния в любой заданной точке программы. Для этого адрес команды, после выполнения которой необходимо произвести прерывание, записывается по входной шине 17 в регистр начального адреса . Адрес выполняемой команды находится на регистре 3 адреса ко" манд, с выхода которого адрес поступает на первый вход схемы 5 сравне ния, на второй вход которой подается содержимое регистра 6 начального адреса. При равенстве содержимого регистров 3 и 6 схемой 5 сравнения вы-. рабатывается сигнал, который проходит 65 через элемент И 13 на выход 25 устройства и далее на схему прерыванияСЦВМ. Вызванная программа производитфиксирование состояния процессора воперативной памяти СЦВМ, что позволяет программисту анализировать иконтролировать ход вычислений,В режиме 2 устройство обеспечивает Формирование сигнала прерыванияпри выполнении заданного количествакоманд условных и безусловных переходов. В этом случае при выполнениикоманды условного или безусловногоп ехода на вход 18 или 19 устройства поступает сигнал перехода, который проходит через элемент ИЛИ 11 ипоступает на входы элемента 12 задержки и элемента И 9. На второйвход этого элемента подается единич"ный сигнал с выхода триггера 10,установка,в единичное состояние которого производится двумя способами в зависимости от режима трассировки.При трассировке заданного участка программы начальный адрес этогоучастка записывается в регистр 6 повходной шине 17. Адрес выполняемойкоманды, как и в режиме 1, находится на регистре 3При равенстве содержимого регистров 3 и 6 схемой 5сравнения вырабатывается сигнал, который проходит через элементы И 14и ИЛИ 15, устанавливая триггер 10в единичное состояние,При трассировке программы сигналс входа 21 устройства через элементИЛИ 15 поступает на вход триггера 10и устанавливает его в единичное состояние. Количество команд переходов,после выполнения которых необходимопроизвести прерывание записываетсяв дополнительном коде в счетчик 7по входной шине 17.При наличии единичного сигнала навходе элемента И 9 сигнал переходас выхода этого элемента производитзапуск распределителя 8, осуществляет прибавление 1 к счетчику 7 и переписывает содержимое регистра 3 напервый регистр блока 4. Сигнал с выхода элемента 12, задержанный навремя, необходимое для занесениярегистра 3 на регистр блока 4, осуществляет перепись содержимого регистра 1 на регистр,3. Распределитель 8 вырабатывает управляющие импульсы, которые разрешают переписьинформации с одного регистра на другой и т.д. Работа распределителя завершается за время выполнения однойкоманды перехода. Содержимое регистров блока 4 выводится для переписи в основную оперативную память по выходнойшине 24. Счетчик считает количество выполненных команд переходов и вьщаетсигнал переполнения при выполнениизаданного количества команд. Сигналпереполнения проходит через элеи ктр М.Рач орректор О. Бил Заказ 1755/43 699рственногозобретенийЖ, Ра Подписноекомитета СССРи открытийуаская наб., д. 4/5 ВНИИПИ Госу по делам 113035, Москвлиал ППП "Патентф, г.ужгород, ул.Проектная, 4 мент И 16, поступает на вход триггера 10 и устанавливает его в нулевое состояние. Этот же сигнал с выхода 23 устройства подается на схему прерывания СЦВМ.5 Йулевой сигнал с триггера 10 поступает на вход элемента И 9 и блокирует поступление сигнала перехода на входы регистра блока 4, распределителя 8 и счетчика 7. БЛокировка обеспечивает сохранение содержимого регистров 3 блока до и переписи в основную память. После переписи содержимого этих регистров в память устройство подготавливается к следующе му циклу ( установка в единичное состояние триггера 10) аналогично укаэанному выше.Таким образом, изобретение позволяет .ускорить отладку программ, работающих в системах реального времени, так как при отладке в реальных условиях есть возможность контролировать ход вычислений без останова программы, задавая прерывание в любой ее точке. Трассировкатолько заданного участка программы и оперативное его изменение ( например с пульта управления ЦВН позволяют сэкономить время на организацию прерываний и их обработку, что очень важно для систем реального времени. В этом же направлении необходимо рассматривать возможность оперативного изменения количества выполненных команд переходов, после выполнения которых вырабатывается сигнал прерывания.

Смотреть

Заявка

3522600, 17.12.1982

ПРЕДПРИЯТИЕ ПЯ В-2431

СУЧКОВ ВЛАДИМИР НИКОЛАЕВИЧ, ШАЛИН СЕРГЕЙ АЛЕКСЕЕВИЧ

МПК / Метки

МПК: G06F 11/22

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

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

Код ссылки

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

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