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

Есть еще 6 страниц.

Смотреть все страницы или скачать ZIP архив

Текст

51 О 15 20 25 30 35 40 45 50 55 ложное н слс дующих случаях, 1 лубину очереди команц нацо увеличить на цна в связи с тем, что была произнец на выборка кода команды по четному ацресу, н этом случае ЭВМ 1 выбирает за одно обращение к памяти 2 байта. Увеличение на 2 производится в такте г 4 и только при условии, что н такте ТЗ не бьггго выполнено байта команды (т,е. н такте Т 4 сигнал на первом входе 64 зацания режима имел уровень "О") . Состояние триггера 18 также нацо менять, если глубину надо увеличить на один, а она имеет нечетное значение, надо уменьшить на один, а она имеет четное значение. В соответствии с (17) состояние пятого триггера 19 нацо изменять на противоположное, если глубину надо увеличить на один, а она равна трем, если глубину надо уменьшить на один, а она равна четырем, и если глубину кацо увеличить на 2, а она равна цвум или трем. Максимальная глуби - на очереди ранна шести. Десятый цешггфратор 6 вьщает единицу на Т.-входы тех триггеров, состояние которых нацо изменять в текущем такте. Изменение происхоцит по положительному фронту сигнала на выходе 67 генератора импульсов.Расшифровку трассироночной информации выполняют слецующим образом,Всю трассу выполнения программы условно разбивают на непересекающиеся линейные участки. Концом линейноо участка является строка, содержащая информацию об очистке очереди,Вначале опрецеляют границу первого линейного участка. Для этого анализируют строки трассы, пока не буцет обнаружена очистка очереди или не будет достигнут конец трассы (если исполненная программа не содержала команд перехода), После обнаружения очистки очереди определяют ближайшую в пределах линейного участка глубину, отличную от нуля., Это буце г глубина, соответствующая первому байту команцы перехода, Этот байт был выбран по адресу обращения, на Т менькгему, чем ацрес, содержащийся н строке, гце была обнаружена ненулевая глубина, Зная первый байт команцы перехоца, можно по нему опре - целить число баит коца команцы п рехоца, так как эта величина оцн гначно опрецеляется первым байтом кола комашцы. Таким образом, определилипосл цний выполненный перец очисткойочереди байт команды - это последнийбайт кода команды перехода. Первый выполненный после очистки очереди байтрасположен в той строке трассы, гцеи информация об очистке очереди,Команцы, расположенные между этимидвумя байтами, были ньбраггы микропроцессором, но реально не исполнялись и их иэ трассы необхоцимо уцалить.Теперь текущий линейный участоксодержит только исполненные команды,и следует перехоц на начало этого линейного участка с целью определенияместонахождения первого байта коцакаждой комапцы, нхоцящей н этот линейный участок. Если конец линейного участка связан с концом трассы, то выбранных и не исполненных команд на этом линейном участке не будет,После перехода на начало линейного участка аналогично описанному выше определяют ближайшую ненулевую глу. бину, а по ней и местонахождение первого байта кода команды (так как глубина фиксируется в момент перед выполнением первого байта кода команцы). По первому байту команды опрецеляют ее длину и соответствующее количество байт программного кода отсчитывают в сторону увеличения ацресон, Если при этом не достигнут конец линейного участка, то следующий байт после отсчитанных байтов будет первым байтом очередной команды. Определяют длину этой команды и так далее. Если конец линейного участка достигнут, то определяют, является ли этот линейный участок последним в трассе, Если нет, то повторяют весь цикл расшифровки цля следующего линейного участка. Если ца, то вся трасса расшифрована. формула изобретения Устройство цля отладки программноаппаратных блоков, содержащее цесять цешифраторов, генератор тактовых импульсон, первый, второй, третий и четвертый регистры, блок постоянной памяти, первый, второй и третий блоки оперативной памяти, первый и второй счетчики импульсов, первый и второй мультиплексоры, семь триггеров, и рвый, второй и третий элементы ПЕ, 21 1497617одновибратор, первый, второй и третий элементы И, схемы сравнения ипервый элемент задержки, причем перная группа информационных входов 5выходов устройства через первую двунаправленную магистраль соединена сгруппой информационных нходон первого регистра и группой выходов первого дешифратора, первая группа адрес Оных входов, первые входы признаказаписи, признака чтения и признакасброса устройства соединены с входами второго дешифратора, первый, второй и третий выходы которого соедииены соответственно с входом записипервого регистра, входом первого дешифратора и первым выходом признакасброса устройства, группа выходовпервого регистра соединена с первой 20группой входов третьего дешифратора,выход которого соединен с входом записи второго реГистра, вторая группаадресных входон устройства соединенас группой адресных входов блока постоянкой памяти, первого блока оперативной памяти, первой группой входовсхемы сраннения, группой входов четвертого и пятого дешифраторов, первой группой информационных входовпервого мультиплексора, первой группой входов шестого дешифратора,группой входов седьмого дешифратора,первой группой информационных входоввторого блока оперативной памяти ивторой группой входов третьего дешиФратора, группа выходов которогочерез вторую двунаправленную магист"раль соединена с группой информационных входов первого блока оператинной памяти, группой информационных выходов блока постоянной памяти,группой выходов восьмого дешифратора, второй группой информационныхвходон второго блока оперативной памяти, группами информационных входоввторого, третьего и четвертого регистров, второй группой информационныхвходов первого мультиплексора, вто-.рой группой входов шестого дешифратора, группой выходов девятого дешифратора, первой группой выходов шестого дешифратора и второй группой информационных входов-выходов устройства, группа выходов второго регистрасоединена с группой входов первогодешифратора, второй вход признакачтения устройства соединен с входамичтения блока постоянной памяти, перного блока оперативной памяти, первыми входами третьего, шестого, седьмого и восьмого дешифраторов, второй вход признака записи устройства соединен с первым входом пятого дешифратора, вторыми входами третьего, шестого и седьмого дешифраторон, входом четвертого дешифратора, тактовым входом првого триггера, входом записи первого блока оперативной памяти, группа информационных ныходон первого блока оперативной памяти соединена с группой входов восьмого дешифратора, первый и второй выходы четвертого дешифратора соединены с тактовыми входами третьего и четвертого регистров, группы информационных выходов которых соединены с второй группой информационных входов схемы сравнения, выход которой через однонибратор соединен с первым входом первого элемента И и через первый элемент НЕ с вторым входом первого элемента И, входом установки в 0 первого триггера, третьими входами шестого и седьмого дешифраторов и третьим входом второго дешифратора, третий выход четвертого дешифратора соединен с информационным входом первого триггера, выход которого соединен с входом установки н "1" второго триггера, информационный вход второго триггера соединен с шиной нулевого потенциала устройства, выход первого элемента И соединен с так 4 товым нходом второго триггера, инверсный выход которого соединен с первым входом обращения первого блока оперативной памяти, входом обращения блока постоянной памяти, ь "орыми входами пятого и восьмого дешифраторон и первым входом признака готовности устройства, прямой выход второго триггера соединен с первым входом второго элемента И и четвертым входом седьмого цешифратора, первый выход пятого дешифратора соединен с входом записи третьего блока оперативной памяти и управляющим входом первого мультиплексора, группа выходов которого соединена с группой адресных входов третьего блока оперативной памяти, второй выход пятого дешифратора соединен с входом чтения третьего блока оперативной памяти, выход которого соединен с третьим входом восьмого дешифратора и нторым входом обращения первого блока оператинной памяти, старший разряц информационного выхода блока постоянной памяти соединен с информационным входом третьего блока оперативной5 памяти, выход которого соединен с четвертым входом шестого цешифратора и вторым вхоцом второго элемента И, вход признака готовности устройства соединен с третьим входом второго элемента И, выход которого соединен с вторым выходом признака готовности устройства, вторая группа выходов шестого дешифратора соединена с третьей группой входов шестого цешиф ратора и является третьей группой инФормационных вхоцон-выхоцон устройства, третья группа выходов шестого цешифратора является группой адресныхе выходов устройства, первый, второй, 20 гретий, четвертый, пятый, шестой и седьмой выходы шестого цешифратора являются соответственно первыми выхоцами признака чтения, признака записи, строба адреса устройства, вто рым выходом признака сброса устройства, первым и вторым выходами признака задания режима устройства, выходом признака выборки команды устройства, выход генератора тактовых импульсов 30 соединен с входом второго, элемента И, вход признака выборки команды устройства соединен с пятым входом шестого цешифратора, первый вход признака зацания режима устройства соеди- З 5 нен с шестым нхоцом шестого цешифратора, второй вход признака задания режима устройства соединен с седьмым вхоцом шестого цешифратора, вход строба ацреса устройства соединен с 40 восьмым входом шестого цешифратора, первый, второй, третий, четвертый и пятый ныхоцы седьмого щшифратора соецинены соответственно с входом установки в 0 первого счетчика импульсов, счетным входом первого счетчика импульсов, счетным входом . второго счетчика импульсов, входом установки в 0 второго счетчика им 1пульсов и первым входом обращения второго блока оперативной памяти, второй выход седьмого цешифратора соединен с вторым вхоцом обращения второго блока оперативной памяти и входом девятого цешифратора, выходы переполнения первого и второго счетчиков импульсов соецинены соответстнадино с пятым и шестым вхоцами с цьмо го ц шиФратора, группы инФо рма иионных выходов первого и второго счетчиков импульсон соединены соптнетственно с группой упранляющих входов второго мультиплексора и группой адресных входов второго блока оперативнойпамяти, первая, вторая, третья и четвертая группы вьиоцов второго блока оперативной памяти соединены соответ. ственно с первой, второй, третьей и четвертой группами информационных входов второго мультиплексора, группа выходов которого соединена с группой входов цевятого дешифратора, выход генератора тактовых импульсов соединен с седьмым входом седьмого цешифратора, первый вход признака задания режима устройства соединен с вхоцом третьего элемента НЕ, выхоц которого соединен с первыми входами третьего элемента И и десятого дешифратора, второй вход признака задания режима устройства соединен с вторым входом третьего элемента И, выход генератора тактовых импульсов соединен с третьим входом третьего элемента И, вьиоц которого соецинен с вхоцами установки в "1" третьего, четвертого и пятого триггеров, вход признака выборки команды устройства через первый элемент задержки соединен с тактовым входом шестого триггера, информационный вход шестого триггера соединен с шиной нулевого потенциала устройства, выход нторого эле - мента НЕ соединен с входом установки н "1" шестого триггера и тактовыми входами третьего, четвертого и пятого триггеров, младший разряд второй группы адресных входов устройства соединен с информационным входом седьмого триггера, вход строба адреса устройства соединен с тактовым входом седьмого триггера, первый, второй и третий выходы десятого дешифратора соецинены соответственно с Т-входами третьего, четвертого и пятого триггеров, прямой и инверсный выходы седьмого и шестого триггеров соединены соответственно с вторым, третьим, чет вертым и пятым входами десятого дешифратора, прямые выходы третьего и четвертого триггеров соединены соответстненно с шестым и седьмым входами десятого цешифратора, инверсные выходы третьего, четвертого и пятого триггеров соединены соответственно с восьмым, девятым и десятым входами десятого цешифратора, о т л и ч а ющ е е с я тем, что, с целью повьшения производительности, устройстводополнительно содержит четвертый ипятый элементы НЕ, четвертый элементИ, второй и третий элементы задержки,восьмой, девятый и десятый триггерыи группу триггеров, причем первыйвход признака задания режима устройства соединен с первым входом четвертого элемента И, второй вход признака задания режима устройства соединен с входом четвертого элемента НЕ,выход которого соединен с вторымвходом четвертого элемента И, выход 15которого соединен с информационнымвходом десятого триггера, выход генератора тактовых импульсов черезтретий элемент задержки соединенс входом второго элемента задержки 20и тактовым входом десятого триггера,выход которого соединен с тактовымвходом триггеров группы, выход второго элемента задержки соединен с инверсным тактовым входом восьмого 25триггера, вход признака выборки команды устройств через четвертый элемент НЕ соединен с входом установкив восьмого триггера, Т-вход которого подключен к шине нулевого потенциала устройства, К-вход восьмоготриггера соединен с шиной единичногопотенциала устройства, а выход восьмого триггера соединен с входом установки в девятого триггера и входами установки в 0 триггеров группы, инверсный выходы третьего, четвертого и пятого триггеров соединеныс соответствующими информационнымивходами триггеров группы, выходы которых соединены соответственно с первым, вторым и третьим информационными входами второго блока оперативнойпамяти, инверсный выход девятоготриггера соединен с четвертым информационным входом второго блока оперативной памяти, информационный входдевятого триггера соединен с шинойнулевого потенциала устройства,выход третьего элемента И соединенс тактовым входом девятого триггера,Корректор И.Иуска Пе жнина тениямская нт Проиэводстненно-издательский комбинат "Пате , г. Ужгород, ул. Гагарина, 10 Закаэ 4445/49 Тираж 668 ВНИИПИ Государственного комитета по иэо113035, Москва, Ж, Р Подписноеи открьггиям при ГКНТ СССб., д. 4/53 14976 42 и пятый 43 эл менты ПЕ, четвертый элемент И 44, второй 45 и третий 46 эл.менты задержки, восьмой 47, девятый 48 ц сят й 49 триггеры, гру у 5 триггеров 50, первый выход 51 строба ацреса, первый 52 и второй 53 выхоцы признака задания режима, выход 54 признака выборки команцы, вход 55 признака готовности, второй 56 и пер- О вый 57 выходы признака готовности, вторые адресные входы 58, вторую двунаправленную информационную магистраль 59, вход 60 признака чтения, вход 61 признака записи, первый выход 15 62 признака сброса, вход 63 признака выборки команды, первый 64 и второй 65 входы признака задания режима, вход 66 строба адреса устройства, выход 67 генератора импульсов, первый 20 68, второй 69 и третий 70 выходы второго дешифратора, первый вход 71 третьего элемента И, группу входов 72 и выходов 73 восьмого дешифратора, первый 74, второй 75 и третий 76 выходы четвертого цешифратора, первый 77 и второй 78 выходы пятого цешифратора, первые информационные входы-выходы 79 устройства, первый 80, второй 81 и третий 82 выходы це сятого цешифратора, выхоц 83 третьего элемента И, первый 84, второй 85, третий 86, четвертый 87 и пятый 88 выходы седьмого цешифратора, прямой выхоц 89 шестого триггера, второй вход 35 вход 90 второго элемента И, прямой выход 91 второго триггера, выхоцы 92 и 93 переполнения второго и первого счетчиков импульсов соответственно, второй 94, третий 95, пятый 96, 40 шестой 97, седьмой 98, восьмой 99, девятый 100 и десятый 01 выходы десятого цешифратора, первые адресные входы 102, первые входы признака записи 103, признака чтения 104, приз нака сброса 105, третьи информационные входы-выхоцы 106, группу адресных выходов 107, первые входы признака чтения 08, признака записи 109, второй выход 110 признака сброса уст ройства, информационный вход 11 и выход 112 цесятого триггера 49 и выход 113 восьмого триггера 47.Устройство работает поц управляющей ЭВМ в качестве которой может быть использована, например, микро- ЭВМ УВС-О 1, и обеспечивает отладку устройств на основе микропроцессоров, соцержэцих встроенную очередь команд,например К 1810 ВМ 86 или К 810 ВМ 88.Системная шина управляющей ЭВМ поцключается к входным шинам устройствацля отладки программно-аппаратныхблоков, Выходные шины устройства подключаются к шинам отлаживаемогоустройства. Устройство может работать в одном из двух режимов: режимеуправления и режиме отладки.Рассмотрим работу прецлагаемогоустройства в режиме управления,Сигнал уровня 0, появляющийсяна первом входе 105 признака сбросаустройства при нажатии кнопки сбросана пульте управляющей ЭВМ, проходитчерез второй дешифратор 4 и с выхода70 последнего воздействует на блокии 2, первый триггер 33 и седьмойцешифратор 11, выполняя их начальнуюустановку. Через шестой дешифратор14 сигнал сброса поступает также навторой выход 110 признака сбросаустройства. По окончании воздействиясигнал сброса на выходе 91 режимавторого триггера 34 появляется сигнал уровня 0, который через второйэлемент И 39 поступает на вход готов"ности блока ЭВМ 1 микропрограммногоуправления, запрещая ее работу, Приэтом сигнал уровня "1 с первого выхода 57 признака готовности устройства поступает на вход готовности блока 2, разрешая его.работуБлок 2начинает отработку программы-монитора, содержащейся в блоке 22 постоянной памяти. В соответствии с этойпрограммой блок 2 находится в циклеожидания команд, подаваемых с управляющей ЭВМ,Команда в виде соответствующегокода поступает от управляющей ЭВМпо первым информационным вхоцам-выходам 79 и при определенном ацресе,выставляемом на первый арресный вход102 и при наличии сигнала на первомвходе 103 записи запоминается в первом регистре 5, Блок 2 в соответствии с выполняемой программой постоянно опрашивает этот регистр, выставляя соответствующий коц ацреса навторых адресных входах 58 и сигнална втором входе 60 признака чтения.Прочитав коц с группы выходов третьего цешифратора 5, бЛок 2 переходитк выполнению программы обработки полученной команцы, В соответствии сполучаемыми командами блок 2 производит загрузку третьего блока 25 опе 514ративной памяти, третьего 31 и четвертого 32 регистров и при необходимости первого блока 23 оперативнойпамяти, Эти операции выполняются слецук)щим образом,На вторых адресных вхоцах 58блок 2 устанавливает адрес, соответствующий оцному иэ узлов устройства,а по второй двунаправленной информационной магистрали 59 блок 2 передает необходимые коды, сопровожцая ихсигналом по второму входу 61 признака записи. При этом при обращенииблока 2 к первому блоку 23 оперативной памяти на старшей адресной линииприсутствует сигнал уровня 0, а приобращении к второму блоку 24 оперативной памяти, четвертому цешифратору 10, пятому дешифратору 13 и шестому дешифратору 14 - сигнал уровня"1", В третий блок 25 оперативнойпамяти записывается информация отом, будет ли при отладке использоваться память отлаживаемого устройства или будет ли использоватьсяпервый блок 23 оперативной памяти,в последнем случае ЭВМ 2 загружаетв первый блок 23 оперативной памятиотлаживаемую программу, В соответствии с информацией, записанной втретьем блоке 25 оперативной памяти,при отладке на выходе 90 будет вырабатываться соответственно сигналразрешения работы первого блока 23оперативной памяти (сигнал уровня"0") или шестого дешифратора 14(сигнал уровня ).В третий 31 и четвертый 32 регистры записывается условие окончания отладки, при выполнении которогозапрещается выполнение отлаживаемойпрограммы подачей на первый выход 62признака сброса сигнала начальнойустановки,Для перехода в режим отладки блок2, получив соответствующий код команды через первый регистр 15 и третийдешифратор 5, устанавливает на вторых адресных входах 58 коц, состоящий из всех единиц. В этом случае напервом выходе 57 признака готовностивырабатывается сигнал уровня "0",который отключает блок 22 постояннойпамяти, поступая на вход готовностиблока 2, запрещает его работу, а также поступает на второй вход пятогоцешифратора 13, и сигнал уровня "1".на выходе 91, которым разрешается 976176работа блокаи включается второйблок 24 оперативной памяти,В режиме отладки работает блок 1,выполняя отлаживаемую программу. Блок5состоит иэ трех блоков: блока управления каналом, блока исполнения команц и блока очереди команд. Блокуправления каналом организует циклыканала, выбирает из памяти коды отлаживаемой программы и загружает ихв блок очереди команд, Блок исполнения команд последовательно исполняеткоманды, выбирая их иэ блока очерецикоманц. Если в процессе выполнениякоманды необходимо обратиться к памяти, то блок исполнения команд делаетзаявку, блок управления каналом, закончив очерецную выборку программно"го кода из памяти, удовлетворяет этузаявку. Объем запоминающего узла блока очереди команд ограничен, если онзаполнен, то блок управления каналомработает вхолостую, если в блок оче 25 реди команд можно поместить байтыпрограммного кода, то блок управления каналом выполняет цикл выборкииз памяти кода команды. Таким обраэом, в блоке 1 организована прецвариЗ 0 тельная (заблаговременная) выборкакодов команд, а операции выборки иисполнения совмещены во времени,Гоэтому последовательность выборкине соответствует последовательностиих исполнения В частности командыкоторые были выбраны из памяти после выборки команды безусловногоперехода, в цействительности исполняться не будут. Чтобы восстановить4 О реальную картину исполнения команд,необходимо иметь сведения о взаимодействии блока исполнения команд сблоком очереди команц. Коц на выходах 64 и 65 признака задания режима45 свидетельствует о том, что в предыдущем такте из блока очереди командблока 1 был выбран первый байт кодакоманды, либо был выбран последующийбайт кода команды, либо блок очередикоманд был очищен в результате выпол 50нения команды перехода, либо в предшествующем такте блок исполнениякоманд не обращался к блоку очередикоманд. Также необходимо знать количество команд, нахоцящихся в блокеочереди команд в определенные моменты времени, Эту информацию вырабатывает узел, включак 1 кгни десятый дешифратор 6, третий 17, четвертый 18, 1497617 впятый 19, шестой 20 и седьмой 26триггеры, третий элемент И 37, второй 35 и третий 41 элементы НЕ ипервый элемент 8 задержки,Выполняя отлаживаемую программу,блок 1 производит обращения либо кпервому блоку 23 оперативной памяти,либо к памяти отлаживаемого устройства в зависимости от информации, записанной в третьем блоке 25 оперативной памяти, Обмен информацией междупамятью и блоком 1 производится через шестой дешифратор 14 следующимобразомВ случае передачи информа-ции от блока 1 в память отлаживаемого устройства информация на вторыхадресных входах 58 и второй двунаправленной информационной магистрали59, сопровождающаяся сигналом на втором входе 61 признака записи, передается через шестой дешифратор 14 приналичии разрешающего сигнала на выходе 90 на группу адресных выходов107 и третьи информационные входы-выходы 106 к памяти отлаживаемого устройства, сопровождаясь при этом сигналом по первому выходу 109 признака записи.При приеме информации из памяти отлаживаемого устройства блок 1 устанавливает на втором выходе 60 признака чтения устройства сигнал чтения данных, который через шестой дешифратор 14 поступает на первый выход35 108 признака чтения, а на вторых адресных входах 58 - адрес ячейки, к которой производится обращение. Код адреса через шестой дешифратор 14 поступает на группу адресных выходов 40 107 устройства. Код адреса и сигнал на первом выходе 108 признака чтения будут сохраняться до тех пор, пока память отлаживаемого устройства не установит считанную информацию на 45 третьих информационных входах-выходах 106, с которых через шестой дешифратор 14 она поступит на вторую двунаправленную информационную магистраль 59 ЭВМ 1.Синхронизация работы блока 1 и памяти отлаживаемого устройства выполняется с помощью входа 55 признака готовности, При обращении к памяти последняя устанавливает на входе 55 сигнал уровня 0 , который через трен п, 55 тий вход второго элемента И 39 поступает на торой выход 56 признака готовности, запрещая работу блока 1,сигнал этого уровня остается до тех.пор, пока память не закончит внутренний цикл (т.е. не произведет записьили выдачу информации). По окончаниивнутреннего цикла на входе 55 признака готовности память устанавливаетсигнал уровня "1", который через второй элемент И 39 поступает на второйвыход 56. Блок 1, обратившись к памяти отлаживаемого устройства, приостанавливает свою работу на все товремя, в течение которого на входе55 признака готовности остается, сигнал уровня "0",В течение всего времени работыблока 1 включен второй блок 24 оперативной памяти, в котором по положи"тельному фронту конъюнкции сигналовна вторых входах 60 и 61 признакачтения и признака записи запоминается информация с вторых адресныхвходов 58, второй двунаправленнойинформационной магистрали 59, информационных выходов группы триггеров,а также с инверсного выхода девятоготриггера 48,В схеме 40 сравнения в режимеотладки постоянно происходит сравнение кодов адреса с вторых адресныхвходов 58 с заданными в качестве условий выхода из режима отладки, Присовпадении кодов адрес с заданнымина выходе 91 вырабатывается сигналуровня п 0, который запрещает запоминание информации во втором блоке 24оперативной памяти и останавливаетблок 1, а на выходе 57 появляетсясигнал уровня "1", который разрешаетработу блока 22 постоянной памяти иблока 2. Одновременно с этим одновиб-ратор 21 и первый элемент НЕ 36 формируют на линии 62 сигнал начальнойустановки,Блок 2 начинает отработку програм"мы, содержащейся в блоке 22 постоянной памяти, и остается в цикле ожидания команды от управляющей ЭВМ, Этикоманды, в частности, могут инициировать передачу в управляющую ЭВМ информации, содержащейся во второмблоке 24 оперативной памяти,Таким образом, устройство для отладки программно-аппаратных блоковпозволяет моделировать отлаживаемоеустройство на самых ранних этапахразработки, используя при этом первый блок 23 оперативной памяти, ипроизводить отладку программногообеспечения, необхоцимого цпя работы сгтггдживаемого устройства, с заггоггинанием инФормации яо втор.м блоке 24 оперативной памяти. При отладкеобеспечивается остаггов отпаживдемойпрограммы по ацресу, зацаваемому опетором.На элементах 46, 45, 49, 44, 42, 37, 41, 48, 47, 50 и 43 реализован 1 О узел Фиксации глубины очереди команд, который работает следующим образом. Когда на входах 64 и 65 признака режима устройства появится информация об исполнении первого байта кода 15 команды (коц Оп), срабатывает четвертый элемент И 44 и на его выхоце 111 появится сигнал уровня Это значение по положительному фронту сигнала синхронизации выхода 67, за держанного третьим элементом 46 задержки, будет переписано на выход десятого триггера 49, гце также появится сигнал уровня "1, Этот положительный фронт на линии 112 перепи шет значение глубины очереди команц с входов группы триггеров 50 на ее выходы, Таким образом, на выходах группы триггеров 50 будет находиться значение глубины очереци команд ЭВМ 1 30 перед исполнениемпервого байта кодакоманды.Когда на входах 64 и 65 признакарежима устройства появится информацияоб очистке очереди (код 01"), то в 35положительном полупериоце сигналасинхронизации с выхода 67 сработаеттретий элемент И 37 и на его выходепоявится сигнал уровня 0. По положительному Фронту этого сигнала на 40инверсном выходе девятого триггера48 появится сигнал уровня "1", этосвидетельствует о том, что была произведена очистка очереди команц.Запись информации во второй блок 4524 оперативной памяти происходит вконце такта кажцого цикла шины поотрицательному фронту сигнала синхронизации с выхода 67. Отрицательный фронт этого сигнала,ный третьим 46 и вторым 45 элементами задержки на четверть периода сигнала синхронизации с выхода 67,запишет в восьмой триггер 47 нольи на его выходе 113 появится сигналуровня 0. По положительному фронтусигнала на входе 63 признака выборки команды, проинггг ртированному изадержанному иггггг ртором 36, восьмой триггер 47 будет установлен в елиничное состоягггге. Задержка, вносимаяпятым элементом НЕ 43 больше зацержки, вносимой элементами 45 и 46, номеньше половины периода сигнала синхронизации с выхода 67Таким образом, на выходе 113 сразу после записи очередной строки в трассу появитсяимпульс уровня0, который на выходах группы триггеров 50 и девятоготриггера 48 установит сигналы уровня"0". Если до следующей записи в трассу не будет начато выполнение командыи не будет произведена очистка очереци команд, то там сигналы уровня пО гтак и останутся, Если цо слецующейзаписи в трассу буцет начато исполнение нескольких команд, то в трассубудет записана глубина очереди команд, соответствующая последней изтаких команц,Шестой дешифратор 14 реализуетследующие логические функции (индексы у переменных Х соответствуют номерам входов дешифратора, индексы упеременных У - номерам выходов дешифторов);(10 )Из формулы (1) спецует, что дешифратор буферизирует сигнал сброса спервого выхода 62. Сигналы 61, 62,63, 64, 65, 66 имеют активный низкийуровень и проходят сквозь дешифратор14 только при наличии сигнала разрешения 90 уровня "1", что свидетельствует об обращении ЭВМ 1 к памятидтпдживаемого устройства (формулы(2)-(8, Сигналы с второй двунаправленной информационной магистрали 59прохоцят в отлаживдемое устройствопри наличии сигнала разрешения 90 исигнала признака записи 61. Сигналыс третьих информацгннных входов-выходов 106 отлаживдемого устройствапрохоцят на вторую цвунаправленнуюинФормационную магистраль 59 при наличии разрешающего пенала 90 и сигнала чтения 60, что следует из формул (9) и (10).В трс тьем блоке 25 оперативнои а яти содержится информация, управляющая обращением блока 1 к памяти в ре 1 СИМс ОтЛадКИ. ПадПрОГраММа ЗаГруэ 5 к 1 третьего блока 25 оперативной памяти содержит адрес обращения к этому узлу: при этом четыре старших разряда адреса подаются на первый канал первого мультиплексора 30 остальные О разряды адреса подсоединены к соответствующим входам пятого дешифратора 13, четыре старших разряда второй двунаправленной информационной магистрали 59 поступают на входы второ го канала первого мультиплексора 30, а младший разряд - на информационный вход третьего блока 25 оперативной памяти. Код адреса сопровождается сигналом признака записи 61. При 20 наличии сигналов уровня 11 О" на втором входе 61 признака записи и первом выходе 57 признака готовности и наличии соответствующего кода на остальных входах пятого дешифратора 13 25 на первом выходе 77 последнего появляется сигнал уровня 1", разрешающий передачу информации через первый канал первого мультиплексора 30 и зались информации в третий блок 25 30 оперативной памяти. В то же время сигнал на втором выходе 78 имеет уровень 1101. Информация, записанная в третьем блоке 25 оперативной памяти, в дальнейшем будет использоваться для определения, где будет располагаться соответствующий сегмент памяти (либо в первом блоке 23 оперативной памяти, либо в отлаживаемом устройстве). При этом младший раз ряд второй двунаправленной информационной магистрали 59 содержит информацию о месте расположения соответствующих сегментов памяти, а четыре старших разряда содержат код соот ветствующего сегмента памяти. Если по некоторому адресу в третьем бло-. ке 25 оперативной памяти записан ноль, то в дальнейшем к соответствующему сегменту будут Обращаться в50 первый блок 23 оперативной памяти, в противном случае - к памяти О глаживаемого устройства.В режиме Отладки сигнал на первом Въходе 57 признака ГОТОВн 01 ти Рини мает уровень "1", при этом на первом Выходе 77 Ят 11 го цс шифратора 13 по 11 11является 1.ии;сл уровня О, а на11 11 втором выхг 11 с 78 - урс)вня 1 и 1 анисимо от состояния сигналов на остальных входах пятого девИфратора 13. Сигнал 57 таким образом запрещает эспись информации в третий блок 25 оперативной памяти и разрешает считывание информации из этого блока оперативной памяти. Теперь всякий раз, когда блок 1 выставляет на вторых адресных входах 58 новый адрес, его старшие четыре разряда будут проходить через первый канал первого мультиплексора 30 на адресные входы третьего блока 25 оперативной г 1 амяти, а сигнал на выходе третьего блока 25 оперативной памяти будет указывать место нахождения сегмента памяти, задаваемого четырьмя старшими разрядами адреса.Дешифратор 9 при наличии на его входах 60, 57 и 90 сигнала уровня "0" передает сигналы с входов 72 на выходы 73 без изменения, в противном случпе сигналы на выходах 73 имеют уровень "1".Программирование третьего 31 и четвертого 32 регистров адресом оста- нова выполнения отлаживаемой программы и сравнение адресов схемой 40 сравнения в режиме отладки осуществляется следующим образом. Сигнал инициализации, появляющийся на первом выходе 62 признака сброса, поступает на инверсный вход установки в 11011 первого триггера 33 и через первый элемент И 38 на тактовый вход второго триггера 34, устанавливая на прямых выходах этих триггеров сигнал уровня 10", а на инверсном выходе второго триггера 34 - сигнал уровня "1". Таким образом, разрешена работа блока 22 постоянной памяти и ЭВМ 2 обрабатывает программу, содержащуюся в блоке 22 постоянной памяти. Получив команду загрузки третьего 31 и четвертого 32 регистров, блок 2 выстав.яет соответствую щий адрес обращения на вторых адресных входах 58, сопровождая его сигналом на втором входе 61 признака записи уровня 0, причем старший разряд адреса содержит единицу, При этом в зависимости от выставленного адреса на первом выходе 74 или втором Выходе 75 появится сигнал уровня "1", производящий запись информации в третий регистр 31 или четвертый регистр 32 соответственно, при этом в регистр записывается информация свторой двунаправленной информационной магистрали 59. Таким образом, каждому иэ этих регистров присвоен адрес обращения, В третий регистр 31 записынается коц, который будет старшей частью адреса останова, н четвертый регистр 32 - коц, который будет младшей частью адреса останова. Тогда на выходах этих регистров О будет адрес останова, он подается на входы второго сравниваемого числа схемы 40 сравнения. При работе устройства цля отладки программноаппаратных блоков в режиме отладки 5 на вторых адресных входах 58 будут появляться коды адресов обращения блока 1 к первому блоку 23 оператинной памяти или памяти отлаживаемого устройства, и как только коц адреса 20 совпадет с кодом, записанным в третьем 31 и четвертом 32 регистрах, схема 40 сравнения сработает и на ее выходе появится сигнал уровня "1", который положительным фронтом, пода ваемым на оцновибратор 21, вызовет на выходе последнего импульс уровня 1, который, пройдя через первый элемент И 38, своим положительным фронтом установит на выходе 91 низ кий уровень. Этот же одиночный импульс, пройця через первый элемент НЕ 36, поступит на первый выход 62 признака сброса, производя начальную установку ЭВМ и дРУгих Узлов. Таким образом завершен цикл работы обмен с управляющей ЭВМ - отладка.После того, как блок 2 закончит подготовку к работе всех узлов устройства цля отладки программно-ацпа ратных блоков, он выполняет цикл записи по адресу, состоящему из всех единиц кода, содержащего нсе единицы. При появлении этого адреса на вторых адресных входах 58 на третьем выходе 45 76 четвертого дешифратора 10 появится сигнал уровня "1", Положительным фронтом сигнала на втором входе 61 признака записи информация с информационного входа первого триггера 33 перепишется на его выхоц, эта "1", появившаяся на выхоце первого триггера 33, поступит на вхоц установки в "1" второго триггера 34 и на первом выходе 57 признака готовности появится сигнал уровня "0". Этот сигнал запретит работу блока 2 и блока 22 постоянной памяти, а одновременно появившийся сигнал уровня"1" на выхоце 9 Разрешит работу второго блока 24 оперативной памяти и блока 1Последний начнет выполнятьотлаживаемую программу.Гервый дешифратор 7 передает информацию с выхоцон второго регистра16 на первые информационные вхоцывыходы 79 устройства при наличии сигнала уровня "1" на входе 69, н противном случае на выхоцах первогодешифратора 7 нсе сигналы имеют уровень "1". При необхоцимости передатьинформацию иэ управляющей ЭВМ вустройство для отладки программноаппаратных блоков управляющая ЭВМ выставляет соответствующий коц адресаобращения на первых адресных входах102, сопровождая его сигналом на первом входе 03 признака записи. Приэтом на первом выходе 68 второго цешифратора 4 появится сигнал уровня"1", который стробирует загрузку информации в первый регистр 15 с первых информационных входов-выходов 79,Блок 2, обращаясь к третьему дешифратору 5, выставляет соответствующийадрес и сопронождает его сигналомна втором входе 60 признака чтенияВ результате информация с выходоврегистра 15 беэ изменений будет передана на группу выхоцов третьего цешифратора 5, в противном случае наэтих выходах присутствуют сигналыуровня "1",Прн необходимости передать информацию из устройства цля отладки программно-аппаратных блоков в управляющую ЭВМ блок 2 выставляет соответствующий коц ацреса обращения на вторых адресных входах 58, сопровождая его сигналом на втором входе 6 признака записи. При этом на выхоце третьего цешифратора 5 появляется сигнал уровня "1", который стробирует загрузку информации во второй регистр 16, Управляющая ЭВМ, обращаясь к первому цешифратору 7, выставляет соответствующий адрес и сопровождает его сигналом на первом входе 104 признака чтения. В результате информация с выходов второго регистра 16 будет без изменения передана на выходы первого цешифратора 7. Сигнал на первом выходе 62 признака сброса второго цешифратора 4 всегда повторяет сигнал на первом входе 105 признака сброса, 1497617ти.В режиме отладки сигнал на выходе 91 принимает значение . В дальнейшем, выполняя отлаживаемую программу, блок 1 сопровождает адреса и данные одним из управляющих сигналов на втором входе 61 признака записи или входе 60 признака чтения, которые принимают значения 0". При этом в соответствии с (14) на пятом выходе 88 седьмого дешифратора 11 появляется сигнал уровня "1", разрешающий запись во второй блок 24 оперативной памяти. По окончании действия сигнала на входе 60 или 61 в соответствии с (12) отрицательный перепад сигнала на третьем выходе 86 седьмого дешифратора 11 производит увеличение кода на единицу на информационных выходах второго счетчика 28 импульсов, Этот код поступает на адресные входы втоДешифратор 11 реализует следующие логические Функции:У 84 - Хз/ Х(11) где Х - сигнал с выхода переполне 93ния первого счетчика импульсов 27;76 - (ХХ )ЛХ 1 Л Х Л Хзз,(12) где Х - сигнал на прямом выходе91второго триггера 34;(13) где Х - сигнал с выхода переполнеМния второго счетчика 28импульсов;У =(Х ЧХ чХ м Х )ЛХ, ЛХэ(14)При выдаче сигнала инициализации на первом выходе 62 признака сброса появляется сигнал уровня нО, который в соответствии с (11) и (12), пройдя через седьмой дешифратор 11, производит начальную установку первого 27 и второго 28 счетчиков импульсов. На выходах обоих счетчиков импульсов устанавливается код, сос 1тоящий из всех нулей. При работе блока 2 по программе, содержащейся в блоке 22 постоянной памяти, запись инФормации во второй блок 24 оперативной памяти производиться не будет, поскольку в этом режиме сигнал на выходе 91 принимает значение "0" и в соответствии с (14) на пятом выходе 88 седьмого дешифратора 11 появится пассивный сигнал уровня нО, который запретит запись информации во второй блок 24 оперативной памя 5 10 15 20 25 30 35 40 45 50 55 рого блока 24 оперативной памяти и,следовательно, является следующимадресом, по которому будет произведена запись новой информации. Припереполнении второго счетчика 28импульсов на его выходе 92 переполнения появляется импульс, который всоответствии с (13) поступает навход установки нуля второго счетчика28 импульсов, И последующая информация будет записываться с нулевыхадресов, По окончании режима отладкисигнал на выходе 91 принимает значение "0" и в соответствии с (14) запись информации во второй блок 24оперативной памяти производиться небудет,Блок 2, отрабатывая программу,содержащуюся в блоке 22 постояннойпамяти, получает команду чтения информации иэ второго блока 24 оперативной памяти и переходит к выполнениюсоответствующих подпрограмм, выставляя при этом соответствующий адресобращения и сопровождая его сигналомна втором входе 60 признака чтенияуровня нО . При этом на втором выходе 85 седьмого дешифратора 11 появляется сигнал уровня "1", который поступает на вход чтения второго блока24 оперативной памяти. На выходахвторого блока 24 оперативной памяти.появляется записанная ранее информация, которая представлена не более,чем 64 разрядами (два байта - данные, три разряда - с выходов 98, 100и 101, один разряд - с инверсноговыхода девятого триггера 48, остальные разряды - код адреса с вторыхадресных входов), все разряды разбиты на четыре равные группы и сигналыс них поступают на сооТветствующиеканалы второго мультиплексора 29.Чтение информации из второго блока24 оперативной памяти производитсяпо нулевому адресу, так как по окончании режима отладки узел сравнениявырабатывает сигнал начальной установ.ки на первом выходе 62 признака сброса, который в соответствии с (11) и(13) произведет сброс первого 27 ивторого 28 счетчиков импульсов, навыходах которых будет присутствоватьнулевой код. Нулевой код с выходовпервого счетчика 27 импульсов поступает на два управляющих входа второго мультиплексора 29, что соответствует передаче информации с первогоканала сквозь девятый дешифратор 12 на вторую двунаправленную информационную магистраль 59, Девятый дешифратор 12 передает информацию с выхо 5 цон нторого мультиплексора 29 на ныходы 59 без изменений при наличии сигнала уровня "1" на выходе 91, в противном случае все сигналы уровня "1" на выходах девятого цешифратора 12 имеют уровень "1". Сигнал с второго входа 85 седьмого цешифратора 11 поступает также на счетный вход первого счетчика 27 импульсон и по окончании этого сигнала отрицательным переходом, т.е, по окончаний чтения информации с первого канала второго мультиплексора 29 происходит увеличение на единицу кода, присуствующего на выходах 20 первого счетчика 27 импульсов, Таким образом, на выходе первого счетчика 27 импульсов будет коц "01" и при следующем чтении информации из второго блока 24 оперативной памяти 25 будет передан через второй мультиплексор 29 код с его второго канала. Информация с второго, третьего и четвертого каналов второго мультиплексора 29 буцет прочитана аналогичным 30 образом, При пятом обращении к второму блоку 24 оперативной памяти на выходе 93 переполнения первого счетчика 27 импульсов появится сигнал уровня ) , которыи в соответствии с (11) произведет начальную установку первого счетчика 27 импульсов и в соответствии с (2) поступит на счетный вход второго счетчика 28 импульсов, увеличивая на единицу код на 40 его информационных выходах, что соответствует следующему адресу обращения к второму блоку 24 оперативнойпамяти.Для корректной интерпретации трас сировочной информации, содержащейся во втором блоке 24 оперативной памяти, в него необхоцимо записывать информацию о глубине очереци команд блока 1. Эта информация формируется на инверсных выхоцах третьего 17, четнертого 18 и пятого 19 триггеров. Функционирование десятого цешифратора 6 описывается следующими ныражениями:о = Х 11 ч Хз ч Хзь (5) У Х ЛХз ЛХЧХ ЛХ ЛХз ЧХзуЛ У 1 Х(одЛ Х 7 Х з Л Х 6 Ч ХХ 1(17)В текущем такте коц на первом 64 и втором 65 входах признака зацания режима сницетельтвует о том, что происхоцило с блоком очереди команд в предыдущем такте. Цикл нины блока 1 длится четыре такта сигнала на выходе 67 генератора имггульсон, В тактах Т 1 и Т 2 каждого цикла шины сигнал на входе 66 строба ацреса имеет уровень "0". Если н течение данного цикла шины происходит выборка иэ памяти кода команды, то сигнал на входе 63 признака выборки команды имеет уровень "0" н течение тактов Т 1, Т 2 и ТЗ. В сецьмом триггере 26 по положительному фронту сигнала на входе 66 строба адреса запоминается значение младшего разряда адреса, который был ныставлен ЭВМ н текущем цикле шины. Задержка, нносимая первым элементом 8 задержки, должна быть минимальной, но больше задержки, вносимой вторым элементом НЕ 36. Учитывая это, сигнал на ныхоце 89 шестого триггера 20 будет иметь низкий уровень в такте Т 4 цикла выборки команды (а не в цикле обращения в память за операндом) н течение времени, пока сигнал на выходе 67 генератора импульсов имеет уровень "0", Появление комбинации сигналов на входах 64 и 65 в такте Т 4 сницетельсгнует о том, что в такте ТЗ блок очереци команд был очищен, Эти сигналы, поступая уровнями 1 на входы третьего элемента И 37, приведут к появлению импульса уровня пОп во втором полув. риоде такта Т 4, который в третий 16, чет" нертый 18 и пятый 19 триггеры запишет единичную информацию, а на их инверсных выходах появится сигнал уровня "0". Согласно формулг (15) состояние третьего триггера7 необходимо изменять на противоположное, если глубину очереци команц надо изменить на : плюс один, если н такте Т 4 цикла выборки команцы была информация об исполнении байта команцы (в этом такте сигнал н первом входе 64 задания режима имел высокий уровень), и минус оиив, если информация об исполнении байта появилась в любом другом такте, В соответствии с (16) состояние четвертого триггера 8 необходимо измс ив гь на противопо

Смотреть

Заявка

4286875, 20.07.1987

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

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

МПК / Метки

МПК: G06F 11/28

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

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

Код ссылки

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

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