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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может быть использовано при разработке микроконтроллеров, микро- ЭВМ и других средств вычислительной техники . Целью изобретения является сокращение объемов блоков памяти трассировки . Поставленная цель достигается тем, что устройство для отладки программ содержит первую и вторую ЭВМ, генератор тактовых импульсов, одиннадцать дешифраторов, шесть триггеров, два регистра сдвига, три одновибратора, блок постоянной памяти, три блока оперативной памяти, реверсивный счетчик импульсов, два счетчика, два мультиплексора , два элемента НЕ, три элемента И, схему сравнения. Изобретение позволяет при одном и том же объеме блока памяти трасс запоминатё информацию о выполнении большого участка программы. 2 ил. I СО Cfc 00 to

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

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

РЕСПУБЛИК (51) 4 G 06 F 11 28

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

IlO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ

---, @Calf („ .,, - Kf g g

ОПИСАНИЕ ИЗОБРЕТЕНИ1ц „" . К АВТОРСКОМ У СВИДЕТЕЛЬСТВУ Б@ д,.(21) 4041651/24-24 (22) 24.03.86 (46) 30.12.87. Бюл. № 48 (71) Институт кибернетики им. В. М. Глушкова (72) О. Ю. Гудзенко, В. Л. Леонтьев, А. В. Палагин, В. И. Сигалов и О. В. Цвелодуб (53) 681.3(088.8) (56) Микропроцессоры. Системы программирования и отладки. Под ред. В. А. Мясникова, М.: Энергоатомиздат, 1985.

1СŠ— 86 АТМ Microsystem in Circuit

emulator. Operating instructions for ISIS — II

USERS order Number 162554 — 001. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММНО-АППАРАТНЫХ БЛОКОВ (57) Изобретение относится к вычислительной технике и может быть использовано

„„SU„„1363219 А 1 при разработке микроконтроллеров, микроЭВМ и других средств вычислительной техники. Целью изобретения является сокращение объемов блоков памяти трассировки. Поставленная цель достигается тем, что устройство для отладки программ содержит первую и вторую ЭВМ, генератор тактовых импульсов, одиннадцать дешифраторов, шесть триггеров, два регистра сдвига, три одновибратора, блок постоянной памяти, три блока оперативной памяти, реверсивный счетчик импульсов, два счетчика, два мультиплексора, два элемента НЕ, три элемента И, схему сравнения. Изобретение позволяет при одном и том же объеме блока памяти трасс запоминать информацию о выполнении большого участка программы.

2 ил.

1363219

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

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

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

Устройство содержит первую 1 и вторую 2

ЭВМ, генератор 3 тактовых импульсов, второй 4, третий 5, десятый 6, первый 7, одиннадцатый 8, восьмой 9, четвертый 10, седьмой 11, девятый 12, пятый 13 и шестой 14 дешифраторы, первый 15 и второй 16 регистры, второй 17 и первый 18 регистры сдвига, второй 9, третий 20 и первый 21 одновибраторы, блок постоянной памяти 22, первый 23, второй 24 и третий 25 блоки оперативной памяти, реверсивный счетчик

26 импульсов, первый 27 и второй 28 счетчики, второй 29 и первый 30 мультиплексоры, третий 31 и четвертый 32 регистры, первый 33 и второй 34 триггеры, второй 35 и первый 36 элементы НЕ, третий 37, второй 38 и первый,39 элементы И, схему 40 сравнения, первые информационные входы-выходы 41, первые адресные входы 42, первые входы 43 записи, чтения 44, начальной установки 45, третьи информационные входы-выходы 46, группу адресных гыходов 47, первые выходы чтения 48, записи 49, второй выход сброса 50, первый выход сброса адреса 51, первый 52, второй 53 выходы задания режима, выход 54 признака выборки команды, вход 55 готовности, второй 56, первый 57 выходы готовности, вторые адресные входы 58, вторую двунаправленную информационную магистраль 59, вход чтения 60, записи 61, первый вход 62 сброса, вход 63 признака выборки команды, первый 64, второй 65 входы задания режима, вход 66 строба адре. са устройства, выход 67 генератора тактовых импульсов, первый 68, второй 69 и третий 70 выходы второго дешифратора, первый вход

71 восьмого дешифратора, группу входов 72 и выходов 73 восьмого дешифратора, первый 74, второй 75, третий 76 выходы четвертого дешифратора, первый 77 и второй

78 выходы пятого дешифратора, счетный вход 79 реверсивного счетчика, первый 80, второй 81, третий 82 выходы десятого дешифратора, выход 83 одиннадцатого дешифратора, первый 84, второй 85, третий 86, четвертый 87, пятый 88 выходы седьмого дешифратора, группу выходов 89 девятого дешифратора, второй вход 90 второго элемента И, прямой выход 91 второго триггера, выходы переполнения второго 92 и первого 93 счетчика, выход 94 второго элемента НЕ, прямой выход 95 третьего одновибратора и шестой вход 96 десятого дешифратора.

Устройство работает под управлением

ЭВМ, в качестве которой может быть использована, например микроЭВМ УВС-01, и обеспечивает отладку устройства на основе микропроцессоров, содержащих встроенную очередь команд, например К180ВМ86 или К1810ВМ88. Системная шина управляющей ЭВМ подключается к входным шинам устройства для отладки программно-аппаратных блоков. Выходные шины устройства

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

Рассмотрим работу предлагаемого устройства в режиме управления. Сигнал уровня лог. «О», появляющийся на первом входе начальной установки 45 при нажатии кнопки сброса на пульте управляющей ЭВМ, проходит через дешифратор 4 и с входа 62 последнего воздействует на ЭВМ 1 и 2, элементы И 37, 38, дешифраторы 11 и 14, счет20 чики 27 и 28, обеспечивая начальную установку регистра 17, триггеров 33, 34.

Через дешифратор 14 сигнал начальной установки поступает также на вход сброса отлаживаемого устройства. После окончания воздействия сигнала сброса на выходе режима 91 схемы сравнения появляется сигнал уровня лог. «О», который через элемент И 39 поступает на вход «Готовность»

ЭВМ 1, запрещая ее работу. При этом сигнал уровня лог. «1» с выхода 57 триггера 34 поступает на вход «Готовность» ЭВМ

2, разрешая ее работу, ЭВМ 2 начинает отработку программы-монитора, содержащейся в блоке постоянной памяти 22. В соответствии с этой программой ЭВМ 2 находится в цикле ожидания команд, подаваемых с управляющих ЭВМ.

Команда в виде соответствующего кода поступает от управляющей ЭВМ по входу 41 и при определенном адресе, выставляемом на первом адресном входе 42 и при наличии сигнала на входе записи 43 запоми40 нается в первом регистре 15. ЭВМ 2 в соответствии с выполняемой программой постоянно опрашивает этот регистр, выставляя соответствующий код адреса на адресном входе 58 и сигнал на входе чтения 60, прочитав код из дешифратора 5 по второй двунаправленной информационной магистрали 59, ЭВМ 2 переходит к выполнению программы обработки полученной команды. В соответствии с получаемыми командами ЭВМ 2 производит загрузку тре о тьего блока 25 оперативной памяти, схемы 40 сравнения и при необходимости первого блока 23 оперативной памяти. Эти операции выполняются следующим образом.

После получения команды ЭВМ 2 переходит к обработке подпрограмм обращения

55 к третьему блоку 25 оперативной памяти, схемы 40 сравнения и первому блоку 23 оперативной памяти. На адресном входе 58

ЭВМ 2 устанавливает адрес, соответствую1363219 щий одному из узлов устройства, а по второй двунаправленной информационной магистрали 59 ЭВМ 2 передает необходимые коды, сопровождая их сигналом на выходе 61 записи. При этом при обращении ЭВМ 2 .к первому блоку 23 оперативной памяти на старшей адресной линии присутствует сигнал уровня лог. «О», а при обращении к второму блоку 24 оперативной памяти, третьему блоку 25 оперативной памяти, схеме 40 сравнения и третьему дешифратору 5 — сигнал уровня лог. «1«.

В третий блок 25 оперативной памяти записывается информация о том, будет ли при отладке использоваться память отлаживаемого устройства, которое подключается к устройству через группу адресных выходов 47, третьи информационные входы-выходы 46, управляющий вход готовности 55 и управляющие выходы 48 — 54, или будет использоваться первый блок 23 оперативной памяти, в последнем случае ЭВМ 2 загружает в первый блок 23 оперативной памяти отлаживаемую программу. В соответствии с информацией, записанной в третьем блоке 25 оперативной памяти, при отладке на выходе будет вырабатываться соответственно сигнал разрешения работы первого блока 23 оперативной памяти (сигнал уровня лог. «О») или шестого дешифратора 14 (сигнал уровня лог. «!») .

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

Для перехода в режим отладки ЭВМ 2, получив соответствуюгций код команды через третий дешифратор 5, устанавливают на адресном входе 58 код, состоящий из всех единиц. В этом случае схема сравнения вырабатывает сигнал режима (уровня лог. «О») на выходе 57, который отключает блок 22 постоянной памяти, поступая на вход готовности 55 ЭВМ 2, запрещает ее работу, этот же сигнал поступает в блок 24, а и сигнал режима (уровня лог. «1») — на выход 91, которым разрешается работа ЭВМ 1 и чтение из второго блока 25 оперативной памяти.

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

ЗО

55 ную выборку программного кода из памяти, удовлетворяет эту заявку. Объем запоминающего узла блока очереди команд ограничен; если он заполнен, то блоки управления каналом работает вхолостую, если в блок очереди команд можно поместить байты программного кода, то блок управления каналом выполняет цикл выборки из ° nàìÿòè кода команды, Таким образом, в ЭВМ 1 организована предварительная (заблаговременная) выборка кодов команд, а операции выборки и исполнения совмещены во времени. Поэтому последовательность выборки не соответствует последовательности их исполнения, в частности команды, которые были выбраны из памяти после выборки команды безусловного перехода, в действительности исполняться не будут. Чтобы восстановить реальную картину исполнения команд, необходимо иметь сведения о взаимодействии блока исполнения команд с блоком очереди команд. Код на входах 64 и 65 задания режима ЭВМ 1 говорит о том, что в предыдущем такте из блока очереди команд был выбран первый байт кода команды, либо был выбран последующий байт кода команды, либо блок очереди команд был очищен в результате выполнения команды перехода, либо в предшествующем такте блок исполнения команд не обращался к блоку очереди команд. Также необходимо знать количество команд, находящихся в блоке очереди команд в определенные моменты времени — - эту информацию вырабатывает узел, включающий одновибратор

19, дешифратор 6 и реверсивный счетчик

26 импульсов.

Выполняя отлаживаемую программу, ЭВМ 1 производит обращения либо к первому блоку 23 оперативной памяти, либо к памяти отлаживаемого устройства в зависимости от условий, заданных в блоке 24.

Обмен информацией между памятью и

ЭВМ 1 производится через шестой дешифратор 14 следующим образом. В случае передачи информации от ЭВМ 1 в память отлаживаемого устройства информация на адресном входе 58 и второй двунаправленной информационной магистрали 59, сопровождающаяся сигналом на выходе записи 61, передается через дешифратор 14 при наличии разрешающего сигнала на втором входе 90 второго элемента И на группу адресных входов 47 и третьи информационные входы-выходы 46 к памяти отлаживаемого устройства, сопровождаясь при этом сигналом по выходу записи 49.

При приеме информации из памяти отлаживаемого устройства ЭВМ 1 устанавливает на входе чтения 60 сигнал чтения данных, который через шестой дешифратор

14 поступает на первый выход чтения 48, а на втором адресном входе 58 — адрес ячейки, к которой производится обращение.

1363219

il5

Код адреса через шестой дешифратор 14 поступает на группу адресных входов 47.

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

Синхронизация работы ЭВМ 1 и памяти отлаживаемого устройства выполняется с помощою входа 55 готовности. При обращении к памяти последняя устанавливает на входе 55 сигнал уровня лог. «О», который через третий вход элемента И 39 поступает на выход готовности 56 ЭВМ 1, запрещая работу последней, сигнал этого уровня остается до тех пор, пока память не закончит внутренний цикл (т.е. не произведет запись или выдачу информации). После окончания внутреннего цикла на входе готовности 55 памяти устанавливает сигнал уровня лог. «1», который через первый элемент И 39 поступает на выход готовности 56 ЭВМ 1. ЭВМ 1, обратившись к памяти отлаживаемого устройства, приостанавливает свою работу на все то время, в течение которого на входе 55 готовности остается сигнал уровня лог. «О».

В течение всего времени работы ЭВМ 1 разрешена запись во второй блок 24 оперативной памяти, который в каждом цикле обращения ЭВМ 1 к памяти запоминает информацию с вторых адресных входов 58, с второй двунаправленной информационной магистрали 59, с выходов реверсивного счетчика 26 импульсов, а также с выходов регистров 17 и 18 сдвига, которые хранят информацию обо всех изменениях сигналов на входах задания режима 64, 65 ЭВМ 1 за время, прошедшее между двумя последовательными циклами записи, второй блок

24 оперативной памяти.

В схеме 40 сравнения в режиме отладки постоянно происходит сравнение кодов адреса с адресных входов 58 с заданными в качестве условий выхода из режима отладки. При совпадении кодов адреса с заданными на входе 91 вырабатывается сигнал уровня лог. «О», который запрещает запоминание информации в втором блоке 24 оперативной памяти и останавливает ЭВМ 1, на выходе 57 появляется сигнал уровня лог. «1», который разрешает работу блока 22 постоянной памяти и ЭВМ 2, Одновременно с этим схема 40 сравнения формирует на входе 62 сброса сигнал начальной установки.

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

55 управляющую ЭВМ информации, содержащейся в блоке 25.

Таким образом, устройство для отладки программно-аппаратных блоков позволяет моделировать отлаживаемое устройство на самых ранних этапах разработки, используя при этом первый блок 23 оперативной памяти, и производить отладку программного обеспечения, необходимого для работы отлаживаемого устройства, с запоминанием информации во втором блоке 24 оперативной памяти. При отладке обеспечивается останов отлаживаемой программы по адресу, задаваемому оператором. Регистры 17, 18 сдвига работают следующим образом. Дешифратор 8 реализует следующую логическую функцию:

Уаз Хв4/1Хгз\/Х67 (1) где Хб, Хг4 — сигналы с входов 65, 64 ЭВМ 1;

Х67 — сигнал с выхода генератора.

Таким образом, на выходе 83 дешифратора 8 сигнал низкого уровня появляется в течение полупериода, когда синхросигнал 67 имеет высокий уровень и хотя бы один из сигналов 64, 65 имеет низкий уровень.

Запись в блок 24 второй оперативной памяти осуществляется положительным фронтом (переходом из низкого уровня в высокий) коньюнкции сигналов на входах чтения и записи 60 и 6!. Этим же фронтом, а также положительным фронтом сигнала на первом входе сброса 62 запускается третий одновибратор 20, который на прямом 95 и инверсном выходах вырабатывает соответственно положительный и отрицательный импульсы длительностью четверть периода синхросигнала на выходе 67 генератора тактовых импульсов. Отрицательным фронтом (переходом из высокого уровня в низкий) сигнал на прямом выходе 95 третьего одновибратора при наличии высокого уровня на выходе 94 второго элемента НЕ, учитывая, что элемент HE 35 вносит задержку распространения сигнала меньшую, чем длительность импульса на выходе одновибратора, а регистры 17 и 18 сдвига со входов занесения информации в параллельном коде записывается код, состоящий из всех единиц.

Если хотя бы на одном из входов 64, 65 задания режима присутствует сигнал уровня лог. «О», то это свидетельствует о взаимодействии блока исполнения команд с буфером команд ЭВМ 1, и тогда положительный фронт синхросигнала на выходе 67 генератора тактовых импульсов в соответствии с (1) на выходе 83 дешифратора 8 сформирует отрицательный фронт сигнала, по которому осуществляется сдвиг вправо на один разряд содержимого регистров 17 и 18 с одновременным занесением в освободившийся младший разряд информации с входов 65, 64 задания режима соответствен1363219 но. Число сдвигов в течение одного цикла записи ограничено объемом памяти буфера команд ЭВМ 1.

Узел, на выходе которого формируется значение глубины очереди команд ЭВМ 1, включает второй одновибратор 19, десятый дешифратор 6 и реверсивный счетчик импульсов 26, десятый дешифратор 6 реализует следуюш,ие логические функции:

Y9o = Х64/ Х65, - (2) где Х64, Xss — сигнал с входов задания режима 64, 65 ЭВМ 1; (X i 9 V Х96) Л Хвз Л Хвв Л Х64, (3) сигнал с выхода второго одновибратора 19; сигнал на шестом входе 96 десятого дешифратора с младшего разряда вторых адресных входов 58; сигнал на входе признака выборки команды 63; сигнал на входе строба адреса 66, Ув = где Х19—

Х96

Хбв

Х66

У62 = (Х(9Л Х96 /Хвз1/Х66) Х64. (4)

Узел работает следующим образом.

Значение глубины очереди увеличивается на два при выборке программного кода по четному адресу (за одно обращение к памяти по четному адресу ЭВМ 1 выбирает два байта программного кода, а по нечетному адресу — один байт), на один при выборке программного кода по нечетному адресу, уменьшается на один при выборке байта из очереди на исполнение и обнуляется при очистке очереди. Комбинация

«10» сигналов на входах 64 и 65 задания режима свидетельствует об очистке очереди, согласно (2) при этом на первом выходе 80 десятого дешифратора 6 сформируется сигнал высокого уровня, который запишет в реверсивный счетчик 26 импульсов код, состоящий из всех единиц. Один цикл обращения к памяти ЭВМ 1 длится минимум 4 такта синхросигнала на выходе 67 генератора тактовых импульсов; каждый цикл обращения к памяти начинается по совпадению отрицательного фронта синхросигнала и положительного фронта сигнала на входе

66 сброса адреса, который имеет уровень лог. «1» в течение двух тактов сигнала на выходе 67. генератора тактовых импульсов. Этим же фронтом запускается второй одновибратор 19, на выходе которого формируется сигнал уровня лог. «1» длительностью один период сигнала 67 на выходе генератора тактовых импульсов. Если текущий цикл есть цикл выборки программного кода, то в течение всего цикла вход признака выборки команды 63 находится в состоянии лог. «О», в противном случае — в состоянии лог. «1». Изменения значения на выходе реверсивного счетчика 26 импульсов происходят по положительному перепаду сигнала на счетном входе 79. Присутствие сигУ49 X6i V Х90в

Y48 = Х60 / Х90 (6) (7) (8) (9) Ysi = Хвз \/ Xoo

= Хы \/ Х9о

Увз = Хвв V Х90 (10) (10) У54 = Х66 / Х90

Y47 = Xs6 \/ Хво

35 (12) У46 = Х59 \/ Х90 \/ Х61 (13) 40 Уво = Х46 \/ Хоо \/ Хво (14)

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

62 сброса. Сигналы на входах 61, 60, 63 — 66 устройства имеют активный низкий уровень и проходят сквозь шестой дешифратор 14 только при наличии сигнала разрешения на втором входе 90 второго элемента И уровня лог. «1», что свидетельствует об обращении ЭВМ 1 к памяти отлаживаемого устройства (см. формулы 6 — 12) . Сигналы с второй двунаправленной информационной магистрали 59 проходят в отлаживаемое устройство при наличии сигнала разрешения на втором входе 90 второго элемента И 38 и сигнала на входе записи 61. Сигналы с третьих информационных входов-выходов 46

55 отлаживаемого устройства проходят на вторую двунаправленную информационную магистраль 59 при наличии разрешающего сигнала на втором входе 90 второго эленала уровня лог. «О» на первом входе 64 задания режима свидетельствует о выборке из очереди байта на исполнение. Из (3) следует, что приращение значения в реверсивном счетчике 26 импульсов происходят только в циклах выборки программного кода во втором такте, если в этом такте сигнал на первом входе задания режима имеет уровень лог. «1» (исполнения не было) и в первом такте, если сигнал на первом входе 64 задания режима имеет уровень лог. «1», и сигнал на шестом входе 96 десятого дешифратора имеет уровень лог. «О» —выборка происходила по четному адресу.

Из (4) следует, что уменьшение значения в реверсивном счетчике 26 импульсов происходит в тактах, в которых сигнал на первом входе 64 задания режима имеет уровень лог. «О» и которые не являются первым и вторым тактами выборки программного кода из памяти.

20 Шестой дешифратор 14 реализует следующие логические функции (индексы переменных X соответствуют номерам входов дешифратора, индексы переменных соответствуют номерам выходов дешифратора)

Y6i = Xso (5) 1363219

5

10 мента И и сигнала на входе чтения 60 — это следует из формулы (13) и (14) .

При выполнении подпрограммы загрузки третьего блока 25 оперативной памяти выставляется адрес обращения к этому блоку.

При этом четыре старших разряда адреса подаются на первый канал первого мультиплексора 30, остальные разряды адреса подсоединены к соответствующим входам пятого дешифратора 13, четыре старших разряда второй двунаправленной информационной магистрали 59 поступают на входы второго канала первого мультиплексора 30, а младший разряд — на информационный вход третьего блока 25 оперативной памяти. Код на вторых адресных входах 58 и второй двунаправленной информационной магистрали 59 сопровождается сигналом на входе

61 записи. При наличии сигналов уровня лог. «О» на входе 61 записи и первом выходе 57 готовности и наличии соответствующего кода на остальных входах пятого дешифратора 13 на первом выходе 77 последнего появляется сигнал высокого уровня, разрешающий передачу информации через первый канал высокого уровня, разрешающий передачу информации через первый канал первого мультиплексора 30 и разрешающий запись информации в третий блок

25 оперативной памяти. В то же время сигнал на втором выходе 78 имеет уровень лог. «О». Информация, записанная в третьем блоке 25 оперативной памяти, в дальнейшем будет использоваться для определения, где будет располагаться соответствующий сегмент памяти (либо в первом блоке 23 оперативной памяти, либо в отлаживаемом устройстве). При этом младший разряд второй двунаправленной информационной магистрали 59 содержит информацию о месте расположения соответствующих сегментов памяти, а четыре старших разряда содержат код соответствующего сегмента памяти. Если по некоторому adpecy в третьем блоке 25 оперативной памяти записан «О», то в .дальнейшем к соответствующему сегменту будут обращаться в первый блок 23 оперативной памяти, в противном случае — к памяти отлаживаемого устройства.

В режиме отладки сигнал на первом выходе 57 готовности принимает высокий уровень, при этом на первом выходе 77 пятого дешифратора 13 появляется сигнал уровня лог. «О», а на втором выходе 78— уровня лог. «1«независимо от состояния сигналов на остальных входах пятого дешифратора 13. Сигнал на первом выходе 57 готовности запрещает запись информации в третий блок 25 оперативной памяти и разрешает считывание информации из этого блока оперативной памяти. Всякий раз, когда ЭВМ 1 выставляется на вторых адресных входах устройства 58 новый адрес, его старшие четыре разряда будут прохо15

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

Восьмой дешифратор 9 при наличии на выходе готовности 57 и входах 60 и 90 сигнала уровня лог. «О» передает сигналы с входов 72 на выходы 73 без изменения, в противном случае сигналы на выходах 73 имеют уровень лог. «1», Сравнение кодов в схеме 40 сравнения организовано следующим образом. Сигнал инициализации, появляющийся на первом входе сброса 62, поступает на инверсный вход установки нуля первого триггера 33 и через второй элемент И 38 — на тактовый вход второго триггера 34, устанавливая на прямых выходах этих триггеров сигнал уровня лог. «О», а на инверсном выходе второго триггера 34 — сигнал уровня лог. «1». Таким образом, разрешена работа блока 22 постоянной памяти, и ЭВМ 2 обрабатывает программу, содержащуюся в блоке 22 постоянной памяти. Получив команду загрузки узла сравнения, ЭВМ переходит к подпрограмме загрузки третьего 31 и четвертого 32 регистров необходимыми кодами. При этом ЭВМ 2 выставляет соответствующий адрес обращения на вторых адресных входах 58, сопровождая его сигналом на входе 61 записи уровня лог. «О», причем старший разряд адреса содержит единицу. При этом в зависимости от выставленного адреса на выходе 74 или 75 появится сигнал уровня лог. «1», производящий запись информации в третий регистр 31 или четвертый регистр 32 соответственно, при этом в регистр записывается информация второй двунаправленной информационной магистрали 59. Таким образом, каждому из этих регистров присвоен адрес обращения. В третий регистр 31 записывается код, который будет старшей частью адреса останова, в четвертый регистр 32 записывается код, который будет младшей частью адреса останова. Тогда на выходах этих регистров будет адрес останова, он подается на входы второго сравниваемого числа схемы 40 сравнения. При работе устройства для отладки программно-аппаратных блоков в режиме отладки на вторых адресных входах 58 буду| появляться коды адресов обращения ЭВМ 1 к первому блоку 23 оперативной памяти или памяти отлаживаемого устройства, и как только код адреса совпадает с кодом, записанным в третьем и четвертом регистрах 31 и 32, схема 40 сравнения сработает, а на ее выходе появится сигнал высокого уровня, который положительным фронтом, подаваемым на первый одновибратор 21, вызовет на вы1363219

10

1l ходе последнего положительный. импульс, который, пройдя через второй элемент И 38, своим положительным фронтом установит на выходе 91 низкий уровень. Этот же одиночный импульс, пройдя через первый элемент

НЕ 36, поступит на первый вход сброса 62, производя начальную установку ЭВМ и других узлов. Таким образом, завершен цикл работы: обмен с управляющей ЭВМотладка.

Когда ЭВМ 2 закончит подготовку к работе всех узлов устройства для отладки программно-аппаратных блоков, он выполняет цикл записи в узел сравнения по адресу, состоящему из всех единиц кода, содержащего все единицы. При появлении этого адреса на вторых адресных входах 58, на выходе 76 четвертого дешифратора 10 появится сигнал уровня лог. «1». Положительным фронтом сигнала на входе 61 записи информация с информационного входа первого триггера ЗЗ перепишется на его выход, эта «1», появившаяся на выходе первого триггера 33, поступит на вход установки единицы второго триггера 34, и на выходе 57 появится сигнал уровня лог. «О». Этот сигнал запретит работу ЭВМ 2 блока 22 постоянной памяти, а одновременно появившийся сигнал уровня лог. «1» на выходе 91 разрешит работу блока 25 и ЭВМ 1. Последняя начнет выполнять отлаживаемую программу.

Второй 4, третий 5, первый 7 дешифраторы, первый и второй регистры 15, 16 выполняют функцию сопряжения.

Первый дешифратор 7 передает информацию с выходов второго регистра 16 на первые информационные входы-выходы 41 при наличии сигнала уровня лог. «1» на выходе 69 дешифратора 4, в противном случае на выходе первого дешифратора 7 все сигналы имеют уровень лог. «1».

При необходимости передать информацию из управляющей ЭВМ в устройство для отладки программно-аппаратных блоков управляющая ЭВМ выставляет соответствующий код адреса обращения на первых адресных входах 42, сопровождая его сигналом на первом входе записи 43. При этом на выходе 68 второго дешифратора 4 появится сигнал уровня лог. «1«, который стробирует загрузку информации во второй регистр 16 второй двунаправленной информационной магистрали 59. Управляющая

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

В результате информация с выходов второго регистра 16 будет без изменения передана на выходы 41 первого дешифратора

7. Сигнал на входе 62 второго дешифратора 4 всегда повторяет сигнал на первом входе начальной установки этого дешифратора.

Седьмой дешифратор 11 управляет обращением к второму блоку 24 оперативной памяти и реализует следующие логические функции:

У84 Х93 / Х69, (!5) где Х98 — сигнал с выхода переполнения 93 первого счетчика импульсов 27;

Y86 = (X61 / X69) / Xg l / Х98, (16) где Xgi — сигнал с прямого выхода 91 второго триггера, )8-,=X g y X6g, (17 ) где Xgg — сигнал с выхода переполнения второго счетчика импульсов 28, 88 — (Х61 \/ Х69) Q Xgi ° (18 )

Обращение к второму блоку 24 оперативной памяти организовано следующим образом. При выдаче сигнала инициализации на первом входе 62 сброса появляется сигнал уровня лог. «О», который в соответствии с (15), (17), пройдя через седьмой дешифратор 11, производит начальную установку первого и второго счетчика импульсов 27 и 28. На выходах обоих счетчиков импульсов устанавливается код, состоящий из всех нулей. При работе ЭВМ 2 по программе, содержащейся в блоке 22 постоянной памяти, запись информации во второй блок 24 оперативной памяти производиться не будет, поскольку в этом режиме сигнал на прямом выходе 91 второго триггера принимает значение лог. «О», и в соответствии с (18) на выходе 88 седьмого дешифратора 11 появится пассивный сигнал уровня лог. «О», который запретит запись информации во второй блок 24 оперативной памяти.

В режиме отладки сигнала на прямом выходе 91 второго триггера принимает значение лог. «1». В дальнейшем, выполняя отлаживаемую программу, ЭВМ 1 сопровождает адреса и данные одним из управляющих сигналов на входе записи 61 или чтения

60, которые принимают значения лог. «О».

При этом в соответствии с (18) на выходе 88 седьмого дешифратора 11 появляется сигнал уровня лог. «1», разрешающий запись во второй блок 24 оперативной памяти. По окончании действия сигнала на входы 60 или 61 в соответствии с (16) отрицательный перепад сигнала на выходе 86 седьмого дешифратора 11 производит увеличение кода на единицу на выходах второго счетчика импульсов 28. Этот код поступает на адресные входы второго блока 24 оперативной памяти и является следующим адресом, по которому будет произведена запись новой информации, при переполнении второго счетчика импульсов 28 на его выходе переполнения 92 появляется импульс, который в соответствии с (17) поступает на вход установки нуля второго счетчика импульсов 28.

1363219

И последующая информация будет записываться с нулевых адресов. После окончания режима отладки сигнал на прямом выходе 91 триггера 34 принимает значение лог. «О», и в соответствии с 18 запись информации во второй блок 24 оперативной памяти производиться не будет.

ЭВМ 2, отрабатывая программу, содержащуюся в блоке 22 постоянной памяти, получает команду чтения информации из второго блока 24 оперативной памяти и переходит к выполнению соответствующих подпрограмм, выставляя при этом соответствующий адрес обращения и сопровождая его сигналом на входе 60 чтения уровня лог. «О». При этом на выходе 85 седьмого дешифратора 11 появляется сигнал уровня лог. «I», который поступает на вход чтения информации из второго блока 24 оперативной памяти. На выходах второго блока 24 оперативной памяти появляется записанная ранее информация, которая представлена не более, чем 64 разрядами (два байта-данные, три разряда — с выхода реверсивного счетчика 26 импульсов, двенадцать разрядов — с выходов второго и первого регистров 17, 18 сдвига, остальные разряды — код адреса вторых адресных входов 58), все разряды разбиты на четыре равные группы, и сигналы с них поступают на соответствующие каналы второго мультиплексора 29. Чтение информации из второго блока 24 оперативной памяти производится по нулевому адресу, так как после окончания режима отладки схема 40 сравнения вырабатывает сигнал начальной установки на входе 62, который, в соответствии с (15), (17) произведет сброс первого и второго счетчиков 27, 28 импульсов, на выходах которых будет присутствовать нулевой код. Нулевой код с выходов первого счетчика 27 импульсов поступает на два управляющих входа мультиплексора, что соответствует передаче информации с первого канала сквозь девятый дешифратор 12 на вторую двунаправленную информационную магистраль 59. Девятый дешифратор 12 передает информацию с выходов второго мультиплексора 29 на выходы 89 без изменений при наличии сигнала уровня лог. «1» на прямом входе второго триггера 34, в противном случае все сигналы на выходах 89 имеют уровень лог. «1». Сигнал с выхода 85 седьмого дешифратора 11 поступает также на счетный вход первогоф счетчика 27 импульсов и при окончании этого сигнала отрицательным переходом, т.е. при окончании чтения информации с первого канала мультиплексора происходит увеличение на единицу кода, присутствующего на выходах первого счетчика 27 импульсов. Таким образом, на выходе первого счетчика 27 импульсов будет код «01» и при следующем чтении информации из второго блока 24 оперативной па5

20 мяти будет передан через мультиплексор код с его второго канала. Информация со второго, третьего и четвертого каналов мультиплексора будет прочитана аналогичным образом. При пятом обращении к накопителю на выходе 93 переполнения первого счетчика 27 импульсов появится сигнал уровня лог. «1», который в соответствии с (15) произведет начальную установку первого счетчика 27 импульсов, и этот же сигнал в соответствии с (16) поступит на счетный вход второго счетчика 28 импульсов, увеличивания на единицу код на его выходах, что соответствует следующему адресу обращения ко второму блоку 24 оперативной памяти.

В качестве ЭВМ 1, 2 может быть использован микропроцессор К1810ВМ86 или

К1810ВМ88, в качестве генератора 3 — мультивибратор.

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

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

З5 выходов первого дешифратора, первый адресный вход, первые входы записи, чтения и сброса устройства соединены с входами второго дешифратора, первый, второй и третий выходы которого соединены соответствен40 но с входом записи первого регистра, стробирующим входом первого дешифратора и первым выходом сброса устройства, группа выходов первого регистра соединена с первой группой входов третьего дешифратора, выход которого соединен с входом записи вто45 рого регистра, второй адресный вход устройства соединен с адресными входами блока постоянной памяти, первого блока оперативной памяти„ с группой входов четвертого дешифратора, с группой входов первого сравниваемого числа схемы сравнения, с группой входов пятого дешифратора, с первой группой информационных входов первого мультиплексора, с первой группой входов шестого дешифратора, с группой входов седьмого дешифратора, с первой группой инфор55 мационных. входов второго блока оперативной памяти и с второй группой входов третьего дешифратора, группа выходов которого через вторую двунаправленную магист1363219

15 раль соединена с группой информационны