Устройство для отладки программно-аппаратных блоков — SU 1363219 (original) (raw)

(51) 4 6 06 Г 11 28 ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИ Во".(р,-ОПИСАНИЕ ИЗОБРЕТЕНИЙ 3," лу А ВТОРСКОМУ СВИДЕТЕЛЬСТВ(56) Микропроцессоры, Системы программирования и отладки. Под ред. В. А. Мясникова, М.: Энергоатомиздат, 1985.1 СЕ - 86 АТМ М 1 сгозуз(ев 1 п С 1 гсш 1еац 1 а 1 ог. Орега 11 пд 1 пз 1 гис 11 опз аког 1513 - 11 118 ЕКЬ огс)ег МцгпЬег 162554 - 001. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММНО-АППАРАТНЫХ БЛОКОВ (57) Изобретение относится к вычислительной технике и может быть использовано при разработке микроконтроллеров, микро- ЭВМ и других средств вычислительной техники. Целью изобретения является сокращение объемов блоков памяти трассировки. Поставленная цель достигается тем, что устройство для отладки программ содержит первую и вторую ЭВМ, генератор тактовых импульсов, одиннадцать дешифраторов, шесть триггеров, два регистра сдвига, три одновибратора, блок постоянной памяти, три блока оперативной памяти, реверсивный счетчик импульсов, два счетчика, два мультиплексора, два элемента НЕ, три элемента И, схему сравнения. Изобретение позволяет при одном и том же объеме блока памяти трасс запоминать информацию о выполнении большого участка программы, 2 ил.17дешифратора соединен с вторым входом обращения второго блока оперативной памяти и входом девятого дешифратора, выходы переполнения первого и второго счетчиков импульсов соединены соответственно с пятым и шестым входами седьмого дешифратора, группы информационных выходов первого и второго счетчиков импульсов соединены соответственно с группой управляющих входов второго мультиплексора и с группой адресных входов второго блока оперативной 10 памяти, первая, вторая, третья и четвертая группы выходов второго блока оперативной памяти соединены соответственно с первой, второй, третьей и четвертой группами информационных входов второго мультиплексора, группы выходов которого соединены с 15 группой входов девятого дешифратора, отличиющееся тем, что, с целью сокращения объема блоков памяти трассировки, в устройство введены одиннадцатый дешифратор, третий элемент И, третий одновибратор, второй элемент НЕ, первый и второй регистры сдвига, причем выход генератора тактовых импульсов, первый и второй входы задания режима устройства соедине 18ны соответственно с первым, вторым и третьим входами одиннадцатого дешифратора, выход которого соединен с входами сдвига первого и второго регистров сдвига, вторые входы записи и чтения устройства и первый выход сброса устройства соединены соответственно с первым, вторым и третьим входами третьего элемента И, выход которого соединен с входом третьего одновибратора, прямой выход которого соединен с входами записи первого и второго регистров сдвига, инверсный выход третьего одновибратора через второй элемент НЕ соединен с тактовыми входами первого и второго регистров сдвига, первый и второй входы задания режима устройства соединены с входом занесения информации в последовательном коде первого и второго регистров сдвига соответственно, группы информационных выходов которых соединены соответственно с четвертой и пятой группами информационных входов второго блока оперативной памяти, группы информационных входов первого и второго регистров сдвига соединены с шиной единичного потенциала устройства.1363219 Я 2,линич сударственного комитета СССР по делам изобретений и открытн3035, Москва, Ж - 35, Раушская наб., д. 45енно-полиграфическое предприятие, г. Ужгород, л. Проектная. 4 зв Редактор Л. ЛоЗаказ 5966/41 ВНИИПИ Го оставитель И. Сигаловперед И. Верес Корректор М. Шарош раж 671 Подписное Г 1 Хг Л й1Изобретение относится к вычислительной технике и может быть использовано при разработке микроконтроллеров, микроЭВМ и других средств вычислительной техники.Цель изобретения - сокращение объема блоков памяти трассировки. На фиг. 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 десятого дешифратора. Устройство работает под управлениемЭВМ, в качестве которой может быть использована, например микроЭВМ УВС, и обеспечивает отладку устройства на основе микропроцессоров, содержащих встроенную очередь команд, например К 180 ВМ 86 или К 1810 ВМ 88, Системная шина управляющей ЭВМ подключается к входным шинам устройства для отладки программно-аппаратных блоков. Выходные шины устройства 10 подключаются к шинам отлаживаемого устройства. Устройство может работать в одном из двух режимов: управления и отладки.Рассмотрим работу предлагаемого устройства в режиме управления. Сигнал уровня лог. О, появляющийся на первом входе начальной установки 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 переходит к обработке подпрограмм обращения 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, выполняя отлаживаемую программу, ЭВМ состоит из трех блоков: блока управления каналом, блока исполнения команд и блока очереди команд. Блок управления каналом организует циклы канала, выбирает из памяти коды отлаживаемой программы и загружает их в блок очереди команд. Блок исполнения команд последовательно исполняет команды, выбирая их из блока очереди команд. Если в процессе выполнения команды необходимо обратиться к памяти, то блок исполнения команд делает заявку, блок управления каналом, закончив очеред 5 1 О 15 20 25 ЗО 35 40 45 50 55 ную выборку прогоаммного кода из памяти, удовлетворяет эту заявку. Объем запоминающего узла блока очереди команд ограничен; если он заполнен, то блоки управления каналом работает вхолостую, если в блок очереди команд можно поместить байты программного кода, то блок управления каналом выполняет цикл выборки из памяти кода команды, Таким образом, в ЭВМ 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 - адрес ячейки, к которой производится обращение.Код адреса через шестой дешифратор 14 поступает на группу адресных входов 47. Информация на группе адресных выходов 47 и сигнал на первом выходе 48 чтения будет сохраняться до тех пор, пока память отлаживаемого устройства не установит считанную информацию на входе 64, с которой через дешифратор 14 она поступит на вторую двунаправленную информационную магистраль 59 ЭВМ 1. 5 1 О 1520 25 30 35 40 45 50 55 Синхронизация работы ЭВМ 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 постоянной памяти, и остается в цикле ожидания команды от управляющей ЭВМ, Эти команды, в частности, могут инициировать передачу в управляющую ЭВМ информации, содержащейся в блоке 25.Таким образом, устройство для отладки программно-аппаратных блоков позволяет моделировать отлаживаемое устройство на самых ранних этапах разработки, используя при этом первый блок 23 оперативной памяти, и производить отладку программного обеспечения, необходимого для работы отлаживаемого устройства, с запоминанием информации во втором блоке 24 оперативной памяти. При отладке обеспечивается останов отлаживаемой программы по адресу, задаваемому оператором. Регистры 17, 18 сдвига работают следующим образом. Дешифратор 8 реализует следующую логическую функцию:указ Х 64 ЛХбз /Х 67, (1)где Хы, Х 64 - сигналы с входов 65, 64 ЭВМ 1;Х 67 - сигнал с выхода генератора.Таким образом, на выходе 83 дешифратора 8 сигнал низкого уровня появляется в течение полупериода, когда синхросигнал 67 имеет высокий уровень и хотя бы один из сигналов 64, 65 имеет низкий уровень.Запись в блок 24 второй оперативной памяти осуществляется положительным фронтом (переходом из низкого уровня в высокий) коньюнкции сигналов на входах чтения и записи 60 и 6. Этим же фронтом, а также положительным фронтом сигнала на первом входе сброса 62 запускается третий одновибратор 20, который на прямом 95 и инверсном выходах вырабатывает соответственно положительный и отрицательный импульсы длительностью четверть периода синхросигнала на выходе 67 генератора тактовых импульсов. Отрицательным фронтом (переходом из высокого уровня в низкий) сигнал на прямом выходе 95 третьего одновибратора при наличии высокого уровня на выходе 94 второго элемента НЕ, учитывая, что элемент НЕ 35 вносит задержку распространения сигнала меньшую, чем длительность импульса на выходе одновибратора, а регистры 17 и 18 сдвига со входов занесения информации в параллельном коде записывается код, состоящий из всех единиц. Если хотя бы на одном из входов 64, 65 задания режима присутствует сигнал уровня лог. О, то это свидетельствует о взаимодействии блока исполнения команд с буфером команд ЭВМ 1, и тогда положительный фронт синхросигнала на выходе 67 генератора тактовых импульсов в соответствии с (1) на выходе 83 дешифратора 8 сформирует отрицательный фронт сигнала, по которому осуществляется сдвиг вправо на один разряд содержимого регистров 17 и 18 с одновременным занесением в освободившийся младший разряд информации с входов 65, 64 задания режима соответствен 1363219но. Число сдвигов в течение одного цикла записи ограничено объемом памяти буфера команд ЭВМ 1.Узел, на выходе которого формируется значение глубины очереди команд ЭВМ 1, включает второй одновибратор 19, десятый дешифратор 6 и реверсивный счетчик импульсов 26, десятый дешифратор 6 реализует следующие логические функции: у 90 = Х 64/Х 65, - (2) где Х 64, Хбб - сигнал с входов задания режима 64, 65 ЭВМ 1;(Х 19 У Х 96) Л Хбз Л Хбб Л Х 64, (3)сигнал с выхода второго одновибратора 19;сигнал на шестом входе 96 десятого дешифратора с младшего разряда вторых адресных входов 58;сигнал на входе признака выборкикоманды 63;сигнал на входе строба адреса 66,УВ 1 = Где Х 19 -Х 96 Хбз -Хбб 182 = (Х 19 Л Х 96 ЧХбз/Хбб) Х 64. (4)Узел работает следующим образом, Значение глубины очереди увеличивается на два при выборке программного кода по четному адресу (за одно обращение к памяти по четному адресу ЭВМ 1 выбирает два байта программного кода, а по нечетному адресу - один байт), на один при выборке программного кода по нечетному адресу, уменьшается на один при выборке байта из очереди на исполнение и обнуляется при очистке очереди. Комбинация 10 сигналов на входах 64 и 65 задания режима свидетельствует об очистке очереди, согласно (2) при этом на первом выходе 80 десятого дешифратора 6 сформируется сигнал высокого уровня, который запишет в реверсивный счетчик 26 импульсов код, состоящий из всех единиц. Один цикл обращения к памяти ЭВМ 1 длится минимум 4 такта синхросигнала на выходе 67 генератора тактовых импульсов; каждый цикл обращения к памяти начинается по совпадению отрицательного фронта синхросигнала и положительного фронта сигнала на входе 66 сброса адреса, который имеет уровень лог. 1 в течение двух тактов сигнала на выходе 67. генератора тактовых импульсов. Этим же фронтом запускается второй одновибратор 19, на выходе которого формируется сигнал уровня лог. 1 длительностью один период сигнала 67 на выходе генератора тактовых импульсов, Если текущий цикл есть цикл выборки программного кода, то в течение всего цикла вход признака выборки команды 63 находится в состоянии лог. О, в противном случае - в состоянии лог. 1. Изменения значения на выходе реверсивного счетчика 26 импульсов происходят по положительному перепаду сигнала на счетном входе 79. Присутствие сиг 749 = Х 61 1/ Хоота4 48 = Хбо / Х 90(12) У 46 = Х 59 / Х 90 / Х 61 (13) 40 Ъ 69 = Х 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 реализует следующие логические функции (индексы переменных Х соответствуют номерам входов дешифратора, индексы переменных соответствуют номерам выходов дешифратора) 25161 = Хбо (5)5 10 15 20 25 ЭО 35 40 45 50 55 В режиме отладки сигнал на первом выходе 57 готовности принимает высокий уровень, при этом на первом выходе 77 пятого дешифратора 13 появляется сигнал уровня лог. О, а на втором выходе 78 - уровня лог. 1 независимо от состояния сигналов на остальных входах пятого дешифратора 13. Сигнал на первом выходе 57 готовности запрещает запись информации в третий блок 25 оперативной памяти и разрешает считывание информации из этого блока оперативной памяти. Всякий раз, когда ЭВМ 1 выставляется на вторых адресных входах устройства 58 новый адрес, его старшие четыре разряда будут прохомента И и сигнала на входе чтения 60 -это следует из формулы (13) и (14),При выполнении подпрограммы загрузки третьего блока 25 оперативной памяти выставляется адрес обращения к этому блоку. При этом четыре старших разряда адреса подаются на первый канал первого мультиплексора 30, остальные разряды адреса подсоединены к соответствующим входам пятого дешифратора 13, четыре старших разряда второй двунаправленной информационной магистрали 59 поступают на входы второго канала первого мультиплексора 30, а младший разряд - на информационный вход третьего блока 25 оперативной памяти. Код на вторых адресных входах 58 и второй двунаправленной информационной магистрали 59 сопровождается сигналом на входе 61 записи. При наличии сигналов уровня лог. О на входе 61 записи и первом выходе 57 готовности и наличии соответствующего кода на остальных входах пятого дешифратора 13 на первом выходе 77 последнего появляется сигнал высокого уровня, разрешающий передачу информации через первый канал высокого уровня, разрешающий передачу информации через первый канал первого мультиплексора 30 и разрешающий запись информации в третий блок 25 оперативной памяти. В то же время сигнал на втором выходе 78 имеет уровень лог. О. Информация, записанная в третьем блоке 25 оперативной памяти, в дальнейшем будет использоваться для определения, где будет располагаться соответствующий сегмент памяти (либо в первом блоке 23 оперативной памяти, либо в отлаживаемом устройстве). При этом младший разряд второй двунаправленной информационной магистрали 59 содержит информацию о месте расположения соответствующих сегментов памяти, а четыре старших разряда содержат код соответствующего сегмента памяти. Если по некоторому андресу в третьем блоке 25 оперативной памяти записан О, то в,дальнейшем к соответствующему сегменту будут обращаться в первый блок 23 оперативной памяти, в противном случае - к памяти отлаживаемого устройства. дить через первый канал первого мультиплексора 30 на адресные входы третьего блока 25 оперативной памяти, а сигнал на выходе третьего блока 25 оперативной памяти будет указывать место нахождения сегмента памятИ, задаваемого четырьмя старшими разрядами адреса.Восьмой дешифратор 9 при наличии на выходе готовности 57 и входах 60 и 90 сигнала уровня лог, О передает сигналы с входов 72 на выходы 73 без изменения, в противном случае сигналы на выходах 73 имеют уровень лог. 1,Сравнение кодов в схеме 40 сравнения организовано следующим образом. Сигнал инициализации, появляющийся на первом входе сброса 62, поступает на инверсный вход установки нуля первого триггера ЗЗ и через второй элемент И 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, вызовет на вы 136321912 О 11ходе последнего положительный. импульс, который, пройдя через второй элемент И 38, своим положительным фронтом установит на выходе 91 низкий уровень. Этот же одиночный импульс, пройдя через первый элемент НЕ 36, поступит на первый вход сброса 62, производя начальную установку ЭВМ и других узлов. Таким образом, завершен цикл работы: обмен с управляющей ЭВМ- отладка.Когда ЭВМ 2 закончит подготовку к работе всех узлов устройства для отладки программно-аппаратных блоков, он выполняет цикл записи в узел сравнения по адресу, состоящему из всех единиц кода, содержащего все единицы. При появлении этого адреса на вторых адресных входах 58, на выходе 76 четвертого дешифратора О появится сигнал уровня лог, 1. Положительным фронтом сигнала на входе 61 записи информация с информационного входа первого триггера ЗЗ перепишется на его выход, эта 1, появившаяся на выходе первого триггера 33, поступит на вход установки единицы второго триггера 34, и на выходе 57 появится сигнал уровня лог. 0. Этот сигнал запретит работу ЭВМ 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 всегда повторяет сигнал на первом входе начальной установки этого дешифратора. 20 25 30 35 40 45 50 55 Седьмой дешифратор 11 управляет обращением к второму блоку 24 оперативной памяти и реализует следующие логические функции: У 84 = Хдз / Х 62, (5)где Хдз - сигнал с выхода переполнения 93 первого счетчика импульсов 27; г 86 = (Х 61 / Х 62) Л Хд у Х 98, (16) где Хд 1 - сигнал с прямого выхода 91 второго триггера,г 82 = Х 92 / Х 62, (17 )где Х 92 - сигнал с выхода переполнения второго счетчика импульсов 28,88 = (Х 6 / Х 62) Л Хдь (18)Обращение к второму блоку 24 оперативной памяти организовано следующим образом. При выдаче сигнала инициализации на первом входе 62 сброса появляется сигнал уровня лог. 0, который в соответствии с (15), (17), пройдя через седьмой дешифратор 11, производит начальную установку первого и второго счетчика импульсов 27 и 28. На выходах обоих счетчиков импульсов устанавливается код, состоящий из всех нулей. При работе ЭВМ 2 по программе, содержащейся в блоке 22 постоянной памяти, запись информации во второй блок 24 оперативной памяти производиться не будет, поскольку в этом режиме сигнал на прямом выходе 91 второго триггера принимает значение лог. 0, и в соответствии с (18) на выходе 88 седьмого дешифратора 11 появится пассивный сигнал уровня лог. 0, который запретит запись информации во второй блок 24 оперативной памяти.В режиме отладки сигнала на прямом выходе 91 второго триггера принимает значение лог. 1. В дальнейшем, выполняя отлаживаемую программу, ЭВМ 1 сопровождает адреса и данные одним из управляющих сигналов на входе записи 61 или чтения 60, которые принимают значения лог. 0. При этом в соответствии с (18) на выходе 88 седьмого дешифратора 11 появляется сигналуровня лог, 1, разрешающий запись во второй блок 24 оперативной памяти. По окончании действия сигнала на входы 60 или 61 в соответствии с (16) отрицательный перепад сигнала на выходе 86 седьмого дешифратора 11 производит увеличение кода на единицу на выходах второго счетчика импульсов 28. Этот код поступает на адресные входы второго блока 24 оперативной памяти и является следующим адресом, по которому будет произведена запись новой информации, при переполнении второго счетчика импульсов 28 на его выходе переполнения 92 появляется импульс, который в соответствии с (17) поступает на вход установки нуля второго счетчика импульсов 28.И последующая информация будет записываться с нулевых адресов, После окончания режима отладки сигнал на прямом выходе 91 триггера 34 принимает значение лог. 0, и в соответствии с 18 запись информации во второй блок 24 оперативной памяти производиться не будет.ЭВМ 2, отрабатывая программу, содержащуюся в блоке 22 постоянной памяти, получает команду чтения информации из второго блока 24 оперативной памяти и переходит к выполнению соответствующих подпрограмм, выставляя при этом соответствующий адрес обращения и сопровождая его сигналом на входе 60 чтения уровня лог. 0. При этом на выходе 85 седьмого дешифратора 11 появляется сигнал уровня лог. 1, который поступает на вход чтения информации из второго блока 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 10 15 20 мяти будет передан через мультиплексор код с его второго канала. Информация со второго, третьего и четвертого каналов мультиплексора будет прочитана аналогичным образом. При пятом обращении к накопителю на выходе 93 переполнения первого счетчика 27 импульсов появится сигнал уровня лог. 1, который в соответствии с (15) произведет начальную установку первого счетчика 27 импульсов, и этот же сигнал в соответствии с (16) поступит на счетный вход второго счетчика 28 импульсов, увеличивания на единицу код на его выходах, что соответствует следующему адресу обращения ко второму блоку 24 оперативной памяти.В качестве ЭВМ 1, 2 может быть использован микропроцессор К 1810 ВМ 86 или К 1810 ВМ 88, в качестве генератора 3 - мультивибратор.Формула изобретения Устройство для отладки программноаппаратных блоков, содержащее десять дешифраторов, генератор тактовых импульсов,первый, второй, третий и четвертый регист ры, блок постоянной памяти, первый, второй и третий блоки оперативной памяти, первый и второй счетчики импульсов, реверсивный счетчик импульсов, первый и второй мультиплексоры, первый и второй триггеры, первый элемент НЕ, первый и втоЗ 0 рой элементы И, схему сравнения, первыйи второй одновибраторы, причем первая группа информационных входов-выходов устройства через первую двунаправленную магистраль соединена с группой информационных входов первого регистра и группой З 5 выходов первого дешифратора, первый адресный вход, первые входы записи, чтения и сброса устройства соединены с входами второго дешифратора, первый, второй и третий выходы которого соединены соответствен но с входом записи первого регистра, стробирующим входом первого дешифратора и первым выходом сброса устройства, группа выходов первого регистра соединена с первой группой входов третьего дешифратора, выход которого соединен с входом записи вто рого регистра, второй адресный вход устройства соединен с адресными входами блока постоянной памяти, первого блока оперативной памяти с группой входов четвертого дешифратора, с группой входов первого сравниваемого числа схемы сравнения, с группой входов пятого дешифратора, с первой группой информационных входов первого мультиплексора, с первой группой входов шестого дешифратора, с группой входов седьмого дешифратора, с первой группой инфор мационных. входов второго блока оперативной памяти и с второй группой входов третьего дешифратора, группа выходов которого через вторую двунаправленную магист 13632195 10 15 20 25 ЗО 35 40 45 50 55 15раль соединена с группой информационных входов первого блока оперативной памяти, с группой информационных выходов блока постоянной памяти, с группой выходов восьмого дешифратора, с второй группой информационных входов второго блока оперативной памяти, с группами информационных входов второго, третьего и четвертого регистров, с второй группой информационных входов первого мультиплексора, с второй группой входов шестого дешифратора, с группой выходов девятого дешифратора, с первой группой выходов шестого дешифратора и с второй группой информационных входов-выходов устройства, группа разрядных выходов второго регистра соединена с группой входов первого дешифратора, второй вход чтения устройства соединен с входами чтения блока постоянной памяти, первого блока оперативной иамяти, с первыми входами третьего, шестого, седьмого и восьмого дешифраторов, второй вход записи устройства соединен с первым входом пятого дешифратора, с вторыми входами третьего, шестого и седьмого дешифраторов, входом четвертого дешифратора, тактовым входом первого триггера, с входом записи первого блока оперативной памяти, группа информационных выходов первого блока оперативной памяти соединена с группой входов восьмого дешифратора, первый и второй выходы четвертого дешифратора соединены с тактовыми входами третьего и четвертого регистров, группа информационных выходов которых соединена с группой входов второго сравниваемого числа схемы сравнения, выход которой через первый одновибратор соединен с первым входом первого элемента И и через первый элемент НЕ - с вторым входом первого элемента И, с входом установки нуля первого триггера, с третьими входами шестого и седьмого дешифраторов и с третьим выходом второго дешифратора, третий выход четвертого дешифратора соединен с информационным входом первого триггера, выход которо-, го соединен с входом установки в 1 второго триггера, информационный вход второго триггера соединен с шиной нулевого потенциала устройства, выход первого элемента И соединен с тактовым входом второго триггера, инверсный выход которого соединен с первым входом обращения первого блока оперативной памяти, с входом обращения блока постоянной памяти, с вторыми входами пятого и восьмого дешифраторов и с первым выходом готовности устройства, прямой выход второго триггера соединен с первым входом второго элемента И и с четвертым входом седьмого дешифратора, первый выход пятого дешифратора соединен со входом записи третьего блока оперативной памяти и управляющим входом первого мультиплексора, группа выходов которого соединена с группой адресных входов тоетье 16го блока оперативной памяти, второй выход пятого дешифратора соединен с входом чтения третьего блока оперативной памяти, выход которого соединен с третьим входом восьмого дешифратора и вторым входом обращения первого блока оперативной памяти, старший разряд информационного выхода блока постоянной памяти соединен с информационным входом третьего блока оперативной памяти, выход которого соединен с четвертым входом шестого дешифратора и вторым входом второго элемента И, вход готовности устройства соединен с третьим входом второго элемента И, выход которого соединен с вторым выходом готовности устройства, вторая группа выходов шестого дешифратора соединена с третьей группой входов шестого дешифратора и является третьей группой информационных входов-выходов устройства, третья группа выходов шестого дешифратора является группой адресных выходов устройства, первый, второй, третий, четвертый, пятый, шестой и седьмой выходы шестого дешифратора являются соответственно первыми выходами чтения, записи, строба адреса устройства, вторым выходом сброса устройства, первым и вторым выходами задания режима устройства, выходом признака выборки команды устройства, выход генератора тактовых импульсов соединен со счетным входом реверсивного счетчика импульсов, группа выходов которого соединена с третьей группой информационных входов второго блока оперативной памяти, вход признака выборки команды устройства соединен с пятым входом шестого дешифратора и первым входом десятого дешифратора, первый вход задания режима устройства соединен с шестым входом шестого дешифратора и вторым входом десятого дешифратора, второй вход задания режима устройства соединен с седьмым входом шестого дешифратора и третьим входом десятого дешифратора, вход строба адреса устройства соединен с восьмым входом шестого дешифратора, с четвертым входом десятого дешифратора и через второй одновибратор - .с пятым входом десятого дешифратора, младший разряд второй группы адресных входов устройства соединен с шестым входом десятого дешифратора, первый, второй и третий выходы которого соединены соответственно со входом установки нуля, со входом разрешения счета в прямом направлении, с входом разрешения счета в инверсном направлении. первый, второй, третий, четвертый и пятый выходы седьмого дешифратора соединены соответственно с входом установки нуля первого счетчика импульсов, со счетным входом первого счетчика импульсов, со счетным входом второго счетчика импульсов, со входом установки нуля второго счетчика импульсов и первым входом обращения второго блока оперативной памяти, второй выход седьмого

Смотреть

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