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

ZIP архив

Текст

(51)5 0 06 Е 11 ЗОБРЕТЕНИЯ ИС АВТО МУ СВИ ЕТЕЛЬСТВУ(71) Конструкторское бюро электроприборостроения(56) Авторское свидетельство СССРМ 943732, кл. 6 06 Е 11/22, 1982.Авторское свидетельство СССРМ 1538757, кл. 0 06 Г 11/22, 1988.(54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ(57) Изобретение относится к вычислной технике, в частности к устройствотладки программ; и может быть испвано в многомашинных вычислите нькин, ерасиительам для ользо- льных Изобретение относится к вычислительной технике, а именно к устройствам для отладки программ, и может быть.использовано в многомашинных вычислительных, комплексах (ВК) для автоматической отладки взаимодействующих, параллельно выполняемых в реальном масштабе времени (РВ) программ,Целью изобретения является расширение области применения устройства для отладки программ за счет обеспечения его работоспособности при отладке произвольного числа взаимодействующих параллельно выполняемых в реальном масштабе времени программ на многомашинных вычислительных комплексах.Сущность изобретения состоит в том, что новая совокупность конструктивных ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР комплексах для автоматической отладки взаимодействующих, параллельно выполняемых в реальном масштабе времени программ. Цель изобретения - расширение области применения за счет обеспечения воэможности совместной отладки произвольного числа взаимодействующих, параллельно выполняемых в реальном масштабе времени программ на многомашинных вычислительных комплексах. Устройство содержит приоритетный шифратор, счетчик, дешифратор, и триггеров регистрации запросов, первый, второй и третий триггеры управления синхронизацией, первый, второй триггеры управления, первый и второй триггеры режима, первый - четвертый элементы ИЛИ, блок элементов ИЛИ, группу из и элементов И, первый - .третий элементы И, одновибратор, 3 ил,признаков позволяет расширить область применения устройства для отладки программ за счет обеспечения возможности совместной отладки взаимодействующих параллельно выполняемых в реальном времени, программ на многомашинных ВК и недопущения ситуаций взаимной блокиров ки (тупика) нескольких ЭВМ ВК в режиме совместной отладки программ.Тупиковая ситуация может возникнуть при отладке программ на многомашинном ВК в том случае, если часть работ по обеспечению отладки должна производиться одной из ЭВМ ВК или внешней инструментальной Э ВМ (И Э ВМ), в модельном (псевдо- реал ьном) масштабе времени. Эти инструментальные операции не должны приводить к рассинхронизации отлаживаемых программ, поэтому, все процессы по отладке программ, которые могут выполняться на фоне инструментальных операций, должны быть остановлены на время выполнения этих операций, В частности, при выполнении инструментальных операций одной из ЭВМ должны быть остановлены остальные ЭВМ (полностью блокированы элементы реально-. го времени во всех ЭВМ ВК и процессоры ЭВМ ВК, за исключением выполняющей инструментальный такт).Таким образом,.при совместной отладке нескольких взаимодействующих параллельно выполняемых программ, предназначенных для последующей работы в реальном масштабе времени, на многомашинном ВК, необходимо: обеспечить синхронную отладку программ в реальном масштабе времени; недопустить возникновение тупиковых ситуаций в процессе отладки программ на многомашинных ВК,Отладка программ на каждой ЭВМ ВК производится в течение рабочего такта, длительность которого определяется логической завершенностью программы, или . потребностью в дополнительных данных для отлаживаемых программ, а также необходимостью выдачи данных во внешнюю (инструментальную) ЭВМ для анализа, чем обуславливается асинхронность их выполнения по отношению к рабочим тактам других ЭВМ ВК.Таким образом, рабочий такт по отладке программы на любой из ЭВМ ВК может быть прерван, на время выполнения вспомогательных операций (инструментальный такт), по сигналу "Конец рабочего такта", выдаваемого любой из ЭВМ ВК. После выдачи указанного сигнала все ЭВМ блокируются, затем осуществляется выбор той ЭВМ, из совокупности требующих выполнения инструментальных операций, которая имеет максимальный приоритет, т.е, ЭВМ с минимальным номером. После этого на процессор выбранной ЭВМ разрешается выдача тактовой сетки для выполнения инструментального такта, По окончании инструментального такта (сигнал "Конец инструментального такта") производится полная блокировка ЭВМ, отработавшей инструментальный такт, и снова, при наличии запросов на выполнение инструментальных тактов, производится приоритетный выбор одной из требующих выполнения инструментальных операций ЭВМ ВК. После за,вершения инструментальных тактов всеми ЭВМ ВК, которым они были необходимы, по очередному сигналу "Конец инструментального такта", (начало рабочего такта) синхронно для всех ЭВМ ВК разрешаетсямасшабе реального времени, на многома 10 шинных ВК, Ввиду того, что рабочие такты, выполня 20 25 30 35 55 40 45 50 разблокировка цепей вы работки последовательностей для синхронизации процессов и элементов реального времени.Таким образом обеспечивается совместная отладка взаимодействующих параллельно выполняемых программ в псевдореальном масштабе времени, предназначенных, в последующем, для работы в емые ЗВМ ВК, асинхроны, возможны ситуации взаимйой блокировки ЭВМ. При возникновении такой ситуации отладка программ становится невозможной. Поэтому с применением предлагаемого устройства для отладки программ такие ситуации допускаются за счет синхронного останова всех ЭВМ ВК и упорядоченного обслуживания выдавших запрос на выполнение инструментальных операций ЭВМ ВК, что обеспечивает автоматизацию процесса отладки.Принцип действия устройства основан на реализации решения задач, перечисленных выше. При этом триггеры режима и триггеры управления выполняют функции по управлению процессом совместной отладки программ на ЭВМ ВК (определяют режимы рабочего, инструментального тактов или полной блокировки).На фиг.1 представлена функциональная схема устройства для отладки программ, а пример схемы его сопряжения с многомашинным ВК и ИЭВМ; на фиг,2 и 3 - временные диаграммы работы устройства,Устройство для отладки программ содержит шифратор 1, счетчик 2, дешифратор 3, и триггеров 4.1-4,п регистрацифапросов .от ЭВМ, триггеры управления синхронизацией 5, 6, управления 7,.8 и удавления синхронизацией 9, первый 10 и второй 11 триггеры режима, элементы ИЛИ 12-15, первый 16 и второй 17 элементы НЕ, блок 18 элементов ИЛИ, группу из и элементов И 19.1 - 19,п, элементы И 20 - 22, одновибратор 23, шины 24 и 25 управления, тактовый вход 26, выход 27 окончания текущего такта отладки программ, выход 28 начала инструментального такта отладки программ, первый 29 и второй 30 разрешающие выходы, выходную адресную шину 31. Рассмотрим назначение элементов предлагаемого устройства для отладки программ (фиг. 1).Шифратор 1 предназначен для преобразования кода, содержащего информацию о запросах от ЭЗМ ВК на выполнение инструментальных операций, в инверсный код, задающий адрес ЭВМ, которая выбирается"Конец текущего инструментального такта" 30и "Конеч такта", или одного только последнего на выходе элемента ИЛИ 14,Элемент НЕ 17 предназначен для фор. мирования путем инвертирования на выходе 28 устройства сигнала "Начало 35инструментального такта", поступающего спервого выхода шифратора 1.Блок 18 элементов ИЛИ предназначендля инвертирования разрядов кода, посту- .пающего с группы выходов А.1-А,щ шифратора 1, с целью выдачи на,выходнуюадресную шину 31 устройства адреса ЭВМ,которая выбирается для выполнения инструментальногоо такта.Элементы И 19.1-19,п предназначены .45для синхронной передачи на выходы а,0 -а.пшифратора 1 информации, хранящейся в триггерах 4.1 - 4.п регистрации.запросов,Элементы И 21, 22 и ИЛИ 15 предназначены для выработки сигналов, разблокирующих триггеры 10 и 11 режима.Входные шины 24 и 25 управленияпредназначены для приема сигналов-запросов от ЭВМ на выполнение инструментальйого или рабочего тактов. Тактовыйвход 26 устройства предназначен для приема тактовых сигналов от задающего гене-.ратора.(в соответствии с установленным приоритетом) для удовлетворения своего запроса,Счетчик 2, дешифратор 3, первый 5, второй 6 и третий 9 триггеры управления синхронизацией, третий элемент И 20, первый элемент НЕ 16 и одновибратор 23 предназначены для выработки серии из шести импульсов, синхронизирующих работу элементов устройства .для отладки программ в процессе обработки одного запроса, поступившего от ЭВМ ВК,Триггеры 4.1-4.п регистрации запросов предназначены для приема, хранения и изменения информации о запросах от ЭВМ ВК на выполнение инструментальных тактов, .Триггеры 7 и 8 управления предназначены для кратковременного хранения сигналов с выходов СЯ и ЕО шифратора 1 соответственно.Триггеры 10 и 11 режима предназначены для формирования на разрешающих выходах 29 и 30 устройства сигналов, задающих режимы работы ЭВМ ВК,Элементы ИЛИ 12 - 14 предназначены для приема сигналов "Конец инструментального такта" и "Конец рабочего такта" соответственно с входных шин 24 и 25 управления и выработки в зависимости от комбинации поступивших: двух сигналов Выходы 27 и 28 предназначены для выдачи в инструментальную ЭВМ сигналов соответственно об.окончании текущего иначале инструментального такта отладки5 программ.,Разрешающие выходы 29 и 30 предназначены для передачи к ЭВМ сигналов, разрешающих выработку синхропоследовательностей,для процессоров и элементов реального времени ЭВМ.Выходная адресная шина 31 устройствапредназначена для передачи к ИЭВМ иЭВМ ВК адреса той ЭВМ, которая выбранаустройством для выполнения инструментального такта.П ри н цип действия, устройства рассмотрим на примере его сопряжения с многомашинным вычислительным комплексом иинструментальной ЭВМ (фиг.2).При необходимости обмена данными. какой-либо из ЭВМ ВК(или нескольким одновременно) с ИЭВМ, формируется (-ются)сигнал (-ы) "Конец рабочего такта" (КРТ), который (-е) поступает(-ют) по шине 25 на входустройства для отладки программ.Приняв этот сигнал, устройство блокирует выдачу на разрешающих выходах 29 и30 сигналов, которые в свою очередь запирают цепи выработки последовательностейсинхронизации процессоров и.синхронизации элементов реального времейи всехЭВМ ВК. Этим производится полный останов работы последних.Сигналы КРТ запоминаются в устройстве, Далее, на основании информации о запросах на выполнение инструментальныхопераций, устройством выбирается наиболее приоритетная ЭВМ из совокупности выдавших сигналы КРТ и по выходнойадресной шине 31 к ЭВМ и ИЭВМ поступаетадрес выбранной ЗВМ.А с выхода 28 устройства к ИЭВМ поступает сигнал "Началоинструментального такта" (НИТ), которыйсигнализирует о начале выполнения инструментальных операций между выбраннойЭВМ и ИЭВМ, Обмен между ними производится по шине 38 данных.После окончания обмена данными программой, выполняемой на ЭВМ, формирует-ся сигнал "Конец инструментального такта"(КИТ), поступающий на шину 24 управленияустройства, Приняв этот сигнал, устройствопосылает с выхода 27 сигйал "Конец текущего инструментального такта" (КТИТ) кИЭВМ, Приняв этот сигнал, ИЭВМ прекращает выполнение инструментальных операций.Снятием сигнала на .разрешающемвыходе 29 устройства блокируются цепивыработки последовательности для синхрониэации процессора ЭВМ, выполнившей инструментальный такт.После этого в устройстве начинается новый цикл обработки запросов на выполнение инструментальных операций. Работа устройства при этом синхронизируется последовательностью импульсов с опорного генератора ИЭВМ, поступающей на тактовый вход 26 устройства.В случае, когда устройство определило, что запросы от ЭВМ на выполнение инструментальных тактов отсутствуют, то на выходной адресной шине 31 формируется код адреса, содержащий все нули, а на разрешающих выходах 29 и 30 устройства формируются сигналы разблокировки цепей выработки последовательностей синхронизации процессоров и элементов реального времени всех ЭВМ. В данном случае возобновляется выполнение рабочего такта по отладке программ, прерванного на время выполнения инструментальных операций.Таким образом, для обеспечения отладки программ в режиме РВ устройством, при выполнении инструментального такта какой-либо из ЭВМ, разблокируются цепи выработки последовательностей синхронизации только процессора выбранной ЭВМ, работа процессоров всех остальных ЭВМ заблокирована,Выработка последовательностей синхронизации элементов реального времени заблокирована для всех ЭВМ, в том числе и для выполняющей инструментальные операции,Возможная ситуация взаимной блокировки двух или нескольких ЭВМ, т.е. возникновения тупиковой ситуации (описана выше), не допускается следующим порядком действия устройства: при поступлении запросов в устройство, блокируется работа всех ЭВМ. Затем выбирается одна ЭВМ из совокупности выдавших запросы. Соответствующий сигнал с выхода устройства разблокирует работу процессора этой ЭВМ, Выполняется инструментальный такт, после чего снимается запрос от этой ЭВМ и ее процессор блокируется. Выполняется обслуживание запроса следующей ЭВМ по приоритету.Когда все запросы от ЭВМ ВК выполнены, сигналами с соответствующих выходов устройства разблокируются процессоры и элементы РВ всех ЭВМ. Работа комплекса по отладке программ в РВ может быть продолжена.Устройство для отладки программ работает следующим образом.Все элементы памяти в исходном положении находятся в нулевом состоянии(цепи начальной установки на чертеже условно непоказаны).На тактовый вход 26 устройства поступает тактовая последовательность импуль 5 сов.Сигналы КРТ с второй входной шины 25управления поступают на входы второгоэлемента ИЛИ 13 и на входы установки вединичное состояние триггеров 4.1-4.п ре 10 гистрации запросов, которые соответствуютномерам (с первой по и-ю) ЭВМ. С выходавторого элемента ИЛИ 13 сигнал поступаетна вход третьего элемента ИЛИ 14, на выходе которого формируется сигнал "Конец так 15 та" (КТ). Этот сигнал поступает на входыустановки в единичное состояние первого10 и второго 11 триггеров режима, переключает их, и на инверсных выходах этих триггеров устанавливаются сигналы низкого20 уровня, поступающие на разрешающие выходы 29 и 30 устройства,Сигнал КТ устанавливает в единичноесостояние второй триггер 6 управления синхронизацией, высоким потенциалом с выхо 25 да которого разрешается переключение вединичное состояние перврго триггера 5 управления синхронизацией, при прохождении через его синхровход заднего фронтаимпульса тактовой последовательности с30 тактового входа 26 устройства.Сигнал с прямого выхода первого триггера 5 управления синхронизацией разрешает прохождение через элемент И 20следующих импульсов тактовой последова-.35 тел ьности на счетный вход счетчика 2 и стробирующий вход дешифратора 3. По каждомуимпульсу с выхода элемента И 20 значениесчетчика 2 увеличивается на единицу, чтообеспечивает формирование на выходах де 40 шифратора 3 по одному импульсу составляющих последовательность синхронизации.Импульсом с первого выхода 32 дешифратора 3 устанавливается в единичное состояние третий триггер 9 управления45 синхронизацией, сигнал с выхода которого,поступая на вторые входы элементов И 19.1 -19 л, разрешает прохождение сигналов с выходом триггеров 4.1 - 4,п регистрациизапросов на соответствующие информацион 50 ные входы а,О-а,пшифратора 1.По очередному тактовому импульсу навтором выходе 33 дешифратора 3 формируется сигнал, который инвертируется первымэлементом НЕ 16 и поступает на управляю 55 щий вход Е 1 шифратора 1, По этому сигналуразрешается занесение кода с входов а,Оа,пдля дальнейшей обработки в шифраторе 1.Если принятый код содержит все единины. что свидетельствует об отсутствии запросов от ЭВМ, то на выходах А.1-А,п шифратора 1 формируется код, содержащий все единицы, он инвертируется блоком элементов ИЛИ 18 и поступает на выходную адресную шину 31 устройства, а на втором выходе ЕО шифратора 1 формируется сигнал, поступающий на вход установки в единичное состояние триггера 8 управления,Если же в коде имеется хотя-бы один ноль, т.е. имеются запросы от ЭВМ, то на выходах А.1-А.п шифратора 1 формируется инверсный код адреса ЭВМ с максимальным приоритетом, а на первом выходе 63- низкий потенциал, поступающий на инверсный 1-вход первого триггера 7 управления и на вход второго элемента НЕ 17, с инверсного выхода которого сигнал поступает на выход 28 устройства.Сигнал с третьего выхода 34 дешифратора 3 задним фронтом обнуляет третий триггер 9 управления синхронизацией, низкий потенциал с выхода которого запирает элеме ты И 19.1 - 19.п., Кр е того,.устанавливается в единичное сос яние первый 7 или второй 8 триггеры уп авления, с прямых выходов которых с алы поступают на первые входы, соответственно первого 21 или второго .22 элементов И.Сигналом с четвертого выхода 35 дешифратора 3 открывается один из элементов И 21 или 22, так как на первом входе одного из них установлен сигнал высокого уровня.Если установлен в единичное состояние триггер 7 управления, то на выходе элемента И 21 формируется сигнал, который через элемент ИЛИ 15 обнуляет триггер 10 режима, с инверсного выхода которого потенциал высокого уровня поступает на первый разрешающий выход 29 устройства.Таким образом иницируется инструментальный такт для обмена информацией между ИЗВМ и ЭВМ, адрес которой установлен на выходной адресной шине 31 устройства,Если же установлен в единичное состояние триггер 8 управления, то на выходе элемента И 22 формируется сигнал, устанавливающий в нулевое состояние триггер 11 режима, а также через элемент ИЛИ.15 триггер 10 режима.На выходах этих триггеров вырабатываются высокоуровневые потенциалы, поступающие на первый и второй разрешающие выходы 29 и 30 устройства. Это означает, что все ЭВМ могут продолжать выполнение рабочего такта.По очередному синхроимпульсу на пятом выходе 36 дешифратора 3 формируется сигнал, устанавливающий в нулевое состояние триггеры 7 и 8 управления.По сигналу с шестого выхода 37 дешифратора 3 одновибратором 23 формируется 5 импульс, по переднему фронту которого устанавливается в нулевое состояние триггер управления синхронизацией, низкий потенциал с выхода которого поступает на О-вход триггера 5.10 По заднему фронту текущего синхроимпульса триггер 5 устанавливается в нулевое состояние и низким потенциалом с прямого выхода запирает элемент И 20, по заднему фронту импульса с выхода одновибратора 15 23 обнуляется счетчик 2. С этого моментаустройство переходит в режим ожидания.Возобновление работы устройства происходит по сигналу КИТ, формируемому в разряде входной шине 24 управления, соот ветствующем ЗВМ, выполнявшей инструментальный такт. При этом обнуляется соответствующий триггер из группы триггеров 4.1 - 4.п, что свидетельствует о снятии удовлетворительного запроса, а на выходе 25 элемента ИЛИ 12 формируется сигналКТИТ, поступающий на выход 27 окончания текущего такта отладки программ, Этим же сигналом, через элемент ИЛИ 14, формируется сигнал КТ,30 Описанная выше последовательностьработы элементов устройства осуществляется при обработке одного запроса от любой ЭВМ комплекса на выполнение инструментальных операций.35 Формула изобретенияУстройство для отладки программ, содержащее первый и второй триггеры режима, первый элемент ИЛИ, выход которого соединен с нулевым входом первого тригге ра режима, о т л и ч а ю щ е е с я тем, что, сцелью расширения области применения устройства за счет обеспечения его работоспособности при отладке взаимодействующих параллельно выполняемых в реальном вре мени программ на многомашинных комплексах, в него дополнительно введены шифратор, счетчик, дешифратор, и триггеров регистрации запросовотЭВМ(п-число ЭВМ в комплексе), первый, второй, третий триг геры управления синхронизацией, первый ивторой триггеры управления, три элемента ИЛИ, два элемента НЕ, блок элементовИЛИ, группа из и элементов И, первый, второй, третий элементы И, одновибратор, при чем первая входная шина управленияотладочной ЗВМ соединена с входом первого элемента ИЛИ и с входами установки в нулевое состояние и триггеров регистрации запросов от ЗВМ, вторая входная шина уп.олвления отладочной ЭВМ подключена квходу второго элемента ИЛИ и к входам установки в единичное состояние и триггеров регистрации запросов от ЭВМ, выходы первого и второго элементов ИЛИ соедине. ны с входами третьего элемента ИЛИ, выход которого соединен с входами установки в единичное состояние первого и второго триггеров режима и второго триггера управления синхронизацией, выход первого элемента ИЛИ является выходом окончания текущего такта отладки устройства, прямые выходы и триггеров регистрации запросов от ЭВМ соединены с первыми входами соответствующих и элементов И группы, вторые входы которых подключены к выходу третьего триггера управления синхронизацией, инверсные выходы и элементов И группы подключены к информационным входам шифратора, управляющий вход которого соединен с выходом первого элемента НЕ, вход которого подключен к второму выходудешифратора, первый выходшифратора соединен с инверсным 1-входом первого триггера управления и с входом второго элемента НЕ, выход которого является выходом начала инструментального такта отладки программ устройства, второй выход шифратора соединен с инверсным 1-входом второго триггера управления, синхровходы первого и второго триггеров управления подключены к третьему выходу дешифратора, а выходы установки в нулевое состояние триггеров управления соединены с пятым выходом дешифратора; прямые выходы первого и второго триггеров управления соединены соответственно с первыми входами первого и второго элементов И, вторые входы которых подключены к четвертому выходудешифратора, выходы первого и второго элементов И соединены соответственно с первым и вторым входами четвертого элемента ИЛИ, инверсный выход первого 5 триггера режима подключен к первому разрешающему выходу устройства, выход второго элемента И соединен с входом установки в нулевое состояние второго триггера режима, инверсный выход которо го подключен к второму разрешающему выходу устройства, группа выходов шифратора соединена с группой входов блока элементов ИЛИ, группа инверсныхвыходов которого подключена к выходной 15 адресной шине устройства для подключения к отлаживаемой ЭВМ, тактовый вход устройства соединен с синхровходом первого триггера управления синхронизацией и с первым входом третьего элемента И, 20 О-вход первого триггера управления синхронизацией соединен с выходом второго триггера управления синхронизацией, выход первого триггера управления синхронизацией соединен с вторым входом 25 третьего элемента И, выход которого соединен со стробирующим входом дешифра-тора и со счетным входом счетчика, выходы которого подключены к информационным входам дешифратора, первый 30 выход которого подключен к входу установки в единичное состояние третьего триггера управления синхронизацией, вход установки в "0" которого соединен с третьим выходом дешифратора, шестой 35 выход дешифратора через одновибраторсоединен с входом установки в "0" счетчика и синхровходом и к-входом второго триггера управления синхронизацией,1742822 ВхЯ К 7 Тгб Тг 5 И 20 ат/г Седактор В.Бугренкова Т КорректорЛ.Бескид аказ 2286 Тираж Подписное ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР 113035, Москва, Ж, Рауаская наб., 4/5 оизводственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина, 1 Т 9 РВСЭЕ Т 7/8

Смотреть

Заявка

4815962, 17.04.1990

КОНСТРУКТОРСКОЕ БЮРО ЭЛЕКТРОПРИБОРОСТРОЕНИЯ

ЧЕРНЫШОВ МИХАИЛ АНАТОЛЬЕВИЧ, БЕК АЛЕКСАНДР ВЛАДИМИРОВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ, ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ, ГЕРАСИМЕНКО ВИКТОР ВЛАДИМИРОВИЧ, ПИЛИПЕЦ ВЛАДИМИР РОМАНОВИЧ

МПК / Метки

МПК: G06F 11/28

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

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

Код ссылки

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

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