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

 

Изобретение может быть использовано в вычислительной технике для контроля выполнения программ в цифровых вычислительных машинах и программируемых контроллерах, построенных по принципу "общей магистрали". Цель изобретения - повышение быстродействия устройства. Правильность выполнения рабочей программы контролируется путем одновремен-22 г9 ^^27

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

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

РЕСПУБЛИК

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

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

ПРИ ГКНТ СССР

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4745671/24 (22) 03,10.89 (46) 30,01.92. Бюл, 3Ф 4 (71) Харьковский политехнический институт им.B.È.Ëåí ина (72) А.Н.Мызь и В.Г,Якименко (53) 681.3 (088,8) (56) Авторское свидетельство СССР

М 1315981, кл. G 06 F 11/28, 1985.

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

М 1434439, кл. G 06 F 11/28, 1987,,, SU„, l709319 +1 (я)5 G 06 F 11/28 (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ВЫПОЛНЕНИЯ ПРОГРАММ (57) Изобретение может быть использовано в вычислительной технике для контроля выполнения программ в цифровых вычислительных машинах и программируемых контроллерах, построенных по принципу

"общей магистрали". Цель изобретения— повышение быстродействия устройства.

Правильность выполнения рабочей программы контролируется путем одновремен1709319 ного с выборкой из основной памяти начальной команды некоторого линейного участка рабочей программы извлечения из памяти устройства для контроля выполнения программ команды проверки правильности выполнения каждой команды линейного участка. Команда проверки содержит информацию, определяющую ожидаемое число импульсов синхронизации машинных циклов. Эта информация помещается в блок счета количества импульсов синхронизации, содержимое которого в дальнейшем уменьшается по мере прохождения линейного участка. Одновременно в ходе выполнения линейного участка программы производится контроль "прохождения" программы по адресам выборки команд путем сравнения текущего адреса программы и адреса-копии, вырабатываемого устройстИзобретение относится к вычислительной технике и может быть использовано для контроля выполнения программ в цифровых вычислительных машинах и программируемых контроллерах, построенных по принципу "общей магистрали", Цель изобретения — повышение быстродействия устройства.

На фиг. 1 представлена функциональная схема устройства для контроля выпол-, нения программ; на фиг, 2 — 6 — примеры реализации функциональных узлов устройства для контроля выполнения программ микропроцессорной системы; на фиг. 2— функциональная схема блока счета количества импульсов синхронизации, на фиг. 3— функциональная схема второго счетчика; на фиг. 5 — функциональная схема третьего коммутатора; на фиг. 6 —. функциональная схема блока ввода-вывода; на фиг. 7 — схема алгоритма функционирования блока микропрогрммного управления устройства; на фиг. 8 — временная диаграмма сигналов на информационных выходах блока микропрограммного управления устройства.

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

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

"поведения" ЭВМ в соответствии с командой проверки устройства и, если это соответствие выполняется, производится формирование новой копии текущего адреса путем извлечения адреса перехода из команды устройства и выборка команды нового линейного участка. Устройство для контроля выполнения программ содержит блок

1 счета количества импульсов синхронизации,-блоки регистров 2, 3, схему сравнения

4, блок 5 микропрограммного управления, счетчики 6, 7 и 11, регистр 12 команд, блок

13 оперативной памяти, блок 14 ввода-вывода и блок 15 постоянной памяти. 2 з.п.ф-лы, 8 ил„1 табл. и блок 15 постоянной памяти, информационный 16 вход устройства, вход-выход адреса данных 17 блока ввода-вывода, информационный 18 вход блока счета количества импульсов синхронизации, выход 19 третьего коммутатора, информационный вход-выход 20 блока ввода-вывода, тактовый вход 21 блока микропрограммного управления, тактовый вход 22 устройства, группу выходов 23 блока микропрограммного управления, вход записи 24 блока счета количества импульсов синхронизации, вход разрешения 25 третьего коммутатора, вход

26 обращения блока ввода-вывода, входы начальной установки 27 устройства и 28 блока микропрограммного управления, синхровход 29 устройства, выход 30 готовности и управляющий вход-выход 31 блока вводавывода, первый 32 вход условий блока микропрограммного управления, управляющий вход-выход 33 устройства, вход 34 подтверждения прерывания устройства, второй 35 вход условий блока микропрограммного управления, вход 36 кода операций блока микропрограммного управления, первый 37 и второй 38 информационные входы третьего коммутатора, информационный выход 39 блока счета количества импульсов синхронизации, третий 40, четвертый 41 и пятый 42 входы условий блока микропрограммного управления, выход 43 переполнения блока счета количества импульсов синхронизации, вход 44 начальной установки и счетный

45 вход блока счета количества импульсов синхронизации, выход 46 блока микропрог1709319 раммного управления, выход 47 ошибки устройства.

Блок 1 (фиг,1) счета количества импульсов синхронизации содержит первый 48 и второй 49 счетчики. Блок 5 (фиг.3) микро- 5 программного управления содержит программируемую логическую матрицу 50, регистр 51, первый 52, второй 53 и третий

54 дешифраторы. Второй 7 (фиг.4) счетчик является восьмиразрядным двоичным счет- 10 чиком 55.

Третий 11 (фиг,5) коммутатор содержит первую 56 и вторую 57 группы формирователей с тремя состояниями.

Блок ввода-вывода (фиг.б) содержит де- 15 шифратор 58 адреса, первый 59 и второй 60 регистры, первый 61 и второй 62 коммутаторы, первый 63, второй 64 и третий 65 триггеры, первый 66, второй 67, третий 68 и четвертый 69 элементы И, первый 70 и вто- 20 рой 71 элементы ИЛИ.

Любую программу, записанную в машинных кодах в памяти ЭВМ, можно представить в виде набора линейных участков, связанных между собой командами переда- 25 чи управления. Команда передачи управле-, ния является завершающей командой линейного участка, если он не последний линейный участок программы — в этом случае линейный участок может завершаться, например, командой "Останов". Начальной командой линейного участка может быть либо команда, являющаяся внешним входом программы, либо команда, на которую производится передача управления одной из команд перехода. Если некоторый линейный участок программы содержит несколько начальных команд (точек вхождения), то он может рассматриваться как цепь из нескольких линейных участков, каждый иэ ко- 40 торых имеет одну начальную команду. В этом случае конечной командой любого звена цепи, кроме последнего, является команда, предшествующая начальной команде следующего звена. 45

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

Это утверждение остается справедливым и тогда, когда процесс прохождения данного участка временно приостанавливается в связи с реакцией на внешние программнонезависимые события (прерывания). В этом случае используется стековый механизм запоминания и восстановления необходимой информации. Следование сигналов синхронизации машинных циклов, которыми сопровождается выполнение команд передачи управления, не зависит от того, выполнено ли проверяемое условие или нет.

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

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

2. Для каждого линейного участка

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

"своей" команде в зависимости от конструктивных особенностей конкретной ЭВМ. Эта информация запоминается и в дальнейшем используется для контроля прохождения линейного участка при выходе на его начало, 3. Каждому линейному участку программы ставится в соответствие одна из команд устройства контроля в зависимости от типа команды, завершающей данный линейный участок: а) линейному участку программы ЭВМ, завершающемуся командой безусловного перехода, ставится в соответствие команда проверки безусловного перехода (ПБУ) устройства; б) линейному участку программы ЭВМ, завершающемуся командой перехода по условию, ставится в соответствие команда проверки условного перехода (ПУС) устройства; в) линейному участку программы ЭВМ, завершающемуся командой безусловного вызова подпрограмм, ставится в соответствие команда проверки вызова подпрограммы (ВПР) устройства; г) линейному участку программы ЭВМ, завершающемуся командой безусловного возврата из подпрограммы, ставится в соответствие команда проверки возврата из подпрограммы (ВПР) устройства; д) линейному участку программы ЭВМ завершающемуся командой безусловного возврата из подпрограммы прерывания, ставится в соответствие команда проверки возврата из подпрограммы прерывания (ВПП) устройства;

