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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к области вычислительной техники и может быть использовано для отладки программ микропроцессорных вычислительных комплексов. Цель изобретения - повышение быстродействия при отладке. В состав системы входят блок 1 обработки, блок 3 отображения, коммутатор 5, дешифратор 8, генератор 7, блок 9 задания перехода, блок 10 синхронизации, счетчик 11 времени и блок 12 памяти. Новые конструктивные признаки системы позволяют реализовать непосредственный переход из заданной точки основной памяти в заданную точку теневой памяти так, как если бы точка перехода находилась в программе того же блока памяти, что и команда перехода. 1 з.п.ф-лы, 15 ил.

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК

„„Я0„„1481774

Ai (51) 4 G 06 F 11/28

ГОСУДАРСТВЕННЫЙ НОМИТЕТ

llO ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ

ПРИ ГКНТ СССР

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Н А BTOPCHOMV СВИДЕТЕЛЬСТВУ (21) 4226945/24-24 (22) 09.04.87 (46) 23.05.89. Вюл. № 19 (71) Харьковское научно-производственное объединение по системам автоматизированного управления (72) 10. В. Розен, Л. H. Рудченко, A. И. Федоров, С. H. Ткаченко, В. С. Харченко и Г. Н. Тимонькин (53) 681.3(088.8) (56) Авторское свидетельство СССР № 1213482, кл. G 06 F ll/28, 1984.

Макглин Д. P. Микропроцессоры. Технология, архитектура и применение. М.: Энергия, 1979, с. 161 — 162. (54) СИСТЕМА ДЛЯ ОТЛАДКИ ПРОГРАММ

2 (57) Изобретение относится к области вычислительной техники и может быть использовано для отладки программ микропроцессорных вычислительных комплексов. Цель изобретения — повышение быстродействия при отладке. В состав системы входят блок I обработки, блок 3 отображения, коммутатор 5, дешифратор 8, генератор 7, блок 9 задания перехода, блок 10 синхронизации, счетчик 11 времени и блок 12 памяти. Новые конструктивные признаки системы позволяют реализовать непосредственный переход из заданной точки основной памяти в заданную точку теневой памяти так, как если бы точка перехода находилась в программе того же блока памяти, что и команда перехода.

1 3. п. ф-лы, 5 ил.

1481774

55

Изобретение относится к вычислительной технике и может быть использовано для отладки программ микропроцессорных вычислительных комплексов.

Цель изобретения — повышение быстродействия при отладке.

На фиг. изображена структурная схема системы; на фиг. 2 — схема блока обработки; на фиг. 3 — схема блока ввода; на фиг. 4 — схема блока отображения; на фиг. 5 — схема блока асинхронной связи; на фиг. 6 — коммутатор сигналов обращения; на фиг. 7 — схема шинного формирователя адреса; на фиг. 8 — схема генератора; на фиг. 9 — схема дешифратора; на фиг. 10 — схема блока задания перехода; на фиг. 11 — схема блока синхронизации; на фиг. 12 — счетчик времени; на фиг. 13 -- клавиатура;. на фиг. 14 -- блок памяти; на фиг. 15 — временныс диаграммы работы систем ы.

Система для отладки программ (фиг. 1) содержит блок l обработки, блок 2 ввода, блок 3 отображения, блок 4 асинхронной связи, коммутатор 5 сигналов обращения, шинный формирователь 6 адреса, тактовый генератор 7, дешифратор 8, блок 9 задания перехода, блок 10 синхронизации, счетчик 11 времени, блок 12 памяти, шины адреса 13, данных 14 и управления 15. Символами

16 — 53 обозначены входы и выходы блоков и узлов системы. Выход 16 — выход блока 4, вход 7 установки в исходное состояние системы, вхо l 18 ответ блока 10, группа адресных выходов 19 микропроцессора l, входы-выходы 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, выход 5! дешифратора 8, вход 52 счетчика 11 времени, вход 53 блока 12 памяти.

Ьлок 1 (фиг. 2) предназначен для выполнения программ отладки или других заданных программ.

Он может быть реализован на известном БИС процессоре, например, типа

К580ИК80 или другом аналогичном.

Ьлок I содержит микропроцессор 54, группа адресных выходов 55 которой образует группу 19 адресных выходов блока 1.

Группа 56 входов-выходов данных блока 54 образует одноименную группу 20 входоввыходов блока 1.

