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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении устройств отладки программ специализированных ЦВМ. Цель изобретения - расширение функциональных возможностей устройства. Устройство для отладки программ содержит блок 1 памяти, триггер 2 требования прерывания, триггер 3 признака прерывания, триггер 4 работы, триггер 5 останова по адресу, первый 6 и второй 7 блоки сравнения, элемент И-ИЛИ 8, первый 9, второй 10, третий 11, четвертый 12 и пятый 13 элементы И и элемент И-НЕ 14. Новыми в устройстве являются триггер 3 признака прерывания, триггер 4 работы, триггер 5 останова по адресу, первый 6 и второй 7 блоки сравнения, третий 11, четвертый 12 и пятый 13 элементы И и элемент И-НЕ 14. 1 ил.Jt".слс•ч о юСА)ю!0

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (л)ю G 06 F 11/28

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ 4

C)

О

Ю

1(Ъ

1 (21) 4798134/24 (22) 16.01.90 (46) 30.01.92. Бюл. М 4 (71) Конструкторское бюро электроп риборостроения (72) В.П.Супрун, M.À.×åðíûøoB и О.Н.Фоменко (53) 681.3 (088.8) (56) Патент США.М 3935563, кл. 340-172.5, 1975.

Авторское свидетельство СССР

N- 1137472, кл. G 06 F 11/26, 1983. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ (57) Изобретение относится к автоматике и вычислительной технике и может быть ис„„SU „„1709320 А1 пользовано при построении устройств отладки программ специализированных ЦВМ.

Цель изобретения — расширение функциональных возможностей устройства, Устройство для отладки программ содержит блок 1 памяти, триггер 2 требования прерывания, триггер 3 признака прерывания, триггер 4 работы, триггер 5 останова по адресу, первый 6 и второй 7 блоки сравнения, элемент

И вЂ” ИЛИ 8, первый 9, второй 10, третий 11, четвертый 12 и пятый 13 элементы И и элемент И вЂ” НЕ 14. Новыми в устройстве являются триггер 3 признака прерывания, триггер 4 работы, триггер 5 останова Ro адресу, первый 6 и второй 7 блоки сравнения, третий 11, четвертый 12 и пятый 13 элементы И и элемент И вЂ” НЕ 14. 1 ил.

1709320

Изобретение относится к автоматике и вычислительной технике и может быть использовано при отладке программ специализированных ЦВМ, содержащие в своем составе штатные или отладочные запоминающие устройства.

Известно устройство для отладки программ; содержащее соответствующим образом соединенные между собой наладочный запоминающий блок, блок приема и выдачи чисел и команд, блок формирования адреса, блокуправления, регистр режима программы и триггер управления таймерами, Известно также устройство для отладки программ, содержащее генератор тактовых импульсов, рабочие регистры, счетчик команд, блок памяти программ, блок формирования адресов, блок коммутации и блок управления.

Наиболее близким к предлагаемому является устройство для отладки программ, содержащее соответствующим образом соединенные между собой блок памяти, триггер (требования прерывания), группу элементов И, группу элементов ИЛИ, шифратор команды "Останов", первый и второй элементы И и первый и второй элементы задержки.

Недостатками этого устройства являются ограниченные функциональные возможности при больших аппаратных затратах и низком быстродействии.

Большие аппаратные затраты обуслов лены необходимостью использования группы элементов И и группы элементов ИЛИ, шифратора команды оетанов и двух элементов задержки, а также необходимостью использования в блоке памяти дополнительного разряда, который приводит к тем больше дополнительным аппаратным затратам, чем больший объем памяти используется в устройстве. Кроме того, при использовании стандартных БИС ЗУ с организацией МК х и разрядов для построения блоков памяти с организацией m x MK x N разрядов, где N кратно и, дополнительными затратами сверх оговоренных выше будет оборудование запоминающее m МК х (n — 1) разрядов памяти.

Низкое быстродействие определяется, во-первых, необходимостью размещения в цепи передачи информации от блока памяти групп элементов И и ИЛИ по одной цепи и триггера, элемента И, шифратора и группы элементов ИЛИ вЂ” подругой цепи, Во-вторых, использование элементов задержки для передачи сигналов с учетом синхронизации работы соответствующих элементов устройства увеличивает время цикла работы блока памяти, т,е. снижает быстродействие устройства в целом, 5

Ограниченные функциональные возможности устройства вызваны тем, что при исполнении блока памяти в виде постоянного ЗУ, в котором требуется скорректировать программу либо из-за ошибок в ней, либо из-за изменения исходных данных и условий эксплуатации, данное устройство не позволяет динамически корректировать неверные участки программ даже при наличии в блоке памяти модулей оперативной памяти.

Цель изобретения — расширение функциональныхых возможностей устройства.

Поставленная цель достигается тем, что в устройство для отладки программ, содержащее блок памяти, триггер требования прерывания, элемент 2И вЂ” ИЛИ и первый и второй элементы И, причем группы информационных, адресных входов и входов условия обращения устройства соединены с группами одноименных входов блока памяти, выход триггера требования прерывания соединен с первым входом первого элемента И, дополнительно введены триггер признака прерывания, триггер работы, триггер останова по адресу, первый и второй блоки сравнения, третий, четвертый и пятый элементы И, и элемент И вЂ” НЕ, причем группа выходов блока памяти соединена с группой информационных выходов устройства, группа адресных входов и группа входов условия обращения устройства соединены с первыми группами входов соответственно первого и второго блоков сравнения, вторые группы входов которых соединены с группой входов задания адреса устройства, выходы первого и второго блоков сравнения соединены с первым и вторым входами второго элемента И, выход которого соединен с установочным входом триггера останова по адресу, входы разрешения останова по команде "Останов" и разрешения останова по адресу группы входов признаков останова устройства соединены соответственно с первым входом первого элемента И элемента 2И вЂ” ИЛИ и третьим входом второго элемента И, выход элемента 2 И вЂ” ИЛИ соединен с установочным входом триггера требования прерывания, нулевой выход триггера признака прерывания и выход триггера останова по адресу соединены соответственно с первым и вторым входами второго элемента И элемента 2 И вЂ” ИЛИ, вход сброса устройства соединен с первыми входами сброса триггера требования прерывания и триггера работы и с входом сброса триггера останова по адресу, информационный вход и синхровход которого подключены соответственно к шине нулевого потенциала устройства и к выходу

1709320 элемента И вЂ” НЕ, вход микрооперации конца режима группы входов микроопераций устройства соединен с первым входом элемента И-НЕ, входы микроопераций конец команды и "Останов" группы входов микроопераций устройства соединен с третьим входом второго и вторым входом первого элементов И элемента 2 И-ИЛИ, вход микрооперации конец восстановления слова состояния программы соединен с первыми входами третьего и четвертого элементов И, первый синхровход группы синхровходов устройства соединен с вторым входом первого элемента И, выход которого подключен к установочному входу триггера признака прерывания, второй синхровход группы синхровходов устройства соединен с первым входом пятого и четвертым входом второго элементов И, третий синхровход группы синхровходов устройства соединен с вторыми входами четвертого элемента И и элемента И вЂ” Н Е и с третьим входом первого элемента И элемента 2 И вЂ” ИЛИ, четвертый синхровход группы синхровходов устройства соединен с вторым входом третьего элемента И, выход которого соединен с входом сброса триггера признака прерывания, единичный выход триггера признака прерывания подключен к выходу признака прерывания по останову устройства и соединен с вторым входом пятого и третьим входом четвертого элементов И, выходы которых соединены соответственно с вторыми входами сброса триггера требования прерывания и триггера работы, вход пуска устройства соединен с установочным входом триггера работы, выход которого является выходом "Стоп-работа" устройства, выход триггера требования прерывания является выходом требования прерывания устройства, вход признака основной работы устройства соединен с четвертым входом четвертого элемента И.

Сущность изобретения заключается в расширении функциональных возможностей устройства, Во-первых, за счет переменной настройки устройства на режим останова с прерыванием либо прерывания без останова в режиме основной работы устройства по заданному адресу блока памяти и, во-вторых, при использовании данного режима для динамической коррекции программ, расположенных в модулях постоянной памяти и наличии модулей оперативной памяти в блоке памяти устройства.

Сущность изобретения реализуется введением в него триггеров признака прерывания, работы и останова по адресу, первого и второго блоков сравнения элемента

И вЂ” НЕ и третьего„четвертого и пятого эле5

55 ментов И и соответствующих связей этих элементов и узлов между собой и с известными элементами и узлами устройства.

Положительный эффект достигается тем, что возможность прерывания по задаваемым извне кодам, определяющим адрес прерывания, позволяет, во-первых, оперативно изменять (перезадавать) адреса прерываний (останова), если программа располагается в модулях постоянной памяти блока памяти устройства, во-вторых, эти прерывания могут быть использованы для динамической коррекции участков программ по причине ошибок в программах или изменения исходных данных, связанные с изменением условий эксплуатации устройства, На чертеже представлена функциональная схема устройства.

Устройство для отладки программ содержит блок 1 памяти, триггер 2 требования прерывания, триггер 3 признака прерывания, триггер 4 работы, триггер 5 останова по адресу, первый 6 и второй 7 блоки сравнения, элемент 8 И вЂ” ИЛИ, первый 9, второй 10, третий 11, четвертый 12 и пятый 13 элементы И и элемент 14 И вЂ” НЕ.

Кроме того, обозначены группа 16 адресных входов устройства, группа 15 информационных входов устройства, группа 17 входов условия обращения устройств, группа 18 входов задания адреса устройства и ее первая 18.1 и вторая 18.2 части, группа 19 входов признаков останова устройства, включающая "Вход" 19.1 разрешения останова по команде "Останов" и вход

19.2 разрешения останова по адресу, группа

20 входов микроопераций, включающая вход 20.1 микрооперации конец режима, вход 20.2 микрооперации конец команды, вход 20.3 микрооперации "Останов" и вход

20.4 микрооперации конец восстановления слова состояния программы (ССП), группа

21 синхровходов устройства, включающая первый 21.1, второй 21.2, третий 21.3 и четвертый 21.4 синхровходы, вход 22 сброса устройства, вход 23 пуска устройства, группа 24 информационных выходов устройства, выход 25 требования прерывания устройства, выход 26 признака прерывания по останову устройства, выход 27 "Стоп-работа" устройства и вход 28 признака основной работы устройства.

При этом группы 15 информационных, 16 адресных входов и 17 входов условия обращения устройства соединены с группами одноименных входов блока 1 памяти.

Выход триггера 2 требования прерывания соединен с первым входом первого элемента 9 И.

1709320

Группа выходов блока 1 памяти соединена с группой 24 информационных выходов устройства. Группа 16 адресных входов и группа 17 входов условия обращения устройства соединены с первыми группами входов соответственно первого 6 и второго

7 блоков сравнения, вторые группы входов которых соединены с первой 18.1 и второй

18.2 частью группы 18 входов задания адреса устройства, Выходы первого 6 и второго

7 блоков сравнения соединены с первым и вторым входами второго элемента 10 И, выход которого соединен с установочным входом S триггера 5 останова по адресу.

Входы 19.1 разрешения останова по команде "Останов" и 19.2 разрешения останова по адресу группы 19 входов признаков останова устройства соединены соответственно с первым входом первого вентиля элемента 8 И-ИЛИ и третьим входом второго элемента 10 И. Выход элемента 8 И вЂ” ИЛИ соединен с установочным входом S триггера

2 требования прерывания.

Нулевой выход триггера 3 признака прерывания и выход триггера 5 останова по адресу соединены с первым и вторым входами второго вентиля элемента 8 И вЂ” ИЛИ.

Вход сброса 22 устройства соединен с первыми входами R сброса триггера 2 требования прерывания и триггера 4 работы и с входом R сброса триггера 5 останова по адресу, информационный вход D и синхровход С которого подключены соответственно к шине нулевого потенциала и к выходу элемента 14 И вЂ” НЕ, Группа 20 входов микроопераций устройства входом 20.1 микрооперации конца режима соединена с первым входом элемента 14 И вЂ” НЕ, входами микроопераций

20.2 конец команды и 20.3 "Останов" соединена с третьим входом второго и вторым входом первого вентилей элемента 8 И—

ИЛИ, входом 20,4 микрооперации конец восстановления слова состояния программы — с первыми входами третьего 11 и четвертого 12 элементов И, Первый синхровход 21.1 группы 21 синхровходов устройства соединен с вторым входом первого элемента 9 И, выход которого подключен к установочному входу S триггера 3 признака прерывания. Второй синхровход 21.2 группы 21 синхровходов устройства соединен с первым входом пятого 13 и четвертым входом второго 10 элементов И, Третий синхровход21.3 группы 21 синхровходов устройства соединен с вторыми входами четвертого элемента 12 И и элемента 14 И вЂ” НЕ и с третьим входом первого вентиля элемента 8 И вЂ” ИЛИ. Четвертый синхровход 21,4 группы 21 синхровходов уст5

55 ройства соединен с вторым входом третьего элемента 11 И, выход которого соединен с входом R сброса триггера 3 признака прерывания. Единичный выход триггера 3 признака прерывания подключен к выходу 26 признака прерывания по остановуустройства и соединен с вторым входом первого 9 и третьим входом четвертого 12 элементов И, выходы которых соединены с вторыми входами сброса R триггера 2 требования прерывания и триггера 4 работы. Вход 23 пуска устройства соединен с установочным входом S триггера 4 работы, выход которого подключен к выходу 27 "Стоп-работа" устройства. Выход триггера 2 требования прерывания соединен с выходом 25 требования прерывания устройства. Вход 28 признака основной работы устройства соединен с четвертым входом четвертого элемента 12 И.

Перед описанием работы устройства для отладки программ в целом опишем назначение и работу отдельных элементов, блоков и узлов устройства.

Блок 1 памяти предназначен для приема, хранения и выдачи информации (кодов, чисел и команд) во время работы устройства, в том числе и в режимах отладки программ. Адрес ячейки блока 1 памяти для записи или считывания информации поступает по группе 16 адресных входов устройства, а управляющие сигналы — по группе 17 входов устройства. При записи информации в блок 1 памяти информация поступает по группе 15 информационных входов устройства, а при считывании — выдается на группу

24 информационных выходов устройства.

В составе команд программ, хранимых в блоке 1 памяти, используется команда

"Останов", выполняемая как "Холостая команда" (NOP), не имеющая микрооперацию

"Останов". Поскольку команда "Останов" является "пустой" командой, в смысле выполнения логической нагрузки для ЦВМ, то она является одноцикловой, т.е, имеет только одну микрокоманду, обеспечивающую только выборку из блока 1 памяти очередной команды. Поэтому при выполнении команды "Останов" в устройство будут поступать сигналы микроопераций по входам 20.1 "Конец режима" и по входам 20.2

"Конец команды", являющихся принадлежностью последней микрокоманды микропрограммы (в команде "Останов" микропрограмма имеет только одну микрокоманду, являющуюся как первой, так и последней), а также по входу 20.3 "Останов", идентифицирующему выполнение команды

"Останов".

Триггер 2 требования прерывания предназначен для формирования на одноимен1709320

10 ном выходе 25 требования прерывания сигнала требования прерывания длительностью не более одного цикла (времени выполнения одной микрокоманды, т.е. одного периода поступления синхросигналов на группу 21 синхровходов). При этом сигнал требования прерывания на выходе 25 устройства формируется, во-первых, только при выполнении соответствующих условий, и, во-вторых, только в последней микрокоманде микропрограммы. Такими условиями являются наличие сигналов микроопераций

"Останов" и "Конец команды" (на входах

20.3 и 20.2 устройства), сигналов на входах

19.1 разрешения по команде останов и на входах 19.2 разрешения останова по адресу и совпадение сигналов и кодов на входах 17 и 16, с одной стороны, и на входах 18.2 и 18,1 устройства, с другой стороны.

Кроме того, дополнительным условием включения триггера 2 требования прерывания по совпадению адресов является нулевое состояние триггера 3 признака прерывания.

Таким образом, при наличии на выходе триггера 2 требования прерывания происходит прерывание хода основной работы устройства и переход в режим выполнения служебной (не являющейся принадлежностью режима основной работы, выполняемой в том числе и в режиме реального времени) программ, также размещенной в блоке 1 памяти.

Поскольку сигнал на выходе 25 устройства не превышает длительности одного цикла работы устройства, а в ЦВМ,отладка программ которой обеспечивает данное устройство, должна, во-первых, идентифицироваться причина прерывания и, во-вторых, должны быть заблокированы элементы реального времени (таймеры и т.д.) на время выполнения служебной программы, то после включения триггера 2 требования прерывания всякий раз включается триггер 3 признака прерывания, единичное состояние которого, во-первых, поступает на выход 26 устройства (для идентификации причины прерывания и останова элементов реального времени в ЦВМ), во-вторых, обеспечивает выключение триггера 2 требования прерывания и блокирует его включение при возможном включении триггера 5, чтобы исключить возможность зацикливания служебной программы (команда "Останов" в служебной программе отсутствует), и, втретьих, вырабатывает условие для останова устройства по окончании служебной программы.

Чтобы не нарушать последовательность выполнения команд основной программы, 40

Поскольку микропрограммы ЦВМ являются как одноцикловыми, так и многоцикловыми и заданное совпадение адресов может произойти в любом цикле микропрограммы, а включение триггера 2 требования прерывания производится только в последнем цикле микропрограммы, то включение состояния триггера 5 удерживается до последнего цикла любой микропрограммы, т.е. до последней микрокоманды микропрограммы, в которой вырабатывается микрооперация "Конец режима", поступающая на вход

20.1 устройства и обеспечивающая безусловное включение триггера 5 останова по адресу (при совпадении сигналов на входах

20,1 и 20.3 устройства срабатывает элемент

14 И вЂ” НЕ и сформирует синхросигнал низкого уровня на синхровходе С триггера 5 и триггер 5 переключится в нулевое состояние, поскольку его информационный вход 0 подключен к шине нулевого потенциала).последняя команда служебной программы восстанавливает ССП перед остановом устройства, т.е. приводит устройство к состоянию, которое оно занимало на момент

5 выполнения команды "Останов". Признаком последней микрокоманды команды восстановления ССП является сигнал микрооперации "Конец восстановления

ССП", поступающий на вход 20.4. По сигна10 лу данной микрооперации производится выключение триггера работы, после чего производится выключение триггера 3 признака останова, т.е. устройство переведено в состояние "Стоп" (на выходе 27 "Стоп — ра15 бота" устройства отсутствует сигнал).

Включение устройства в работу (перевод его в состояние "Работа" ) производится сигналом, поступающим на вход 23 пуска устройства и включающим триггер 4 работы.

20 Из этого следует и назначение триггера 4 работы — определять состояние работы или останова ЦВМ, отладку программ которой обеспечивает предлагаемое устройство.

Триггер 5 останова по адресу предназ25 начен для фиксации возникающего совпадения адресов, по которым производится обращение к блоку 1 памяти, с кодами. задаваемыми на входах 18.1 устройства и условий обращения по данным адресам

30 (считывание или запись, команда на число, определяемых состоянием на входе 17 ус=ройства) с кодами на входе 18.2 устройства, при наличии разрешающего сигнала на входе 19.2 разрешения останова по адресу уст35 ройства, При выполнении данных условий в момент появления синхросигнала на синхровходе 21.2 устройства сработает элемент

10 И и включит триггер 5 останова по адресу.

1709320

30 санным

50

Первый блок 6 сравнений предназначен для сравнения адресов, поступающих в блок 1 памяти с кодами, задаваемыми на первой части 18.1 входов группы 18 входов задания адреса устройства.

Второй блок 7 сравнения предназначен для сравнения сигналов управления блоком

1 памяти с сигналами, заданными на второй части 18.2 входов группы 18 входов задания адреса устройства.

Это позволяет возможным произвести останов выполнения программы не только при достижении ее заданного адреса, но и сделать этот останов условным, например только по считыванию или только по записи и т.п.

Элемент 8 И вЂ” ИЛИ предназначен для включения триггера 2 требования прерывания при выполнении соответствующихусловий, определяющих необходимость останова устройства при отладках программ.

Элемент 13 И обеспечивает выключение триггера 2 требования прерывания при включенном состоянии триггера 3 признака прерывания.

Элемент 9 И обеспечивает включение триггера 3 признака прерывания при включенном состоянии триггера 2 требования прерывания.

Элемент 11 И обеспечивает выключение триггера 3 признака прерывания в последнем цикле последней команды служебной программы после восстановления ССП, Элемент 12 И предназначен для выключения триггера 4 работы перед выключением триггера 3 признака прерывания (при единичном состоянии триггера 3 признака прерывания и наличии микрооперации "Конец восстановления ССП" на входе 20, 4 устройства), если на вход 28 признака основной работы устройства подан высокий уровень сигнала. Признаком работы устройства в режиме отладки, когда допускается выключенное состояние триггера 4 работы, является высокий уровень сигнала на входе 28 устройства, Признаком основной работы устройства, когда его останов недопустим, т.е, когда не допустимо выключение триггера 4 работы, является низкий уровень сигнала на входе 28 устройства, запрещающий срабатывание элемента 12 И, В этом случае работа триггеров 2 и 3 производится аналогично выше изложенному, что обеспечивает прерывание работы устройства, но, во — первых, элементы реального времени в ЦВМ не останавливаются (низкий уровень сигнала на входе 28 устройства указывают на то, что протекает основная работа устройства) и, во — вторых, прерывающая программа является не служебной, а основной и именно той, которая заменяет некорректный участок основной программы. Это режим работы устройства называется режимом динамической коррекции программы. Определение участка программы, которой нужно выполнить не так, как заложено в основной программе, а так как заложено вкорректирующей программе,,задается соответствующим кодом на группе

18 входов задания адреса устройства.

Назначение элемента 10 И и элемента

14 И вЂ” НЕ описано выше, Поскольку команды "Останов" могут не исключаться из тела программы и при выполнении основной работы устройства, то в режимах основной работы либо в режимах отладки, когда требуется выполнять остановы только по адресам, задаваемым на входе

18 устройства, на вход 19.1 разрешения останова по команде "Останов" группы 19 входов признаков останова подается низкий уровень сигнала, обеспечивающий выполнение команды "Останов" как холостой команды без останова работы устройства, При единичном уровне сигнала на входе 19.1 устройства реакции устройства на команду

"Останов" происходит в соответствии с опиНа вход19.2 разрешения останова по адресу группы 19 входов признаков останова подается единичный сигнал только, если в режиме отладки программ требуется использовать возможность останова по адресам и условиям, задаваемым на группе 18 входов задания адреса устройства, либо, если в режиме основной работы устройства требуется осуществление коррекции некорректных участков программ (динамическая коррекция программ). Во всех остальных случаях на входе 19,2 устройства присутствует нулевой сигнал, блокирующий остановы (прерывания) по заданным адресам.

Назначение микроопераций группы 20 входов микроопераций устройства описано выше. Следует добавить лишь то, что отличие микроопераций "Конец режима" (вход

20.1) и "Конец команды" (вход 20.2) заключается в том, что микрооперация "Конец команды" вырабатывается только в последних микрокомандах команд программы, а "Конец режима" — как в последних микрокомандах последних, так и в последних микрокомандах всех микропрограмм возможных режимов (прерывание, прямой доступ к памяти и т.п.). Эта необходимость вызвана тем, что, например, если произведена настройка на останов (динамическую коррекцию) по соответствующему адресу в

1709320

10

15 программе, то останов (динамическая коррекция программ) должен производиться только при выполнении команд программ, а не во время обмена с соответствующей ячейкой блока 1 памяти в режиме прямого доступа к памяти (ПДП), Поэтому, если в режиме ПДП произошло сравнение адресов и триггер 5 останова по адресу был включен в единицу, то отсутствие микрооперации "Конец команды" не позволяет включить триггер 2 требования прерывания, а микрооперация "Конец режима" приведет к выключению триггера 5 останова по адресу.

Очередность следования синхросигналов один за другим, поступающим на группу

21 синхровходов устройства, соответствует возрастанию номеров их входов от 21,1 до

21.4, причем для увеличения быстродействия работы синхросигналы, поступающие на входы 21.2 и 21.3, могут перекрывать друг друга, Устройство работает следующим образом.

Приведение элементов памяти устройства (триггеры 2 — 5) в исходное нулевое состояние производится сигналом, поступающим на вход 22 сброса устройства, а запуск устройства в работу — сигналом, поступающим на вход 23 пуска и включающим триггер 4 работы.

Программы и данные в блок 1 памяти занесены путем подачи информации и адресов на входы 15 и 16 и управляющих сигналов (обращение и запись) на вход 17 устройства, В режиме отладки программ считывание команд программ и данных на выход 24 устройства производится путем подачи соответствующих кодов и сигналов на входы блока 1 памяти.

В заданных местах программы размещена описанная выше команда "Останов".

Кроме того, заданный участок программы помечается кодом адреса команды (числа) и соответствующим признаком останова, задаваемым на группе 18 входов задания адреса устройства. Если в теле программы встречается команда "Останов" либо достигнут соответствующий адрес памяти, производится как описано выше, включение триггера 2, формирующего сигнал требования прерывания на выходе 25 устройства и включение триггера 3 признака прерывания, идентифицирующего причину прерывания и блокирующего элементы реального времени в ЦВМ, которая переходит к выполнению служебной программы обслуживания прерывания. Данная программа производит выведение на индикацию либо

55 на печать состояние требуемых элементов памяти ЦВМ (состав и объем индицируемых элементов памяти задается произвольно в служебной программе). Служебная и рограмма заканчивается восстановлением состояния ЦВМ, предшествующего прерыванию (восстановление ССП), и производится останов устройства для анализа выведенной информации и коррекции (отладки) соответствующих фрагментов программ.

В режиме основной работы на входах

19.1 и 28 устройства имеются нулевые сигналы, поэтому устройство не реагирует на команды "Останов" и не разрешает выключать триггер 4 работы.

При наличии в теле программы некорректных фрагментов в модули оперативной памяти блока 1 памяти могут быть занесены (в том числе и в процессе эксплуатации) исправленные фрагменты этих программ. Тогда на вход 18 устройства задается код соответствующего адреса, а на вход 19.2 — единичный сигнал. Это обеспечивает перед выполнением некорректного участка программы произвести прерывание, выполнение корректной подпрограммы и возврат кпрерванной программе в обход некорректного ее фрагмента.

Таким образом, предлагаемое устройство позволяет при отладках программ увеличить двукратно быстродействие его работы, сократить аппаратные затраты и расширить функциональные возможности устройства, в том числе использовать оборудование устройства для динамической коррекции некорректных программ в режиме основной работы, что дополнительно повышает надежность специализированных ЦВМ, испол ьзующих дан ное устройство.

Формула изобретения

Устройство для отладки программ, содержащее блок памяти, триггер требования прерывания, элемент 2И вЂ” ИЛИ и первый и второй элементы И, причем группы информационных, адресных входов и входов условия обращения устройства соединены с группами одноименных входов блока памяти, выход триггера требования прерывания — с первым входом первого элемента И, о тл и ч а ю щ е е с я тем, что, с целью расширения функциональных возможностей устройства путем обеспечения динамической корректировки неверных участков программы, в него дополнительно введены триггер признака прерывания, триггер работы, триггер останова по адресу, первый и второй блоки сравнения, третий, четвертый и пятый элементы И и элемент И вЂ” НЕ, причем группа выходов блока памяти соедине1709320

50

Составитель В.Супрун

Техред M.Ìîðãåíòàë Корректор М.Кучерявая

Редактор А.Долинич

Заказ 426 Тираж Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., 4/5

Производственно-издательский комбинат "Патент", r. Ужгород, ул,Гагарина, 101 на с группой информационных выходов устройства, группа адресных входов и группа входов условия обращения устройства — с первыми группами входов соответственно первого и второго блоков сравнения, вторые группы входов которых соединены с группой входов задания адреса устройства, выходы первого и второго блоков сравнения соединены с первым и вторым входами второго элемента И, выход которого соединен с установочным входом триггера останова по адресу, входы разрешения останова по команде "Останов" и разрешения останова по адресу группы входов признаков останова устройства соединены соответственно с первым входом первого элемента И элемента 2И вЂ” ИЛИ и третьим входом второго элемента И, выход элемента 2И вЂ” ИЛИ соединен с установочным входом триггера требования прерывания, нулевой выход триггера признака прерывания и выход триггера останова по адресу соединены соответственно с первым и вторым входами второго элемента И элемента 2И вЂ” ИЛИ, вход сброса устройства соединен с первыми входами сброса триггера прерывания и триггера работы и с входом сброса триггера останова по адресу, информационный вход и синхровход которого подключены cooTBGTcTBGHно к шине нулевого потенциала устройства и к выходу элемента И вЂ” НЕ, вход микрооперации конца режима группы входов микроопераций устройства соединен с первым входом элемента И вЂ” НЕ, входы микроопераций "Конец команды" и "Останов" группы входов микроопераций устройства соединены с третьим входом второго и вторым входом первого элементов И элемента

2И вЂ” ИЛИ, вход микрооперации "Конец вос5 становления слова состояния программы" соединен с первыми входами третьего и четвертого элементов И, первый синхровход группы синхровходов устройства соединен с вторым входом первого элемента И, выход

10 которого подключен к установочному входу триггера признака прерывания, второй синхровход — с первым входом пятого и четвертым входом второго элементов И, третий синхровход — с вторыми входами четвертого

15 элемента И и элемента И вЂ” НЕ и с третьим входом первого элемента И элемента 2И—

ИЛИ, четвертый синхровход — с вторым входом третьего элемента И, выход которого соединен с входом сброса триггера призна20 ка прерывания, единичный выход триггера признака прерывания подключен к выходу признака прерывания по остановуустройства и соединен с вторым входом пятого и третьим входом четвертого элементов И, вы25 ходы которых соединены соответственно с вторыми входами сброса триггера требования прерывания и триггера работы, вход пуска устройства соединен с установочным входом триггера работы, выход которого яв30 ляется выходом "Стоп работа" устройства, выход триггера требования прерывания является выходом требования прерывания устройства, вход признака основной работы устройства соединен с четвертым входом

35 четвертого элемента И.