Авторы:

М. Е. Неменман В. Я. Пыхтин В. А. Мальцева А. С. Самарский Е. Е. Мал вский В. В. Торикашвили
М. Е. Неменман В. Я. Пыхтин В. А. Мальцева А. С. Самарский Е. Е. Мал вский В. В. Торикашвили

УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ

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



“2;^
Союз Советских Социалистических Республик

Комитет по делам изобретений и открытий при Совете Министров СССР

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

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

Зависимое от авт. свидетельства № Заявлено 21.IV.1969 (№ 1329070/18-24)
с присоединением заявки № —

Приоритет -—
Опубликовано 22.VII.1970. Бюллетень № 24 Дата опубликования описания З.Х1.1970

277410

Кл. 42т», 9/00

МП к б 061 9/00 УДК 681.326.3(088.8)

Авторы
изобретения М. Е. Неменман, В. Я. Пыхтин, В. А. Мальцева, А. С. Самарский,
Е. Е. Малявский и В. В. Торикашвили

Заявитель

УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ

1
Изобретение относится к области вычислительной техники.
В современных ЭЦВМ процесс отладки программ требует затраты большого количества
машинного времени и, кроме того, 5 очень сложен контроль отлаживаемой
программы.
В описываемом устройстве отладка программ осуществляется путем передачи
управления с уровня программы-отладчика на уро- 10 вень отлаживаемой программы,
выполнения одной команды отлаживаемой программы, запоминания в блоке хранения
информации состояния отлаживаемой программы и возврата управления на уровень
программы-от- 15 ладчика. Для этого устройство содержит триггер сбоя, триггер
автоматического переключения, триггеры возврата, четыре ряда клапанов и
логические схемы «И», «ИЛИ», «НЕ».
Схема предлагаемого устройства приведе- 20 на на чертеже.
Шины 1 кода операции соединены со входами первых клапанов 2, вторые входы
которых соединены с выходом схемы «НЕ» <3. Выходы первых клапанов 2 подключены
к пер- 25 вым входам регистра дешифратора операций 4. Выход регистра
дешифратора операций соединен с первым входом блока 5 управления выполнением
операций, первый выход которого соединен со входом установки в «1» пер- 30
2
вого триггера б возврата. Единичный выход этого триггера соединен со входом
второго клапана 7, другой вход которого подключен ко второму выходу блока 5.
Выход второго клапана 7 соединен со входом установки в «0» первого триггера 6
возврата и со входом установки в «1» второго триггера 8 возврата. Нулевой выход
триггера 6 соединен со входом третьего клапана 9, другой вход
которого подсоединен к третьему выходу блока 5. Выход третьего клапана
подключен к первому входу блока 10, контроля, первый выход которого соединен со
входом установки в «Ь> триггера 11 сбоя. Вход установки в «0» триггера 11
соединен с четвертым выходом блока 5. Единичный выход триггера 11 подключен ко
второму входу блока 10, второй выход которого соединен со входом установки в
«1» триггера 12 автоматического переключения. Вход установки в «0» этого
триггера соединен с первым выходом блока 13 переключения, второй выход которого
подключен ко входу установки в «0» триггера 8. Единичный выход триггера 8
соединен с первым входом блока 13 и с первым входом схемы «И» 14, второй вход
которой соединен с нулевым выходом триггера И. Выход схемы «И» 14 подключен к
первому входу схемы «ИЛИ» 15, второй вход которой соединен с единичным выходом
триггера 12 и со вторым входом бло-


277410

