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

 

ОПИСАНИЕ

ИЗОБРЕТЕНИЯ

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

Союз Советских

Социалистических

Республик

«»962945 (61) Дополнительное к авт. свид-ву— (22) Заявлено 301280 (21) 3226553/18-24 (51)М Кл з

G F 9/46

G 06 F 11/28 с присоединением заявки ¹ (23) Приоритет

Госуларственный комитет

СССР по левам изобретений н открытий (531 УДК 681. 325 (088.8) Опубликовано 30Я982. Бюллетень ¹36

Дата опубликования описания 300982

В.С. Воробьев, В.И. Карасик, И.Л. Сигалов

В.А. Фараджев и В.А. Финкельштейн (72) Авторы изобретения (71) Заявитель (54) УСТРОЙСТВО ДЛЯ. ПРЕРЫВАНИЯ ПРИ ОТЛАДКЕ

ПРОГРАММ

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

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

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

9б2945 схемы ИЛИ, второй вход которой соединен с единичным выходом триггера автоматического переключения и с вторым входом блока переключения, третий вход блока переключения соединен с шестым выходом блока управле- 5 ния, а третий выход блока переключения соединен с другим входом блока управления, четвертый выход блока переключения соединен с блоком вывода ° о

Данное устройство предназначено для передачи управления программеотладчику после выполнения одной команды отлаживаемой программы путем аппаратного замещения в дешифраторе 15 операций кода следующей команды отлаживаемой программы на код команды перехода к программе-отладчику f1 ).

Недостатком данного устройства является значительное количество

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

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

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

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

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

Цель изобретения — расширение функцкональных возможностей устройства 60 путем обеспечения отладки программ в режиме реального времени и автоматизацик процесса отладки. поставленная цель достигается тем, что в устройство для прерывания при 65 отладке программ, содержащее первый и второй регистры, первый и второй узлы сравнения и первый элемент И, выходы первого и второго регистров соединены соответственно с первыми входами первого и второго у ч сравнения, выходы которых соединены соответственно с первым и вторым входами первого элемента И, первый информационнный вход устройства соединен с вторым входом первого узла сравнения, введены группа элементов ИЛИ, первый, второй и третий элементы ИЛИ, третий узел сравнения, управляющий регистр, третий регистр, первая, вторая и третья группы элементов И, второй, третий, четвертый, пятый, шестой, седьмой, восьмой и девятый элементы И и элемент НЕ, причем первый выход управляющего регистра соединен с вторым входами второго элемента И, первого элемента ИЛИ и первыми входами элементов И первой группы, второй выход управляющего регистра соединен с первыми входами третьего элемента И, с первыми входами элементов И второй группы с вторым входом первого элемента ИЛИ, третий выход управляющегс регистра соединен с первым входом четвертого элемента И, первыми входами элементов И третьей группы и с третьим входом первого элемента ИЛИ, выход которого соединен с первым входом пятого элемента И, четвертый вход управляющего регистра соединен с первым входом шестого элемента И, выход которого соединен с первым входом седьмого элемента И, пятый выход управляющего регистра соединен с вторым входом седьмого элемента И, первым входом восьмого элемента И и входом элемента НЕ,выход которого соединен с первым входом девятого элемента И, выходы второго, третьего и четвертого элементов И соединены с входами второго элемента ИЛИ, выход которого соединен с управляющим входом третьего узла сравнения, выходы каждого элемента И первой, второй и третьей групп". соединены с входами соответствующих элементов ИЛИ группы, выходы третьего регистра и выходы элементов ИЛИ группы соединены соответственно с первой и второй группами информационных входов третьего узла сравнения, выход которой соединен с вторйм входом пятого элемента И, выход которого соединен с вторыми входами восьмого и девятого элементов И, выход девятого элемента И соединен с первым управляющим выходом устройства, выходы седьмого и восьмого элементов И соединены соответственно с первым и вторым входами третьего элемента ИЛИ, выход которого соединен с вторым управляющим выходом устройства, первый, второй, 962945 третий и четвертый управляющие нходы устройства соединены соответственно с вторыми входами второго, третьего, четнертого и шестого элементов И, выход первого элемента И соединен с третьими входами пятого и шестого элементов И, первый информационный вход устройства соединен с втОрыми входами второго узла сравнения и элементов И второй группы, второй и третий информационные вхо- 10 ды устройства соединены соответст венно с вторыми входами элементов И первой и третьей групп.