Выходы RD, WR, %1, КАТК и SYN микропроцессора 54 образуют соответственно выходы чтения (приема) 57.1, записи

57.2, ожидания 57.3, запроса захвата 57.4 и синхронизации 57.5 группы 21 управляющих выходов блока .

Вход 24 запроса прерывания блока 1 является одноименным входом (RA) микропроцессора 54.

Входы первого 58.1 — четвертого 58.2 разрядов группы 22 входов блока 1 соединены соответственно с первым Fl, вторым

Г2 входами тактовых сигналов, входом начальной установки (1 ) и входом запроса захвата (RA) блока 54.

Алгоритмы функционирования блока полностью идентичны соответствующим алгоритмам известного микропроцессора

К580И К80.

Блок 2 ввода (фиг. 3) содержит клавиатуру 59 и шинный формирователь 60, группа выходов которого образует группу 23 выходов блока 2. Вход 25 блока 2 соединен с управляюгцим (CS) входом формировате. ля 60 и входом клавиатуры 59, группа 61 выходов и управляюший выход которой соединены соответственно с группой входов формирователя 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.

Группа выходов 65 данных каналов БО блока 62 соединена с группой информационных входов дисплея 63.

Разряды 66.1 и 66.2 группы выходов 66 данных канала Вl блока 62 соединены соответственно с группами управляюгцих входов дисплея 63 и клавиатуры 64.

Группа 67 информационных выходов клавиатуры 64 соединена с группой входов к а н ал а В2 бл ока 62.

1481774

Группа 14 входов-выходов данных блока 3 соединена с одноименной группой входоввыходов блока 62.

Группа 13 адресных входов, входы 28 и 26 блока 3 соединены соответственно с ад- 5 ресными входами (А) выбора каналов, входом выбора устройства (CS) и входом (R) начальной установки блока 62.

Входы разрядов управления чтением 68.1 и записью 68.2 группы 27 входов блока 3 соединены соответственно с входами чтения (RD) и записи (WR) данных блока 62, Блок 3 предназначен для отображения информации при отладке. Он может быть выполнен по известной схеме с использованием программируемого устройства ввода- 15 вывода параллельной информации различного формата, а также знакосинтезирующего дисплея и матричной клавиатуры. При этом канал В! применяется известным образом для сканирования дисплея и клавиатуры, канал В Я вЂ” для записи кода очередного отображаемого разряда дисплея, а канал

В2 — — для чтения кода нажатой клавиши с матрицы клавиатуры. Дешифрирование и сканирование клавиатуры может осуществляться программно. 25

В частности, в блоке 3 к блоку 62 может быть подключено репрограммируемое ПЗУ для хранения информации при отладке.

Блок 4 асинхронной связи (фиг. 5) содержит синхронно-асинхронный приемопередатчик 69, группа входов-выходов (D) дан- 30 ных которого соединена с группой 34 входов-выходов данных блока 4.

Входы 31, 30, 29 блока 4 соединены соответственно с входами синхросигнала (SIN), управление/данные (AD) и выбора устройства (CS) приемопередатчика 69. 35

Вход приемника и выход 70 передатчика приемопередатчика 69 образуют группу !6 входов-выходов блока 4.

Вход 33 блока 4 соединен с входами синхронизации передатчика CD и приемника CD приемопередатчика 69.

Выход 71 запроса приемника терминала (RTS) приемопередатчика 69 соединен с входом готовности приемника терминала (QTS) приемопередатчик- 69.

Выход 72 запроса передатчика термина- 4 ла (DTR) соединен с входом готовности передатчика терминала (DSR) приемопередатчика 69.

Входы разрядов управления чтением 73,1 и записью 73.2 группы 32 управляющих вхо- 50 дов коммутатора 5 соединены соответственно с одноименным входами КЭ и WR приемопередатчика 69.

Блок 4 предназначен для организации двунаправленного обмена данными между системой и внешними устройствами и последовательном коде. Причем в качестве внешних устройств могут использоваться известным образом клавиатура, цифровой или телевизионный дисплей, АЦПУ, графопостроители и др. устройства.

Обмен информацией с такими устройствами может осуществляться по одному каналу, на входе и выходе которого подключаются аналогично показанному на фиг. I, 5 блоки 4, работающие в режимах приема и передачи.

Блок 4 может быть выполнен на известной микросхеме типа К580ВВ51А (на фиг. 5 показаны только те входы и выходы приемопередатчика 69, которые необходимы для пояснемия его работы).