1709319 е) линейному участку программы ЭВМ, завершающемуся командой последовательной цепи операций, ставится в соответствие команда проверки продолжения последовательных операций (ПРД) устройства; ж) линейному участку программы ЭВМ, завершающемуся командой передачи управления по вычисленному адресу (командой, реализующей программный переключатель не более чем два адреса, или командой передачи управления в неконтролируемую область памяти), ставится в соответствие команда перехода в режим диалога в ЭВМ (РДИ) устройства.

4. Для линейных участков программы

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

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

К моменту перехода на начало нового линейного участка содержимое счетчиков количества импульсов синхронизации становится равным нулю. В момент обнуления счетчиков выполняется проверка "поведения" ЭВМ в соответствии с командой проверкой устройства для контроля выполнения программ И, если это соответствие выполняется, производится формирование копии адреса первой команды очередного линейного участка с использованием информации, содержащейся в завершенной команде и выборка команды проверки этого линейного участка.

6, Если при прохождении линейного участка в результате сбоя или неисправности вместо очередной команды выполняется несанкционированный переход, в микропроцессорной системе он будет обна5

55 ружен в четвертом машинном цикле после его возникновения, что позволяет организовать своевременную реакцию устройства управления в случае аварийной ситуации.

Память программ контролируемых ЭВМ и программируемых контроллеров выполняется в виде постоянного или полупостоянного запоминающего устройства. Вводимая в память рабочая программа представлена в виде последовательности машинных кодов, Ее ввод в память ЭВМ должен сопровождаться вводом в блок памяти процессора заранее подготовленной программы контроля выполнения рабочей программы. Программа контроля также должна быть представлена в виде последовательности машинных кодов. Форматы команд проверки, конструктивные особенности элементов схемы устройства и алгоритм работы блока управления определяются конструктивными особенностями, интерфейсом и форматом команд конкретной микроЭВМ.

Рассмотрим построение системы контроля выполнения программ для программируемого контроллера, построенного на базе микроЭВМ МС1201.

Форматы команд проверки линейных участков представлены в таблице.

По своему формату команды устройства разделяются на две группы. Команды устройства первой группы, включающей команды проверки ПБУ, ПУС и ВПР, состоят из трех слов. Первое слово команд этой группы состоит из двух частей: кода операции и количества импульсов синхронизации машинных циклов соответствующего линейного участка. Второе и третье слова команд этой группы являются соответственно адресом перехода соответствующего линейного участка программы основного процессора и адресом перехода устройства при завершении проверки этого линейного участка, т.е. адресом команды проверки программы контроля, на которую передается управление при переходе к новому линейному участку рабочей программы.

Команды устройства второй группы, включающей команды проверки ВРП, ВПП, ПРД и РДИ, состоят из одного слова, содержащего две части: код операции и количество импульсов синхронизации машинных циклов соответствующего линейного участка.

Устройство работает следующим образом.

ЭВМ приводится в исходное состояние путем подачи соответствующего сигнала на линию "Общий сброс", входящую в состав интерфейсных шин. Сигнал на этой линии формируется автоматически после включе1709319

10 ния питания или, например, появляется в результате нажатия соответствующей кнопки на пульте управления.

Сигнал "Общий сброс" поступает на вход 27 (фиг.1) начальной установки устройства и приводит его в исходное состояние следующим образом. С входа 27 начальной установки устройства сигнал "Общий сброс" поступает на вход начальной установки второго 7 счетчика и переводит все его разряды в состояние единицы, и на вход

28 начальной установки блока 5 управления и на вход 28 начальной установки блока 5 управления и переводит его в исходное состояние, причем сигнал с второго выхода 46 блока 5 управления поступает на выход 47 ошибки устройства и воспринимается на входе запроса прерывания ЭВМ как сигнал отсутствия прерывания.

Перевод второго 7 счетчика (фиг.4) в состояние "Все единицы" производится сигналом "Общий сброс", поступающим с входа начальной установки счетчика 7 на вход параллельной записи счетчика 55 и производящим запись в счетчик единичного состояния информационных входов параллельной записи его разряда. При этом сигналы на выходах группы выходов счетчика 7 принимают единичные значения.

Перевод блока 5 (фиг.3) управления в исходное состояние производится сигналом "Общий сброс", поступающим с входа

28 начальной установки блока 5 управления на вход начальной установки регистра 51 и переводящим этот регистр в состояние "Bce нули". Сигналы на выходах группы выходов разрядов регистра 51 принимают нулевые значения.

После окончания сигнала "Общий сброс" ЭВМ автоматически или по инициативе оператора переходит к выполнению рабочей программы, записанной в ее память. На тактовый вход 22 устройства поступает первый импульс тактовой частоты тактового генератора основного процессора либо внешнего независимого генератора. С входа 22 этот сигнал поступает на тактовый вход 21 блока 5 управления, с первого информационного выхода 23 которого на входы соответствующих элементов устройства поступают сигналы управления, предусмотренные первым шагом микропрограммы функционирования. Работа блока 5 управления представлена следующим (фиг.7) алгоритмом.

Шаг 1, По сигналу "Общий сброс" описанным путем аппаратно устанавливаются в исходное состояние второй счетчик 7 и блок 5 управления (см.фиг.7, оператор "Начальная установка" ), 5

Шаг 2. Устройство находится в состоянии ожидания обмена с основным процессором. Переход устройства из режима ожидания в режим контроля выполнения программы осуществляется путем ввода в устройство адреса перехода, т.е. адреса команды проверки, соответствующей начальной команде (первого) очередного контролируемого линейного участка рабочей программы. Для этого в рабочей программе микроЭВМ предусматривается команда загрузки стартового адреса в устройство. При выполнении микроЭВМ такой команды с выхода адреса-данных микроЭВМ на информационный вход 16 устройства и далее (фиг.1) на вход адреса данных 17 блока 14 ввода-вывода поступает, например, адрес при обращении к процессору как к внешнему устройству (адрес при обращении к процессору как к ячейке памяти). Этот адрес поступает с адресного входа 17 (фиг.6) блока 14 ввода-вывода на группу управляющих входов дешифратора 58, с выхода которого на первый вход элемента И 66 поступает сигнал обращения к блоку 14 ввода-вывода, отпирающий этот элемент для прохождения сигнала "Выбор внешнего устройства" микроЭВМ по цепи 33 — 31 на вход данных первого 63 триггера. Эта информация запоминается в триггере в момент прохождения сигнала си нхрон изации активного устройства микроЭВМ на вход 33 управления устройства (фиг.1) и далее по цепи 33 — 31 на синхровход этого триггера.

Сигнал обращения с выхода триггера 63 поступает на первые входы элементов И 67 и

68, отпирая их для прохождения сигналов

"Ввод данных" (" Вывод данных") микроЭВМ по цепи 33 — 31 — 67 (68) — 70 — 31 — 33 на вход сигнала синхронизации пассивного устройства микроЭВМ. Одновременно на вход-выход 16 адреса данных устройства поступает информация о стартовом адресе.

