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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может найти применение для отладки аппаратно программных средств микропроцессоров. Устройство содержит генератор импульсов, десять дешифраторов, три элемента задержки, четыре регистра, десять триггеров,одновибратор, блок постоянной памяти, три блока оперативной памяти, два счетчика, два мультиплексора, пять элементов НЕ, четыре элемента И, схему сравнения, группу триггеров. Устройство позволяет фиксировать глубину очереди команд и проводить благодаря этому расшифровку трассировочной информации на программном уровне. В результате можно сократить объем блока памяти, необходимый для запоминания информации о выполнении программы, повысить производительность отладки. 4 ил.

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

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

РЕСПУБЛИК

„„SU„„1497617 (5!)4 G 06 F 11 28

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

К А BTOPCHOIVIY СВИДЕТЕЛЬСТВУ

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

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР (2I) 4286875/24-24 (22) 20.07.87 (46) 30.07.89. Бюл. Ф 28 (71) Институт кибернетики им. В.М.Глушкова (72) О.В.Цвелодуб, В.Л.Леонтьев, В.И.Сигелов, А.В.Палагин, Э.П.Дзисяк, А.И.Абрамов, С.Ф.Глизер и П.Ю.Мартынюк-Лотоцкий (53) 681.3(088.8) (56) Микропроцессоры. Системы программирования и отладки. /Под ред.

В.А,Мясникова и др. М.: Энергоатомиздат, 1985.

Авторское свидетельство СССР

1363219, кл. G 06 F 11/28, 1986. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ ПРОГРАММНО-АППАРАТНЫХ БЛОКОВ (57) Изобретение относится к вычислиИзобретение относится к вычислительной технике и может быть исполь- . зовано при разработке микроЭВМ и других средств вычислительной техники на основе однокристальных микропроцессоров.

Целью изобретения является сокращение объема блока памяти, необходи-. мого для запоминания информации о выполнении программы.

На фиг.! и 2 приведена схема предлагаемого устройства для отладки программно-аппаратных блоков.

Устройство содержит первый 1 и второй 2 блоки микропрограммного управления, генератор 3 импульсов, второй 4, третий 5, десятый 6 и пер-I

2 . тельной технике и может найти применение для отладки аппаратно-программных средств микропроцессоров. Устройство содержит генератор импульсов, десять дешифраторов, три элемента задержки, четыре регистра, десять триггеров, одновибратор, блок постоянной памяти, три блока оперативной памяти, два счетчика, два мультиплексора, пять элементов НЕ, четыре элемента И, схему сравнения, группу триггеров.

Устройство позволяет фиксировать глубину очереди команд и проводить благодаря этому расшифровку трассировочной информации на программном уровне. В результате можно сократить объем блока памяти, необходимый для запоминания информации о выполнении программы, и повысить производительность отладки. 2 ил. вый 7 дешифраторы, первый элемент 8 задержки, восьмой 9, четвертый 10, седьмой ll, девятый 12, пятый 13 и шестой 14 дешифраторы, первый 15 и второй 16 регистры, третий 17, четвертый 18, пятый 19 и шестой 20 триггеры, одновибратор 21, блок 22 постоянной памяти, первый 23, второй

24 и третий 25 блоки оперативной памяти, седьмой триггер 26, первый

27 и второй 28 счетчики, второй 29 и первый 30 мультиплексоры, третий

3I и четвертый 3? регистры, первый

33 и второй 34 триггеры, второй 35 и первый 36 элементы HF., третий 37, первый 38 и второй 39 элементы И, схему

40 сравнения, третий 41, четвертый

3 149761

42 и пятый 43 эл Mt Hòû ПЕ, че TBt ртый элемент И 44, второй 45 и третий 46 элементы задержки, восьмой 47, девятый 48 и десятый 49 триггеры, группу триггеров 50, первый выхоц 51 строба ацреса, первый 52 и второй 53 выхоцы признака задания режима, выход 54 признака выборки команцы, вход 55 признака готовности, второй 56 и пер- lp вый 57 выходы признака готовности, вторые адресные входы 58, вторую двунаправленную информационную магистраль 59, вход 60 признака чтения, вход 61 признака записи, первый выход !5

62 признака сброса, вход 63 признака выборки команды, первый 64 и второй

65 входы признака задания режима, вход 66 строба адреса устройства, выход 67 генератора импульсов, первый 20

68, второй 69 и третий 70 выходы второго дешифратора, первый вход 71 третьего элемента И, группу входов

72 и выходов 73 восьмого дешифратора, первый 74, второй 75 и третий 76 выходы четвертого дешифратора, первый 77 и второй 78 выходы пятого дешифратора, первые информационные входы-выходы 79 устройства, первый