3
ка 13. Выход схемы «ИЛИ» 15 соединен со входом схемы «НЕ» 3 и со входами
четвертых клапанов 16, другие входы которых подключены к пятому выходу блока 5.
Выходы четвертых клапанов 16 соединены со вторыми входами регистра дешифратора
4. Шестой выход блока 5 соединен с третьим входом блока 13, третий выход
которого подключен ко входу блока 5, а его четвертый выход соединен со входом
блока 17 пишущей машинки.
Устройство работает следующим образом.
За каждой программой закрепляется определенный номер. Этот номер является
номером уровня, на котором хранятся данные об этой программе. Информация о
состоянии каждой программы хранится в запоминающем устройстве блока 13
переключения, в котором каждой программе соответствует область памяти
(уровень), однозначно определяемая номером уровня.
Код команды программы-отладчика оп шинам 1 кода операции поступает на входы
первых клапанов 2 и при наличии разрешающего потенциала на выходе схемы «НЕ» 3
с выходов первых клапанов 2 код операции заносится в регистр дешифратора 4
операций. На выходе регистра дешифратора операций формируется потенциал,
соответствующий коду команды программы-отладчика. По этому потенциалу на выходе
блока 5 управления формируется сигнал, который поступает на первый вход блока
13 переключения. По этому сигналу происходит переключение е уровня программы-
отладчика на уровень отлаживаемой программы, причем в область запоминающего
устройства блока 13 переключения, определяемую номером уровня программы-
отладчика, записывается информация о состоянии на данный момент программы-
отладчика, а информация, соответствующая отлаживаемой программе, считывается из
области запоминающего устройства блока переключения, определяемой номером
уровня отлаживаемой программы. Номер уровня программы-отладчика запоминается в
определенной ячейке области памяти, соответствующей отлаживаемой -программе.
Сигнал об окончании переключения на уровень отлаживаемой програм-' мы,
формируемый на выходе блока 13 переключения, поступает на вход блока 5
управления выполнением операций.
При последующих действиях код команды программы-отладчика будет заменен
кодом отлаживаемой команды, поэтому необходимо запомнить код команды программы-
отладчика. Замоминание производится на первом триггере 6 возврата. Установка в
единицу этого триггера производится в момент переключения с уровня программы-
отладчика на уровень отлаживаемой программы по сигналу из блока 5 управления
выполнением операций. Затем начинается выполнение команды отлаживаемой
программы.
Код операции отлаживаемой команды с шин I поступает на входы первых клапанов 2
и
4
при наличии разрешающего потенциала па выходе схемы «НЕ» 3 заносится в
регистр дешифратора 4 операций. После чтения кода отлаживаемой команды из блока
5 управления выдается сигнал, который поступает на вход второго клапана 7. По
единичному состоянию первого триггера 6 возврата второй клапан 7 формирует
сигнал установки в нуль триггера 6 и установки в единицу второго триггера 8
возврата. Единичное состояние второго триггера 8 является признаком возврата на
уровень программы-отладчика после выполнения и контроля команды отлаживаемой
приграммы. После выполнения команды отлаживаемой программы
производится контроль правильности выполнения этой команды. Сигнал пуска блока
контроля отлаживаемой операции поступает из блока 5 управления на вход клапана
9. Разрешающим потенциалом для этого сигнала является нулевое состояние первого
триггера 6 возврата.
При бессбойном выполнении команды отлаживаемой программы на выходе схемы «И» 14
формируется разрешающий потенциал, так как триггер сбоя И находится в нулевом
состоянии, а второй триггер 8 возврата — в единичном состоянии. Потенциал со
схемы «И» 14 через схему «ИЛИ» 15 разрешает занесение кода переключения для
возврата в программу-отладчик через четвертые клапаны 16 в регистр дешифратор 4
операций. Это занесение производится по сигналу с блока 5 после выполнения
отлаживаемой команды. Занесение кода операции с шин 1 запрещается потенциалом с
выхода схемы «ИЛИ» 15 через схему «НЕ» 3. После возврата в программу-отладчик
блок 13 переключения производит установку в нулевое состояние второго триггера
8 возврата.
При возникновении сбоев в ходе выполнения команды отлаживаемой программы
производится запоминание этих сбоев в блоке 10 контроля отлаживаемой операции.
Сигналом сбоя с выхода блока 10 триггер сбоя 11 устанавливается в единичное
состояние, которое является признаком сбоя и указывает на то, что необходимо
анализировать следующую команду, которая определит, предусмотрен сбой
программистом или нет. Высокий потенциал с единичного выхода триггера сбоя
11 поступает на вход блока 10.
Низкий потенциал с нулевого выхода триггера сбоя И через схему «И» 14 и схему
«ИЛИ» 15 подается на клапаны 16 и запрещает занесение кода переключения
уровней в регистр дешифратора 4 операций. Этот же потенциал подается на схему
«НЕ» 3 и разрешает прием кода следующей команды с шин 1. Таким образом, после
выполнения одной команды отлаживаемой программы в случае возникновения сбоев в
этой команде производится не возврат на уровень программы-отладчика, а чтение
следующей команды отлаживаемой программы.


