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

Номер патента: 1287158

Авторы: Ларченко, Фурманов, Холодный, Ялинич

ZIP архив

Текст

(51)4 а 06 Г 9/4 ПИСАНИЕ ИЗОБРЕТЕНИЯ ТОР СНОМ ИДЕТЕЛЬСТВ 4,(54) УСТРОЙСТВРЫВАНИЯ(57) Изобретенвой вычислител МНОГОУРОВНЕВОГО ПРЕифроточнее носится влять элениеарьиро озволяет ос атор, чт ективное нои технике, а бработки прерыв ммных ЦВМ, и пре на еское упр ний путем ывания об на опреде2 ил строиства сом прерыв роц ани на в мультипрограначено для испразом в специцессорных сист уживаеных этауровня пре дпрограммы выполнени льзования гл ым ализированных микропромах, Целью изобрете пах е Сл ОСУДАРСТВЕННЫЙ НОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ(56) АвторскоеВ 1104516, кл.Авторское свВ 1174926, кл. Бюл, М 4й авиационный инстиуковскогоич, В, Ю, Ларченко, и М, Ф, Холодный 8,8)свидетельство СССР а 06 Р 9/46, 1983. идетельство СССР О 06 У 9/46, 198 ния является расширение функциональных возможностей устройства за счетсвоевременного снижения уровня прерывания выполняемой подпрограммы впроцессе динамического управленияпрерываниями, Устройство многоуровневого прерывания содержит регистрзапросов, блок элементов И, входнойи выходной коммутаторы, схему сравнения, счетчик, дешифратор, два элемента И, триггеры запрета прерывания,прерывания и синхронизации, постоянный запоминающий блок и первый коммутатор, Новым является то, что устройство содержит группу реверсивныхсчетчиков состояний и второй комму128Изобретение относится к цифровой вычислительной технике, а точнее к устройствам обработки прерываний в мультипрограммных ЦВМ, и предназна - чено для использования., в частности, в специализированных вычислительных и управляющих системах, организованных на основе микропроцессоров,Цель изобретения - расширение функциональных возможностей устройства за счет обеспечения возможности 7158 и при наличии запросов на выходе регистра 1 формируется код приоритетности, соответствующий номеру приоритетного запроса, По переднему фронтуочередного тактового импульса устанавливается триггер 18, что вызываетустановку триггера 20 и выдачу повыходу 21 сигнала прерывания, который устанавливает. триггер 19 запрета 10 прерывания, запрещая временно (до установки нового порога прерывания навходе 12 схемы сравнения) формирование последующих сигналов прерыванияи изменение состояния регистра 1,Для реакции на сигнал прерываниятребуется некоротое время, так какобычно наличие сигнала прерыванияанализируется только после выполнения текущей команды. После обнаруже ния сигнала прерывания процессор вырабатывает импульсный сигнал началаобработки прерывания, который подается на вход 5 устройства в качестве 25сигнала выдачи кода приоритетности,При этом код приоритетности черезблок элементов И 3 поступает по выходу 4 и используется цля переходак соответствующей прерывающей подпрограмме, а триггер 20 сбрасывается,снимая сигнал прерывания с выхода 21устройства.Прерывающая программа обеспечивает сохранение всей информации, необходимой для последующего возврата к 35 продолжению выполнения прерваннойпрограммы, а затем с помощьк командывывода посылает на вход 14 устройства импульс отрицательной полярности,В предлагаемом устройстве входы 40 14, 15, 22 и 25 соединены с соответствующими выходами системного дешифратора ввода-вывода и для формирования на них управляющих импульсов отрицательной полярности и в прерывающих подпрограммах в требуемых местахпомещаются соответствующие команды,Команда, обеспечивающая формированиеимпульса на входе 14 устройства, помещается в прерывающих подпрограммахпосле каманд выполняющих сохранениев стеке оперативного запоминающегоустройства (ОЗУ). всей необходимой информации, Команда, по которой формируется импульс на входе 22 устройст 55 своевременного снижения уровня прерывания выполняемой подпрограммы впроцессе динамического управленияпрерываниями.На фиг, 1 приведена структурнаясхема предлагаемого устройства 1 нафиг, 2 - структуры коммутаторов игруппы реверсивных счетчиков и ихсоединение,Устройство содержит регистр 1 запросов, вход 2 запросов устройства,блок элементов И 3, кодовые выходы 4устройства, вход 5 выдачи кода приоритетности устройства, элемент И 6,вход 7 тактовых импульсов устройства,постоянный запоминающий блок 8, входной коммутатор 9, группу реверсивныхсчетчиков 10 состояний, выходной коммутатор 11, схему 12 сравнения, счетчик 13, вход 14 прерывания устройства, вход 15 конца обслуживания устройтва, дешифратор 16, элемент И 17,триггер 18 синхронизации, триггер 19запрета прерывания, триггер 20 прерывания, выход 21 прерывания устройства, вход 22 повьппения уровня прерывания устройства, коммутаторы 23 и24, вход 25 снижения уровня прерывания устройства.Устройство работает следующим образом.Исходное состояние устройства характеризуется тем, что регистр 1,триггеры 18-20 и счетчик 13 находятся внулевом состоянии, состояниесчетчиков 1 О группы и входа 2 произвольное на входах 5 и 7 устройства ина его выходах 4 и 21 сигналы отсутствуют и единичные уровни сигналовна входах 14, 15, 22 и 25 и выходетриггера 19 (являющемся инверснымвыходом).Работа устройства начинается с подачи на его вход 7 тактовых импульсов, С приходом тактового импульсана вход 7 устройства разрешается прием запросов в регистр 1 по входу 2 ва, помещается в тех местах каждойиз прерывающих подпрограмм, где необходимо повышение уровня прерыванияподпрограммы, а команда, обеспечива 1287158ющая формирование импульса на входе25 устройства, помещается в тех местах каждой из прерывающих подпрограмм, где рационально снизить уровень прерывания подпрограммы, Команда, по которой формируется импульсна входе 15 устройства, помещается вконце прерывающих подпрограмм послекоманд, выполняющих прерывание, восстановление прерванного состоянияпроцессора,Следует отметить., что только тактовые импульсы на входе 7 устройстваследуют периодично. Запросы от абонентов на входы 2 устройства поступают в произвольные моменты временив виде единичных потенциалов и послеих обслуживания снимаются абонентами, Управляющие импульсы на входе 5устройства формируются при входах впрерывающие подпрограммы и не следуют периодично, так же, как и управляющие импульсы на входах 14, 15,22 и 25 устройства, формируемые привыполнении соответствующих командвывода в прерывающих подпрограммах,При распределении типов приоритетных запросов по уровням прерываниядостаточно задать константы, фиксирующие границы уровней прерывания,При этом запросы по уровню прерывания будут разбиваться на группы.Алгоритм программирования блока 8заключается в следующем, В ячейкус нулевым адресом запись не производится (фиксируется нуль), а в ячейки с адресами от 1 до и записывается 1, в ячейки с адресами от и+1до пзаписывается 2 (т,е, 1 О в двоичной системе счисления), в ячейки 40с адресами от п +1 до п записываетзся 3 (11 в двоичной системе), в ячейки с адресами от и +1 до и запи-сывается число 1, представленное вдвоичной системе, в ячейки с адресами от п ,+1 до п записывается число ш, представленное в двоичной системе,При подаче на адресный вход блока8 какого-либо кода приоритетности на 0его выходе будет формироваться соответствующий код уровня прерывания,В исходном состоянии устройствасчетчик 13 находится в нулевом состоянии, состояние счетчиков 10 группы произвольное, на выходах 14, 15,22 и 25 устройства сигналы отсутствуют (единичные уровни сигналов на этих входах), При этом единичные уровни сигналов с входов 14 и 15 поступают соответственно на первый иниФормационный 9 и второй информациионный 9 входы коммутатора 9, отпирая все его элементы И по их первым и вторым входам. При нулевом состоянии счетчика 13 на нулевом выходе дешифратора 16 присутствует единичный сигнал, Этот сигнал поступает наИуправляющий вход 9, коммутатора 9 и далее на третий вход его первого элемента И, Б результате на выходе первого элемента И коммутатора 9 устанавливается единичный сигнал, поступаюший на управляющий вход записи первого счетчика 10 группы и разрешающий запись по его информационным входам кода уровня прерывания, поступающего с выхода блока 8 одновременно на все счетчики 10 группы, На всех выходах дешифратора 16, кроме нулевого присутствуют нулевые сигналы, в результате чего на управляющих входах записи всех счетчиков 10 группы, кроме первого счетчика, будут нулевые, запрещающие запись сигналы, На всех управляющих входах коммутаторов 11, 23 и 24, как и на их выходах присутствуют нулевые сигналы.При возникновении запросов прерываний и переходе к их обработке, прерывающая программа с помощью команды вывода посылает на вход 4 устройства импульс отрицательной полярности, который запирает по первому информационномувходу 9 ц все элементы И ком 1мутатора 9 (при, этом код уровня прерывания, поступающий с выходов блока 8, фиксируется в первом счетчике 10 группы и одновременно по переднему фронту), обеспечивает увеличение на единицу показания счетчика 13 и переключение дешифратора 6, Восле чего единичный сигнал устанавливается на первом выходе дешифратора 16.Этот сигнал поступает на первый вход 1, коммутатора 1 и подключает пои иинформационным входам 11-11, выходы первого счетчика к входам схемы 12 сравнения, По заднему фронту импульса на входе 14 происходит сброс триггера 19 и на его выходе (используется инверсный выход) устанавливается единичный сигнал, разрешающий работу элементов И 6 и И 17, т,е. разрешающий прием запросов прерываний в устройство и выработку сигнала прерыва 12871 )8ния на выходе 21 в случае, если поступит запрос, уровень прерывания которого превысит уровень прерывания, записанный в первом счетчике 10 группы, 5Каждая прерывающая подпрограмма с помощью команд вывода, помещенных в соответствующих ее местах, может повышать свой уровень прерывания, а затем снижать его, что обеспечивает 10 эффективное динамическое управление процессом прерыванийЕсли по команде вывода управляющий импульс отрицательной полярности подается на вход 22 устройства, то обеспечивает ся повышение на единицу уровня прерывания обслуживаемой подпрограммы. Осуществляется это с помощью коммутатора 23, передающего (с инверсией) управляющий импульс на суммирующий 20 вход того счетчика 10 группь 1, номер которого равен номеру выхода дешифратора 16, на котором присутствует единичный сигнал, Если единичный сигнал действует на первом выходе дешифратора 16, то от поступает на первый управляющий вход 23 коммутатора 23, разрешая передачу управляющего импульса через первый элемент И коммутатора 23 на суммирующий вход первого счетчика 10 группы, в результате чего содержимое этого счетчика увеличивается на единицу, Если по команде вывода управляющий импульс отрицательной полярности подается на 35 вход 25 устройства, то обеспечивается снижение на единицу уровня преры-. вания обслуживаемой подпрограммы. Производится это с помощью коммутатора 24, передающего (с инверсией) 40 управляющий импульс на вычитающий вход того счетчика 10 группы, номер которого равен номеру выхода дешиф ратора 16, на котором присутствует единичный сигнал, Если единичный сиг нал действует на первом выходе дешифратора 16, то он поступает на пер - вый управляющий вход 24 ц коммутато 1ра 24, разрешая передачу управляющего импульса через первый элемент И 50коммутатора 24 на вычитающий вход первого счетчика, в результате чегоего содержимое уменьшается на единицу,После завершения выполнения прерывающей подпрограммы восстанаглива ется последнее из прерванных состояний процессора и с помощью команды вывода на вход 15 устройства посылается отрицательный импульс, который запирает по второму информационному входу 9 все элементы П коммутатора 9, исключая возможность искажения информации в счетчиках 10 группы во время переходных процессов, и одновременно (по переднему фрон гу) обеспечивает уменьшение ыа единицу показания счетчика 13 и соответствующее переключение дешифратора 16, подключающего через коммутатор 1 на входы схемы 12 сравнения выходы того счетчика группы 10, в котором хранится код уровня прерывания последнего из прерванных состояний (основной программе соответствует нулевой код уровня прерывания).Если во время выполнения прерывающей подпрограммы поступает запрос, уровень прерывания которого превышает уровень прерывания обслуживания подпрограммы, то на выходе 21 формируется сигнал прерывания, После обнаружения сигнала прерывания на вход 5 устройства поступает импульсный сигнал выдачи кода приоритетности, после чего на вход 14 поступает отрицательный импульс, который запирает коммутатор 9, фиксируя код уровня прерывания, поступающий с выходов блока 8 в соответствующем счетчике 10 группы, номер которого на единицу больше номера выхода дешифратора 16, на котором действует единичный сигнал, Если единичный сигнал присутствует на первом выходе дешифратора 16 связанном с вторым управо"ляющим входом 9 коммутатора 9, фиксация кода уровня прерывания, поступающего с выходов блока 8, произойдет во втором счетчике 10 группы и одновременно выполняется процесс переключения дешифратора 16, после чего единичный сигнал установится на втором выходе дешифратора 16. Этот сигнал поступает на второй управляющий вход 11, коммутатора 1 и подключает по информационным входами И11 - 11 выходы второго счетчика по1 квходам схемы 12 сравнения, Кроме того, единица с второго выхода дешифратора 16, поступая на вторые управляющие входы 23 и 24 коммутаторовЧ23 и 24, подготавливают к работе вторые элементы И этих коммутаторов, связанные с суммирующим и вычитающим входами второго счетчика, Наряду с этим единичный сигнал с второго выхода дешифратора 16, поступая на треЧтий управляющий вход 9, коммутато а128719, подготавливает к работе третийэлемент 11 коммутатора 9, выход которого связан с управляющим входом разрешения записи третьего счетчика 10группы, Теперь же запись (после окон.чания импульса на выходе 14) кодауровня прерывания с выходов блока 8будет производиться в третий счетчик10 группы, а импульсы, поступающиена входы 22 и 25, будут передаватьсякоммутаторами 23 и 24 соответственнона суммирующий и вычитающий входывторого счетчика 10 группы. После завершения выполнения прерывающей подпрограммы восстанавливается последнее из прерванных состояний процессора и с помощью команды вывода навход 15 устройства посылается отрицательный импульс, который уменьшаетна единицу показание счетчика 13, в 20результате чего с второго выхода дешифратора 16 снимается единичный сигнал, а единица устанавливается напервом выходе дешифратора 16, чтообеспечивает подключение через комму 25татор 11 на вход схемы 12 сравнениявыходов первого счетчика, в которомхранится код уровня прерывания прерванной подпрограммы (каким он был вмомент прерывания обслуживания подпрограммы), Теперь уже к работе подготовлены первые элементы И коммутаторов 23 и 24, связанные с первымсчетчиком, а запись кода уровня прерывания с выходов блока 8 будет производиться во второй счетчик 10 группы. Процесс обслуживания прерваннойранее подпрограммы продолжается и т,д.Следует отметить, что управляющиеимпульсы, поступающие на входы 14,15, 22 и 24 запирают элемент И 17 итем самым исключают возможность формирования ложного сигнала прерыванияпод воздействием вызываемых ими переходных процессов (при поступлении 45управляющего импульса на вход 14 элемент И 17 заперт нулевым сигналомс выхода триггера 19). Формированиеложного сигнала прерывания под воздействием гонок исключается с помощью синхронизашии приема запросов врегистр 1 и формирования сигнала прерывания на выходе триггера 18,Формула изобретения 55Устройство многоуровневого прерывания, содержащее регистр запросов,58 Яблок элементов И, входной и выход= ной коммутаторы, схему сравнения, счетчик, дешифратор, два элемента И, триггер запрета прерывания, триггер прерывания, триггер синхронизации, постоянный запоминающий блок, первый коммутатор, причем информационные входы регистра запросов являются входами запросов устройства, выходы регистра запросов соединены с адресным входом постоянного запоминающего блока и с группой входов блока элементов И; вход которого соединен с входом сброса триггера прерывания и входом выдачи кода приоритетности устройства, выходы блока .элементов И являются кодовыми выходами устройства, вход прерывания устройства соединен с синхронизирующим входом триггера запрета прерывания, с первым информационным входом входного коммутатора и с суммирующим входом счетчика, выходы которого соединены с входами дешифратора, выходы которого соединены с управляющими входами входного и выходного коммутаторов, выходы выходного коммутатора соединены с первыми входами схемы сравнения, вторые входы которой соединены с выходом постоянного запоминающего блока, выход схемы сравнения соединен с первым входом первого элемента И, выход которого соединен с информационным входом триггера синхронизации, выход которого соединен с единичным входом триггера прерывания, выход которого является выходом прерывания устройства и соединен с входом установки в "1" триггера запрета прерывания, выход которого соединен с вторым входом первого элемента И и первым входом второго элемента И, выход которого соединен с управляющим входом регистра запросов, вход тактовых импульсов устройства соединен с вторым входом второго элемента И и с тактовым входом триггера синхронизации, вход конца обслуживания устройства соединен с вычитающим входом счетчика, с вторым информационным входом входного коммутатора и третьим входом первого элемента И, вход повышения уровня прерывания устройства соединен с четвертым входом первого элемента И и информационным входом первого коммутатора, управляющие входы которого соединены с выходом дешифратора, о т л и ч а ю -9 12871 щ е е с я тем, что, с целью расширения функциональных воэможностей эа счет обеспечения возможности своевременного снижения уровня прерывания выполняемой подпрограммы в процессе динамического управления прерываниями, устРойство содержит группу реверсивных счетчиков соятояний и второй коммутатор, причем выходы входного коммутатора соединены с входом управ ления записью реверсивных счетчиков состояний группы, выходы которых соединены с информационными входами выходного коммутатора, выходы постоянного запоминающего блока соединены 58 10с информационными входами реверсивных счетчиков состояний группы, выход первого коммутатора соединен с суммирующими входами реверсивных счетчиков состояний группы, вычитающие входы соединены с выходом второго коммутатора, управляющие и информационный входы которого соединены соответственно с выходами дешифратора и с входом снижения уровня прерывания устройства, который соединен с пятым входом первого элемента И, информационный вход триггера запрета прерывания соединен с входами логического нуля устройства.1287158 Составитель М, КудряшевРедактор Ю, Середа Техред Л.Олейник Корректор Й, Пилипенко Заказ 7718/52 Тираж 694 ВНИИПИ Государственного комитета СССР по делам изобретений и открытий 113035, Москва, И, Раушская наб д, 4/5

Смотреть

Заявка

3864654, 04.03.1985

ХАРЬКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ ИМ. Н. Е. ЖУКОВСКОГО

ЯЛИНИЧ ЮРИЙ ИВАНОВИЧ, ЛАРЧЕНКО ВАЛЕРИЙ ЮРЬЕВИЧ, ФУРМАНОВ КЛАЙД КОНСТАНТИНОВИЧ, ХОЛОДНЫЙ МИХАИЛ ФЕДОРОВИЧ

МПК / Метки

МПК: G06F 9/48

Метки: многоуровневого, прерывания

Опубликовано: 30.01.1987

Код ссылки

<a href="https://patents.su/7-1287158-ustrojjstvo-mnogourovnevogo-preryvaniya.html" target="_blank" rel="follow" title="База патентов СССР">Устройство многоуровневого прерывания</a>

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