Устройство для контроля вычислительного процесса эвм
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано при построении вычислительных систем, например, в автоматизированных системах управления технологическими процессами. Целью изобретения является расширение функциональных возможностей устройства за счет контроля обращений к стековой памяти и ее состояния на различных приоритетных уровнях. Устройство для контроля вычислительного процесса ЭВМ содержит блок сопряжения, операционную магистраль, регистр приоритета, генератор, управляющий элемент И и М блоков контроля, каждый из которых включает узел контроля времени, два элемента ИЛИ-НЕ, два триггера, элемент задержки, три элемента И, магистральный элемент, реверсивный счетчик, элемент И-НЕ, первый и второй элементы НЕ, элемент ИЛИ, первый и второй формирователи. 4 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСГ1УБЛИК
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4439624/24-24 (22} 25,04,88 (46) 30.09.90. Бюл. М 36 (72) А.И.Евченко и С.А.Левшин (53) 681.3(088.8) (56) Потемкин И.С. Функциональные узлы цифровой автоматики. M.: Знергоатомиздат, 1988, с. 213, рис. 6.21.
Авторское свидетельство СССР
М 830389, кл. 6 06 Е 11/00, 1979. (54) УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА 3SM (57) Изобретение. относится к вычислительной технике и может быть использовано при построении вычислительных систем, например, в автоматизированных системах управления технологическими процессами.
Изобретение относится к вычислительной технике и может быть использовано при построении вычислительных систем, например, в автоматизированных системах управления технологическими и роцессами.
Цель изобретения — расширение функциональных возможностей устройства за счет обеспечения контроля обращений к стековой памяти и ее состояния на различных приоритетных уровнях.
На фиг. 1 приведена функциональная схема устройства для контроля вычислительного процесса 3ВМ; на фиг. 2 - функ иональная схема блока сопряжения; на фиг, 3схема узла контроля времени, пример исполнения; на фиг. 4 — функциональная схема узла формирования прерываний, Устройство для контроля вычислительного процесса 3ВМ содержит (фиг, 1) про,. Ж,„1596332 А1
Целью изобретения является расширение функциональных возможностей устройства за счет контроля обращений к стековой памяти и ее состояния на различных приоритетных уровнях. Устрой=тво для контроля вь|числительного процесса 3 B M содержит блок сопряжения, операционную магистраль, регистр приоритета, генератор, управляющий элемент И и M блоков контроля, каждый из которых включает узел контроля времени, два элемента ИЛИ-НЕ, два триггера, элемент задержки, три элемента И, элемент И-НЕ, магистральный элемент, реверсивный счетчик, первый и второй элементы НЕ, элемент ИЛИ, первый и второй формирователи. 4 ил. цессор 1, ОЗУ 2, устройства связи с обьектом (УСО) 3, блок 4 сопряжения, системную (операционную} магистраль 5, регистр 6 приоритета, генсратор 7 импульсов, управляюгций элемент И 8 и M блоков 9 контроля, каждый из которых включает узел 10 контроля времени, элемент ИЛИ вЂ” НЕ 11, первый триггер 12, элемент 13 задержки, первый и второй элементы И 14 и 15, элемент
И-НЕ 16, магистральный элемент 17, реверсивный счетчик 18, второй элемент ИЛИ-НЕ 19, первый элемент НЕ 20, третий элемент И 21, элемент ИЛИ 22, первый и второй формирователи 23 и 24, второй триггер 25 и второй элемент НЕ 26, Блок 4 сопряжения (фиг. 2) включает первый, второй и третий магистральныеэлементы 27-29, селектор 30 адреса, элемент
ИЛИ 31, первый элемент НЕ 32, первый, 1596332 (фиг. 4) образуют буферный элемент 68, пер- 20 троля, имеется большое количество функци- 30
55 второй, третий и шестой элементы ИЛИ-НЕ
33 — 36, десятый, восьмой и девятый элементы НЕ 37-39, схему 40 сравнения, второй, седьмой, шестой, пятый, четвертый, третий элементы НЕ 41 — 46, седьмой элемент ИЛИН Е 47, первый элемент И-НЕ 48, триггер 49, четвертый элемент ИЛИ-НЕ 50, узел 51 формирования прерываний, регистр 52, двенадцатый и одиннадцатый элементы НЕ 53 и 54, второй элемент И-НЕ 55, пятый элемент
ИЛИ-НЕ 56 и внутреннюю магистраль 57.
Узел 10 контроля времени (фиг. 3) содержит первый, второй, третий элементы
И-НЕ 58 — 60, первый и второй элементы И 61 и 62, триггер 63, счетчик 64 приоритетного уровня, счетчик 65 времени отработки программ, счетчик 66 времени отработки подпрограмм и регистр 67.
Узел 51 формирования прерываний вый, второй, третий, четвертый триггеры
69-72, первый и второй элементы И 73 и 74, первый и второй элементы И-НЕ 75 и 76, первый, второй и третий элементы НЕ 77 — 79 и регистр 80 вектора прерывания, В системах реального времени, например в системах управления многокоординатными технологическими аппаратами, многоканальных системах измерения и кон-, ональных задач, При выполнении различных задач часть оперативной памяти — стек — применяется для хранения необходимой информации при организации вложенных процедур: обращение к подпрограмме и возврат из нее; передачи управления программе обработки прерываний и возврата управления прерванной программе. Стек используется также для временного хранения рабочих переменных задач, но при этом необходимо следить, чтобы его содержимое в конце выполнения задачи совпало с начальным, т.е. все данные, которые задача записывала в стек, должны быть обязательно прочитаны из стека к моменту завершения задачи, В разветвленных программах возможны такие ошибки; при которых число записы ваемых в стек переменных не равно числу считываемых (например, из-за ошибки в операторах условного перехода не выполнялась ветвь, в которой данные заносились . в стек, но выполнялась ветвь программы, в которой данные читаются из стека). Это может привести к сбою системы (неправильной работе программ). Отсутствие оперативного контроля состояния стека затрудняет поиск таких ошибок. Особенно сложен поиск и устранение ошибок в системах с абсолютными приоритетами задач, 5
Пусть, например, приоритеты задач относительны и одна из задач (задача А), выполняющаяся периодически, пишет в стек на одно слово больше, чем читает из стека. Пока в стеке будет достаточно свободного места, это не влияет на правильность выполнения других задач. Однако, так как для стека отведена ограниченная область памяти, через несколько запусков задачи А в стеке останется меньше свободных ячеек, чем требуется для хранения переменных другой задачи (задачи В), Потому при выполнении задачи B происходит переполнение стека.
Переполнение стека во многих ЭВМ фиксируется встроенными устройствами контроля и, следовательно, ошибка, допущенная при разработке задачи А, выполняется во время выполнения правильной задачи В.
Переполнение стека указывает характер ошибки, однако неизвестна задача, в которой эта ошибка допущена, и для отладки необходимо проанализировать все задачи системы, Отладка системы с абсолютными приоритетами осложняется тем, что даже однократный запуск неправильно запрограммированной задачи А может привести к ошибкам в вычислениях в задачах меньшего приоритета, Рассмотрим ситуацию, порождающую ошибки по шагам.
1. Пусть выполняется задача В и пусть после того, как задачей В осуществлена запись рабочей переменной Х в стек, ее выполнение прерывается более приоритетной задачей А.
2. Во время выполнения задачи А в стек занесено на одну переменную больше, чем прочитано, т.е. после завершения задачи в ве, шине стека записана переменная Y.
3. Задача В продолжает свою работу и читает содержимое стека. Вместо записанной в стек переменной Х прочитывается другая переменная, У, что приводит к ошибке в вычислениях. Такая ошибка может проявиться только при пользовании конечным результатом работы системы, так как она аппаратно не контролируется. Но даже если она проявляется немедленно (например, в виде аномального выброса контролируемого показания), она обычно воспринимается как случайный сбой, так как нельзя сделать каких-либо предположений о причине ошибки.
Действительно, задача А и задача В автономно работают правильно. Вследствие асинхронности процессов А и В сбойная ситуация может возникнуть редко и без всякой закономерности.
1596332
Сущность изобретения состоит в расширении возможностей устройства за счет обеспечения контроля не только верхней и нижней границ стека, но и проверки его состояния после выполнения каждой задачи.
Для этого в процессе выполнения задачи подсчитывается разность между числом чтения из стека и записей в стек. При завершении задачи зта разность должна быть равна нулю. Так как а системах с абсолютными приоритетами одновременно могут выполня, ься несколько задач, для подсчета укаэанных разностей используется несколько аппаратных счетчиков, число которых равно числу уровней приоритета, Устройство для контроля вычислительного процесса ЭВМ работает следующим образом.
Устройство включает в себя процессор
1, предназначенный для выполнения хранящихся в ОЗУ 2 программ. Во время работы процессор 1 обменивается информацией с
ОЗУ 2 и УСО 3 через интерфейсную магистраль 5. УСО представляют собой контроллеры внешних устройств.
Последовательность выставления на шинах магистрали адресов, данных и управляющих сигналов одинакова для всех подключенных к ней устройств, поэтому эа регистрами .внешних устройств закрепляются определенные адреса в адресном пространстве и обмен с ними по инициативе процессора аналогичен доступу к ячейкам
ОЗУ.
Выполнение функциональных задач процессором происходит под управлением специального комплекса программ — операционной системы (ОС). Функциональные задачи могут находиться в одном из трех состояний: пассивном, когда задачу не требуется выполнять; состоянии ожидания, в котором требуется выполнение задачи, но процессор занят выполнением задачи или обработкой прерывания; активном, в котором задача выполняется процессором.
При освобождении процессора после выполнения задачи он обращается к ОС и выбирает на выполнение наиболее приоритетную из задач, находящихся в состоянии ожидания. Перед выполнением задачи i-го приоритета проверяется на равенство нулю реверсианый счетчик 18ь в котором при выполнении задачи )-ro приоритета накапливается разность между числами записей и чтений из стека. Если условие равенства нулю не соблюдается, происходит прерывание по вектору "Ошибка стека". Состояние счетчика 18i контролируется через элемент
17i и может корректироваться. При каждой жения
50 записи а стек на суммирующем входе счет-. чика 18ь соответствующем текущему приоритету i, появляется уровень "1", а при каждом чтении из стека уровень "1" появляется на аычитающем входе счетчика 18ь
Рассмотрим работу устройства более подробно, При включении питания сигнал на седьмом выходе блока 4 сопряжения уровнем "0" сбрасывает в "0" содержимое всех реаерсивных счетчиков 18, а уровень "0": на одиннадцатом выходе подготавливает к работе все триггеры 25, В блоке 4 сопряжения записывается адрес стека, занимающий фиксированное место в ОЗУ 2, и уровень "0" на входе управляющего элемента И 8 запрещает прохождение импульсов от генератора 7.
Диспетчер программ выбирает из очереди задач наиболее приоритетную (например, I-й приоритет) и записывает в регистр 6 приоритета соответствующий код, Запись стробируется, как в известном устройстве, переходом из уровня "0" в уровень "1" на десятом выходе блока 4 сопряжения. На выходах регистра 6 приоритета появляется код
i-го приоритета, который разрешает запись в узел 10 контроля времени I-го приоритета по операционной магистрали 5 начального кода отработки всех задач i-го приоритета и начальный код времени отработки первой выполняемой программы I-го приоритета.
Занесение кода стробируется переходом из уровня "0" в уровень "1" с шестого выхода блока 4 сопряжения. По окончании пересылок уровень "1" на первом выходе блока 4 сопряжения разрешает прохождение импульсов от генератора 7 через управляющий элемент И 8 на разрешающий вход узла 10 контроля времени i-ro приоритета. Если вы-. полняемая программа обращается к подпрограмме, то в узел 10 контроля времени
i-го приоритета заносится соответствующий этой программе начальный код. Запись стробируется переходом из уровня "0" в уровень "1" с шестого выхода блока 4 сопряжения. При передаче управления подпрограмме на третьем выходе блока 4 сопряжения появляется импульс уровня "1".
По окончании отработки подпрограммы импульс уровня "1" появляется на четвертоМ выходе блока 4 сопряжения. Код контрольного состояния узла 10 контроля времениI-го приоритета поступает на информационный вход блока 4 сопряжения по сигналу уровня "1" на втором выходе блока 4 сопряЕсли во время решения задачи i-го приоритета пришел запрос от задачи более высокого, (1-1)-го, приоритета, код времени обработки всех задач I-го приоритета сбрасывается, а коды времени отработки выпол1596332
10
30
40
50 няемой и рограммы и времени отработки выполняемой подпрограммы остаются без изменения, После возвращения к выполнению задачи i-ro приоритета счет времени продолжается.
При обращении задачи i-го приоритета к стеку уровнем "0" с восьмого выхода 4 сопряжения взводится триггер 12 блока 9 контроля i-го приоритета. На входах первого и второго элементов И 14 и 15 устанавливается уровень "1". При записи в стек уровень "1" устанавливается на шестом выходе блока 4 сопряжения и через вход перваго элемента И 14 поступает на. суммирующий вход реверсивного счетчика
18, сбрасывая одновременно через первый элемент ИЛИ-НЕ 11 триггер 12. При чтении из стека уровень" 0" на восьмом выходе блока 4 сопряжения опять взводит триггер 14, который уровнем "1" открывает второй элемент И 15. Уровень "1" с девятого выхода блока 4 сопряжения через вход второго элемента И 15 поступает на вычитающий вход реверсивного счетчика 18 блока контроля
i-ro приоритета. 25
Если в вычислительной системе используется стандартная ОС и внести изменения в нее нет возможности, то в выполняемой задаче перед командой возвращения в ОС (во многих ОС эта операция называется
ЕХП) необходимо программно установить нулевой приоритет в регистре 6 приоритета, При этом если на информационном выходе реверсивного счетчика 18 код не равен нулю, то на одном входе третьего элемента И
21 устанавливается уровень "1". Сигнал с первого выходарегистра 6 приоритета уровнем "1" через третий элемент И 21 поступает на один вход элемента ИЛИ 22, так как уровень "1" на входе третьего элемента И 21 в этот момент поддерживается элементом
13 задержки. Далее уровень "1" с выхода элемента ИЛИ 22 поступает на вход прерывания блока 4 сопряжения и разрешает прерывание по вектору "Ошибка стека".
Если имеется возможность модификации программ ОС, в вычислительной системе проверка стека осуществляется ОС после окончания выполнения каждой задачи.
Если при записи в стек происходит переход нижней границы стека, уровень "1" появляется на выходе переполнения реверсивного счетчика 18 и через формирователь
23 импульса через элемент ИЛИ 22 поступает на вход прерывания блока 4 сопряжения,, При чтении из стека переход верхней грани/ цы стека устанавливает уровень "1" на выходе заема реверсивного счетчика 18ь и через формирователь 24 импульса и элемент ИЛИ 22 поступает на вход прерывания блока 4.сопряжения, разрешая прерывание по вектору."Ошибка стека".
При обнаружении ошибочной ситуации перед выполнением задачи счетчик 18 необходимо исправить. Сигнал ошибки обращения к стеку с выхода элемента ИЛИ 22 импульсом уровня "1" поступает также через второй элемент НЕ 26 íà S-вход второго триггера 25. В результате на выходе второго триггера устанавливается уровень "1", который поступает на вход магистрального элемента 17, показывая, в задаче какого приоритета произошла ошибка обращения к стеку. При чтении состояния счетчика 18 необходимо повторно установить в регистре приоритета код i-го приоритета, уровень "1" на пятом и девятом выходах блока 4 сопряжения устанавливает на выходе элемента ИНЕ 16 уровень "0", открывающий элемент 17. Код с информационного выхода реверсивного счетчика 18 и выхода второго триггера 25 поступает на информационные входы магистрального элемента 17, выход которого подключен к операционной магистрали 5. Для исправления счетчика 18I выполняется необходимое количество циклов "Чтение" или "Запись" в стек. После этой операции сигналом уровня
"0" с одиннадцатого выхода блока 4 сопряжения нужно сбросить второй триггер 25ь
Рассмотрим по схеме, представленной на фиг. ", работу блока 4 сопряжения, Блок
4 сопряжения позволяет подключить блок 9 контроля к операционной магистрали 5 и поддерживает его работу, используя стандартные циклы обращения к внешним устройствам. Рассмотрим формирование сигналов управления блоком 9 контроля.
Пр . включении питания под управлением программы монитора происходит подготовка устройства к работе, Селектор 30 адреса с первого выхода выдает адрес АО уровнем
"0", который поступает на вход первого элемента ИЛИ-НЕ 33. На другой вход первого элемента ИЛИ-НЕ 33 поступает сигнал "Вывод Н" уровнем "0". Полученный таким образом сигнал с выхода первого элемента
ИЛИ-НЕ 33 уровнем "1" поступает на первый вход узла 51 формирования прерывания, подготавливая его к работе, Уровень "0" на управляющем входе первого магистрального элемента 27 разрешает прохождение начального адреса стека на вход регистра 52 (разряды 05 -015), а уровень "1" на управляющем входе регистра 52 стробирует его запись. Уровень "0" с выхода первого элемента. НЕ 32 поступает на седьмой выход блока 4 сопряжения и на вход второго элемента И-НЕ 55 и через элемент HE 54 фор1596332, 10
10
45
55 мирует уровень "0" на одиннадцатом выходе блока 4 сопряжения.
Формирование сигнала запрета импульсов от генератора 7 происходит следующим образом. На втором выходе селектора 30 адреса появляется сигнал "Адрес А1", который поступает на вход второго элемента ИЛИ-НЕ 34 уровнем "0". другой вход которого подключен к линии сигнала
"Вывод Н" уровня "0". Результирующий сигнал с выхода второго элемента ИЛИ-НЕ 34 через элемент Н Е 42 устанавливает уровень
"0" на глоде триггера 49, Триггер 49 взводится, и с инверсного выхода устанавливается уровень "0" на первом выходе блока 4 сопряжения.
Запись начального кода времени отработки всех задач i-ro.ïðèîðèòåòà, начального кода времени отработки й-й задачи i ãî приоритета и начального кода времени отработки подпрограммы I-го приоритета в узел 10 контроля времени стробируется сигналом "Вывод Н". Линия "Вывод Н" уровня
"0" подключена к шестому выходу блока 4 сопряжения через элемент НЕ 46.
Запись в регистр 6 приоритета осуществляется сигналами "Адрес А5" и "Вывод Н".
Селектор 30 адреса устанавливает на шестом выходе уровень "0", который поступает на вход четвертого элемента ИЛИ-НЕ 50, другой вход которого подключен к линии
"Вывод Н" уровня "0". Результирующий сигнал устанавливает уровень "1" на десятом выходе блока 4 сопряжения.
Контроль времени выполнения программ осуществляется следующим образом. Запись в регистр 67 контрольного слова узла 10 контроля времени производится сигналами "Адрес А2" и "Вывод Н". На третьем выходе селектора 30 адреса и входе третьего элемента ИЛИ-НЕ 35 устанавливается уровень "0". Другой вход третьего элемента ИЛИ-НЕ 35 соединен с линией
"Вывод Н" уровня "0". Результирующий сигнал с выхода третьего элемента ИЛИ-НЕ 35 устанавливает на втором выходе блока 4 сопряжения уровень "1". Контролируемый код с узла 10 контроля времени поступает на информационный вход блока 4 сопряжения и вход третьего магистрального элемента 29. Считывание контрольного кода производится сигналами "Адрес Az" и "Ввод
Н". Уровень "0" с третьего выхода селектора
30 адреса поступает на вход шестого элемента ИЛИ-НЕ 36, другой вход которого подключен к линии "Ввод" уровня "0". Суммарный сигнал с выхода элемента ИЛИ-НЕ
36 через элемент НЕ 37 поступает на управ-ляющий вход элемента 29, устанавливая уровень "0". Вход третьего магистрального элемента 29 подключается к его выходу и, соответственно, к входам-выходам блока 4 сопряжения.
Сброс триггера,45 осуществляется сигналами "адрес А1" и "Ввод Н", На втором выходе селектора 30 адреса и входа элемента ИЛИ-НЕ 47 устанавливается уровень "0".
Другой вход элемента ИЛИ-НЕ 47 подключен к линии "Ввод Н" уровня "0". Результирующий сигнал с выхода элемента ИЛИ-НЕ:
47 через элемент НЕ 43 устанавливает уровень "0" на R-входе триггера 49. На инверсном выходе триггера 49 и первом выходе блока 4 сопряжения устанавливается уровень "1".
Рассмотрим схему формирования сигнала обращения к стеку. При записи в стек на входе второго магистрального элемента
28 устанавливается адрес стека. Сигнал с линии "Вывод Н" уровнем "0" через элемент
ИЛИ 31 поступает на управляющий вход элемента 28. Вход подключается к выходу второго магистрального элемента 28, и сигнал поступает на второй вход схемы 40сравнения. При равенстве кодов на первом и втором входах схемы,40 сравнения на ее выходе устанавливается уровень "1". Сигнал "Вывод Н" с выхода элемента ИЛИ 31 через элемент НЕ 41 устанавливает уровень
"1" на входе первого элемента И-НЕ 48, При совпадении сигналов уровнем "1" на первом и втором входах первого элемента И-НЕ 48 на восьмом выходе блока сравнения устанавливается уровень "0". При чтении из стека второй магистральный элемент 28 и первый элемент И-НЕ 48 открываются сигналом с линии "Ввод Н" аналогично.
Линия "Ввод Н" уровня "0" подключена к девятому выходу блока 4 сопряжения через элемент НЕ.45, выход которого подключен также к второму входу блока 51 формирования прерываний.
Для считывания состояния реверсивного счетчика 18 используется сигнал "Адрес
А ", Для чтения кода с первого выхода счетчика 18 сигнал с первого выхода селектора
30 адреса через элемент Н Е 44 устанавливает уровень "1" на пятом выходе блока 4 сопряжения, Для контроля времени выполнения подпрограммы используются сигналы "Адрес
Аз" и "Адрес А4". При обращении к подпрограмме сигнал "Адрес Аз" устанавливает через элемент НЕ 38 на третьем выходе блока
4.сопряжения уровень "1". При окончании выполнения подпрограммы сигнал "Адрес
А4" устанавливает через элемент НЕ 39 на четвертом выходе блока 4 сопряжения уровень "1".
1596332
Узел 51 формирования прерываний формирует вектор "Ошибка стека" и последовательность сигналов СИПН и ТПРН при появлении уровня "1" на входе прерывания блока 4 сопряжения.
Для сброса второго триггера 25 используются сигналы "Адрес Ав" и сигнал "Вывод
Н". С седьмого выхода селектора 30 адреса уровень "0" поступает на вход элемента
ИЛИ-HE 56, на другом входе которого устанавливается уровень "0" с линии "Вывод Н".
Сигнал с выхода элемента ИЛИ-НЕ 56 через элемент НЕ 53, элемент И-НЕ 55 и элемент
HE 54 устанавливает уровень "0" на одиннадцатом выходе блока 4 сопряжения.
Рассмотрим по схеме, представленной нэ фиг. 3, работу узла 10 контроля времени (например, I-ro приоритета), Уровень "1" на информационном входе узла 10 контроля времени является признаком 1-го приоритета и открывает первый, второй и третий элементы И-НЕ 58-60 и первый элемент И 61.
Запись начального кода времени в счетчики
64 — 66 с группы входов узла 10 стробируется сигналом "Вывод Н", который формирует перепад из уровня "1" в уровень "0" на тактирующих входах счетчиков.
Сигнал с генератора 7 поступает на вычитающие входы счетчиков 64 и 65 через первый элемент И 61. При обращении к подпрограмме сигнал "Адрес Аз" через второй элемент И-НЕ 59 взводит триггер 63. На выходе триггера 63 устанавливается уровень "1", разрешая прохождение импульсов с выхода первого элемента И 61 на вход счетчика 66, По окончании отработки подпрограммы сигнал "Адрес А4" через третий элемент И-НЕ 60 устанавливает уровень "G" на втором входе триггера 63. На выходе триггера 63 и втором входе второго элемента И 62 устанавливается уровень "0", закрывающий его. Запись в регистр 67 стробируется сигналом уровня "1" с разрешающего входа узла 10 контроля времени.
Рассмотрим работу узла 51 формирова= ния прерываний (фиг. 4). Уровень "1" на первом входе блока 51 формирования прерываний взводит второй триггер 70. Соответственно, уровень "1" устанавливается на втором входе первого элемента И 73.
Сигнал "Ошибка стека" уровнем "1" поступает на третий вход узла 51 формирования прерываний и на вход первого элемента НЕ
77. Уровень "0" на первом входе первого триггера 69 взводит его. Уровень "1" с выхода первого триггера 69 поступает на первый вход первого элемента И 73. Соответственно, взводится третий триггер 71, разрешая прохождение сигнала ТПРН уровнем "0" на третий выход узла 51 формирования преры;
35 времени подключены к входам-выходам ус40
45, первый триггер, элемент задержки, первый
50 ния, второй, третий и четвертый выходы
55 которого соединены соответственно с вто5
30 ваний..Процессор 1, получив сигнал ТПРН по операционной магистрали 5, вырабатывает сигналы "Ввод Н" и ППР-1Н, поступающие на входы узла 51. Сигнал "Ввод Н" перепадом уровня "0" в уровень "1" устанавливает на первом выходе четвертого триггера 72 уровень "1", а на втором — уровень "0".
Сигнал ППР-1Н через второй элемент
НЕ 78 устанавливает уровень "1"" на первом и втором входах соответственно второго элемента И-НЕ 76 и второго элемента И 74.
Сигнал с выхода второго элемента И-НЕ 76 уровнем "0" поступает на второй вход буферного элемента 68 и разрешает передачу адреса вектора прерывания с регистра 80 через буферный элемент 68 на выход узла
51 формирования прерываний. Сигнал с выхода второго элемента И 74 через третий элемент НЕ 79 устэнавливаетуровень "1" на выходе узла 51 формирования прерываний.
Формула изобретения
Устройство для контроля вычислительного процесса ЭВМ, содержащее регистр приоритета, генератор тактовых импульсов, управляющий элемент И и M блоков контроля (M — число уровней приоритета), каждый из которых содержит узел контроля времени, причем выход генератора тактовых импульсов соединен с первым входом управляющего элемента И, выход которого соединен с первым разрешающим входом узла контроля времени i-ro блока контроля (I = 1, М), группы информационных входов регистра приоритета и M узлов контроля тройства для подключения к системной магистрали контролируемой Э ВМ, о т л и ч а ющ е е с я тем, что, с целью расширения функциональных возможностей за счет обеспечения контроля обращений к стековой памяти и ее состояния на различных приоритетных уровнях, устройство содержит блок сопряжения, а каждый блок контроля содержит первый элемент ИЛИ-НЕ, и второй элементы И, элемент И-НЕ, магистральный элемент, реверсивный счетчик, второй элемент ИЛИ-НЕ, первый элемент
НЕ, третий элемент И. элемент ИЛИ, первый и второй формирователи импульсов, второй триггер, второй элемент НЕ, причем второй вход управляющего элемента И подключен к первому выходу блока сопряжерым, третьим и четвертым разрешающими входами узла контроля времени i-ro блока контроля, пятый выход блока сопряжения соединен с первым входом элемента И-НЕ
i-ro блока контроля, выход которого подклю13
1596332 чен к управляющему входу магистрального элемента i-ro блока контроля, выход которого соединен с входом-выходом устройства для подключения к системной магистрали контролируемой 3ВМ, шестой выход блока сопряжения подключен к пятому разрешающему входу узла контроля времени, первым входам первого элемента И и первого элемента ИЛИ-HE I-го блока контроля, седьмой выход блока сопряжения соединен с входом сброса реверсивного счетчика i-ro блока контроля, восьмой выход блока сопряжения подключен к S-входу первого триггера i-го блока контроля, девятый выход блока сопряжения соединен с вторым входом первого элемента ИЛИ-НЕ, первым входом второго элемента И, вторым входом элемента И-НЕ l-го блока контроля, десятый выход блока сопряжения подключен к управляющему входу регистра приоритета, первый выход разрядов которого соединен первым входом третьего элемента И 1-го флока контроля, ((+1)-й выход разрядов регистра приоритета подключен к информационному входу узла контроля времени, входу улемента задержки, вторым входам первого у второго элементов И и третьему входу эле ента И-НЕ l-го блока контроля, в каждом флоке контроля выход первого элемента
ИЛИ-НЕ соединен с R-входом первого триггера, выход которого подключен к третьим входам первого и второго элементов И, выход первого элемента И соединен с инкрементным входом реверсивного счетчика, декрементный вход которого подключен к выходу второго элемента И, информационный выход реверсивного счетчика соединен с первым информационным входом магистрального элемента и входом второго элемента ИЛИ-НЕ, выход которого подключен к входу первого элемента НЕ, выход которого соединен с вторым входом третьего элемента И, третий вход которого подключен к выходу элемента задержки, выходы заема и переполнения реверсивного счетчика соединены соответственно с входами первого и второго формирователей импульсов, выходО которых подключены соответственно к первому и второму входам элемента -1ЛИ, третий вход которого подключен к выходу третьего элемента И, выход элемента ИЛИ в каждом блоке контроля соединен с входом второго элемента НЕ и входом прерывания блока сопряжения, выход второго элемента
НЕ подключен к S-входу второго триггера, выход которого соединен с вторым информационным входом магистрального элемента, информационные выходы узлов . контроля времени M блоков контроля подключены к информационному входу блока
55 сопряжения, одиннадцатый выход которого . соединен с входом второго триггера 1-го блока контроля, информационный вход-выход блока сопряжения соединен с входом-выходом устройства для подключения к системной магистрали контролируемой ЭВМ, причем блок сопряжения содержит три магистральных элемента, селектор адреса, элемент ИЛИ, двенадцать элементов НЕ, семь элементов ИЛИ-НЕ, два элемента И-:
НЕ, триггер, схему сравнения, узел формирования прерываний, регистр, причем информационные входы первого и второго магистральных элементов и выход третьего магистрального элемента подключены к информационному входу-выходу блока сопряжения, выход первого магистрального элемента соединен с информационным входом регистра, выход первого элемента
ИЛИ-НЕ подключен к управляющему входу регистра, входу первого элемента Н Е и первому входу. узла формирования прерываний, выход регистра соединен с первым входом блока сравнения, второй вход которого подключен к выходу второго магистрального элемента, вход управления которого и вход второго элемента НЕ соединены с выходом элемента ИЛИ, первый вход которого и первые входы с первого, по пятый элементов ИЛИ-НЕ, вход третьего элемента НЕ подключены к информационному входу-выходу блока сопряжения, второй вход элемента ИЛИ, первые входы шестого и седьмого элементов ИЛИ-НЕ и вход четвертого элемента HE подключены к информационному входу-выходу блока сопряжения, выход четвертого элемента НЕ подключен к второму входу узла формирова-. ния прерываний и является девятым выходом блока сопряжения,:выход втарого элемента НЕ соединен с первым входом первого элемента И-НЕ, второй вход которого подключен к выходу схемы сравнения, первый выход селектора адреса соединен с вторым входом первого элемента ИЛИ-HE и входом пятого элемента НЕ, выход которого является пятым выходом блока сопряжения, второй выход селектора адреса подключен к вторым входам второгО и седьмого элементов ИЛИ-НЕ, выход седьмого элемента ИЛИ-НЕ соединен с входом шестого элемента НЕ, выход которого подключен к R-входу триггера. S-вход которого. соединен с выходом седьмого элемента К Е, вход которого подключен к выходу второго элемента ИЛИ-НЕ, третий выход селектора адреса соединен с вторыми входами третьего и шестого элементов ИЛИ-НЕ, четвертый выход селектора адреса подключеч к входу восьмого элемента НЕ, выход которо15
1596332
16 го является третьим выходом блока сопряжения, пятый выход селектора адреса соединен с входом девятого элемента НЕ, выход которого является четвертым выходом блока сопряжения, шестой выход селек- 5 тора адреса подключен к второму входу четвертого элемента ИЛИ-НЕ, выход которого является десятым выходом блока сопряжения, выход шестого элемента
ИЛИ-НЕ соединен с входом десятого эле- 10 мента НЕ, выход которого подключен к управляющему входутретьего магистрального элемента, информационный вход которого является информационным входом блока
"сопряжения, выход первого элемента И-НЕ 15 является восьмым выходом блока сопряжения, выход триггера является первым выхо-. дом блока сопряжения, выходы третьего элемента ИЛИ-НЕ и третьего элемента НЕ .. являются Соответственно вторым и шестым 20 выходами блока сопряжения, третий вход узла формирования. прерываний является входом прерывания блока сопряжения, с первого по четвертый выходы и четвертый и пятый входы узла формирования прерываний подключены к информационному входувыходу блока сопряжения, выход первого элемента НЕ соединен с управляющим входом первого магистрального элемента, первым входом второго элемента И-НЕ и является седьмым выходом блока сопряжения, выход второго элемента И-НЕ подключен к входу одиннадцатого элемента НЕ. выход которого является одиннадцатым выходом блока сопряжения, седьмой выход селектора адреса соединен с вторым входом пятого элемента ИЛИ-НЕ, выход которого подключен к входу двенадцатого элемента
НЕ, выход которого соединен с вторым входом.второго элемента И-WE, входы-выходы селектора адреса подключены к информационному входу-выходу блока сопряжения.
159б332
1596332
Составитель Д, Ванюхин
Техред M.Ìîðãåíòàï Корректор И.Муска
Редактор А. Огар
Производственно-издательский комбинат "Патент", г, Ужгород, yn,Ãàãàðèíà, 101
Заказ 2910 Тираж 567 Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035. Москва, Ж-35, Раушская наб„4/5