На чертеже представлена схема устройства. 15

Устройство содержит первый регистр 1, первый узел 2 сравнения, второй узел 3 сравнения, первый элемент И 4, второй регистр 5. Выходы первого 1 и второго 5 регистров соединены соответственно с первыми входами первого 2 и второго 3 узлов сравнейия, выходы которых соединены соотнетственно с первым и вторым входами пеРвого элемента И 4. Первый информа- 5 ционный вход 6 устройства соединен с вторым входом первого узла 2 сравнения. Устройство содержит также управляющий регистр 7, третий ре- . гистр 8, третий узел .9 сравнения, первый элемент ИЛИ 10, второй элемент ИЛИ-11, второй, третий и четвертый элементы И 12-14, первую, вторую и третью группу элементов И 15-17, пятый, шестой, седьмой и восьмой элементы И 18-21, элементы НЕ 22, группу элементов ИЛИ 23, девятый элемент И 24, третий элемент ИЛИ 25, первый, второй, третий и четнертый управляющие входы 26-29, второй и третий информационные входы 30 и 31, пер-40 вый и второй управляющие ныходы 32 и 33.

Кроме того, на чертеже показаны регистр 34 номера команды, регистр 35 адреса записи, регистр 36 номера 45 центрального регистра, являющиеся частью центрального управления ЭВМ, которые не входят в состав предлагаемого устройства, а служат лишь для пояснения его работы, первый вы- 50 ход управляющего регистра 7 соединен с первыми входами второго элемента И 12, первого элемента И 4, первого элемента ИЛИ 10 и всех элементов И 15 первой группы. Второй выход управляющего регистра 7 соединен с первыми нходами третьего эле- мента И 13, всех элементов И 16 второй группы и с вторым входом первого элемента ИЛИ 10.

Третий выход управляющего регистра 7 соединен .с первыми входами четвертого элемента И 14, всех элементов И 17 третьей группы и с третьим входом первого элемента ИЛИ 10, выход которого соединен с первым входо л пятого элемента И 18. Четвертый выход управляющего регистра 7 соединен с первым входом шестого элемента И 19, выход которого соединен с первым входом седьмого элемента И 20.

Пятый выход управляющего регистра 7 соединен с вторым входом седьмого элемента И 20, первым входо л восьмого элемента И 21 и через элемент НЕ 22 с первым входом девятого элемента И 24. Выходы второго, третьего и четвертого элементов И 12, 13 и 14 соответственно соединены с входами второго элемента ИЛИ 11, выход которого соединен с управляющим входом третьего узла 9 сравнения. Выходы каждого элемента И 15,16-и 17 соответственно первой, второй и третьей группы соединены с входами соответствующих элементов ИЛИ группы 23.

Выходы третьего регистра 8 и выходы группы элементов ИЛИ 23 соединены соответственно с первой и второй группами информационных входов третьего узла 9 сравнения, выход которой соединен с вторым входом пятого элемента И 18, выход которого соединен с вторыми входами восьмого и девятого элементов И 21 и 24. Выход 32 девятого элемента И 24 является первым управляющим выходом устройства. Выходы седьмого и восьмого элементов И 20 и 21 соединены соответственно с первым и вторым входами третьего элемента ИЛИ 25, выход 33 которого соединен с вторым управляющим выходом устройства. Первый, второй, третий и четвертый входы 26-29 устройства соединены соответственно с вторыми входами второго, третьего, четвертого и шестого элементон ?1 12, 13, 14 и 19. Выход первого элемента И 4 соединен с третьими входами пятого и шестого элементов И 18 и 19. Первый информационный вход 6 устройства соединен с вторыми входами первого и второго узлов 2 и 3 сравнения и элементов И 16 второй группы. Второй и третий информационные входы 30 и 31 устройства соединены соответственно с вторыми входами элементов И 15 и 17 первой и третьей групп. Регистры 1,5, 7 и 8 являются тумблерными,регистрами.