При передаче данных приемопередатчик

69 преобразует данные в параллельном коде в последовательность символов со служебной информацией и выдает ее в канал с различной (задаваемой программой) скоростью.

Причем данные могут передаваться по каналам связи в синхронном или асинхронном режиме. В системе блок 4 работает в режиме внешней синхронизации.

Группа входов-выходов 34 данных предназначена для приема и передачи данных в и а р алл ел ь нам коде.

Вход 3! предназначен для подачи синхросигналов от генератора 7.

Вход 30 (управление/данные) служит для подачи сигнала записи-чтения данных или управляющих сигналов. Нулевой уровень сигнала на этом выходе указывает на возможность записи-чтения данных, а единичный разрешает запись в приемопередатчик 69 управляющего слова или считывание информации о состоянии схемы.

Вход 73.1 чтения предназначен для подачи входного сигнала, разрешающего передачу данных и информации состояния приемопередатчика 69 на шину данных системы.

Вход 73.2 записи предназначен для подачи входного сигнала, разрешающего передачу данных и управляющего слова с шины данных системы в приемопередатчик 69.

Вход 29 предназначен для выбора кристалла (CS) приемопередатчика 69.

Входы 33 синхронизации (CD) приема и передачи предназначены для приема тактовых сигналов от внешнего устройства синхронизации.

Вход STS готовности приемника терминала предназначен для информирования приемопередатчика 69 о готовности приемника терминала принять в ответ на сигнал запроса по выходу RTS запроса приемника терминала.

Выход 70.1 и вход 70.2 являются выходом передатчика и входом приемника приемопередатчика 69 соответственно.

Вход DSR готовности передатчика терминала предназначен для подачи входного сигнала, информирующего приемопередатчик 69 о готовности внешнего передатчика к посылке информации по каналу связи. Состояние сигнала на этом входе может быть опреде1481774 лено по разряду 0 7 слова состояния приемопередатчика 69 при его чтении.

Выход DTR предназначен для подачи сигнала, информирующего внешний передатчик о готовности канала приемника приемопередатчика 69 к приему информации и проверке готовности передатчика к работе.

Выход RTS запроса приемника терминала приемопередатчика 69 предназначен для подачи выходного сигнала запроса о готовности приемника терминала к приему данных.

Для работы с блоком в него записываются команды начальной установки. Посредством записи управляю1цих слов приемопередатчика 69 задается скорость приемапсредачи данных, количество разрядов в каждом данном, число разрядов останова, режим работы, ilHëè÷èå или отсутствие разряда четности каждОГО ",а11нОГО и р. информация.

I1ðè этом упранля с)1ц!1. сх1О1;а 11одраздсляются на два THlll: "1:, ;,ð" ê,:,: р! жима и инструкции кома!,! !! р и об м е и е да:1н ы. 1и и р и е)1О:1е р =дат "I è ê

69 11рсобразует информацию из парил ;Ib1!ОГО КОДа! В ПОС,1СДОВЯТел Ьн Ы !! ° 11 Иоб1)рот.

11рич M сo стороны системы Ocуществляется

Обмен в параллельном кодс, а со стороны

Впе1п них устройств в 11оследовательном.

Дешифратор сип1алов Обращения (фиг,6) содержит блок 74 формирования магистралей управления. ! руппа 20 входов-выходов данных коммута)ора 5 соединена с одноименной перВой группой входов-выходов (D) блока 74.

Вход 37 и группа 35 входов-выходов коммутатора 5 соеди11ены соответственно с Вхо,1ом и!равления системной шиной (8 ) 1х1)

11 Вто Рой ГP 3 и ПОЙ 13 ХОДОВ-Вы ходог! Дс1 H1 1 bl x (DB) блока 74.

Выходы управления запис)ИО (WRM), чтением (К1)м), приемом (wRJo) и выдачей (RDJO) блока 74 образуют соответственно выходы о.!поименных разрядов 75.1, 75.2, 75.3 и 75.4 группы 36 выходов коммутатора 5.

Входы разря,.!ов 76.1, 76.2 и 76.3 группы 21

Входов коммутатора 5 соединены соотвст ственно с Входами чтения (СК1Э), записи (СWR), разрешения доступа к магистрали (КАТК) блока 74.

Вход управления системной шиной (DE) соед)шен с входом разряда 76.3 группы 21 !

ЗхОдОВ K0%1!)yтатора 5.