Со входа 16 (фиг,1) эта информация поступает по цепи 16 — 17 и далее 17 — 59 (фиг.6) на информационный вход первого 59 регистра блока 14 ввода-вывода. По сигналу "Вывод данных", поступающему по цепи 33-31 — 68—

71 — 59 на вход записи регистра, стартовый адрес запоминается в регистре 59 и устанавливается на информационных входах второго 62 коммутатора. Одновременно сигнал "Вывод данных" поступает на вход установки триггера 65 и переводит его в единичное состояние. Сигнал готовности информации для ввода в устройство с выхода триггера 65 поступает на выход 30 готовности блока 14 ввода-вывода и далее (фиг.1) по цепи 30 — 32 на первый 32 адресный вход блока 5 управления в качестве сигнала

1709319

20

40

"Ввод". При этом выполняется переход к шагу 5 алгоритма, в противном случае — к шагу 3 алгоритма(фиг.7, оператор 2 "Ввод" ).

Шаг 3. Вывод информации о состоянии устройства выполняется под управлением блока 5 управления по инициативе микроЭВМ. Информация о состоянии устройства используется для организации процедур анализа и локализации ошибки и для восстановления хода выполнения рабочей программы микроЭВМ путем передачи управления начальной команде некоторого линейного участка программы. Для этого в рабочей программе микроЭВМ предусматривается команда (или процедура из нескольких команд) загрузки копии адреса, собственного адреса устройства (и информации о состоянии других элементов устройства) в микроЭВМ. При выполнении микроЭВМ команды (или процедуры) ввода информации из устройства описанным в шаге 2 путем производится обращение к устройству и сигнал "Ввод данных" микроЭВМ, поступающий по цепи 33 — 31 — 67 — 64 на вход установки триггера 64, переводит его в единичное состояние. Сигнал готовности блока

14 ввода-вывода для вывода в микроЭВМ с выхода триггера 64 поступает на выход готовности 30 блока 14 ввода-вывода и далее (фиг,1) по цепи 30-32 на первый 32 адрес- ный вход блока 5 управления в качестве сигнала "Вывод". При этом выполняется переход к шагу 4 алгоритма, в противном случае — к шагу 2 алгоритма (фиг.7, оператор 3

"В ы вод").

Шаг 4. При выполнении микроЭВМ команды (или процедуры) ввода информации из устройства описанным в шаге 2 путем производится обращение к устройству и по сигналу "Ввод данных" .микроЭВМ, поступающему по цепи 33 — 31-67 — 61 на вход разрешения коммутатора 61, запись подготовленной в регистре 60 копии адреса, при прохождении которого обнаружена ошибка, в микроЭВМ, Появление сигнала

"Вывод" на адресном входе 32 блока 5 управления свидетельствует о том, что микроЭВМ выполнила ввод копии адреса, при прохождении которого произошла ошибка, и блок 14 ввода-вывода готов к загрузке информации о состоянии программного счетчика устройства. Вывод этой информации производится следующим образом. С выхода 23 блока 5 управления на вход разрешения коммутатора 10 поступает сигнал разрешения и информация о состоянии выходов программного счетчика 8 устройства поступает через коммутатор на вход 20 данных блока 14 ввода-вывода и далее (фиг,6) на информационный вход регистра 60, Одновременно с выхода 23 блока 5 управления на вход 26 обращения блока 14 ввода-вывода и далее на вход записи регистра 60 поступает; сигнал "Обращения для вывода", и состояние программного счетчика 8 устройства запоминается в этом регистре. Одновременно сигнал "Обращения для вывода" поступает на синхровход триггера 64, триггер переводится в нулевое состояние и сигнал "Вывод" на входе 32 блока 5 управления снимается и выполняется, переход к шагу 2 алгоритма (фиг.7, оператор 4 "Вывод информации о состоянии устройства").

Шаг 5. С информационного выхода 23 (фиг,1) блока 5 управления на вход 26 обращения блока 14 ввода-вывода и далее (фиг.6) на вход разрешения коммутатора 62 поступает сигнал "Обращения для ввода", и информация о стартовом адресе устройства с информационного выхода регистра 59 по цепи 59 — 62 — 20 (фиг.6), 20 — 3 (фиг.1) поступает на информационный вход параллельной записи регистра 3. С информационного выхода 23 блока 5 управления по цепи 23 — 3 на вход параллельной записи регистра 3 поступает сигнал записи, и информация о стартовом адресе устройства записывается в регистр 3. Одновременно сигнал "Обращения для ввода" поступает на синхровход триггера 65 и переводит его s нулевое состояние и сигнал "Ввод" на адресном входе 32 блока 5 управления снимается. Сигнал с информационного выхода 23 блока 5 управления, поступающий на вход параллельной записи счетчика 8, производит запись сгартового адреса устройства в этот счетчик. На этом операция ввода стартового адреса устройства заканчивается и выполняется переход к шагу 6 алгоритма (фиг.7, оператор 5

"Ввод стартового адреса").

Шаг 6. После ввода в программный счетчик стартового адреса устройство переходит в состояние ожидания очередного импульса синхронизации активного устройства. Этот импульс поступает от микроЭВМ по цепи 29 — 40 на адресный вход 40 блока 5 управления при выполнении основным процессором выборки первой команды контролируемого линейного участка и выполняется

1 переход к шагу 7 алгоритма, в противном случае продолжается опрос состояния адресного входа 40 блока 5 управления с частотой следования тактовых импульсов, поступающих по цепи 22 — 21 на тактовый вход блока 5 управления, т.е. переход к шагу 6 алгоритма (фиг. 7, оператор 6 "Синхроимпульс").

Шаг 7, Одновременно с появлением импульса синхронизации активного устройства микроЭВМ устанавливает на

1709319

10

20

30

40

55 входе-выходе 16 адреса данных устройства адрес первой команды контролируемого линейного участка. Этот адрес поступает по цепи 16-17 на вход-выход 17 адреса данных блока 14 ввода-вывода и далее на группу управляющих входов дешифратора 58 и сигнал на его выходе принимает нулевое значение. Этот сигнал запирает элемент И 66 для прохождения сигнала выбора внешнего устройства по цепи 33 — 31 — 66 — 63 на вход данных триггера 63, и по сигналу синхронизации активного устройства этот триггер переходит в нулевое состояние, Единичный сигнал с инверсного выхода триггера 63 поступает по цепи 63 — 69 — 71 — 59 на вход параллельной записи регистра 59 и адрес первой команды контролируемого линейного участка, поступивший с входа 17 на информационные входы этого регистра, запоминается в нем. С информационного выхода 23 блока

5 управления по цепи 23-26 и далее на вход разрешения коммутатора 62 поступает сигнал разрешения и информация об адресе первой команды контролируемого линейного участка поступает по цепи 59-62-20 (фиг.6) и далее (фиг.1) по цепи 20 — 6 на вход параллельной записи регистра 6. С информационного выхода 23 блока 5 управления по цепи 23 — 6 на вход параллельной записи регистра 6 поступает сигнал записи, и информация об адресе первой команды контролируемого линейного участка запоминается в этом регистре. Выполняется переход к шагу 8 алгоритма (фиг,7, оператор 7

"Ввод копии адреса"), Шаг 8. По стартовому адресу, определяемому выходными сигналами счетчика 8, из блока 15 постоянной памяти выбирается первое слово очередной команды устройства и загружается соответственно первая часть, определяющая код команды проверки в регистр 12 команд и вторая часть, определяющая количество импульсов синхронизации машинных циклов выборки команд очередного линейного участка, — в блок 1 счета количества импульсов синхронизации. Выборка команды обеспечивается путем подачи сигналов с первого 23 информационного выхода блока 5 управления на вход обращения блока 15 постоянной памяти, вход 24 записи блока 1 счета количества импульсов синхронизации и вход записи регистра 12 команд. Одновременно с первого

