Устройство для обработки приорите-tob запросов прерывания
Иллюстрации
Показать всеРеферат
Союз Советских
Социалистических
Республик
О П И С А Н И Е ()ЗЦ259
ИЗОБРЕТЕН ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-вдув (22) Заявлено 05.01.79 (21) 2750252/18-24 (51) М.Кл.з G 06 Г 9/46 с присоединением заявки— (23) 11риоритет— (43) Опубликовано 07.03.81. Бюллетень М 9 (45) Дата опубликования описания 10.03.81
Государственный комитет по делам изобретений и открытий (53) УДК 681.325 (088.8) (72) Авторы изобретения
А. И. Белоус, В. В. Горовой, М. Ю. Кляшто
Б. Х. Красницкий, Н. Г. Кузьменко, Ю. И. С
Ю. Я. Сосновский и С. Т. Хвощ (71) Заявитель
Ъ
/ (54) УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ПРИОРИТЕТОВ
ЗАПРОСОВ ПРЕРЫВАНИЙ
Изобретение относится к области цифровой вычислительной техники, а именно, ЦВЧ, организованным на основе больших и интегральных схем (БИС) микропроцессо ров, Известен микропроцессор обработки приоритетов запросов прерываний, содержащий регистр состояний, логические схемы и триггер прерываний (1).
Использование известных микропроцессоров для обработки приоритетов запросов прерываний требует организации довольно сложных действий со стороны программиста для восстановления содержимого регистра состояний, хранящего приоритет обрабатываемых программ.
Это связано с тем, что прерывания программ могут происходить в произвольные моменты времени и требуется специальная организация программ, особенно прои боль шой кратности вложения подпрограмм, для выявления:и запоминан ия приоритетов прерываемых программ.
Недостатком известного микропроцессора является сложность работы и, как следствие, увеличение времени входа и выхода в прерывающих подпрограмм.
Наиболее близким к изобретению по технической сущности является устройство для обработки приоритетов запросов прерываний, содержащее регистр триггеров запроса и шифратор приоритета, входы которого связаны с шинами запросов прерываний, регистр текущего состояния, буфер выхода, компаратор прпоритста, комбинационную схему, триггер приоритета и триггер запрета прерывания (2).
Выходы регистра триггеров запроса и шифратора приоритета связаны с первыми входами буфера выхода, выход которого связан с шиной кодированных запросов и компаратора приоритета, вторые входы которого связаны с выходами регистра текущего состояния. Выход компаратора прио15 ритета связан с первым входом комбинационной схемы, выход которой соединен с первым входом триггера прерывания, а его выход — с шиной прерывания и с первым входом триггера запрета прерывания.
20 Выход триггера запрета прерывания связан с регистром триггеров и шифратора приоритета и со вторым входом комбинационной схемы. Соответствующие входы регистра текущего состояния, комбинацион25 ной схемы, триггера запрета прерывания, триггера приоритета и буфера выхода связаны с шиной управления логикой.
При входе в прерывающую программу для того, чтобы приоритеты приходящих зО запросов сравнивались уже с ее приорите811259 том, а не с приоритетом прерываний программы, необходимо переустанавливать содержимое регистра текущего состояния B номер прерывающей программы. При выходе же пз прерывающей подпрограммы необходимо в регистре текущего состояния восстановить номер старой программы.
Эти операции требуют введения специальных команд в прерывающие подпрограммы и дополнительного оборудования для управления входами регистра текущего состояния.
Недостатком ми кропроцессора является необходимость установки содержимого регистра текущего состояния при входах и выходах в прерывающих программах, что снижает быстродействие микропроцессора и требует дополнительных аппаратурных затрат.
Целью изобретения является повышение быстродействия работы устройства за счет автоматического сохранения и восстановления приоритетов программ прн прерываниях.
Поставленная цель достигается тем, что в устройство, содержащее регистр запросов, блок выходных элементов И, схему сравнения приоритетов, триггер прерывания и триггер запрета прерывания и коммутатор, причем информационный вход регистра запросов является входом запросов устройства, а первый выход соединен с первыми входами блока Bblxo ных элементов
И и схемы сравнения приоритетов, выход которой соединен с первым входом коммутатора, выход которого соединен с первым входом триггера прерывания, выход которого соединсн с выходом прерывания устройства, управляющий вход устройства соединен с вторыми входами коммутатора, триггера прерывания и блока выходных элементов И, третий вход которого соединен со вторым выходом регистра запросов, выход триггера прерывания соединен с первым входом триггера запрета прерывания, второй вход которого соединен с управляющим входом устройства, а выход — с третьим входом коммутатора и вторым входом регистра запросов, выход блока выходных элементов И является выходом запросов прерывания устройства, ввс Iñiiû стек регистров состояний, входной и выходной коммутаторы, дешифратор, счетчик и управляющий коммутатор, причем вы од блока выходных элементов И соединен через входной коммутатор с информационным входом стека регистров состояний, выход которого соединен через выходной коммутатор со вторым входом схемы сравнения IlpiIopliTGToB, управляющие «ходы входного и выходного коммутаторов соединены с выходом дешифратора, вход которого соединен с выходом счетчика, вход которого соединен с первым выходом управляющего коммутатора, второй выход
Устройство работает следующим обра50 зо и.
На вход регистра запросов 1 IIo входу запросов прерываний 2 приходят запросы на прерывания. На вы оде регистра 1 ппдицируется код, соответствующий номеру активного в настоящий момент источника запроса с наивысшим приоритетом. Этот код поступает на первый вход схемы сравнения приоритетов 3, па второй вход которой коммутатора 8 поступает o.I, ха60 рактерлзующий приоритет обрабатываемой в настоящее время программы, записанный специальной командой пз ЦВМ в стек регистров состояния 7.
При наличии на входе регистра запро65 сов 1 кода, превосходящего текущий прлокоторого соединен с управляющими входом стека регистров, первый -i второй входь, управляющего коммутатора соединены соотвстстзен о с управляющим входом
5 устройства и стробирующим входом устройства.
Структурная схема устройства приве,тена на чертеже.
Устройство для ооработки приоритетов
10 запросов прерываний содержит регистр 1 запросов, первый вход которого связан со входом запросов прерываний 2, схему сравнения приоритетов 8, блок выходных элементов И 4, выход которого связан с выхо15 дом запросов прерываний 5, последовательно соединенные входной коммутатор б, стек регистров состояния 7 и выходной коммутатор 8, выход которого связан с одним из вхо IQB схемы сравнения приорите20 тов 3, коммутатор 9, выход которого связан с одним из входов триггера прерывания 10, выход которого связан с выходом прерывапия 11 и первым входом триггера запрета прерывания 12, блок управления стеком 13, 25 первый вход которого связан с стробирую|цим входом 1, а второй — с управляющим входом 15.
Блок 18 содержит дешифратор 1б, управляющий коммутатор 17 и счетчик 18.
Первьш выход регистра запросов 1 связан с первыми входами схемы сравнения приоритетов 8» блока 4, второй выход— со вторым входом блока 4, выход которого связан со входом входного коммутатора.
35 Выходы блока управления стеком 18 соединены соответственно со вторым входом коммутатора б, стека регистров состояния
7. :выходного коммутатора 8.
Выход схемы сравнения приоритетов 8 .I0 соединен с первым входом коммутатора 9.
Вторые ьхоты коммутатора 9, триггера прерываний 10, триггера запрета прерывания (2 и трстий вход блока 4 сое,цгнены с управляющим входом 1б. Выход триггера
:15 запрета прерывания 12 соединен с третьим входом коммутатора 9 и вторым входом регистра запросов прерыван IH 1.
811259
55 ритет, на его выходе формируется сигнал, устанавливающий через коммутатор 9 триггер прерывания 10, с выхода которого запрос прерывания поступает в микро-ЭВМ.
Одновременно переустанавливается триггер запрета прерывания 12, который «замораживает» состояние регистра запросов 1 на момент перехода к прерывающей программе с целью обеспечения условий «орректного перехода. В качестве указателя места входа в прерывающую программу (или ее идентификации) используются выходы кодированных номеров запросов прерываний, на которые через блок 4 под управляющим сигналом по управляющему входу 15 индицируется номер активного источника, вызывающего прерывание.
При переходе на очередную прерывающую подпрограмму в первый свободный регистр стека регистров 7 заносится приоритет прерывающей подпрограммы, соответствующий номеру активного запроса с высшим приоритетом, поступающего с выхода блока 4 через коммутатор б под управлением блока управления стеком 18, который одновременно подключает вход коммутатора 8 ко вновь загруженному стеку регистров 7. Таким образом, в блоке стека регистров автоматически при переходе к прерывающим подпрограммам запоминается их приоритет.
Количество регистров в стеке регистров
7 соответствует числу входов запросов прерываний в регистре запросов 1. Таким образом, стек может сохранить приоритеты при переходе на максимально возможное число прерывающих подпрограмм. ,При выходе из прерывающих подпрограмм в блок управления стеком 18 со входа 14 подается сигнал, стробирующий подключение коммутатора б и выходного коммутатора 8 на один уровень «ниже» в стеке, т. е. на первый занятый регистр, считая от того, который работал. В этом регистре хранится приоритет прерываний программы, который необходимо восстановить.
Следовательно, стек работает как классический магазин.
Таким образом, введение стека регистров текущего состояния позволяет автоматически сохранять и восстанавливать приоритеты программы при входах и возвратах из прерываний.
Формула изобретения
Устройство для обработки приоритетов запросов прерываний, содержащее регистр запросов, блок выходных элементов И, схему сравнения приоритетов, триггер прерывания и триггер запрета прерывания и коммутатор, причем информационный вход ре5 гпстра запросов является входом запросов устройства, а первый выход соединен с nepBbIMu входамп блока выходных элементов
И и схемы сравнения приоритетов, выход которой соединен с первым входом комму10 -àòîðà,,выход которого соединен с первым входом триггера прерывания, выход которого соединен с выходом прерывания устройства, управляющий вход устройства соединен со вторыми входами коммутатора, триггера прерывания и блока выходных элементов И, третий вход которого соединен со вторым выходом регистра запросов, выход триггера прерывания соединен с первым входом триггера запрета, прерывания, 20 второй вход которого соединен с управляющим входом устройства, а выход — стретьим входом коммутатора и вторым входом регистра запросов, выход блока выходных элементов И является выходом запросов
25 прерывания устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, оно содержит стек регистров состояний, входной и выходной коммутаторы, дешифратор, счетчик и управляющий коммутатор, причем выход блока выходных элементов И соединен через входной коммутатор с информационным входом стека регистров состояний, выход которого соединен через выходной коммутатор со вторым входом схемы сравнения приоритетов, управляющие входы входного и выходного коммутаторов соединены с выходом дешифратора, вход которого соединен с выходом счетчика, вход которого соединен с первым
40 выходом управляющего коммутатора, второй выход которого соединен с управляющим входом стека регистров, первый и второй входы управляющего коммутатора соединены соответственно с управляющим
45 входом у стройства и стробирующим входом устройства.
Источники информации, принятые во
50 внимание при экспертизе:
l. Белоус Л. И. и др. Универсальный однокристальный микропроцессор. «Электронная промышленность», 1977, ¹ 5.
2. Schottl
Set. 32/4 Interupt control unit 1975 (прототип).
811259
Составитель И. Хазова
Техр(д Л. Куклина
Корректор H. Осиновская
Гсдактор Л. Утехина
Тип. Харьк. фил. пред. «Патент»
Заказ 227/228 Изд. Ма 217 Тираж 749 Подписное
НПО «Поиск» Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5