Устройство для отладки программ
Иллюстрации
Показать всеРеферат
УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ , содержащее наладёчный блок памяти, блок управления, блок формирования адреса и регистр режима, причем информационные вход и выход устройства через шину данных соединены соответственно с входом и выходами данных наладочного блока памяти и блока управления, адресные входы наладочного блока памяти и блока формирования адреса образуют входную адресную шину устройства, управляющие, входы наладочного блока памяти, блока управления и регистра режима образуют управляющую шину устройства,выход регистра режима соединен с входом режима блока управления, отличиющ е е с я тем, что, с целью расширения функциональных возможностей устройства за счет наращивания сервисных операций, в устройство введен блок отображения Kn optjiaiifm причем первый, второй. Третий и четверть1|й выходы блока правления соединены соответственно с первым, вторым, третьим входами блока Формирования адреса и упрЪ яющим выходом разрешения выборки основной памяти устройства, третий выход блока управления соединен с управляющими входами наладочного блока памяти и блока отображения информации, шина данных устройства соединена с входом и выходом данных блока формирования адреса и с первыми входами блока отображения информации , управляющая шина устройства соединена с вторым входом блока отображения информации, причем блок управления содержит пять триггеров, команды перехода, группу элементов И, шесть элементов И-НЕ, первый, второй и третий дешифраторы, О) элемент ИЖ-НЕ и элемент НЕ, причем первый разряд управляющего входа блока соединен с D-входом первого триггера , с первыми входами первого и второго элементов И-НЕ, второй разряд управляющего входа блока соединен с вторыми входами первого и второго элементов И-НЕ и с входом синхронизации первого триггера, третий разряд управлякицего входа блока соединен с входом синхронизации второго тригге- , ра и через элемент НЕ с управляющими входами третьего, четвертого, пятого и шестого элементов И-НЕ, четвертый разряд управляющего входа блока соединен с входами установки нуля второго и третьего триггеров и с первым входом элемента ИЛИ-НЕ, выход которого соединен с входом установки нуля четвертого триггера, вход данных блока соединен с информационными входами первогои второго дешифраторов, вы , ходы которых соединены соответственно сГ -входами четвертого триггера и
СОЮЗ СОВЕТСКИХ . СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
С 06 Р 11/26 ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Ы ",,13
ЫЬА1 0 2i. 4
Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
Г1О ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3476468/18-24 (22) 12.07.82 . (46) 30.06.84. Бюл. Р 24 (72) Д.И.Вигдоров, Г.В.Ширин, Э.С.Исаханов и С.С.Бабаев (71) Азербайджанский институт нефти и химии им. М.Азизбекова (53) 681.3(088.8) (56) 1. Авторское свидетельство СССР
В 277410, кл. G 06 F 9/00, 1968.
2. Патент GllA В 4231087, кл. G 06 F 11/00, опублик. 1980.
3. Авторское свидетельство СССР
Ф 690482, кл. G 06 F 7/50, 1977 (прототип). (54) (57) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАМИ, содержащее наладочный блок памяти, блок управления, блок формирования адреса и регистр режима, причем информационные вход и выход устройства через шину данных соединены соответственно с входом и выходами данных наладочного блока памяти и блока управления, адресные входы наладочного блока памяти и блока формирования адреса образуют входную адресную шину устройства, управляющие. входы наладочного блока памяти, блока управления и регистра режима образуют управляющую шину устройства, выход регистра режима соединен с входом режима блока управления, о т л и ч а ющ е е с я тем, что, с целью расширения функциональных возможностей устройства за счет наращивания сервисных операций, в устройство введен блок отображения информации, причем первый, второй, третий и четверть@ выходы блока .правления соединены соответственно с первым, вторым, третьÄÄSUÄÄ 110062? А им входами блока формирования адреса и- упрЪн ляющим выходом разрешения выборки основной памяти устройства, третий выход блока управления соединен с управляющими входами наладочного блока памяти и блока отображения информации, шина данных устройства соединена с входом и выходом данных блока формирования адреса и с первыми входами блока отображения информации, управляющая шина устройства соединена с вторым входом блока отображения информации, причем блок управления содержит пять триггеров, регистр команды перехода, группу элементов И, шесть элементов И-HE ® первый, второй и третий дешифраторы, элемент ИЛИ-НЕ и элемент НЕ, причем первый разряд управляющего входа бло- ув ка соединен с 9-входом первого триггера, с первыми входами первого и вто- g рого элементов И-НЕ, второй разряд управляющего входа блока соединен с вторыми входами первого и второго элементов И-НЕ и с входом синхронизации первого триггера, третий разряд управляющего входа блока соединен с входом синхронизации. второго тригге- ра и через элемент НЕ с управляющими входами третьего, четвертого, пятого . и шестого элементов И-НЕ; четвертый разряд управляющего входа блока соединен с входами установки нуля второго и третьего триггеров и с первым входом элемента ИЛИ-HE выход которого соединен с входом установки нуля чет- вертого триггера, вход данных блока соединен с информационными входами ,.первого и второго дешифраторов, выходы которых соединены соответствен- но сЭ -входами четвертого триггера и, 1 1ÎÎÜ27
5 !
О с первым входом шестого элемента ИНЕ, вход режима блока управления соединен с третьими входами первого и второго элементов И-НЕ, выход первого-триггера соединен с первым управляющим входом первого дешифратора, с управляющим входом второго дешифратора, выход второго триггера соединен с входом третьего элемента И-НЕ, выход которого соединен с управляющи" ми входами элементов И группы, единичный выход третьего триггера соединен с первым входом четвертого элемента И-НЕ, с первым входом третьего дешифратора, с четвертым входом второго элемента И-НЕ, с вторым управляющим входом первого дешифратора, с входом пятого элемента И-НЕ и вторым входом шестого элемента И-НЕ, нулевой выход третьего триггера соеЪ динен с четвертым входом первого элемента И-НЕ, выход которого соединен с единичными входами второго и
Ф
Изобретение относится к вычислительной технике и может быт@ использовано для отладки программ и тестирования микропроцессорных систем.
Известно устройство для отладки программ, содержащее блок управления, блок переключения с запоминающим устройством, блок приема и вывода
° информации, блок контроля и регистр дешифратора f13.
Но известное устройство обладает узкими функциональными возможностями, так как отлаживающие программы входят в объем основной памяти отлаживаемой системы.
Известно также устройство для отладки микропроцессорных систем, содержащее блок памяти, общий для устройства и отлаживаемой системы, коммутатор информационных шин, блок управления, связанный с шинами управления отлаживаемой системы (2).
Устройство позволяет производить отладку программы системы в различных режимах, однако является достаточно сложным, так как включает в себя собственный микропроцессор с соответствующим оборудованием. Кроме того, третьего триггеров„. с вторым входом элемента ИЛИ-HE и является первым выходом блока, выход четвертого триггера соединен с вторым входом третьего дешифратора, с входом синхронизации третьего триггера и вторым входом четвертого элемента И-НЕ, выход кото" рого является вторым выходом блока, выход пятого триггера соединен с третьим входом третьего дешифратора, первый и второй выходы которого являются соответственно третьим и четвертым выходами блока, выходы пятого и шестого элементов И-HE соединены соответственно с входами синхрониза ции четвертого и пятого триггеров, выход второго элемента И-НЕ соединен с третьим входом элемента ИЛИ-НЕ и единичным выходом пятого триггера, выход регистра команды перехода соединен с информационными входами элементов И группы, выходы которых соединены с выходом данных блока.
2 данное устройство переводит систему в режим отладки по сигналу прерывания, что постоянно требует соответствующего режима отлаживаемой системы.
Наиболее близким к изобретению по технической сущности является устройство для отладки программ, содержащее наладочный запоминающий блок, соединенный информационным входом и выходом с первым выходом и входом блока приема и выдачи чисел
:и команд, второй выход которого является информационным выходом уст15 ройства, блок формирования адреса, соединенный выходом с адресным входом наладочного запоминающего блока, а первым входом — с адресным входом устройства, и блок управления, перун вые вход и выход которого являются входом команды обращения и выходом команд устройства, а второй выход подключен ко входу обращения наладоч.ного запоминающего блока. Устройств во содержит также регистр режима программ, входы которого являются управляющими, а выход подключен ко второму входу блока управления (3).
3 11ОО6 .Недостатком прототипа является необходимость наличия разрешения прерывания на уча ..тке отлаживаемой программы, принадлежность поля адресов памяти, хранящей наладочные программы к множеству адресов основной памяти отлаживаемой системы. Последнее ограничивает функциональные возможности как по расширению наладочных программ, так и по разрешенному объему основной памяти.
Цель изобретения — расширение функциональных воэможностей системы за счет наращивания сервисных операций программным путем.
Поставленная цель достигается тем, что в устройство для отладки программ, содержащее наладочный блок памяти, блок управления, блок формирования адреса и регистр режима, причем информационные вход и выход устройства через шину данных соединены соответi ственно с входом и выходами данных
\ наладочного блока памяти и блока управления, адресные входы наладочного блока памяти и блока формирования адреса образуют входную адресную шину устройства, управляющие входы наладочного блока памяти, блока управления и регистра режима образуют yrrpa8» ляющую шину устройства, выход регист30 ра режима соединен с входом режима блока управления, введен блок отображения информации, причем первый, второй, третий и четвертый выходы блока управления соединены соответст-З> венно с первым, вторым, третьим входами блока формирования адреса и управляющим выходом разрешения выборки основной памяти устройства, третий выход блока управления соединен с управляющими входами наладочного блока памяти и блока отображения информации, шина данных устройства соединена с входом и выходом данных блока формирования адреса и с первы- 4 ми входами блока отображения информации, управляющая шина устройства сое- . динена с вторым входом блока отображения информации, причем блок управления содержит пять триггеров, регистр команды перехода, группу элементов И, шесть элементов И-НЕ, первый, второй и .третий дешифраторы,. элемент ИЛИ-НЕ.и элемент НЕ, причем первый разряд управляющего блока первый разряд управляющего входа блока соединен с D --входом первого триггера, с первыми входами первого:
27 4 и второго элемейтов И-НЕ, второй разряд управляющего входа блока соединен с вторыми входами первого и второго элементов И-НЕ и с входом синхронизацип первого триггера, третий разряд управляющегс входа блока сое-i динен с входом синхронизации второго триггера и через элемент НЕ с управляющими входами третьего, четвертого, пятого и шестого элементов И-НЕ, четвертый разря,i, управляющего входа блока соединен с входами установки нуля второго и третьего триггеров и с первым входом элемента ИЛИ-НЕ, выход которого соединен с входом установки нуля четвертого триггера, вход данных блока соединен с информационными входами первого и второго дешиф.раторов, выходы которых соединены соответственно с 3 -входами четвертого триггера и с первым входом шестого элемента И-НЕ, вход режима блока управления соединен с третьими входа-! ми первого и второго элементов И-НЕ, выход первого триггера соединен с первым управляющим входом первого дешифратора, с управляющим входом второго дешифратора, выход второго триггера соединен с входом третьего элемента И-HE выход которого соединен с управляющими входами элементов
И группы, единичный выход третьего триггера соединен с первым входом четвертого элемента И-НЕ, с первым входом третьего дешифратора, с четвертым входом второго элемента И-НЕ, с вторым управляющим входом первого дешифратора, с входом пятого элемента
И-НЕ и вторым входом шестого элемента И-.НЕ, нулевой выход третьего триггера соединен с четвертым входом первого элемента И-НЕ, выход которо-. го соединен с единичными входами второго и третьего триггеров, с вторым входом элемента ИЛИ-НЕ и является первым выходом блока, выход четвертого триггера соединен с вторым входом третьего дешифратора, с входом синхронизации,третьего триггера и вторым входом четвертого элемента И-НЕ, выход которого является вторым выходом блока, выход пятого триггера соединен с третьим входом третьего дешиф- . ратора, первый и второй выходы которого являются соответственно третьим и четвертым выходами блока, выходы пятого и шестого элементов И-НЕ соединены соответственно с входами синхронизации четвертого и пятого тригге0627 6 любому адресу основной памяти, чтение слов состояния программы на каждом шаге отладки, автоматический ввод и вывод участков основной программы с помощью технических средств н т.д. При этом только путем наращивания программного обеспечения в НБП можно полу чить широкий спектр сервисных операций в объеме полной памяти, адресуемой микропроцессором, без ограничений на объем.и содержание сглаживаемой программы, находящейся в основ ной памяти.
На фиг. 1 представлена структурная схема устройства для отладки
npoi.paMM. на фиг. 2 — функциональная схема блока управления; на фиг. 3— таблица истинности дешифратора блока управления; на фиг. 4 — функциональная схема блока формирования адреса на фиг. 5 — функциональная схема регистра режима на фиг. 6 — функциональная схема наладочного блока памяТи, на фиг. 7 — функциональная схема блока отображения информации; на фиг, 8 « временная диаграмма работы блока управления при переходе иэ основной программы в работу с НБП; на фиг. 9 - структура программного обеспечения, записанного с НБП, на фиг. 10 — временная диаграмма работы блока управления при выполнении команд чтения и записи, на фиг. 11 временная диаграмма работы блока управления при выходе в основную программу.
Предлагаемое устройство (фиг. 1) состоит из блока f управления, соединенного двусторонней связью,с шиной данных, с блоком 2 формирования адреса, наладочным блоком памяти 3, блоком 4 отображения информации, регистром
5 режима и шинами управления. К ши-. нам данных присоединены также блоки
2-5, а блоки 2 и 4 подсоединены также к адресным шинам контролируемой микропроцессорной системы. Кроме того, блок управления связан с входом разрешения выборки основной памяти микропроцессора, а также входами разрешения выборки блоков 2, 3 и 4.
На фиг. 2 изображена функциональная схема блока управления, представляющего собой автомат, содержащий пять триггеров 6-10, шесть элементов
И-НЕ 11-16, элемент НЕ 17, элемент
ИЛИ-НЕ 18, дешифратор 19. 1 (кода команды возврата), дешифратор 19.2 (кода команды обращения к памяти), 5 110 ров, выход второго элемента И-НЕ сое-, динен с третьим входом элемента ИЛИНЕ и единичным выходом пятого триггера, выход регистра команды перехода соединен с информационными входами
5 элементов И группы, выходы которых соединены с выходом данных блока.
Сущность изОбретения заключается в том, что при переходе в режим отладки адрес очередной команды, извле -fр ченной микропроцессором из основной памяти для выполнения, запоминается в блоке формирования адреса, а код ее на шинах данных элементов заменяется с помощью блока управления на код команды перехода к определенному участку программы наладочиого блока памяти (НБП). Поскольку одновременно блок управления устройства разрешает работу наладочного запоми- 20 нающего блока и запрещает работу ос4 новиой памяти npoqeccopa, то тем самым обеспечиваешься переход к выполнению программы отладки записанной в
НБП. 25
Возвращение к продолжению выполнения программы основной памяти происходит по соответствующему указанию о". регистра режима согласно адресу, хранящемуся в блоке формирования адреса, и сопровождается обратным переключением блоков памяти. Такое решение устройства приводит к то%у, что поле адресов памяти наладочного блока памяти не может совпадать с полем адресов памяти отлаживаемой микропроцессорной системы, и переход процессора иэ рабочего режима в режим отладки (теста) не требует наличия разрешения прерывания а увеличение набоЭ
30 ра сервисных операций связано лишь .с увеличением подпрограмм в НБП.
Каждая из подпрограмм отладки, записанных в НБП, начинается с сохранения слова состояния микропроцессо45 ра и содержимого его внутренних регистров, а перед возвратом к основной программе происходит восстановление этих параметров. Результаты работы отладочной (тестовой) операции выводятся на блок отображения, также уп50 равляемого программой в НБП.
Таким образом, контролируемая микропроцессорная система, оставаясь в автоматическом режиме работы, может обеспечить на любом участке програм"; . мы как автоматическое, таки покоманд-, ное выполнение основной программы, смену программ, чтение и запись по группу элементов И 20, регистр 21 команды перехода и дешифратор 22, таблица. истинности которого представлена на фиг. 3.
На фиг. 4 изображена функциональная схема блока 2 формирования адреса, представляющего собой регистр 23 памяти, входной мультиплексор 24, подключающий на вход регистра 23 шину адреса или шину данных, и вьмодной l0 набор трехстабильных ключей 25.
На фиг.. 5 изображена функциональная схема регистра 5 режима, представляющая собой многоразрядный регистр
26, на входы которого поступают управ 1 ляющие воздействия, определяющие режим работы и тип обслуживающей операции, а также набор трех стабильньм ключей 27, подсоединенный к шине данных. 20
На фиг. 6 изображена функциональная схема наладочного блока 3 памяти, построенного по известной схеме с применением элементов памяти ОЗУ и ПЗУ на интегральных схемах. Элемен- 2 ты 28 -28 представляют собой подtl множество элементов ОЗУ, необходимых для работы отладочных программ, записанных в ПЗУ на элементах 29 -29п.
Дешифратор 30 адреса имеет вход разрешения выборки„ связанный с выходом
Ь блока 1. Связь с шиной данньм (ШД) микропроцессора осуществляется через двунаправленный буфер 31.
Блок 4 сопрягается .с микропроцессо35 ром, как стандартное внешнее устройство через шины данных, адреса и управления. В качестве отображающего . модуля могут быть использованы различные устройства, например стандартная индикаторная панель ПИУ-2. Структурная схема блока 4 показана на фиг. 7. В него входят регистр 32 и модуль отображения 33.
Устройство работает следующим обра45 зом.
В исходном состоянии на выходе Ъ блока управления 1 — единичный сигнал
: запрета НБП, а на выходе b нулевой потенциал разрешения выборки основной
50 памяти. Иикропроцессор работает s автоматическом режиме. Подключенное устройство не создает помех нормаль-, ному функционированию микропроцессорной системе. Сигнал начала режима отладки поступает в форме единичного
Я уровня с выхода с регистра режима на вход d, блока 1 управления. По этому сигналу в цикле выборки микро
7 »OOeZ7 8 процессором очередной команды пэ основной памяти элементом И-HE I1 блока управления 1 вырабатывается сигнал, которьг1 по выходу Ь, передается на вход d, блока 2 формирования адреса как сигнал записи а греса ячейки основной памяти, из которой должна быть считана очередная команда.
При отсутствии сигнала разрешения на выходе b блока,3, соединенного с входом Я„ блока 2 :ерез мультиплексор 24, на вход регистра 23 подключена шина адреса. В результате в регистре 23 блока 2 оказывается записанным соответствующий адрес. Одновременно с этим устанавливаются в 1" триггеры 7 и 8 и переключается сигнал разрешения выборкй памяти с ,выхода Ъ на Ь+ блока 1. С приходом от шины управления по входу a„ сигнала блок 1 .выдает через элемент
И-НЕ 13 по входу Ь,. на шину данных код команды перехода к начальной области памяти блока 3, которая в последующих циклах выполняется микропроцессором. Задним фронтом сигнала сбрасывается триггер 7. Временная диаграмма работы блока 1 на этапе перехода в режим отладки показана на фиг. 8. Таким образом, устройство переводит микропроцессор в режим работы с отладочной программой, записанной в элементах ПЗУ,наладочного блока 3 памяти.
Структура отладочной программы показана иа фиг. 9. Программа .начинается с запоминания слова состояния процессора и содержания внутренних регистров, затем по коду режима, считанного с регистра 5 режима, осуществляется переход к тому или иному модулю (подпрограмме) сервисного обслуживания (К вЂ” К„), среди которых могут быть операции "Пуск", "Чтение регистров", "Фотоввод", "Чтение из памяти", "Запись в память", "Тест" и т.д. Количество этих модулей, т.е. объем памяти НБП, ограничено только возможностями адресации микропроцессора, так как в общем виде объем НБП может быть равен полному объему основной памяти микропроцессорной системы. Все модули (подпрограммы) сер висного обслуживания, за исключением модуля "Пуск", обеспечивают переход на модуль обслуживания блока отображения, куда выводятся результаты операции. Затем программа переходят снова к модулю опроса регистра режи-
9 11ОО ма 5, ожидая нового указания. Только после выполнения указания "Пуск" осуществляется восстановление регистров и слова состояния основной программы и переход к работе с основной памятью. Отдельно остановимся на работе устройства в режиме обращения (чтения/записи) к основной памяти.
Модули (подпрограммы) НБП, реализующие операции чтения/записи в основ" fp ную память, используют непосредственно для реализации операции чтения/записи по одной из модификаций команд чтения/записи, которые не должны быть использованы в НБП. для других целей. 15
С приходом кода команд (обращения к памяти на шину данных (вход а блока f управления) срабатывает дешифратор 19 .2 кода этих команд, и по заднему фронту сигнала. через элемент И-НЕ 16 включается триггер 10, что вызывает, согласно таблице (фиг. 3), обратное переключение сиг,налов разрешения выборки основной памяти и НБП (выходы Ъ,, Ъ ) . .25
Временная диаграмма работы блока
1 при обращении к основной памяти при.-. ведена на фиг. 10. Обратное переключение, т.е. возврат к работе с НБП, происходит с приходом признака выбор-щ ки очередной команды. Таким образом, устройство обеспечиват выборку команды чтения из НБП, а исполнение операционной части команды чтения/записи с подключенной основной памятью.
Переход к выполнению программ ос,новной памяти процессора также осуществляется по коду, считанному с регистра режима (код операции "пуск").
Перейдя к соответствующему модулю 4О (подпрограмме) в НБП (фиг. 3), микропроцессор выполняет одну из модификаций команды возврата, которая является запрещенной в других участках памяти НБП. Временная диаграмма рабо-4> ты блока управления по переходу к работе с основной памятью показана на фиг. 11. С приходом в цикле выборки команды кода указанной модификации на вход с, блока t управления срабатывает дешифратор 19.1 и по заднему фронту сигнала йп включается триггер 9. При этом согласно логике дешифратора-22 блока 1 (фиг. 3) снимается Разрешение с выходов Ь+ и Ь блока 1. И во время исполнения опера627 f0 ционной части команды возврата на элементе И-НЕ 14 формируется импульс выдачи на шину данных адреса перехода, хранимого в блоке 3 формирования адреса. Этот импульс с вьиода с
Э блока 1 поступает на вход d блока з
3 и разрешает выдачу на ШД кода из регистра 23, который считывается микропроцессором и определяет адрес следующей выполняемой команды. С приходом очередного признака выборки команды сигналом с выхода элемента ИЛИНЕ !8 выключаются последовательно триггеры 9 и 8, что согласно логике работы дешифратора 22 определяет разрешение выборки основной памяти Ъ
5 и запрещение выборки НБП 1 . На этом переход к выполнению отлаживаемой программы завершается.
Предложенное устройство позволяет производить процесс отладки программньи и программно-аппаратньи средств, работающих под управлением микропроцессоров. Отладка может осуществляться с помощью широкого набора отладочных операций. Расширение и изменение отладочньи функций
;не требует увеличения или изменения аппаратных средств в устройстве, а
t лишь увеличения или изменения программного обеспечения, записанного в
НБП. Емкость НБП может быть увеличена до объема всей памяти, адресуемой микропроцессором. При этом переход в режим отладки не требует ограничений на содержание программы (например, разрешения прерывания) в основной памяти микропроцессорной системы.
Кроме того, отлаживаемая микропроцессорная система может не иметь аппаратных средств работы в шаговом режиме и средств индикации. Даже находясь " постоянно в автоматическом режиме работы, микропроцессор с помощью предложенного устройства может обеспечить пошаговое выполнение программы и индикацию всей необходимой наладочной информации. С учетом указанных возможностей предложенное устройство позволяет повысить эффективность процесса отладки и дает возможность использовать его в качеетве простого переносного пульта для отладки, контроля и диагностики микропроцессорных систем.
1100627
1100627
1100627
Цииьйние; а)8иьйноб сигнал 0
> + N РЖшссющим
Щ х - запрещенное сюгММииЕ
Ьг.3
1100627
Ф 100627
1100627
Составитель Г,Щирин
Редактор К.Волощук Техред С.. Мигунова Корректор M. Деичик
Заказ 4582/38 Тираж 699 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113Q35, Москва-, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4