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

 

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

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

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

РЕСПУБЛИК

А1

„„SU„, 124610 (ду 4 G 0E- F 11/28

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

К А BTOPCHOMY СВИДЕТЕЛЬСТВУ

Ю

Ж

CO

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3832526/24-24 (22) 25.12.84 (46) 23.07.86. Бюл. № 27 (72) В.П.Игнатович и. И.П.Игнатович (53) 681.3 (088.8) (56) Авторское свидетельство СССР

¹ 1070550, кл. G 06 F 9/46, 1982.

Авторское свидетельство СССР № 763900, кл. С 06 Р 11/00, 1978. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ (57) Изобретение относится к вычислительной технике и может быть использовано при автономной и комплексной отладке программ в вычислительных

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

4 ил.

1246100

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

Цель изобретения — сокращение . времени отладки программы.

На фиг.1 представлена структурная схема устройства для комплексной отладки программ; на йиг.2-4 — вре— менные диаграммы работы устройства.

Устройство для комплексной отладки программ содержит регистр 1 режимов, элемент И 2, счетчик 3 ко— манд, элемент И 4, схему 5 сравнения, элемент И 6, счетчик 7 первого перехода (откуда), первый коммутатор

8, элемент И 9, элемент И 10, регистр 11 перехода (куда), блок 12 оперативной памяти, второй коммутатор 13, счетчик 14 адреса, регистр

15 выходной информации, элемент

И 16, элемент ИЛИ 17, элементы 18 — 22 задержки, элементы ИЛИ 23 и 24, эле— мент 25 задержки, элемент И 26, эле— мент 27 задержки, информационный вход 28,вход 30 "Выборка счетчика команд", выход 30 "Выборка регистра .режимов", вход 31 "Обращение к ре1гистру выходной информации", выход 32 "Переполнение счетчика адреса", вход 33 "Пуск блока памяти",,информационный выход 34 устройства.

Устройство для комплексной отладки программ работает следующим образом.

В начальный момент регистр 1 режимов, счетчик 3 команд, счетчик 7 первого перехода, регистр 11 второго перехода, счетчик 14 адреса, блок 12 установлены в нулевое состояние (цепи установки не показаны), при этом на выходах элементов И 2, 4, 6, 9 и 16 имеет место нулевой потенциал.

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

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

- входе 29 "Выборка счетчика команд", 5

45 что приводит к срабатыванию элементов И 2, и значение начального адреса программы устанавливается в счетчике 3 команд. После снятия по управляющему входу 29 на выхоце элемента И 2 появляется нулевой потенциал, а в счетчике 3 команд информация сохраняется.

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

На информационном входе 28 появляется код 0001, который сопровождается сигналом по управлжощему входу

30 "Выборка регистра режимов", и код 0001 записывается в регистр 1 режимов. После снятия сигнала по управляющему входу 30 "Выборка регистра режимов" информация в регистре 1 режимов сохраняется; Код

0001 регистра 1 режимов обуславливает появление единичного потенциала на первом выходе регистра 1 режимов, который подготавливает элемент И 16 к срабатыванию.

Устройство подготовлено к трассировке программы. На информационный вход 28 поступает последовательность адресов выполняемых команд программы, которая сопровождается сигналами по управляющему входу 33.

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

На сравнении адресов предыдущей и последующей команд построено предлагаемое устройство в отличие от . известного, где осуществляется анализ кода операций и его дешифрации.

Устройство (если адреса предыдущей и последующей команд отличаются на два) работает следующим образом.

В счетчике 3 команд записан адрес первой команды программы (например

12461ОО

56), на информационный вход 28 поступает адрес выполняемой команды (56), сопровождаемый сигналом по управляющему входу 33, тогда на выходе элемента И 16 появляется единичный потенциал, который поступает на входы элементов И 4 и 9. В результате этого на выходе элемента И 4 появляется информация, равная значению содержимого счетчика 3 команд, т.е. адрес первой команды .программы (56), который поступает на первый . вход .схемы 5 сравнения и на вход элемента И 6. На выходе четвертого элемента И 9 появляется адрес выполняемой команды (56) который-поступает на второй вход схемы 5 сравнения и на вход элемента И 10. В ре— зультате сравнения информации по первому (56) и второму (56) входам на втором выходе схемы 5 сравнения появляется потенциал, который проходит через элемент ИЛИ 17 и поступает на вход пер— вого элемента 18 задержки. Первый элемент 18 задержки предназначен для задержки сигнала на время длительности сигнала по входу 33. Это означает, что на выходах элементов

И 16, 9 и 4 потенциал равен нулю.

Сигнал с выхода элемента 18 задерж— ки увеличивает значение счетчика 3 команд на два (оно становится равным 60) (код восьмиричный), т.е. устройство предполагает, что следующий адрес выполняемой команды программы будет на два больше предыдущего, и оно готово к приему нового адреса на информационном входе 28 устройства. Данный цикл работы повторяется до тех пор, пока последовательность адресов команд программы не превышает двух.

Если адреса предыдущей и последующей команд больше или меньше двух, то работа устройства происходит следующим образом.

Значение счетчика 3 команд равно

60. Это адрес предполагаемой следующей команды программы. На информационный вход 28 поступает адрес выполняемой команды программы 72, сопровождаемый потенциалом по управляющему входу 33. На выходе элемента И 16 появляется единичный потенциал, который поступает на входы второго и четвертого элементов И 14 и 9 соответственно.В результате на выходе элемента И 4 появляется информация, рав ная з начению содержимого счетчика 3 команд (код 60), который поступает на первьп» вход схемы 5 сравнения и на вход третьего элемента И 6, а на выходе элемента И 9 появляется адрес выполняемой команды программы (72), который поступает на второй вход схемы 5 сравнения и на вход элемента И 10. В результате сравнения появляется потенциал на первом выходе, который поступает через первый элемент ИЛИ 7 и первый элемент 18 задержки на счетный вход счетчика 3 команд, что приводит к изменению содержимого счетчика 7 команд на два (так же, как в предыдущем случае).

Потенциал со схемы 5 сравнения поступает на вход элемента И 10, что обеспечивает запись адреса выполняемой команды программы в регистр 11 второго перехода, т.е. куда пришла програм25 ма; на вход элемента И 6, что обеспечивает запись значения содержимого счетчика 3 команд (код 60) в счетчик 7 первого перехода, т.е. откуда

30 перешла программа на вход элемента 19 задержки, который предназначен для задержки на время, равное длительности сигнала на входе 33, и тем самым обеспечивается нулевой потенциал на элемен35 тах И 16, 4 и 9, и раньше, чем появится потенциал на выходе элемента

18 задержки, открывающего элемент

И 2 для записи значения адреса вы:полняемой команды программы (72) в

40 счетчик 3 команд, появление потенциала на выходе элемента 18 задерж— ки приводит к увеличению содержимого с четчика 3 команд на два, т . е . 74 — следующий предполагаемый адрес команды

45 пр о».р аммь»; на вход элемента 20 задержки, который предназначен для выработки потенциала (после записи значения адреса предполагаемой следующей ко50 манды со счетчика 3 команд в счетчик

7 первого перехода) уменьшение значения счетчика 7 первого перехода на. два, так как реально переход осуществлялся с адреса 56 после поступ55 ления потенциала с элемента 20 задержки на вычитающий вход счетчика 7 первого перехода, значение счетчика

7 первого перехода станет равным 56;

1246100

Из описанного видно, что при каж- 0 дом неравенстве двух последователь-, ных адресов команд программы в блок

12 записываются адреса (откуда и куда) выполняемых команд и вне зависимости относятся команды к одной или 55 разным программам. Так продолжается до тех пор, пока программа не остановится или работу ЭВМ остановит на вход элемента 21 задержки, которьп» предназначен для выработки потенциала (после установки значений в счетчике 7 первого перехода, т.е. больше,, чем время задержки третьего элемента 20 задержки, и в регистре 11 второго перехода) на управляющий первый вход первого комму-татора 8, для коммутации информации с первого входа первого коммутатора

8 на информационный вход блока 12.

Это означает, что адрес команды программы (56}, с которого была нарушена последовательность команд, т,.е. боль- 15 ше чем на два, поступил на информационный вход блока 12. Одновременно потенциал с выхода элемента 21 задержки через элементы ИЛИ 23 и 24 поступает в первом случае через эле- яп мент 25 задержки на управляющий вход

"Запись" блока 12, а так как информация уже находится на информационном входе, то должна произойти запись в блок 12 по адресу, соответствующему значению счетчика 14 адреса, поэтому необходим элемент 25 задержки, чтобы сформировался новый адрес в счетчике 14 адреса; во втором случае потенциал, поступивший с элемента

ИЛИ 24 на счетный вход счетчика 14 адреса 14, увеличивает значение счетчика 14 адреса на два ° Адрес со счетчика 14 адреса поступает на адресный вход блока 12 и только после этого

35 появляется сигнал "Запись" на его управляющем входе, а это значит, что произошла запись адреса команды прor— раммы (56) в блок ОЗУ; пятый элемент 22 задержки предназначен для обеспечения четкого выполнения предыдущей операции, а потенциал на выходе обеспечивает re же операции, только с содержимым регистра 11 второго перехода, в котором хранится адрес выполняемой команды программы (72), и этот адрес будет записан в блок 12 последующему адреC.у ° оператор. В этих случаях счетчик 14 адресов не переполнен и оператор может приступить к следующим режимам работы устройств. В случае, когда счетчик 14 адреса переполняется, так как появляется сигнал в старшем разряде, который поступает на управляющий выход 32 и поступающий на ЭВМ в виде сигнала вектора прерывания с конкретным адресом по которому включается соответствующая программа реакции, вклинивающая программа обнуляет регистр 1 режима, что приводит к снятию потенциала с шестого элемента И 16 и блокировке элементов, участвующих в данном режиме работы.

Запрос о количестве информации в блоке l2 памяти.

На информационный вход 28 устройства поступает код 0010, а на управляющий вход 30 — потенциал, по которому производится запись кода 0010 в регистр 1 режимов. Это означает, что на втором выходе регистра 1 режимов появился потенциал, который поступает на управляющий второй вход второго коммутатора 13 и подключает информационный выход счетчика 14 адреса к информационному входу регистра 15 выходной информации. Устройство готово для вывода счетчика 14 адреса в ЭВМ. Приход потенциала с управляющего входа 31 "Обращение к регистру вьгходной информации" через элемент 27 задержки и управляющий вход регистра 15 выходной информации обеспечивает запоминание выходной информации, что означает появление счетчика 14 адреса на информационном выходе 34 устройства.

Обнуление счетчика адресу ОЗУ.

На информационный вход 28 устройства поступает код 1000, а на управляющий вход 30 потенциал, по которому производится запись кода 1000 в регистр 1 режимов. Это означает, что на четвертом выходе регистра 1 режимов появляется потенциал, который поступает на вход "Сброс" счетчика

14 адреса, что приводит к обнулению последнего.

Считывание информации из блока

ОЗУ.

На информационный вход 28 устройства поступает код 0100, а на уп— равляющий вход 30 — потенциал, по

1246100 которому производится запись кода

0100 в регистр 1 режимов. Это означает, что на третьем выходе ре-. гистра 1 режимов появляется потенциал, который поступает на управляющий первый вход второго коммутатора

13,коммутируя информационный выход блока 12 к регистру 15 выходной информации,и на вход элемента И 26,подготавливая его к работе в данномрежиме.Зна— чение счетчика 14 адреса по начачьной установке равно нулю. Устройство готово к считыванию (выводу) информации из блока 12 на информа— ционный выход 34 устройства. Последовательность потенциалов, поступающих с управляющего входа 31, синхронизирует работу устройства в данном режиме. Потенциал поступает на управляющий .вход "Считывание" блока 12, а так как на адресном входе блока

12 уже имеется значение адреса (в начальном состоянии это нулевой адрес), то на информационном выходе блока 12 появляется информация, которая проходит через второй коммутатор 13 и поступает на вход регистра выходной информации. Потенциал через подготовленный элемент И 26 поступает на счетный вход счетчика адреса, тем самым увеличивает значение содержимого счетчика 14 адреса на два, что является формированием адреса к следующему циклу считывания информации из блока 12, а также потенциал через седьмой элемент 27 задержки поступает на управляющий вход регистра 15 выходной информации. Элемент 27 задержки предназначен для четкого формирования выходной информации в блоке 12 и поступления ее на вход регистра выходной информации °

Временные диаграммы (фиг.2-4) поясняют работу устройства в режимах начальной установки и трассировки программы. В качестве примера адрес имеет 6 разрядов, а устройство разработано на 16-разрядный адрес.

Технико-экономическое преимущество предлагаемого устройства по сравнению .с известным состоит в значительном сокращении времени отладки программы.

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

Устройство для отладки программ, содержащее счетчик команд, схему

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

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

И, выход которого соединен с вторым входом схемы сравнения, выход неравенства которой соединен с первым

25 входом первого элемента ИЛИ, с вторым входом третьего элемента И, первым входом .пятого элемента И, через .первый элемент задержки — с вторым входом первого элемента И и через второй элемент задержки — со счетным входом счетчика первого перехода, выход равенства схемы сравнения соединен с вторым входом первого элемента ИЛИ, выход которого через третий

35 элемент задержки соединен со счетным входом счетчика команд, первый,второй, третий и четвертый выходы регистра режимов соединены соответственно с первым входом шестого элемен40 та И, с входом начальной установки счетчика адреса, с первым и вторым управляющими входами первого,коммутатора, четвертый выход регистра режимов соединен с первым входом седьмого

45 элемента И, вход разрешения считыва\ ния устройства соединен с вторым входом седьмого элемента И, с входом считывания блока оперативной памяти и через четвертый элемент задержки

50 с входом считывания регистра выходной информации, выход которого является выходом отлаживаемой программы устройства, входы выбора режима и обращения блока оперативной памяти

55 соединены соответственно с входом записи регистра режимов и вторым входом шестого элемента И, выход которого соединен с вторыми входами

1246 второго и четвертого элементов И, вход выборки счетчика команд соединен с вторым входом первого элемента И, выход четвертого элемента И соединен с вторым входом схемы сравнения и с вторым входом пятого элемента И, выход которого соединен с информационным входом счетчика первого перехода, выход третьего элемента И соединен с информационным входом регистра переходов, информационные выходы регистра переходов и счетчика первого перехода соединены соответственно с первым и вторым информационными входами второго коммутатора, выход которого соединен с информационным входом блока оперативной памяти, выход неравенства схемы сравнения через пятый элемент задержки соединен с первым управляющим 20 входом второго коммутатора, с пер со 1О выми входами второго и третьего элементов ИЛИ и через шестой элемент задержки — с вторым управляющим вхо.дом второго коммутатора и с вторыми входами второго и третьего элементов

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

1246100

Фиг. Z

1246100

Редактор Н.Тупица

Заказ 4002/42

Зад

Вы

Вых

Зад

Cve адр

Зал

Ии

Составитель И. Сигалов

Техред Н.Бонкало Корректор С. Шекмар

Тираж б71 Подписное

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

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

Производственно-полиграфическое предприятие,, г.ужгород, ул.Проектная, 4

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

 

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

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

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

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

Изобретение относится к области вычислительной техники и может быть использовано в системах контроля и испытаний

Изобретение относится к области вьиислительной техники и может быть применено в устройствах для отладки программ

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

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

Изобретение относится к вычислительной технике и может быть использовано в составе процессора ЭВМ

Изобретение относится к области вычислительной техники

Изобретение относится к вычислительной технике и может быть использовано для контроля выполнения операций в устройствах управления и сопряжения

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

Изобретение относится к компьютерным технологиям, в частности к системам и способам формирования дамп файла при возникновении сбоя в работе программы (аварийном завершении программы) в вычислительных системах с ограниченными ресурсами

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

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

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

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

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ)

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