23 информационного выхода блока 5 управления на вход 45 начальной установки блока

1 счета количества импульсов синхронизации и далее (фиг.2) на вход начальной установки счетчика 49 дополнительных синхроимпульсов поступает сигнал начальной установки и переводит его в нулевое состояние. Выполняется переход к шагу 9 алгоритма (фиг.7, оператор 8 "Выборка команды. Сброс счетчика дополнительных синхроимпульсов").

2.

Шаг 9. После начальной установки блока 1 счета количества импульсов синхронизации сигнал об отсутствии переполнения счетчика 49 дополнительных синхроимпульсов этого блока с выхода 43 признаков переполнения поступает на адресный вход 42 блока 5 управления. Счетчик 49 дополни-, тельных синхроимпульсов производит подсчет количества импульсов синхронизации машинных циклов каждой команды. микроЭВМ, втечение которых производится обращение к оперативной памяти либо внешним устройством микроЭВМ. При превышении максимального допустимого количества обращений к внешним устройствам в ходе выполнения команды микроЭВМ с выхода признаков переполнения блока 1 счета количества импульсов синхронизации поступает "Признак переполнения счетчика дополнительных синхроимпульсов", свидетельствующий о неправильном прохождении текущей команды микроЭВМ, и выполняется переход к шагу 10 алгоритма, в противном случае — к шагу 12 (фиг.7, оператор 9 "Признак переполнения,").

Шаг 10. На втором 46 информационном выходе блока 5 управления устанавливается сигнал "Флаг ошибки". Этот сигнал постуг з- ет на выход 47 ошибки устройства и воспринимается на входе запроса прерывания микроЭВМ как сигнал запроса прерывания на обслуживание устройства. Одновременно выполняется загрузка информации о копии адреса, при прохождении которого обнаружена ошибка, из регистра 6 копии адреса в блок 14 ввода вывода. Загрузка копии адреса обеспечивается путем подачи сигналов с первого 23 информационного выхода блока 5 управления на вход разрешения коммутатора 9 и вход 26 обращения блока 14 ввода-вывода. Информация о копии адреса поступает по цепи 6 — 9 — 20 на вход данных блока 14 ввода-вывода и далее (фиг.6) по цепи 20 — 60 на информационный вход регистра 60, где запоминается по сигналу обращения, поступающему с входа 26 обращения на вход параллельной записи этого регистра. Выполняется переход к шагу 11 алгоритма (фиг,7, оператор 10 "Установка флага ошибки". Загрузка информации об ошибке" ).

Шаг 11. В ответ на запрос прерывания, поступивший в микроЭВМ с выхода 47 ошибки устройства, с выхода подтверждения прерывания микроЭВМ на вход 34 подтверждения прерывания устройства и далее

1709319

16 (фиг,1) на адресный вход 35 блока 5 управления поступает сигнал подтверждения прерывания на обслуживание устройства. В ответ на этот сигнал выполняется переход к шагу 2 алгоритма, т.е. устройство переходит в режим ожидания обмена с микроЭВМ для вывода информации об ошибке и ввода нового стартового адреса, в противном случае выполняется переход к шагу 10 алгоритма, т.е, устройство подтверждает установку флага ошибки до выхода микроЭВМ на его обслуживание (фиг.7, оператор 11 "Прерывание ).

Шаг 12. Если с соответствующего выхода микроЭВМ на вход 34 подтверждения прерывания устройства и далее (фиг.1) на адресный вход 35 блока 5управления поступает сигнал "Подтверждение прерывания" на обслуживание внешних устройств и микроЭВМ переходит к выполнению подпрограмм прерывания, выполняется переход к шагу 14 алгоритма, в противном случае — к шагу 13 (фиг,7, оператор 12 "Прерыванием), Шаг 13, После ввода копии адреса начальной команды первого контролируемого линейного участка и выборки команды собственной программы контроля устройство переходит в режим контроля прохождения команд микроЭВМ. B ответ на каждый синхроимпульс устройство проверяет правильность следования адресов программы микроЭВМ на входе-выходе 16 адреса данных. При появлении очередного синхроимпульса выполняется переход к шагу 15 алгоритма, в противном случае — к шагу 12 (фиг.7, оператор "Синхроимпульс9).

Шаг 14. Загрузка состояния устройства в стек предусматривает выполнение следующих операций.

А. Запись в стек команды (состояние регистра 12 команд) и состояния счетчика 48 блока 1 счета количества импульсов синхронизации. При этом с информационного выхода 23 (фиг.1) блока 5 управления на вход

25 разрешения коммутатора 11 и далее (фиг.5) на входы разрешения, первой 56 и второй 57 групп повторителей с тремя состояниями поступает сигнал управления и повторители отпираются для прохождения информации о состоянии регистра 12 команд и блока 1 счета количества синхроимпульсов соответственно по цепям 12-37 (фиг.1), 37 — 56 — 19 (фиг.5), 19 — 13 (фиг.1) и 48—

39 (фиг.2), 39 — 38 (фиг.1), 38 — 57-19 (фиг.5), 19 — 13 (фиг.1) на информационный вход-выход блока 13 оперативной памяти. С информационного выхода 23 блока 5 управления на вход обращения блока 13 оперативной памяти поступает сигнал обращения для записи, и состояние входов-выходов данных

55 записывается в ячейку блока 13 оперативной памяти. Адрес ячейки памяти определяется состоянием счетчика 7, информация о котором поступает с информационного выхода этого счетчика на адресный вход блока

13 оперативной памяти, Б. Декремент счетчика 7 (указателя стека). С информационного выхода 23 блока 5 управления поступает сигнал на счетный вход в режиме вычитания счетчика 7 и производит декремент содержимого этого счетчика.

B. Запись в стек содержимого программного счетчика 8. С информационного выхода 23 блока 5 управления на вход разрешения коммутатора 10 поступает сигнал разрешения и информация о состоянии программного счетчика 8 поступает по цепи

8 — 10-13 на вход-выходданных блока 13 оперативной памяти, С информационного выхода 23 блока 5 управления на вход обращения блока 13 оперативной памяти поступает сигнал обращения для записи, и состояние входов-выходов записывается в ячейку памяти блока 13 оперативной памяти.

Г. Декремент счетчика 7 (указателя стека}. Выполняется указанным по п,Б путем.

Д. Запись в стек содержимого счетчика

6 копии адреса. С информационного выхода

23 блока 5 управления на вход разрешения коммутатора 9 поступает сигнал разрешения и информация о состоянии счетчика 6 копии адреса поступает по цепи 6 — 9 — 13 на вход-выход данных блока 13 оперативной памяти. С информационного выхода 23 блока 5 управления на вход обращения блока

13 оперативной памяти поступает сигнал обращения для записи, и состояние входоввыходов записывается в ячейку памяти блока 13 оперативной памяти.

Е. Декремент счетчика 7 (указателя стека), Выполняется указанным по п.Б путем.

Таким образом, при входе в подпрограмму устройство сохраняет в стеке не только собственный адрес возврата из подпрограммы, код команды и количество импульсов синхронизации незавершенного линейного участка, но и копию адреса возврата основного процессора, что существенно повышает достоверность контроля выполнения программы микроЭВМ. Выполняется переход к шагу 2 алгоритма (фиг.7, оператор 14 "Загрузка состояния устройства в стек").

Шаг 15. Завершение линейного участка программы микроЭВМ сопровождается обнулением счетчика 48 блока 1 счета количества импульсов синхронизации, содержимое которого уменьшается по мере обработ21

1709319

22 программного счетчика микроЭВМ. При выполнении микроЭВМ команд переходов формирование адреса копии устройства производится путем записи в счетчик 6 копии адреса содержимого второго слова ко- 5 манды устройства после подтверждения правильности их выполнения микроЭВМ.

Запись адреса перехода в счетчик 6 выполняется под управлением блока 5 управления, С информационного выхода 23 блока 5 10 управления на вход обращения блока 15 постоянной памяти поступает сигнал обращения и информация об адресе перехода с выхода блока 15 постоянной памяти поступает на информационный вход параллель- 15 ной записи счетчика 6 копии адреса.

Одновременно с информационного выхода

23 блока 5 управления на вход записи счетчика 6 поступает сигнал записи и адрес перехода запоминается в этом счетчике. С 20 информационного выхода 23 блока 5 управления на счетный вход счетчика 8 поступает сигнал счета и производит инкремент его содержимого. С информационного выхода счетчика 8 на адресный вход блока 15 посто- 25 янной памяти поступает адрес третьего слова команды проверки перехода (адрес информации о собственном адресе перехода устройства). Одновременно с информационного выхода 23 блока 5 управления на 30 вход обращения блока 15 постоянной памяти поступает сигнал обращения и информация о собственном адресе перехода устройства поступает с выхода блока 15 постоянной памяти на информационный вход 35 параллельной записи регистра 3. С информационного выхода 23 блока 5 управления на вход параллельной записи регистра 3 поступает сигнал записи, и информация о собственном адресе перехода записывает- 40 ся в регистр 3. С информационного выхода

23 блока 5 управления на вход параллельной записи счетчика 8 поступает сигнал записи, и информация о собственном адресе перехода запоминается в счетчике 8. С вы- 45 хода счетчика 8. адрес команды проверки очередного линейного участка поступает на адресный вход блока 15 постоянной памяти, и выполняется переход к шагу 8 алгоритма (фиг.7, оператор 26 "Запуска адреса перехо- 50 да").

Шаг 27. Завершение линейного участка программы микроЭВМ командой вызова подпрограммы сопровождается выполнением команды ВПР устройства. Выполняет- 55 ся операция сравнения текущего адреса микроЭВМ и адреса-копии устройства, описанная в шаге 16 алгоритма. Если с выхода блока 4 сравнения на вход 41 блока 5 управления поступает сигнал "Последовательный ход" (сигнал равенства текущего адреса микроЭВМ и адреса-копии), выполняется переход к шагу 17 алгоритма. в противном случае выполняется переход к шагу 28 алгоритма (фиг.7, оператор 27 "Последовательный ход г).

Шаг 28. Проверка правильности выполнения микроЭВМ передачи управления при выполнении команд вызова подпрограмм заключается в сравнении текущего адреса микроЭВМ и ожидаемого адреса перехода, содержащегося во втором слове команды устройства, и выполняется описанным в шаге 24 данного алгоритма путем. С выхода схемы 4 сравнения на адресный вход 41 блока 5 управления поступает результат сравнения текущего адреса микроЭВМ и ожидаемого адреса передачи управления при вызове подпрограммы. Выполняется переход к шагу 29 алгоритма (фиг.7, оператор 28 "Проверка перехода").

Шаг 29. Результат сравнения текущего адреса микроЭВМ и ожидаемого адреса передачи управления подпрограмме поступает на адресный вход 41 блока 5 управления и в случае неравенства адресов воспринимается как сообщение "Ошибка перехода".

При этом выполняется переход к шагу 17 алгоритма. В противном случае выполняется переход к шагу 30 алгоритма (фиг.7, оператор 29 "Ошибка переходами).

Шаг 30. Загрузка состояния устройства в стек предусматривает выполнение процедур: а) запись в стек команды иэ регистра 12 команд и состояния блока 1 счета количества импульсов синхронизации; б) декремент счетчика 7 (указателя стека); в) запись в стек содержимого программного счетчика 8; г) декремент указателя стека; д) запись в стек содержимого счетчика 6 копии адреса; е) декрементуказателя стека, описанных в шаге 14 алгоритма.