80, второй Sf и третий 82 выходы десятого цешифратора, выход 83 третьего элемента И, первый 84, второй 85, третий 86, четвертый 87 и пятый 88 выходы седьмого цешифратора, прямой выхоц 89 шестого триггера, второй вход35 вход 90 второго элемента И, прямой выход 91 второго триггера, выхоцы

92 и 93 переполнения второго и первого счетчиков импульсов соответственно, второй 94, третий 95, пятый 96, 40 шестой 97, седьмой 98, восьмой 99, девятый 100 и десятый 101 выходы десятого дешифратора, первые адресные входы 102, первые входы признака записи 103, признака чтения !04, приз- 45 нака сброса 105, третьи информационные входы-выхоцы 106, группу адресных выходов 107, первые входы признака чтения 108, признака записи 109, второй выход 110 признака сброса уст- 0 ройства, информационный вход !11 и выход 112 цесятого триггера 49 и выход 113 восьмого триггера 47.

Устройство работает поц управляющей 3ВМ в качестве которой может быть использована, например, микроЭВМ УВС-OI, и обеспечивает отладку устройств на основе микро1гроцессоров, содержащих встроенную очередь команд, например KISIOBM86 или KISIOBMSS.

Системная шина управляющей ЭВМ подключается к входным шинам устройства цля отладки программно-аппаратных блоков. Выходные шины устройства подключаются к шинам отлаживаемого устройства. Устройство может работать в одном из двух режимов: режиме управления и режиме отладки.

Рассмотрим работу предлагаемого устройства в режиме управления.

Сигнал уровня 0, появляющийся на первом входе 105 признака сброса устройства при нажатии кнопки сброса на пульте управляющей ЭВМ, проходит через второй дешифратор 4 и с выхода

70 последнего воздействует на блоки и 2, первый триггер 33 и седьмой цешифратор 11, выполняя их начальную установку. Через шестой дешифратор

l4 сигнал сброса поступает также на второй выход 110 признака сброса устройства. По окончании воздействия сигнал сброса на выходе 91 режима второго триггера 34 появляется сигнал уровня "0", который через второй элемент И 39 поступает на вход готов" ности блока ЭВМ 1 микропрограммного управления, запрещая ее работу. При этом сигнал уровня "1 с первого выхода 57 признака готовности устройства поступает на вход готовности блока 2, разрешая его.работу ° Блок 2 начинает отработку программы-монитора, содержащейся в блоке 22 постоянной памяти. В соответствии с этой программой блок 2 находится в цикле ожидания команд, подаваемых с управляющей ЭВМ.

Команда в виде соответствующего кода поступает от управляющей ЭВМ по первым информационным входам-выходам 79 и при определенном адресе, выставляемом на первый адресный вход

102 и при наличии сигнала на первом. входе 103 записи запоминается в первом регистре 15. Блок 2 в соответствии с выполняемой программой постоянно опрашивает этот регистр, выставляя соответствующий код ацреса на вторых адресных входах 58 и сигнал на втором входе 60 признака чтения.

Прочитав коц с группы выходов третьего дешифратора 5, бЛок 2 переходит к выполнению программы обработки полученной команцы. В соответствии с получаемыми командами блок 2 производит загрузку третьего блока 25 опе5 14 ративной памяти, третьего 31 и чет— вертого 32 регистров и при необходимости первого блока 23 оперативной памяти. Эти операции выполняются слецук>щим образом.

На вторых адресных вхоцах 58 блок 2 устанавливает адрес, соответствующий оцному иэ узлов устройства, а по второй двунаправленной информационной магистрали 59 блок 2 передает необходимые коды, сопровожцая их сигналом по второму входу 61 признака записи. При этом при обращении блока 2 к первому блоку 23 оперативной памяти на старшей адресной линии присутствует сигнал уровня "0", а при обращении к второму блоку 24 оперативной памяти, четвертому цешифратору 10, пятому дешифратору 13 и шестому дешифратору 14 — сигнал уровня

"1". В третий блок 25 оперативной памяти записывается информация о том, будет ли при отладке использоваться память отлаживаемого устройства или будет ли использоваться первый блок 23 оперативной памяти, в последнем случае 3ВМ 2 загружает в первый блок 23 оперативной памяти отлаживаемую программу. В соответствии с информацией, записанной в третьем блоке 25 оперативной памяти, при отладке на выходе 90 будет вырабатываться соответственно сигнал разрешения работы первого блока 23 оперативной памяти (сигнал уровня

"0") или шестого дешифратора 14 (сигнал уровня "1").

