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

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

Авторы: Бобченко, Лисовский

ZIP архив

Текст

СОЮЗ СОВЕТСКИХ СОЦИАЛИСТИЧЕСНИХРЕСПУБЛИК 6 Р 946 ОПИСА ЛЬСТ 8 У 3841865/24-2410.01,8507,01.87 Бюл, УБ.М.Бобченко и681.325(088.8)торское свиде06 Ря обМ.: препринт ИТ. В,Лисовскии ССР9.ерыв 5 Ав ьст 46,У 873243, кл, С Устройство дл работкиЭф, Р 1 ни 9. ааОСУДАРСТВЕННЫЙ НОМИТЕТ СССРО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИИ АВТОРСКОМУ СВ(54)(57) УСТРОЙСТВО ДЛЯ ОБРАБОТКИПРЕРЫВАНИЙ, содержащее регистр прерываний, регистр масок, первый блокэлементов И, приоритетный шифратор,первый элемент ИЛИ, триггер и блокуправления, причем первая группаинформационных входов регистра прерываний и группа информационных входов регистра масок являются группойкодовых входов устройства, группазапросных входов которого являетсявторой группой информационных входоврегистра прерываний, вход управления записью регистра масок являетсяпервым, а вход управления записьюрегистра прерываний - вторым входамигруппы синхровходов устройства, первая группа информационных выходовкоторого является группой в одовприоритетного шифратора, группа входов которого соединена с группойвходов первого элемента ИЛИ и с группой выходов первого блока элементовИ, группа выходов регистра прерываний подключена к первой группе входов первого блока элементов И, вторая группа входов которого соединена с группой выходов регистра масок,выход перього элемента ИПИ подключенк сбросовому входу триггера, выход которого является выходом прерывания устройства, блок управления содержит регистр состояний, первый элемент ИЛИ, первый и второй элементы И, причем в блоке управления группа кодовых выходов устройства является группой кодовых выходов регистра состояний, первый информационныйвход которого подключен к выходупервого элемента ИЛИ и к первому входу первого элемента ИЛИ блока управления, второй вход первого элементаИПИ блока управления является третьимвходом группы синхровходов устройства, выход первого элемента ЦП 1 блокуправления соединен с вторым информционным входом регистра состояний,третий информационный вход которогоподключен к установочному входу триггера и выходу первого элемента И,первый вход которого соединен с инверсным входом второго элемента И,второй вход первого элемента И подключен к прямому входу второго элемента И, о т л и ч а ю щ е е с я тем,что, с целью расширения области применения за счет формирования не только номеров запросов, но и номеровразрешенных к запуску задач, соответствующих номерам поступивших запросов, в устройство введены первый ивторой блоки памяти, второй блок элементов И, второй элемент ИПИ, а вблок управления введены дешифратор,счетчик, третий элемент И, второй итретий элементы ИЛИ, причем информационные входы первого и второго блоков памяти подключены к группе кодовых входов устройства, группы входов управления записью первого и втого блоков памяти являются под2124 128 группой входов группы синхровходов устройства, группа выходов первого блока элементов И подключена к группе информационных входов первого блока памяти, группа адресных входов которого соединена с группой выходов приоритетного шифратора и группой адресных входов второго блока памяти, группа выходов которого подключена к первой группе входов второго блока элементов И, вторая группа входов которого соединена с группой выходов первого блока памяти, группа выходов второго блока элементов И подключена к группе входов второго элемента ИЛИ, выход первого элемента ИДИ блока управления соединен с первым входом второго элемента ИЛИ блока управления, второй вход второго элемента ИЛИ блока управления подключен к выходу третьего элемента И, выход второго элемента ИЛИ блока управления соединен с прямым входом второгоэлемента И, выход которого подключенк прямому входу третьего элемента Ии первому входу третьего элементаИЛИ, второй вход которого являетсячетвертым входом группы синхровходовустройства, третья группа входоввторого блока элементов И подключена к группе выходов дешифратора, группа входов которого соединена с группой информационных выходов счетчикаи является второй группой информационных выходов устройства, выход третьего элемента ИЛИ соединен со счетным входом счетчика, выход переполнения которого подключен к четвертому информационному входу регистрасостояний и к инверсному входу третьего элемента И, выход второго элемента ИЛИ соединен синверсным входом второго элемента И.1Изобретение относится к вычислительной технике, к устройствам приоритетного обслуживания запросов и может найти применение в вычислительных системах, работающих в реальном масштабе времени.Цель изобретения - расширение области применения за счет формиро.вания не только номеров запросов, но иномеров разрешенных к запуску задач, соответствующих номерам поступивших запросовНа фиг.1 изображена структурная схема устройства на фиг.2 - структурная схема блока управления.Устройство содержит регистр 1 прерываний, регистр 2 масок, блок 3 элементов И, приоритетный шифратор 4, элемент ИПИ 5, триггер 6, блок 7 памяти, блок 8 памяти, блок 9 элементов И, элемент ИЛИ 10 и блок 11 управления, группу запросных входов 12 устройства, группу выходов 13 регистра 1, группу выходов 14 регистра 2, группу выходов 15 блока 3, группу информационных выходов 16 устройства, группу кодовых входов 17 устройства, группу синхровходов 18 густройства, выходы 19 блока 7, вы"ход 20 элемента ИЛИ 5, выход 21 прерывания устройства, выходы 22 блока8, выходы 23 блока 9, входы 24 бло"ка 9, выход 25 элемента ИЛИ 10, установочныи вход 26 триггера 6, груп.пу кодовых выходов 27 устройства,группу информационных выходов 28устройства.Блок 11 управления (фиг.2) содержит дешифратор 29, регистр 30 состояний, элемент ИЛИ 31, элементИЛИ 32, элементы И 33-35, счетчик 36,элемент ИЛИ 37,Устройство используется совместно с цифровой ЭВМ. Все его выходы ивходы, кроме входа 12, подключаютсяк этой ЭВМ.Группа запросных входов 12 необходима для приема сигналов внешнихзапросов и дальнейшей записи их врегистр прерываний,Группа информационных выходов 162 служит для выдачи в ЭВМ кодов номеровпоступивших запросов,Группа кодовых входов 17 используется для приема параллельного кода из ЭВМ и передачи этого кода на3 12821группы входов регистра прерыванийи регистра масок. Один разряд этого кода подается на кодовый вход первого и второго блоков памяти. Группа синхровходов 18 предназначена 5для передачи управляющих сигналовв устройство. Причем первый входэтой группы является входом управления записью в регистр масок, второй вход - входом управления запи- Юсью в регистр прерываний, третий ичетвертый входы - входами синхронизации работы блока 11 управления.Остальные входы группы синхровходов 18 являются входами управлениязаписью в первый и во второй блокипамяти.Выход 21 прерывания необходимдля передачи сигнала прерывания вЭВМ. Группа код вых выход в 27 с ужит для вывода в ЭВМ слова состояния устройства.Вторая группа информационных выходов 28 используется для передачив ЭВМ номеров запускаемых задач.25Регистр 1 прерываний необходимдля фиксации и хранения сигналов внешних запросов на прерывание.Регистр 2 масок служит для хранения кода, разрешающего или запрещающего обработку поступивших запросов.Первый блок 7 памяти предназначен для хранения информации о поступивших запросах и для учета задач,которые в связи с этим были запущены, Этот блок можно представить ввиде триггерной матрицы,1Количество столбцов блока 7 памяти равно количеству разрядов регист Ора 1,и каждый столбец этого блокасвязан соответственно с одноименнымразрядом регистра посредством блока 3. Количество строк блока 7 определяет максимальное число задач, которце могут быть запущены при наличии внешних запросов. В каждом столбце содержится информация о поступившем, но еще не обработанном запросе. Каждая строка соответствует номеОру задачи, которая может быть запущена при наличии внешних запросов.При поступлении запроса в регистр 1 единичный сигнал проходит через блок 3 и воздействует на входгруппы информационных входов блока 7памяти. Это приводит к записи единиц во все триггеры соответствующегостолбца, что означает наличие внеш 2 ч 4 них условий для запуска любой иззадач.для адресации при выводе информации иэ блока 7 памяти служит группаего адресных входов 16, подключенная к группе выходов приоритетногошифратора. Поступающий адрес позволяет прочитать код всего адресованного столбца.Второй блок 8 памяти необходимдля хранения информации о разрешении на запуск задачи при наличиизапроса. По своему устройству второйблок памяти аналогичен первому блоку памяти. Разница заключается в том,что во втором блоке памяти не используется группа информационных входовдля записи единиц во все триггеры1 столбцов. Второй блок памяти такжеможно представить в виде триггернойматрицы. Каждому столбцу и здесьсоответствует запрос, а строке - номер задачи. Наличие единицы в каком-либо триггере этого блока означает разрешаннцее условие для запуска задачи при наличии запроса. Запись единиц и нулей во второй блокпамяти производится так же, как и впервый блок памяти, Занесение нескольких единиц.в столбец блока дозначает разрешение запуска задачс номерами, равными номерам строк,на пересечении которых со столбцомв матрице записаны единицы. Записьнескольких единиц в строку означаетразрешение запуска задачи при появлении запросов с номерами, равныминомерам столбцов, которые имеют единичное значение в триггерах матрицы на пересечении со строкой.Считывание информации второго блока памяти производится аналогичнос первым блоком памяти,При сравнении в блоке 9 столбцовналичие .единичногоуровня в 1-м разряде выходных кодов первого и второго блоков памяти означает, что поступил -й запрос и имеется разрешение на запуск 1-й задачи, связанной с -м запросом. Таким образом,блок 9 формирует М-разрядный позиционный код, показывающий наличие всехусловий для запуска 1-й задачи. Регистр 30 необходим для регистрации и хранения информации о готовности устройства к выдаче в ЭВИ номеров поступивших запросов и задач, Этот регистр двухразрядный,2124 6 10 35 40 45 50 55 5 128 он имеет четыре информационных входа и два выхода. Коды на группе выходов регистра означают: 00 - устройство в исходном состоянии, 01 устроиство готОВО к Выводу 10устройство не готово к выводу, 11 номера поступивших запросов выведеНЫ ПОЛНОСТЪЮСчетчик 36 служит для перебора кодов, являющихся номерами задач, которые могут быть запущены при наличии необходимых условий.Устройство работает следующим образом.Перед началом работы устройства 15 ЭВМ производит обнуление блоков7 и 8, регистров, счетчика и триггера, причем в результате обнуления регистра 2 уровни с группы выходов этого регистра блокируют все разря ды в блоке 3 элементов. Цепи, по которым производится обнуление, не показаны, Далее ЭВМ осуществляет занесение единиц в триггеры блока 8, т.е. запись информации о разреше нии пуска задачпри появлении запросов. Устройство готово к работе после установки с помощью ЭВМ необходимых разрядов регистра 2 в разрешающее состояние. Поступающие на группу 30 входов 12 сигналы внешних запросов фиксируются в регистре 1, группа выходов которого соединена с первой группой входов блока 3. Появление на группе входов 12 устройства внешних запросов приводит к формированию на группе выходов блока 3 позиционного кода, имеющего единичные уровни только в тех разрядах, которым соответствуют единичные состояния регистра 1 и разрешающие состояния регистра 2. Полученный позиционный код с группы выходов блока 3 поступает на группу входов приоритетного шифратора 4, который формирует на группе выходов 16 номер наиболее приоритетного своего входа с единичным уровнем, что соответствует номеру наиболее приоритетного поступившего внешнего запроса. Код на группе выходов 16 непозиционный. Позиционный код с группы выходов блока 3 поступает на группу информационных входов блока 7 памяти, что приводит к установке в единичное состояние всех триггеров тех столбцов блока 7 памяти, которым соответствуют единичные состояния разрядов поступившего позиционного кода, И, наконец, позиционный код с группы выходов 3 блока поступаетна группу входов элемента ИЛИ 5, Приналичии хотя бы одного единичногоуровня в поступившем коде этот уровень появляется на выходе элементаИЛИ 5, что приводит к снятию нулевого потенциала с инверсного сбросового входа триггера 6. В дальнейшемэто позволяет установить триггер 6в единичное состояние при наличиисигнала на его входе 26. Единичныйуровень с выхода элемента 5 поступает на вход 20 блока управления,чтоприводит к снятию сбросового нулевого потенциала с первого информационного входа (уст."00 ") регистра 30.Теперь этот регистр может быть установлен в одно из возможных его состояний при появлении сигналов на егоинформационных входах. При наличиив регистре 1 зафиксированных внешних запросов на группе выходов приоритетного шифратора находится кодсамого приоритетного единичного разряда регистра 1. Этот код поступаетна группу адресных входов блока 7памяти и в отсутствие сигналов нагруппе входов 18 производит считывание адресованного столбца, т,е. кода,содержащего информацию о поступившемзапросе и об уже запущенных .задачах. Так как рассматривается начало работы устройства, то ни одна задача еще не запущена, запрос уже поступает, что и приводит к адресациистолбца. В данный момент временивсе триггеры столбца имеют единичныесостояния, обусловленные поступившим запросом, Код номера столбцас выхода приоритетного шифратора поступает также на группу адресныхвходов блока 8 памяти, что приводитаналогично первому блоку памяти ксчитыванию кода столбца, содержащегоинформацию о разрешенных к запускузадачах при наличии запросов. В этомкоде единичное состояние имеют тетриггеры, которые ранее установленыв это состояние с помощью ЭВМ, Допустим, что самым приоритетным является первый разряд регистра 1,имеющий в рассматриваемый моментединичное состояние. В данном случаеадресуются . первые столбцы блоков 7 и 8. Коды этих столбцов поступают на две группы входов блока 9элементов И для поразрядного сравнения. Так как каждый отдельный элемент И этого блока является трех 7 12821входовым, то сравнение производитсяпри наличии разрешающего уровня натретьем входе каждого элемента И.Сравнение кодов осуществляется последовательно. 11 еребор этих селектируемых элементов производится с помощью счетчика 36, код которого преобразуется дешифратором 29 в позиционный,Предположим, что в первом столбце блока 8 памяти единичное состояние имеет только один триггер (второй по порядку). В этом случае припоступлении запроса в первый разряд регистра 1 имеется разрешение 15на запуск только одной второй задачи. Так как в рассматриваемый момент времени код счетчика 36 имеетнулевое значение (перед началом работы устройства произведено его обнуление), то селектируется первыйэлемент И блока 9При селектировании этого элемента на выходе первого разряда блока 9 присутствует нулевой уровень, поскольку первый триггер блока 7 имеет единичное значение, а первый триггер блока 8 - нулевое значение, Поступление кода снулевым уровнем в первом разрядеблока 9 на группу входов элемента 30ИПИ 5 приводит к появлению на выходе этого элемента нулевого уровня,который подается в блок управления на вход 25, что отражает результат сравнечия одноименных триггеровв блоках 7 и 8. В данном случае совпадения не происходит и на входе 25имеется нулевой потенциал. Поступление хотя бы одного внешнего запросав регистр 1 приводит к появлению еди ничного уровня на входе 20 блока управления. Передний фронт этого уровня происходит через элемент ИЛИ 31 иустанавливает регистр 30 в состояние"10". Этот же передний фронт с выхода элемента ИЛИ 31 проходит черезэлемент ИЛИ 32 и поступает на входыэлементов И 33 и 34, Дальнейшее прохождение этого сигнала определяетсяуровнем на входе 25, Так как в рассматриваемом случае этот уровень,имеет нулевое значение, то сигналпроходит через элемент И 34, а затемчерез элемент ИЛИ 37 на счетный входсчетчика 36, Передний фронт поступив шего сигнала увеличивает на единицусодержимое счетчика, код которогопреобразуется дешифратором 29, чтоприводит к селектированию очередного 24 8(в данном случае второго) элементаблока 9. Выход 38 счетчика - это выход переполнения, на котором толькос момента переполнения устанавливается единичный уровень,Сигнал с выхода элемента И 34 поступает также на прямой вход элемента И 35, на другом инверсном входекоторого имеется нулевой разрешающийуровень с выхода переполнения счетчика. Сигнал с выхода элемента И 34на прямой вход элемента И 35 проходит через задержку, элемент которойне показан. Сигнал на выходе элемента 1 ШИ 32 возникает благодаря егопоявлению на одном из входов этогоэлемента, соединенного с выходом элемента И 35. С выхода элемента ИЛИ 32сигнал поступает на входы элементовИ 33 и 34, Так как к этому моментупроизводится селектирование уже второго разряда, а ранее быпо установлено, что второй триггер второго блока памяти имеет единичное состояние,то выход второго разряда блока 9 имеет единичный уровень, который проходит через элемент ИЛИ 5 и устанавливается на входе 25 блока управления,Рассматриваемый в данный момент сигнал с выхода элемента ИЛИ 32 проходит через элемент И 33 и устанавливает регистр 30 в состояние "01", чтоозначает готовность информации о номерах запросов и задач к выводу,Кроме того, сигнал с выхода элемента И 33 поступает на установочныйвход триггера 6, что приводит к появлению единичного уровня на выходе21 прерывания. Это,в свою очередь,прерывает ЭВМ и вызывает программуобслуживания устройства, котораясначала считает состояние регистра 30с группы кодовых выходов 27.Таким образом, при появчении единичного уровня на входе 20 блока управления производятся дешифрация нулевого содержимого счетчика 36, установ регистра 30 в состоянии "10",анализ уровня входа 25, который впервый момент имел нулевое состояние, увеличение на единицу содержимого счетчика 36, которое теперь равно 1, задержка сигнала с выхода элемента И 34 и очередной анализ уровнявхода 25 уже со второго разряда блока 8, установ регистра ЗО в состоянии "01",Рассмотрим алгоритм программыобслуживания, которая начинает своюКод, сформированный приоритетным шифратором, адресует столбцы блоков 7 и 8. Так как содержимое счетчика в этот момент равно нулю, то селектируется первый элемент блока 9, т,е. сравниваются первые разряды считанных кодов памяти, На входе 25 блока 11 появляется единичный уровень. Сигнал команды проходит через элементы 31-33 и устанавливает регистр 30 в состояние "01", Поступление еще одного сигнала с выхода 26 элемента И 33 на установочный вход триггера 6 не имеет значения, так как триггерУ находится в единичном состоянии до обработки всех запросов и появления в связи с этим нулевого потенциала на его инверсном входе. Программа обслуживания производит все действия, описанные ранее, для обработки состояния "01", в том числе считывает номер запроса с группы выходов 16 и номер запускаемой задачи с группы выходов 28, что означает необходимость запуска первой задачи при наличии запроса. После считывания ЭВМ . выдает команду, что приводитк увеличению содержимого счетчика на 9 128212работу при наличии единичного уров-ня прерывания на выходе 21 триггера. Программа обслуживания считываеткод состояния регистра 30 с группывыходов 27 и анализирует этот код,который может иметь состояния "00,01, 10 или 11". Если считанный кодимеет значение "01", то программа .обслуживания производит считываниеномера обрабатываемого запроса с 10группы выходов 28, На этой группе выходов находится код содержимого счетчика .36, который и является кодомномера запускаемой задачи. При этомЭВМ производит считывание кода с 15группы выходов 28, т.е, кода номеразапускаемой задачи.Далее программа обслуживания выдает команду, которая в виде сигнала поступает с группы входов 18 на 20вход элемента ИЛИ 37, а с его выхода - на счетный вход счетчика 36.Это приводит к увеличению на единицусодержимого счетчика, которое стано. вится равным 2, и к селектированию 25следующего (в данном случае третьего) разряда блока.Затем программа обслуживания выдает команду, которая в виде сигналапоступает с группы входов 18 на 30вход элемента ИПИ 31, а с его выхода - на вход "1 О" регистра 30,что позволяет установить этот регистрв состояние "10", С выхода элементаИЛИ 31 этот же сигнал поступает на 35вход элемента ИЛИ 32, что приводитк продолжению работы устройства.Далее осуществляется переход в режим ожидания состояний "11" или "О 1",40Выберем максимальное число разрядов в столбцах, равное 4, что соответствует наибольшему числу запускаемых задач, равному 4. Это допущение позволят Рассмотреть окончание 45анализа одного столбца и переходк следующему. Так в рассматриваемыймомент времени с приходом сигнала откоманды в счетчике 36 устанавливается код, равный 2. Так как в первом 50столбце блока 8 только второй триггеримеет единичное значение, то новому содержимому счетчика соответствует нулевой уровень на входе 25 блока 11, Сигнал команды проходрт черезэлементы 31, 32, 34 и 37, что делаетсодержимое счетчика 36 равным 3. Этому коду счетчика также соответствует нулевой уровень на выходе 25, Сиг 4 1 Онал с выхода элемента И 34; проходяпосле задержки через элементы 35и 32, снова поступает на выход элемента И 34, затем на выход элементаИЛИ 37 и на вход счетчика 36, чтоприводит к переполнению этого счетчика (его содержимое становится равным нулю). Уровень переполнения навыходе 38 блокирует прохождение сигнала с выхода элемента И 34 черезэлемент И 35 и передним фронтом устанавливает регистр 30 в состояние "11".Программа обслуживания устройства,сосчитавшая код состояния, равный"11", производит установку маски первого обработанного запроса в запрещающее состояние, выдавая соответствующий код на группу информационных входов 17 регистра масок и сигнал управления записью в регистр масок на вход группы синхровходов 18.Это приводит к тому, что приоритетный шифратор выбирает очередной наиболее приоритетный свой единичный входи выдает на первую группу информационных выходов 16, этот номер. Продолжается поиск номеров задач дляочередного запроса с первого элемента столбца, так как счетчик снова находится в нулевом состоянии.11 12821 единицу (код счетчика становится равным 1). Это приводит к селектированию второго разряда блока 9. На входе 25 блока 11 единичный. уровень,После выдачи ЭВМ команды регистр 30 устанавливается в состояние "10". Одновременно с этим сигнал команды проходит через элементы 32 и 33 и устанавливает регистр 30 снова в состояние "01", так как уровень "25" 10 имеет единичное значение. Программа обслуживания снова производит считывание кодов с выходов 16 и 28, что дает информацию о необходимости за,пуска второй задачи при наличии запроса.15 24Взаимодействие устройства и ЭВМ происходит аналогично до тех пор, пока установ маски в запрещающее состояние для последнего обработанного разряда регистра 1 не приводит к появлению нулевого уровня на выходе 20 элемента 5, к сбросу триггера 6 и установлению нулевого потенциала на выходе 21 прерываний. Появление нулевого уровня на входе 20 блока 11 производит установ регистра 30 в состояние "00", что означает окончание работы программы обслуживания.1282124 г.г Составитель М.Кудряшеведактор О.Бугир Техред Л.Сердюкова ректор А.Обруч одписно б., д. 4 изводственно-полиграфическое предприятие, г. ужгород, ул, Проектная,аказ 7267/47ВНИИПИ по д 1130 Тираж Государственн ам изобретений

Смотреть

Заявка

3841865, 10.01.1985

ПРЕДПРИЯТИЕ ПЯ В-8315

БОБЧЕНКО БОРИС МИХАЙЛОВИЧ, ЛИСОВСКИЙ АЛЕКСАНДР ВЛАДИМИРОВИЧ

МПК / Метки

МПК: G06F 9/48

Метки: прерываний

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

Код ссылки

<a href="https://patents.su/8-1282124-ustrojjstvo-dlya-obrabotki-preryvanijj.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для обработки прерываний</a>

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