Устройство может работать в одном из четырех режимов.

В режиме "1" при записи в ячейку, адрес которой (содержимое регистра 35) совпадает с адресом, набранным на тумблерном регистре 8, уст- ройство вырабатывает сигнал на выходе 33, который поступает н систему прерывания ЭВМ, программа которой подлежит отладке.

В режиме "2" при совпадении адреса выполняемой команды (содержимое регистра 34) с содержимым регистра 8

962945, 20 на. выходе 33 вырабатывается управляющий сигнал.

Режим "3" отличается от режима "1" только тем, что сравнивается не содержимое регистра 35, а содержимое регистра 36 и сигнал прерывания вырабатывается не при записи в ячейку, а при записи в регистр общего назначения, номер которого находится в регистре 36. В режиме "4" устройство вырабатывает сигнал на 10 выходе 33 при выполнении команды перехода.

Работа, устройство во всех режимах отладки начинается с установки на регистрах 1 и 5 начала и конца зоны отладки первый и последний адрес программы или комплекта программ, подлежащих отладке).

При работе ЭВМ на регистре 34 номера команд присутствует номер выполняемой команды,.который через первый информационный вход 6 устройства поступает на вторые входы первого и второго узлов 2 и 3 сравнения.

На выходе первого узла 2 сравнейия присутствует положительный потенциал только в случае, если номер команды будет больше номера, набранного на первом регистре 1, а на выходе второго узла 3 сравнения присутствует сигнал положительной полярности только в том случае, если номер команды будет меньше номера, набранного на регистре 5. е

Таким образом, обеспечивается работа устройства .в зоне программ, подлежащих отладке. Вне этой зоны работа устройства блокируется нулевым потенциалом с выхода элемента И 4, который поступает на входы элементов И 18 и 19, нулевой потенциал с 40 выхода этих элементов блокирует элементы И 21, 24 и 20. При этом на первом 32 и втором 33 управляющих выходах устройства присутствует нулевой потенциал, который не оказывает 45 никакого влияния на работу процессоЪ ра, программа которого подлежит отладке.

Работа устройства в режиме "1" проходит следующим образом. 50

Оператор, производящий отладку программ, устанавливает на регистре 7 управления режим "1" и режим

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

Каждая команда записи в ОЗУ ЭВМ сопровождается управляющим потенциалом, который поступает из процессора через первый управляющий вход 26 а устройства на второй вход элемента И 12, на первый вход которого поступает положительный потенциал с первого выхода управляющего регистра 7. С выхода второго элемента .И 12 положительный потенциал через второй элемент ИЛИ 11 поступает на управляющий вход третьего узла 9 сравнения и тем самым разрешается сравнение информации, набранный на третьем регистре 8, с содержимьпл регистра 35 адреса записи, входящего в состав процессора ЭВМ. Содержимое регистра 35 адреса записи через первую группу элементов И 15 и элементов ИЛИ 23 поступит на второй информационный вход третьего узла 9 сравнения. При .совпадении соДержимого третьего регистра 8 с содержимым регистра 35 адреса записи на выхрде узла 9 сравнения будет выработан положительный потенциал, который поступает на второй вход пятого элемента И 18, на первый и третий входы которого поступают разрешающие потенциалы с выхода первого элемента ИЛИ 10 и первого элемента И 4.

Положительный потенциал с выхода пятого элемента И 18 через восьмой элемент И 21 и третий элемент ИЛИ 25 поступает на второй управляющий выход 33 устройства, который соединен с регистром прерывания ЭВМ. По этому сигналу ЭВМ, программы которой подлежит отладке, прерывает свою работу и осуществляет вызов вклинивающейся (авторазрывной ) программы, которая в зависимости от отладочного задания программиста производит эараннее определенные им действия.

Аналогично работает устройство и в других режимах.

В режиме "2" устройство вырабаты-. вает сигнал прерывания при совпадении номера команды, выбранного на третьем регистре 8, с номером на регистре 34 номера команды. Включение каждой команды сопровождается управляющим сигналом, поступающим на ЭВМ, в состав которого входит предлагаемое устройство, на вход 27. Этот управляющий сигнал пройдет через элемент И 13 и элемент ИЛИ 23 íà onрос третьего узла 9 сравнения.