В третий 31 и четвертый 32 регистры записывается условие окончания отладки, при выполнении которого запрещается выполнение отлаживаемой программы подачей на первый выход 62 признака сброса сигнала начальной установки.

Для перехода в режим отладки блок

2, получив соответствующий код команды через первый регистр 15 и третий дешифратор 5, устанавливает на вторых адресных входах 58 коц, состоящий из всех единиц. В этом случае на первом выходе 57 признака готовности вырабатывается сигнал уровня "0", который отключает блок 22 постоянной памяти, поступая на вход готовности блока 2, запрещает его работу, а также поступает на второй вход пятого цешифратора 13, и сигнал уровня ")". на выходе 91, которым разрешается

976) 7

6 работа блока и включается второй блок 24 оперативной памяти.

В режиме отладки работает блок I, выполняя отлаживаемую программу. Блок

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

"o кода из памяти, удовлетворяет эту заявку. Объем запоминающего узла блока очереди команд ограничен, если он заполнен, то блок управления каналом работает вхолостую, если в блок оче25 реди команд можно поместить байты программного кода, то блок управления каналом выполняет цикл выборки из памяти кода команды. Таким обра эом, в блоке ) организована прецвариЗр тельная (заблаговременная) выборка кодов команд, а операции выборки и исполнения совмещены во времени.

Поэтому последовательность выборки не соответствует последовательности их исполнения, в частности команды, которые были выбраны из памяти после выборки команды безусловного перехода, в цействительности исполняться не будут. Чтобы восстановить

4р реальную картину исполнения команд, необходимо иметь сведения о взаимодействии блока исполнения команд с блоком очереди команц. Коц на выходах 64 и 65 признака задания режима

45 свидетельствует о том, что в предыдущем такте из блока очереди команд блока 1 был выбран первый байт кода команды, либо был выбран последующий байт кода команды, либо блок очереди команд был очищен в результате выпол50 нения команды перехода, либо в предшествующем такте блок исполнения команд не обращался к блоку очереди команд. Также необходимо знать количество команц, нахоцящихся в блоке очереди команд в определенные моменты времени. Эту информацию вырабатывает узел, включакщпи десятый дешифратор 6, третий 17, четвертый 18, 1497617

8 пятый 19, шестой 20 и седьмой 26 триггеры, третий элемент И 37, второй 35 и третий 41 элементы НЕ и первый элемент 8 задержки.

Выполняя отлаживаемую программу, блок l производит обращения либо к первому блоку 23 оперативной памяти, либо к памяти отлаживаемого устройства в зависимости от информации, записанной в третьем блоке 25 оперативной памяти, Обмен информацией между памятью и блоком 1 производится через шестой дешифратор 14 следующим образом ° В случае передачи информа- ции от блока 1 в память отлаживаемого устройства информация на вторых адресных входах 58 и второй двунаправленной информационной магистрали

59, сопровождающаяся сигналом на вто- 20 ром входе 61 признака записи, передается через шестой дешифратор 14 при наличии разрешающего сигнала на выходе 90 на группу адресных выходов

107 и третьи информационные входы-вы- 25 ходы 106 к памяти отлаживаемого уст-! ройства, сопровождаясь при этом сигналом по первому выходу 109 признака записи.

При приеме информации из памяти отлаживаемого устройства блок 1 устанавливает на втором выходе 60 признака чтения устройства сигнал чтения данных, который через шестой дешифратор 14 поступает на первый выход

108 признака чтения, а на вторых адресных входах 58 — адрес ячейки, к которой производится обращение. Код адреса через шестой дешифратор 14 поступает на группу адресных выходов 40

107 устройства. Код адреса и сигнал на первом выходе 108 признака чтения будут сохраняться до тех пор, пока память отлаживаемого устройства не установит считанную информацию на 45 третьих информационных входах-выходах 106, с которых через шестой дешифратор 14 она поступит на вторую двунаправленную информационную магистраль

59 ЭВМ 1.

Синхронизация работы блока 1 и памяти отлаживаемого устройства выполняется с помощью входа 55 признака готовности. При обращении к памяти последняя устанавливает на входе 55 сигнал уровня 0, который через тре55 тий вход второго элемента И 39 поступает на торой выход 56 признака готовности, запрещая работу блока 1, сигнал этого уровня остается до тех .пор, пока память не закончит внутренний цикл (т.е. не произведет запись или выдачу информации). По окончании внутреннего цикла на входе 55 признака готовности память устанавливает сигнал уровня "1", который через второй элемент И 39 поступает на второй выход 56. Блок I, обратившись к памяти отлаживаемого устройства, приостанавливает свою работу на все то время, в течение которого на входе

