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

Номер патента: 1425683

Авторы: Головня, Палагин, Сигалов, Цвелодуб

ZIP архив

Текст

/28 6 ГОСУДАРСПО ДЕЛА НИЯ но при отла ьной техник может быть использ шир яет зможностеи устения допустиостав ус 3 импульсоистры 15, 1 памяти, мульриггеры 17,34, одновибр типл18,ЕННЫЙ КОМИТЕТ СССР ЗОБРЕТЕКИЙ И ОТКРЫТИ ОПИСАНИЕ ИЗОБ АВТОРСКОМУ СВИДЕТЕЛЬСТ(56) Микропроцессоры, Системы программирования и отладки. / Под ред В.А,Мясникова и М.Б.Игнатьева. М,: Энергоиздат, 1985.1 СЕАТМ Мдстовуясеш 1 М-сзгсцх ешу 1 айог . орегаг,ы 8 хпвсгцссхоп Ио 1 1818-11 ПЯЕКБ огйег ИцшЬег (162554-001) .(54) УстРОйстВО ДЛЯ ОТЛАЛКИ ПРОГР1 НО-АППАРАТНЫХ БЛОКОВ 7) Изобретение относится к авто тике и вычислительной технике и ке средств вычислител Целью изобретения явл ние функциональных во ройства за счет повыш мых частот отладки. В ства входят генератор дешифраторы 4 - 14, рег 31 и 32, блоки 22 - 25ексоры 29 и 30, т 19, 20, 26, 33 и5 10 15 20 30 35 40 Формула из обре т ения Устройство для отладки программноаппаратных блоков, содержащее девять дешифраторов, генератор тактовых импульсов, первый, второй, третий и четвертый регистры, блок постоянной памяти, первый, второй и третий блоки оперативной памяти, первый и второй счетчики импульсов, первый и второй мультиплексоры, первый и второй триггеры, первый и второй элементы НЕ, одновибратор, первый и второй элементы И, схему сравнения, причем первая группа информационных входов - выходов устройства через первую двунаправленную магистраль соединена с группой информационных входов перво 45 50 ды была информация об исполнении байта команды (в этом такте сигнал на первом входе задания режима 64 имеет высокий уровень), и минус один, если информация об исполнении байта появляется в любом другом такте, В соответствии с (16) состояние четвертого триггера 18 необходимо изменять на противоположное в следующих случаях: глубину очереди команд надо увеличить надва в связи с тем, что производится выборка кода команды по четному адресу - в этом случае ЭВМ 1 выбирает за одно обращение к памяти 2 байта. Увеличение на два производится также в Т 4 и только при условии,что втакте ТЗ не выполняется байт команды (т.е. в такте Т 4 сигнал на первом входе задания режима 64 имеет уровень "Лог,"О"). Состояние второго триггера 18 надо также менять, если глубина увеличивается на один и она имеет нечетное значение, надо уменьшить на один, а она 2 имеет четное значение. В соответст - вии с (17) состояние пятого триггера 19 надо изменять на противоположное,если глубину надо увеличить на один, а она равна трем, если глубину надо уменьшить на один, а она равна четырем, и если глубину надо увеличить на два, а она равна двум или трем, Максимальная глубина очереди равна шести, Десятый дешифратор 6 выдает единицу на Т-входы тех триггеров, состояние которых надо изменять в текущем такте; изменение происходит по положительному фронту сигнала на выходе 67 генератора импульсов.о регистра и группой выходов первого дешифратора, первые адресные ходы, первые входы записи, чтения и сбро - са устройства соединены с входами второго дешифратора, первый, второй и третий выходы которого соединены соответственно с входом записи первого регистра, входом первого дешиф-, ратора и первым выходом сброса устройства, группа выходов первого регистра соединена с первой группой входов третьего дешифратора, выход которого соединен с входом записи второго регистра, вторая группа адресных входов устройства соединена с группами адресных входов блока постоянной памяти, первого блока оперативной памяти, с первой группой входов схемы сравнения, с группами входов четвертого и пятого дешифраторов, с первой группой информационных входов первого мультиплексора, с первой группой входов шестого дешифратора, с группой входов седьмогодешифратора, с первой группой информационных входов второго блока оперативной памяти и с второй группой входов третьего дешифратора, группавыходов которого через вторую двунаправленную магистраль соединена с группой информационных входов первого блока оперативной памяти, с группой информационных выходов блока постоянной памяти, с группой выходов восьмого дешифратора, с второй груп пой информационных входов второго блока оперативной памяти, с группами информационных входов второго, третьего и четвертого регистров, с второй группой информационных входов первого мультиплексора, с второй группой входов шестого дешифратора, с группой выходов девятого дешифратора,с первой группой выходов шестого дешифратора и с второй группой информационных входов-выходов устройства, группа выходов второго регистра соединена с группой входов первого дешифратОра, второй вход чтения устройства соединен с входами чтения блока постоянной памяти, первого блока оперативной памяти, с первыми входами третьего, шестого, седьмого ивосьмого дешифраторов, второй вход записи устройства соединен с первым входом пятого дешифратора, с вторыми входами третьего, шестого и седьмого дешифраторов, входом четвертогодешифратора, тактовым входом первоготриггера, с входом записи первогоблока оперативной памяти, группа информационных выходов первого блокаоперативной памяти соединена с группой входов восьмого дешифратора,первый и второй выходы четвертогодешифратора соединены с тактовымивходами третьего и четвертого регистров, группа информационных выходовкоторых соединена с второй группойвходов схемы сравнения, выход которой через одновибратор соединен с первым входом первого элемента И и через первый элемент НЕ - с вторымвходом первого элемента И, с входомустановки нуля первого триггера, стретьими входами шестого и седьмогодешифраторов и с третьим выходом второго дешифратора, третий выход чет-.вертого дешифратора соединен с информационным входом первого триггера,выход которого соединен с входомустановки в "1" второго триггера, информационный вход второго триггера1соединен с шиной нулевого потенциалаустройства, выход первого элемента.Исоединен с тактовым входом второготриггера,инверсный выход которого 30соединен с первым входом обращенияпервого блока оперативной памяти, свходом обращения блока постояннойпамяти, с вторыми входами пятого ивосьмого дешифраторов и с первым выходом готовности устройства, прямойвыход второго триггера соединен спервым входом второго элемента И и с4четвертым входом седьмого дешифратора, первый выход пятого дешифратора 40соединен с входом записи третьегоблока оперативной памяти и управляющим входом первого мультиплексора,группа выходов которого соединена сгруппой адресных входов третьего блока оперативной памяти, второй выходпятого дешифратора соединен с входомчтения третьего блока оперативнойпамяти, выход которого соедцнен стретьим входом восьмого дешифратораи вторым входом обращения первогоблока оперативной памяти, старшийразряд информационных выходов блокапостоянной памяти соединен с информационным входом третьего блока оперативной памяти, выход которого соединен с четвертым входом шестогодешифратора и вторым входом второгоэлемента И, вход готовности устройства соединен с третьим входом второго элемента И, выход которого соединен с вторым выходом готовности устройства, вторая группа выходов шестого дешифратора соединена с третьей группой входов шестого дешйфратора и является третьей группой информационных входов-выходов устройства, третья группа выходов шестого дешифратора является группой адресных выходов устройства, первый, второй, третий, четвертый, пятый, шестой и седьмой выходы шестого дешифратора являются соответственно первьщи выходами чтения, записи, строба адреса устройства, вторым выходом сброса устройства, первым и вторьпк выходами задания режима устройства, выходом признака выборки команды устройства, выход генератора тактовых импульсов соединен с.входом второго элемента И, вход признака выборки команды устройства соединен с пятым входом шестого дешифратора, первый вход задания режима .устройства соединен с шестым входом шестого дешифратора, второй вход задания, режима устройства соединен с седьмым входом шестого дешифратора, вход строба адреса устройства соединен с восьмым входом шестого дешифратора, первый, второй, третий, четвертый и пятый выходы седьмого дешифратора соединены соответственно с входами установки нуля первого и второго счетчиков импульсов, со счетными входами первого и второго счетчиков импульсов и с первым входом обращения второго бпока оперативной памяти, второй выход седьмого дешифратора соединен с вторым входом обращения второго блока оперативной памяти и входом девятого дешифратора, выходы переполнения первого и второго счетчиков импульсов соединены соответственно с пятым и шестым входами седьмого дешифратора,группы информационных выходов первого и второго счетчиков импульсов соединены соответственно с группой управляющих входов второго мультиплексора и группой адресных входов второго блока оперативной памяти, первая, вторая, третья и четвертая группы выходов второго блока оперативной памяти соединены соответственно с первой, второй, третьей и четвертой группами информационных входов втоЗаказ 4771/47 Тираж 704 Подписное ВНИИПИ Государственного комитета СССР по делам изобретений и открытий 113035, Москва, Ж, Раушская наб д, 4/5Производственно-полиграфическое предприятие, г. Ужгород, ул, Проектная, 4 рого мультиплексора, группы выходовкоторого соединены с группой входов девятого дешифратора, первый ивторой входы задания режима устройства соединены соответственно с первым и вторым информационными входамивторого блока оперативной памятии с седьмым и восьмым входами седьмого дешифратора, выход генератораимпульсов соединен с девятым входомседьмого дешифратора, о т л и ч аю щ е е с я тем, что, с целью расширения функциональных возможностейза счет повышения допустимых частототладки в реальном масштабе времени, в устройство введены десятыйдешифратор, третий элемент И, третийэлемент НЕ, элемент задержки, третий, четвертый, пятый, шестой иседьмой триггеры, причем первый входзадания режима устройства соединенс входом третьего элемента НЕ, выход которого соединен с первымивходами третьего элемента И и десятого дешифратора, второй вход задания режима устройства соединен свторым входом третьего элемента. И,выход генератора импульсов соединенс третьим входом третьего элементаИ, выход которого соединен с входами установки единицы третьего, четвертого и пятого триггеров, вход признака выборки команды устройства через элемент задержки соединен с тактовым входом шестого триггера, информационный вход шестого триггера 5соединен с шиной нулевого потенциала устройства, выход второго элемента НЕ соединен с входом установкиединицы шестого триггера и с тактовыми ъходами третьего, четвертого и пятого триггеров, младший разряд второй группы адресных входов устройства соединен с информационным входомседьмого триггера, вход строба адреса устройства соединен с тактовымвходом седьмого триггера, первый,второй и третий выходы десятого дешифратора соединены соответственнос Т-входами третьего, четвертого ипятого триггеров, прямой и инверсный выходы седьмого и шестого триггера соединены соответственно с вторым, третьим, четвертым и пятым вхо-.дами десятого дешифратора, прямыевыходы третьего и четвертого триг геров соединены соответственно с шестым и седьмым входами десятого дешифратора, инверсные выходы третьего, четвертого и пятого триггеровсоединены соответственно с восьмым, 30 девятым, десятым входами десятогодешифратора и с первым, вторым и третьим информационными входами второго блока оперативной памяти.1425683 5 10 15 20 25 30 35 тор 21, схема 40 сравнения, элементы И 38 и 39, элемент ИЛИ 36, элемен.ты НЕ 35, 36 и 4 1 и элемент 8 задержки. Изобретение обеспечивает на элеИзобретение относится к вычислительной технике и может быть использовано при разработке микроконтроллеров, микроЭВМ и других средстввычислительной техники на основе однокристальных микропроцессоров.Цель изобретения - расширениефункциональных возможностей за счетповышения допустимых частот отладкив реальном масштабе времени.На чертеже показана схема устройства для отладки программно-аппаратных блоков,Устройство содержит первую 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 мультиплексоры, третий 3 1и четвертый 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, вторую двунаправленную инментной базе отлаживаемого процессо. ра увеличение диапазона допустимых частот отладки в реальном масштабе времени, 1 ил. 2формационную магистраль 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, четвертый 8, пятый 88 выходы седьмого дешифратора, прямой выход шестого триггера 89, второй вход 90 второго элемента И, прямой выход 9 1 второго триггера, выходы 92 и 93 переполнения второго и первого счетчиков импульсов, второй 94, третий 95 пятый 96, шестой 97, седьмой 98, восьмой 99, девятый 100, десятый 101 входы десятого дешифратора. Устройство работает под управляющей ЭВМ, в качестве которой может быть использована,. например, микро- ЭВМ УВС, и обеспечивает отладку устройств на основе микропроцессоров, содержащих встроенную очередь команды, например К 1810 ВМ 86 илиК 1810 ВМ 88. Системная шина управляющей ЭВМ подключается к входным шинамустройства для отладки программно 40 аппаратных блоков. Выходные шины устройства подключаются к шинам отлаживаемого устройства. Устройствоможет работать в одном из двух режимов: режиме управления и режимеотладки.3 1425Работа предлагаемого устройства врежиме управления, Сигнал уровняЛог."0", появляющийся на первом вхо-де 45 сброса устройства при нажатиикнопки сброса на пульте управляющейЭВМ, проходит через второй дешифратор и с вьмода 70 последнего воздействует на ЭВМ 1 и 2, первый триггер33 и седьмой дешифратор 11, выполняяих начальную установку, Через шестой дешифратор 14 сигнал сброса поступает также на второй выход 50сброса устройства, После окончаниявоздействия сигнала сброса на выходе91. режима второго триггера появляется сигнал уровня "Лог,"0", которыйчерез второй элемент И 39 поступаетна вход готовности ЭВМ 1, запрещаяее работу, При этом сигнал уровня"Лог,"1" с первого выхода 57 готовности устройства поступает на вход ,готовности.ЭВМ 2, разрешая ее работу,ЭВМ 2 начинает отработку программымонитора,.содержащейся в блоке 22 25постоянной памяти. В соответствии сэтой программой ЭВМ 2 находится вцикле ожидания команд, подаваемых суправляющей ЭВМ,Команда в виде соответствующегокода поступает от управляющей ЭВМпо первым информационным входам-выходам 79 и при определенном адресе,выставляемом на первых адресных входах 42 и при наличии сигнала на первом входе 44 записи запоминается впервом регистре 15. ЭВМ 2 в соответствии с выполняемой программой постоянно опрашивает этот регистр, вы, ставляя соответствующий код адресана вторьм адресных входах 58 и сигнал на втором входе 60 чтения, прочитав код с группы выходов 59 третьего дешифратора 5, ЭВМ 2 переходитк выполнению программы обработки 45полученной команды. В соответствиис получаемыми командами ЭВМ 2 произ-водит загрузку третьего блока 25 оперативной памяти, третьего 31 и четвертого 32 регистров и при необходимости первого блока 23 оперативнойпамяти.Эти операции выполняются следующим образом.На вторых адресных входах 58 ЭВМ2 устанавливает адрес, соответствующий одному из узлов устройства, а повторой двунаправленной информационной магистрали 59 ЭВМ 2 передает не 683 обходимые коды, сопровождая их сигна.лом по второму входу 61 записи; Приэтом при обращении ЭВМ 2 к первомублоку 23 оперативной памяти на старшей адресной линии присутствует сигнал уровня "Лог,"0", а при обращениик второму блоку 24 оперативной памя -ти, четвертому 10, пятому 13 и шестому 14 дешифраторам - сигнал уров -ня "Лог,1", В третий блок 25 оперативной памяти записывается информация о том, будет ли прн отладке использоваться память отлаживаемогоустройства или будет использоватьсяпервый блок 23 оперативной памяти, впоследнем случае ЭВМ 2 загружает впервый блок 23 оперативной памятиотлаживаемую программу, В соответствии с информацией, записанной в третьем блоке 25 оперативной памяти,приотладке на выходе 90 будет вырабатываться соответственно сигнал разрешения работы первого блока 23 оперативной памяти (сигнал 90 уровня "Лог.0) или шестого дешифратора 14 (сигнал 90 уровня "Лог,"1"),В третий 31 и четвертый 32 регистры записывается условие окончания отладки, при выполнении которого запрещается выполнение отлаживаемойпрограммы подачей на первый вьмод 62сброса сигнала начальной установки,Для перехода в Режим отладки ЭВМ.2, получив соответствующий код команды через первый регистр 15 и третийдешифратор 5, устанавливает на вторых адресных входах 58 код, состоящийиз всех единиц, В этом случае напервом выходе 57 готовности вырабатывается сигнал уровня "Лог,0, который отключает блок 22 постояннойпамяти и, поступая на вход готовности ЭВМ 2, запрещает ее работу. Этотже сигнал поступает на второй входпятого дешифратора 13 и сигнал уровня "Лог,"1" на выходе 9 1, которымразрешается работа ЭВМ 1 и включается второй блок 24 оперативной памяти,В режиме отладки работает ЭВМ 1,выполняя отлаживаемую программу.ЭВМ 1 состоит из трех блоков: блокауправления каналом, блока исполнениякоманд и блока очереди команд. Блокуправления каналом организует циклыканала, выбираетиз памяти кодыотлаживаемой программы и загружает ихв блок очереди команд. Блок исполнения команд последовательно испол 1425683няет команды, выбирая их иэ блока очереди команд. Если в процессе выполнения команды необходимо обратиться к памяти, то блок исполнения команд делает заявку; блок управления каналом, закончив очередную выборку программного кода из памяти, удовлетворяет эту заявку, Объем запоминающего узла блока очереди команд ограничен; если он заполнен, то блок управления каналом работает вхолостую, если в блок очереди команд можно поместить байты программного кода, то блок управления каналом выполняет цикл выборки из памяти кода команды,Таким образом в ЭВМ 1 организована предварительная (заблаговременная) выборка кодов команд, а операции выборки и исполнения совмещены,. во времени. Поэтому последователь-с ность выборки не соответствует последовательности их исполнения, в частности, команды, которые выбраны иэ памяти после выборки команды безусловного перехода, в действительности не исполняются, Чтобы восстановить реальную картину исполнения команд, необходимо иметь сведения о взаимодействии блока исполнения команд с блоком очереди команд, Код на выходах 64 и 65 задания режима говорит о том, что в предыдущем такте из блока очереди команд ЭВМ 1 выбран первый байт кода команды, либо последующий байт кода команды, либо блок очереди команд был очищен в результате выполнения команды перехода, либо в предшествующем такте блок исполнения команд не обращался к блоку очереди команд, Также необходимо знать количество команд, находящихся в блоке очереди команд в определенные моменты времени - эту информацию вырабатывает узел, включающий деся 1тый дешифратор 6, третий 17, четвертый 18, пятый 19, шестой 20,седьмой26 триггеры, третий элемент И 37, второй 35 и третий 41 элементы НЕ, элемент 8 задержкиВыполняя отлаживаемую программу, ЭВМ 1 производит обращения либо к первому блоку 23 оперативной памяти, либо к памяти отлаживаемого устройства в зависимости от информации, записанной в третьем блоке 25 оперативной памяти. Обмен информацией между памятью и ЭВМ 1 производится через шестой дешифратор 14 следующим образом,В случае передачи информации от ЭВМ 1 в память отлаживаемого.устройства информация на вторых ад 5ресных входах 58 и второй двунаправленной информационной магистрали 59,сопровождающаяся сигналом на второмвходе 6 1 записи, передается через шестой дешифратор 14 при наличии разре 10 шающего сигнала 90 на группу адресныхвыходов 47 и третьи информационныевходы-выходы 46 к памяти отлаживаемого устройства, сопровождаясь при этом1сигналом по первому выходу 49 записи,15 При приеме информации иэ памятиотлаживаемого устройства ЭВМ 1 устанавливает на втором выходе 60 чтения устройства сигнал чтения данных,который через шестой дешифратор 1420 поступает на первый выход 48 чтения,а на вторых адресных входах 58 - адрес ячейки, к которой производитсяобращение, Код адреса через шестойдешифратор 14 поступает на группу ад 25 ресных выходов 47 устройства, Код адреса и сигнал на первом вьжоде 48чтения будет сохраняться до тех пор,пока память отлаживаемого устройства не установит считанную информацию30 на третьих информационных входах-выходах 64, с которой через шестой дешифратор 14 она поступит на вторуюдвунаправленную информационную магистраль.59 ЭВМ 1.Синхронизация работы ЭВМ 1 и памяти отлаживаемого устройства выполняется с помощью входа 55 готовности, При обращении к памяти последняя устанавливает на входе 55 сигнал40 уровня "Лог,"О", который через третий вход второго элемента И 39 поступает на второй выход 56 готовности,запрещая работу ЭВМ 1, сигнал этогоуровня остается до тех пор, пока па 45 мять не закончит внутренний цикл(т.е. не произведет запись или выдачу информации), После окончания внутреннего цикла на входе 55 готовности память устанавливает сигнал уров 50 ня "Лог,"1", который через второйэлемент И 39 поступает на второй выход 56, ЭВМ 1, обратившись к памятиотлаживаемого устройства, приостанавливает свою работу на все то вре 55 мя, в течение которого на входе 55;готовности остается сигнал уровня"Лог,"О",В течение всего времени работыЭВМ 1 включен второй блок 24 опера1425683 8у переменных У соответствуют номерам выходов дешифратора) тинной памяти, н котором по положительному фронту конъюнкции сигналовна вторых входах чтения 60 и записи61, а также н те периоды тактиронки,когда хотя бы один из сигналов напервом 64 и втором 65 входах задания режима устройства имеет уровень"Лог,"1", запоминается информацияс вторых адресных нходон 58, второйдвунаправленной информационной магистрали 59, инверсных выходов третьего 17, четвертого 18 и пятого 19триггеров, а также с первого 64 ивторого 65 входов задания режимаустройства,В схеме 40 сравнения в режиметладки постоянно происходит срав -нение кодов адреса с вторых адресных входов 58 с заданными в качестве условий выхода из режима отладки.При совпадении кодов адреса с заданными на выходе 9 1 вырабатывается сигнал уровня Лог,"0", который запрещает запоминание информации но втором блоке 24 оперативной памяти и останавливает ЭВМ 1, а на выходе 57появляется сигнал уровня "Лог,"1",который разрешает работу блока 22 постоянной памяти и ЭВМ 2, Одновременнос этим одновибратор 21 и первый элемент НЕ 36 формируют на линии 62 сигнал начальной установки.ЭВМ 2 начинает отработку программы, содержащейся в блоке 22 постоянной памяти, и остается в цикле ожидания команды от управляющей ЭВМ.Этикоманды, в частности, могут инициировать передачу в управляющую ЭВМ информации, содержащейся во втором блоке 24 оперативной памяти,Таким образом, устройство для отладки программно-аппаратных блоковпозволяет моделировать отлаживаемоеустройство на самых ранних этапахразработки, используя при этом первый блок 23 оперативной памяти, ипроизводить отладку программного обеспечения, необходимого для работыотлаживаемого устройства, с запоминанием информации во втором блоке24 оперативной памяти. При отладкеобеспечивается останов отлаживаемойр Хоэ(10) шифратор буферизирует сигнал сбросас первого выхода 62. Сигналы 61, 60,63,64, 65 и 66 имеют активный низкийуровень и проходят сквозь дешифратор14 только при наличии, сигнала 90разрешения уровня "Лог,"1", что свидетельствует об обращении ЭВМ 1 к памяти отлаживаемого устройства формулы (2) в (8). Сигналы с второй двуна 35 правленной информационной магистрали 59 проходят н отлаживаемое устройство при наличии сигналов разрешения 90 и записи 61. Сигналы с третьих информационных входов-выходов 46 .40 отлажинаемого устройства проходятна вторую двунаправленную информационную магистраль 59 при наличии разрешающего сигнала 90 и сигнала 60чтения, что след ет из формул (9) и45 (10),В третьем блоке 25 оперативнойпамяти содержится информация, управляющая обращением ЭВМ 1 к памяти врежиме отладки. Программа загрузки50 третьего блока 25 оперативной памятисодержит адрес обращения к этому уз лу: при этом четыре старших разрядаадреса подаются на первый канал 30первого мультиплексора, остальные55 разряды адреса подсоединены к соответствующим входам пятого дешифратора 13, четыре старших разряда второй двунаправленной информационноймагистрали 59 поступают на входы программы по адресу, задаваемому оператором,Шестой дешифратор 14 реализует следующие логические функции (индексы у переменных Х соответствуют номерам. входов дешифратора, индексы У з - Х 46 Ч Хзо Ч Х 6 о ф 25 Из Формулы (1) следует, что де 1425683 О30 40 45 50 второго канала первого мультиплексора 30, а младший разряд - на информационный вход третьего блока 25 оперативной памяти, Код адреса сопровождается сигналом 61 записи. При наличии сигналов уровня "Лог,"0" на втором входе 61 записи и первом выходе 57 готовности и наличии соответствующего кода на остальных входах пятого дешифратора 13 на первом выходе 77 последнего появляется сигнал уровня "Лог."1", разрешающий передачу информации через первый канал первого мультиплексора 30 и разрешающий запись информации в третий блок 25 оперативной памяти. Вто же время сигнал на втором выходе , 78 имеет уровень "Лог,"0". Информа ция, записанная в третьем блоке 25 оперативной памяти в дальнейшем используется для определения, где располагается соответствующий сегмент , памяти (либо в первом блоке 23 опе ративной памяти 23, либо в отлажива, емом устройстве) . При этом младшийразряд второй двунаправленной инФормационной магистрали 59 содержит информацию о месте расположения соответствующих сегментов памяти, а четыре старших разряда содержат код соответствующего сегмента памяти.Если по некоторому адресу в третьем блоке 25 оперативной памяти записан "0", то в дальнейшем к соответствующему сегменту будут обращаться в первый блок оперативной памяти 23; в " противном случае - к памяти отлаживаемого устройстваВ режиме отладки сигнал на первом выходе 57 готовности принимает уровень "Лог,"1", при этом на первом выходе 77 пятого дешифратора 12 появляется сигнал уровня "Лог."0", а на втором выходе,78 - уровня "Дог."1 н независимо от состояния сигналов на .остальных входах пятого дешифратора 13, Сигнал 57,таким образом, запреща. ет запись информации в третий блок 25 оперативной памяти и разрешает считывание информации из этого блока оперативной памяти. Теперь всякий раз, когда ЭВМ 1 выставляет на вторых адресных. входах 58 новый адрес, его старшие четыре разряда проходят через первый канал первого мультиплексора 30 на адресные входы третьего блока 25 оперативной памяти, а сигнал на выходе третьего блока 5 10 15 20 25 25 оперативной памяти указывает место нахождения сегмента памяти,задаваемого четырьмя старшими разрядами адреса,Дешифратор 9 при наличии на его входах 60, 57 и 90 сигнала уровня Лог,О передает сигналы с входов 72 на выходы 73 без изменения, в противном случае. сигналы на выходах 73 имеют уровень "Лог,"1".Программирование третьего 31 и четвертого 32 регистров адресом останова выполнения отлаживаемой программы и сравнение адресов схемой 40 сравнения в режиме отладки осу" ществляется следующим образом.Сигнал инициализации, появляющийся на первом выходе 62 сброса, поступает на инверсный вход установки "0" первого триггера 33 и через первый элемент И 38 - на тактовый вход второго триггера 34, устанавливая на прямых выходах этих триггеров сигнал уровня Лог,"0, а на инверсном выходе второго триггера 34 - сигнал уровня "Лог,"1". Таким образом, разрешается работа блока 22 постоянной памяти, и ЭВМ 2 обрабатывает программу, содержащуюся в блоке 22 постоянной памяти. Получив команду загрузки третьего 3 1 и четвертого 32 регистров, ЭВМ 2 выполняет соответствующий адрес обращения на вторых адресных входах 58, сопровождая его сигналом на втором входе 61 записи уровня Лог,"О", причем старший разряд адреса содержит "1". При этом в зависимости от выставленного адресана первом выходе 74 или втором выходе 75 появляется сигнал уровня "Лог. "1", производящий запись информации в третий регистр 31 или четвертый регистр 32 соответственно, при этомв регистр записывается информация с второй двунаправленной информационной магистрали 59, Таким образом, каждому из этих регистров присвоен адрес обращения, В третий регистр 3 1 записывается код, который будет старшей частью адреса останова, в четвертый регистр 32 записывается код, который будет младшей частью адреса останова. Тогда на выходахэтих регистров будет адрес останова, который подается на входы второго сравниваемого .числа схемы 40 сравнения. При работе устройства для отладки программно-аппаратных блоков(12) хмх в режиме отладки на вторых адресныхвходах 58 будут проявляться коды адресов обращения ЭВМ 1 к первому блоку 23 оперативной памяти или памятиотлаживаемого устройства, и как только код адреса совпадет с кодом, за-,писанным в третьем 3 1 и четвертом32 регистрах, схема 40 сравнения сработает и на ее выходе появится сигнал уровня "Лог,"1", который положительным фронтом, подаваемьи на одновибратор 21, вызовет на выходе последнего импульс уровня "Лог,"1",который, пройдя через первый элемент 15И 38, своим положительным фронтомустановит на выходе 9 1.низкий уровень. Этот же одиночный импульс,пройдя через первый элемент НЕ 36,поступит на первый выход 62 сброса, 20производя начальную установку ЭВМи других узлов, Таким образом, завершен цикл работы: обмен с управляющей ЭВМ - отладка.Когда ЭВМ 2 закончит подготовку 25к работе всех узлов устройства дляотладки программно-аппаратных блоков, он выполнит цикл записи.поадресу, состоящему из .всех единицкода, содержащего все единицы, При ЗОпоявлении этого адреса на вторых адресных входах 58 на третьем выходе76 четвертого дешифратора 10 появится сигнал уровня "Лог,"1". Положительным фронтом сигнала на второмвходе записи 61 информация с информационного входа первого триггера33 перепишется на его выход. Логи-.ческая "1", появившаяся на выходепервого триггера 33, поступит на 40вход установки "1" второго триггера34, и на первом выходе 57 готовности появится сигнал уровня "Лог,"0".Этот сигнал запретит работу ЭВМ 2,блока 22 постоянной памяти, а одновременно появившийся сигнал уровня"Лог,"1" на выходе 91 разрешит работу второго блока 24 оперативной памяти ЭВМ 1, Последняя начнет выполнять отлаживаемую программу, 50Первый дешифратор 7 передает информацию с выходов второго регистра16 на первые информационные входы-выходы устройства 79 при наличии сигнала уровня "Лог."1" на входе 69, в бяпротивном случае на выходах первогодешифратора 7 все сигналы имеют уровень "Лог"1", При необходимости передать информацию из управляющей 83 12ЭВМ в устройство для отладки программно-аппаратных блоков управляющая ЭВМ выставляет соответствующийкод адреса обращения на первых адресных входах 42, сопровождая егосигналом на первом входе 43 записи,При этом на первом выходе 68 второгодешифратора 4 появляется сигнал уровня "Лог."1", который стробирует загрузку информации в первый регистр15 с первых информационных входоввыходов 79. ЭВМ 2, обращаясь к третьему дешифратору 5, выставляет соответствующий адрес и сопровождаетего сигналом на втором входе 60чтения, В результате информация свыходов регистра 15 без измененийпередается на группу выходов третьего дешифратора 5, в противном случаена этих выходах присутствуют сигналыуровня Лог,"1",При необходимости передать информацию из устройства для отладки программно-аппаратных блоков в управляющую ЭВМ ЭВМ 2 выставляет соответствующий код адреса обращения на вторых адресных входах 58, сопровождаяего сигналом на втором входе 61 записи. При этом на выходе третьегодешифратора 5 появится сигнал уровня "Лог,"1", который стробирует загрузку информации во второй регистр16. Управляющая ЭВМ, обращаясь кпервому дешифратору 7, выставляетсоответствующий адрес и сопровождаетего сигналом на первом входе 44 чтения. В результате информация с выходов второго регистра 16 без изменения передается на выходы первого дешифратора 7. Сигнал на первом выходе62 сброса второго дешифратора 4 всегда повторяет сигнал на первом входе45 сброса,Дешифратор 11 реализует следующиелогические функции: Хз - сигнал с выхода переполнения первого счетчика 27 импульсов;(х цх, ъ х х)л где Х, - сигнал на прямом выходе второго триггера;(13) вт Хзк з Хбф где Х - сигнал с выхода перепол 9 гне ни я втор ого сч етчика28 имп ульс ов;(14) 1 О 15 20 25 ЛХ, ЛХ 30 35 40 50 При выдаче сигнала инициализации на первом выходе 62 сброса появляется сигнал уровня "Лог,п 0, который в соответствии с (11) и (12), пройдя через седьмой дешифратор 11, производит начальную установку первого 27 и второго 28 счетчиков импульсов. На выходах обоих счетчиков импульсов устанавливается код, состоящий из всех нулей, При работе ЭВМ 2 по программе, содержащейся в блоке 22 постоянной памяти, запись информации во второй блок 24 оперативной памяти производиться не будет, поскольку в этом режиме сигнал на выходе 91 принимает значение Лог,"0", и в соответствии с (14) на пятом выходе 88 седьмого дешифратора 11 появится пассивный сигнал уровня "Лог,О, который запретит запись информации во второй блок 24 оперативной памяти,В режиме отладки сигнал на выходе 91 принимает значение "Лог."1", В дальнейшем, выполняя отлаживаемую программу, ЭВМ 1 сопровождает адреса и данные одним из управляющих сигналов на втором входе записи 6 1 или чтения 60, которые принимают значе - ния "Лог,"0", При этом в соответствии с (114) на пятом выходе 88 седьмого дешифратора 11 появляется сигнал уровня "Лог."1", разрешающий запись во второй блок 24 оперативной памяти. По окончании действия сигнала на входе 60 или 61, а также во всех тактах, когда активен хотя бы один из сигналов, на входах 64 и 65 в соответствии с (12) отрицательный перепад сигнала на третьем выхоце 86 седьмого дешифратора 11 производит увеличение кода на единицу на информационных выходах второго счетчика импульсов 28. Этот код поступает на адресные входы второго блока 24 оперативной памяти и является сле 1 дующим, адресом, по которому производится запись новой информации. При переполнении второго счетчика 28 импульсов на его выходе 92 переполнения появляется импульс, который в соответствии с (13) поступает на вход ус тановки "0" второго счетчика 28 импульсов. И последующая информация будет записываться с нулевых адресов,После окончания режима отладки сигнал на выходе 91 принимает значение "Лог,"0" и в соответствии с (14) запись информации во второй блок 24 оперативной памяти 24 производиться не будет.ЭВМ 2, отрабатывая программу, содержащуюся в постоянной памяти 22, получает команду чтения информации из второго блока 24 оперативной памяти и переходит к выполнению соответствующих подпрограмм, выставляя при этом соответствующий адрес обращения и сопровождая его сигналом на втором входе 60 чтения уровня Лог.0". При этом на втором выходе 85 седьмого дешифратора 11 появляет-ся сигнал уровня "Лог,"1", который поступает на вход чтения второго блока 24 оперативной памяти, На выходах второго блока 24 оперативной памяти появляется записанная ранееинформация, которая представлена не более чем 64 разрядами (два байта - данные, три разряда - с вьгходов 98, 100 и 101, два разряда - с первого .64 и второго 65 входов задания режима, остальные разряды - код адреса с вторых адресных входов 58); все разряды разбиты на четыре равные группы, и сигналы с них поступают на соответствующие каналы второго мультиплексора 29,Чтение информации из второго блока 24 оперативной памяти производится по нулевому адресу, так как пос - ле окончания режима отладки узелсравнения вырабатывает сигнал начальной установки на первом выходе 62 сброса, который в соответствии с (11), (13) производит сброс счетчиков 27 и 28 импульсов, на выходахкоторых присутствует нулевой код, Нулевой код с выходов первого счетчика 27 импульсов поступает на два управляющих входа второго мультиплексора 29, что соответствует передачеинформации с первого канала сквозь девятый дешифратор 12 на вторую двунаправленную информационную магистраль 59, Девятый дешифратор 12 передает информацию с выходов второго(16Л Хс Л Хз,10 15 20 25 30 ХЭ 1 Л Х 99 ТМ 89В текущем такте код на первом 64 и втором 65 входах задания режима свидетельствует о том, что происходит с блоком очереди команд в преды - дущем такте, цикл шины ЭВМ 1 длится четыре такта сигнала на выходе 67 генератора импульсов. В тактах Т 1 и Т 2 каждого текла шины сигнал на входе 66 строба адреса имеет уровень "Лог."0". Если в течение данного цикла шины происходит выборка из памяти кода команды, то сигнал на входе 63 признака выборки команды имеет уровень "Лог."О" в течение тактов Т 1, Т 2 и ТЗ. Нумерация сигналов (на чертеже) соответствует нумерации управляющих линий, на которых эти сигналы появляются, В седьмом триггере 26 по положительному фронту сигнала на входе 66 строба адреса запоминается значение младшего раз ряда адреса, который был выставлен ЭВМ в текущем цикле шины. Задержка, вносимая элементом 8 задержки, должна быть минимальной, но больше, чем задержка, вносимая вторым элементом НЕ 36. Учитывая это, сигнал 89 на выходе шестого триггера 20 будетиметь низкий уровень в такте Т 4 цикла выборки команды (а не в цикле обращения в память за операндом) в течение времени, пока сигнал на выходе67 генератора импульсов имеет уровень "Лог,"0", Появление комбинациисигналов на входах 64 и 65 в тактеТ 4 свидетельствует о том, что в также ТЗ блок очереди команд очищенЭти сигналы, поступая уровнями 1 Лог,"1" на входы третьего элемента И 37,приводят к появлению импульса уровня"Лог,"0" во втором полупериоде. такта Т 4, который в третий 17, четвертый 18 и пятый 19 триггеры записы -вает единичную информацию, а на ихинверсных выходах появляется сигналуровня Лог,"О. Согласно формуле(15) состояние третьего триггера 17необходимо изменять на противоположное, если глубину очереди команднадо изменять на единицу: плюс. один,если в такте Т 4 цикла выборки коман -

Смотреть

Заявка

4139928, 21.10.1986

ИНСТИТУТ КИБЕРНЕТИКИ ИМ. В. М. ГЛУШКОВА

ЦВЕЛОДУБ ОЛЕГ ВЛАДИМИРОВИЧ, СИГАЛОВ ВАЛЕРИЙ ИОСИФОВИЧ, ПАЛАГИН АЛЕКСАНДР ВАСИЛЬЕВИЧ, ГОЛОВНЯ ВИКТОР ЛЕОНИДОВИЧ

МПК / Метки

МПК: G06F 11/28

Метки: блоков, отладки, программно-аппаратных

Опубликовано: 23.09.1988

Код ссылки

<a href="https://patents.su/12-1425683-ustrojjstvo-dlya-otladki-programmno-apparatnykh-blokov.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для отладки программно-аппаратных блоков</a>

Похожие патенты