Изобретение относится к вычислительной технике и может быть использовано при разработке микроконтроллеров, микроЭВМ и других средств вычислительной техники.
Цель изобретения - сокранление объема блоков намяти трассировки.
На фиг. 1, 2 представлена схема устройства для отладки программно-аппаратных блоков.
Устройство содержит первую 1 и вторую 2 ЭВМ, генератор 3 тактовых импульсов, второй 4, третий 5, десятый 6, первый 7, одиннадцатый 8, восьмой 9, четвертый 10, седьмой 11, девятый 12, пятый 13 и шестой 14 деишфраторы, первый 15 и второй 16 регистры, второй 17 и первый 18 регистры сдвига, второй 19, третий 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 десятого дешифратора.
s
5
0 0 п 5
0
5
5
Устройство работает под управлением ЭВМ, в качестве которой может быть использована, например микроЭВМ УВС-01, и обеспечивает отладку устройства на основе микропроцессоров, содержащих встроенную очередь команд, например К180ВМ86 или К1810ВМ88. Системная шина управляющей ЭВМ подключается к входным щинам устройства для отладки программно-аппаратных блоков. Выходные щины устройства подключаются к шинам отлаживаемого устройства. Устройство может работать в одном из двух режимов: управления и отладки.
Рассмотрим работу предлагаемого устройства в режиме управления. Сигнал уровня лог. «О, появляющийся на первом входе начальной установки 45 при нажатии кнопки сброса на пульте управляющей ЭВМ, проходит через дешифратор 4 и с входа 62 последнего воздействует на ЭВМ 1 и 2, элементы И 37, 38, дешифраторы 11 и 14, счетчики 27 и 28, обеспечивая начальную установку регистра 17, триггеров 33, 34. Через дешифратор 14 сигнал начальной установки поступает также на вход сброса отлаживаемого устройства. После окончания воздействия сигнала сброса на выходе режима 91 схемы сравнения появляется сигнал уровня лог. «О, который через элемент И 39 поступает на вход «Готовность ЭВМ 1, запрещая ее работу. При этом сигнал уровня лог. «1 с выхода 57 триггера 34 поступает на вход «Готовность ЭВМ 2, разрешая ее работу, ЭВМ 2 начинает отработку программы-монитора, содержащейся в блоке постоянной памяти 22. В соответствии с этой програм.мой ЭВМ 2 находится в цикле ожидания команд, подаваемых с управляющих ЭВМ.
Команда в виде соответствующего кода поступает от управляющей ЭВМ по входу 41 и при определенном адресе, выставляемом на первом адресном входе 42 и при наличии сигнала на входе записи 43 запоминается в первом регистре 15. ЭВМ 2 в соответствии с выполняемой программой постоянно опрашивает этот регистр, выставляя соответствующий код адреса на адресном входе 58 и сигнал на входе чтения 60, прочитав код из дешифратора 5 по второй двунаправленной информационной магистрали 59, ЭВМ 2 переходит к выполнению программы обработки полученной команды. В соответствии с получаемыми командами ЭВМ 2 производит загрузку третьего блока 25 оперативной памяти, схемы 40 сравнения и при необходи.мости первого блока 23 оперативной памяти. Эти операции выполняются следующим образом.
После получения команды ЭВМ 2 переходит к обработке подпрограмм обращения к третьему блоку 25 оперативной памяти, схемы 40 сравнения и первому блоку 23 оперативной памяти. На адресном входе 58 ЭВМ 2 устанавливает адрес, соответствующий одному из узлов устройства, а по второй двунаправленной информационной магистрали 59 ЭВМ 2 передает необходимые коды, сопровождая их сигналом на выходе 61 записи. При этом при обращении ЭВМ 2 ж первому блоку 23 оперативной памяти на старшей адресной линии присутствует сигнал уровня лог. «О, а при обращении к второму блоку 24 оперативной памяти, третьему блоку 25 оперативной памяти, схеме 40 сравнения и третьему дешифратору 5 - сигнал уровня лог. «1«. В третий блок 25 оперативной памяти записывается информация о том, будет ли при отладке использоваться память отлаживаемого устройства, которое подключается к устройству через группу адресных выходов 47, третьи информационные входы-выходы 46, управляющий вход готовности 55 и управляющие выходы 48-54, или будет использоваться первый блок 23 оперативной памяти, в последнем случае ЭВМ 2 загружает в первый блок 23 оперативной памяти отлаживаемую программу. В соответствии с информацией, записанной в третьем блоке 25 оперативной памяти, при отладке на выходе будет вырабатываться соответственно сигнал разрешения работы первого блока 23 оперативной памяти (сигнал уровня лог. «О) или шестого дешифратора 14 (сигнал уровня лог. «1).
В схему 40 сравнения записывается условие окончания отладки, в соответствии с которым схема сравнения запрещает выполнение отлаживаемой программы, подавая на первый выход 62 сброса сигнал начальной установки.
Для перехода в режим отладки ЭВМ 2, получив соответствующий код команды через третий дещифратор 5, устанавливают на ад- ресно.м входе 58 код, состоящий из всех единиц. В этом случае схема сравнения вырабатывает сигнал режима (уровня лог. «О) на выходе 57, который отключает блок 22 постоянной памяти, поступая на вход готовности 55 ЭВМ 2, запрещает ее работу, этот же сигнал поступает в блок 24, а и сигнал режима (уровня лог. «1) - на выход 91, которым разрещается работа ЭВМ 1 и чтение из второго блока 25 оперативной памяти.
В режиме отладки работает ЭВМ 1, выполняя отлаживаемую программу, ЭВМ 1 состоит из трех блоков: блока управления каналом, блока и сполнения команд и блока очереди команд. Блок управления каналом организует циклы канала, выбирает из памяти коды отлаживаемой программы и загружает их в блок очереди команд. Блок исполнения команд последовательно исполняет команды, выбирая их из блока очереди команд. Если в процессе выполнения команды необходимо обратиться к памяти, то блок исполнения команд делает заявку, блок управления каналом, закончив очередную выборку программного кода из памяти, удовлетворяет эту заявку. Объем запоминающего узла блока очереди команд ограничен; если он заполнен, то блоки управления каналом работает вхолостую, если в блок очереди команд можно поместить байты программного кода, то блок управления каналом выполняет цикл выборки из-памяти кода команды. Таким образом, в ЭВЛА 1 организована предварительная (заблаговре- менная) выборка кодов команд, а операции выборки и исполнения совмещены во времени. Поэтому последовательность вь1борки не соответствует последовательности их исполнения, в частности команды, которые быS ли выбраны из памяти после выборки команды безусловного перехода, в действительности исполняться не будут. Чтобы восстановить реальную картину исполнения команд, необходимо иметь сведения о взаимодействии блока исполнения команд с бло0 ком очереди команд. Код на входах 64 и 65 задания режима ЭВМ 1 говорит о том, что в предыдущем такте из блока очереди команд был выбран первый байт кода команды, либо был выбран последующий байт ко5 да команды, либо блок очереди команд был очищен в результате выполнения команды перехода, либо в предшествующем такте блок исполнения команд не обращался к блоку очереди команд. Также необходимо знать количество команд, находящихся в
0 блоке очереди команд в определенные моменты времени - эту информацию вырабатывает узел, включающий одновибратор 19, дещифратор 6 и реверсивный счетчик 26 импульсов.
5 Выполняя отлаживаемую программу, ЭВМ I производит обращения либо к первому блоку 23 оперативной памяти, либо к памяти отлаживаемого устройства в зависимости от условий, заданных в блоке 24. Обмен информацией между памятью и ЭВМ 1 производится через шестой дешифратор 14 следующим образом. В случае передачи информации от ЭВМ 1 в память отлаживаемого устройства информация на адресном входе 58 и второй двунаправ5 ленной информационной магистрали 59, сопровождающаяся сигналом на выходе записи 61, передается через дещифратор 14 при наличии разрешающего сигнала на втором входе 90 второго элемента И на группу адресных входов 47 и третьи информацион0 ные входы-выходы 46 к памяти отлаживаемого устройства, сопровождаясь при этом сигналом по выходу записи 49.
При приеме информации из памяти отлаживаемого устройства ЭВМ 1 устанавливает на входе чтения 60 сигнал чтения
5 данных, который через шестой дешифратор 14 поступает на первый выход чтения 48, а на втором адресном входе 58 - адрес ячейки, к которой производится обращение.
управляющую ЭВМ информации, содержащейся в блоке 25.
Таким образом, устройство для отладки программно-аппаратных блоков позволяет моделировать отлаживаемое устройство на самых ранних этапах разработки, используя при этом первый блок 23 оперативной памяти, и производить отладку программного обеспечения, необходимого для работы отлаживаемого устройства, с запоми- 10 нанием информации во втором блоке 24 оперативной памяти. При отладке обеспечивается останов отлаживаемой программы по адресу, задаваемому оператором. Регистры 17, 18 сдвига работают следую..„ „„„„„„, .. ..„„, ..„.„щим образом. Дешифратор 8 реализует слерый через третий вход элемента И 39 по- - дующую логическую функцию:
ступает на выход готовности 56 ЭВМ 1, за-Yga ,vU
Код адреса через шестой дешифратор 14 поступает на группу адресных входов 47. Информация на группе адресных выходов 47 и сигнал на первом выходе 48 чтения будет сохраняться до тех пор, пока память отлаживаемого устройства не установит считанную информацию на входе 64, с которой через дешифратор 14 она поступит на вторую двунаправленную информационную магистраль 59 ЭВМ 1.
Синхронизация работы ЭВМ 1 и памяти отлаживаемого устройства выполняется с по- мощою входа 55 готовности. При обращении к памяти последняя устанавливает на входе 55 сигнал уровня лог. «О, котопрещая работу последней, сигнал этого уровня остается до тех пор, пока память не закончит внутренний цикл (т.е. не произведет запись или выдачу информации). После окончания внутреннего цикла на входе готовности 55 памяти устанавливает сигнал уровня лог. «1, который через первый элемент И 39 поступает на выход готовности 56 ЭВМ 1. ЭВМ 1, обратившись к памяти отлаживаемого устройства, приостанавливает свою работу на все то время, в течение которого на входе 55 готовности остается сигнал уровня лог. «О.
В течение всего времени работы ЭВМ 1 разрешена запись во второй блок 24 оперативной памяти, который в каждом цикле обращения ЭВМ 1 к памяти запоминает ин20
25
30
формацию с вторых адресных входов 58, с второй двунаправленной информационной магистрали 59, с выходов реверсивного счетчика 26 импульсов, а также с выходов
регистров 17 и 18 сдвига, которые хранят генератора тактовых импульсов. Отрицатель- информацию обо всех изменениях сигналовным фронтом (переходом из высокого уровгде Хб5, Хб4 - сигналы с входов 65, 64 ЭВМ 1; Хб7 - сигнал с выхода генератора. Таким образом, на выходе 83 дешифратора 8 сигнал низкого уровня появляется в течение полупериода, когда синхросигнал 67 имеет высокий уровень и хотя бы один из сигналов 64, 65 имеет низкий уровень.
Запись в блок 24 второй оперативной памяти осуществляется положительным фронтом (переходом из низкого уровня в высокий) коньюнкции сигналов на входах чтения и записи 60 и 61. Этим же фронтом, а также положительным фронтом сигнала на первом входе сброса 62 запускается третий одновибратор 20, который на прямом 95 и инверсном выходах вырабатывает соответственно положительный и отрицательный импульсы длительностью четверть периода синхросигнала на выходе 67
на входах задания режима 64, 65 ЭВМ за время, прошедшее между двумя последовательными циклами записи, второй блок 24 оперативной памяти.
В схеме 40 сравнения в режиме отладки постоянно происходит сравнение кодов адреса с адресных входов 58 с заданными в качестве условий выхода из режима отладки. При совпадении кодов адреса с заданными на входе 91 вырабатывается сигнал уровня лог. «О, который запрещает запоминание информации в втором блоке 24 оперативной и останавливает ЭВМ 1, на выходе 57 появляется сигнал уровня
ня в низкий) сигнал на прямом выходе 95 третьего одновибратора при наличии высокого уровня на выходе 94 второго элемен- 40 та НЕ, учитывая, что элемент НЕ 35 вносит задержку распространения сигнала меньшую, чем длительность импульса на выходе одновибратора, а регистры 17 и 18 сдвига со входов занесения информации в параллельном коде записывается код, состоящий из всех единиц. Если хотя бы на одном из входов 64, 65 задания режима присутствует сигнал уровня
45
лог. «о, то это свидетельствует о взаимодействии блока исполнения команд с буфелог. «1, который разрешает работу блока 22 „ ром команд ЭВМ 1, и тогда положительпостоянной памяти и ЭВМ 2. Одновременноный фронт синхросигнала на выходе 67 гес этим схема 40 сравнения формирует на
входе 62 сброса сигнал начальной установки.
ЭВМ 2 начинает отработку программы.
нератора тактовых импульсов в соответствии с (1) на выходе 83 дешифратора 8 сформирует отрицательный фронт сигнала, по которому осуществляется сдвиг вправо содержащейся в блоке 22 постоянной памя- 55 а один разряд содержимого регистров 17 ти, и остается в цикле ожидания коман-и 18 с одновременным занесением в осводы от управляющей ЭВМ. Эти команды, вбодившийся младший разряд информации с
частности, могут инициировать передачу ввходов 65, 64 задания режима соответствен0
5
0
генератора тактовых импульсов. Отрицатель- ным фронтом (переходом из высокого уровгде Хб5, Хб4 - сигналы с входов 65, 64 ЭВМ 1; Хб7 - сигнал с выхода генератора. Таким образом, на выходе 83 дешифратора 8 сигнал низкого уровня появляется в течение полупериода, когда синхросигнал 67 имеет высокий уровень и хотя бы один из сигналов 64, 65 имеет низкий уровень.
Запись в блок 24 второй оперативной памяти осуществляется положительным фронтом (переходом из низкого уровня в высокий) коньюнкции сигналов на входах чтения и записи 60 и 61. Этим же фронтом, а также положительным фронтом сигнала на первом входе сброса 62 запускается третий одновибратор 20, который на прямом 95 и инверсном выходах вырабатывает соответственно положительный и отрицательный импульсы длительностью четверть периода синхросигнала на выходе 67
ня в низкий) сигнал на прямом выходе 95 третьего одновибратора при наличии высокого уровня на выходе 94 второго элемен- та НЕ, учитывая, что элемент НЕ 35 вносит задержку распространения сигнала меньшую, чем длительность импульса на выходе одновибратора, а регистры 17 и 18 сдвига со входов занесения информации в параллельном коде записывается код, состоящий из всех единиц. Если хотя бы на одном из входов 64, 65 задания режима присутствует сигнал уровня
но. Число сдвигов в течение одного цикла записи ограничено объемом памяти буфера команд ЭВМ 1.
Узел, на выходе которого формируется значение глубины очереди команд ЭВМ 1, включает второй одновибратор 19, десятый дешифратор 6 и реверсивный счетчик импульсов 26, десятый дешифратор 6 реализует следуюш,ие логические функции:
У90 Хб4ЛХб5,-(2)
где Хб4, Хб5 - сигнал с входов задания режима 64, 65 ЭВМ 1;
(Х,9УХ9б)ЛХбзЛХббЛХб4, (3) сигнал с выхода второго одновиб- . ратора 19;
сигнал на шестом входе 96 десятого дешифратора с младшего разряда вторых адресных входов 58;
сигнал на входе признака выборки команды 63;
20
Хбб - сигнал на входе строба адреса 66,
Y82 (Х|9ЛХ9бУХбзУХбб) ЛХб4. , (4) Узел работает следующим образом. Значение глубины очереди увеличивается на два при выборке программного кода по четному адресу (за одно обрашение к памяти по четном.у адресу ЭВМ 1 выбирает два байта программного кода, а по нечетному адресу - один байт), на один при выборке программного кода по нечетному адресу, уменьшается на один при выборке байта из очереди на исполнение и обнуляется при очистке очереди. Комбинация «10 сигналов на входах 64 и 65 задания режима свидетельствует об очистке очереди, согласно (2) при этом на первом выходе 80 десятого дешифратора 6 сформируется сигнал высокого уровня, который запишет в реверсивный счетчик 26 импульсов код, сос- тояш,ий из всех единиц. Один цикл обраш.е- ния к памяти ЭВМ 1 длится минимум 4 такта синхросигнала на выходе 67 генератора тактовых импульсов; каждый цикл обращения к памяти начинается по совпадению отрицательного фронта синхросигнала и положительного фронта сигнала на входе 66 сброса адреса, который имеет уровень лог. «1 в течение двух тактов сигнала на вы5(оде 67 генератора тактовых импульсов. Этим же фронтом запускается второй одновибратор 19, на выходе которого формируется сигнал уровня лог. «1 длитель25
Шестой дешифратор 14 реализует следующие логические функции (индексы переменных X соответствуют номерам входов де- щифратора, индексы переменных соответствуют номерам выходов дешифратора) Yei Xso
30
35
40
45
(5) (6) (7)
(8) (9)
(10)
(II) (12)
(13)
Y89 Х46 V Х90 V Хбо.(14)
Из формулы (5) следует, что дешифратор буферизирует сигнал на первом входе 62 сброса. Сигналы на входах 61, 60, 63-66 устройства имеют активный низкий уровень и проходят сквозь шестой дешифратор 14 только при наличии сигнала разрешения на втором входе 90 второго элемента И уровня лог. «1, что свидетельствует об обращении ЭВМ 1 к памяти отлаживаемого устройства (см. формулы 6-12). Сигналы с
Y49 Хб1 V Х90В
Y48 Хбо V Хэо
YSI ХбЗ V 90
Ysa Хб4 V Х90
V Х90(10) Y54 Хб6 V Х90 Y47 XSB V Х90 Y46 Х59 V Х90 V Хб1
ностью один период сигнала 67 на выходе ге- Q второй двунаправленной информационной
нератора тактовых импульсов. Если текущий цикл есть цикл выборки программного кода, то в течен ие всего цикла вход признака выборки команды 63 находится в состоянии лог. «О, в противном случае - в соемагистрали 59 проходят в отлаживаемое устройство при наличии сигнала разрешения на втором входе 90 второго элемента И 38 и сигнала на входе записи 61. Сигналы с третьих информационных входов-выходов 46
тоянии лог. «1. Изменения значения на 55 отлаживаемого устройства проходят на втовыходе реверсивного счетчика 26 импульсов происходят по положительному перепаду сигнала на счетном входе 79. Присутствие сиг0
0
5
нала уровня лог. «О на первом входе 64 задания режима свидетельствует о выборке из очереди байта на исполнение. Из (3) следует, что приращение значения в реверсивном счетчике 26 импульсов происходят только в циклах выборки программного кода во втором такте, если в этом такте сигнал на первом входе задания режима имеет уровень лог. «1 (исполнения не было) и в первом такте, если сигнал на первом входе 64 задания режима имеет уровень лог. «1, и сигнал на шестом входе 96 десятого дешифратора имеет уровень лог. выборка происходила по четному адресу. Из (4) следует, что уменьшение значения в реверсивном счетчике 26 импульсов происходит в тактах, в которых сигнал на перво.м входе 64 задания режима имеет уровень лог. «О и которые не являются первым и вторым тактами выборки программного кода из памяти.
Шестой дешифратор 14 реализует следующие логические функции (индексы переменных X соответствуют номерам входов де- щифратора, индексы переменных соответствуют номерам выходов дешифратора) Yei Xso
0
5
0
5
(5) (6) (7)
(8) (9)
(10)
(II) (12)
(13)
Y89 Х46 V Х90 V Хбо.(14)
Из формулы (5) следует, что дешифратор буферизирует сигнал на первом входе 62 сброса. Сигналы на входах 61, 60, 63-66 устройства имеют активный низкий уровень и проходят сквозь шестой дешифратор 14 только при наличии сигнала разрешения на втором входе 90 второго элемента И уровня лог. «1, что свидетельствует об обращении ЭВМ 1 к памяти отлаживаемого устройства (см. формулы 6-12). Сигналы с
Y49 Хб1 V Х90В
Y48 Хбо V Хэо
YSI ХбЗ V 90
Ysa Хб4 V Х90
V Х90(10) Y54 Хб6 V Х90 Y47 XSB V Х90 Y46 Х59 V Х90 V Хб1
второй двунаправленной информационной
магистрали 59 проходят в отлаживаемое устройство при наличии сигнала разрешения на втором входе 90 второго элемента И 38 и сигнала на входе записи 61. Сигналы с третьих информационных входов-выходов 46
рую двунаправленную информационную магистраль 59 при наличии разрешающего сигнала на втором входе 90 второго элемента И и сигнала на входе чтения 60 - это следует из формулы (13) и (И). При выполнении подпрограммы загрузки третьего блока 25 оперативной памяти выставляется адрес обращения к этому блоку. При этом четыре старших разряда адреса подаются на первый канал первого мультиплексора 30, остальные разряды адреса подсоединены к соответствующим входам пятого дешифратора 13, четыре старших разряда второй двунаправленной информационной магистрали 59 поступают на входы второго канала первого мультиплексора 30, а младший разряд - на информационный вход третьего блока 25 оперативной памяти. Код на вторых адресных входах 58 и второй двунаправленной информационной магистрали 59 сопровождается сигналом на входе 61 записи. При наличии сигналов уровня лог. «О на входе 61 записи и первом выходе 57 готовности и наличии соответствующего кода на остальных входах пятого дешифратора 13 на первом выходе 77 последнего появляется сигнал высокого уровня, разрешающий передачу информации через первый канал высокого уровня, разрешающий передачу информации через первый канал первого мультиплексора 30 и разрешающий запись информации в третий блок 25 оперативной памяти. В то же время сигнал на втором выходе 78 имеет уровень лог. «О. Информация, записанная в третьем блоке 25 оперативной памяти, в дальнейшем будет использоваться для определения, где будет располагаться соответствующий сегмент памяти (либо в первом блоке 23 оперативной памяти, либо в отлаживаемом устройстве). При этом младший разряд второй двунаправленной информационной магистрали 59 содержит информацию о месте расположения соответствующих сегментов памяти, а четыре старщих разряда содержат код соответствующего сегмента памяти. Если по некоторому a fpecy в третьем блоке 25 оперативной памяти записан «О, то в .дальнейшем к соответствующему сегменту- будут обращаться в первый блок 23 оперативной памяти, в противном случае - к памяти отлаживаемого устройства.
Б режиме отладки сигнал на первом выходе 57 готовности принимает высокий уровень, при этом на первом выходе 77 пятого дешифратора 13 появляется сигнал уровня лог. «О, а на втором выходе 78 - уровня лог. «1« независимо от состояния сигналов на остальных входах пятого дешифратора 13. Сигнал на первом выходе 57 готовности запрещает запись информации в третий блок 25 оперативной памяти и разрешает считывание информации из этого блока оперативной памяти. Всякий раз, когда ЭВМ 1 выставляется на вторых адресных входах устройства 58 новый адрес, его старшие четыре разряда будут прохо0
дить через первый канал первого мультиплексора 30 на адресные входы третьего блока 25 оперативной памяти, а сигнал на выходе третьего блока 25 оперативной памяти будет указывать место нахождения
сегмента памяти, задаваемого четырьмя старшими разрядами адреса.
Восьмой дешифратор 9 при наличии на выходе готовности 57 и входах 60 и 90 сигнала уровня лог. «О передает сигналы с
0 входов 72 на выходы 73 без изменения, в противном случае сигналы на выходах 73 имеют уровень лог. «1.
Сравнение кодов в схеме 40 сравнения организовано следующим образом. Сигнал
инициализации, появляющийся на первом входе сброса 62, поступает на инверсный вход установки нуля первого триггера 33 и через второй элемент И 38 - на тактовый вход второго триггера 34, устанавливая на прямых выходах этих триггеров сигнал уровня лог. «О, а на инверсном выходе второго триггера 34 - сигнал уровня лог. «1. Таким образом, разрещена работа блока 22 постоянной памяти, и ЭВМ 2 обрабатывает программу, содержащуюся в
5 блоке 22 постоянной памяти. Получив команду загрузки узла сравнения, ЭВМ переходит к подпрограмме загрузки третьего 31 и четвертого 32 регистров необходимыми кодами. При этом ЭВМ 2 выставляет соответствующий адрес обращения на вторых ад0 ресных входах 58, сопровождая его сигналом на входе 61 записи уровня лог. «О, причем старщий разряд адреса содержит единицу. При этом в зависимости от выставленного адреса на выходе 74 или 75 появится сигнал уровня лог. «1, производя5 щий запись информации в третий регистр 31 или четвертый регистр 32 соответственно, при этом в регистр записывается информация второй двунаправленной информационной магистрали 59. Таким образом, каждо0 му из этих регистров присвоен адрес обращения. В третий регистр 31 записывается код, который будет старщей частью адреса останова, в четвертый регистр 32 записывается код, который будет младшей частью адреса останова. Тогда на выходах этих
5 регистров будет адрес останова, он подается на входы второго сравниваемого числа схемы 40 сравнения. При работе устройства для отладки программно-аппаратных блоков в режиме отладки на вторых адресных входах 58 будут появляться коды адресов об0 ращения ЭВМ 1 к первому блоку 23 оперативной памяти или памяти отлаживаемого устройства, и как только код адреса совпадает с кодом, записанным в третьем и четвертом регистрах 31 и 32, схема 40 сравнения сработает, а на ее выходе появится сигнал высокого уровня, который положительным фронтом, подаваемым на первый одновибратор 21, вызовет на вы5
1
ходе последнего положительный.импульс, который, пройдя через второй элемент И 38, своим положительным фронтом установит на выходе 91 низкий уровень. Этот же одиночный импульс, пройдя через первый элемент НЕ 36, поступит па первый вход сброса 62, производя начальную установку ЭВМ и других узлов. Таким образом, завершен цикл работы: обмен с управляющей ЭВМ- отладка.
Когда ЭВМ 2 закончит подготовку к ра- боте всех узлов устройства для отладки программно-аппаратных блоков, он выполняет цикл записи в узел сравнения по адресу, состоящему из всех единиц кода, содержащего все единицы. При появлении этого адреса па вторых адресных входах 58, па выходе 76 четвертого дешифратора 10 появится сигнал уровня лог. «1. Положительным фронтом сигнала на входе 61 записи информация с информационного входа первого триггера 33 перепишется на его выход, эта «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 поя- виtcя сигпал уровня лог. , который стро- бирует загрузку информации во второй регистр 16 второй двунаправленной информационной маг истрали 59. Управляющая ЭВМ, обращаясь к узлу сопряжения, выставляет соответствующий адрес и сопровождает его сигналом на входе 44 чтения. В результате информация с выходов второго регистра 16 будет без изменения передана на выходы 41 первого дешифратора
40
45
В режиме отладки сигнала на прямом выходе 91 второго триггера принимает значение лог. «1. В дальнейшем, выполняя отлаживаемую программу, ЭВМ 1 сопровождает адреса и данные одним из управляющих сигналов на входе записи 61 или чтения 60, которые припимают значения лог. «О. При этом в соответствии с (18) на выходе 88 седьмого дещифратора 11 появляется сигнал уровня лог. «1, разрешающий запись во второй блок 24 оперативной памяти. По окончании действия сигнала на входы 60 или 61 в соответствии с (16) отрицательный перепад сигнала на выходе 86 седьмого дешифратора 11 производит увеличение кода
СП на единицу на выходах второго счетчика импульсов 28. Этот код поступает на адресные входы второго блока 24 опе ративной памяти и является следующим адресом, по которому будет произведена запись новой информации, при переполнении второго счет7. Сигнал на входе 62 второго дешифрато-55 чика импульсов 28 на его выходе переполра 4 всегда повторяет сигнал на первомнения 92 появляется импульс, который в совходе начальной установки этого дешиф-ответствии с (17) поступает на вход устаратора.новки нуля второго счетчика импульсов 28.
12
Седьмой дешифратор 11 управляет обращением к второму блоку 24 оперативной памяти и реализует следующие логические функции:
Y84 Хэз V Хб2,(15)
сигнал с выхода переполнения 93 первого счетчика импульс-ов 27;
Y86 (Хб1 V Хб2) Л Хэ, V Хаз, (16) где Хэ - сигпал с прямого выхода 91 второго триггера,
V87 X92VX62,(17)
где Х92 - сигнал с выхода переполнения второго счетчика и.мпульсов 28,
О 0 5
0
0
5
Y88 (Хб, V Хб2) ЛХэ,.(18)
Обращение к второму блоку 24 оперативной памяти организовано следующим образом. При выдаче сигнала инициализации на первом входе 62 сброса появляется сигнал уровня лог. «О, который в соответствии с (15), (17), пройдя через седьмой дещифратор 11, производит пачальную установку первого и второго счетчика импульсов 27 и 28. На выходах обоих счетчиков импульсов устанавливается код, состоящий из всех нулей. При работе ЭВМ 2 по програ.мме, содержащейся в блоке 22 постоянной памяти, запись информации во второй блок 24 оперативной памяти производиться не будет, поскольку в этом режиме сигнал на прямом выходе 91 второго триггера принимает значение лог. «О, и в соответствии с (18) на выходе 88 седьмого дешифратора 11 появится пассивный сигнал уровня лог. «О, который запретит запись
j. информации во второй блок 24 оперативной па.мяти.
В режиме отладки сигнала на прямом выходе 91 второго триггера принимает значение лог. «1. В дальнейшем, выполняя отлаживаемую программу, ЭВМ 1 сопровождает адреса и данные одним из управляющих сигналов на входе записи 61 или чтения 60, которые припимают значения лог. «О. При этом в соответствии с (18) на выходе 88 седьмого дещифратора 11 появляется сигнал уровня лог. «1, разрешающий запись во второй блок 24 оперативной памяти. По окончании действия сигнала на входы 60 или 61 в соответствии с (16) отрицательный перепад сигнала на выходе 86 седьмого дешифратора 11 производит увеличение кода
П на единицу на выходах второго счетчика импульсов 28. Этот код поступает на адресные входы второго блока 24 опе ративной памяти и является следующим адресом, по которому будет произведена запись новой информации, при переполнении второго счет5 чика импульсов 28 на его выходе перепол13
И последующая информация будет записываться с нулевых адресов. После окончания режима отладки сигнал на прямом выходе 91 триггера 34 принимает значение лог. «О, и в соответствии с 18 запись информации во второй блок 24 оперативной памяти производиться не будет.
ЭВМ 2, отрабатывая программу, содержащуюся в блоке 22 постоянной памяти, получает команду чтения информации из второго блока 24 оперативной памяти и переходит к выполнению соответствующих подпрограмм, выставляя при этом соответствующий адрес обращения и сопровождая его сигналом на входе 60 чтения уровня лог. «О. При этом на выходе 85 седьмого дешифратора II появляется сигнал уровня лог. «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 оперативной па14
мяти будет передан через мультиплексор код с его второго канала. Информация со второго, третьего и четвертого каналов мультиплексора будет прочитана аналогичным образом. При пятом обращении к накопителю на выходе 93 переполнения первого счетчика 27 импульсов появится сигнал уровня лог. «1, который в соответствии с (15) произведет начальную установку первого счетчика 27 импульсов, и этот же сигнал в
соответствии с (16) поступит на счетный вход второго счетчика 28 импульсов, уве- личивания на единицу код на его выходах, что соответствует следующему адресу обращения ко второму блоку 24 оперативной памяти.
В качестве ЭВМ 1, 2 может быть использован микропроцессор К1810ВМ86 или К1810ВМ88, в качестве генератора 3 - мультивибратор.
20
Формула изобретения
Устройство для отладки программно- аппаратных блоков, содержащее десять де- щИфраторов, генератор тактовых импульсов, первый, второй, третий и четвертый регист5 ры, блок постоянной памяти, первый, второй и третий блоки оперативной памяти, первый и второй счетчики импульсов, реверсивный счетчик импульсов, первый и второй мультиплексоры, первый и второй триггеры, первый элемент НЕ, первый и вто рой элементы И, схему сравнения, первый и второй одновибраторы, причем первая группа информационных входов-выходов устройства через первую двунаправленную магистраль соединена с группой информационных входов первого регистра и группой
выходов первого дешифратора, первый адресный вход, первые входы записи, чтения и сброса устройства соединены с входами второго дещифратора, первый, второй и третий выходы которого соединены соответствен0 но с входом записи первого регистра, стро- бирующим входом первого дещифратора и первым выходом сброса устройства, группа выходов первого регистра соединена с первой группой входов третьего дешифратора, выход которого соединен с входом записи вто рого регистра, второй адресный вход устройства соединен с адресными входами блока постоянной памяти, первого блока оперативной памяти, с группой входов четвертого дещифратора, с группой входов первого сравниваемого числа схемы сравнения, с груп- пой входов пятого дешифратора, с первой группой информационных входов первого мультиплексора, с первой группой входов шестого дешифратора, с группой входов седьмого дещифратора, с первой группой инфор5 мационных. входов второго блока оперативной памяти и с второй группой входов третьего дешифратора, группа выходов которого через вторую двунаправленную магист15
раль соединена с группой информационных входов первого блока оперативной памяти, с группой информационных выходов блока постоянной памяти, с группой выходов восьмого дешифратора, с второй группой информационных входов второго блока оперативной памяти, с группами информационных входов второго, третьего и четвертого регистров, с второй группой информационных входов первого мультиплексора, с второй группой входов шестого дешифратора, с группой выходов девятого дешифратора, с первой группой выходов шестого дешифратора и с второй группой информационных входов-выходов устройства, группа разрядных выходов второго регистра соединена с группой входов первого дешифратора, второй вход чтения устройства соединен с входами чтения блока постоянной памяти, первого блока оперативной памяти, с первыми входами третьего, шестого, седьмого и восьмого дешифраторов, второй вход записи устройства соединен с первым входом пятого дешифратора, с вторыми входами третьего, шестого и седьмого дешифраторов, входом четвертого дешифратора, тактовым входом первого триггера, с входом записи первого блока оперативной памяти, группа информационных выходов первого блока оперативной памяти соединена с группой входов восьмого дешифратора, первый и второй выходы четвертого дешифратора соединены с тактовыми входами третьего и четвертого регистров, группа информационных выходов которых соединена с группой входов второго сравниваемого числа схемы сравнения, выход которой через первый одновибратор соединен с первым входом первого элемента И и через первый элемент НЕ - с вторым входом первого элемента И, с входом установки нуля первого триггера, с третьими входами шестого и седьмого дешифраторов и с третьим выходом второго дешифратора, третий выход четвертого дешифратора соединен с информационным входом первого триггера, выход которо-, го соединен с входом установки в «1 второго триггера, информационный вход второго триггера соединен с шиной нулевого потенциала устройства, выход первого элемента И соединен с тактовым входом второго триггера, инверсный выход которого соединен с первым входом обращения первого блока оперативной памяти, с входом обращения блока постоянной памяти, с вторыми входами пятого и восьмого дешифраторов и с первым выходом готовности устройства, прямой выход второго триггера соединен с первым входом второго элемента И и с четвертым входом седьмого дешифратора, первый выход пятого дешифратора соединен со входом записи третьего блока оперативной памяти и управляющим входом первого мультиплексора, группа выходов которого соединена с группой адресных входов третье16
го блока оперативной памяти, второй выход пятого дешифратора соединен с входом чтения третьего блока оперативной памяти, выход которого соединен с третьим входом восьмого дешифратора и вторым входом обрашения первого блока оперативной памяти, старший разряд информационного выхода блока постоянной памяти соединен с информационным входом третьего блока оперативной памяти, выход которого соединен с четвертым входом шестого дешифратора и вторым входом второго элемента И, вход готовности устройства соединен с третьим входом второго элемента И, выход которого соединен с вторым выходом готовности устройства, вторая группа выходов шестого
дешифратора соединена с третьей группой входов шестого дешифратора и является третьей группой информационных входов-выходов устройства, третья группа выходов шестого дешифратора является группой адресных выходов устройства, первый, второй, третий, четвертый, пятый, шестой и седьмой выходы шестого дешифратора являются соответственно первыми выходами чтения, записи, строба адреса устройства, вторым выходом сброса устройства, первым и вторым
выходами задания режима устройства, выходом признака выборки команды устройства, выход генератора тактовых импульсов соединен со счетным входом реверсивного счетчика импу 1ьсов, группа выходов которого соединена с третьей группой информационных входов второго блока оперативной памяти, вход признака выборки команды устройства соединен с пятым входом шестого дешифратора и первым входом десятого дешифратора, первый вход задания режима устройства соединен с шестым входом шестого дешифратора и вторым входом десятого дешифратора, второй вход задания режима устройства соединен с седьмым входом шестого дешифратора и третьим входом десятого дешифратора, вход
строба адреса устройства соединен с восьмым входом шестого дешифратора, с четвертым входом десятого дешифратора и через второй одновибратор - .с пятым входом десятого дешифратора, младший разряд второй группы адресных входов устройства
соединен с шестым входом десятого дешифратора, первый, второй и третий выходы которого соединены соответственно со входом установки нуля, со входом разрешения счета в прямом направлении, с входом разрешения счета в инверсном направлении, первый, второй, третий, четвертый и пятый выходы седьмого дешифратора соединены соответственно с входом установки нуля первого счетчика импульсов, со счетным входом первого счетчика импульсов, со счетным входом второго счетчика импульсов, со входом установки нуля второго счетчика импульсов и первым входом обраш,ения второго блока оперативной памяти, второй выход седьмого
17
дешифратора соединен с вторым входом обращения второго блока оперативной памяти и входом девятого дешифратора, выходы переполнения первого и второго счетчиков импульсов соединены соответственно с пятым и шестым входами седьмого дешифратора, группы информационных выходов первого и второго счетчиков импульсов соединены соответственно с группой управляющих входов второго мультиплексора и с группой адресных входов второго блока оперативной памяти, первая, вторая, третья и четвертая группы выходов второго блока оперативной памяти соединены соответственно с первой, второй, третьей и четвертой группами информационных входов второго мультиплексора, группы выходов которого соединены с группой входов девятого дешифратора, отличающееся тем, что, с целью сокращения объема блоков памяти трассировки, в устройство введены одиннадцатый дешифратор, третий элемент И, третий, одновиб- ратор, второй элемент НЕ, первый и второй регистры сдвига, причем выход генератора тактовых импульсов, первый и второй входы задании режима устройства соедине18
ны соответственно с первым, вторым и третьим входами одиннадцатого дешифратора, выход которого соединен с входами сдвига первого и второго регистров сдвига, вторые входы записи и чтения устройства и первый выход сброса устройства соединены соответственно с первым, вторым и третьим входами третьего элемента И, выход которого соединен с входом третьего одновиб- ратора, прямой выход которого соединен с входами записи первого и второго регистров сдвига, инверсный выход третьего од- новибратора через второй элемент НЕ соединен с тактовыми входами первого и второго регистров сдвига, первый и второй входы задания режима устройства соединены с входом занесения информации в последовательном коде первого и второго регистров сдвига соответственно, группы информационных выходов которых соединены соответственно с четвертой и пятой группами информационных входов второго блока оперативной памяти, группы информационных входов первого и второго регистров сдвига соединены с шиной единичного потенциала устройства.
50
Составитель И. Сигалов
Техред И. ВересКорректор М. Шароши
Тираж 671Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
1 13035, Москва, Ж-35, Раушская наб., д. 4/5 Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная. 4
название | год | авторы | номер документа |
---|---|---|---|
Устройство для отладки программно-аппаратных блоков | 1986 |
|
SU1425683A1 |
Устройство для отладки программно-аппаратных блоков | 1984 |
|
SU1282139A1 |
Устройство для отладки программно-аппаратных блоков | 1987 |
|
SU1497617A1 |
Устройство для отладки программно-аппаратных блоков | 1985 |
|
SU1348839A1 |
Устройство для отладки многопроцессорных систем | 1988 |
|
SU1541616A1 |
Устройство для отладки микроЭВМ | 1985 |
|
SU1410708A1 |
Устройство для отладки микроЭВМ | 1987 |
|
SU1553981A1 |
Устройство для отладки многопроцессорных систем | 1987 |
|
SU1446624A1 |
Устройство для отладки программ | 1988 |
|
SU1654827A1 |
Устройство для отладки микропроцессорных систем | 1989 |
|
SU1672455A1 |
Изобретение относится к вычислительной технике и может быть использовано при разработке микроконтроллеров, микро- ЭВМ и других средств вычислительной техники. Целью изобретения является сокращение объемов блоков памяти трассировки. Поставленная цель достигается тем, что устройство для отладки программ содержит первую и вторую ЭВМ, генератор тактовых импульсов, одиннадцать дешифраторов, шесть триггеров, два регистра сдвига, три одновибратора, блок постоянной памяти, три блока оперативной памяти, реверсивный счетчик импульсов, два счетчика, два мультиплексора, два элемента НЕ, три элемента И, схему сравнения. Изобретение позволяет при одном и том же объеме блока памяти трасс запоминатё информацию о выполнении большого участка программы. 2 ил. I СО Cfc 00 to
Микропроцессоры | |||
Системы программирования и отладки | |||
Под ред | |||
В | |||
А | |||
Мяс- никова, М.: Энергоатомиздат, 1985 | |||
Пюпитр для работы на пишущих машинах | 1922 |
|
SU86A1 |
0 |
|
SU162554A1 |
Авторы
Даты
1987-12-30—Публикация
1986-03-24—Подача