55 признака готовности остается, сигнал уровня "0".

В течение всего времени работы блока 1 включен второй блок 24 оперативной памяти, в котором по положи" тельному фронту конъюнкции сигналов

I на вторых входах 60 и 61 признака чтения и признака записи запоминается информация с вторых адресных входов 58, второй двунаправленной информационной магистрали 59, информационных выходов группы триггеров, а также с инверсного выхода девятого триггера 48, В схеме 40 сравнения в режиме отладки постоянно происходит сравнение кодов адреса с вторых адресных входов 58 с заданными в качестве условий выхода из режима отладки. При совпадении кодов адрес с заданными на выходе 91 вырабатывается сигнал уровня "0", который запрещает запоминание информации во втором блоке 24 оперативной памяти и останавливает блок 1, а на выходе 57 появляется сигнал уровня "1", который разрешает работу блока 22 постоянной памяти и блока 2. Одновременно с этим одновибратор 21 и первый элемент НЕ 36 формируют на линии 62 сигнал начальной установки.

Блок 2 начинает отработку программы, содержащейся в блоке 22 постоянной памяти, и остается в цикле ожидания команды от управляющей ЭВМ. Эти команды, в частности, могут инициировать передачу в управляющую ЭВМ информации, содержащейся во втором блоке 24 оперативной памяти, Таким образом, устройство для отладки программно-аппаратных блоков позволяет моделировать отлаживаемое устройство на самых ранних этапах разработки, используя при этом первый блок 23 оперативной памяти, и производить отладку программного

1497б17

1О обеспечения, необхоцимого цпя работы отлажинаемого устр тйстна, о запоминанием информации но втор.>м блоке 24 оперативной памяти. При отладке обеспечивается останов отпажинаемой программы по ацресу, зацаваемому опетором.

На элементах 46, 45, 49, 44, 42, 37, 41, 48, 47, 50 и 43 реализован 10 узел фиксации глубины очереди команд, который работает следующим образом.

Когда на входах 64 и 65 признака режима устройства появится информация об исполнении первого байта кода 15 команды (коц 10н), срабатывает четвертый элемент И 44 и на его выхоце ill появится сигнал уровня "1" °

Это значение по положительному фронту сигнала синхронизации выхода 67, задержанного третьим элементом 46 задержки, будет переписано на выход десятого триггера 49, гце также появится сигнал уровня "1 . Этот положительный фронт на линии 112 перепи- 25 шет значение глубины очереди команц с входов группы триггеров 50 на ее выходы. Таким образом, на выходах группы триггеров 50 будет нахоцитьсн значение глубины очереди команд 3ВМ 1 30 перед исполнением первого байта кода команды.

Когда на входах 64 и 65 признака режима устройства появится информация об очистке очереди (код "01"), то н положительном полупериоце сигнала синхронизации с выхода 67 сработает третий элемент И 37 и на его выходе появится сигнал уровня "0". По положительному фронту этого сигнала íà 40 инверсном выходе девятого триггера

48 появится сигнал уровня "l", это свидетельствует о том, что была произведена очистка очереди команц.

Запись информации но второй блок 45

24 оперативной памяти происходит в конце такта кажцого цикла шины по отрицательному фронту сигнала синхронизации с выхода 67. Отрицательный фронт To 0 сигнала, ный третьим 46 и нторым 45 элементами задержки на четверть периода сигнала синхронизации < выхода 67, запишет в восьмой триггер 47 ноль и на его выходе 113 появится сигнал уровня "0". По положительному фронту сигнала на входе 63 признака выборки команды, пронин> ртиронанному и задержанному инн> ртором 36, восьмой триггер 47 будет установлен н елиничное состояние. Задержка, вносимая пятым элементом НЕ 43 больше зацержки, вносимой элементами 45 и 46, но меньше половины периода сигнала синхронизации с выхода 67 ° Таким образом, на выходе 113 сразу после записи очередной строки в трассу появится импульс уровня 0, который на выходах группы триггеров 50 и девятого триггера 48 установит сигналы уровня

"0". Если до следующей записи в трассу не будет начато выполнение команды и не будет произведена очистка очереци команд, то там сигналы уровня 0 > так и останутся. Если цо слецующей записи в трассу буцет начато исполнение нескольких команд, то в трассу будет записана глубина очереди ко»анц, соответствующая последней из таких команц.

Шестой дешифратор 14 реализует следующие логические функции (индексы у переменных Х соответствуют номерам входов дешифратора, индексы у переменных Y — номерам выходов дешифторов):