В режиме "3" устройство вырабатывает сигнал прерывания при записи информации в один из регистров общего назначения ЭВМ, номер которого совпадает с номером набранного на третьем регистре 8. Работа устройства в режиме "3" отличается от режиме "1" тем, что при записи в регистр общего назначения ЭВМ вырабатывается управляющий сигнал на входе 28, который через элемент И 14 и элемент ИЛИ 11 поступает на опрос схемы сравнения, на второй вход ко962945

10 торой с регистра 36 через вход 31, группу элементов И 17 и группу элементов ИЛИ 23 поступает номер регистра общего назначения.

В режиме "4" устройство должно выработать сигнал прерывания при 5 исполнении команды перехода. Работа устройства в этом режиме происходит следующим образом

На четвертом и пятом выходах управляющего регистра 7 устанавливают- !О ся положительные потенциалы. С выхода первого элемента И 4 на первый вход элемента И 19 поступает положительный потенциал, так как отладка происходит в определенных границах, 15 заданных на регистрах 1 и 5. При выполнении команды перехода на втррой вход элемента ИЛИ 10 с дешифратора команд ЭВМ через четвертый управляющий вход 29 устройства поступает положительный потенциал. Выходной положительный сигнал через седьмой элемент И 20 и элемент ИЛИ 25 поступает в приоритетную систему ЭВМ. Если на пятом выходе управляющего регистра 7 установлен нулевой потенциал, то на выходе элемента НЕ 22 появится единичный потенциал, который поступит на вход элемента И 24.

Если при этом на выходе управляющего регистра 7 установлен один из режимов "1", "2" или "3", то появление положительного потенциала на выходе элемента И 18 приводит к появлению сигнала на выходе элемента И 24 и на управляющем выходе 32 устройст- ва. Сигнал с управляющего выхода 32 устройства поступит в управление ЭВМ и вызовет ее останов.

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

Тем самым, предлагаемое устройство обеспечивает значительное повыше- 5g ние эффективности проведения отладки программ, сокращая в итоге длительность .отладки и увеличивая производительность труда программистов.

В качестве базового объекта взята ЭВМ ЕС-1060, в которой отладка программ производится с использованием спецрегистров, входящих в состав ЭВМ, и запись управляющей инфор- мации на них производится с использованием спецкоманд, входящих в отлаживаемую программу. Для отладки требуется перетрансляция программ, подлежащих отладке, с целью постановки (для отладки) и исключения (после)отладки ойераторов, обеспечи- 65 вающих отладку, что значительно удлиняет и усложняет процесс отладки.

Опытным путем установлено, что трудоемкость разработки программ с использованием предлагаемого устройства уменьшается Hà 103.

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

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

962945

30

БНИИПИ Заказ 7514/б9 Тираж 731 Подписное

Филиал ППП "Патент", r.Óæãoðoä,óë.Ïðîåêòíàÿ,4 третьего регистра и выходы элементов ИЛИ группы соединены соответственно с первой и второй группами информационных входов третьего узла сравнения, выход которой соединен с вторым входом пятого элемента И, :выход которого соединен с вторыми входами восьмого и девятого элементов И, выход девятого элемента И соединен с первым управляющим выходом устройства, выходы седьмого и восьмого элементов И соединены соот ветственно с первым и вторым входами третьего элемента ИЛИ,выход,;<оторого соединен с вторым управляющим выходом устройства, первый, второй, третий и четвертый управляющие входы устройства соединены соответственно с вторыми входами второго, третье-" го, четвертого и шестого элементов И, выход первого элемента И соединен с третьими: входами пятого и шестого элементов И, первый информационный вход устройства соединен с вторыми входами второго узла сравнения и элементов И второй группы, второй и третий информационные входы устройства соединены с вторыми входами элементов И первой и третьей групп.

Источники информации, принятые во внимание при экспертизе

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

Р 277410, кл. G 0 6 F 9/00, 1970.

2. Заявка Японии 53-41497, кл. G 06 F 11/00, 1978 (прототип).

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

 

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

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