Затем выполняется загрузка счетчика 6 копии адреса вторым словом команды ВПР, т.е. адресом рабочей программы, на который произведена передача управления при вызове подпрограммы, и программного счетчика 8 устройства третьим словом команды ВПР, т.е. собственным адресом передачи управления устройства, описанным в шаге 26 данного алгоритма путем. Выполняется переход к шагу 8 алгоритма (фиг,7, оператор 30 "Загрузка состояния устройства в стек. Загрузка адреса перехода").

Шаг 31. Завершение линейного участка программы микроЭВМ командой возврата из подпрограммы и прерывания сопровождается выполнением cooTBBTGTBGHHQ команд ВПР и ВПП устройства. Выполняется операция сравнения текущего адреса мик23

1709319

24 роЭВМ и адреса-копии устройства, описанная в шаге 16 алгоритма. Если с выхода блока 4 сравнения на вход 41 блока 5 управления поступает сигнал "Последовательный ход" (сигнал равенства текущего адреса микроЭВМ и адреса-копии), выполняется переход к шагу 17 алгоритма, в противном случае выполняется переход к шагу 32 (фиг,7, оператор 27 "Последовательный ход").

Шаг 32. Загрузка состояния устройства из стека предусматривает выполнение следующих операций.

А. Инкремент счетчика 7 (указателя стека), С информационного выхода 23 блока 5 управления поступает сигнал на счетный вход в режиме суммирования счетчика 7 и производит инкремент содержимого этого счетчика.

Б. Загрузка из стека счетчика 6 копии адреса. С информационного выхода 23 блока 5 управления на вход обращения блока

13 оперативной памяти поступает сигнал обращения для чтения, и копия адреса возврата микроЭВМ из ячейки памяти поступает на входы-выходы блока 13 оперативной памяти и далее на информационный вход параллельной записи счетчика 6 копии адреса. С информационного выхода 23 блока

5 управления на вход параллельной записи счетчика 6 поступает сигнал записи и копия адреса возврата микроЭВМ запоминается в этом счетчике.

В, Инкремент счетчика 7 (указателя стека). Выполняется описанным по п,А путем.

Г, Загрузка из стека программного счетчика 8, С информационного выхода 23 блока

5 управления на вход обращения блока 13 оперативной памяти поступает сигнал обращения для чтения, и собственный адрес возврата устройства из ячейки памяти поступает на входы-выходы блока 13 оперативной памяти и далее на информационный вход параллельной записи регистра 3 временного хранения. С информационного выхода 23 блока 5 управления на вход параллельной записи регистра 3 поступает сигнал записи, и собственный адрес возврата устройства запоминается в этом регистре. С информационного выхода 23 блока 5 управления на вход параллельной записи счетчика 8 поступает сигнал записи, и адрес возврата устройства, поступающий на его информационный вход параллельной записи с выхода регистра 3, запоминается в этом счетчике.

Д, Инкремент счетчика 7 (указателя стека), Выполняется описанным по п,А путем.

Таким образом, при возврате из подпрограммы устройство восстанавливает из