Х„, (1) 1»з = Хь> 7 Хз" (2) у108 = 2(60 ч Х90 Ф (3) (Х (4)

Yyz = Xg< Xso (5)

Y g = Х V X (6)

Х V Х, (7) (8)

11д Х з У Хзр ч Х > 1 (9) (10 )

Из формулы (1) спецует, что дешифратор буферизирует сигнал сброса с первого выхода 62. Сигналы 61, 62, 63, 64, 65, 66 имеют активный низкий уровень и проходят сквозь дешифратор

14 только при наличии сигнала разрешения 90 уровня "1", что свидетельствует об обращении ЭВИ 1 к памяти отпажинаемого устройства (формулы (2) †(8)). Сигналы с второй двунаправленной информационной магистрали 59 прохоцят н отлаживаемое устройство при наличии сигнала разрешения 90 и сигнала признака записи 61. Сигналы с третьих информац>н>нных входов-выходов 106 отлажинаемого устройства прохоцят на вторую двунаправленную информационную магистраль 59 при наличии разрешающего сигнала 90 и сигнала чтения 60, что следует из формул (9) и (10).

1497617

В трс тьем блоке 25 оперативно« пам яти содержится информация, управляющая обращением блока 1 к памяти в ре бимс отладки. Подпрограмма загруз5 ки третьего блока 25 оперативной памяти содержит адрес обращения к этому узлу: при этом четыре старших разряда адреса подаются на первый канал первого мультиплексора 30„ остальные fp разряды адреса подсоединены к соответствующим входам пятого дешифратора 13, четыре старших разряда второй двунаправленной информационной магистрали 59 поступают на входы второ- 15 го канала первого мультиплексора 30, а младший разряд — на информационный вход третьего блока 25 оперативной памяти. Код адреса сопровождается сигналом признака записи 61. При 20 наличии сигналов уровня "0" на втором входе 61 признака записи и первом выходе 57 признака готовности и наличии соответствующего кода на остальных входах пятого дешифратора 13 на первом выходе 77 последнего появI ляется сигнал уровня "1", разрешающий передачу информации через первый канал первого. мультиплексора 30 и зались информации в третий блок 25 30 оперативной памяти. В то же время сигнал на втором выходе 78 имеет уровень "0 . Информация, записанная в третьем блоке 25 оперативной памяти, в дальнейшем будет использовать-35

I ся для определения, где будет располагаться соответствующий сегмент памяти (либо н первом блоке 23 оперативной памяти, либо в отлаживаемом устройстве). При этом младший раз- 40 ряд второй двунаправленной информационной магистрали 59 содержит информацию о месте расположения соотнетстнующих сегментов памяти, а четыре старших разряда содержат код соот- 45 ветствующего сегмента памяти. Если по некоторому адресу в третьем бло-. ке 25 оперативной памяти записан ноль, то в даль«ейшем к соответствующему сегменту будут обращаться в

50 первый блок 23 оперативной памяти, в противном случае — к памяти о глажиВаемоro устройства.

В режиме отладки сигнал на первом выходе 57 приз«ака готовности принимает уровень "1", ири этом на первом выходе 77 ««того д шифратора 13 uol 1 !! является сиг«;сл уровня О, а «а

«11 втором ныхгсис 78 — уровня I «с сависимо от состояния сигналов на остальных входах пятого дешифратора 13.

Сигнал 57 таким образом запрещает зались информации в третий блок 25 оперативной памяти и разрешает считывание информации из этого блока оперативной памяти. Теперь всякий раз, когда блок 1 выставляет на вторых адресных входах 58 новый адрес, его старшие четыре разряда будут проходить через первый канал первого мультиплексора 30 на адресные входы третьего блока 25 оперативной г1амяти, а сигнал на выходе третьего блока

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

Дешифратор 9 ири наличии на его входах 60, 57 и 90 сигнала уровня

"0" передает сигналы с входов 72 на выходы 73 без изменения, в противном случпе сигналы «а выходах 73 имеют уровень "1".

Программиронание третьего 31 и четвертого 32 регистров адресом останова выполнения отлаживаемой программы и сравнение адресов схемой 40 сравнения в режиме отладки осуществляется следующим образом. Сигнал инициализации, появляющийся на первом выходе 62 признака сброса, поступает на инверсный вход установки в

