Устройство для отладки программ
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1319038
Автор: Вайнштейн
Текст
(50 4 О ОСУДАРСТВЕННЫЙ КОМИ ПО ДЕЛАМ ИЗОБРЕТЕНИЙ СССРНРЫТИЙ ОПИСАНИЕ ИЗОБРЕТЕНИЯ-24 теи свидетельство ССС С 06 Р 11/28, 198 идетельство СССР С 06 Р 11/28, 198(54) УСТРОЙСТВО ДЛЯ ОТЛАД (57) Изобретение относ лительной технике и по сить эффективность сре чивалцих отладку прогр ПРОГРАММ тся к вычисволяет повыств, обеспеье(56) АвторскоеМ 1124315, кл.авторское свР 1275452, кл. изобретения является раснирение диагностических возможностей. устройства. Устройство содержит блок заданиярежимов, элементы И, блок управляемой задержки, триггер приостанова,.генератор одиночных сигналов, блоксравнения, триггер, схему сравнения,счетчики и блок оперативной памяти,регистр, элемент задержки и блок индикации. Устройство позволяет организовать до 17 режимов останова отлаживаемой программы и зафиксироватьинформации о ходе программы, котораяможет быть использована для устранения ошибок в программе. 4 ил.1319038 1Изобретение относится. к вычислительной технике и может быть использовано при отладке программ, а такжеотработке и настройке специализированных внешних устройств управляющихвычислительных комплексов.Целью изобретения является расширение диагностических возможностейустройства,На фиг, 1 приведена блок-схема 10предлагаемого устройства; на фиг, 2 -пример выполнения блока сравнения;на фиг. Э и 4 - временные диаграммызаписи и считывания информации,Устройство содержит блокзадания режима отладки с подключенным к. нему элементом И 2, блоком Э управляемой задержки, элементом И 4, квыходу которого через триггер 5 приостанова подключен генератор 6 одиночного сигнала. Кроме того, к блоку1 подключены блок 7 сравнения, триггер 8, элемент И 9 и через схему 10сравнения счетчик 11, подключенныйк счетчику 12 адреса, соединенномус блоком 13 оперативной памяти, регистром 14 и элементом 15 задержки,который соединен с элементом И 16.Причем выходы блока 13 подключены квходам блока 17 индикации, а входы 30устройства подключены соответственно к адресным входам 18, индюрмационным входам 19, тактовым входам 20,входу 21 направления обмена и входу22 признака наличия информации на 35входе. При этом блок 7 сравнения связан с блоком 1 входами адреса 23,блокировки данных 24, информационными 25, блокировки направления обмена26, направления обмена 27, 40 2Блок 1 состоит из соответствующего количества тумблеров, с помощьюкоторых, указанные входы можно подключать либо к логическому 0, либок логической "1",Вторая часть блока 1 - коммутационная (фиг, 1). В ней коммутируютсявходы и выходы составных частей устройства так, чтобы обеспечить соответствующие режимы работы.Для управления считывателем вблок 1 введен одновибратор, аналогичный генератору 6 одиночного сигнала,выход которого подключен к входу "1"счетчика 12.Устройство работает следующим образом.При обмене через магистраль, процессор и внешние устройства осуществляют пересылки информации, сопровождаемые синхроимпульсом задатчикаи сигналом квитирования. Работа устройства для определенности рассматривается при подключении его к магистрали "Общая шина", используемой вУВК СМ 4 (СМЭ).Кривая 35 (фиг. 3) показывает сигнал на входе 20, кривая 36 - на входе 22, 37 - на входах 18 и 19 данных, 38 - на входах записи блока 13,39 - на входе "+1" счетчика 12 адреса, 40 - на входе записи регистра14, 41 - на выходе счетчика 12 адреса и 42 - на выходе регистра 14,Часть 1 диаграммы показывает операцию считывания информации из внешнего устройства, часть 11 - опера"цию записи инюрмации во внешнееустройство, В состав внешних устройств входят устройства ввода-вы Блок 7 сравнения (фиг. 2) состоитиз трех схем 28 - 30 совпадения, выходной сигнал схем 29 и 30 поступаетна элемент И 31 через элементы ИЛИ32 и 33, а сигнал разрешения работыблока 7 поступает на вход элемента И31 через инвертор 34,Блок 1 реализован в виде набора,тумблеров и состоит из двух различных по построению частей, Первая обеспечивает выдачу информации на входы23, 25, 27 на линии 24 и 26 блокировки, на соответствующие входы элементов И 2 и 4, а также кода, определяющего величину задержки, на третийвход блока 3 управляемой задержки нкода на входы схемы 10 сравнения,вода, специализированные устройства и ОЗУ управляюще-вычислительного комплекса СМ 4 (СМЭ), на примере подключения к которому рассматривается работа предлагаемого устройства для отладки программ.При чтении информации из внешнего устройства УВК СМ 4 процессор вначале (фиг. 3, диаг 1) выставляет адрес на вход 18 и через промежуток времени 61, на линию синхронизации (вход 20), внешнее устройство УВК СМ 4 расшифровывает адрес и выставляет на вход 19 требуемую информацию. Через время д 1 внешнее устройство выдает сигнал на вход 22, по которому процессор УВК воспринимает информацию, снимает сигнал с входа 20, и с зарали и считывание этой информации,работа этой части устройства одинакова для любых режимов прерывания,при этом обеспечивается хранение и .индикация соответствующего объемаинформации, необходимого для успеш- .ной отладки программ,Остальные схемы, входящие в состав устройства, обеспечивают прерывание отлаживаемой программы в интересующем оператора месте. В зависимости от состояния элементов коммутации в блоке 1 устройство фиксируетследующие состояния: обращение к определенному адресу, когда анализнаправления обмена и информации блокируется по линиям 26 и 24; записьв определенный адрес, когда блокиру 1ется сравнение информации; чтение изопределенного адреса; запись определенной информации в определенный адрес, когда блокировка отсутствует;чтение определенной информации изопределенного адреса3 13190 держкой сигналы с входа 18. По отсутствию сигнала на входе 20 внешнее устройство УВК СМ 4 снимает сигналы с входа 22 и входа 19. Правильный адрес существует во время действия сигнала на входе 20, а правильная информация на входе 19 находится во время действия сигнала на входе 22.Таким образом, правильный адрес и информация находятся на магистрали 10 при одновременном действии сигналов на линиях 20 и 22 (д 1, д 1 ).При записи информации во внешнее устройство УВК СИ 4 данное соотноше.ние не нарушается, поэтому запись в 15 блок 13 происходит по выходному сигналу элемента И 16, который вырабатывается по совпадению сигналов на входах 20 и 22Далее строб записи в блок 13 задерживается элементом 15 20 задержки так, что на счетчик 12 адреса (вход "+1") он поступает через время 41 после окончания действия строба записи в блок 13, строб записи в регистр 14 должен начинаться не 25 раньше строба "+1" в счетчик адреса, а заканчиваться с задержкой относительно этого сигнапа, что позволяет фиксировать в регистре 14 последнеесодержимое счетчика 12 адреса 30Таким образом, при обмене через магистраль состояние всех ее линий и подшин (в том числе и линии направления обмена) фиксируется в блоке 13, Состояние линий 20 и 22 одинаково для каждого цикла, поэтому запись информации с этих линий в блок 13 не производится, При каждом последующем обмене через магистраль происходит запись состояния этой магистрали в 40 следующую ячейку блока 13. По достижении максимально возможного адреса счетчик 12 обнуляется и блок 13 начинает заполняться с нулевого адреса. При этом новая инФормация запи сывается.на место наиболее старой, например запись в нулевую ячейку происходит только после записи во все последующие. Таким образом, в блоке 13 хранится информация о последних 50 состояниях магистрали.При считывании оператор воздействует на блок 1, с выхода которого после каждого нажатия оператором соответствующей кнопки выдается одиночный импульс (фиг. 4,.кривая 43), Кривая 44 показывает состояние выходов .счетчика 12 адреса, кривая 45 - вы 38ходной сигнал генератора 6 одиночного сигнала б, кривая 46 - выходнуюинформацию блока 13. Одиночный импульс поступает на вход "+1" счетчика 12 адреса. При этом после первогонажатия устанавливается адрес информации о последнем обмене. При повторном воздействии оператора на выходе блока 13 появляется информация о предпоследнем состоянии магистрали и т.д.После окончания считывания интересующей информации оператор для продолжения отлаживаемой программы воздействует на генератор 6 одиночногосигнала, при этом сбрасывается триггер 5 приостанова, обнуляются счетчик 11 и триггер 8, а в счетчик 12 адреса переписывается информация из регистра 14, а поскольку в этот регистр14 записано последнее состояние счетчика, запись информации в блок 13производится в ту ячейку, в которуюона должна была бы записаться, если бы прерывания не было, Таким образом,достигается полное соответствие между информацией блока 1 З,и процессами, происходящими в магистрали припрогоне отлаживаемой программы, независимо от количества прерываний,режима работы устройства и воздействия оператора на это устройство. Наличие блока 13 с соответствующими схемами управления обеспечиваетзапись информации о состоянии магист 5 13Состояние коммутационных элементов а, Ъ, с блока 1 задает режимы останова: а - 1, Ь, с - безразлично - останов по выходному сигналу блока 7 сравнения (первый режим); а - 2, Ъ - 1, с - останов по прохождению заданного количества циклов обмена через магистраль после выдачи сигнала блоком 7 (второй режим); а - 2, Ь - 2, с - 2 - останов по определенному количеству выходных импульсов блока 7 (третий режим); а - 2, Ъ - 1, с - 2 - Останов по количеству команд после пуска (четвертый режим).В первом режиме останова выходблока 7 непосредственно подключен к входу блока 3 управляемой задержки и останов производится по любому из фиксируемых этим блоком состояний, т.есуществует пять подрежимов.Во втором режиме выход блока 7 подключен к Б-входу триггера 8, а выход схемы 1 О сравнения - к входу блока 3, при этом после появления соответствующего состояния магистрали выходной сигнал блока 7 сравнения устанавливает триггер 8, разрешая прохождение через элемент 19 сигналов синхронизации задатчика с линии 20 на вход счетчика 11. В счетчике происходит подсчет количества обменов через магистраль, по совпадению этого количества с заданным с блока 1 сигнал с выхода схемы 10 сравнения поступает на блок 3 и вызывает останов.19038 6 5 10 15 20 25 30 35 бавляет к содержимому определеннойячейки по единице через соответствующий интервал времени, а в блоке сравнения фиксируется состояние в соответствии с указанным. Изменяя эталон информации, можно устанавливать любой интервал времени, кратный задаваемому таймером, без вмешательства в основную программу.Полностью устройство функционирует следующим образом.Оператор пускает отлаживаемую программу, по магистрали происходят обмены, информация, выдаваемая процессором, сопровождается синхросигналом на входе 20, а информация, выдаваемая внешним устройством, сопровождается сигналом на входе 22, причемистинное состояние магистрали (истинный адрес, истинные информация и направление обмена) начинается раньшеи кончается позже совпадения сигналов на входах 20 и 22. Но совпадению сигналов на входах 20 и 22 состояние магистрали записывается в блок 13,в перерыве между обменами происходитподготовка счетчика 12 адреса и блока 13 к записи следующего состояния магистрали, Запись в блок 13 происходит по циклически изменяющимся адресам, причем новая информация заносится на место наиболее старой, что позволяет хранить в блоке 13 последниесостояния магистрали. В то же время,блок 7 сравнения (третий режим останова) анализирует состояние магистра40 45 50 В третьем режиме счетчик 11 черезэлемент И 9 подключен к выходу блока7, триггер 8 принудительно установлен, т,е. трансляция сигнала элементу И 9 разрешена. При появлении соответствующего состояния магистраливыходным сигналом блока 7 содержимоесчетчика 11 наращивается на единицудо тех пор, пока не срабатывает схема 10 сравнения, сигнал с которойвызывает останов,В четвертом режиме 4 блок 7 сравнения отключен, трансляция сигналовс линии 20 в счетчик 11 разрешена,поэтому происходит останов по заданному с блока 1 количеству циклов обмена по магистрали.Таким образом, предлагаемое устройство позволяет организовать 16видов останова, кроме того, можноорганизовать останов по времени выполнения программы, еспи таймер доли и в зависимости от подрежима фик- сирует одно из ее состояний.Появление искомого состояния приводит к выработке сигнала на выходе блока 7 сравнения, Этот сигнал проходит через элемент И 9 (Ь) на вход счетчика 11, поскольку триггер 8 установлен подачей низкого уровня на вход (с), Счетчик 11 подсчитывает количество выходныХ сигналов блока.7 сравнения, По достижении содержимым этого счетчика 11 состояния, задаваемого с клавиатуры на эталонные входы схемы 10 сравнения, вырабатывается сигнал на соответствующий вход блока 3 управляемой задержки, что приводит к срабатыванию триггера 5 приостанова и прерыванию отлаживаемой программы, После останова(при необходимости считать ийформацию предыдущих состояний магистрали)оператор через блок 1 воздействуетодиночными импульсами на вход "+1"19038 8 10 15 20 25 30 35 40 45 50 55 7 .13 счетчика 12 адреса, при этом последовательно с каждым импульсом индицируется все более раннее состояние магистрали. По окончании чтения блока 13 оператор, если это необходимо, набирает новый режим работы и инициирует с помощью генератора 6 одиночного сигнала дальнейшее исполнение программы. Причем за счет записи по стартовому импульсу информации из регистра 14 в счетчик 12 адреса последовательность состояний магистрали фиксируется в блоке 13 в соответствии с ходом отлаживаемой программы и независимо от действий оператора. Для исключения ложных срабатываний на управляющий вход блока 7 сравнения выдается сигнал с выхода элемента И 16, наличие которого свидетельствует об истинности состояния магистрали. ф о р м у л а изобретения Устройство для отладки программ, содержащее триггер приостанова, генератор одиночного сигнала, блок задания режима отладки, блок оперативной памяти, блок сравнения, три элемента И, блок управляемой задержки, регистр и блок индикации, причем выходы установки адреса блока задания режима отладки соединены с первым информационным входом блока сравнения, адресный вход устройства соединен с вторым информационным входом блока сравнения; тактовый вход устройства соединен с первым входом первого элемента И и тактовым входом блока управляемой задержки, выход которого соединен с первым входом второго элемента И, выход второго элемента И соединен с единичным входом триггера приостанова, выход которого является выходом приостанова устройства, выход генератора одиночного сигнала соединен С нулевым входомтриггера приостанова и первым входом третьего элемента Ивыход которого соединен с первым входомпуска блока управляемой задержки, выход запуска блока задания режима отладки соединен с вторым входом пуска блока управления задержки, выход величины задержки блока задания режима отладки соединен с управляющим входом блока управляемой задержки, первый и второй выходы разрешения останова блоказадания режима отладки соединены свторыми входами соответственно второгф и третьего элементов И, о т -л и ч а ю щ е е с я тем, что, с целью расширения диагностических возможностей устройства при отладке, вустройство введены триггер, схемасравнения, четвертый элемент И, счетчик, элемент задержки и счетчик адреса, причем информационные выходыблока оперативной памяти соединены с входами блока индикации, вход признака наличия информации на входе устройства соединен с вторым входом первого элемента И, выход которого соединен с входом записи блока оперативной памяти, с входом разрешения работы блока сравнения и через элементзадержки с входом записи регистра исчетным входом сложения счетчика адреса, выходы которого соединены с адресными входами блока оперативной памяти и информационными входами регистра, выход генератора одиночногосигнала соединен с нулевым входомтриггера, входом записи счетчика адреса и входом начальной установкисчетчика, выход которого соединен спервыми входами схемы сравнения, выход регистра соединен с информационными входами счетчика адреса, выходзадания количества обменов блока задания режима отладки соединен с вторым входом схемы сравнения, выходкоторой соединен с первым входом останова блока задания режима отладки,выход блока сравнения соединен с вторым входом останова блока задания режима отладки, первый выход остановакоторого соединен с вторым входомчетвертого элемента И, выход признака считывания соединен со счетнымвходом вычитания счетчика адреса,адресный вход устройства соединен спервым информационным входом блокаоперативной памяти, информационныйвход устройства соединен с третьиминформационным входом блока сравнения и вторым инФормационным входомблока памяти, вход признака направления обмена устройства соединен стретьим информационным входом блокапамяти и четвертым информационнымвходом блока сравнения, выходы задания информационных кодов и направления обмена блока задания режима отладки соединены соответственно с пя 9 1319038 1 Отым и шестым инФормационными входами дания режима соединены соответствен=блока сравнения, выходы блокировки но с первым и вторым входами блокиданных и направления обмена блока за- ровки блока сравнения.1319038 фиа Фиг 4 игало оставитель А ехред И.Попо Корректор А. Обруча Редактор О. Буги Тираж б 7 Государстве о делам.изобре Москва, Ж, аказ 2514 одписно ого комитета С ний и открытий НИИПИ 4/ 303 ушская наб. тная, 4 ул. г Производственно-полиграфическое предприятие,
СмотретьЗаявка
4011114, 13.01.1986
ПРЕДПРИЯТИЕ ПЯ А-1943
ВАЙНШТЕЙН ВИКТОР МИХАЙЛОВИЧ
МПК / Метки
МПК: G06F 11/28
Опубликовано: 23.06.1987
Код ссылки
<a href="https://patents.su/7-1319038-ustrojjstvo-dlya-otladki-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для отладки программ</a>
Предыдущий патент: Устройство для контроля цифровых объектов
Следующий патент: Устройство для сопряжения процессора с многоблочной памятью
Случайный патент: Вихревая труба