Устройство для отладки микроэвм
Изобретение относится к вычислительной технике и может быть использова1То для автоматизации отладки ., программ в реальном м штабе времени для специализированных программных устройств на базе однокристальной микроэвм (ОЮ), для записи отлаженных программ пользователя во внутреннее постоянное запоминакмее устройство (ПЗУ) ОМЗ и для отладки аппаратной част 1 программш.-к устроПств на базе . ОМЭ. Изобретение позволяет повысить. производительность процесса отладки за счет предоставления лользоватеяю полного адресного пространства для размещения программ, обеспечения в пошаговом режиме функций таймера и прерываний, а также за счет реализации возможностей записи и контроля информации во внутре}и1бм ПЗУ. Устройство для отладки микроЗВМ содержит блок формирования адреса, регистр адреса останова, два регистра управления, мультиплексор, блок ключей , блок сравнения адреса, эмулирую;- щуто микроЗВМ, регистр отображения, регистр адреса, блок памяти данных, дешифратор команд, два коммутатора, .вспомогательньй блок памяти, блок памяти программ, два элемента ИЛИ. Устройство имеет входы и выходы для ;подклгочен1« к управляющей ЗВМ и имеет средства дпя подключения к отла- - живаемой микроЗВМ. 2 з.п. ф-лы,3 ип., 1 табл. (Л с 141 О
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИК
„.Я0„„141070
А1 (51) 5 С 06 F 11/26
";,;.0ЯИМ
ЦЕЧТ11О- ТЕХК4%ЕКИ!
f-,1БЛ1 101 "
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н Д BTOPCHOMV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
f10 ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (46) 1 5, 09. 90. Бюл. У 34 .(21) 3997002/24-24 .(22) 04.11.85 (71) пециальное конструкторское: бюро прецизионного станкостроения и Всесоюзный научно-исследовательский институт электроизмерительных приборов (72) Г.Я,Зобин, А.И.Огнев, А.Б.Минкович„ Е.С.Крнвопальцев, В.А.Серебрянный и Б.А,1 1кольник (53) 681. 3 (088. 8) (56) 11УЬгапе systemy wspomoganie dla
mikrokomputer8w rodziny МСБ-48.
INFORKLTYKAр 1 983 р У 1 р с е 1 0- 1 2 е
ICE-49 IN CIRCUIT EMULATOR OPERATING INSTRUCTIONS FOR ISIS-II .USERS, .1979, Intel Corporation, Santa Clara, Со. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ МИКРОЭВМ (57) Яаобретение относится к вычислительной технике и может быть использовано для автоматизации отладки программ в реальном масштабе времени для специализированных йрограммных устройств на базе однокристальной микроЭВМ (ОМЭ), для записи отлаженных программ пользователя во внутреннее постоянное запоиинакилее устройство (ПЗУ) ОМЭ и для отладки аппаратной части программных устройств на базе .
ОМЗ. Изобретение позволяет повысить . производительность процесса отладки за счет предоставления дольэователю полного адресного пространства для размещения программ, обеспечения в пошаговом режиме функций таймера ц прерываний, а также эа счет реалиаа" ции возможностей записи и контроля . информации во внутренпем ПЗУ. Устройство для отладки микроЭВМ содержит блок формирования адреса, регистр адреса останова, два регистра управления, мультиплексор, блок ключей, блок сравнения адреса, эмулирую- . щую микроЭВМ, регистр отображения, регистр адреса, блок памяти данных, дешифратор команд, два коммутатора, .вспомогательный блок памяти, блок
;памяти программ, два элемента ИЛИ, Устройство имеет входы и выходы для
;подключения к управляющей ЭВМ и имеет средства для подключения к отлаживаемой микроЭВМ. 2 з.п. ф-лы,3 ип., 1 табл.
1 141070
Изобретение относится к вычислительной технике и может быть использовано для автоматизации отладки программ,s реальном масштабе времени для специализированных программных устройств на базе однокристальной микроЭВМ (ОМЭ), для записи отлаженны> программ пользователя во внутреннее .постоянное эапоминакицее устройство (ПЗУ) ОМЭ и для отладки аппаратной части программных устройств на базе
ОМЭ..
Целью изобретения является повышение производительности процесса от- 15 ладки.
На фиг, 1 приведена структурная схема устройства для отладки микроЭВМ; на фиг. 2 - структурная схема блока формирования адреса; на фиг. 3 » структурная схема блока сравнения адреса.
Устройство содержит управляющую
ЭВМ l с шиной 2 адреса и шиной 3 данных, блок 4 формирования адреса, .регистр 5 адреса останова, первый 6 и второй 7 регистры управления, мультиплексор 8, буфер 9 программирова- ЗР ния, блок 10 сравнения адреса, однокристалльную эмулирующую микроЭВМ 1 (ОМЭ ll), регистр 12 отображения, шину 13 данных эмулирующей микроЭВМ, регистр 14 адреса, буфер 15 польэова- 35 теля, блок 16 памяти данных, дешифратор 17 команд, информационный входвыход 18 блока памяти программ, пер" вый коммутатор 19, второй коммутатор
20, воспомогательный блок 21 памяти, 4р блок 22 памяти. программ, первый элемент ИЛИ 23, второй элемент ИЛИ 24, двунаправленную шину 25 устройства для подключения к отлаживаемой микроЭВМ.
45 !
Блок 4 формирования адреса содержит триггер 26, шифратор 27, счетчик
28, мультиплексор 29, регистр 30 фрагмента, первый 31, второй 32 и третий 33 регистры констант, второи . формирователь 34 импульсов, первый элемент И 35, второй элемент И 36, первый формирователь 37 импульсов, элемент ИЛИ 38.
Таблица истинности шифратора 27 .
Блок 1О сравнения адреса содержит компаратор 39 адреса, элемент ИЛИ 40, первый триггер 41, второй триггер 42, Устройство работает следующим обраэом.
Управляющая ЭВМ 1 (УЭВМ) в символьном виде на ассемблере ОМЭ позволяет редактировать текстовые файлы, транслировать их в машинные коды ОМЭ и подготовить загрузочные модули программ пользователя. Кроме того, в памяти УЭВМ 1 размещается, специальная программа "Отладчик", которая управляет работой устройства. Программа
"Отладчик" постоянно. поддерживает связь с оператором посредством терми" нала, входящего в состав УЭВМ 1, Управление режимами работы устройства происходит по командам оператора, набираемым на клавиатуре терминала, при этом вся необходимая информация выводится на дисплей.
Устройство имеет следующие режимы работы:
1. Сброс микроЭВМ.
2. Загрузка программы пользователя в блок памяти программ.
3. Чтение и модификация блока па- . мяти программ.
4. Выбор источника программы мик- . роЭВМ.
5. Установка и сброс точки останова.
6. Переустановка счетчика команд микроЭВМ.
7, Пуск программы в реальном вре" мени.
8. Выполнение программы по шагам.
9. Принудительный останов программы.
10. Чтение и модификация содержимого внутренних ячеек микроЭВМ.
ll. Обеспечение прерываний программы микроЭВМ от внешнего события или внутреннего счетчика событий.
12. Обеспечение прерывания программы микроЭВМ от внутреннего таймера. !
3. Программирование внутреннего
ПЗУ микроЭВМ. . 14. Тестирование внутреннего ПЗУ микроЭВМ.
Каждый режим работы устройства представляет собой некоторую последовательность состояний устройства.
Переключение устройства иэ одного состояния в другое осуществляется посылкой соответствующего кода из УЭВМ в первый 6. и второй 7 регистры управления, выходы которых соединены с
14107 входами управления всех элементов устройства.
Все режимы работы устройства на икаются и заканчиваются исходным coc" тоянием устройства. Исключение составляют режимы: "Пуск программы в реальном времени" и "Принудительный останов".
В исходном состоянии устройства на выходах регистров 6 и 7 управления активный уровень имеет сигналы
Ml и "Фрагмент". Уровень сигнала, "Раэр." на выходе первого регистра 6 управления и сигнала на первом выхо- 15 де второго регистра 7 управления в исходном состоянии может быть произвольным - это определяется последнии выполненным режимом устройства, но при включении устройства они устанав-20 ливаются в пассивный уровень. Все остальные выходы обоих регистров управления имеют в исходном состоянии пассивный уровень. В результате этого в исходном состоянии: 25
1) мультиплексор 8 соединяет шину
2 адреса с адресным входом блока 22 памяти программ;
2) вход-выход данных блока 22 памяти программ подключен к шине 18 данных, которая в свою очередь через первый коммутатор 19 соединена с ши" ной 3 данных, таким образом блок 22 памяти программ подключен к УЭВМ 1;
3) ОМЭ 11 с помощью блока 10 переводится в состояние "Останов", При этом ОМЭ 11 через шину 13. данных, а также через свой второй порт переда" ет в регистр 12 отображения содержи" мое своего счетчика команд! 40
4) выход блока 10 подключен к регистру 12 отображения и отображает наличие или отсутствие состояния ОсИ танов" ОКЭ 11. Таким образом УЭВМ при чтении через первую шину 3 дан- 45 ных регистра 12 отображения получает информацию о содержимом счетчика команд ОМЭ и состоянии "Останов" ОМЭ;
5) буфер 9 программирования отключает первый выход блока 4 от шины
13 данных и от второго порта ОЮ 11, Устройство имеет два исходных состояния, обеспечивающих подготовку ОМЭ либо к работе от внутреннего П3У ОМЭ
i1, либо от блока 22 памяти программ.
Это определяется специальными командами оператора в режиме "Выбор источника программы ОМЭ". При включении питания устройство, переходит в
08 исходно е состояние, ориентирующее
ОМЭ 11 на работу с блоком 22 памяти
I программ.
Работа устройства в указанных режимах происходит следующим образом.
Сброс ОМЭ.
В этом режиме второй регистр 7 управления выдает активный уровень сигнала СБРОС на вход У4 ОМЭ !), который осуществляет сброс ОМЭ. При этом внутри ОМЭ 11 происходят необходимые переустановки; в частности обнуляется счетчик команд и все порты переводятся в отключенное состояние. Этот же сйгнал обнуляет триггер в блоке 4., Режим заканчивается снятием сигнала
СБРОС и переводом устройства в исход- ное состояние.
Загрузка программы пользователя в блок-памяти программ.
В этом режиме подготовленный загрузочный модуль программы пользователя из УЭВИ 1 переписывается по- . байтно в блок 22 памяти программ. За пись в блок памяти программ осуществляется иэ исходного состояния устройства с помощью сигнала "Запись в блок памяти программ" от УЭВМ 1.
Чтение H мс пи!:ик,1ция блока памяти программ.
В этом режиме ва дисплей выводится содержимое ячейки блока 22 памяти программ, адрес которой задан оператором с клавиатуры. Оператор может ввести в ячейку новое содержимое.
Чтение и модификация блока памяти программ осуществляется иэ исходного q состояния устройства с помощью сигна« лов от УЭВМ 1 "Запись в блок памяти, программ" и "Чтение блока памяти программ".
Выбор источника программы ОМЭ.
Сначала второй регистр 7 управления выдает на вход У 4 ОМЭ 11 активный уровень сигнала СБРОС, чем осуществляет сброс ОМЭ. Затем упомянутый регистр устанавливает на входе У1 ОМЭ
11 сигнала "Лог. 0" (для работы ОМЭ
l1 от внутреннего ПЗУ) или сигнал
"Лог. 1" (для работы ОМЭ от блока 22 памяти программ или от внешней программной памяти пользователя, под" ключаемой через буфер 15 пользователя в соответствии с командой оператора. После этого снимается сигнал
СБРОС, и устройство переходит в исходное состояние. УстаНовленный при этом уровень сигнала на входе У! ОМЭ
1410708
11 определяет в дальнейшем для всех последующих режимов устройства ис" точник программы дпя ОМЭ.
Установка и сброс точки останова.
Установка точки останова используется для обеспечения возможности останова программы ОМ3 в заданном месте при выполнении программы пользователя в реальном времени. 10
При установке точки останова
УЭВМ l по шине 3 данных записывает в регистр 5 адреса останова заданный оператором адрес, а первый регистр 6 выдает активный уровень сигнала
1 Раэр.". При этом разрешается работа компаратора 39 адреса в блоке 10. При сбросе точки останова сигнал
"Раэр." переводится в пассивный уровень, что запрещает работу компара- 20 тора адреса 39 в блоке 10.
Переустановка счетчика команд.
Режим выполняется при работе ОМЭ
11 от блока 22 памяти программ или от внешней программной памяти пользо 25 вателя. После распознавания команд оператора УЭВМ 1 формирует во вспомо.гательном блоке 21 памяти код команды безусловного перехода по укаэаному оператором адресу. Для этого сиг- 30 налы Nl u Nl воздействуя на входы управления соответственно блока 22 памяти программ и вспомогательного блока 21 памяти, подключают к шине
18 данных вход-выход вспомогательно" го блока 21 памяти (вместо блока 22
35 памяти программ) . pec ячейки вспомогательного блока 21 памяти, содер" жащей код команды безусловного перехода по укаэанному адресу, заносится 40 в регистр. 30 фрагмента блока 4. 3атем шина 18 данных подключается к шине 13 данных через второй коммута тор 20. Далее, второй регистр 7 управления выдает на вход У6 блока 4 45 уровень "Лог. 0" сигнала "Фрагмент", который через формирователь 37 импульсов обнуляет счетчик 28. Затем второй регистр 7 управления последовательно выдает на вход У5 блока 4 два импульса Этап, которые перево11
50 дят счетчик ?8 в состояние, обеспечивающее передачу содержимого регистра 30 фрагмента на выход мультиплексора 29. Это достигается тем, что выходы счетчика 28 через шифратор 27 воздействуют на входы управления мультиплексора 29. Одновременно со вторым импульсом "Этап" первый регистр 6 управления выдает на вход
ОМЭ 11 сигнал "1Яаг", что приводит к пуску ОМЭ 11 на один командный цикл и появлению импульсов синхронизации на выходе "Синхр." ОМЭ 11 которые выключают формирователь 31 импульсов в блоке 4 после исполнения одной команды. В результате этого на время одного командного цикла мультиплексор 8:подключает к адресному входу вспомогательного блока 21 памяти первый выход блока 4, т.е. содержимое регистра 30 фрагмента. Таким образом
ОЙЭ 11 исполняет команду безусловного перехода по укаэанному адресу, т.е. перестраивает счетчик команд.
Затем устройство переводится в исходное состояние.
Пуск программы в реальном времени.
Пуск программы ОМЭ в реальном .времени возможен как с текущего значения счетчика команд, так и с произвольного заданного оператором адреса.
Пуск программы ОМЭ в реальном времени с текущего значения счетчика команд осуществим при любом источни" ке программы 0М3 и выполняется следующим образом.
Мультиплексор 8 подключает выход регистра 14 адреса к адресному входу блока 22 памяти программ, вход-выход данных которого сигналом Nl подключается к шине 18 данных, которая через второй коммутатор 20 подключается к шине 13 данных. Таким образом блок памяти 22 программ подключен к ОМЭ
11 для работы. Далее первый регистр 6 управления формирует активный уровень сигнала "Пуск", который поступает на третий вход управления блока 10. Сиг" нал "Пуск" сбрасывает триггер 41 в блоке 10 и устанавливает в блоке 10 триггер 42 в активное состояние, не зависящее от наличия сигнала на первом входе управления У! .блока 10. Тем самым активизируется вход "I tar" ОМЭ
11, в результате чего ОМЭ 11 начинает выполнять программу в реальном времени либо от внутреннего ПЗУ, либо от блока 22 памяти программ, либо от внешней программной памяти пользователя (в зависимости от того, что было выбрано ранее). Выполнение программы будет происходить до выявления точки останова или осуществления оператором принудительного останова.
При работе ОМЭ 11 от блока 22 памяти программ или внешней програм14!0708 мной памяти пользователя в начале каждого командного цикла содержимое, счетчика команд переписывается с помощью сигнала на вью<оде нСинхр." OM3
11 в регистр 14 адреса со второго
5 портя ОМЭ l l и шины 13 данных. Регистр 14 адреса передает адрес команды на компаратор 39 адреса блока 10 (через второй адресный вход), а также через мультиплексор 8 на адресный вход блока 22 памяти программ. Код команды с выхода блока памяти программ или внешней программной памяти .пользователя передается через шину
13 данных на вход-выход "Лина" ОМЭ !
I под управлением сигнала с выхода чтения команд (ЧТК) ОМЭ 11 (связь выхода ЧТК и ОЗУ программ на фиг. 1 не показана). 20
Выявление точки остянова происходит с помощью компяряторя 39 адреса в блоке !О. Если точка останова установлена, т.е, сигнал "Раэр." на входе У5 блока 10 активен, то при .ра- д ненстве текущего адреса команды и ядр .ся остянояа (соответственно на втором и первом адресных входах компарятора 39 ядр"са в блоке 10) компа рятор адреса активным уровнем на 30 своем выходе,ерез элемент ИЛИ 40 в блоке 10 устанавливает в активное
cocтояние триггер 41, чем снимает
t сигнал установки с триггера 42 в блоке 10. При этом сигнал с выходя
"Синхр." ОМЭ !1, поступающий на первый вход управления блока !О, переводит триггер 42 в пассивное состояние.
Пассивный уровень с выхода триггера
42 блока !С поступает ня вход "Паг"
ОМЭ !! и переводит И!Э в исходное состояние. Выявление точки останова невозможно при работе ОМЭ 11 от внутрецнего ПЗУ, тяк как в регистр 14 адреса не передается содерх<имое счет- 4 чика команд О!!Э.
Пуск программы ОМЭ в реальном времени с произвольного заданного оператором адреса возможен когда источником программы ОМЭ служит либо блок
22 памяти программ, либо внешняя . программная память пользователя, Подключаемая через буфер 15 программирования, При этом сначала осуществляет-. ся переустановка счетчика команд ОМЭ, а зятем пуск программы в реальном времени с текущего значения счетчика команд. Выполнение программы будет происходить до выявления точки оста8 нова или осуществления. оператором принудительного останова.
Выполнение программы по шагам.
По команде оператора.возможно вы-. полнение одной команды ОМЭ с последующим остановом ОМЭ (одии шаг) ипи выполнение нескольких команд с последующим остановом ОМЭ (несколько шагов). Этот режим возможен для любого источника программы ОМЭ.
Для выполнения очередной одной команды первый регистр 6 управления выдает импульс ".Яаг", который переводит триггер 42 блока 10 в активное состояние и через вход "Наг" ОМЭ 11 осуществляется пуск ОМЭ 11. При этой на выходе "Синхр." появляются импульсы командного цикла, которые через вход У1 блока 19 сбрасывают триггер
42 в блоке 10. Таким образом происходит выполнение одной команды, после чего ОМЭ 11 возвращается в состояние
"Останов".
Если задано выполнение нескольких
1 шагов, то УЭВМ 1 выдает заданное ко" личество импульсов "Иаг" через первый регистр 6 управления. При этом после выполнения очередного шага, что проверяется наличием состояния
"Останов" ОМЭ через регистр 12 отображения, УЭВМ 1 выдает очередной сигнал "!1!аг", ждет перехода ОМЭ 11 в состояние "Останов" и так до выполнения заданного количества шагов. Ре" жим заканчивается переводом устройства в исходное состояние.
При выполнении программы ОМЭ от блока 22 памяти программ или от внешней программной памяти пользователя . как в реальном времени, так и по maгам триггера 26 блока 4 отражается режим работы внутреннего таймера ОМЭ.
Это достигается тем, что дешифратор
17 команд„ тестируя коды команд,.поступающие на шину 13 данных, выделяет команду управления внутренним таймером ОМЭ "Старт таймера" и "Стоп таймера" и вырабатывает сигналы
"Старт" и "Стоп", поступающие с выходов дешифратора !7 команд соответственно на входы У 3 и У 4 блока 4. Эти сигналы, проходя через первый 35 ивторой 36 элементы И соответственно, устанавливают или сбрасывают триггер
26. Сброс триггера 26 возможен также по сигналу "Сброс" (вход У7 в бло-. ке 4),,осуществляющему сброс ОМЭ 11, 14107 так как при сбросе ОМЭ происходит оселков внутреннего таймера.
При выполнении программы ОМЭ от любого источника программы ОМЭ уст.5 ройство обеспечивает либо работу с реальной. отлаживаемой системой пользователя, подключаемой через буфер 15 пользователя, либо имитирует работу системы пользователя. 1О
Для имитации системы пользователя предложенное устройство содержит блок
16 памяти данных, а также первый 23 и второй 24 элементы ИЛИ. Блок 16 памяти данных служит для имитации рабо 1> ты ОМЭ 1 1 с внешними относительно ОИЭ ячейками данных пользователя или устройствами ввода-вывода пользователя.
На вход блока 16 памяти данных поступает адрес внешней. ячейки данных с регистра 14 адреса, а его вход-выход подключается к шине 13 данных.
Первый элемент ИЛИ 23 передает на первый вход прерывания ПI ОМЭ 11 соответствующий сигнал от системы поль- 25 зователя или имитирующий сигнап пре-, рывания с пятого выхода второго ре. гистра 7 управления. Второй элемент
ИЛИ 24 передает на второй вход прерывания П2 ОМЭ 11 соответствующий сиг- 30 нал от системы пользователя или имитирующий сигнал прерывания с выхода второго регистра 7 управления.
Принудительный останов.
Этот режим позволяет осуществить останов выполнения программы ОМЭ при работе ОМЭ в реальном времени от любого источника программы.
Для останова ОМЭ первый регистр б управления формирует импульс. "Останов", который, поступая на вход У2 блока 10, устанавливает в активное состояние триггер 41, чем снимает сигнал установки триггера 42. При этом сигнал с выхода iiСинхр ОМЭ I l, 45 ,поступающий:на вход. Уl блока 10, пере-. водит триггер 42 в пассивное состояние. Пассивный уровень с выхода триггера 42 поступает на вход "Шаг" ОМЭ
11 и переводит ОМЭ в состояние "Останов". После этого устройство переводится в исходное состояние.
Чтение и модификация содержимого внутренних ячеек ОМЭ.
Режим выполняется из исходного, состояния, соответствующего работе
ОМЭ от блока 22 памяти программ или . от внешней программной памяти пользователя. Чтение или модификация содер-
08 жимого внутренней ячейки ОМЭ достигается тем, что ОМЭ I! принудительно переключается на выполнение специального программного фрагмента отладки, записанного во вспомогательном блоке
2I памяти. Назначение фрагмента от" ладки состоит в считывании или записи интересуемой ячейки ОМЭ 11.. Так как обращение к внутренним ячейкам ОМЭ возможно только через аккумулятор или регистры общего назначения, -. это приводит к.потере действительной информации программы пользователя. По« этому фрагмент отладки должен также содержать команды для сохранения и последующеro .восстановления действительной информации. Кроме того, фрагмент отладки должен содержать коман- ду возврата в программу пользователя.
После распознавания команды опера" тора УЭВМ 1 запоминает адрес текущей команды программь1 пользователя, Далее для перехода к выполнению фраг» . мента отладки УЭВМ I формирует во вспомогательном блоке 21 памяти код команды безусловного перехода на
Фрагмент отладки, а адрес этой команды записывает в регистр 30. Фрагмента блока 4. Затем УЭВМ I формирует во вспомогательном блоке 21 памяти соб" ственно Фрагмент отладки. Кроме того, для обеспечения правильной работы внутреннего таймера ОМЭ 11 во вспомогательном блоке 21 памяти формируют-. ся: код команды Старт таймера" (по адресу, хранящемуся в первом регистре 31 константы); код команды "Стоптаймера" (no адресу, хранящемуся во втором регистре 32 констаиты);,и код команды "Нет. операции" (по адресу хранящемуся в. третьем регистре 33 константы).
Затем УЭВМ 1 подключает OH3 Il к вспомогательному блоку 21 памяти, для чего мультиплексор 8 передает на адресный вход вспомогательного блока
21 памяти вход регистра 14, а входвыход данных вспомогательного блока
21 памяти через шину 18, данных и второй коммутатор 20 подключается к-ши"
1 не 13 данных. Далее второй регистр
7 управления вьщает на вход Уб блока
4 уровень "Лог. 0". сигнала "фрагмент", который, во-первых, через формирователь 37 импульсов обнуляет тЛ счетчик 28, а, во-вторых через первый 35 и, второй 36 элемент И запре щает изменение состояния триггера 26;I
1410708
l2 отражающего работу внутреннего таймера ОМЭ I 1. Затем второй регистр 7 управления выдает на вход У5 блока 4 импульс "Этап", который увеличивает содержимое счетчика 28 и запускает формирователь 34 импульсов, выход которого через элемент ИЛИ 38 передается на вторбй выход блока 4. При этом блок 4 выдает на первьй выход либо 10 содержимое третьего регистра 33. константы (если триггер 26 сброшен, т.е. внутренний таймер ОМЭ отключен), либо содержимое второго регистра 32 константы (если триггер 26 установлен, . т.е. пущен внутренний таймер ОМЭ), что определяется содержимым. первого и второго выходов дешифратора 27, управляющих работой второго мультиплек сора 29. Одновременно с импульсом 20
"Этап" первый регистр 6 управления
6 посылает сигнал "Иаг" на четвертый вход управления блока 10 что приводит к пуску ОМЭ 11 на один командный цикл и появлению импульсов синхрони" . 25 эации на выходе "Синх." ОМЭ 11 которые выключают формирователь 34 импульсов в блоке 4 после исполнения одной команды. В результате этого на время одного командного цикла муль-» 30 типлексор. 8 подключает к адресному входу вспомогательного блока 21 памяти-первый выход блока 4.
Таким образом, первый импульс"Этап" вызывает выполнение одной команды ОМЭ: "Стоп таймера" или "Нет операции". Это подготовительный этап перед отработкой фрагмента отладки, позволяющий сохранить неизменным со40 держимое внутреннего таймера ОМЭ. 3атем первый 6 и второй 7 регистры уп- . равления еще раз одновременно формируют импульс "Этап" и сигнал "Itlar", в результате чего содержимое счетчи- 45 ка 28 в блоке 4 увеличивается-на еди" ницу, и в течение одного командного цикла нв адресный вход вспомогательного блока 21 памяти передается содержимое регистра 30 фрагмента, в котором хранится адрес команды безусловного перехода на начало фрагмента отладки. Таким образом, следствием второго импульса "Этап" является переустановка счетчика команд ОМЭ нв начало фрагмента отладки. 55
Затем УЭВМ 1 путем выдачи последовательности импульсов "Шаг" осуществляет выполнение фрагмента отладки по шагам. При этом устройство работает в режиме, аналогичном режиму "Выполнение программы по шагам", с той лишь разницей. что в качестве программной памяти для ОМЭ 11 используется не ,блок 22 памяти йрограмм, à вспомогательный блок 21 памяти. При отработке фрагмента отладки первый регистр
6 управления отключает шину 13 данных от блока 16 памяти и от буфера 15 пользователя. Это позволяет передавать содержимое внутренних ячеек
ОИЭ 11 в регистр 12 отображения беэ искажения ячеек блока.lб памяти данных или устройств ввода-вывода пользователя. При выполнении команд фрагмента отладки ОМЭ 11 сначала. передает в регистр 12 отображения данные, необходимые для сохранения. Они в свою очередь .считываются в УЭВИ 1 и sanoмииаются во вспомогательном блоке 2) памяти. Затем из ОМЭ 11 е регистр 12 отображения передается содержимое искомых ячеек, которое поступает в:
УЭВМ 1 (так осуществляется чтение содержимого,внутренних ячеек ОМЭ). Для модификации содержимого внутренних ячеек ОИЭ 11 в самом фрагменте отладки формируются. команды записи необходимых данных в нужнъ|е ячейки. Далее
ОМЭ II выполняет команды по восстановлению сохраненных данных. Последней командой фрагмента отладки является безусловный переход, перестраи" вающий счетчик команд ОМЭ 11 в значение, на единицу меньше адреса текущей команды программы пользователя.
Далее одновременно выдаются третий импульс "Этап" и сигнал "Шаг".
При -этом за счет перестройки счетчика 28 s блоке 4 и в зависимости от исходного состояния внутреннего таймера ОМЭ, которое отражается в триггере 26 блрка 4, будет выполнена нли команда "Старт таймера", или команда
"Нет операции". Это заключительный этап режима, который возвращает внутренний таймер и счетчик команд ОИЭ в исходное состояние.
После этого сигнал "Фрагмент" переводится в состояние "Лог.l", что открывает возможность триггеру 26 в блоке 4 следить эа состоянием внутреннего таймера ОИЭ при работе от реальной программы пользователя, и одновременно подключает шину 13 данных к блоку 16 памяти данных и к бу1410708
14 феру 15 пользователя, Режим заканчи. вается переводом устройства в исходное состояние.
Предложенная организация режима
"Чтение и модификация содержимого внутренних ячеек ОМЭ" за счет применения описанного блока 4 формирования адреса и введения вспомогатель" ного блока 21 памяти позволяет исклю- 10 чить возможность искажения достоверной работы внутреннего таймера ОМЭ, . а также позволяет снять ограничение на использование полного адресного пространства ОМЭ для программ пользователя, так как программа пользователя помещается в блоке 22 памяти программ, а все необходимые команды для нужд отладки (фрагмент отладки
"Старт таймера" и т.п.) располагаются 20 во вспомогательном блоке 21 памяти.
Обеспечение прерывания программы
ОМЭ от внешкего события и внутреннего счетчика событий.
Прерывание программы ОМЭ от. вкеш- 25 него события и внутреннего счетчика события ОМЭ обеспечивается при выполнении программы ОМЭ как в. реальном времени, так и по шагам, Это достигается тем, что первый 23 и второй 24 30 элементы ИЛИ передают соответственно на первый П! и второй П2 входы прерывания ОМЭ 11 или имитирующие сигналы Прерывания из устройства (с пятого и шестого выходов второго регистра 7 управления), или сигналы прерывания от системы пользователя.
Обеспечение прерывания программы
ОМЭ от внутреннего таймера.
Прерывание программы ОМЭ от внутреннего таймера обеспечивается при выполнении программы ОМЭ как в реальном времени, так и по шагам, Это достигается тем, что при работе уст-. ройства в любом режиме (в частности, при чтении и модификации содержимого внутренних ячеек 0M3) с помощью блока 4 обеспечивается достоверная работа внутреннего. таймера, т.е. осуществляется остановка .таймера при выполнении ОМЭ 11 служебных команд, связанных с отладочными процедурами (например, выполнение команд фрагмента отладки) °
Программирование внутреннего ПЗУ
ОМЭ. 55
При программировании внутреннего
ПЗУ ОМЭ 11 отлаженной программы, хранящейся в блоке 22 памяти программ, Ъ переносятся во . внутреннее ПЗУ ОМЭ 11 .
Это происходит .следующим образом.
Второй регистр 7 управления выдает на вход Уб блока 4 уровень "Jlor.
0" сигнала "Фрагмент", который через формнрователь 37 импульсов обнуляет счетчик 28 в блоке 4. Далее второй регистр 7 управления последовательно выпает два импульса Этап", которые переводят счетчик 28 в состояние, обеспечивающее передачу на выход мультиплексора 29 содержимого регистра 30 фрагмента. Это достигается тем, что выходы счетчика 28 через шифоа-,г тор 27 воздействуют на входы управления мультиплексора 29. Затем второй регистр 7 управления выдает сигнал N4, который через элемент ИЛИ 38 устанавливает второй выход блока 4 в активное состояние, в результате че" го на выход мультиплексора Я.передается содержимое регистра 30 фрагмента блока 4. Таким образом адресация блока 22 памяти программ осуществля" ется через регистр 30 фрагмента блока 4.
Далее второй регистр 7 управления переводит ОМЭ 11 в состояние программирования внутреннего ПЗУ, для чего на вход У4 ОМЭ 11 выдает сиг" нал "Сброс", а затем иа вход Уl ОМЭ
11 выдает сигнал напряжением +25 В.
После этого второй регистр 7 управле ния выдает сигнал НЗ и подключает тем самым через буфер 9 программирования первый выход блока 4 (т.е. содержимое регистра 30 фрагмента) к шине .13 данных и входу"выходу "Лина" ОМЭ II а также к второму порту ОМЭ 11, Затем УЭВМ 1 заносит в регистр фрагмента адреса текущей программирующей ячейки, который записывается внутрь
ОМЭ 11 снятием сигнала "Сброс". Далее снимается сигнал N3, отключающий связь буфера 9 программировакия со входом-выхедом "111ина" и вторым портом ОМЭ ll.
Следующим этапом является перезапись содержимого ячейки блока 22 памяти программ (адрес которой задан в регистре 30 фрагмента) в соответствующую ячейку. внутреннего ПЗУ ОМЭ 11.
Для этого второй коммутатор 20 под" ключает шину 18 данных к шине 13 данных и осуществляет тем самым связь входа-выхода данных блока 22 памяти программ с входом-выходом "Лина" ОМЭ
11. Далее сигналы с второго и третье15 1410708
ro выходов второго регистра 7 управ . ления осуществляют запись вводимого, кода во внутреннее ПЗУ. ОИЭ II. Для записи новой ячейки сигналом Н3 снова 5 подключается буфер 9 программирования, УЭВМ 1 заносит в. регистр 30
Фрагмента ноный адрес, и процесс повторяется, Тестирование внутреннего ПЗУ ОМЭ. 10
В этом режиме содержимое внутреннего ПЗУ ОМЭ 11 переносится но вспомогательный блок 21 памяти. В дальнейшем эта информация может быть либо выведена на дисплей, либо пройти по» байтное сравнение с эталонной программой, расположенной в блоке 22 памяти программ. Последовательность работы устройства s этом режиме следующая. 20
Первый 6 и второй 7 регистры управления с помощью сигналов N) и М!
1 подключают к шине 18 данных вспомогательный блок 21 памяти вместо блока
22 памяти программ..Далее аналогично 25 режиму "Программирование внутреннего
ПЗУ О%Э" обеспечивается передача на ныход мультиплексора 8 содержимого регистра 30 Фрагмента блока 4 и эа" пись адреса текущей ячейки внутрь
ОМЭ 11. После этого второй регистр 7 управления, воздействуя на входы У2 и УЗ ОМЭ !1, обеспечивает передачу содержимого текущей ячейки внутреннего ПЗУ из ОМЭ 11 через вход-выход
"Нина" ОМЭ )1 по шине 13 данных через второй коммутатор 20 и шину IB данных во вспомогательньа блок 21 памяти. 1
Далее УЭВМ 1 заносит в регистР 30 фрагмента блок 4 адрес следующей считываощей ячейки и процесс .повторяется снова. После переноса всего сбдержимого внутреннего ПЗУ ОМЭ 11 во вспомогательный блок 21 памяти УЭВМ l в зависимости от команды оператора осуществляет либо побайтное сравнение содержимого вспомогательного блока
21 памяти с эталонной программой, расположенной в блоке 22 памяти программ, либо индикацию на дисплее заданных ячеек.
Формула изобретения!. устройство для отладки микро-:5Ы
ЭВИ, содержащее регистр адреса оста иова, первый" регистр. управления, блок сравнения адреса, блок памяти программ, первый и,второй коммутаторы, дешифратор команд, регистр адреса, блок памяти данных и эмулирующую микроЭВМ; причем нход-выход данных уст ройства для подключения к двунаправленной шине данных управляющей ЭВМ подключен к информационным входам регистра адреса останова и первого регистра управления и к первому информационному входу-выходу первого коммутатора, информациошп и вход-ныход блока памяти программ соединен с вторым информационным входом-выходом первого коммутатора и с первым информационным входом-выходом второго коммутатора, второй информационный вход-выход которого соединен с инфор мационныМ входом дешкфратора команд и подключен к двунаправленной шине данных эмулирующей микроЭВМ> двуна" правленная шина данных эмулирующей микроЭВМ подключена к ин<1 ормационно-. му входу-выходу блока памяти .данных, к первому информационному входу регистра адреса и к входу-ныходу данных устройства для подключения к дву направленной шине данных адреса„ отлажинаемой микроЭВИ, первая и вторая группы информационных входов-выходов эмулирующей микроЭВМ подключены соответственно к первой и второй группам информационных входов-выходов устройства для подключения к двунапранленпой шине данных адреса отла-. жпваемой мнкроЭВМ, выходы чтения и записи эмулирующей микроЭВМ соединены с входами соответственно чтения и записи блока памяти данных и подключены к вьнодам соответственно чтения и записи. устройства для подключения к двунаправленной шине управления отлаживаемой микроЭВМ, выход чтения команд эмулирующей микроЭВМ соединен с первым управляющим входом второго коммутатора и подключен к выходу чтения команд устройст- . ва для подключения к двунаправленной шине управления отлаживаемой микроЭВМ; выход синхронизации эмулирующей мнкроЭВМ соединен с-входом записи регистра адреса, с установочным входом блока сравнения адреса и подключен к выходу синхронизации устройства для подключения к двунаправленной шине управления .отлаживаемой микроЭВМ, вы" ходы первого, второго, третьего и четвертого разрядов первого регистра управления соединены с входами соот!
I 410708
l8 ветственно останова, пуска, синхройизации и разрешения блока сравнения адреса, выход пятого разряда первого регистра управления соединен с входом разрешения блока памяти программ, входы записи первого регистра управления и регистра адреса останова под ключены соответственно к первому и второму входам записи устройства для 1О подключения к выходной шине управления управляющей ЭВМ, выход регистра адреса о"танова соединен с первым информационным входом блока сравнения адреса, выход регистра адреса соединен с адресным входом блока памяти данных и с вторым информационным входом блока сравнения адреса, выход которого соединен с входом "Шаг" эму-лирующей мккроЗВМ, вторая группа ин- 20 формационных входов-выходов эмулирующей микроЭВМ образует второй информа" цконный вход регистра адреса, вход записи блока памяти программ и первый управляющий вход первого коммута- 25 тара подключены к третьему входу записи устройства для подключения к выходной шйне управления управляющей
ЭВМ, второй управляющий вход первого коммутатора подкл|очен к четвертому Э0 входу записи устройства для подключения к выходной шине управления управляющей ЭВМ, о т л и ч а ю щ е е с я тем, что, с целью повышения производительности яроцесса отладки, оно со- держит второй регистр управления„ первый и второй элементы ИЛИ, регистр отображения, блок ключей, вспомогательный блок памяти, мультиплексор и блок формирования адреса, информа40 ционный вход .второго регистра управления и выход регистра отображения подключены к входу"выходу данных уст" ройства для подключения к двунаправленной шине данных управляющей ЭВМ, выход синхронизации эмулирующей мик45 роЭВМ соединен с первым входом синх" ронизации блока формирования адреса, выход блока сравнения адреса соединен с вторым входом синхронизации блока формирования адреса, входы пуска и . останова которого соединены соответственно с первым и вторым выходом де шифратора команд, первый выход блока формирования адреса соединен с первым информационным входом мультиплек- 55 сора и с информационным входом блока ключей, первый и второй выходы кото" рого подключены соответственно к двунаправленной шине данных эмулирующей микроЭВМ и к второй группе информационных входов-выходов эмулирующей микроЭВМ, второй выход блока формирования адреса соединен с первым управляющим входом мультиплеКсора, второй и третий информационные входи которого соединены с адресным входом устройства для подключения к выходной шине адреса управляющей ЭРМ и с выходом регистра адреса, выход мультиплексора соединен с адресными вхоl дами блока памяти программ и вспомогательного блока памяти, информационный вход-выход которого соединен с информационным входом-выходом блока памяти программ, вторым информационным входом-выходом первого коммутатора и первым информационным входомвыходом второго коммутатора, первый вход записи вспомогательного блока памяти подключен к третьему входу. записи устройства для подключения к выходной шине управления управляющей
ЭВМ, первый ииформациониъй вход регистра отображения подключен к второй группе информационных входов"выходов эмулирующей микроЭВМ, второй и третий информационные входы регистра отображения соединены соответственно с двунаправленной шиной данньм эмулирующей микроЭВМ и с выходом блока сравнения адреса, выход записи эмулирующей мккроЭВМ соедкнен с входом записи регистра отображенкя, вход чтения которого подключен к
I входу чтения устройства для подключения к выходной шине управления уп" равляюшей ЭВМ, разряд выхода второго регистра управления соединен с входом выбора источника программ эмулирующей микроЭВМ, второй разряд выхода второгорегистра управления соединен с первым входом управления вводом-вывоцом эмулирующей мккроЭВМ и с вторым управляющим входом второго коммутатора, третий разряд выхода второго регистра управления соединен с вторым входом управления вводом-выводом эмулирующей микроЭВМ, с третьим управляющим входом второго коммутатора и с вторым входом записи вспомогательного блока памяти, четвертый разряд выхода второго регистра управления соединен с входами сброса эмулирующей микроЭВМ и блока формирования адреса, с пятого по двенадцатый разряды выхода второго регистра управле"
1410708
20 ния соединены соответственно с первым входом первого элемента ИЛИ, с первым входом второго элемента ИЛИ, с входом разрешения вспомогательного блока памяти, с вторым управляющим входом мультиплексора, с входом признака "Этап" блока формирования адреса, с входом признака "Фрагмент" блока формирования адреса, с управляю- 10 щим входом блока ключей и с разрешающим входом блока формирования адреса, вторые входы первого и второго элементов ИЛИ подключены соответственно к первому и второму входам 15 прерывания устройства для подключения к двунаправленной шине управления отлаживаемой микроЭВМ, выходы первого
Ф и второго элементов ИЛИ соединены соответственно с первым и вторым вхо-20 дами прерывания эмулирующей микроЭВМ, вход записи второго регистра управления соединен с пятым входом записи устройства для подключения к выходной шине управления управляю- 25 щей ЭВМ.
2. Устройство по п. 1, .о т л и— ч а ю щ е е с я тем, что блок сравнения адреса содержит компаратор адреса, элемент ИЛИ, первый и второй триггеры, .причем первый и второй информационные входы компаратора адреса являются соответственно первым и вторым информационными входами блока, разрешающий вход компаратора адреса является входом разрешения бло35 ка, первый вход элемента ИЛИ, R-вход первого триггера, С-вход второго триггера и R-вход второго триггера являются соответственно входами оста- 40 нова, пуска, синхронизации и установочным входом блока, выход компаратора адреса соединен с вторым входом элемента ИЛИ, выход которого соединен с S Входом первого триггера ин 45 .версный выход которого соединен с
S-входом второго триггера, выход которого является выходом блока, D-вход второго триггера подключен к шине единичного потенциала устройства.
3. Устройство по п.1, о т л и— ч а ю щ е е с я гем, что блок форми" рования адреса. содержит первый и.второй элементы И, триггер, счетчик, первый и второй формирователи им. пульсов, элемент ИЛИ, шифратор, ре» гистр фрагмента, первый, второй и третий регистры константы и мультиплексор, выход которого является перВыходы
Входы
0 0
0 0
1 1
1 1
1 0
0 0
0 l ! I
0 . 0
0
0 вым выходом блока, первый, второй, третий и четвертый информационные, входы мультиплексора соединены с выходами соответственно регистра фра гмента, первого, второго и третьего регистров константы, информационный вход регистра фрагмента является информационным входом блока, первый вход первого элемента И, первый и второй входы второго элемента И яв" ляются соответственно входами пуска, останова и сброса блока, выходы первого и второго элементов И соединены соответственно с С и R-входами триггера, выход которого. соединен с.первым входом шифратора, второй и третий входы которого соединены соответственно с первым и вторым выходами счетчика, вход сброса которого соединен с выходом первого формирователя импульсов, счетный вход счет" чика и первый вход второ го формирователя импульсов подключены к входу признака "Этап" блока, вход первого формирователя импульсов, второй вход первого элемента И и третий вход второ ro элеме нта И подключены к входу признака "Фрагмент" блока, второй и третий входы второго формирователя импульсов являются первым и вторым входами синхронизации блока, вход разрешения блока подключен к первому входу элемента ИЛИ, второй вход которого соединен с выходом второго формирователя импульсов, выход элемента ИЛИ является вторым выходом блока, первый и второй выходы шифратора соединены соответственно с первым и вто» рым управляющими входами мультиплексора.
14!0708
1410708
Составитель Д. Ванюхин
Техред М.Ходанич Корректор М.Иароши
Редактор Н.Коган
Заказ 3323
Производственно-полиграфическое предприятие.
Тираж 572 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж"35, Раушская наб., д. 4/5,