"0« первого триггера 33 и через первый элемент И 38 на тактовый вход второго триггера 34, устанавливая на прямых выходах этих триггеров сигнал уровня "0", а на инверсном выходе второго триггера 34 — сигнал уровня "1". Таким образом, разрешена работа блока 22 постоянной памяти и ЭВМ 2 обрабатынает программу, содержащуюся н блоке 22 постоянной памяти. Получив команду загрузки третьего 31 и четнертого 32 регистров, блок 2 выстав яет соответствую щий адрес обращения на вторых адресных входах 58, сопровождая его сигналом на втором входе 61 признака записи уровня "0, причем старший разряд адреса содержит единицу. При этом н зависимости от выставленного адреса «а перном выходе 74 или втором

«ыходе 75 появится сигнал уровня

"1", производящий запись информации в третий регистр 31 или четвертый регистр 32 соответственно, ири этом н регистр записывается информация с

14976! 7!

4 второй двунаправленной информационной магистрали 59. Таким образом, каждому иэ этих регистров присвоен адрес обращения. В третий регистр

31 записынается коц, который будет старшей частью адреса останова, н четвертый регистр 32 — коц, который будет младшей ча< тью адреса останова. Тогда на выходах этих регистров 10 будет адрес останова, он подается на входы второго сравниваемого числа схемы 40 сравнения. При работе устройства цля отладки программно— аппаратных блоков в режиме отладки на вторых адресных входах 58 будут появляться коды адресов обращения блока I к первому блоку 23 оператинной памяти или памяти отлаживаемого устройства, и как только коц адреса 20 совпадет с кодом, записанным в третьем 31 и четвертом 32 регистрах, схема 40 сравнения сработает и на ее выходе появится сигнал уровня "1", который положительным фронтом, пода- 25 ваемым на оцновибратор 21, вызовет на выходе последнего импульс уровня

1, который, пройдя через первый элемент И 38, своим положительным фронтом установит на выходе 91 низ- 30 кий уровень. Этот же одиночный импульс, пройця через первый элемент

НЕ 36, поступит на первый выход

62 признака сброса, производя начальную установку ЭВМ и других узлов.

Таким образом завершен цикл работы обмен с управляющей ЭВМ вЂ” отладка.

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

При появлении этого адреса на вторых адресных входах 58 на третьем выходе 45

76 четвертого дешифратора 10 появитI ся сигнал уровня "1". Положительным фронтом сигнала на втором входе 61 признака записи информация с информационного входа первого триггера 33 перепишется на его выхоц, эта "1 1, появившаяся на выхоце первого триггера 33, поступит на вхоц установки в "1" второго триггера 34 и на первом выходе 57 признака готовности появится сигнал уровня "0". Этот сигнал запретит работу блока 2 и блока 22 постоянной памяти, а одновременно появившийся сигнал уровня

"1" на выхоце 91 разрешит работу второго блока 24 оперативной памяти и блока 1 ° Последний начнет выполнять отлаживаемую программу.

Г1ервый дешифратор 7 передает информацию с выхоцон второго регистра

i6 на первые информационные вхоцывыходы 79 устройства при наличии сигнала уровня "I" на входе 69, н противном случае на выхоцах первого цешифратора 7 нсе сигналы имеют уровень "1". При необхоцимости передать информацию иэ управляющей ЭВМ в устройство цля отладки программноаппаратных блоков управляющая ЭВМ выставляет соответствующий коц адреса обращения на первых адресных входах

I02, сопровождая его сигналом на первом входе 103 признака записи. При этом на первом выходе 68 второго цешифратора 4 появится сигнал уровня

"I", который стробирует загрузку информации в первый регистр 15 с первых информационных входов-выходов 79.

Блок 2, обращаясь к третьему цешифратору 5, выставляет соответствующий адрес и сопронождает его сигналом на втором входе 60 признака чтения °

В результате информация с выходов регистра 15 беэ изменений будет передана на группу выхоцов третьего цешифратора 5, в противном случае на этих выходах присутствуют сигналы уровня "I".

Прн необходимости передать информацию из устройства цля отладки программно-аппаратных блоков в управляющую ЭВМ блок 2 выставляет соответствующий коц ацреса обращения на вторых адресных входах 58, сопровождая его сигналом на втором входе

6I признака записи. При этом на выхоце третьего цешифратора 5 появляется сигнал уровня "1", который стробирует загрузку информации во второй регистр 16. Управляющая ЭВМ, обра-. щаясь к первому цешифратору 7, выставляет соответствующий адрес и сопровождает его сигналом на первом входе 104 признака чтения. В результате информация с выходов второго регистра 16 будет без изменения передана на выходы первого цешифратора 7. Сигнал на первом выходе 62 признака сброса второго цешифратора

4 всегда повторяет сигнал на первом входе 105 признака сброса.

1497617