55 стека не только собственный адрес возврата из подпрограммы, код команды и количество импульсов синхронизации незавершенного линейного участка, но и копии адреса возврата основного процессора, что существенно повышает достоверность контроля выполнения программы микроЭВМ. Выполняется переход к шагу 33 алгоритма (фиг.7, оператор 32 "Загрузка состояния устройства из стека").

Шаг 33, Выполняется декодирование команды, код которой поступает с информационного выхода регистра 12 команд на адресный вход 36 блока 5 управления, и зависимости от этого кода выполняются следующие операции.

А. Загрузка из стека регистра 12 команд и блока 1 счета количества импульсов синхронизации. С информационного выхода 23 блока 5 управления на вход обращения блока 13 оперативной памяти поступает сигнал обращения для чтения, и из ячейки блока 13 оперативной памяти на входы-выходы данных поступает код команды проверки, выполнявшейся в момент перехода к подпрограмме или к обслуживанию прерывания и соответствующее количество импульсов синхронизации контролируемого линейного участка. Эта информация поступает соответственно на информационные входы регистра 12 команд и блока 1 счета количества импульсов синхронизации и запоминается в них по сигналу записи, поступающему с информационного выхода 23 блока 5 управления.

Б. Если декодирован код команды ВПР, производится дважды инкремент счетчика

8. С информационного выхода 23 блока 5 управления на счетный вход программного счетчика 8 устройства поступает сигнал счета, производящий инкремент содержимого этого счетчика. Таким образом, выполняется переход устройства к выполнению команды, следующей за командой проверки вызова подпрограммы;

В. Переход к соответствующему шагу алгоритма; если декодирован код команды

ВРП вЂ” к шагу 8 алгоритма, если декодирован