Коммутатор 5 предназначен для организации управления доступом микропроцессора к шине данных, а также для формирования на группе 36 выходОВ сигналов па шину управления системы на основании выходных управляющих сип1алов блока 1 обработки, поступающих па группу 21 входов коммутатора 5.

Алгоритм функционирования коммутатора 5 идентичен известному для микросхем ы К580В К28. Шинный формирователь 6 адреса (фиг. 7) содержит шинные формирователи 77 и 78, выходы 79 и 80 — группу 13 выходов формирователя 6, информационные входы 81 и 82 которых образуют группу 19 входов формирователя 6. Управляющие входы (МС и CS) формирователей 77 и 78 соединены с шиной нулевого потенциала.

Формирователи 77 и 78 могут быть реализованы на известных микросхемах, например, типа К580ВА86, Формирователь 6 предназначен для соединения группы 19 адресных выходов блока 1 обработки с шиной 13 адреса системы.

Генератор 7 (фиг. 8) содержит генера15 тор 83 тактовых импульсов, который может быть выполнен на известной микросхеме типа К580ГФ24, или другой аналогичной.

Выходы 84.1, (Г 1), 84.2 (F 2), 31 (Г 21T), 84.3 (SR), 84.4 (WI) и 37 (CSA) предназна;сны соответственно для вь)дачи сигналов синхроимпульсон, сигнала фазы (уровнем

П ), сигнала «Сброс», сигнала готовности и строба фиксации состояния.

Выходы разрядов 84.1, 84.2, 84.3, 84.4 гругшы 22 выходов генератора 7 (фиг. 8)

25 соединены соответственно с входами 58.1 (Г 1), 58.2 (F 2), 58.3 (R) и 58.4 (RA) микропроцессора 54 (фиг. 2) .

Входы Cl и С2 генератора 83 (фиг. 8) предназначены для подключения колебательного контура, собранного из последовательЗО i!o включенных емкости С и кварцевого резонатора G 1.

Входы 17 (RII1I), 50 (АМ), 38 (SYX) генератора 83 предназначены для подачи сигналов сброса, готовности и синхронизации соответственно.

35 Генератор 7 предназначен для формирования периодической последовательности импульсов положительной полярности с несовпадающими фазами опорной частоты F 1 и

Г 2 на выходах 84.1 и 84.2.

Кроме того, на выходе 31 (F2TT) формируется тактовый импульс F2TT положит льной полярности со стандартными уровнями TTL логики, на выходе 37 — импульс стробирования состояния системы ком4 мутатора 5 (фиг. !).

На Вь|ходе SR (фиг. 8) формируется сигнал сброса микропроцессора, а на выходе )) 1 — сигнал, информирующий процессор о

1 ОТОВПОСТИ СИСТЕМЫ.

Дешифратор 8 (фиг. 9) содержит дешиф50 ратор 85, группа 13 входов которого является группой входов де1цифратора 8, а нулеВой --- четвертый выходы образуют соответственно выходы 39, 28, 40, 29 и 51 дешифратора 8.

Дешифратор 8 предназначен для задания собственного адреса устройства и блокОВ, к которым подключены егo выходы.

Ьлок 9 задания перехода (фиг. 10) содержит счетчик 86, первый триггер 87, второй

1481774

10

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. Выходы переполнения (OF) и нулевого состояния (Z) счетчика 86 соединены соответственно с единичным и нулевым входами триггера 88, единичный выход которого соединен с первым входом элемента И 91.

Выходы элементов И 91 и И 92 соединены соответственно с суммирующим (+1) и вычитающим (— 1) входами счетчика 86 соответст вен но.

Вход 26 блока 9 соединен с нулевым входом (К) триггера 87 и установочным входом счетчика 86.

Единичный и нулевой выходы триггера 87 соединены с вторыми входами элементов И 91 и И 92 соответственно.

Вход 39 блока 9 соединен с вторым входом элемента И 89, выход которого соединен с синхровходом триггера 8?.

Вход 38 блока 9 соединен с третьим входом элемента И 91 и вторым входом элемента И 92.

Вход 43 блока 9 соединен с информационным (D) входом триггера 87.

Блок 9 предназначен для переключения блоков теневой и основной памяти по команде вывода в порт (триггер 87) переключения памяти с задержкой на время выборки блоком 1 команды перехода (ЗМР) из той же области памяти, из которой осуществлялась выборка команды вывода в порт перекл юче ни я.