Дешифратор 1 1 реализует следующие логические функции:

7 4 — Xgy Х 1, (11) гце Х вЂ” сигнал с выхода переполне93 ния первого счетчика импульсов 27;

7 6 — (Х Х )ЛХ 1Л Х Л Хзз, (12) где X — сигнал на прямом выходе 1 второго триггера 34; (13) где X — сигнал с выхода переполнеэ1 ния второго счетчика 28 импульсов;

У =(Х Х чХ У Х )ЛХ, ЛХэ (14)

При выдаче сигнала инициализации на первом выходе 62 признака сброса появляется сигнал уровня "0", который в соответствии с. (11) и (12), пройдя через седьмой цешифратор ll, производит начальную установку первого 27 и второго 28 счетчиков импульсов. На выходах обоих счетчиков импульсов устанавливается код, сос1 тоящий из всех нулей. При работе блока 2 по программе, содержащейся в блоке 22 постоянной памяти, запись информации во второй блок 24 оперативной памяти производиться не будет, поскольку в этом режиме сигнал на выходе 91 принимает значение "0" и в соответствии с (14) на пятом выходе 88 седьмого дешифратора 11 появится пассивный сигнал уровня "0, который запретит запись информации во второй блок 24 оперативной памяти.

В режиме отладки сигнал на выходе

91 принимает значение "1" . В дальнейшем, выполняя отлаживаемую программу, блок 1 сопровождает адреса и данные одним из управляющих сигналов на втором входе 61 признака записи или входе 60 признака чтения, которые принимают значения 0". При этом в соответствии с (14) на пятом выходе

88 седьмого дешифратора 11 появляется сигнал уровня "1", разрешающий запись во второй блок 24 оперативной памяти. По окончании действия сигнала на вхоце 60 или 61 в соответствии с (12) отрицательный перепац сигнала на третьем выходе 86 седьмого цешифратора 11 производит увеличение кода на единицу на информационных выходах второго счетчика 28 импульсов. Этот код поступает на адресные входы вто5

55 рого блока 24 оперативной памяти и, следовательно, является слецующим адресом, по которому будет произведена запись новой информации. При переполнении второго счетчика 28 импульсов на е ro выходе 92 переполнения появляется импульс, который в соответствии с (13) поступает на вход установки нуля второго счетчика

28 импульсов, И последующая информация буцет записываться с нулевых адресов. По окончании режима отладки сигнал на выходе 91 принимает значение "0" и в соответствии с (14) запись информации но второй блок 24 оперативной памяти производиться не будет.

Блок 2, отрабатывая программу, соцержащуюся в блоке 22 постоянной памяти, получает команду чтения информации иэ второго блока 24 оперативной памяти и переходит к выполнению соответствующих подпрограмм, выставляя при этом соответствующий адрес обращения и сопровождая его сигналом на втором входе 60 признака чтения уровня "0 . При этом на втором выходе 85 седьмого дешифратора 11 появляется сигнал уровня 1", который поступает íà вход чтения второго блока

24 оперативной памяти. На выходах второго блока 24 оперативной памяти. появляется записанная ранее информация, которая предстанлена не более, чем 64 разрядами (два байта — данные, три разряда — с выходов 98, 100 и 101, один разряд — с инверсного выхода девятого триггера 48, остальные разряды — код адреса с вторых адресных входов), все разряды разбиты на четыре равные группы и сигналы с них поступают на сооТветствующие каналы второго мультиплексора 29.

Чтение информации из второго блока

24 оперативной памяти производится по нулевому адресу, так как по окончании режима отлацки узел сравнения вырабатывает сигнал начальной установки на первом выходе 62 признака сброса, который в соответствии с (11) и (13) произведет сброс первого 27 и второго 28 счетчикон импульсов, на выходах которых будет присутствовать нулевой код. Нулевой код с выходов первого счетчика 27 импульсов поступает на два управляющих входа второго мультиплексора 29, что соответствует передаче информации с первого.

1497617 канала сквозь девятый дешифратор 12 на вторую двунаправленную информационную магистраль 59. Девятый дешифратор 12 передает информацию с выхо5 дов второго мультиплексора 29 на выходы 59 без изменений при наличии сигнала уровня "1" на выходе 91, в противном случае все сигналы уровня 1" на выходах девятого дешифратора 12 имеют уровень "1". Сигнал с второго входа 85 седьмого де— шифратора II поступает также на счетный вход первого счетчика 27 импульсов и по окончании этого сигнала отрицательным переходом, т.е, по окончаний чтения информации с первого канала второго мультиплексора 29 происходит увеличение на единицу кода, присуствующего на выходах 20 первого счетчика 27 импульсов. Таким образом, на выходе первого счетчика 27 импульсов будет код "01" и при следующем чтении информации из второго блока 24 оперативной памяти 25 будет передан через второй мультиплексор 29 код с его второго канала.