Код команды ВПП вЂ” к шагу 9 алгоритма (фиг.7, оператор 33 "Командаг), Временная диаграмма сигналов на информационных выходах блока 5 управления представлена на фиг, 8. Синхронизация работы блока 5 управления осуществляется тактовыми сигналами, поступающими на его тактовый вход 21 (эпюра 72, фиг, 8), В каждом такте работы блока 5 управления на выходах программируемой логической матрицы 50 формируются сигналы управления (эпюра 73, фиг. 8) в соответствии со струк17

1709319

5

55 ки линейного участка путем подачи.сигналов с первого информационного выхода 23 блока 5 управления на счетный вход 44 блока 1 счета количества синхроимпульсов.

Сигнал переполнения с выхода 43 признаков переполнения блока 1 счета количества импульсов синхронизации воспринимается на адресном входе 42 блока 5 управления как сообщение "Конец линейного участка".

При поступлении этого сигнала выполняется переход к шагу 20 алгоритма, в противном случае — к шагу 16 (фиг.7, оператор

"Конец линейного участками.

Шаг 16, Линейный участок программы, состоящий из команд последовательной цепи операций (команды пересылок, арифметические и логические операции, команды ввода, вывода, установки флагов и т.п.), микроЭВМ "проходит" путем инкремента программного счетчика микропроцессора.

Содержимое программного счетчика микроЭВМ устанавливается на шине адреса данных микроЭВМ в циклах обращения к памяти, содержащей контролируемую программу. Проверка правильности "прохождения" микроЭВМ линейного участка программы осуществляется путем сравнения текущих адресов обращения микроЭВМ к рабочей программе и синхронно изменяющегося адреса-копии, хранящегося в счетчике 6. Операция сравнения текущего адреса и адреса-копии и проверка правильности последовательного хода рабочей программы выполняется под управлением блока 5 управления. По сигналу синхронизации активного устройства микроЭВМ, поступающему на синхровход 29 устройства и далее (фиг.1) на вход параллельной записи регистра 2, текущий адрес микроЭВМ запоминается в этом регистре и с его выхода поступает на первый вход схемы 4 сравнения. Одновременно с информационного выхода 23 блока 5 управления на вход разрешения коммутатора 9 поступает сигнал, разрешающий прохождение информации о состоянии счетчика 6 копии адреса на второй вход схемы 4 сравнения. Сигнал о результате сравнения с выхода схемы 4 сравнения поступает на адресный вход 41 блока 5 управления и воспринимается как сигнал "Последовательный ход" в случае равенства текущего адреса программы и адреса-копии. При этом выполняется переход к шагу 18 алгоритма. В противном случае выполняется переход к шагу 17 алгоритма (фиг.7, оператор 16 "Последовательный ход 3).

Шаг 17. В случае, если в текущем машинном цикле установлено неравенство текущего адреса и адреса-копии, выполняется инкремент счетчика дополнительных импульсов синхронизации. С информационного выхода 23 блока 5 управления на счетный вход 44 блока 1 счета количества импульсов синхронизации и далее на счетный вход счетчика 49 дополнительных синхроимпульсов поступает сигнал, и содержимое этого счетчика увеличивается на единицу. Такая микрооперация выполняется каждый раз, когда микроЭВМ выполняет циклы обращения к оперативному запоминающему устройству либо к внешним устройствам. Для микроЭВМ число обращений к внешним устройствам при выполнении, одной команды ограничено максимальным значением. Система команд ДВК, например, допускает до четырех таких обращений в цикле выполнения некоторых команд (двухадресные команды косвенной адресации). Счетчик дополнительных синхроимпульсов вырабатывает сигнал переполнения в случае, если в нем содержится максимально допустимое число дополнительных синхроимпульсов и выполняется его инкремент. Выполняется переход к шагу 9 алгоритма (фиг.7, оператор

17 "Инкремент количества дополнительных синхроимпул ьсов").

Шаг 18. В случае, если в текущем машинном цикле установлено равенство текущего адреса и адреса-копии, выполняется декремент счетчика количества импульсов синхронизации линейного участка. С информационного выхода 23 блока 5 управления на счетный вход 44 блока 1 счета количества импульсов синхронизации и далее на счетный вход счетчика 48 количества импульсов синхронизации линейного участка поступает сигнал, и содержимое этого счетчика уменьшается на единицу. Такая микрооперация выполняется каждый раз, когда микроЭВМ выполняет циклы обращения к памяти программ. Одновременно выполняется сброс счетчика 49 дополнительных синхроимпульсов блока 1 счета количества импульсов синхронизации путем подачи сигнала начальной установки с информационного выхода 23 блока 5 управления на вход 45 начальной установки блока 1 счета и далее на вход начальной установки счетчика 49. Одновременно производится инкремент счетчика 6 копии адреса путем подачи сигнала "Инкремент копии адреса" на счетный вход этого счетчика с информационного выхода 23 блока 5 управления.

Выполняется переход к шагу 19 алгоритма (фиг.7, оператор 18 "Сброс счетчика дополнительных синхроимпульсов. Декремент количества синхроимпульсов. Инкремент копии адреса").

1709319

5

30

55 Шаг 19. Производится повторная проверка условия окончания линейного участка описанным в шаге 15 алгоритма путем. Если выполняется условие "Конец линейного участка", происходит переход к шагу 20 алгоритма, в противном случае — к шагу 9 (фиг,7, оператор 19 "Конец линейного участка ).

Шаг 20. Выполняется декодирование команды, код которой поступает с информационного выхода регистра 12 команд на адресный вход 36 блока 5 управления, и в зависимости от этого кода выполняется переход к соответствующему шагу алгоритма: при выполнении команды ПРД вЂ” к шгу

21 алгоритма; при выполнении команды ПБУ вЂ” к шагу

22 алгоритма; при выполнении команды ПУС вЂ” к шагу

23 алгоритма; при выполнении команды ВПР— к шагу

27 алгоритма; при выполнении команд ВРП, ВПП вЂ” к шагу 31 алгоритма; при выполнении команды РДИ вЂ” к шагу

2 алгоритма (фиг.7, оператор 20 "Команда5) Шаг 21. Завершение линейного участка . программы микроЭВМ командой последовательной цепи операций сопровождается выполнением команды ПРДустройства, Выполняется процедура сравнения текущего адреса микроЭ ВМ и адреса-копии устройства и проверка правильности последовательного хода рабочей программы. Работа устройства в режиме проверки правильности последовательного кода программы описана в шаге 16 данного алгоритма. Если с выхода блока 4 сравнения на вход 41 блока

5 управления поступает сигнал "Последовательный ход" (сигнал равенства текущего адреса микроЭВМ и адреса-копии), выполняется переход к шагу 8 алгоритма, в противном случае выполняется переход к шагу

17 алгоритма (фиг,7, оператор 21 "Последовательный ход ).

Шаг 22. Завершение линейного участка программы микроЭВМ командой безусловной передачи управления сопровождается выполнением команды ПБУ устройства. Выполняется операция сравнения текущего адреса микроЭ BM и адреса-копии устройства, описанная в шаге 16 алгоритма. Если с выхода блока 4 сравнения на вход 41 блока

5 управления поступает сигнал "Последовательный ход" (сигнал равенства текущего адреса микроЭВМ и адреса-копии), выполняется переход к шагу 17 алгоритма, в противном случае выполняется переход к шагу

24 алгоритма (фиг.7, оператор 22 "Последовательный ходЗ).

Шаг 23. Завершение линейного участка и ограммы микроЭВМ командой передачи уп авления по условию сопровождается выи нением команды ПУС устройства. Выи няется операция сравнения текущего ад еса микроЭВМ и адреса-копии устройства описанная в шаге 16 алгоритма. Если с в хода блока 4 сравнения на вход 41 блока

5 правления поступает сигнал "Последовате ьный ход" (сигнал равенства текущего ад еса микроЭВМ и адреса-копии), вы полня тся переход к шагу 8 алгоритма, в проти ном случае выполняется переход к шагу

24 алгоритма (фиг.7, оператор 23 "Последовательный ход>).

Шаг 24. Проверка правильности выполнения микроЭВМ передачи управления заключается в сравнении текущего адреса микроЭВМ и ожидаемого адреса перехода, содержащегося во втором слове команды устройства и выполняется под управлением блока 5 управления. С информационного выхода 23 блока 5 управления на счетный вход прогpGMMHoi о счетчика 8 устройства поступает сигнал, производящий инкремент содержимого этого счетчика. С выхода счетчика 8 на адресный вход блока 15 постоянной памяти поступает адрес второго слова команды ПБУ (ПУС) устройства, Одновременно с информационного выхода

23 блока 5 управления на вход обращения блока 15 постоянной памяти поступает сигнал обращения и информация об ожидаемом адресе перехода линейного участка с выхода блока 15 постоя н ной памяти поступает на второй вход схемы 4 сравнения, на первый вход которой с выхода регистра 2 поступает информация о текущем адресе микроЭВМ. С выхода схемы 4 сравнения на адресный вход 41 блока 5 управления поступает результат сравнения текущего адреса микроЭВМ и ожидаемого адреса перехода.

Выполняется переход к шагу 25 алгоритма (фиг.7, оператор 24 "Проверка перехода"), LUar 25. Результат сравнения текущего адреса микроЭВМ и ожидаемого адреса перехода поступает на адресный вход 41 блока 5 управления и в случае неравенства адресов воспринимается как сообщение

"Ошибка перехода". При этом выполняется переход к шагу 17 алгоритма. В противном случае выполняется переход к шагу 26 алгоритма (фиг,7, оператор 25 "Ошибка перехода ).

LUar 26. При выполнении микроЭВМ команд последовательной цепи операций формирование адреса-копии процессора выполняется путем инкремента счетчика 6 копии адреса синхронно с инкрементом

1709319

26 турной таблицей переходов, реализующей обеспечивать быструю реакцию на возникалгоритм фиг. 7. Сигналы первой группы шую ошибку (сбой или отказ; время реакции выходов (первый, второй и третий выходы) не превышает времени выполнения команпрограммируемой логической матрицы 50 ды обращения к внешнему устройству), поступают соответственно на управляющие 5 предотвращать возможность аварии управвходы первого дешифратора 52, на инверс- ляемого объекта путем устранения бесконтный вход стробирования которого поступа- рольного "блуждания" микроЭВМ по ют тактовые сигналы с тактового входа 21 программе в результате ошибки (сбоя или блока 5 управления. Выходы дешифратора . отказа). Использование изобретения пре52 являются группой выходов управления 10 дусматривает простой формальный алгоприемниками информации информацион- ритм подготовки служебной информации, ного выхода 23. Сигналы на этих выходах отображающей рабочую программу пользопредставлены эпюрой 74, фиг.8. Инкремент вателя в программу устройства для контропрограммного счетчика 8 и изменение со- ля и, следовательно, требует незначительстояния счетчика? (указателя стека) осуще- 15 кых затрат для его использования в конкствляется сигналами второй группы "ретных прикладных задачах. выходов (четвертый и пятый выходы) про- Ф о р мул а из о 6p ете н и я граммируемой логической матрицы 50. Эти - 1.Устройстводля контроля выполнения сигналы (эпюра 73, фиг. 8) поступают на программ,содержащееблоксчетаколичеступравляющие входы второго 53 дешифрато- 20 ва импульсов синхронизации, первый"и втора, на прямой вход стробирования которого рой блоки регистров, схему сравнения, блок с тактового входа 21 блока 5 управления микропрограммного управления, первый, поступают тактовые сигналы (эпюра 72, фиг. второй и третий счетчики; первый, второй и

8). Сигналы с выхода дешифратора 53 (эпю- третий коммутаторы, регистр команд, блок ра 75, фиг.8) поступают на группу выходов 25 оперативной памяти, блок ввода-вывода и управления счетчиками 7 и 8 информацион- блок постоянной памяти, причем выход перного выхода 23 блока 5 управления. Сигна- вого блока регистров подключен к первому лы третьей группы выходов (шестой, информационному входу схемы сравнения, седьмой и восьмой выходы) программируе- информационный вход первого блока регимой логической матрицы 50 поступают сост- 30 стров является информационным; входом ветственно на входы управления устройства и подключен к входу-выходуаддешифратора 54, с выходов которого на со- реса данных блока ввода-вывода, выход ответствующие выходы третьей группы вы- блока постоянной памяти, выходы первого, ходов управления источниками второго и третьего коммутаторов соединеинформации. информационного выхода 23 35 ны с информационными входами второго блока 5 управления поступают сигналы, блока регистров, блока счета количества импредставленные эпюрой 73, фиг. 8. Сигналы пульсов синхронизации и регистра команд, четвертой группы выходов(девятый-тринад- информационным входом-выходом блока цатый выходы) программйруемой логиче- ввода-вйвода, информационным входомской матрицы 50 (эпюра 73, фиг. 8) 40 выходом блока оперативной памяти и втопоступаютнасоответствующие входы обра- рым информационным входом схемы щения блока 13 оперативной памяти; управ- сравнения, тактовый вход блока микропрогления счетом счетчика 6 копии адреса,, раммного управления является тактовым начальной установки и управления счетом входом устройства, группа выходов блока блока 1 счета количества импульсов синхро- 45 микропрограммного управления соединена низации, и входят в состав информационно- с входами записи первого и третьего счетчиго выхода 23 блока 5 управления. Сигнал ков, второго блока регистров, блока счета (эпюра 73, фиг. 8) на четырнадцатом выходе количества импульсов синхронизации и репрограммируемой логической матрицы яв- гистра команд, входом блокировки первого ляется сигналом ошибки устройства. Двух- 50 коммутатора, счетными входами первого, фазная организация управления прием- второго и третьего счетчиков, входом обраниками информации и счетчиками устройст- щения для чтения-записи блока оперативва позволяет совместить некоторые опера- ной памяти, входами разрешения второго и ции, предусмотренные схемой алгоритма третьего коммутаторов, входом обращения работы блока 5 управления, и выполнить их 55 для ввода-вывода блока ввода-вывода и вхоза один такт работы. дом обращения для чтения блока постоянИспользование изобретения позволяет ной памяти, вход начальной установки контролировать шины управления микро- устройства подключен к входам начальной

ЭВМ или программируемого контроллера, а установки второго счетчика и блока микротакже информационно-адресные шины, программного управления, синхровход уст27

1709319

50 ройства — к входу записи первого блока регистров, информационный выход первого счетчика соединен с информационным входом первого коммутатора, информационный выход второго счетчика подключен к адресному входу блока оперативной памяти, выход готовности, управляющий входвыход блока ввода-вывода соединены соответственно с первым входом условий блока микропрограммного управления и входом-выходом управления устройства, вход подтверждения прерывания устройства подключен к второму входу условий блока микропрограммного управления, выход второго блока регистров — к информационному входу третьего счетчика, выход которого — к адресному входу блока постоянной памяти и информационному входу второго коммутатора, информационный выход регистра команд соединен с входом кода операций блока микропрограммного управления и первым информационным входом третьего коммутатора, второй информационный вход которого подключен к информационному выходу блока счета количества импульсов синхронизации, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, информационный вход первого счетчика соединен с выходом блока постоянной памяти, синхровход устройства подключен к третьему входу условий блока микропрограммного управления, четвертый и пятый входы условий которого подключены соответственно к выходу схемы сравнения, выходу признака переполнения блока счета количества импульсов синхронизации, счетный вход и вход начальной установки которого подключены к группе выходов блока микропрограммного управления, выход которого является выходом ошибки устройства.

2. Устройство по п.1, отл и ч а ю ще ес я тем, что блок счета количества импульсов синхронизации содержит первый и второй счетчики, причем информационный вход первого счетчика является информационным входом блока, счетные входы и выходы признаков переполнения первого и второго счетчиков соответственно объединены и являются счетным входом и выходом признака переполнения блока, вход параллельной записи и информационный выход первого счетчика являются соответственно входом записи и информационным выходом блока, вход начальной установки второго счетчика — входом начальной установки блока, 3. Устройство по п.1, о т л и ч а ю щ е ес я тем, что блок ввода-вывода содержит дешифратор адреса, первый и второй регистры, первый и второй коммутаторы, первый, второй и третий триггеры, с первого по четвертый элементы И, первый и второй элементы ИЛИ, группа входов дешифратора адреса, группа информационных входов первого регистра, группа выходов первого коммутатора образуют вход-выход адреса данных блока ввода-вывода, группа информационных входов второго регистра и группа выходов второго коммутатора информационный вход-выход блока вводавывода, выход дешифратора подключен к первому входу первого элемента И, выход которого соединен с информационным входом первого триггера, прямой выход которого подключен к первым входам второго и третьего элементов И, выход второго элемента И вЂ” к первому входу первого элемента

ИЛИ, входу разрешения первого коммутатора и входу установки второго триггера, вы, ход третьего элемента И вЂ” к второму входу первого элемента ИЛ И, к первому входу второго элемента ИЛИ и установочному входу третьего триггера, выход первого элемента

ИЛИ, вторые входы первого, второго, третьего и первый вход четвертого элементов И и синхровход первого триггера объединены и являются входом-выходом управления блока ввода-вывода, синхровходы второго и третьего триггеров соответственно подключены к входу параллельной записи второго регистра и входу разрешения второго коммутатора, объединены и являются входом обращения блока ввода-вывода, а выходы второго и третьего триггеров объединены и являются выходом готовности блока вводавывода, инверсный выход первого триггера соединен с вторым входом четвертого элемента И, выход которого подключен к второму входу второго элемента ИЛИ, выход которого соединен с входом записи первого регистра.

1709319

39

Фиг. 2

2f

32

Л

М О

Продолжение таблицы

1709319

1709319

1 начальная усщанобка

1з епеа ах. участк

«em

Посл д ходе нет нет

Вийе >

ВАВИЛ

29 команда.

ЮманЮаg

Nll

ВРИ Пбу

2и Ошибка ирехода р нет дагрузка адреса аерех да дй

Видод информаиии о соса. устройстба

Вадод стартоВого адреса нещ 0

Сонхроамлуяьс да

Вдод копии а3реса

Валерка команда сброс

9 аризнок нет ереноянеие да

19 устонодка флаге оию

Загрузка инф,обоаибке неЯ 11 да

ПрерыВание?

12 да

Прор дание иеа нет 13

Cunxpourtnueb

t7

МнкРЕнона кояичегт

Вьтоянит. синхроима.

Сбр. сч дололн. симр.

Яекреиеит «елич. санкр.

ИнкРвмека копии адр, Нюа 19 доне„ лин. участка да

21последо . и т ход«t

22П ед ход е ма

ПУС

РДИ сз Лоследо

Яа ход 1 нет

24

Продерка иерехода

14 яогрузка состояния устройстба 5 свек

@ 27Пвсяедо . хау е нет гд броберка аерехода

Юа 29

Ошибка а

1 нгфг

И

Загрузка еосщения устройсаВа и отек

Загрузка а4оеса переходи 1Лосюеа дат. ход Р

Неа

32

Загрузка состояние усаройсвда «з анеека

1709319

Редактор А,Долинич

Заказ 426 Тираж Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., 4!5

Производственно-издательский комбинат "Патент", г. Ужгород, ул,Гагарина, 101

О

1 Ц

75

Составитель Д,Ванюхин

Техред M.Ìîðãåíòàë Корректор М.Максимишинец

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

 

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

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

Изобретение относится к вычислительной технике и может быть использовано при отладке и контроле программ, настройке и проверке работы микроЭВМ и других вычислительных аппаратных средств

Изобретение относится к вычислительной технике и может быть использовано при отладке рабочих программ в реальном масштабе времени СЦВМ

Изобретение относится к цифровой вычислительной технике и может быть использовано при отладке программ специализированных ЦВМ, содержащих в своем J/ составе штатные блоки постоянной памяти с рабочими программами

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

Изобретение относится к цифровой вычислительной технике и может быть использовано при отладке программ специализированных ЦВМ, содержащих в своем составе штатные блоки постоянной памяти с рабочими программами

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

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

Изобретение относится к компьютерным технологиям, в частности к системам и способам формирования дамп файла при возникновении сбоя в работе программы (аварийном завершении программы) в вычислительных системах с ограниченными ресурсами

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

Изобретение относится к вычислительной технике и может быть использовано при построении управляющих вычислительных машин (УВМ), нечувствительных к сбоям программ

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ), например в системах управления газотурбинного двигателя

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

Изобретение относится к вычислительной технике и может быть использовано в управляющих вычислительных машинах (УВМ)

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