Счетчик 86 предназначен для отсчета времени задержки на время выборки команды перехода (JNP). Время задержки отсчитывается путем подсчета сигналов синхронизации (SYX), поступающих на вход 38 блока 9 с выхода синхронизации 57.5 (фиг. 2) блока обработки 1 в начале каждого машинного цикла.

Сигнал на .выходе переполнения OF (нулевого состояния Z) выдается при отработке такого количества машинных циклов, которое необходимо для выборки команды перехода (JNP) при отсчете от нулевого состояния счетчика (состояния переполнения) .

Если счетчик 86 находится в нулевом состоянии, то при поступлении импульсов на вычитающий вход (— 1) его состояние не изменяется.

55

Триггер 87 выполняет роль, орта начала переключения типа памяти, а трипер 88— окончания переключения.

Элемент И 89 предназначен для формирования сигнала записи в триггер 87 переключения блоков памяти (теневой и основной) .

Элемент И 90 предназначен для управления передачей кода адреса в блок 12 памяти при наличии управляющего сигнала записи с входа 94.2 блока 9.

Элемент И 91 предназначен для управления подачей на счетный вход (+ 1) счетчика 86 импульсов синхронизации с входа 38 блока 9 для задержки переключения с основной памяти на теневую.

Триггер 88 предназначен для выдачи на выходы 93.1 и 93.2 сигнала включения основной и теневой памяти в блоке 12 памяти.

Единичное (нулевое) состояние триггера

88 соответствует включению теневой (основной) памяти в блоке 12.

Единичное (нулевое) состояние триггера 87 соответствует переходу к теневой (основной) памяти.