Информация с второго, третьего и четвертого каналов второго мультиплексора 29 будет прочитана аналогичным 30 образом. При пятом обращении к второму блоку 24 оперативной памяти на выходе 93 переполнения первого счетчика 27 импульсов появится сигнал уровня !, которыи в соответствии 35

c (ll) произведет начальную установку первого счетчика 27 импульсов и в соответствии с (12) поступит на счетный вход второго счетчика 28 импульсов, увеличивая на единицу код Hà 40 его информационных выходах, что соответствует следующему адресу обращения к второму блоку 24 оперативной памяти.

Для корректной интерпретации трас- 45 сировочной информации, содержащейся во втором блоке 24 оперативной памяти, в него необходимо записывать информацию о глубине очереди команд блока 1. Эта информация формируется на инверсных выходах третьего 17, четвертого 18 и пятого 19 триггеров.

Функционирование десятого дешифратора 6 описывается следующими выраже-55 ниями: фо Хч1 Х з» зь i (15)

У > Хз ЛХз ЛХ чХ AX ЛХ з ЧХзуh

7 1 =Х о<>ЛХ ЛХ 9т Л Хз V Х Л Х1оо Л (17)

В текущем такте код на первом 64 и втором 65 входах признака задания режима свидетельтвует о том, что происходило с блоком очереди команд в предыдущем такте, Цикл нины блока 1 длится четыре такта сигнала на выходе 67 генератора импульсов. В тактах

ТI и Т2 каждого цикла шины сигнал на входе 66 строба адреса имеет уровень "0". Если в течение данного цикла шины происходит выборка иэ памяти кода команды, то сигнал на входе 63 признака выборки команды имеет уровень "0" в течение тактов Тl, Т2 и ТЗ. В седьмом триггере 26 по положительному фронту сигнала на входе

66 строба адреса запоминается значение младшего разряда адреса, который был выставлен ЭВМ в текущем цикле шины. Задержка, вносимая первым элементом 8 задержки, должна быть минимальной, но больше задержки, вносимой вторым элементом НЕ 36. Учитывая это, сигнал на выходе 89 шестого триггера

20 будет иметь низкий уровень в такте Т4 цикла выборки команды (а не в цикле обращения в память за операндом) в течение времени, пока сигнал на выходе 67 генератора импульсов имеет уровень "0" ° Появление комбинации.сигналов на входах 64 и 65 в такте Т4 свидетельсгвует о том, что в такте Т3 блок очереди команд был очищен. Эти сигналы, поступая уровнями "1" на входы третьего элемента

И 37, приведут к появлению импульса уровня "0" во втором полув. риоде такта Т4, который в третий 16, чет" вертый 18 и пятый 19 триггеры запишет единичную информацию, а на их инверсных выходах появится сигнал уровня

"0". Согласно форму1и (15) состояние третьего триггера I 7 необходимо изменять на противоположное, если глубину очереди команд надо изменить на !: плюс один, i.ели н такте Т4 цикла выборки команды была информация об исполнении байта команды (в этом такте сигнал н» первом входе

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

8 необходимо изм ив гь на противопо19

1497617

20

50

55 ложное Е! сJIt Jlóê ùèõ слу«аях ° 1лубину очереди команц нацо увеличить Hä цва в связи с Tt ì, что была произве)lt на выборка коца команды по четному ацресу, в этом случае ЭВМ 1 выбирает за одно обращение к памяти 2 байта.

Увеличение на 2 производится в такте

f4 и только при условии, что в такте

Т3 не было выполнено байта команды (т.е. н такте Т4 сигнал на первом входе 64 зацания режима имел уровень

"Он) . Состояние триггера 18 также нацо менять, если глубину надо увели«ить на один, а она имеет нечетное значение, надо уменьшить на один, а она имеет четное значение. В соотBt тствии с (17) состояние пятого триггера 19 надо изменять на противоположное, если глубину надо увеличить на один, а она равна трем, если глубину надо уменьшить на один, а она равна четырем, и если глубину надо увеличить на 2, а она равна двум или трем. Максимальная глуби— на очереди равна шести. Десятый дешифратор 6 вьщает единицу на Т.-входы тех триггеров, состояние которых надо изменять в текущем такте. Изменение происхоцит по положительному фронту сигнала на выходе 67 генератора импульсов.

Расшифровку трассировочно