Устройство для отладки программ

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

Автор: Ядыкин

ZIP архив

Текст

Комитет Российской Федерации по патентам и товарным знакам ЗОБРЕТЕН(54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ(57) Изобретение относится к вычислительной технике и предназначено для автоматизированной отладки программного обеспечения мультимашинныхсистем, работающих в реальном масштабе времении имеющих общую память. Устройство содержитблох 1 памяти, селекторы 2 - 4 адреса, мультиплексор 5 страниц, мультиплексор 6 адреса, мультиплексор 7 кода операции, мультиплексор 8 даннымиблок 9 приоритетов, блох 10 синхронизации, регистры 11 - 13 хранения, адресные входы 14 - 16,ститут И ЬЭ опислнК ПАТЕНТУ(Я) Б О Об Г 11 28 входы-выходы 17 - 19, входы 20 задания размера страницы, входы 21 - 23 задания адреса страницы, выходы 27 - 29 ответа, входы 30 - 32 запроса.на обмен, выход 36 сигнала начала операции, выход 37 сигнала конца операции, выход 38 сигнала сброса выход 39 сигнала фронта, группа выходов 45 приоритета, выход 46 приема данных вход 48 начальной установки Блок 9 приоритетов включает триггеры запроса и триггеры ответа Предлагаемое устройство работает совместно с отладочной ЭВМ, при этом по всем каналам организован асинхронный обмен в соответствии с интерфейсом ОБЩАЯ ШИНА. Устройство позволяет ускорить процесс отладки и повысить достоверность контроля за счет частичного совмещения работы двух каналов в возможности введения заданной длительности обмена по каналам 1 табл, 8 ил..Юрчикона КО КТО ТЫЛ ОДОиСнОВ аказ 317 ОиСк ПЭТВнт ад, ул.Г Г,13035. Москва. ЖЗБОДСт БР 1. 110-и ЗДЗ тйл 6 С киЙ РаСпатЕнташскал наб 4/5Изобретение относится к вычислительной технике и может быть использовано приавтома 1 изированной отладке программного обеспечения мультимашинных систем,работающих в реальном масштабе времении имеющих общую память,Целью изобретения является расширение функциональных возможностей устройства за счет обеспечения возможностиотладки программного обеспечения мультимашинных систем, работающих в реальноммасштабе времени,На фиг. 1 приведена функциональнаясхема устройства; на фиг. 2 - принципиальная схема блока приоритетов; на фиг, 3 -схема селектора адреса; на фиг. 4 - схемамультиплексора страниц; на фиг. 5 - схемаблока регистров данных; на фиг, б - схемаблока синхронизации; на фиг, 7 и 8 - временная диаграмма работы устройства,Устройство содержит блок 1 памяти, селекторы 2 - 4 адреса, мультиплексор 5 страниц, мультиплексор 6 адреса,мультиплексор 7 кода операций, мультиплексор 8 данных, блок 9 приоритетов, блок10 синхронизации, регистры 11-13 данных,адресные входы 14-16, информационныевходы-выходы 17-19, щ-разрядную группувходов 20 задания размера страниц,(п+щ)разрядные группы входов 21 - 23 задания адреса станицы, входы 24-26 кода операции,выходы 27 - 29 ответа, входы 30 - 32 запросана обмен, выходы 33 - 35 сигналов разрешения, выход 36 сигнала начала операции, выход 37 сигнала конца операции, выход 38сигнала сброса, выход 39 сигнала фронта,е-разрядную группу выходов 40 адресастраницы, р-разрядную группу выходов 41адреса, выход 42 кода операции, группу выходов 43 входных данных, группу выходов44 выходных данных, группу выходов 45приоритета, выход 46 приема данных, группу выходов 47 управления памятью, вход 48начальной установки.Блок 9 приоритетов (фиг. 2) содержиттриггеры 49-51 запроса на обмен, триггеры52-54 ответа, элементы И 55-66, элементИ-НЕ 67, переключатели 88,89, формирователи 90, 91 импульсов,Каждый блок 2-4 селектора адреса (фиг.3) содержит первую и-разрядну 1 о 68 и вторую т-разрядную 69 группы элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, гп-разрядную группу70 элементов ИЛИ, элемент И 71,Мультиплексор 5 страниц (фиг, 4) содержит группу из гп-мультиплексоров 72.Блок регистров 11-13 данных (фиг, 5)содержит элементы 73-75, элементы И 7678, элементы 2 ИИ -2 ИЛИ- НЕ 79-81, регисгры 82-84 хранения с тремя состояниями45 50 55 10 15 20 25 30 35 40 на выходе, входы 85-87 управления выходами,Блок 10 синхронизации (фиг, 6) содержит формирователи 92-101 импульсов, элемент И-НЕ 102,Устройство работает совместно с технологической ЭВМ, подключаемой к первому каналу, К второму и третьему каналам подключаются исследуемые вычислительные устройства, Подключение по каждому каналу осуществляется по интерфейсу типа "общая шина", в котором имеются раздельные шины адреса и шины данных. Обмен по каналам выполняется асинхронно: требованием на обмен является сигнал СХЗ (30-32), по окончании выполнения операции (запись или чтение) вырабатывается сигнал ответа СХИ (27 - 29).Блок 1 памяти имеет емкость 2слов. В адресном пространстве каждого канала зона адресов устройства может находиться в любой области, Заданная область страниц определяется старшими и разрядами адреса, Заданная страница в выбранной области определяется последующими разрядами адреса, которые устанавливаются по входам 21-23 для каждого канала независимо, Размер страницы устанавливается по разрядам группы входов 20 в соответствии со следующей таблицей,где а - значение разрядов, подаваемое с входов 14-16 в соответствии с приоритетом,При размере страницы меньше емкости 2 Рслов независимо от номера страницы в заданной области страниц внутри устройства по каждому каналу номер страницы приводится к нулевой странице заданной размерности эа счет обнуления соответствующих старших разрядов группы выходов 40 в соответствии с приведенной таблицей.Селекторы 2-4 адреса предназначены для сравнения адресов, устанавливаемых по каждому каналу по входам 14 - 16 адреса, и сравнения с заданной зоной адресов длякаждого канала, установленной на входах 21-23 задания адреса, с учетом размера страницы. установленной на входах 20, Адрес на входах 21-23 задается в обратномкоде,В соответствли с текущим приоритетом мультиплексорами 5-8 передается информация от соответствующего канала, Мультиплексор 5 передает номер соответствующей страницы, с учетом ее размера, Мультиплексор 6 передает выставленный адрес на странице (р младших разрядов) в выбранном канале, Мультиплексор 7 передает код операции на запись или считывание в выбран. ном канале. Мультиплексор 8 передает5 10 15 20 25 30 35 40 45 50 55 данные с соответствующей группы входов- выходов 17-19.Блок 9 приоритетов обеспечивает бесконфликтный. обмен каналов с блоком 1 памяти, Между каналами установлен относительный приоритет: первый канал имеет высший приоритет, третий канал - низший. В соответствии с запросами 30 - 32 обмена СХЗ и в зависимости от занятости обслуживанием блока 1 памяти блок 9 устанавливает по выходам 45 соответствующий приоритет в унитарном коде, После установления соответству 1 ощего приоритета блок 9 формирует сигнал 36 начала операции, по которому запускается блок 10 синхронизации, кроме того, сигнал Зб запрещает прием новых запросов 30 - 32 на обслуживание до окончания обмена с выбранным каналом. Сброс триггеров 49-51 запросов осуществляется сигналом 38 сброса от блока 10 синхронизации. Прием новых запросов в блок 9 приоритета на триггеры 49 - 51 выполняется по фронту О/1 сигнала 39 фронта, поступающего от блока 10 синхронизации,После выполнения операции формируется сигнал 37 конца операции, по которому устанавливаетсл соответствующий триггер 52-54 ответа, Наличие триггера ответа и введение обратных связей с инверсных выходов триггеров 52 - 54 ответа на входные элементы И 58 - 60 позволяют освобождать устройство до завершения полного обмена по выбранному каналу (снятие сигналов СХЗ и СХИ) и подключение других каналов, например, технологической ЭВМ. Повторное обслуживание данного канала блокируется обратной связью от триггера ответа,Формирователи 90 и 91 импульсов имеют переменную длительность и предназначены для задания времени ответа Тотв, эмулируемой памяти по второму и третьему каналам, Как правило, длительности формирователей должны быть равны.Переключатели 88 и 89 предназначены для отработки занятости и окончания обслуживания устройством другого канала исследуемой системы (положение 1) или без учета окончания обслуживания другого канала(положение 3), Обслуживание по первому каналу - технологической ЭВМ - проводится с минимально возможным временем обслуживания, задаваемым временными диаграммами работы блока 1 памяти,Блок 10 синхронизации вырабатывает управляющие сигналы длл синхронизации работы блока 1 памяти, блока 9 и блока регистров 11-413 данных. Блок регистров 11 - 13 вводится для повышения быстродействия устройства и предназначен длл временного хранения данных в каждом канале при считывании данных из блока 1 памяти. Подключение выходов регистров 11-13 к соответствующим каналам выполняется только при выполнении операции "считывание" и при наличии соответствующего приоритета ПР или сигнала 27 - 29 ответа. В остальных режимах выходы регистров 11-13 находятся в отключенном состоянии,Работа устройства начинается с его начальной установки посредством сигнала 48, подаваемого из технологической (отладочной) ЭВМ. Этот сигнал проходит через элемент И - НЕ 67 и поступает на установочные В-входы триггеров 49 - 51 запроса, переводя их в нулевое состояние. Таким образом, на выходах 45 приоритета устанавливается нулевое состояние, а на выходе 36 начала операции устанавливается единичное состояние, которое разрешает прием сигналов 30-32 запросов в блок приоритетов. Триггеры 52 - 54 ответа при отсутствии сигналов на входах 30-32 запроса также установлены в нулевое состояние.Рассмотрим работу устройства в соответствии с временной диаграммой, приведенной на фиг. 7 и 8,В момент Т 1 времени по первому каналу поступает сигнал на вход ЗО запроса на обмен, который поступает на вход элемента И 58. До этого момента в селекторе 2 адреса проверяется выставленный адрес по входам 14 с адресами заданной зоны по входам 21 и в случае совпадения он формирует разрешающий сигнал 33, который поступает на элемент И 58. Таким образом. сигнал с входа 30 проходит через элемент И 58, поступает на С-вход триггера 49 запроса и устанавливает его в единичное состояние. При этом устанавливается сигнал 45/1 приоритета первого канала и вырабатывается фронт 1/О сигнала 36 начала операции. Нулевой потенциал сигнала 36 запрещает прохокдение других запросов 31, 32 на триггеры 50, 51 запроса. В соответствии с приоритетом ПР 1 мультиплексор 7 коммутирует на вход блока 10 синхронизации код операции от первого канала. На фиг. 7 на выходе 42 мультиплексора 7 устанавливается единичное состояние, соответствующее операции "запись" (нулевое состояние - операция "считывание" ),Фронтам 1/О сигнала по выходу 36 блока 9 приоритетов запускается блок 10 синхронизации, который вырабатывает импульсы для синхронизации работы блоков устройства. С выходов 47 сигнал поступает в блок 1 памяти и управляют процессом записи. Записываемые данные поступают с вины 17 данных первого канала через мультиплексор 8 на информационные входы бло 2002299ка 1 памяти, Далее формируется сигнал по выходу 46 приема данных. поступающий через элемент И 76 на С-вход регистра 82, по которому осуществляется запись информации с выходов 44 блока 1 памяти. Однако так как на входе 24 кода операции установлена единица, то она, пройдя через элемент НЕ 73, на выходе элемента 2 ИИ - 2 ИЛИ-НЕ 79 устанавливается также единичное состояниее, которое поступает на вход 85 управления выходом регистра 82 и поддерживает выход в третьем состоянии.По окончании временной диаграммы процесса записи формируется сигнал 37 конца операции, который поступает на элементы И 61-63, но проходит только через элемент И 61, так как установлен приоритет ПР 1.По фронту О/1 сигнал 37 первый триггер 52 ответа устанавливается в единичное состояние и в первом канале формируется сигнал 27 ответа (момент ТЗ времени), сообщающий об окончании операции, По этому сигналу в первом канале сбрасывается сигнал 30 запроса (момент Т 5 времени), ло которому устанавливается в нулевое состояние триггер 52 ответа и сбрасывается сигнал 27 ответа (момент Т 5 времени). Таким образом. обслукивание запроса 30 на обмен, выставленное в момент Т 1 времени, будет закончено в момент Т 6 времени.Однако после сигнала 37 конца операции блок 10 синхронизации формирует сигналы сброса 38 и фронта 39. Нулевое состояние сигнала 38 сбрасывает триггер 49 запроса и снимает приоритет ПР 1, При этом нулевое состояние сигнала 39 запрещает прохождение запросов 30-32 на триггера 49-51,В момент Т 2 времени по третьему каналу был выставлен запрос 32 на обмен. до этого проверен адрес по входам 16 на соответствие зоне адресов по входам 23 в селекторе 4 адреса и установлен сигнал разрешения. но этот сигнал не проходит на С-вход триггера,51, так как в нулевом состоянии последовательно находятся сигнал 36 начала операции и сигнал 39 фронта. В момент Т 4 времени формируется фронт О/1 сигнала 39 фронта, который разрешает прохождение через элемент И 60 сигнала 32 на С-вход триггера 51, который устанавливается в единичное состояние. При этом на выходе элемента И 56 устанавливается единичное состояние, т.е, приоритет ПРЗ третьего канала, и вырабатывается сигнал 36 начала операции, Таким образом, уже началось обслуживание. следующего запроса, хотя еще не окончено обслуживание первого канала,5 10 15 20 25 30 35 40 45 50 55 Мультиплексор 7 коммутирует на выход 42 сигнал 26 кода операции третьего канала, так как установлен приоритет ПРЗ. Фронтом 1/10 сигнала запускается блок 10 синхронизации на выполнение опсрации "считывание" (на фиг,7 пунктиром показано для записи), Кроме того. так как выполняется считывание и установлен приоритет ПРЗ, то сигнал 26 пройдя через элементы НЕ 75 и 2 ИИ - 2 ИЛИ - НЕ 81, на входе 87 управления выходом регистра 84 устанавливает нулевое состояние, по которому выходы регистра 87 подключаются к двунаправленным входам-выходам 19 третьего канала. Однако при этом в шину данных передается предыдущее состояние регистра, так как операция "считывание" еще не выполнена.Сигнал 46 приема данных через элемент И 78 поступает на С-вход регистра 84 хранения, по которому осуществляется зались считанных данных с выходов 44 в регистр 84 и передача в шину 19 данных, так как на входе 87 поддерживается нулевое состояние. Таким образом, считанные данные поступают в третий канал и формируется сигнал 37 конца операции, по которому переключается в единичное состояние триггер 54 ответа (момент Т 7 времени),Однако на выходе 29 элемента И 66 сигнал ответа еще не вырабатывается, так как в течение времени Тот на выходе формирователя 91 поддерживается нулевое состояние, Время То устанавливается в соответствии с реальным временем ответа для эмулируемой памяти, Поэтому сигнал 29 ответа в третий канал вырабатывается в момент Т 10, а заканчивается обслуживание третьего канала в момент Т 11. Выход регистра 84 подключается к шине 19 данных в течение интервала Т 4-Т 11 времени,Кроме того, при обслуживании третьего канала в момент Т 8 времени выставлены запросы 30, 31 в момент на обслуживание первого и второго каналов. Однако, они не поступают на триггеры 49 и 50 до подачи сигнала 38 сброса и единичного сигнала 39 фронта.В момент Т 9 времени по фронту О/1 сигнала 39 триггер 49 устанавливается в единичное состояние, а триггер 50 остается в нулевом состоянии, если переключатель 89 находится в положении 1, так как через элемент И 59 запрещено прохождение сигнала связью с инверсным выходом триггера 54 ответа (или триггер 50 переключается в единицу, если переключатель 89 находится в положении 3). Далее проводится выполнение операции "считывание" в первый канал. которая заканчивается в момент Т 14. При этом выход регистра 82 подключаегся к ма2002299 10 Продолжение таблицы гистрэли 17 данных в течение интервала Т 9-Т 14 времени за счет управления по входу 85.В момент Т 13 времени триггера 50 запроса обмена устанавливается в единичное состояние и начинается обслуживание запроса на считывании во второй канал. К моменту Т 15 времени формирователь 90 разрешает выработку сигнала 28 ответа, Однако этот сигнал вырабатывается только в момент Т 16 времени после переключения в единичное состояние триггера 53 ответа. Заканчивается обслуживание второго канала в момент Т 18 времени.В момент Т 17 времени формируется фронт О/1 сигнала 39 фронта. который разрешает прием сигналов по входам 30 - 32 в триггеры 49 - 51. Однако запросы отсутствуют и устройство остается в режиме ожидания.В момент Т 19 времени поступает запрос 32 по третьему каналу, который устройством будет обслужен уже к моменту Т 20 времени, но сигнал 29 ответа будет выработан с учетом времени ответа Тое, задаваеФормула и зоб ретен и я УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММ, содержащее блок памяти, два регистра данных, блок синхронизации и блок приоритетов, в состав которого входят два О-триггера запроса, два элемента И, два формирователя импульсов и элемент И - НЕ, причем группа выходов блока памяти соединена с группами информационных входов первого и второго регистров данмого Формирователем 91, только в моментТ 22 времени, а закончен обмен с третьимканалом только в момент Т 23 времени,С момента Т 21 времени устройство на 5 ходится в режиме ожидания запросов наобмен. хотя в зто время продолжается обмен с третьим каналом,Таким образом, устройство обеспечивает доступ к памяти со стороны технологиче 10 ской ЭВМ как для загрузки информации,необходимой для проведения отладки программы, так и для контроля содержимого сцелью управления процессом отладки, Такая органиэация устройства позволяет осу 15 ществлять отладку программногообеспечения в диалоговом режиме при моделировании с реальной аппаратурой в реальном масштабе времени, а такжеускорить процесс отладки.20(56) Авторское свидетельство СССРМ. 1287167, кл. 6 06 Г 13/16, 1985.Авторское свидетельство СССРЛЬ 951314, кл. 6 06 Р 11/28, 1980,ных, выходы которых подключены к первой и второй группам информационных двунаправленных входов-выходов устройства, блок синхронизации группой выходов соединен с входами выбора кристалла и записи блока памяти, в блоке приоритетов 30 инверсный выход первого О-триггера запроса подключен к первым входам первого и второго элементов И, вторые входы которых соединены соответственно с прямым и инверсным выходами второго О-триггеразапроса, отличающееся тем, что, с целью расширения функциональных возможностей устройства за счет обеспечения отладки программного обеспечения мультимашинных систем, работающих в реальном масштабе времени, в устройство дополнительно введены три селектора адреса, мультиплексор страниц, мультиплексор адреса, мультиплексор кода операции, мультиплексор данных, третий регистр данных, а в блок приоритетоо введены третий О-триггер запроса, три О-триггера ответа, десять элементов И и два переключателя, причем каждая группа входоо задания адреса страницы устройства соединена с первой группой информационных входов соответствующего селектора адреса, вторые группы информационных входов которь 1 х соединены со старшими разрядами адресных входов соотоетствующего канала устройства, третьи информационные входы с первого по третий селекторов адреса соединены с соответствующими разрядами группы входоо задания размера страницы устройства, первый, второй и третий информационныа оходы мультиплексора страниц подключены к соответствующим разрядам адресных входов соответственно первого, второго и третьего каналов устройства, входы стробирования мультиплексора страниц подключены к соотоетстоуюьцим разрядам группы входов задания размера страницы устройства, первая, вторая и третья группы информационных входов мультиплексора адреса подключены к адресным оходам соответственно первого, второго и третьего каналов устройства, группы выходов мультиплексора страниц и мультиплексора адреса образуют внутрен нюо адресную шину устройства, которая подключена к адресной группе входов блока памяти, три входа кода операции устройства соединены соответственно с первым, вторым и третьим информационными входами мультиплексора кода операции, выход которого подключен к первому входу блока синхронизации, три группы двунаправленных информационных входоввыходов устройства подкл;очены соответственно к первой, второй и третьей группам информационных входоо мультиплексора данных, группа выходов которого соединена с группой информационных входов блока памяти, группа выходов которого соединена с группой информационных входоо третьего регистра данных, три входа запроса блока приоритетов соединены с входами запроса обмена соответствующих каналов устройства и первыми входами соответственно четоертого, пятого и шестого элементов И, выходы которых подключены к С-входам соответствующих О-триггеров запроса, установочные Я-входы и информационные О- входы которых соединены и подключены к шине единичного потечциала устройства, установочные Я-входы этих триггеров соединены между собой и подключены к выхо ду элемента И - Н Е, входы которогосоединены с входом начальной установки устройства и первым выходом блока синхронизации, прямой выход третьего О-триггера запроса соединен с третьим входом 15 второго элемента И, инверсные выходы спервого по третий О-триггеров запроса соединены с соответствующимл входами третьего элемента И, выход которого соединен с вторым входом блока синхрониза ции и с вторыми входами четвертого. пятого и шестого элементов И, третьи входы которых соединены с выходами соответственно первого, второго и третьего селекторов адреса, четвертые входы четвертого, 25 пятого и шестого элементов И соединенымежду собой и подключены к второму выходу блока синхронизации, прямой выход первого О-триггера запроса и выходы первого и второго элементов И соединены с З 0 первыми входами соответственно седьмого, восьмого и девятого элементов И, вторые входы которых соединены и подключены к третьему выходу блока синхронизации, выходы седьмого, восьмого и 35девятого элементов И соединены с С-входами соответственно первого, второго и третьего О-триггеров ответа, прямые выходы которых соединены с первыми входами 40 соответственно десятого, одиннадцатого идвенадцатого элементов И, выходы которых являются соответственно первым, вторым и третьим выходами ответа устройстоа, инверсные выходы О-трлгге ров ответа соединены с пятыми входамисоответственно четвертого, пятого и шестого элементов И, установочные Я-входы и информационные О-входы О-триггеров ответа соединены и подключены к шине еди ничного потенциала устройства, аустановочные Й-входы соединены с соответствующими входами запроса блока приоритетоо, первый вход запроса блока приоритетов соединен с вторым входом 55 десятого элемента И, ВТОРОЙ вход с Входом первого формирователя импульсов, инверсный выход которого соединен с вторым оходом одиннадцатого элемента И, третий вход запроса блока приоритетов соединен с входом второго формирователяимпульсов, инверсный выход которого соединен с вторым входом двенадцатого элемента И, инверсные выходы второго и третьего триггеров ответа соединены с первыми входами соответственно первого 5 и второго переключателей, вторые входы которых подключены к шине единичного потенциала устройства, а третьи входы соединены с шестыми входами соответственно шестого и пятого элементов И, в 10 каждом регистре данных вход приема данных соединен с четвертым выходом блока синхронизации, прямой выход первого О- триггера запроса является выходом первого приоритета блока приоритетов и 15 соединен с первым разрешающим входом первого регистра данных, выход первого элемента И блока приоритетов является выходом второго приоритета блока приоритетов и соединен с первым разрешаю щим входом второго регистра данных и входами младшего разряда мультиплексора адреса, мультиплексора кода операции, мультиплексора данных и мультиплексора страниц, выход второго элемента И блока приоритетов является выходом третьего приоритета блока приоритетов и соединен с первым разрешающим входом третьего регистра данных и входами старшего разряда мультиплексора адреса, мультиплексора кода операции, мультиплексора данных и мультиплексора страниц, три входа кода операции устройства соединены с вторыми разрешающими входами соответствующих регистров данных, три выхода ответа устройства поключены к третьим разрешающим входам соответствующих регистров данных, выходы третьего регистра данных подключены к третьей группе информационных двунаправленных входов-выходов устройства.

Смотреть

Заявка

4829332, 05.03.1990

Московский инженерно-физический институт

Ядыкин Игорь Михайлович

МПК / Метки

МПК: G06F 11/28

Метки: отладки, программ

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

Код ссылки

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

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