277410

5
По коду этой команды в блоке 5 управления формируется сигнал анализа
предусмотренных и непредусмотренных программой сбоев, который поступает в блок
10. Если сбои, возникшие в отлаживаемой команде, были предусмотрены
программистом, то происходит гашение указателей сбоев, зафиксированных в блоке
10. В конце команды, анализирующей сбои, триггер сбоя 11 сбрасывается сигналом
с блока 5 управления, в результате чего на выходе схемы «И» 14 появляется
потенциал, разрешающий возврат на уровень программы-отладчика, что выполняется
так же, как и возврат в случае отсутствия сбоя в отлаживаемой команде.
Если сбои, возникшие в ходе выполнения отлаживаемой команды, не были
предусмотрены программистом, то на выходе блока 10 вырабатывается сигнал,
который поступает на вход установки в единицу триггера 12 автоматического
переключения. Происходит переключение на уровень программы обработки сбоев,
после чего в блоке 13 переключения вырабатывается сигнал установки в
нулевое состояние триггера 12. Блок 13 связан с электрифицированной пишущей
машинкой (блок 17), служащей для сообщения программисту адреса команды
отлаживаемой программы, в которой произошел сбой, ее инструкции и названия
сбоя.
Предмет изобретения
Устройство для отладки программ, содержащее блок управления, блок переключения,
блоки приема и вывода информации, блок контроля и регистр дешифратора,
отличающееся тем, что, с целью повышения быстродействия и надежности отладки
программ, оно содержит триггер сбоя, триггер автоматического переключения,
триггеры возврата, четыре ряда клапанов и логические схемы «И», «ИЛИ», «НЕ»,
причем входные шины кода операции соединены со входами первых клапанов, вторые
входы которых соединены через схему «НЕ» с выходом схемы «ИЛИ» и
б
со входами четвертых клапанов, вторые входы четвертых клапанов соединены с
первым выходом блока управления, выходы первых и четвертых клапанов соединены
со входами регистра дешифратора, выход которого соединен с одним входом блока
управления, второй выход блока управления соединен со входом установки в «1»
первого триггера возврата, единичный выход этого триггера соединен со входом
клапана, другой вход клапана подключен к третьему выходу блока управления, а
выход второго клапана соединен со входом установки в нуль первого триггера
возврата и со входом установки в единицу второго триггера возврата, нулевой
выход первого триггера возврата соединен со входом третьего клапана, другой
вход которого соединен с четвертым выходом блока управления, а выход третьего
клапана соединен с первым входом блока контроля, первый выход которого соединен
со входом установки в единицу триггера сбоя, вход установки в нуль
триггера сбоя соединен с пятым выходом блока управления, единичный выход
триггера сбоя соединен со вторым входом блока контроля, второй выход которого
соединен со входом установки в «1» триггера автоматического переключения, вход
установки в «0» этого триггера соединен с первым выходом блока переключения,
второй выход которого соединен со входом установки в нуль второго триггера
возврата, единичный выход которого соединен с первым входом блока
переключения и с первым входом схемы «И», второй вход которой соединен с
нулевым выходом триггера сбоя, а выход схемы «И» соединен с первым входом схемы
«ИЛИ», второй вход которой соединен с единичным выходом
триггера автоматического переключения и со вторым входом блока переключения,
третий вход блока переключения соединен с шестым выходом блока управления, а
третий выход блока переключения соединен с другим входом бло--ка управления,
четвертый выход блока пере' ключения соединен с блоком вывода.