Устройство для отладки программ
Изобретение относится к вычислительной технике. Цель изобретения - повышение быстродействия при отладке. Устройство содержит блок 1 памяти, счетчик 2 адреса, элементы И 3-5 и 15, триггера 6 и 16, регистры 7.1-7.П, кодов команд, 8.1-8.п схем сравнения, регистр 13 начального адреса, (п+1) Ю схему 14 сравнения, шифратор 17, счетчик 18 циклов обращения элемент ИЛИ-НЕ 19 и элемент 20 задержки. Сущность изобретения заключается в том, что,приняв и распознав очередную команду отлаживаемой программы, устройство блокирует запись адресов в свою память ровно на столько адресных циклов, сколько требуется ЭВМ для исполнения данной команды . Реализация блокировки осуществляется с помощью щифратора и вычитающего счетчика. В результате из всей последовательности адресов (команд, констант, операндов ) в памяти устройства фиксируется трасса программы, состоящая только из адресов команд. Так как эта селекция осуществляется по логическим признакам, содержащимся в самих командах, устройство может быть использовано с широким классом ЭВМ, таких, например, как CM-ЭВМ, «Электроника-60 , 2 ил. (О (Л
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
„„SU„„1383372
А1
1511 4 G 06 F 11/28
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ
ОПИСАНИЕ ИЗОБРЕТЕНИЯ; ц:
К А BTOPCHOMV СВИДЕТЕЛЬСТВУ "4
2l
25 (21) 4143420/24-24 (22) 31.10.86 (46) 23.03.88. Бюл. № 11 (72) В. Н. Огородников, И. П. Галактионов и С. К. Лебедев (53) 681.3 (088.8) (56) Авторское свидетельство СССР № 754419, кл. G 06 F 11/22, 1979.
Авторское свидетельство СССР № 1030805, кл. G 06 F 11/22, 1982. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ НРОГРАММ (57) Изобретение относится к вычислительной технике. Цель изобретения — повышение быстродействия при отладке. Устройство содержит блок 1 памяти, счетчик 2 адреса, элементы И 3 — 5 и 15, триггера 6 и 16, регистры 7.1 — 7.п, кодов команд, 8.1 — 8.п схем сравнения, регистр 13 начального адреса, (и+1) -ю схему 14 сравнения, шифратор 17, счетчик 18 циклов обращения элемент ИЛИ вЂ” НЕ 19 и элемент 20 задержки.
Сущность изобретения заключается в том, что,приняв и распознав очередную команду отлаживаемой программы, устройство блокирует запись адресов в свою память ровно на столько адресных циклов, сколько требуется ЭВМ для исполнения данной команды. Реализация блокировки осуществляется с помощью шифратора и вычитающего счетчика. В результате из всей последовательности адресов (команд, констант, операндов) в памяти устройства фиксируется трасса программы, состоящая только из адресов команд. Так как эта селекция осуществляется по логическим признакам, содержащимся в самих командах, устройство может быть использовано с широким классом ЭВМ, таких, например, как СМ-ЭВМ, «Электроника — 60», 2 ил.
1383372
Изобретение относится к вычислительной технике и может быть использовано для отладки программ управляющих вычислительных машин и микропроцессорных систем.
Целью изобретения является повышение быстродействия при отладке за счет сокращения объема записываемой инофрмации по трассе программы.
На фиг. 1 приведена функциональная схема устройства; на фиг. 2 — временные диаграммы в некоторых точках схемы устройства.
Устройство содержит блок 1 памяти, счетчик 2 адреса, элементы И 3 — 5, первый триггер 6, регистры 7.1 — 7.п кода команд, схемы 8.1 — 8.п сравнения, первый информационный, тактовый 10, первый адресный
11 входы и вход 12 чтения, регистр 13 начального адреса, схему 14 сравнения, элемент
И 15, шифратор 17, второй триггер 16, счетчик 18 циклов обращений, элемент ИЛИ—
НЕ 13, элемент 20 задержки, входы признака адреса 21. разрешения записи трассы
22 и второй адресный 23, тактовый вход 24 записи, второй информационный вход 25, выход 26 блока 1 памяти.
Устройство работает в двух режимах: записи трассы и чтения трассы.
В режиме записи трассы на вход 9 устроиства подаются коды шины данных ЭВМ (фиг. l,в), на вход 11 устройства подаются коды с шины адреса ЭВМ (фиг. l,а). На тактовый вход 10 устройства подается синхросигнал ЭВМ «Чтение данных» (фиг. 2,г) на вход 21 — сигнал признак адреса
ЭВМ (фиг. 2,б).
Перед началом работы в регистр 13 начального адреса через информационный вход 25 устройства вводится код адреса первой команды того участка программы, отладка которого производится. Все триггеры и счетчики устройства находятся в нулевом состоянии (цепи начальной установки не показаны). При этом на выходах элемента ИЛИ вЂ” НЕ 19, элемента 20 задержки стоит логическая «1». Включение режима записи производится установкой логической «1» на входе 22 разрешения записи трассы устройства. При появлении на шине адреса ЭВМ и, следовательно, на входе 11 устройства заданного начального адреса, схема 14 сравнения формирует логическую «1» (фиг. 2,д) которая по сигналу с входа 21 устройства проходит через элемент И 4 на вход синхронизации триггера 6. Первый триггер 6 устанавливается в единичное состояние при наличии разрешения записи трассы на входе
22 устройства (фиг. 2,е) . Таким образом, элемент И 15 становится открыт для прохождения через него с входа 10 устройства синхросигнала ЭВМ «Чтение данных», а на выходе элемента И 3 формируется сигнал
«Логическая единица», разрешающий запись в блок 1 памяти адреса, поступающего в
55 это время на вход 11 устройства, т.е. адреса начальной команды.
Коды команд с шины данных ЭВМ, поступая через вход 9 устройства на схемы 8 сравнения, сравниваются с эталонными кодами команд, которые поступают на эти схемы 8 с выходов регистров. 7i — 7п. Так как в общем случае и равно числу всех вариантов кодов команд ЭВМ, что при появлении на шине данных кода любой, например i-й, команды ЭВМ срабатывает схема 8 i сравнения и логическая «1» с ее выхода поступает на i-й вход шифратора 17, который преобразует сигнал возбуждения на его
i ì входе, соответствующем i-й команде
ЭВМ, в двоичный код числа М; адресных циклов, необходимых для исполнения вычислительной машиной i-й команды.
Полученный на выходе шифратора двоичный код числа М; поступает на информационные входы поразрядной записи вычитающего счетчика 18 и удерживается на них в течение времени передачи по шине данных кода i-й команды. В случае, когда эта команда является начальной, синхросигнал
ЭВМ «Чтение данных» проходит через четвертый элемент И 15 на управляющий вход записи вычитающего счетчика 18, разрешая запись в него двоичного кода числа
М; О,соответствующего начальной команде, и устанавливая в единичное состояние триггер 16 (фиг. 2,з) . Как только на выходе счетчика 18 появляется комбинация, отличная от нуля; сигнал на выходе элемента ИЛИ вЂ” НЕ 19 становится равным логическому «О». Этот сигнал, пройдя через элемент 20 задержки, запрещает элементы И 3 и 15, прекращая запись адреса команды в блок 1 памяти и запись двоичного кода В счетчик 18. Одновременно по отрицательному фронту сигнала с выхода элемента
И 3 счетчик 2 увеличивает на единицу свое содержимое, подготавливая следующую ячейку блока 1 памяти к записи.
Величина задержки сигнала в элементе
20 должна быть такой, чтобы определяемая этой задержкой длительность импульса записи (фиг. 2,и) была достаточной для сбрасывания счетчика 18 и триггера 16.
Последний остается в единичном состоянии в течение всего цикла работы устройства и обнуляется перед новым циклом записи трассы, как было указано ранее. После ус-. тановки в единичное состояние триггера
16 (фиг. 2,з) третий элемент И 5 становится открыт для прохождения на счетный вход вычитающего счетчика 18 импульсов синхро низации адресного цикла ЭВМ., по заднему фронту которых осуществляется уменьшение на единицу содержимого счетчика 18. Пока это содержимое отлично от нуля, запись адресов ЭВМ с входа 11 в блок 1 памяти блокируется. Запись адреса следующей команды выполняется после того, как вычитающий счетчик просчитает нужное для испол1383372
Формула изобретения
Устройство для отладки программ, содержащее блок памяти, счетчик адреса, первый, второй и третий элементы И, и регистров кода команды (где n — количество команд, реализуемых в отлаживаемой ЭВМ), п схем сравнения и первый триггер, причем первый информационный вход устройства соединен с первыми входами п схем сравнения, выход каждого i-го регистра кода команд (где i=1, и) соединен с вторым входом соответствующей i-й схемы сравнения, 40 первый адресный вход устройства соединен с информационным входом блока памяти, выход которого является информационным выходом устройства, выход первого элемента И соединен с входом записи блока памяти
3 нения текущей i-й команды число N; адресных циклов циклов ЭВМ, и его содержимое станет равным нулю.
Для перевода в режим чтения трассы на входе 22 разрешения записи трассы устройства подается уровень логического «О», при этом запирается первый логический элемент И, блокируя запись в блок 1 памяти и счет в счетчике 2. Для прочтения записанной трассы адрес ячейки блока памяти устанавливается на адресном входе 23 устройства, подается сигнал записи адреса на вход 24 устройства, по которому адрес ячейки фиксируется в счетчике и выдается на его выход.
По сигналу на входе 12 чтения трассы устройства записанная в ячейке блока 1 памяти информация появляется на информационном выходе 26 устройства. Таким же образом считывается информация из других ячеек блока 1 памяти, причем порядок считывания произвольный, что обеспечивает сво- 20 боду в построении программы обработки записанной информации, например, при считывании, начиная с нулевого адреса блока памяти, устройство выдает адреса команд исполненной 3ВМ программы (трассу) в их естественной последовательности, что при их отображении на индикаторе облегчает оператору восприятие отладочной информации. и счетным входом счетчика адреса, группа разрядных выходов которого соединена с группой адресных входов блока памяти, выход первого триггера соединен с первым входом первого элемента И, отличающееся тем, что, с целью повышения быстродействия, в него введены регистр начального адреса, (и+ 1)-я схема сравнения, четвертый элемент И, второй триггер, шифратор, счетчик циклов обращений, элемент ИЛИ—
НЕ, элемент задержки, причем выходы и схем сравнения соединены с соответствующими входами шифратора, выходы которого соединены с информационными входами счетчика циклов обращений, выходы которого соединены с входами элемента ИЛИ—
НЕ, вход признака адреса устройства соединен с вторым входом первого элемента
И и первыми входами второго и третьего элементов И, выходы второго и третьего элементов И соединены соответственно с тактовым входом первого триггера и вычитаюшим входом счетчика циклов обращений, выход элемента ИЛИ вЂ” НЕ через элемент задержки соединен с третьим входом первого элемента И и первым входом четвертого элемента И, тактовый вход устройства соединен с вторым входом четвертого элемента И, выход которого соединен с единичным входом второго триггера и входом записи счетчика циклов, выходы второго и первого триггеров соединены соответственно с вторым входом третьего элемента И и третьим входом четвертого элемента И, вход разрешения записи трассы соединен с четвертым входом первого элемента И и информационным входом первого триггера, вход признака чтения, второй аДресный вход и тактовый вход записи устройства соединены соответственно с входом чтения блока памяти, с информационным входом счетчика адреса и с входом записи счетчика адреса, второй информационный вход устройства соединен с входом регистра начального адреса, выход которого соединен с первым входом (п+1)-й схемы сравнения, выход которой соединен с вторым входом второго элемента И, первый адресный вход устройства соединен с вторым входом (п+1) -й схемы сравнения.
1383372
47рвс коисонды
У
8» г д к
Л
4 иг. 2
Составитель И. Сигалов
Редактор Н. Лазаренко Техред И. Верес Корректор И. Муска
Заказ 914/48 Тираж 704 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж вЂ” 35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4



