Устройство для прерывания при отладке программ
Иллюстрации
Показать всеРеферат
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик
«»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 (прототип).