Устройство для отладки микропроцессорной системы
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1453408
Автор: Гурчик
Текст
18 а логическая единица на выходе 36устроиства, как и в предыдущем случае, подключает разъем эмулируемогомикропроцессора к шинам ЭВМ. Таким образом, монитор имеет доступ к любой ячейке ЗУ как ЭВМ, так и отлаживаемой системы. Следовательно, с помощью предлагаемого устройства может быть исследовано все адресное пространство ЗУ эмулируемого микропроцессора,Пусть оператор задал инструкцию монитора, содержащую доступ к УВВ отлаживаемой системы. В этом случае монитор также освобождает место под свой рабочий фрагмент в ОЗУ ЭВМ, генерирует рабочий фрагмент и передает ему управление . Рабочий фрагмент в этом случае содержит необходимые команды ввода-вывода, а не об- . мена с ЗУ. Возникает состояние ОБМЕН, на выход 15 блока 7 начинает поступать логическая единица, которая разрешит работу блока 18 памяти и через элемент НЕ 30 запретит УВВ ЭВМнезависимо от адреса обмена и разрешит УВВ пользователя, если таковыеимеются. Если УВВ пользователя нет,то блок 18 памяти предварительно программируется так, что любой цикл,содержащий ввод-вывод, вызывает срабатывание блока 18 памяти,.что подключает к ЭВМ разъем эмулируемогомикропроцессора. Если УВВ пользователя в ЭВМ есть, то блок 18 памятипрограммируется так, чтобы исключитьсрабатывание блока 18 памяти по адресу, по которому выбирается УВВ ЭВМ.Таким образом, независимо от адресаУВВ, монитором исследуются как любыеУВВ отлаживаемой системы, так ипользовательские УВВ, если они установлены в ЭВМ,Программа пользователя может содержать любые коды рестарта, в томчисле и код, совпадающик с кодом,генерируемым формирователем 22, Действительно, если в программе встретится данный код рестарта, то, еслив блоке 13 не указан данный адрескак адрес прерывания отладки, блок13 не сработает и состояние МОНИТОРне восстановится. Следовательно, поданному коду рестарта будут выполнены действия, определяемые программойпользователя, но не монитора . 1453408Устройство нормально функционирует даже тогда, когда все адресное пространство ЗУ принадлежит не ЭВМ, а отлаживаемой системе, Зоны ЗУ при- .Э 5 надлежащие отлаживаемой системе укаР зываются оператором специальным инотрукциями монитора и записываются в рабочее ЗУ монитора.Пусть оператором задана инструк О ция монитора, содержащая доступ к адресу, который не маскируется ресурсами монитора, но не принадлежит ЭВМ, Перед действиями по доступу к такому адресу монитор программирует 15 блок 18 памяти так, чтобы исключить заем зон ЗУ у отлаживаемой системы, совпадающих по адресам с ресурсами монитора. Непосредственно перед доступом монитора программно устанав О ливается логическая единица на третьем выходе второго регистра 20, что через элемент ИЛИ 21 разрешает работу блока 18 памяти. В цикле доступа блок 18 памяти срабатывает, на его 25 выход поступает логическая единица, которая через элемент ЗЛПРЕТ 23 поступает на выход 36 устройства, что подключит разъем эмулируемого микропроцессора к шинам ЭВМ с одновремен О ным запретом доступа к ОЗУ ЭВМ через элемент НЕ 33. По окончании цикла доступа третий выход регистра 20 . программируется в нуль, что запрещает работу блока 18 памяти, В течение35 описанных действий блок 7 оставался в состоянии МОНИТОР.Пусть теперь оператором задана инструкция монитора, содержащая доступ к адресу, маскируемая ресурсами монитора и не принадлежащему ЭВМ. Перед генерированием рабочего фрагмента монитором блок 18 памяти программируется так, чтобы исключить заем зоны рабочего фрагмента, В от 45 личие от предыдущего случая третий выход второго регистра 20 не программируется в единицу. После передачи управления рабочему фрагменту возникает, как это описано, состоя О ние ОБМЕН, йа первый выход 15 блока 7 поступает логическая единица и через первый элемент ИЛИ 21 разрешает срабатывание блока 18 памяти во время цикла доступа к заданному адре 55 су. При этом ресурсы монитора предварительно запрещены через элемент НЕ 25 по линии 34, ОЗУ ЭВМ запрещено через элемент НЕ 33 по линии 35формул а 5 19 14из обре тения 1. Устройство для отладки микропроцессорной системы, содержащеемультиплексор, дешифратор обращений,формирователь кода рестарта, блокрегистровой памяти, первый и второйрегистры, первую и вторую группыэлементов НЕ и блок сравнения кодов,причем первый и второй информационные входы мультиплексора являютсявходами устройства для подключенияк шинам соответственно адреса и данныхотлаживаемой микропроцессорной системы, информационный вход дешифратора обращений подключен к входу устройства для подключения к шине адреса управляющей вычислительной системы, первый и второй управляющиевходы дешифратора обращений подключены к входам устройства для подключения к линиям соответственно записи и чтения ввода-вывода управляющей вычислительной системы, информационный вход первого регистра подключен к входу-выходу устройства дляподключения к двунаправленной шинеданных управляющей вычислительнойсистемы, вход записи первого регист" ра соединен с первым выходом дешифратора обращений, выход формирователя кода рестарта подключен к входу-выходу устройства для подключенияк двунаправленной шине данных управляющей вычислительной системы, первый информационный вход блока сравнения кодов соединен с выходом пер вого регистра, второй информационный вход блока сравнения кодов соединен с выходом мультиплексора, информационный выход блока сравнения кодов подключен к входу-выходу устройства для подключения к двунаправленной шине данных управляющей вычислительной системы, вход разрешения .чтения блока сравненИя кодов соединен с вторым выходом дешифратора обращений, выход сравнения блока сравнения кодов соединен с входом форми;рователя кода рестарта, первый, второй и третий стробирующие входы блокасравнения кодов подключены к входамустройства для подключения к линиямсоответственно чтения памяти, за.писи памяти и признака первого цикла команды управляющей вычислительнойсистемы, вход записи блока регистровой памяти соединен с третьим выхо 5340820дом дешифратора обращений, информационный и адресный входы блока регистровой памяти подключены к входамустройства для подключения соответственно к двунаправленной шине данных и к шине адреса управляющей вычислительной системы, с первого почетвертый разрешающие входы блокарегистровой памяти подключены к входам устройства для подключения к линиям соответственно чтения памяти,. записи памяти, чтения ввода-выводаи записи ввода-вывода управляющейвычислительной системы, четвертыйвыход , дешифратора обращений соединен с входом записи второго регистра,вход сброса которого подключен к входу инициализации устройства, информационный вход второго регистра подключен к входу-выходу устройства дляподключения к двунаправленной шинеданных управляющей вычислительной системы, выход первого поля второго ре гистра соединен с управляющим входоммультиплексора, выходы элементов НЕпервой группы объединены по схемемонтажного ИЛИ и образуют выход устройства для подключения к первой линии запрета управляющей вычислительной системы, выходы элементов НЕ второй группы объединены по схеме монтажного ИЛИ и образуют выход устройства для подключения к второй линии 35запрета управляющей вычислительнойсистемы, о т л и ч а ю щ е е с ятем, что, с целью упрощения устройства, оно содержит блок определениясостояний, элемент ИЛИ, элемент зап Рета, третью группу элементов НЕ, тпричем вход инициализации блока определения состояний подключен к входуинициализации устройства, стробир.лощий вход блока определения состоянийподключен к входу устройства для подключения к линии чтения памяти управляющей вычислительной системы, первый и второй разрешающие входы блокаопределения состояний соединены соот- БОветственно с выходом второго поля .второго регистра и выходом сравненияблока сравнения кодов, информационныйвход блока определения состояний подключен к входу устройства для подклю.чения к шине адреса управляющей вычислительной системы, выход элементаИЛИ соединен с пятым разрешающим входом блока регистровой памяти, первыйвыход определения блока состояний со-21145 единен с входом первого элемента НЕ первой группы и первым входом элемент ИЛИ, второй вход которого, вход второго элемента НЕ первой группы, вход первого элемента НЕ третьей группы и разрешающий вход блока сравнения кодов соединены с вторым входом блока определения состояний, третий вход элемента ИЛИ соединен с выходом третьего поля второго регистра, выход сравнения блока сравнения кодов соединен с входом третьего элемента НЕ первой группы, входом первого элемента НЕ второй группы и инверсным входом элемента запрета, прямой вход которого соединен с выходом блока регистровой памяти, вход второго элемента НЕ третьей группы соединен с первым выходом блока определения сос" тояний, выходы элементов НЕ третьей группы объединены по схеме монтажного ИЛИ и соединены с третьим управляющим входом дешифратора обращений и образуют выход устройства для подключения к третьей линии запрета управляющей вычислительной системы, выход элемента запрета соединен с входом второго элемента НЕ второй группы и является первым выходом устройства, вторым выходом устройства является второй выход блока определения состояний. 2, Устройство по и. 1, о т л и - ч а ю щ е е с я тем, что блок определения состояний содержит дав дешифратора переходов, три элемента И, четыре элемента ИЛИ и три триггера, причем первые входы первого и второго элементов И соединены со стробиру 340822ющим входом блока определения состоя- а ний, первый вход третьего элементаИ является первым разрешающим входомблока определения состояний, второйвход первого элемента И соединен свыходом первого триггера, вторые входы второго и третьего элементов И соединены с выходом второго триггера, 10 выходы первого и второго элементов. И соединены с разрешающими входамисоответственно первогои второго дешифраторов переходов, информационныевходы которых объединены и соединены 5 с информационным входом блока определения состояний, вход инициализации которого соединен с первыми входами первого и второго элементовИЛИ, второй вход второго элемента ИЛИ 2 О является вторым разрешающим входомблока определения состояний, вькодтретьего элемента И соединен с 8-входом первого триггера и с первым входом третьего элемента ИЛИ, выход ко торого соединен с К-входом второготриггера, второй вход третьего элемента ИЛИ соединен с выходом второго.дешифратора перехода и 8-входом третьего триггера, выходы первого и вто- ЗО рого элементов ИЛИ соединены соответственно с К-входами первого и третьего триггеров, выходы которых являются соответственно первым и вторым выходами блока определения состояний, первый вход четвертого элемента ИЛИ соединен с выходом второгоэлемента ИЛИ, выход первого дешифратора перехода соединен с вторыми входами первого элемента ИЛИ и четверто го элемента ИЛИ, выход которого соединен с Я-входом второго триггера.1453408 Составитель Д.Техред Л.Олийнык хин рректор емч Редактор Н. ТУпиц Заказ 7286/4 одписно 6 Тираж 667ВНИИПИ.Государственного комитета СССРпо делам изобретений и открытий113035, Москва, Ж, Раушская наб., д. 4/5 Проектна Ужгоро роизводственно-полиграфическое предприятиИзобретение относится к техникеавтоматизации разработки микропроцессорных систем и предназначено для использования во внутрисхемных эмуляторах, замещающих в отлаживаемой системе микропроцессор неконвейерной архитектуры с открытой системой шин.Цель изобретения - упрощение устройства. 10На фиг, 1 представлена функциональная схема устройства для отладкимикропроцессорной системы; на фиг.2 -функциональная схема блока определения состояний; на фиг. 3 - функциональная схема блока сравнения кодов;на фиг. 4 - функциональная схема блока регистровой памяти" на фиг. 5схема алгоритма работы устройства.На схеме устройства (фиг. 1) обоз" 20начены: вход 1 инициализации устройства, линия 2 чтения ввода-вывода управляющей вычислительной системы(УВС), третья линия 3 запрета УВС,линия 4 записи ввода-вьвода УВС, адресная шина 5 УВС, линия 6 чтения памяти УВС, блок 7 определения состояний, первый регистр 8, дешифратор 9обращений, шина 10 данньх отлаживаемой системы, адресная шина 11 отлажинаемой системы, мультиплексор 12,блок 13 сравнения кодов, линия 14 записи памяти УВС, первый выход 15 блока определения состояний, второй выход 16 блока определения состояний,линия 17 признака первого цикла команды УВС, блок 18 регистровой памяти, второй выход 19 устройства, второй регистр 20, элемент ИЛИ 21, формирователь 22 кода .рес гарта, элементЗАПРЕТ 23, первая группа 2элементов( 40НЕ первый 25, второй 6 и третий 27элементы НЕ первой группы, третьягруппа 28 элементов НЕ первый 29 ивторой 30 элементы НЕ третьей группы,вторая группа 31 элементов НЕ, пер 45вый 32 и второй 33 элементы НЕ второйгруппы, первая линия 34 запрета УВС,вторая линия 35 запрета УВС, первыйвыход 36 устройства, первый .37 ивторой 38 управляющие входы блокасостояний, шина 39 данных УВС,Блок определения состояний (фиг,2)содержит первый 40, второй 41 и третий 42 элементы И, первый 43 и второй 44 дешифраторы переходов, первый 45, второй 46, третий 47 и четвертый 48 элементы ИЛИ, первый 49,второй 50 и третий 51 триггеры. Блок сравнения кодов (фиг. 3) содержит ключ 52, схему 53 совпадениякодов, элемент ИЛИ 54, элемент И 55.Блок регистровой памяти (фиг. 4)содержит регистры 56.1 ц 56,2 памяти нижних границ зон заема, регистры57.1 и 57.2 памяти верхних границ зонзаема, сумматоры 58. 1, 58.2, 59.1 и59.2, элементы ИЛИ 60.1 и 60.2,элементы И 61.1 и 61.2, элемент ИЛИ62.В качестве управляющей вычислительной системы используется ЭВМ,функциональное назначение структурных компонент следующее, К входуинициализации устройства подключена линия инициализации ЭВМ, она устанавливает ЭВМ в состояние, при котором ее системный монитор-отладчикначинает свою работу, т.е, послеинициализации процессор ЭВМ обращается к началу программы монитора,записанной в постоянном запоминающем устройстве (ПЗУ) ЭВМ.Линия 2 чтения устройства вводавывода (УВВ) активна, если на шине 5адресов установлен стабильный адресУВВ, который читается или будет читаться процессором ЭВМ .Линия 3 запрета УВВ активна, еслитребуется запретить обращение к УВВ,принадлежащим ЭВМ, поэтому первый 8и второй 20 регистры, блоки 13 и 18являются УВВ, принадлежащими ЭВМ,как выбираемые ее монитором,Линия 4 записи УВВ активна, еслина шине 5 адресов установлен стабильный адрес УВВ, в которое ЭВМ записьвает или будет записьвать информацию.Адресная шина 5 служит для передачи адреса запоминающего устройства(ЗУ) или УВВ по магистрали ЭВМ к ееблокам, в том числе к эмулятору и кустройству управления эмулятором.Линия б чтения активна, если нашине 5 адресов находится стабильныйадрес ячейки ЗУ которая читаетсяили будет читаться процессором ЭВМ.Блок 7 определения состояний является основной структурной компонентой устройства, дискриминирующей и зазапоминающей состояния ЭВМ: МОНИТОР,ОБМЕН, РАБОТА,Первый регистр 8 запоминает программируемые в нем монитором условияпрерывания отладки, например, адреса точек разрыва, коды команд, до вы3 14534 полнения которых необходимо узнать состояние отлаживаемой программы или системы и т,д, Разрядность первого регистра 8 может превышать разряд 5 ность шины данных ЭВМ, поэтому он может программироваться в несколько приемов.Шина 10 данных отлаживаемой систе- мЫ является шиной данных эмулируемого 1 О микропроцессора либо подключена к ней через буфеР.Шина 11 адресов отлаживаемой системы является шиной адресов эмулируемого микропроцессора либо подключена к ней через буфер.Шины 10 и 11, если отлаживаемая система физически отсутствует, могут быть подключены к шинам 39 и 5 ЭВМ. При этом работоспособность устройства полностью сохраняется.Мультиплексор 12 подключает к второму информационному входу блока 13 либо шину 10 данных, либо шину 11 адресов отлаживаемой системы. 25Блок 13 сравнивает коды на втором информационном входе и части первого информационного входа; другая часть первого информационного входа определяет типы циклов ЭВМ, в которых может произойти совпадение кодов. Если в текущем цикле заданного типа обнаружено совпадение кодов, то в течение такого цикла на выход блока 13 поступает логическая единица. Нап- .35 ример, если задана точка разрыва, то, если адрес точки разрыва установлен на шине 5 адресов, причем адрес будет стробироваться в этом случае конъюнкцией сигналов чтения ЗУ и приз-40 нака первого цикла команды, то блок 13 сработает. Линия 14 записи ЗУ активна, если на шине 5 адресов находится стабильный адрес ячейки ЗУ, которая читается или будет читаться процессором.Первый выход 15 блока определения состояний активен, если монитору доступна ячейка ЗУ, маскируемая либо ресурсами монитора, либо ресурсами отлаживаемой системы,Второй выход 1 б блока определения состояний активен, если ЭВМ выполняет программу пользователя.55Линия 17 признака первого цикла команды активна, если на шине 5 адресов находится стабильный адрес . ячейки ЗУ, содержимое которой будет 084трактоваться процессором ЭВМ как первый байт команды.Блок 18 регистровой памяти запоми-; нает области адресного пространства ЗУ, которые будут заняты отлаживаемой системой. Выход блока 18 может в течение цикла ЭВМ находиться в состоянии логической единицы при условии, что текущий адрес ЗУ или УВВ не при; надлежит ЭВМ и на пятый разрешающий, вход блока 18 поступает логическая единица.Выход 19 устройства активен, если выполняется программа пользователя. К выходу 19 устройства может быть подключен таймер для прямых замеров быстродействия программ пользователя. При этом прерывания отлад- ки не будут влиять на результаты за., меров, так как при прерывании отлад" ки логическая единица с выхода 19 устройства будет автоматически сниматься. Кроме того, выход 19 устрой ства может использоваться для управ-, ления трассирующим ЗУ, входящим в состав эмулятора или ЭВМ и запоминающим предысторию отладки до ее прерывания с помощью блока 13.Второй регистр 20 является регистУром управления устройством со стороны ЭВМ. В зависимости от состояния первого выхода второго регистра 20 к второму информационному входу бло" ка 13 подключается либо шина 10 данных, либо шина 11 адресов отлаживае-, мой системы. Логической единицей, поступающей с второго выхода регистра 20, блок 7 может быть переведен в состояние ОБМЕН с отключением ресур- сов монитора. Логической единицей на третьем выходе второго регистра 20 программно разрешается через элемент ИЛИ 21 срабатывание блока 18, если это не разрешено по другим двум входам элемента ИЛИ 21 от выходов 15 и 16 блока 7.Элемент ИЛИ 21 собирает сигналы, разрешающие по пятому входу разрешения срабатывание блока 18 регистровой памяти. Формирователь 22 кода рвстарта, помещает на шину 39 данных один нз кодов рестарта, зарезервированных в ЭВМ для обработки прерываний отладки программы, если на вход формирователя 22 поступает логическая единица.408 6Первый выход 36 устройства находится в состоянии логической единицы, если в текущем цикле работы ЭВМ процессор обращается по адресу, принадлежащему отлаживаемой системе.На первый вход 37 блока 7 рабочим фрагментом монитора ЭВМ помещается логическая единица, что вызывает активность выхода 15 блока 7 состояний и отключение ресурсов монитора (его ПЗУ и рабочего ЗУ).На второй вход 38 блока 7 состояний при обнаружении блоком 13 условия прерывания отладки помещается логическая единица, возвращающая блок 7 в исходное состояние.. По шине 39 данных иэ ЭВИ в устройстве поступают данные, необходимые для программирования монитором содержимого первого 8 и второго 20 регистров, блока 18. По шине 39 данных ЭВМ считывает из устройства состояние блока 13 и код рестарта, генерируемый формирователем 22.Элемент И 40 в цикле чтения ЗУ разрешает дешифрацию дешифратором 43 перехода состояния адресной шины 5 ЭВИ, если предварительно установлен первый триггер 49.Элемент И 41 в цикле чтения ЗУ разрешает дешифрацию дешифратором 44 перехода состояния адресной шины 5 ЭВМ, если предварительно установлен второй триггер 50.Элемент И 42 разрешает установку первого триггера 49 и сброс второго триггера 50, если предварительно установлен второй триггер 50.Первый дешифратор 43 перехода срабатывает, если процессор читает последний байт адреса перехода к ПЗУ монитора. Адрес перехода предварительно генерируется монитором в ОЗУЭВИ по фиксированному адресу.Второй дешифратор 44 перехода срабатывает, если процессор перехо-дит к выполнению программы пользова- теля, прочтя последний байт псевдо- регистра "программный счетчик" иэ рабочего ЗУ монитора. 5 1453Элемент ЗАПРЕТ 23 запрещает активность первого выхода 36 устройства .прн прерывании отладки независимо отадреса, при котором происходит пре"рывание.Первая группа 24 элементов НК 25- 27 запрещает ресурсы монитора, еслихотя бы на одном из входов инверторов имеется логическая единица. Последнее возможно если выполняется , челночное обращение по адресу, маскируемому ресурсами монитора, прикотором логическая единица поступа"ет с первого выхода 15 блока 7 на 1 Ввход элемента НЕ 25, или выполняетсяпрограмма пользователя, при которомлогическая единица поступает с выхода16 блока 7 на вход элемент НЕ 26или генерируется коц рестарта формирователем 22, при котором логическая единица поступает с выхода блока13 на вход элемента НЕ 27.Третья группа 28 элементов НЕ запрещает УВВ ЭВМ, если хотя бы на одном из входов элементов НЕ 29 и 30имеется логическая единица. Последнеевозможно, если выполняется челночноеобращение по адресу, маскируемому ресурсами монитора, при котором логическая единица поступает с первоговыхода 15 блока 7 на вход элементаНЕ 30, либо выполняется программа .пользователя, Логическая единица впоследнем случае поступает от выхода16 блока 7 на вход элемента НЕ 29.Вторая группа 3 1 элементов НЕ 32и 33 запрещает ОЗУ ЭВМ, если хотябы на одном из входов элементов НЕ32 и 33 имеется логическая единица.40Это возможно, если бпок памяти трактует текущий адрес ЗУ, как не принадлежащий ЭВИ, но код рестарта формирователем 22 не генерируется, приэтом от выхода элемента ЗАПРЕТ 2345логическая единица поступает на входэлемента НЕ 33, либо генерируетсяформирователем 22 код рестарта, приэтом логическая единица поступает свыхода блока 13 на вход элемента НЕ 32.50Линия 34 запрещает ресурсы монито-;ра в текущем цикле работы процессора ЭВМ, если на линии 34 имеется активный низкий потенциал.Линия 35 запрещает ОЗУ ЭВМ в теку"55щем цикле работы процессора ЭВИ, еслина линии 35 имеется активный низкий потенЦиал,Элемент ИЛИ 45 собирает сигналы с выхода первого дешифратора 43 переходов (первый сигнал) и от линии 1 инициализации ЭВМ (второй сигнал) дпя сброса первого триггера 49.Элемент ИЛИ 46 собирает сигналы от линии 1 инициализации ЭВИ.(первый14534сигнал) и от второго разрешающего входа 38 блока 7 для установки вто рого триггера 50 и одновременного сброса третьего триггера 51.Элемент ИЛИ 47 собирает сигналы от второго дешифратора 44 перехода (первый сигнал) и от первого разрешающего входа 37 блока 7 (второй сигнал) для сброса второго триггера 50. Второй сигнал проходит на сброс второго триггера 50 при условии, что последний предварительно установлен, что обеспечивается третьим элементом И 42.Элемент ИЛИ 48 собирает сигналы: инициализации ЭБМ (первый сигнал, который проходит еще и через третий элемент ИЛИ 47, поступающий от линии 1), управления по второму входу 38 блока 7 (второй сигнал, который также проходит еще и через третий элемент ИЛИ 47), срабатывания первого дешифратора 43 переходов (третий сигнал). Во всех этих случаях 25 устанавливается второй триггер 50.Первый триггер 49 устанавливается программно через первый разрешаю-. щий вход 37 блока 7, если предварительно был установлен второй триггер 50Логическая единица, поступающая на первый выход 15 блока 7, индицирует тот Факт, что монитор посредством своего рабочего фрагмента может иметьдоступ к ячейке ЗУ, адрес которой . маскируется ресурсами монитора. Сброс триггера 49 выполняется автоматически, если рабочим Фрагментом монитора читается последний байт адреса возврата путем перехода к нужному адресу ПЗУ монитора. Сброс первого триггера. 49 также происходит при инициализации ЭВМ (но не отлажь- ваемой системы).Второй триггер 50 устанавливается, если рабочий фрагмент монитора4 Б закончил свою работу, что будет об- . наружено срабатыванием первого дешифратора 43 перехода, если поступит. логическая единица по второму разрешающему входу 38 блока 7, что возможно при попытке записи в заданную зону ЗУ и обнаруживается блоком 13, и если инициализируется ЭВМ. Единичное состояние второго триггера 50 от" ражает то, что ресурсы монитора нормально маскируют ОЗУ ЭВМ, а программа пользователя не выполняется, Вто-, рой триггер 50 сбрасывается, если 08 8сгенерирован рабочий фрагмент и за-. прещаются ресурсы монитора. Для это" го на первый разрешающий вход 37 блока 7 программно подается логическая единица. Второй триггер 50 также сбрасывается, еслй второй дешифратор 44 перехода обнаружил чтение из рабочего ЗУ монитора последнего байта адреса перехода на программу пользователя,Третий триггер 51 устанавливается, если второй дешифратор 44 перехода обнаружил чтейие из рабочего ЗУ монитора последнего байта адреса перехода на программу пользователя. Третий триггер 5 1 сбрасывается, если блоком 13 обнаружены условия прерывания отладки программы, для чего блок 13 подает логическую единицу на второй разрешающий вход 38 блока 7.Ключ 52, если на входе чтения блока 13 установлена логическая единица, подключает состояние информационного выхода схемы 53 совпадения кодов на шину 39 данных ЭВМ. Это позволяет узнать причину совпадения кодов (совпал младший байт, совпали оба байта) с помощью только одного кода рестарта, генерируемого блоком 22.Схема 53 совпадения кодов выпол" няет параллельное поразрядно-побайтное сравнение, например, путем каскадной свертки по модулю 2. На выход схемы 53 совпадения кодов поступает логическая единица, если на ее информационных входах есть поразрядное совпадение в одном байте (операнд - стоп) или в двух байтах (адрес - стоп). Условие совпадения (один или два байта) программируется в регистре 8 и является условием прерывания отладки.Элемент И 55 исключает срабатывание компаратора во время, когда адрес нестабилен, когда текущий адрес не является адресом первого байта кода команды и когда пользовательская программа не работает. Исключение срабатывания компаратора при нестабильном адресе достигается подачей на вход элемента И 55 признака выборки ЗУ, образованного дизъюнкцией сигналов на линиях чтения 6 и записи 14 ЗУ, Исключение прерывания отладки, когда текущий адрес не является адресом первого байта кода команды, необходимо, чтобы исключить подачу кода рестарта при незап 85 адресов таковой действителен и, кроме того, активен дополнительный вход разрешения блока 18 памяти. Это справедливо и для адреса УВВ, но осуществляется вторым подблоком памятиБлок-схема алгоритма работы устройства совместно с ЭВМ представлена на фиг, 5Цифрами обозначены следующие блоки63 - задана директива, содержащая .незамаскированный ресурсами монитора обмен, проверяется, будет ли последний выполнен по адресу, находящемуся в заеме;64 - будет выполняться обмен по адресу, который не маскируется ресурсами монитора, но находится в заеме, поэтому проверяет, не попадают ли его ресурсы в зону заема и при необходимости изменяет содержимое блока памяти так, чтобы исключить такое попадание, затем ца третьем входе элемента ИЛИ 21 монитор устанавливает логическую единицу, чем разрешается работа блока 18 памяти без участия блока 7;65 - изменение границ;66 - выполнение директивы, не содержащей обмена, либо содержащей обмен с незамаскированным адресом;67 - на ЭВМ нажимают кнопку 1 11Сброс , при этом активизируется линия 1 инициализации устройства, триггеры 49 и 5 1 сбрасываются, а триггер 50 устанавливается в единицу;68 - монитор выполняет инициализацию ЭВМ и очищает регистры 8 и 20 устройства и переходит к ожиданию директив. В этом состоянии на выходах .15 и 16 блока 7 находятся нули, на третьем входе элемента ИЛИ 21 на-ходится логический нуль, следователь" но, работа блока 18 памяти запрещена нулем на пятом разрешающем входе. Работа блока 13 запрещена нулем на выходе 6 блока 7. Заемы памяти у от" лаживаемой системы невозможны;69 - диспетчер монитора скинирует консоль и ждет полного ввода директивы. Пока последняя не введена, переход к .блоку 70 невозможен;70 - проверяется, является ли введенная директива передачей управления программе пользователя;71 - директива не передает управления программе пользователя, проверяется, содержит ли введенная директива обмен с ячейкой ЗУ или УВВ; 14534 вершенной очередной команде. Исключение срабатывания блока 13 при неработающей программе пользователя необходимо для исключения случайного вмешательства заданных условий пре 5 рывания программы в работу системного монитора.В регистрах 56.1 хранения нижней границы занимаемой зоны ЗУ записывается старший байт адреса (или сам адрес в зависимости от разрядности регистра хранения), начиная с которого адреса, генерируемые микропроцессором ЭВМ, последней не принадлежат. В регистре 57.1 хранения верхней границы занимаемой эоны ЗУ записывается старший байт адреса (или сам адрес в зависимости от разрядности регистра хранения), начиная с ко торого адреса, генерируемые микропроцессором ЭВМ, последней не принадлежат. В регистре 57. 1 хранения верхней границы занимаемой зону ЗУ записывается такая же информация об 26 адресе, начиная с которого адреса, генерируемые микропроцессором ЭВМ, принадлежат последней.Выходы сумматоров 58.1, 59,1, 58.2 и 59.2 являются выходами переноса и имеют один разряд. На выход сумматора 58.1 поступает логическая еди- ница, если на шине 5,адресов установлен адрес ЗУ, величина которого равна или превышает нижнюю границу заема, Аналогично на выход сумматора 59. 1 поступает логическая единица, если на шине 5 адресов установлен адрес ЗУ, величина которого равна или меньше верхней границы заема. Чтобы40 сумматоры вычитали, в соответствующих регистрах программируется значение границ в дополнительных кодах. Поскольку выходы пары сумматоров соединены с первыми двумя входами элемента И 61.1, необходимым условием45 появления на выходе элемента И 61.1 логической единицы является попадание текущего адреса ячейки ЗУ между запрограммированными границами либо равенство одной из границ.Элемент ИЛИ 60.1 исключает случайную генерацию условия заема эоны ЗУ, если установленный на шине адрес ЗУ нестабилен, либо на шине 5 находится адрес УВВ. Следовательно, на выходе элемента И 61.1 появится сигнал заема адресного пространства ЗУ у отлаживаемой системы, если на шине72 - диерктива содержит обмен, например, необходимо заменить содержимое ячейки или порта, проверяется, не замаскирован ли адрес ресурсами монитора;73 - адрес, по которому будет обмен, замаскирован ресурсами монитора, следовательно, необходимо генерировать рабочий фрагмент (РФ), про" 10 веряется, не будет ли находиться участок ОЗУ с РФ в заеме во время выполнения Рф;74 - участок, где будет генерироваться Рф, находится в заеме у отла живаемой системы, необходимо исключить этот заем, поскольку не известно, что в этом участке отлаживаемая система имеет (и имеет ли вообще) исправное ОЗУ, Блок 18 памятипере программируется так, чтобы исключить заем участка РФ, для этого верхняя или нижняя граница в блоке 18 памяти сдвигается соответствующим образом; 2575 - генерируется РФ и передаетсяему управление;76 - выполняется РФ. Выполнение РФ начинается с подачи логической единицы на линии 37 устройства путем З 0 соответствующего программирования . второго регистра 20. Триггер 51 устанавливается, а триггер 50 сбрасывается. Возникает состояние ОБМЕН, Работа блока 13 запрещена, а работа блока 18 памяти разрешена. При обмене с ячейкой ЗУ, есди адрес ее находится в заеме, блок 18 памяти срабатывает. Поскольку элемент ЗАПРЕТ 23 не блокирует линию 36, то происходит 40 обмен по адресу, который относится к отлаживаемой системе. Одновременно по адресу, относящемуся к ЭВМ, ничего не изменяется, так как он блокирован через элемент 33 и линию зап рета ЗУ. Если адрес не находится в заеме, то наоборот, процессор ЭВМ по-, лучает доступ не к ЗУ отлаживаемой системы, а к ЗУ ЭВМ. Выполнение Рф 1 кончается чтением адреса возврата к некоторому адресу монитора. Последний постоянен и не зависит от директивы содержащей обмен. При чтении последнего байта адреса возврата срабатывает дешифратор 43 блока 7, чем сбрасывается триггер 49 и устанавливается триггер 50, т.е. возвращается состояние МОНИТОР к моменту чтения кода команды из ПЗУ монитора; 77 - проверяется, был ли перепрог.раммирован блок 18 памяти. Если да,то исходное содержимое восстанавливается и управление передается диспетчеру 69 монитора;78 - директива содержит передачууправления программе пользователя,проверяется, задавались ли в директиве условия прерывания отладки;79 - будет прерывание отладки,загружаются условия в регистр 8 устройства;180 - пуск программы пользователя,Предварительно в псевдорегистр программный счетчик", находящийся в рабочем ОЗУ монитора, загружаетсястартовый адрес программы пользователя, который может быть любым. Адреспсевдорегистра и программный счетчик постоянен. При чтении последнего байта этого псевдорегистра срабатывает дешифратор 44, триггер 50сбрасывается, а триггер 51 устанавливается. К моменту обращения процессора к стартовому адресу устанавливается состояние РАБОТА, на линию16 поступает логическая единица, налинии 15 сохраняется логический нуль.Это разрешает работу блока 13 и блока 18 памяти,В тех циклах, где текущий адреспринадлежит не ЭВМ, а отлаживаемойсистеме, контакты разъема эмуляторабудут подключаться к соответствующим шинам ЭВМ при незапрещенных срабатываниях блока 18 памяти. Такогоподключения не произойдет, если блок13 в текущем цикле обнаружит условияпрерывания отладки, так как сработает элемент ЗАПРЕТ 23. Одновременно вместо очередного первого байтакоманды пользовательской программына шину 39 данных блок 22 поместиткод рестарта, а в конце цикла посредством линии 38 триггер 50 установится, а триггер 51 сбросится. Процессор прочтет этот код рестарта и передаст согласно ему управление монитору. Выполнение программы 81 прекратится;82 - обработчик прерывания отладки, на который по коду рестарта перейдет монитор. При выполнении рестарта из микропроцессора ЭВМ содержимое рестарта программного счетчикаизвлекается и помещается в упомянутый псевдорегистр "программный счетчик", Далее извлекаются все регист 1453408ры общего назначения. Обработка пре" рыдания отладки завершается переходом к диспетчеру монитора., Если был установлен флаг трассировки, то цепочка о 9,72 повторяется на консоли отображается трасса с состоянием регистров микропроцесссра, а устройство управления эмулятором подцерживает этот процесс.Таким образом блок 76 вьпюлняется в состоянии ОБМЕН блок 81 выполняется в состоянии РАБОТА, остальные блоки выполняются в состоянии МОБИ; ТОР.Устройство работает следующим об- разом.Для того, чтобы текупущ цикл работы ЗВИ стал циклом работы отлаживаемой системы, необходимо, чтобы для адреса, .зыставляемогс З.ВМ, ресурсы ЭВМ были бы запрещены, а на выход Зб устройства поступила бы логическая сдиница, разрешающая подключение шин ЭВИ к разъему микропроцессора отлаживаемой системы.В то же время, с точки зрения пользователч система ЗВМ - эмуля- тор может находиться в трех упомяну.ых сосгочниях; МОНИТОР, ОБМЕН РА БОТАВ состоянии МОНИТОР процессор работэ" Р 113тл 1. раба чи 1,монитога и ему доступны немаскируемые песурс .".г.опшо в ипи отлвжь в немой с:ястемой пользовательские ресурсы ЗВМ, ,. оследние представляют собой ОЗУВИ. перекрывающее все прямоадресуе" мое (ространство и ряд УВВ адреса которых могут изменяться например, микропереключателями. В состоянии МОНИТОР ресурсы монитора маскируют ОЗУ =ЛИ с помощью системной ли- нии ЗВМ ЗА 1 РЕТ ОЗУ. а. пользовательские УВВ (но не УВВ монитора) запрещены пассивностью системой линии ЗАПРЕТ УВВ, 11 ользовательские УВВ, таким образом, могут со:зчадать по адресам с УВВ ЗВМ. В частном случче пользовательские УВВ могут отсутст-. вовать, но тогда отлажи 1 заемая система должна их иметь. В со таянии МОНИТОР ЭВМ выполняет сервисныефункции, например, считывает сектор диска. в рабочее ЗУ монитора, сканиэует клавиатуру консоли вь 1 водит сим вол на дисплей, ждет инс.рукций и г.д. В состоянии МОНИТОР ЗВМ может гакже выполнять обмен по адресу ее ресурсов, который не маскируется ресурсами монитора или отлаживаемой системой.В состоянии ОБМЕН ЗВМ получает доступ к адресу, который не доступен в состоянии МОНИТОР, например, этот адрес маскируется ресурсами монитора. Доступ обеспечивается следующим образом. Если адрес к которому необходим доступ, маскируется ресурсами монитора, что монитор определяет самостоятельно, то в некоторой зоне ОЗУ ЗВИ монитором генерируется собственный рабочий Фрагмент, Предварительно исходное содержимое зонь, рабочего Фрагмента копируется монитором в свое рабочее ЗУ Если зона рабочего фрагмента занята ЗУ отлаживаемой системы .то монитором так изменяется содержимое блока 18 памяти чтобы исключить заем отлакиваемой системой зоны рабочего фраг 1 ента у ЗВМ, Далее упразление передается рабочему фрагменту который содержит необходимые команды для подачи логической единицы на первьп вход 37 блока 7. Поскольку в состоянии МОНИТОР триггер 50 был установлен, то логическая единица пройдя через элемент И 42, установит первый триг" гер 49 и сбросит второй триггер 50. Выполнив необходцмьнй обмен, процессор читает из рабочего фр"гмента ад. - рес возврата к ПЗУ монитора, что восстанавливает ссстояние ИОНИТОР,.В состоянии ОБМЕН первый триггер 49 установлен, на первый выход 15 блока 7 поступает логическа.ч единица, которая через элемент НЕ 25 апрещает ресурсы монитора активнос-.ью линии 34 запрета ресурсов монитора. Одновременно эта же логи в еск единица вазрешает через элмен". И.,ТИ 21 выдачу решения бгоком 18 пакости, принадлежит или нет адрес, к которому производится доступ в состоянии ОБМЕН отлаживаемай истемс , .Если принадлежит то через э;."змент ЗАПРЕТ 23 блок 18 памяти на выход Зо устройства выдает логическую единьпу, разрешающую доступ к разъему ;икропроцессора отлаживаемой систеил. Если не принадлежит, то в течение всей работы фрагмента на выход 36 устрсйства не поступит логическая единица, так как блоком 18 памяти рабочий фрагмент исключен из зоны ЗУ, зани:маемой у отлаживаемой системы.5 14534 В состоянии РАБОТА выполняется программа пользователя, В состоянии РАБОТА система ЭВМ - эмулятор переходит из состояния МОНИТОР, когда на входе элемента И 4 имеется логичес 5 кая единица, поступающая с выхода второго триггера 50. При чтении процессором из рабочего ЗУ монитора последнего байта адреса перехода к прог- О раиме пользователя срабатывает второй дешифратор 44 перехода, срезом импульса с его выхода триггер 50 сбрасывается, а триггер 5 1 устанав-. ливается. С этого момента состояние 6 РАБОТА является активным, а все три элемента И 40-42 запрещены логическими нулями на вторых входах. Поэтому программа пользователя йе влияет на состояние блока 7 состояний. 20 До входа в состояние РАБОТА монитором по данныи своего рабочего ЗУ программируется блок 18 памяти. До входа в состояние РАБОТА, т.е. в состоянии МОНИТОР, работа блока 18 па мяти запрещена по разрешающему входу. При входе в состояние РАБОТА, так: как устанавливается третий триггер 51, на первый выход 16 блока 7 начинает поступать логическая единица, 30 сохраняющаяся в течение состояния РАБОТА, вторая через элемент ИЛИ 21 . разрешает работу блока 18 памяти, Поэтому в тех циклах, когда адреса, с которыми работает программа пользоЗб вателя, принадлежит отлаживаемой системе, на выходе блока 18 памяти и соответственно выходе элемента ЗАПРЕТ 23 и выходе 36 устройства будет возникать логическая единица. Последняя периодически подключает отлаживаемую систему к эмулятору с одновременным запретом ОЗУ ЭВМ через элемент НЕ 33 по линии 35 запрета ОЗУ, а также запретом ресурсов монитора 4 Б через элемент НЕ 26 по линии 34. В течение всего состояния РАБОТА УВВ .: ЭВМ запрещается по линии через элемент НЕ 30 от второго выхода 16 бло.ка 7. Пользовательские УВВ, если они есть, при этом разрешены, При отсутствии пользовательских УВВ работают УВВ отлаживаемой системы, УВВ ЭВМ при этом также запрещены. Выход, из состояния РАБОТА возможен при иниБб циализации ЭВМ, а также при обнаружении блоком 13 условия прерывания .отладки, так как работа блока 13 в состоянии РАБОТА разрешена по пято 08 36му входу от второго выхода 16 блока 7.Если блок 13 в текущем цикле обнаруживает прерывание отладки, например точку разрыва, то в течениеэтого цикла элементом ЗАПРЕТ 23 запрещается присоединение шин отлаживаемой системы к ЭВМ, продолжаетсязапрет ОЗУ ЭВМ, но теперь не через,элемент НЕ 33, а через элемент НЕ 32,третий триггер 51 сбрасывается, прекращается состояние логической единиВцы на второй выходе 16 блока 7 и втором выходе 19 устройства, прекращается запрет ресурсов монитора по линии34 через элемент НЕ 26, удерживаетсяв течение данного цикла запрет ресурсов монитора через элемент НЕ 27,формирователем 22 генерируется кодрестарта. Очевидно, что шинных конфликтов при этом не возникает. Начало генерирования кода рестарта является окончанием состояния РАБОТАи возвратом к состоянию МОНИТОР. Кодрестарта читается процессором и впоследующих циклах работы в состоянииМОНИТОР иэ микропроцессора ЭВМ программно извлекается вся интересующаяоператора информация о состояниипроцесса отладки,Таковы особенности состояний системы ЭВМ - устройство - эмулятор.Рассмотрим динамику состояний устройства . Инициализация устройства производится подачей логической единицы на вход 1 инициализации устройства одновременно с инициализацией ЭВМ. При подаче импульса инициализации выходы 15 и 16 блока 7 принимают нулевоесостояние, одновременно очищается . второй регистр 20, поэтому ни на одном из вХодов элемента ИЛИ 21 нет логической единицы и, следовательно, работа блока 18 памяти, независимо от его содержимого, запрещена. Работа блока 13 при этом также запрещена нулем на втором выходе 16 блока 7. Следовательно, ни одна из линий 3, 34 и 35 соответственно запрета УВВ ЭВМ, запрета ресурсов монитора, запрета ОЗУ не является активной со стороны устройства, а выход 36 устройства также пассивен. Поэтому сразу пос" ле инициализации отлаживаемая система отключена от шин ЭВМ, а ресурсы . монитора нормально маскируют ОЗУ ЭВМ.
СмотретьЗаявка
4181364, 12.01.1987
ЗАПАДНЫЙ ФИЛИАЛ ВСЕСОЮЗНОГО НАУЧНО-ИССЛЕДОВАТЕЛЬСКОГО ТЕПЛОТЕХНИЧЕСКОГО ИНСТИТУТА ИМ. Ф. Э. ДЗЕРЖИНСКОГО
ГУРЧИК МИХАИЛ ЕВГЕНЬЕВИЧ
МПК / Метки
МПК: G06F 11/30
Метки: микропроцессорной, отладки, системы
Опубликовано: 23.01.1989
Код ссылки
<a href="https://patents.su/14-1453408-ustrojjstvo-dlya-otladki-mikroprocessornojj-sistemy.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для отладки микропроцессорной системы</a>
Предыдущий патент: Сигнатурный анализатор
Следующий патент: Устройство для контроля лоических блоков
Случайный патент: Захват для группы грузов формы тела вращения