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

Иллюстрации

Показать все

Реферат

 

Союз Советских

Соцнапкстическнх

Республик (и7361О1 (6I ) Дополнительное к авт. свнд-ву (22) Заявлено05.01.78 (21)2566826/18-24 с присоединением заявки ¹

G06 F 9/18

Гоаударстоонный квинтет (23 ) П рноритет— ло делам нзобретеннй н отхрытнй

Опубликовано;>5.05.80. Бюллетень № 19

Дата опубликования описания 80.05.8Q (53) УДК 681,14 (088.8) (72) Автор, изобретения

С. В. Тимошок (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ПРЕРЫВАНИЯ ПРОГРАММ

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

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

to входы которых соединены с шифратором,, вторые входы связаны с выходами записываюшего счетчика, схемы ИЛИ, соединенные с входами дешифратора, вторые схемы И, первые входы которых соеди15 иены с выходами ячеек памяти, вторые входы — с выходами считываюшего счетчика,а выходы соединены с соответствуюшими входами схем ИЛИ (lj. Входы блока контроля наличия информации соединены с выходами ячеек памяти, а выходы соединены с первыми входами схемы запрета и третьих схем И и с входами блока синхронизации, первый и второй выхо2 ды которого соединены с входами соответствующих счетчиков, вторые входы третьих схем И соединены с выходами записываюшего счетчика и с вторыми входами схем запрета, а выходы третьих схем И через схему ИЛИ соединены со счетным входом записыватошего счетчика. Счетный вход считываюшего счетчика соединен с выходом датчика окончания обслуживания и с третьими входами вторых схем И.

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

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

Наиболее близким по технической суш.ности к изобретению является устройство для прерыв":.íèÿ программ, содержашее схему приоритета, входы которой соединеHbl с выходами регистра прерываний и ре гистра масок, шифратор, входы ко-.;араго соединены.с входами управлиюшего элемента ИЛИ и с основными выходами схемы приОритетаае дополнительный выхОд 55 которой соединен с выходной шиной устройства, и сумматор, основныо входы которого соединены с выходами шифратора и регистра базового адр оса (З),„ДОпол

3 7361 ра прерывания (2), Первый вход устройст ва через первую группу вентилей соединен с первой схемой свертки. Второй вход устройства через регистр зашиты подключен к первому входу схемы ИЛИ, вторым входом связанной с регистром прерывания, и через регистр контрольного кода зашиты — к входу сумматора.

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

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

1Лолью изобретения является повышение достоверности работы.

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

ИЛИ группы, четные вьсходы группы элементов ИЛИ соединены с четными входами блока предсказания приоритета, а не— четные выходы группы элементов ИЛИ соединены с нечетными входами блока предсказания приоритета, прямой выход блока предсказания приоритета соединен с первым входом первого полсумматора, второй вход которого соединен с вьсходом второго элемента ИЛИ, входы которого подключены к нечетным выходам блока приоритета, инверсный выход блока предсказаний приоритета подключен к первому входу второго полусум латора, второй вход которого соединен с выходом третьего элемента ИЛИ, входы которого соединены с четными выходами блока приоритете, Кроме того, выходы второго и третьего элементов ИЛИ подкл1очены соответственно к первому и второму входам первого элемента ИЛИ, при этом Bi-ь-оды первого и второго полусумматоров подыиочопы к первому и BTOрому входам четвертого элемента ИЛИ, выход которого является третьим выходом устройства. Бчок предсказания приоритета содержит группу элементов НЕ, группу элементов И, элем нт HE и гятый элемент ИЛИ, причем первый вход пятого элемента ИЛИ соединен с выходом первого элемента НГ l pp HHbl a остальные входы пятого элемента ИЛИ соединены с выходами элементов И группы, первые входы которых соединены, corn ветс",твенно,. с выходами элементов HE группы кроме первого, входы элементов

HE группы являются нечетными входами блока предсказания приоритета, а четные входы блока предсказания приоритета соединены с вторыми входами элементов

И группы, при этом группа входов каждого последующего элемента И кроме первого соединена со всеми вторыми вхо736 1

10 если четное.

1 если 5 дами предыдуших элементов И группы, соответственно, а вход перв го элемента И группы является вторым входом блока предсказания приоритета, выход пятого элемента И соединен с входом элемента HE и является прямым выходом блока предсказания приоритета, е выход элемента HE является инверсным выходом блока предсказания приоритета.

Блок предсказания приоритета реализует логическую функцию =Р+Хг О+Хг.МЛ...+ "2 Х4 "Х"-"

Х1 Х4...Хп 4, нечетное, где Х 1 X .. М вЂ” обозначение двоичных и-4 20 переменных, каждая из которых соответствует сигналу на выходе одного из разрядных элементов ИЛИ группы; 25 максимально возможное в данной системе число запросов на прерывание

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

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

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

2 масок, выходы которых соединены с входами блока 3 приоритета, а входы являются первым и вторым входами усч 50 ройства соответственно. Нечетные выходы 4 блока 3 приоритета соединены с входами второго многомодового элемента ИЛИ 5. Четные выходы 6 блока

3 приоритета соединены с входами третье го многовходового элемента ИЛИ 7., Четные и нечетные выходы 6 и 4 блока 3 приоритета соединены также с входами шифратора 8. Инверсные выходы регист»

01 6 ра 1 прерываний и регистра 2 масок соединены с входами соответствуюших разрядных элементов ИЛИ 9 группы, выходы которых соединены с входами блока 10 предсказания приоритета .

Прямой выход 1 1 блока 10 предсказания приоритета соединен с первым входом первого пспусумматора 12.

Инверсньш выход 13 блока 10 предсказания приоритета соединен с первым входом второго полусумматора 14. Выходы второго и третьего многовходовых элементов ИЛИ 5 и 7 соединены соот» ветственно с вторьыи входами полусум маторов 12 и 1.4, а также с входами первого элемента ИЛИ 15. Выходы полусумматоров 12 и 14 соединены с входами четвертого элемента ИЛИ 16, выход 17 которого соединен с шиной контроля и является третьим выходом устройства. Выходы первого элемента ИЛИ

15 и триггера 18 соединены с входами элемента И 19, выход которого соединен с третьим входом сумматора 20.

Второй и первый входы сумматора 20 соединены с выходами регистра 21 базового адреса и выходами шифратора 8.

Дополнительный выход (выход отсутствия прерываний) 22 схемы 3 приоритета соединен с выходной шиной устройства и является первым выходом устройства.

Выходы первого, второго, третьего, четвертого, rt-3-го разрядных элементов

ИЛИ 9 обозначены соответственно 23, 24, 25,26 и 27. Выход сумматора— второй выход устройства, вход триггератретий вход устройства, а вход регистра базового адреса — четвертый вход устройства. Блок 10 предсказания приоритета содержит элемент ИЛИ 28, элементы 29 НЕ группы и группу элементов

И 30..о.ополнительный вход элемента

ИЛИ 28 через элемент HE 29 группы соединен с выходом 23 первого разрядного элемента ИЛИ 9 группы. Основные входы элемента ИЛИ 28 соединены с выходами элементов группы И 30. дополнительный вход каждого элемента группы И 30 соединен через элемент группы HE 29 и с выходом соответствук шего разрядного элемента групп ИЛИ 9.

Вторые 2ьходы каждого элемента И 30 группы соединены с выходами всех четных разрядных элементов ИЛИ 9 группы, предшествуюиих выбранному, Например, основной вход первого элемента И 30 груп-- пы соединен с выходом 24 второго разрядного элемента ИЛИ 9 группы. Допол736101

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 1

0 1 0 . 0 1

0 1 0 1 0

0 1 1 0 1

0 1 1 1 0

1 0 0 0 1

1 0 0 1 0

1 0 1 0 1

1 0 1 1

1 1 0 0 1

1 1 0 1 0

1 1 1 0 1

1 1 1 1 Х

55 нительный вход первого элемента 30 И группы соединен через элемент НЕ 29 с выходом 25 третьего разрядного элемента ИЛИ 9 группы, Прямой выход элемента ИЛИ 28 является прямым выходом 11 блока 10 предсказания приоритета. Выход 13, связанный через элемент 31 HE с прямым выходом элемента ИЛИ 28 является инверсным выходом блока 10 предсказания приоритета

Устройство для прерывания программ функционирует следующим образом. Наличие запроса на прерывание фиксируется в регистре 1 прерываний. В регистре 2 масок по командам программы-диспетчера устанавливается код зашиты от прерываний. Единичное значение в 1= М разряде кода соответствует разрешению прерывания.

Блок 3 приоритета обеспечивает выделение сигнала прерывания с более высоким приоритетом, который определяется слева направо из числа поступивших на схему сигналов прерывания, разрешенных кодом регистра 2 масок Переход к программе прерывания происходит при наличии соответствующего запроса и разрешения со стороны программы-диспетчера, которое фиксируется триггером 18.

Выбранный сигнал запроса через второй и третий многовходовые элементы ИЛИ

5 и 7 и первый элемент ИЛИ 15 поступает на вход элемента И 19, с выхода которого на дополнительный вход сумматора 20 поступает управляющий сигнал при наличии разрешающего сигнала с выхода триггера 18.

Адрес начальной команды программы прерывания формируется суммирсванием на сумматоре 20 кода номера сигнала прерывания, который формируется шифра тором 8, и кода базисного адреса, расположенного в регистре 21 базисного адреса. Факт отсутствия незамаскированных прерываний отмечается наличием сигнала на выходе отсутствия прерывания 22 блока 3 приоритета. Устройство управления процессора перед выборкой следующей команды должно анализировать состояние этого выхода. Если сигнал на выходе 22 блока 3 приоритета есть, то выбирается очередная команда программы если сигнала нет, то начинает выполняться операция прерывания.

Контроль работоспособности производится параллельно с функционированием устройства, При этом, во время отработки устройством прерывания очередного запроса на прерывание, на выходах группы разрядных элементов ИЛИ 9 формируется определенный код. Поскольку вхо ды 1 -го разрядного элемента ИЛИ 9 группы соединены с инверсными .выходами 1-го разряда регистра 1 прерываний и регистра 2 масок, то нуль в таком коде соответствует ситуациям, когда 1 -й запрос не замаскирован 1 -м триггером регистра 2 масок. Во всех других случаях в 1 -м разряде кода будет присут ствовать единица. Код с выходов группы разрядных элементов ИЛИ 9 поступает на входы блока 10 предсказания приори15 тета. Блок 10 предсказания приоритета предназначен для того, чтобы по преобразованным элементами ИЛИ 9 группы кодам регистра 1 приоритета и регистра 2 масок определить, четный или нечетный

20 запрос должен выполняться (под четностью или нечетностью запроса понимает- ся его порядковый номер в регистре 1 прерываний ) .

Работа блока 10 предсказания приори25 тета отражена в табл 1. аблица

В этой таблице приведена логическая функция Р от четырех переменных. Как видно из таблицы функция Р=1, если она первая в порядке возрастания, равная нулю переменная Х имеет нечетный номер, и функция Р = О, если этот номер четный. Если учесть, что переменная Х „ соответствует сигналу с выхода -ro разрядного элемента ИЛИ 9 группы° нулевой уровень которого соответствует незамаскированному запросу, то становится ясно, что функция P = 1 в случае, если должен отрабатываться запрос, имеюший нечетный номер. Если же должен отрабатнваться запрос с четным номером, то функция P = О.

Для случая четырех переменных функция P имеет вид:

P Х+ХХ (г)

В качестве прймера рассмотрим случай, когда коды в регистре 1 приоритета, регистре 2 масок и на выходах группы разрядных элементов ИЛИ 9 соответствуют приведенным в табл. 2.

Таблица2

Зо

Код в регистре 1 приоритета 1

0 1 1

Код в регистре

2 масок 1 1 1 0

Код на выходах разрядных элементов 9ИЛИ 0 1 О 1

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

9 ИЛИ группы). При этом, в соответствии с приоритетом, сначала должен выполняться второй (т.е. четный запрос).

При этом, из выражения (2) функция

P=0+O. 0= О (т.е. действительно предсказывается отработка четного запроса).

Из табл. 1 видно, что коду 1111 на выходе группы разрядных элементов 9

ИЛИ группы соответствует неопредепенное значение функции P. Действительно, код 1111 означает, что нет ни одного незамаскированного запроса на прерывайие, Поскольку в общем случае поступле50

01 10 ние запроса есть событие случайное, то предсказать, какой это будет запрос (етный или нечетный) невозможно. В этом случае работа схемы контроля блокируется сигналом с выхода отсутствия прерываний 22 схемы 3 приоритета до момента появления незамаскированного запроса.

В случае И переменных функция Р принимает вид (1). Блок 10 предсказания приоритета в общем случае и реализует функцию вида (1). При этом прямой выход 11 блока соответствует самой функции, а инверсный выход 13— ее отрицанию.

Таким образом, если должен отрабатываться, например, нечетный запрос, то на выходе 11 блока 10 предсказания приоритета будет 1, на выходе

13-0. При этом, при правильной работе блока 3 приоритета должен появиться сигнал на одном из его нечетных выходов 4, на его четных выходах 6 сигналы должны отсутствовать. Следовательно, на выходе второго элемента

ИЛИ 5 должна быть „1, на выходе третьего элемента ИЛИ 7 — О ° В этом случае первый и второй полусумматоры 12 и 14 не вырабатывают сигнал несоответствия и с выхода 17 четвертого элемента ИЛИ 16 в шину контроля сигнал ошибки не поступает.

В случае же ошибки, например, если блоком 3 приоритета вместо нечетного запроса выберется четный, на выходе третьего элемента ИЛИ 7 появится 1, на выходе второго элемента ИЛИ 5—

"0 и попусумматоры 12 и 14 выработают сигнал несоответствия, вследствии чего с выхода 17 четвертого элемента

ИЛИ 16 в шину контроля поступит сигнал ошибки. Аналогично выявляются двойные и многократные ошибки, когда вместо одного возбуждено несколько четных и нечетных выходов блока 3 приоритета. Кроме того, выявляются также случаи отсутствия сигнала на выходах блока 3 приоритета. Действительно, на одном из выходов 11 или 13 будет присутствовать "1, свидетепьствуюшая о том, четный или нечетный запрос должен отрабатываться. На выходах же элементов 5 и ИЛИ 7 будет присутствовать логический 0". Следовательно, один из полусумматоров 12 и 14 выработает сигнал несоответствия и с выхода 17 четвертого элемента ИЛИ 16 в шину контроля поступит сигнал ошибки.

73610 1

Надо отметить, что логическая "1 на выходе 17 четвертого элемента

l6 ИЛИ воспринимается как сигнал ошибки только в соответствуюшие Мо-" менты времени и при отсутствии сигнала на выходе 22 отсутствия прерьпьвний блока 3 приоритета (этот сигнал должен блокировать контроль в неопределенных ситуациях, связанных с отсутствием незамаскированных запросов). 10

В настояшее время устройство прерывания является обязательным функциональным элементом любой вь1числительной машины. С его помошью в UBN реализуются такие функции, как обмен информацией .с внешними устройствами, разграничение доступа и зашита памяти, реакция на сиг/ напы аппвратурного контроля, комплексирование нескольких ШЗМ и организация различных режимов их совместной работы. 0

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

При этом предлагаемое устройство имеет ряд преимушеств перед известными.

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

Во-вторых при достаточно высокои

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

Цгретьих контроль осушествляется оперативно, так как поиск ошибок производится параллельно с выполнением опе50 рации прерывания.

Исходя из этого, предлагаемое устройство может найти широкое применение в вычислительной технике при проектировании систем прерывания UBN, 55

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

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

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

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

13 736 элемента ИЛИ, входы которого подключены к нечетным выходам блока приоритета, инверсный выход блока предсказаний приоритета подключен к первому ьходу второго полусумматора, второй 5 вход которого соединен с выходом третьего элемента ИЛИ, входы которого соединены с четными выходами блока приоритета, кроме того, выходы второго и третьего элементов HIM подключены

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

2. Устройство по и. 1, о т л и ч а ющ е е с я тем, что блок предсказания приоритета содержит группу элементов

НЕ, группу элементов И, элемент HE и пятый элемент ИЛИ, причем первый вход пятого элемента ИЛИ соединен с выходом первого элемента НЕ группы, а остальные входы пятого элемента ИЛИ

25 соединены с выходами элементов И группы, первые входы которых соединены соответственно с выходами элементов НЕ группы„кроме первого, входы элементов

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

И группы, при этом группа входов каждого последуюшего элемента И кроме первого соединена со всеми вторыми входами предыдуших элементов И группы со гветственно а вхсд первого элемента

И группы является вторым входом блока предсказания приоритета, выход пятого элемента И соединен с входом элемента

HE и являетсч прямым выходом блока

Bp BlK K33 ания пр и орит ет а а выход 3JI6 мента HE является инверсным выходом блска предсказания приоритета.

Источники информации, принятые во внимание при экспертизе

1. Лвторское свидетельство СССР

М 350005, кл 6 06 F 15/46, 1970.

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

Ы 3-8604. кл. З-06 Р 9/18, 1970.

3 Справочник по цифровой вычислительной -ехнике под редакцией E. Н. Малиновского. Киев, "Техника, 1974, с. 345-346 (прототип) .

11НИИПИ Заказ 2428/39

Тираж 7 5 1 Подписное илиал ППП Патент", г.ужгород,уп.Проектная,4