Система для отладки программ

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

Авторы: Розен, Рудченко, Тимонькин, Ткаченко, Федоров, Харченко

ZIP архив

Текст

. Тимонькин тельство СССРГ 11/28, 1984.кропроцессоры.применение. М. Техно Энер РОТЛАД Ф ГОСУДАРСТВЕННЫЙ НОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМПРИ ГКНТ СССР К А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ(71) Харьковское наобъединение по сиванного управления(57) Изобретение относится к области вычислительной техники и может быть использовано для отладки программ микропроцессорных вычислительных комплексов. Цель изобретения - повышение быстродействия при отладке. В состав системы входят блок 1 обработки, блок 3 отображения, коммутатор 5, дешифратор 8, генератор 7, блок 9 задания перехода, блок 1 О синхронизации, счетчик 11 времени и блок 12 памяти. Новые конструктивные признаки системы позволяют реализовать непосредственный переход из заданной точки основной памяти в заданную точку теневой памяти так, как если бы точка перехода находилась в программе того же блока памяти, что и команда перехода.1 3. п. ф-лы,5 ил.входом счетчика времени, выходы приема и выдачи группы выходов коммутатора сигналов обращения соединены с одноименными входами счетчика времени, выход переполнения которого является выходом разреше ния системы.2. Система по и. 1, отличающаяся тем, что блок задания перехода содержит первый и второй триггеры, счетчик, первый, второй, третий и четвертый элементы И, причем входы приема и записи блока соединены с первыми входами соответственно первого и второго элементов И, первый тактовых вход блока соединен с вторым входом первого элемента И, выход которого соединен с тактовым входом первого тригге ра, вход начальной установки блока соединен с входами установки нуля первого триггера и счетчика, выход переполнения и нулевого состояния которого соединены соответственно с .единичным и нулевым входами второго триггера, прямой и инверсный выходы которого являются прямым и инверсным выходами признака перехода блока, вто. рой тактовый вход блока соединен с первыми входами второго и третьего элементов И, информационный и адресный входы блока соединены соответственно с информационным входом первого триггера и вторым входом второго элемента И, выход которого является адресным выходом блока, прямой и инверсный выходы первого триггера соединены с вторыми входами третьего и четвертого элементов и соответственно, выходы которых соединены соответственно с инкрементным и декрементным входами счетчика, прямой и инверсный выходы второго триггера соединены с инверсными входами третьего и четвертого элементов И соответственноо.11 одотк наб. Ужг бретениям Раушская Патент, г Составите. Текред И. В Тираж 669 го комитета по изо Москва, Ж - 35,ельский комбинат сРедактор С. ПатрушеваЗаказ 2691,50ВНИИПИ Государственн113035,Производственно-издат ь А. С игалов рес К ектор 1 11 атайисноеытиям при ГКНТ СССРд. 4,5род, ул. Гагарина, 1 О 150 Изобретение относится к вычислительной технике и может быть использовано для отладки программ микропроцессорных вычислительных комплексов,Цель изобретения - повышение быстродействия при отладке.На фиг.изображена структурная схема системы; на фиг. 2 - схема блока обработки; на фиг. 3 - схема блока ввода; на фиг. 4 - схема блока отображения; на фиг. 5 - схема блока асинхронной связи; на фиг. 6 - коммутатор сигналов обращения; на фиг. 7 - схема шинного формирователя адреса; иа фиг, 8 - схема генератора; на фиг. 9 - схема дешифратора; на фиг. 10 - схема блока задания перехода; на фиг. 11 - схема блока синхронизации; на фиг. 12 - счетчик времени; на фиг. 13клавиатура;. иа фиг. 4блок памяти; иа фиг. 15 - временныс диаграммы работы систем ы.Система лля отладки программ (фиг. 1) содержит блок 1 обработки, блок 2 ввода, блок 3 отображения, блок 4 асинхронной связи, коммутатор 5 сигналов обращения, шинный формирователь 6 адреса, тактовый генератор 7, деиифратор 8, блок 9 задания перехода, блок 10 синхронизации, счетчик 11 времени, блок 12 памяти, шины адреса 13, данных 14 и управления 15. Символами 16 - 53 обозначены входы и выходы блоков и узлов системы. Выхол 16 - выход блока 4, вход 7 установки в исходное состояние системы, вход 18 ответ блока 1 О, группа адресных выходов 19 микропроцессора 1, входы-выходы 20 блока 1, выходы 21 управления микропроцессора 1, тактовый вход 22 блока 1, выход 23 блока 2 ввода, вход 24 запроса прерывания блока 1, выход 25 подтверждения прерывания системы, вход 26 начальной установки блока 3 отображения и блока 9 задания перехода, вход 27 управления записи и чтения блока 3, вхол 28 выбора устройства, выход 29 лешифратора 8, адресный выход 30 системы, выход 31 генератора 7, группа управляющих выходов 32 системы, выход 33 переполнения счетчика, выход 34 шины данных 14, входы-выходы 35 коммутатора 5, группа 36 управляющих выходов коммутатора 5, тактовый вход 37 коммутатора 5, выход 38 блока 1, выходы 39 и 40 лепифратора 8, выход 41 признака перехода блока 9 задания перехола, адресный выход 42 блока 9, входы 43 - 45 блока 9, входы 46 - 48 блока 10, вход 49 счетчика 11 времени, выход 50 блока 10, выход 51 дешифратора 8, вход 52 счетчика 11 времени, вход 53 блока 12 памяти.Ьлок 1 (фиг. 2) предназначен для выполнения программ отладки или других заданных программ.Он может быть реализован на известном БИС процессоре, например, типа К 580 ИК 80 или другом аналогичном. 10 15 20 25 30 40 45 Ьлоксодержит микропроцессор 54,группа адресных выходов 55 которой образует группу 19 адресных выходов блока 1.Группа 56 входов-выходов данных блока 54образует одноименную группу 20 входоввыходов блока 1.Выходы КВ, ЮК, %1, КАТК и 8 УМмикропроцессора 54 образуют соответственно выходы чтения (приема) 57.1, записи57.2, ожидания 57.3, запроса захвата 57,4и синхронизации 57.5 группы 21 управляющих выходов блока 1.Вход 24 запроса прерывания блока 1 является одноименным входом (КА) микропроцессора 54,Входы первого 58.1 - четвертого 58.2разрядов группы 22 входов блока 1 соединены соответственно с первым Г 1, вторымГ 2 входами тактовых сигналов, входом начальной установки (К) и входом запросазахвата (КА) блока 54.Алгоритмы функционирования блокаполностью идентичны соответствующим алгоритмам известного микропроцессораК 580 И К 80.Блок 2 ввода (фиг. 3) содержит клавиатуру 59 и шинный формирователь 60, группа выходов которого образует группу 23 выходов блока 2. Вход 25 блока 2 соединен суправляюгцим (С 8) входом формирователя 60 и входом клавиатуры 59, группа 6выходов и управляющий выход которой соединены соответственно с группой входов формирователя 60 и выходом 24 блока 2.Блок 2 предназначен для ввода данны.с клавиатуры 59 иа шину 14 данных системы.При нажатии хотя бы одной из клавишклавиатуры 59 вырабатывается сигнал запроса прерывания на выходе 24 блока 2, который поступает на вход РО микропроцессора 54 (фиг. 2).После формирования блоком 10 синхронизации сигнала подтверждения прерыванияна выходе 25 (фиг. 1) включается на передачу формирователь 60 блока 2 (фиг. 3), ас выходов 61 клавиатуры 59 осуществляется выдача кода данных.Этот код данных через формирователь60 и выходы 23 блока 2 передается иа шину данных 14 системы (фиг. 1) для приема вблок 1 известным образом.Блок 3 отображения (фиг. 4) содержитблок 62 ввода-вывода параллельной информации различного формата, дисплей 63 иклавиатуру 64.Группа выходов о 5 данных каналов БОблока 62 соединена с группой информационных входов дисплея 63,Разряды 66.1 и 66.2 группы выходов 66данных канала В 1 блока 62 соединены соответственно с группами управляюгцих входовдисплея 63 и клавиатуры 64.Группа 67 информационных выходовклавиатуры 64 соединена с группой входовканала В 2 блока 62.Группа 14 входов-выходов данных блока 3соединена с одноименной группой входоввыходов блока 62.Группа 13 адресных входов, входы 28и 26 блока 3 соединены соответственно с адресными входами (А) выбора каналов, входом выбора устройства (СЯ) и входом (К)начальной установки блока 62.Входы разрядов управления чтением 68.1и записью 68.2 группы 27 входов блока 3 соединены соответственно с входами чтения(КР) и записи (%К) данных блока 62,Блок 3 предназначен для отображенияинформации при отладке. Он может быть выполнен по известной схеме с использованием программируемого устройства вводавывода параллельной информации различного формата, а также знакосинтезирующегодисплея и матричной клавиатуры. При этомканал В применяется известным образомдля сканирования дисплея и клавиатуры, канал В Я - для записи кода очередногоотображаемого разряда дисплея, а каналВ 2 -- для чтения кода нажатой клавиши сматрицы клавиатуры. Дешифрирование и сканирование клавиатуры может осуществляться программно. 25В частности, в блоке 3 к блоку 62 можетбыть подключено репрограммируемое ПЗУдля хранения информации при отладке.Блок 4 асинхронной связи (фиг. 5) содержит синхронно-асинхронный приемопередатчик 69, группа входов-выходов (Р) данных которого соединена с группой 34 входов-выходов данных блока 4.Входы 31, 30, 29 блока 4 соединены соответственно с входами синхросигнала (8 х),управление/данные (АР) и выбора устрой.ства (СБ) приемопередатчика 69. 35Вход приемника и выход 70 передатчикаприемопередатчика 69 образуют группу6входов-выходов блока 4,Вход 33 блока 4 соединен с входами синхронизации передатчика СР и приемника СРприемопередатчика 69.Выход 71 запроса приемника терминала(КТЯ) приемопередатчика 69 соединен с входом готовности приемника терминала (ТЯ)приемопередатчика 69.Выход 72 запроса передатчика терминала (РТК) соединен с входом готовности передатчика терминала (РЯК) приемопередатчика 69. Входы разрядов управления чтением 73,1 и записью 73.2 группы 32 управляющих вхо дов коммутатора 5 соединены соответственно с одноименным входами КР и ЮК приемопередатчика 69.Блок 4 предназначен для организации двунаправленного обмена данными между системой и внешними устройствами и последовательном коде. Причем в качестве внешних устройств могут использоваться известным образом клавиатура, цифровой или телевизионный дисплей, АЦПУ, графопостроители и др. устройства,Обмен информацией с такими устройствами может осуществляться по одному каналу, на входе и выходе которого подключаются аналогично показанному на фиг. 1, 5 блоки 4, работающие в режимах приема и передачи.Блок 4 может быть выполнен на известной микросхеме типа К 580 ВВ 51 А (на фиг. 5 показаны только те входы и выходы приемопередатчика 69, которые необходимы для пояснемия его работы).При передаче данных приемопередатчик 69 преобразует данные в параллельном коде в последовательность символов со служебной информацией и выдает ее в канал с различной (задаваемой программой) скоростью.Причем данные могут передаваться по каналам связи в синхронном или асинхронном режиме. В системе блок 4 работает в режиме внешней синхронизации.Группа входов-выходов 34 данных предназначена для приема и передачи данных в параллельном коде.Вход 3 предназначен для подачи синхросигналов от генератора 7.Вход 30 (управление/данные) служит для подачи сигнала записи-чтения данных или управляющих сигналов. Нулевой уровень сигнала на этом выходе указывает на возможность записи-чтения данных, а единичный разрешает запись в приемопередатчик 69 управляющего слова или считывание информации о состоянии схемы.Вход 73,1 чтения предназначен для подачи входного сигнала, разрешающего передачу данных и информации состояния приемопередатчика 69 на шину данных системы.Вход 73.2 записи предназначен для подачи входного сигнала, разрешающего передачу данных и управляющего слова с шины данных системы в приемопередатчик 69,Вход 29 предназначен для выбора кристалла (СЬ) приемопередатчика 69.Входы 33 синхронизации (СР) приема и передачи предназначены для приема тактовых сигналов от внешнего устройства синхронизации,Вход 5 Т 5 готовности приемника терминала предназначен для информирования приемопередатчика 69 о готовности приемника терминала принять в ответ на сигнал запроса по выходу КТЯ запроса приемника терминала.Выход 70.1 и вход 0,2 являются выходом передатчика и входом приемника приемопередатчика 69 соответственно.Вход РЬК готовности передатчика терминала предназначен для подачи входного сигнала, информирующего приемопередатчик 69 о готовности внешнего передатчика к посылке информации по каналу связи. Состояние сигнала на этом входе может быть опреде 1481774лено по разряду О 7 слова состояния приемопередатчика 69 при его чтении.Выход ОТК предназначен для подачи сигнала, информирующего внешний передатчик о готовности канала приемника приемопередатчика 69 к приему информации и проверке готовности передатчика к работе,Выход КТ 8 запроса приемника терминала приемопередатчика 69 предназначен для подачи выходного сигнала запроса о готовности приемника терминала к приему данных.Для работы с блоком в него записываются команды начальной установки. Посредством записи управляю(цих слов приемопередатчика 69 задается скорость приемапсредачи данных, количество разрядов в каждом данном, число разрядов останова, режим работы, Наличие или отсутствие разряда четности кяждОГО дяцнОГО и (р. информация.Ери этом упрацля о;ци. ело. я 11(1 д)д,)дс,1 я 10 тся нд дВя типа 1 Гру к 111 р(жима и инструкции кома,(1 ри обмене дд:1 ны 1 и прис)1 О 1 ере,гятчик 69 преобразует информацию из няр 1)л ель- ИОГО кода В пос, 1 сдовятел ьц ы й 11 11)1 обЕ)т.11 ричем со стороны системы осуществляется Обмен в параллельном кодс, я со стороны Вце 1 ццих устройств в последовательном.Дешифратор сип 1 алов обращения (фиг.6) содержит блок 74 формирования магистралей управления.Группа 20 входов-выходов данных коммутя)ора 5 соединена с одноименной перВой группой входов-выходов (О) блока 74.Вход 37 и группа 35 входов-выходов коммутатора 5 соедицены соответственно с входом вправления системной шиной (8)х) и второй группой входов-выходов данных (ОВ) блока 74.Выходы управления запис)ио (ЮКМ), чтением (КОМ), приемом гКЛО) и выдачей (КОЛО) блока 74 образуют соответственно выходы одноименных разрядов 75.1, 75.2, 75.3 и 75.4 группы 36 выходов коммутатора 5.Входы разря,;гов 76.1, 76.2 и 76.3 группы 21 Входов коммутатора 5 соединены соотвст ствецно с входямц чтения (СКО), записи (С%1), разрешения доступа к магистрали (КАТЕх) блока 74.Вход управления системной шиной (РЕ) соед)шен с входом разряда 76.3 группы 21 ВходОВ коммутгторя 5.Коммутатор 5 предназначен для органи. зации управления доступом микропроцессора к шине данных, а такжедля формирования на группе 36 выходов сигналов ца шину управления системы ця основании выходных управляющих сип 1 алов блока 1 обработки, поступающих ца группу 21 Входов коммутатора 5.Алгоритм функционирования коммутатора 5 идентичен известному для микросхемы К 580 ВК 28. Шинный формирователь 6 адреса (фиг. 7)содержит шинные формирователи 77 и 78,выходы 79 и 80 - группу 13 выходов формирователя 6, информационные входы 81и 82 которых образуют группу 19 входов формирователя 6. Управляющие входь 1 (МСи СЯ) формирователей 77 и 78 соединеныс шиной нулевого потенциала.Формирователи 77 и 78 могут быть реализованы на известных микросхемах, например,типа К)80 ВА 86.Формирователь 6 предназначен для соединения группы 19 адресных выходов блока 1 обработки с шиной3 адреса системы.Генератор 7 (фиг. 8) содержит генера 5 тор 83 тактовых импульсов, который можетбыть выполнен на известной микросхеметипа К 580 ГФ 24, или другой аналогичной.Выходы 84.1, (Г 1), 84.2 (Г 2), 31 (Г 2Т),84.3 (8 К), 84.4 (%1) и 37 (СЬА) предназнд;ецы соответственно для вь(дачи сигналовсицхроимпульсов, сигнала фазы (уровцем), сигнала Сброс, сигнала готовностии строба фиксации состояния,Выходы разрядов 84,1, 84.2, 84.3, 84.4гругшы 22 выходов генератора 7 (фиг. 8)25 соедицены соответственно с входами 58.1(Г 1), 58.2 (Г 2), 58.3 (К) и 58.4 (КА) микропроцессора 54 (фиг. 2).Входы С и С 2 генератора 83 (фиг. 8)предназначены для подключения колебательього контура, собранного из последовательЗО цо включенных емкости С и кварцевого резонатора С( 1.Входы 17 (К 1 х), 50 (АМ), 38 (8 У.х генератора 83 предназначены для подачи сигналов сброса, готовности и синхронизациисоответственно.35 Генератор 7 предназначен для формирования периодической последовательности импульсов положительной полярности с несовпадающими фазами опорной частоты Г 1 иГ 2 на выходах 84.1 и 84.2.40Кроме того, ня гыходе 31 (Г 2 ТТ) формируется тактовый импульс Г 2 ТТ положит-льной полярности со стандартными уровнями ТТ логики, на выходе 37 - импульс стробировяния состояния системы ком мутатора 5 (фиг. ).ГЕЯ выходе 8 К (фиг. 8) формируется сигнал сброса микропроцессора, а на выходе Л - сигнал, информирующий процессор о 1 ОТОВОСТИ СИСТЕМЫ.Дешифратор 8 (фиг. 9) содержит дешиф ратор 85, группа 13 входов которого является группой входов дешифратора 8, а нулевойчетверть 1 й выходы образуют соответственно выходы 39, 28, 40, 29 и 51 дешифратора 8.Дешифратор 8 предназначен для задания собственного адреса устройства и блоков, к которым подключены его выходы,Ьлок 9 задания перехода (фиг. 10) содержит счетчик 86, первый триггер 87, второй15 20 25 30 триггер 88, первый 89, второй 90, третий 91 и четвертый 92 элементы И.Прямой 93.1 и инверсный 93.2 выходы триггера 88 образуют группу 41 выходов блока 9.Входы разряда приема 94.1 и записи 94.2 группы 44 управляющих входов блока 9 соединены соответственно с первым входом элемента И 89 и первым входом элемента И 90, группы информационных входов 45 блока 9 соединены с группой входов элемента И 90, группа выходов которого соединена с группой выходов 42 блока 9. Выходы переполнения (ОГ) и нулевого состояния (2) счетчика 86 соединены соответственно с единичным и нулевым входами триггера 88, единичный выход которого соединен с первым входом элемента И 91. Выходы элементов И 9 и И 92 соединены соответственно с суммирующим (+1) и вычитающим ( - 1) входами счетчика 86 соответственно.Вход 26 блока 9 соединен с нулевым входом (К) триггера 87 и установочным входом счетчика 86.Единичный и нулевой выходы триггера 87 соединены с вторыми входами элементов И 91 и И 92 соответственно.Вход 39 блока 9 соединен с вторым входом элемента И 89, выход которого соединен с синхровходом триггера 8.Вход 38 блока 9 соединен с третьим входом элемента И 91 и вторым входом элемента И 92.Вход 43 блока 9 соединен с информационным (0) входом триггера 87.Блок 9 предназначен для переключения блоков теневой и основной памяти по команде вывода в порт (триггер 87) переключения памяти с задержкой на время выборки блоком 1 команды перехода (ЗМР) из той же области памяти, из которой осуществлялась выборка команды вывода в порт переключения я.Счетчик 86 предназначен для отсчета времени задержки на время выборки команды перехода (ЗМР). Время задержки отсчитывается путем подсчета сигналов синхронизации (БУХ), поступающих на вход 38 блока 9 с выхода синхронизации 57.5 (фиг. 2) блока обработки 1 в начале каждого машинного цикла. Сигнал на,выходе переполнения Ог (нулевого состояния 7) выдается при отработке такого количества машинных циклов, которое необходимо для выборки команды перехода МР) при отсчете от нулевого состояния счетчика (состояния переполнения),Если счетчик 86 находится в нулевом состоянии, то при поступлении импульсов на вычитающий вход ( - 1) его состояние не изменяется. 35 40 45 50 55 Триггер 87 выполняет роль порта начала переключения типа памяти, а трипер 88 - окончания переключения.Элемент И 89 предназначен для формирования сигнала записи в триггер 87 переключения блоков памяти (теневой и основной).Элемент И 90 предназначен для управления передачей кода адреса в блок 12 памяти при наличии управляющего сигнала записи с входа 94.2 блока 9.Элемент И 91 предназначен для управления подачей на счетный вход (+ 1) счетчика 86 импульсов синхронизации с входа 38 блока 9 для задержки переключения с основной памяти на теневую,Триггер 88 предназначен для выдачи на выходы 93.1 и 93.2 сигнала включения основной и теневой памяти в блоке 2 памяти,Единичное (нулевое) состояние триггера 88 соответствует включению теневой (основной) памяти в блоке 12.Единичное (нулевое) состояние триггера 87 соответствует переходу к теневой (основной) памяти.Блок 10 синхронизации (фиг. 11) содержит первый 95, второй 96, третий 97 элементы И, первый 98 и второй 99 элементы ИЛИ.Входы 18, 100.1, 100.2, 100.3, 46, 5 и группа 47 входов блока 10 соединены соответственно с первым входом элемента ИЛИ 98, первым, вторым входами элемента И 95, первым входом элемента ИЛИ 99, первым входом элемента И 97, вторым входом элемента ИЛИ 99 и группой входов элемента И 96. Выход элемента И 95 соединен с входом элемента И 96, выход которого соединен с вторым входом элемента ИЛИ 98.Выход элемент ИЛИ 98 соединен с вторым входом элемента И 97, выход которого является выходом 50 блока 10,Выход элемента ИЛИ 99 соединен с выходом 25 блока 10.Блок 10 предназначен для формирования сигналов синхронизации обмена с внешними устройствами на выходе 50 и подтверждения прерывания на выходе 25.Вход 18 предназначен для подачи сигнала Ответ с соответствующего разряда шины 15 управления системы (фиг. 1). Этот сигнал формируется при асинхронном обмене с внешними устройствами, которые могут подключаться к шинам3, 4 и 15 системы в соответствии с известным интерфейсом ИК 1.Входы разрядов 100.1, 100.2 и 100.3 группы 48 входов блока 10 предназначены для подачи сигналов чтения, записи и выдачи с соответствующих разрядов шины 15 управления системы (фиг. 1) .Группа 47 входов предназначена для подачи сигналов выбора собственного адреса блока 10 с шины 13 адреса системы (фиг, 1).Вход 48 предназначен (фиг. 11) для подачи сигнала - признака нахождения блока 1 (фиг, 2) в состоянии ожидания, Этот сигнал поступает с выхода 57.3 микропроцессора 54. 5Вход 51 предназначен для подачи сигнала, разрешающего формирование сигнала подтверждения на выходе 25 с выхода 51 дешифратора 8.Выход 50 предназначен для формирования сигнала готовности на вход АХ генератора 7 (фиг. 8).Счетчик 11 (фиг. 12) времени предназначен для организации временных интервалов при отладке, а также для синхронизации работы блока 4 (фиг. 1) асинхронной связи. 5Счетчик 11 (фиг. 12) может быть выполнен на известной микросхеме типа К 580 ВИ 53,Группа 14 входов-выходов счетчика 11 соединена с группой одноименнь х входовныходов блока 101 счета.2 ОВходы первого 102.1 и второго 02.2 разрядов группы 49 входов счетчика 11 соединены соответственно с входами Ао и А 1 блока 101.Входы разрядов управления чтением 103.1 и записью 103.2 группы 52 входов счетчика 11 соединены соответственно с входами чтения (КР) и записи (%К) блока 101.Вход 40 счетчика 11 соединен с входом СЬ выбора устройства блока 101.Вход 3 счетчика 11 соединен с входами 30 тактовой частоты первого (ЬУМф), второго (БУЕВ) и третьего (8 уХ 2) каналов,Выход (СКЯ) первого канала блока 101 соединен с выходом 33 блока 11.Входы разрешения работы первого (ЬТО) второго (5 Т 1) и третьего (Т 2) каналов З 5 олока 101 соединены с шиной нулевого потенциала источника питания.Выходы второго (СК 1) и третьего (СК 2) каналов блока 101 не используются.Входы-выходы данных (Р) блока 01 предназначены для передачи данных и управ 40 ляющих слов между блоками 1 (фиг. 1, 2) и выбранными каналами блока 101.Входы 102,1 и 102.2 блока 101 предназначены для задания блоку 101 выбора одного из каналов или регистра управления.Входы управления чтением (КР) и запись (%К) блока 101 предназначены для подачи сигналов на выдачу данных из внутренних регистров блока 101 на входы-выходы 14 данных блока 101 и на запись данных с входов-выходов 4 в блок 101, 50Всход,С блока 101 предназначен для подачи сигнала выбора микросхемы.Входы БУМ, 8 Т и выход СК каждого из трех каналов блока 101 предназначены для подачи импульсов входной частоты сигнала разрешения работы и выдачи выходных сиг н алов.В системе блок 101 используется в режиме генератора тактовых импульсов. Режим работы блока 101 задается известным образом при начальной установке с помощью команд вывода данных из блока 1 путем записи управляющего слова в регистр режима канала. Клавиатура 59 (фиг. 13) содержит триггер 104, шифратор 105, элемент ИЛИ-НЕ 106, элемент НЕ 107, группу 108 элементов коммутации.Нулевой выход триггера 104 является выходом 24, а группа выходов шифратора 105 образует группу 61 выходов клавиатуры 59.Нормально замкнутые контакты элементов 108.1 - 108.М коммутации и вход элемента НЕ 107 соединены с шиной нулевого потенциала источника питания. Выход элемента НЕ 107 соединен с нормально разомкнутыми контактами элементов 108. в 1.Х коммутации, выходы которых соединены с входами шифратора 105 и входами элемента ИЛИ-НЕ 106,Выход элемента ИЛИ-НЕ соединен с )- и С-входами триггера 104, нулевой вход (К) которого подключен к входу 25 клавиатуры 59.Клавиатура 59 предназначена для осуществления внешнего ввода данных в систему для отладки,Триггер 104 предназначен для формирования сигнала запроса в микропроцессор 1 на выходе 24 клавиатуры 59.Шифратор 105 предназначен для формирования кода, соответствующего сигналу, который поступает с одного из элементов 108.1 - 108.М коммутации.Элемент ИЛИ-НЕ 06 предназначен для формирования сигнала запроса в триггер 104 при замыкании одного из элементов 108.1 -08. М ком м ута ци и.При замыкании одного из элементов 108.1 - 108.М коммутации на выходе С шифратора устанавливается соответствующий код для передачи на шину 14 данных систем ( фиг. 1). Кроме того, выходным сигналом элемента ИЛИ-НЕ 106 триггер 104 устанавливается в единичное состояние, вырабатывая инверсный сигнал запроса на выходе 24. По этому сигналу блокпереходит в режим прерывания и подает на вход 25 клавиатуры 59 сигнал подтверждения прерывания, по которому осуществляется возврат триггера 104 в исходное состояние и снятие сигнала запроса.Блок 12 памяти (фиг. 14) содержит блоки теневой 109 и основной 11 О памяти, входы- выходы данных (Р) которых соединены с вхо. дом 14 данных блока 12. Входы управления включением блоков теневой 109 и основной 110 памяти группы 41 управляющих входов блока 12 соединены соответственно с входами выбора (СЯ) блоков 109 и 110.Управляющий вход 53 блока 12 соединен с управляющими входами блоков 09 и 110.Группа 42 адресных входов блока 12 соединена с одноименными группами входов блоков09 и10 памяти.Входы 111.1 и 1.11.2 служат для подачи сигналов включения теневой 109 и основной 10 блоков памяти с выходов 93. и 93,2 блока 9 (фиг. 10) соответственно.Вход 53 предназначен для управления режимом работы (запись/чтение) блоков 109 и 110 памяти.Шины адреса 13, данных 14 и управления 15 системой предназначены для передачи соответствующих сигналов, например, в соответствии со стандартным интерфейсом ИК.Группа 16 входов-выходов системы пред назначена для сопряжения ее с внешними устройствами, работающими в последовательном коде, например клавиатурой, цифровым или телевизионным дисплеем, АЦПУ, графопостроителями и другими устройствами.На фиг. 15 приведены временные диаграммы работы системы в различных режимах работы.Для пояснения работы системы ее удобно подразделить на следующие подсистемы: процессорная часть, содержащая блок 1 об работки, коммутатор 5 сигналов обращения, шинный формирователь 6 адреса, генератор 7, дешифратор 8, блок 10 синхронизации и счетчик 11 времени; память системы, содержащая блок 9 задания перехода и блок 12 памяти; блок 3 отображения. 30Поскольку цель изобретения состоит в повышении оперативности отладки за счет специальной организации управления переходами между основной и теневой памятью блока 12, особенности функционирования системы рассмотрим на примере организа ции управления переходами между блоком теневой 109 и основной 1 О памяти олока 12 (фиг. 4).Блок 1 обработки (фиг. 1) обеспечивает обмен с памятью в пределах адресного пространства, не превосходящего размер каждого из блоков основной 110 или теневой 109 памяти. Поэтому для расширения объема памяти, используемого для хранения отлаживаемых программ (программ пользователей), физически массив всех программ системы подразделен на два подмассива. Первый подмассив, содержащий, в основном, программы пользователей, хранится в блоке 110 основной памяти, а второй, содержащий служебные программы, например, комплексы шаговой отладки, тестового конт роля и другие вспомогательные программы, хранится в блоке 109 теневой памяти.Поскольку адресное пространство обоих блоков памяти идентично, то обращение микропроцессора к памяти происходит известным образом в соответствии с управляющими сигналами, которые вырабатываются коммутатором 5 (см. фиг. 6) на выходах 75.1 н 75.2. Для задания соответствующего режима работы блока 1 обработки (фиг, 1) в первом такте каждого машинного цикла генерирует на шине 20 слово состояния, которое по сигналу с входа 37 блока 1 (фиг. 2) записывается в соответствующий регистр блока 74.Всего для блока обработки (микропроцессора типа К 580 ИК 80) предусмотрено десять типов машинных циклов, задаваемых соответствующим кодом слова состояния в блоке 74.Управляющие выходы 36 коммутатора 5 подключаются к одноименным разрядам шины 15 управления.Адресация внешних по отношению к блоку 1 устройств и блоков 9, 3, 10, 4 и 11 осуществляется аналогично адресации ячеек памяти,Для выбора соответствующего блока блок 1 обработки выставляет на группе 19 выходов адрес обращения, который через формирователь поступает на шину3 адреса и далее на входы соответствующих блоков.Ввод-вывод информации в системе может осуществляться через блок 2 ввода данных, блок 4 асинхронной связи и, кроме того, посредством любых соответствующих внешних устройств, подключение которых допускается к шинам 13 - 15 в соответствии с интерфейсом ИК 1При этом с помощью блока 2 ввода (фиг. 3) осуществляется ввод данных с клавиатуры 59. Для реализации ввода из блока 2 используется аппарат прерываний блока 1.При замыкании нормально разокнутого контакта 108 л (с 1, М) срабатывает элемент ИЛИ-НЕ 106, выходной сигнал которого переводит триггер 104 в единичное состояние.Сигнал (с активным низким уровнем) с нулевого выхода 24 триггера 104 поступает на вход запроса прерывания КЯ микропроцессора 54 (фиг. 2).После этого микропроцессор 54 известным образом переходит в цикл обработки прерывания, в котором на шине 19 адреса выставляется адрес обращения к блоку 2 (фиг. 1). Код адреса поступает на вход дешифратора 8, который срабатывает по выходу 51.Сигнал с выхода 5 дешифратора 8 (фиг. 1) поступает на вход элемента ИЛИ 99 и далее с его выхода 25 - на одноименный нулевой вход (К) триггера 104 (фиг. 13), который, возвращаясь в исходное состояние, снимает сигнал запроса прерывания с выхода 24.Сигнал с элементов 1081 (1 е 1, ) коммутации поступает на вход шифратора 105, на выходе 61 которого формируется соответствующий код, поступающий на группу А входов формирователя 60 блока 2 (фиг. 3),Формирователь 60 открывается сигналом с входа 25 блока 2 и передает на шину 1410 20 ланных с выходов 23 код, сформированныйшифратором 105 (фиг. 13), который считывается микропроцессором через коммутатор 5(фиг. 6),Ввод-вывод через блок 4 асинхронной связи (фи г. 5) осуществляется следующим образом.Для обмена системой через блок 4 известным образом может подключаться цифровой или. телевизионный дисплей, АЦПУ, графопостроитель или любое другое устройство, осуществляющее обмен данными в последовательном коде.Если к системе подключается внешнее устройство, работающее только на прием или передачу, то для осуществления обмена достаточно наличие только одного блока 69 в блоке 4 (фиг. 5).Гри осуществлении лвуняпрявл нного обмена данными необхолимо иметь не менее двух блоков 69, один из когорь,х должен ряботать в режиме передач:; и, , 1 сп;ятьгн на передающем конце линии связи, я второй - в режиме приема и размещаться на приемном конце линии связи. При этом подключение обоих блоков 69 производится аналогично. При этом обмен с внешним устройством происходит по одному каналу через вход-выход 16 блока 4, а обгцение с микропроцессором - в параллельном коде через группу входов-выхолов 34 блока 4.Блок 69 может бьть программно установлен в один из пяти режимов работы: асинхронная передача, асинхронный прием, синхронная передача, синхронный прием ланных с внутренней синхронизацией, синхронный прием данных с внешней синхронизацией.В системе блок 69 используется в асинхронном режиме.Г 1 ередача данных осуществляется всегда, начиная с младшего разряда. Начальная установка блока 69 осуществляется программно известным образом, с помощью команд начальной установки.В результате записи управляющих слов олок 69 получает информаци 1 о о скорости приема-передачи данных, количестве разрядов в каждом данном, числе разрядов оста- нова, режиме работы (синхропный), наличии или отсутствии разряда четности каждого ланного. При синхронном режиме приема ланных указывается также тип внешней синхронизации.Управляющие слова, принимаемые блоком 69 через группу 34 входов-выходов, подразделяются на два типа: управления режимом работы и команды управления.В любой момент времени блок 1 (фиг. 1) может осуществлять считывание слова состояния блока 69.Для отображения информации в системе используется блок 3 отображения и, кроме того, могут применяться другие блоки аналогичного назначения, соответствующие стандарту интерфейса ИК 1.Обращение блока 1 (фиг. 1) к блоку 62 (фиг. 4) осуществляется как к четырем ячейкам памяти, Для формирования сигнала выборки блока 3 дешифратор 8 (фиг. 1) срабатывает по выходу 28 (фиг. 4).Комбинации режимов и типов работы блока 62 залаются с помощью управляющих слон, записываемых по адресу регистра управления блока 62.Рассмотрим работу системы при осуществлении перехода между командами, расположенными в разных блоках памяти: теневой и основной.Допустим, что в исходном состоянии триггер 88 блока 9, а также триггер 87 и счетчик 86 находятся в нулевом состоянии. Следовательно, сигналом с нулевого выхода 93.2 триггера 8 с, поступающим пя вход 11.2 блока 12, подключен блок 110 основной пямя", и, хряняп)ий п)зограммы пользователя и оспояпь 1 е программы о гладки.При ор янизяции переходов между комянлами программы, хранящейся в памяти 110, запись единицы в триггер 87 не производится. При наличии сигналоз записи или чтения на входах 94.2 или 94.3, соответственно, адрес обращения к памяти с группы 45 входов блока 9 (фиг. 10) через элемент И 90 поступает на входы 42 блока 110, задавая тем самым ячейку для обращения. Тем самым обеспечивается выбор команды в том же блоке памяти.Если же необходимо осуществить переход из основного блока 110 памяти в теневой 109, то блоком 1 (фиг. 1) на шине 13 адреса на входы дешифратора 8 задается адрес обращения к триггеру 87 (фиг. 10). При этом элемент И 89 открывается по входу 39 выходным сигналом дешифратора 8. Далее по управляющему сигналх с выходя 75.3 коммутатора о (фиг. 6), поступающему ня вход 94.1 элемента 89 И, разрешается запись по С-входу в триггер 87.Одновременно ня шине данных 14 блоком 1 (фиг, 1) по второй команде стандартной последовательности перехода между теневой (основной) и основной (теневой) памятью-записгно в порт (трпг; ер 87) переключения памяти выстазляется байт данных, нулевой разряд которого, имеющий единичное значение, поступает на вход 43 блока 9 (фиг. 10) и устанявпивает триггер 87 в единичное состояние. После этого блок 1 обработки переходит к выборке третьей команды МР) стандартной последовательности перехода, в процессе которой осугцествляется несколько (в случае микропроцессора К 580 ИК 80 или другого аналогичного - три) обращений к памяти. 1 ри этом при каждом обращении блоком 1 обработки (фиг. 2) на выходе 57.5 8 УМ вырабатывается синхросигнал, ко 17 1481774торый через открытый элемент И 91 поступает на счетный вход (+ 1) счетчика 86,После выборки команды перехода МР),в процессе которой счетчик подсчитываетчисло обращений к памяти, счетчик 86 переходит в состояние переполнения, когда наего выходе ОР появляется единичный сигнал.По этому сигналу триггер 88 устанавливается в единичное состояние. Сигнал с единичного выхода 93.1 триггера 88 поступаетна вход 111.1 блока 12 (фиг. 14), тем самымвключая блок 109 теневой памяти.Поэтому очередное обращение блока 1обработки происходит уже к блоку 109 теневой памяти,Переход из программы, находящейся в 15блоке 109 теневой памяти, к команде, находящейся в блоке 1 О осчовной памяти, осуществляется следующим образом.Аналогично описанному по второй команде стандартной последовательности перехода осуществляется запись нуля в триггер 89. При это."л о-крывается элемец И 92,разрешающий поступление импульсов с входа 38 ца вычитающий вход ( - 1) счетчика 86.После выборки третьей команды (командь перехода,1 МР) появляется сигнал навыходе Х счетчика 86, которой устацавливает триггер 88 в нулевое состояние. Сигналом с нулевого выхода 93.2 триггера 88 происходит включение блока 110 основной памяти. 30Таким образом, осуществляются переходы между любыми заданными точками в теневом (осцовцом) и основном (тецевом)блоках памяти.Формула изобретения1. Система для отладки программ, содержащая блок обработки, блок отображения, коммутатор сигналов обращения, шинный формирователь адреса, тактовый гене О ратор, дешифратор и блок памяти, причем группа выходов адреса блока обработки через шинный формирователь адреса подключена к шике адреса системы, группа входов- выходов данных и группа управляющих выходов блока обработки соединены с одноименными группами входов-выходов и входов коммутатора сигналов обращения соответственно, информационный вход-выход системь через магистраль соединен с группой входов коммутатора сигналов обращения, с входом-выходом блока памяти и с инфор мационным входом блока отображения, вход запроса системы соединен с входом требования прерывания блока обработки, адресный вход блока отображения через магистраль соединен с адресной шиной системы, выходы признака записи и чтения коммутатора сигналов обращения соединены соответственно с входами записи и чтения блока отображения, вход установки в исходцое состояние системы соедш ен с установочным входом тактового генератора, группа выходов, первый, второй и третий выходы которого соединены соответственно с тактовым входом блока обработки, с тактовым входом коммутатора сигналов обращения, с тактовым входом блока отображения и является первым тактовым выходом системы, выход синхронизации группы управляющих выходов блока обработки соединен с водом синхронизации тактового генератора, выход шинного формирователя адреса соединен с входом коммутатора сигналов обращения, первый выход которого соединен с тактовым входом блока отображения, второй выход коммутатора сигнала обращения является первым тактовым выходом системы, выход признака чтения группы управляющих выходов коммутатора сигналов обрагцеция соединен с входом чтения блока памяти, отлачающаяея тем, что, с целью повышения быстродействия при отладке, В системх Введены олок задания перехода, блок запуска и счетчик времени, причем выход признака перехода и адресный выход блока задания перехода соединены соответственно с входом признака перехода и адресным входом блока памяти, выход синхронизации группы управляющих выходов блока обработки соединен с первым тактовым входом блока задания перехода, второй и третий выходы тактового генератора соединены соответственно с входом начальной установки блока задания перехода и с входом синхронизации счетчика времени, нулевой разряд информационного входа системы соединен с информационным входом блока задания перехода, выход шинного формирователя адреса соединен с адресным входом блока задания перехода, выходы приема и записи группы выходов коммутатора сигналов обращения соединены с одноименными входами блока задания перехода, третий, четвертый и пятый выходы коммутатора сигналов обращения соединены соответственно с вторым тактовым входом блока задания перехода, с тактовым входом счетчик времени и с тактовым входом блока запуска, первый и второй выходы которых соединены соответственно с входом готовности тактового генератора и с выходом запрсса системы, выходы чтения, записи и выдачи группы выходов коммутатора сигналов обращения соединены с одноименными входами блока запуска, вход разрешения асинхронным обменом системы соединен с входом пуска блока запуска, выход ожидания группы управляющих выходов блока обработки и выход шинного формирователя адреса соединены соответственно с входом ожидания и группой адресных входов блока запуска, информационный вход-выход счетчика времени через магистраль соединен с шиной данных систем, выход шинного формирователя адресов соединен с адресным

Смотреть

Заявка

4226945, 09.04.1987

ХАРЬКОВСКОЕ НАУЧНО-ПРОИЗВОДСТВЕННОЕ ОБЪЕДИНЕНИЕ ПО СИСТЕМАМ АВТОМАТИЗИРОВАННОГО УПРАВЛЕНИЯ

РОЗЕН ЮРИЙ ВЛАДИМИРОВИЧ, РУДЧЕНКО ЛЕОНИД НИКОЛАЕВИЧ, ФЕДОРОВ АЛЕКСАНДР ИВАНОВИЧ, ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ

МПК / Метки

МПК: G06F 11/28

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

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

Код ссылки

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

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