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

Иллюстрации

Показать все

Реферат

 

УСТРОЙСТВО МНОГОУРОВНЕВОГО ПРЕРЫВАНИЯ, содержащее регистр запросов , блок выходных элементов И, входной коммутатор, стек регистров состояний, выходной коммутатор, схему сравнения,. счетчик, дешифратор, первый элемент И, триггер запрета прерывания, триггер прерывания, причем информационные входы регистра запросов являются входом запросов устройства, а выход регистра запросов соединен с информационным входом блока выходных элементов И, управляющий вход которого соединен с входом вьщачи кода приоритетности устройства, а выход является выходом приоритетности устройства, выход входного коммутатора соединен с управляющим входом стека регистров состояний, выход которого соединен с информационным входом выходного коммутатора, выход которого соединен с первым входом схемы сравнения, выход которой соединен с первым входом первого элемента И, вход выдачи кода приоритетности устройства соединен с R-входом триггера прерывания, выход которого является выходом прерывания устройства и соединен с входом установки в единицу триггера запрета прерывания, выход которого соединен с вторым входом первого элемента И, выход счетчика соединен с входом дешифратора, выход которого соединен с управляклцими входами входного и выходного коммутаторов, отличающееся тем, что, с целью расширения функциональньгх . возможностей за счет обслуживания разнотипных запросов с относите пьными приоритетами на каждом уровне (Л прерывания, оносодержит постоянный блок памяти, триггер синхронизации с и второй элемент И, причем первьй управляющий вход устройства соединен с синхронизирунщим входом триггера запрета прерывания, первым информационным входом входного комментатора и с первым входом счетчика, выход регистра запросов соединен с входом 4 постоянного блока памяти, выход котоел рого соединен с вторым входом схемы сравнения и информационным входом С35 стека регистров состояний, выход первого элемента И соединен с информационным входом триггера синхронизации , выход которого соединен с S-входом триггера прерывания, а управляющий вход триггера синхронизации соединен с входом тактовых импульсов устройства и с первым входом второго элемента И, выход которого соединен с управляющим входом регистра запросов, а второй вход второго элемента И соединен с выходом триг

СОЮЗ СсжТСКИХ

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

РЕСПУБЛИК

<»>SU<»> 11 451 з(50 С 06 F 9/46

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ

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

И ABT0PCH0MV СВИДЕТЕЛЬСТВУ :g&Pgu,аИ (21) 3562175/18-24 (22) 09.03.83 (46) 23.07.84. Бюл. У 27 (72) Ю.И.Ялинич, В.Ю.Ларченко, Б.В.Бурмистров и М.Ф.Холодный (71) Харьковский ордена Ленина авиационный институт им. Н.Е.Жуковского (53) 681.325(088.8) (56) 1. Э. Клингман. Проектирование микропроцессорных систем. Монография.

Пер. с англ, под. ред. С.Д.Пашкеева.

М.; "Мир", 1980, с. 408-410.

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

У 811259, кл. G 06 F 9/46, 1981 (прототип). (54)(57) УСТРОЙСТВО МНОГОУРОВНЕВОГО

ПРЕРЫВАНИЯ, содержащее регистр запросов, блок выходных элементов И, входной коммутатор, стек регистров состояний, выходной коммутатор, схему сравнения, счетчик, дешифратор, первый элемент И, триггер запрета прерывания, триггер прерывания, причем информационные входы регистра запросов являются входом запросов устройства, а выход регистра запросов соединен с информационным входом блока выходных элементов И, управляющий вход которого соединен с входом выдачи кода приоритетности устройства, а выход является выходом приоритетности устройства, выход входного коммутатора соединен с управляющим входом стека регистров состояний, выход которого соединен с информационным входом выходного коммутатора, выход которого соединен с первым входом схемы сравнения, выход которой соединен с первым входом первого элемента И, вход выдачи кода приоритетности устройства соединен с R-входом триггера прерывания, выход которого является выходом пре.— рывания устройства и соединен с входом установки в единицу триггера запрета прерывания, выход которого соединен с вторым входом первого элемента И, выход счетчика соединен с входом дешифратора, выход которого соединен с управляющими входами входного и выходного коммутаторов, о т л и ч а ю щ е е с я тем, что, с целью расширения функциональных . возможностей за счет обслуживания разнотипных запросов с относительными приоритетами на каждом уровне прерывания, оно содержит постоянный блок памяти, триггер синхронизации и второй элемент И, причем первый управляющий вход устройства соединен с синхронизирующим входом триггера запрета прерывания, первым информационным входом входного коммутатора и с первым входом счетчика, выход регистра запросов соединен с входом постоянного блока памяти, выход которого соединен с вторым входом схемы сравнения и информационным входом стека регистров состояний, выход первого элемента И соединен с информационным входом триггера синхронизации, выход которого соединен с

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

1104516 информационным входом входного коммутатора и третьим входом первого элемента И.

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

В настоящее время удельный вес 10 выпуска специализированных систем на базе микропроцессоров быстро растет, а выпускаемые мировой промышленностью микропроцессоры плохо приспособлены для эффективной обработки приоритет- 15 ных.запросов прерывания. Поэтому в состав микропроцессорных комплектов включаются специальные схемы приоритетного прерывания, содержащие регистр запросов с шифратором приори- 20 тетов, регистр текущего состояния, схему сравнения, схему совпадения, триггер запрета прерывания и триггер прерывания (1 J.

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

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

Информационные входы регистра запро- 4> сов являются входом запросов устройства, а первый выход регистра запросов с шифратором приоритетов соеди2 нен с первыми входами блока выходных элементов И и схемы сравнения, выход которои соединен с первым входом коммутатора, выход которого соединен с первым входом триггера прерывания, выход которого является выходом прерывания устройства. Управляющий вход устройства соединен с вторыми входами коммутатора, триггера прерывания и блока выходных элементов И, третий вход которого соединен с вторым выходом регистра запросов с шифратором приоритетов. Выход триггера прерывания соединен с первым входом триггера запрета прерывания, второй вход которого соединен с управляющим входом устройства, а выход — с третьим входом коммутатора и вторым входом ре" гистра запросов. Выход блока выходных элементов И является выходом приоритетности устройства и соединен через входной коммутатор с информационным входом стека регистров состояний, выход которого соединен через выходной коммутатор с вторым входом схемы сравнения. Управляющие входы входного и выходного коммутаторов соединены с выходом дешифратора, вход которого соединен с выходом счетчика, вход которого соединен с первым выходом управляющего коммутатора, второй выход которого соединен с управляющим входом стека регистров состояния. Первый и второй входы управляющего коммутатора соединены соответственно с управляющим входом устройства и стробирующим входом устройства f2 ).

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

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

1104516 приоритетами на каждом уровне ПрерЫвания.

Поставленная цель достигается тем, что устройство многоуровневого прерывания, содержащее регистр запросов, блок выходных элементов И, входной коммутатор, стек регистров состояний, выходной коммутатор, схему сравнения, счетчик, дешифратор, первый элемент И, триггер запрета прерывания, триггер 1О прерывания, причем информационные входы регистра запросов являются входом запросов устройства, а .выход регистра запросов соединен с информационным входом блока выходных элемен- 15 тов И, управляющий вход которого соединен с входом выдачи кода приоритетности устройства, а выход является выходом приоритетности устройства, выход входного коммутатора соединен 20 с управляющим входом стека регистров состояний, выход которого соединен с информационным входом выходного коммутатора, выход которого соединен с первым входом схемы сравнения, 25 выход которой соединен с первым входом первого элемента И, вход выдачи кода приоритетности устройства соединен с R-входом триггера прерывания, выход которого является выходом прерывания устройства и соединен с входом установки в единицу триггера запрета прерывания, выход которого соединен с вторым входом первого элемента И, выход счетчика соединен с вхо35 дом дешифратора, выход которого соединен с управляющими входами входного и выходного коммутаторов,. содержит постоянный блок памяти, триггер синхронизации и второй элемент И, 40 причем первый управляющий вход устройства соединен с синхронизирующим входом триггера запрета прерывания, первым информационным входом входного коммутатора и с первым входом 45 счетчика, выход регистра запросов . соединен с входом постоянного блока памяти, выход которого соединен с вторым входом схемы сравнения и информационным входом стека регистров

50 состояний, выход первого элемента И соединен с информационным входомтриггера синхронизации, выход которого соединен с S — входом триггера прерывания, а управляющий вход триггера синхронизации соединен с входом

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

На чертеже приведена структурная схема устройства.

Устройство содержит регистр 1 запросов с шифратором приоритетов, вход 2 запросов устройства, блок выходных элементов И 3, выход 4 приоритетности устройства, вход 5 выдачи кода приоритетности устройства, элемент И 6, вход 7 тактовых импульсов устройства, постоянный блок 8 памяти, входной коммутатор 9, стек 10 регистров Состояний, выходкой коммутатор 11, схему сравнения 12, счетчик 13, первый управляющий вход 14 устройства, второй управляющий вход 15 устройства, дешифратор 16, элемент И 17, триггер 18 .синхронизации, триггер 19 запрета прерывания, триггер 20 прерывания, выход 21 прерывания устройства.

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

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

Исходное состояние устройства характеризуется тем, что регистр 1, триггеры 18 — 20 и счетчик 13 находятся в нулевом состоянии, состояние регистров стека 10 и входа 2 произвольное, на входах 5, 7, 14 и 15 устройства и на его выходах 4 и 21 сигналы отсутствуют (нулевые уровни сигналов на выходах регистра 1, триггера 18, счетчика 13, на входах 5 и 7 и выходах 4 и 21 единичные уровни сигналов на входах 14 и 15 и выходе триггера 19, являющемся инверсным, выходом).

С приходом тактового импульса на вход 7 устройства он через элемент И 6 поступает на управляющий вход регистра 1, разрешая прием запросов прерываний в регистр по вхо5 11045 имеет нулевой код уровня прерывания). 20

ЗО

35 щемся инверсным выходом, возникает нулевой сигнал}, запрещая временно (до установки нового порога прерыва-. ния на входе схемы сравнения 12) фор40 мирование последующих сигналов прерывания. Одновременно нулевой сигнал на выходе триггера 19 запирает элемент И 6 и "замораживает" состояние регистра 1, обеспечивая условия

45 для корректного перехода и прерывающий подпрограмме, ипентификация которой осуществляется по значению кода вания ЦП вырабатывает импульсный сигнал выдачи кода приоритетности, подаваемый на вход 5. При этом код приоду 2. На выходе регистра 1 запросов с шифратором приоритетов формируется код приоритетности, соответствую щий номеру i{i=1,ï) активного источника запроса с наивысшим приоритетом (наибольшему из номеров активных источников запросов), При отсутствии запросов на прерывание устанавливается нулевой код. Код приоритетности поступает на вход блока 8 памяти, с выхода которого код уровня прерывания подается на вход схемы сравнения 12. При нулевом коде приоритетности формируется нулевой код уровня прерывания. На другой вход схемы сравнения 12 поступает код с выходного коммутатора 11, характеризующий уровень прерывания обрабатываемой программы (основная программа

Если код уровня прерывания, сформированный.блоком 8, превосходит по значению уровень прерывания обра" батынаемой программы, то на выходе схемы сравнения 12 возникает единичный сигнал, который через элемент И 17 поступает íà D-вход триггера 18 и по переднему фронту очередного тактового импульса на входе синхронизации переводит триггер 18

° н единичное состояние, что нызынает установку триггера 20 прерывания и выдачу в ЦП по выходу 21 сигнала прерывания, который по S-входу устанавливает триггер 19 запрета прерывания (на выходе триггера 19, являюприоритета. Вместе с тем нулевой сигнал на выходе триггера 19 вызывает появление нуля на 9-входе триггера 18, что приводит к сбросу последнего передним фронтом очередного тактового импульса на входе синхронизапии.

После обнаружения сигнала преры10

16 б ритетности через блок выходных элементов И 3 поступает по выходу 4 в ЦП и используется для перехода с соответствующей прерывающей 11одпрограмме, а триггер 20 устанавливается по R-входу в нулевое состояние.

Прерывающая подпрограмма обеспечивает сохранение в стеке оперативного ЗУ всей информации, необходимой цля последующего возврата к продолжению выполнения прерванной программы, и с помощью команды вывода посылает на вход 14 импульс отрицательной полярности, который запирает нходной коммутатор 9, фиксируя код уровня прерывания, поступающий с выхода блока 8, в соответствующем регистре стека 10, номер которого на единицу больше исходного показания счетчика 13. Вместе с тем по переднему фронту импульса на входе 14 связанном с входом суммирования счетчика 13, начинается процесс увеличения на единицу показания счетчика и соответствующего переключения дешифратора 16, подклю" чающего через выходной коммутатор 11 на вход схемы сравнения 12 выход того регистра стека 10, в котором был зафиксирован новый кс. уровня прерывания. По заднему фронту импульса на входе 14, связанном с входом синхронизации триггера 19, на

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

Для корректной работы устройства необходимо выполнение условия

14 19 16 11 12 19 где ь — длительность управляющего

1+ импульса на входе 14, — время срабатывания j-блока

1 устройства.

Кроме того, должно выполняться условие

Т316+ ь +t +t +" + ч

7 1 8 12

{2) где Т - период тактовых импульсов; — длительность тактового им1 пульса на входе 7.

После завершения выполнения прерывающей подпрограммы восстанавливается последнее из прерванных состояний ЦП, и с помощью команды вывода на вход 15 посылается отрицательный импульс, запирающий входной коммутатбр 9 и элемент И 17. Вместе с тем по переднему фронту импульса на

7 1! входе 15, связанном с входом вычитания счетчика 13, начинается процесс уменьшения на единицу показания счетчика и. соответствующего переуслючения дешифратора 16, подключающего через выходной коммутатор 11 на вход схемы сравнения 12 выход того регистра стека 10, в котором .хранится код уровня прерывания последнего из прерванных состояний.

Для корректной работы устройства необходимо выполнение условия где,, — длительность управляющего импульса на входе 15.

Обычно т„ и ь„ одинаковы и связаны с периодом Т, поэтому максимальная рабочая частота устройства опреI

04516 8 деляется из совместного рассмотрения условий (2) и (3). Современная элементная база позволяет построить устройство, работающее на частотах порядка !О Мгц.

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

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

ВНИИПИ 3 йк &

Филиал ППП "Па

1! исаж 699 Подписное

° г.Узтород, ул.Проектная, 4