Блок !О синхронизации (фиг. 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 управления системы (фиг. ). Этот сигнал формируется при асинхронном обмене с внешними устройствами, которые могут подключаться к шинам 3, !4 и 15 системы в соответствии с известным интерфейсом ИК 1.

Входы разрядов 100.1, 100.2 и 100.3 группы 48 входов блока 10 предназначены для подачи сигналов чтения, записи и выдачи с соответствующих разрядов шины 15 управления системы (фиг. 1).

Группа 47 входов предназначена для подачи сигналов выбора собственного адреса блока 10 с шины 13 адреса системы (фиг. 1) .

1481774

Вход 48 предназначен (фиг. 11) для подачи сигнала — признака нахождения блока 1 (фиг. 2) в состоянии ожидания. Этот. сигнал поступает с выхода 57.3 микропроцессора 54. 5

Вход 51 предназначен для подачи сигнала, разрешающего формирование сигнала подтверждения на выходе 25 с выхода 51 дешифратора 8.

Выход 50 предназначен для формирования сигнала готовности на вход AN генератора 7 (фиг. 8).

Счетчик 11 (фиг. 12) времени предназначен для организации временных интервалов при отладке, а также для синхронизации работы блока 4 (фиг. 1) асинхронной связи. !5

Счетчик 11 (фиг. 12) может быть выполнен на известной микросхеме типа К580ВИ53.

Группа 14 входов-выходов счетчика 11 соединена с группой одноиме IIII х вхо1013ныходов блока 101 счета.

Входы первого 102.1 и второго !02.2 разрядов группы 49 входов счетчика 11 соединены соответственно с входами Ао и Al блока 101.

Входы разрядов управления чтением ! 03. и записью 103.2 группы 52 входов счетчика 11 соединены соответственно с входами чтения (RD) и записи (WR) блока 101.

Вход 40 счетчика 11 соединен с входом CS выбора устройства блока 101.

Вход 3! счетчика 11 соединен с входами 30 тактовой частоты первого (ЬУМ ф), второго (SYN1) и третьего (SYN2) каналов.

Выход (СКЯ) первого канала блока 101 соединен с выходом 33 блока 11.

Входы разрешения работы первого (STD) второго (STI ) и третьего (ST2) каналов Зу олока 101 соединены с шиной нулевого потенциала источника питания.

Выходы второго (CRI) и третьего (CR2) каналов блока 101 не используются.

Входы-выходы данных (D) блока 101 предназначены для передачи данных и управ- 40 ляющих слов между блоками 1 (фиг. 1, 2) и выбранными каналами блока 101.

Входы 102.1 и 102.2 блока 101 предназначены для задания блоку 101 выбора одного из каналов или регистра управления.

Входы управления чтением (RD) и запись (WR) блока 101 предназначены для подачи сигналов на выдачу данных из внутренних регистров блока 101 на входы-выходы 14 данных блока 101 и на запись данных с входов-выходов !4 в блок 101.

Всход,CS блока 101 предназначен для подачи сигнала выбора микросхемы.

Входы SYN, ST и выход CR каждого из трех каналов блока 101 предназначены для подачи импульсов входной частоты сигнала разрешения работы и выдачи выходных сиг- 55 н алов.

В системе блок 101 используется в режиме генератора тактовых импульсов.

Режим работы блока 101 задается известным образом при начальной установке с помощью команд вывода данных из блока 1 путем записи управляющего слова в регистр режима канала.

Клавиатура 59 (фиг. 13) содержит триггер 104, шифратор 105, элемент ИЛИ-НЕ

106, элемент НЕ 107, группу 108 элементов коммутации.

Нулевой выход триггера 104 является выходом 24, а группа выходов шифратора 105 образует группу 61 выходов клавиатуры 59.

Нормально замкнутые контакты элементов 108.1 — 108.М коммутации и вход элемента НЕ 107 соединены с шиной нулевого потенциала источника питания. Выход элемента HE 107 соединен с нормально разомкнутыми контактами элементов 108.! †1.Х коммутации, выходы которых соединены с входами шифратора 105 и входами элемента ИЛИ-НЕ 106.

Выход элемента ИЛИ-HE соединен с Jи С-входами триггера 104, нулевой вход (К) которого подключен к входу 25 клавиатуры 59.

Клавиатура 59 предназначена для осуществления внешнего ввода данных в систему для отладки, Триггер 104 предназначен для формирования сигнала запроса в микропроцессор 1 на выходе 24 клавиатуры 59.

Шифратор 105 предназначен для формирования кода, соответствующего сигналу, который поступает с одного из элементов

108.1 — 108.N коммутации.

Элемент ИЛИ-НЕ !06 предназначен для формирования сигнала запроса в триггер 104 при замыкании одного из элементов 108.1— ! 08. N ком м ута ци и.

При замыкании одного из элементов

108.1 — 108.N коммутации на выходе С! шифратора устанавливается соответствующий код для передачи на шину 14 данных систем (фиг. 1). Кроме того, выходным сигналом элемента ИЛИ-НЕ 106 триггер 104 устанавливается в единичное состояние, вырабатывая инверсный сигнал запроса на выходе 24. По этому сигналу блок переходит в режим прерывания и подает на вход 25 клавиатуры 59 сигнал подтверждения прерывания, по которому осуществляется возврат триггера 104 в исходное состояние и снятие сигнала запроса.

Блок 12 памяти (фиг. 14) содержит блоки теневой 109 и основной 110 памяти, входывыходы данных (D) которых соединены с вхо. дом 14 данных блока 12. Входы управления включением блоков теневой 109 и основной 110 памяти группы 41 управляющих входов блока 12 соединены соответственно с входами выбора (CS) блоков 109 и 110.

Управляющий вход 53 блока 12 соединен с управляющими входами блоков !09 и 110.

1481774

Группа 42 адресных входов блока 12 соединена с одноименными группами входов блоков !09 и 110 памяти.

Входы 111.1 и 1.11.2 служат для подачи сигналов включения теневой 109 и основной !10 блоков памяти с выходов 93.1 и 93.2 блока 9 (фиг. 10) соответственно.

Вход 53 предназначен для управления режимом работы (запись/чтение) блоков 109 и 110 памяти.

Шины адреса 13, данных 14 и управления 15 системой предназначены для передачи соответствующих сигналов, например, в соответствии со стандартным интерфейсом ИК 1.

Группа 16 входов-выходов системы пред- 15 назначена для сопряжения ее с внешними устройствами, работающими в последовательном коде, например клавиатурой, цифровым или телевизионным дисплеем, АЦПУ, графопостроителями и другими устройствами

На фиг. 15 приведены временные диаграммы работы системы в различных режимах работы.

Для пояснения работы системы ее удобно подразделить на следующие подсистемы: процессорная часть, содержащая блок 1 об- 2д работки, коммутатор 5 сигналов обращения, шинный формирователь 6 адреса, генератор 7, дешифратор 8, блок 10 синхронизации и счетчик 11 времени; память системы, содержащая блок 9 задания перехода и блок

12 памяти; блок 3 отображения. зр

Поскольку цель. изобретения состоит в повышении оперативности отладки за счет специальной организации управления переходами между основной и теневой памятью блока 12, особенности функционирования системы рассмотрим на примере организа- 35 ции управления переходами между блоком теневой 109 и основной l! 0 памяти олока 12 (фи(. !4)

Блок 1 обработки (фиг. 1) обеспечивает обмен с памятью в пределах адресного пространства, не превосходящего размер каждого из блоков основной 110 или теневой 109 памяти. Поэтому для расширения объема памяти, используемого для хранения отлаживаемых программ (программ пользователей), физически массив всех программ системы подразделен на два подмассива. Первый подмассив, содержащий, в основном, программы пользователей, хранится в блоке 110 основной памяти, а второй, содержащий служебные программы, например, комплексы шаговой отладки, тестового конт- 5р роля и другие вспомогательные программы, хранится в блоке 109 теневой памяти.

Поскольку адресное пространство обоих блоков памяти идентично, то обращение микропроцессора к памяти происходит известным образом в соответствии с управляющими сигналами, которые вырабатываются коммутатором 5 (см. фиг. 6) на выходах 75.1 н 75.2.

Для задания соответствующего режима работы блока 1 обработки (фиг. 1) в первом такте каждого машинного цикла генерирует на шине 20 слово состояния, которое по сигналу с входа 37 блока 1 (фиг. 2) записывается s соответствующий регистр блока 74.

Всего для блока обработки (микропроцессора типа К580ИК80) предусмотрено десять типов машинных циклов, задаваемых соответствующим кодом слова состояния в блоке 74.

Управляющие выходы 36 коммутатора 5 подключаются к одноименным разрядам шины 15 управления.

Адресация внешних по отношению к блоку I устройств и блоков 9, 3, IO, 4 и 11 осуществляется аналогично адресации ячеек памяти.

Для выбора соответствующего блока блок 1 обработки выставляет на группе 19 выходов адрес обращения, который через формирователь поступает на шину 13 адреса и далее на входы соответствующих блоков.

Ввод-вывод информации в системе может осуществляться через блок 2 ввода данных, блок 4 асинхронной связи и, кроме того, посредством любых соответствующих внешних устройств, подключение которых допускается к шинам 13 — 15 в соответствии с интерфейсом ИК 1.

При этом с помощью блока 2 ввода (фиг. 3) осуществляется ввод данных с клавиатуры 59. Для реализации ввода из блока 2 используется аппарат прерываний блока 1.

При замыкании нормально разокнутого контакта 108 ((i с 1, N) срабатывает элемент ИЛИ-НЕ 106, выходной сигнал которого переводит триггер 104 в единичное состояние.

Сигнал (с активным низким уровнем) с нулевого выхода 24 триггера 104 поступает на вход запроса прерывания RQ микропроцессора 54 (фиг. 2).

После этого микропроцессор 54 известным образом переходит в цикл обработки прерывания, в котором на шине 19 адреса выставляется адрес обращения к блоку 2 (фиг. 1). Код адреса поступает на вход дешифратора 8, который срабатывает по выходу 51.

Сигнал с выхода 5! дешифратора 8 (фиг. 1) поступает на вход элемента ИЛИ 99 и далее с его выхода 25 — на одноименный нулевой вход (К) триггера 104 (фиг. 13), который, возвращаясь в исходное состояние, снимает сигнал запроса прерывания с выхода 24.

Сигнал с элементов 108 ((i e i, N) коммутации поступает на вход шифратора 105, на выходе 61 которого формируется соответствующий код, поступающий на группу А входов формирователя 60 блока 2 (фиг. 3).

Формирователь 60 открывается сигналом с входа 25 блока 2 и передает на шину 14

1481774

10

20 данных с выходов 23 код, сформированный шифратором 105 (фиг. 13), который считывается микропроцессором через коммутатор 5 (фиг. 6).

Ввод-вывод через блок 4 асинхронной связи (фи r. 5) осуществляется следующим образом.

Для обмена системой через блок 4 известным образом может подключаться цифровой или. телевизионный дисплей, АЦПУ, графопостроитель или любое другое устройство, осуществляющее обмен данными в последовательном коде.

Если к системе подключается внешнее устройство, работающее только на прием или передачу, то для осуществления обмена достаточно наличие только одного блока

69 В блоке 4 (фиг. 5).

Г!ри осуществлении двуняпрявл(нного o(>мена данными необходи 10 иметь не менее двух блоков 69, один из которых должен ряботать в режиме передач:; и, ., : (ч,

Блок 69 может быть программно установлен в один из пяти режимов работы: асинхронная передача, асинхронный прием, синхронная передача, синхронный прием данных с внутренней синхронизацией, синхронный прием данных с внешней синхронизацией.

В системе блок 69 используется в асинхронном режиме.

Г1ередача данных осуществляется всегда, начиная с младшего разряда. Начальная установка блока 69 осуществляется программно известным образом, с помощью команд начальной установки.

В результате записи управляюгцих слов

Олок 69 получает информацию о скорости приема-передачи данных, количестве разрядов в каждом данном, числе разрядов останова, режиме работы (синхропный), наличии и !II отсутствии разряда четности каждого данного. При синхронном режиме приема данных указывается также тип внешней синхронизации.

Управляющие слова, принимаемые блоком 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>8>, поступающим lid вход 11!.2 блока 12, подключен блок 110 основной пямя". и, х ран яп(и и и !)ОГ>)ам.",>> ы пол азов ят(ля и Ос>(О»пые 11рогр ям м1>! О Гл а;> ки.

При Ор(янизяции переходов!Iежду Kомандами программы, хранящейся В памяти 110, запись единицы в триггер 87 не производится. При наличии сигналоз записи или чтения на входах 94.2 или 94.3, соответственно, адрес обращения к памяти с группы 45 входов блока 9 (фиг. 10) через элемент И 90 поступde) на входы 42 блока 110, задавая тем самым ячейку для обращения. Тем самым обеспечивается выбор команды в том же блоке памяти.

Если же необходимо осуществить переход из основного блока 110 памяти в теневой 109, то блоком 1 (фиг. 1) на шине 13 адреса на входы дешифратора 8 задается адрес сбращенпя к триггеру 87 (фиг. 10).

При этом эл ìåíò И 89 открывается по входу 39 выходным сигналом дешифратора 8.

Далее по управляющему сигналх с в Ix()дя 75.3 коммутатора 5 (фиГ. 6) . Поступ як)ще vló Hd вход 94.1 элемента 89 И, разрешается запись по С-Входу в триггер 87.

Одновременно на шине данных 14 блоком 1 (фиг. 1) по г>торой команде стандартной последовательности перехода между теневой (основной) и основной (теневой) памятью-запис)но в порт (триггер 87) переключения памяти выстазляется байт данных, нулевой разряд которого, имеющий единичное значение, постугает на вход 43 блока 9 (фиг. 10) и устананпивает триггер 87 в едипичное состояние.

После этого блок 1 обработки переходит к выборке третьей команды (JM1 ) стандартной последовательности перехода, н процессе которой осугцествляется несколько (в слу <яе микропроцессора К580ИК80 или другого аналогичного — три) обращений )( памяти. 1!ри этом при каждом Обращении блоком 1 обработки (фиг. 2) на выходе

57.5 8 ) М вырабатывается синхросигнал, ко17

1481774 торый через открытый элемент И 91 поступает на счетный вход (+ 1) счетчика 86.

После выборки команды перехода (ЗМР), в процессе которой счетчик подсчитывает число обращений к памяти, счетчик 86 пере- 5 ходит в состояние переполнения, когда на его выходе OF появляется единичный сигнал.

По этому сигналу триггер 88 устанавливается в единичное состояние. Сигнал с единичного выхода 93.1 триггера 88 поступает на вход 111.1 блока 12 (фиг. 14), тем самым включая блок 109 теневой памяти.

Поэтому очередное обращение блока 1 обработки происходит уже к бло.<у 109 теневой памяти.

Переход из программы, находящейся в 15 блоке 109 теневой памяти, к команде, находящейся в блоке 1!О основной памяти, осуществляется следующим образом.

Аналогично описанному -,о второй команде стандартной последовательности перехода осуществляется з ;ï.è,ñü нуля в триггер 89. При это."л о крывается элсмен" И 92, разрешающий поступление импульсов с входа 38 на вы .итающий вход (— 1) счетчика 86.

После выборки третьей команды (коман- 25 дь перехода,)МР) появляется сигнал на выходе Z счетчика 86, которой устанавливает триггер 88 в нулевое состояние. Сигналом с нулевого выхода 93.2 триггера 88 происходит включение блока 110 основной памяти. 30

Таким образом, осуществляются переходы между любыми заданными точками в теневом (основиом) и основном (теневом) блоках памяти.

Формила изобретения

1. Система для отладки программ, содержащая блок обработки, блок отображения,