Устройство переменного приоритета
Иллюстрации
Показать всеРеферат
Изобретение может быть использовано в вычислительной технике, в частности в устройствах приоритетного прерывания. Целью изобретения является повышение быстродействия устройства за счет сокращения числа повторных опросов разрядов регистра прерываний. Устройство содержит регистр 1 приоритета, два счетчика 2,3, блок 4 управления, регистр 5 маски, три блока элементов И 6, 15, 16, дешифратор 7, регистр 8 прерываний, блок элементов ИЛИ 9, пять элементов ИЛИ 10 - 13, 32, регистр 14. Изобретение позволяет осуществить выявление и запоминание опрошенных позиций приоритета (разрядов регистра прерываний), не содержащих сигналов прерывания, а также сформировать сигнал, управляющий опросом позиций приоритета в очередном цикле работы устройства. 2 ил.
„,80„„158579
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ РЕСПУ БЛИН
А1 (g )g С 06 F 9/46
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н A ВТОРСНОМ У СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
1 (21) 4602746/24-24 (22) 09. 11.88 (46) 15.08.90. Бюл. (" 30 (72) А.М. Белан, Н, Н, Гудим и С.П.Кузнецов (53) 681.325 (088.8) (56) Авторское свидетельство СССР
Ф 962948, кл. С 06 F 9/46,1981.
Авторское свидетельство СССР
Р 14187 15, кл . G 06 F 9/46, 1987. (54) УСТРОЙСТВО ПЕРЕМЕННОГО ПРИОРИТЕТА (57) Изобретение может быть использовано в вычислительной технике, в частности в устройствах приоритетного прерывания. Целью изобретения являет2 ся повышение быстродействия устройства за счет сокращения числа повторных опросов разрядов регистра прерываний. Устройство содержит регистр 1 приоритета, два счетчика 2, 3, блок
4 управления, регистр 5 маски, три блока элементов И 6, 15, 16, дешифратор 7, регистр 8 прерываний, блок элементов ИЛИ 9, пять элементов ИЛИ
10-(3, 32, регистр 14. Изобретение позволяет осуществить выявление и запоминание опрошенных позиций приоритета (разрядов регистра прерываний), не copeðÿàùèõ сигналов прерывания, а также сформировать сигнал, управляющий опросом позиций приоритета в очередном цикле работы устройства. 2 ил.
1585797
Изобретение относится к вычислительной технике, в частности к приоритетным устройствам прерывания для
3ВМ.
Цель изобретения — повышение быстродействия устройств за счет сокращения числа повторных опросов разрядов регистра прерываний.
На фиг. 1 изображена структурная схема устройства; на фиг. 2 — структурная схема блока управления.
Устройство содержит регистр 1 приоритета, счетчики 2 и 3, блок 4 управления, регистр 5 маски, блок 6 эле-15 ментов И, дешифратор 7, регистр 8 прерываний, блок 9 элементов ИЛИ, элементы ИЛИ 10-13, регистр 14, блоки
15 и 16 элементов И, группу кодовых входов 17 устройства, группу кодовых 2р входов 18 устройства, группу входов
19 запросов устройства, входы 20-24 блока 4, выходы 25-29 блока 4, группу входов 30 блока 4, вход 31 запуска устройства, элемент ИЛИ 32. 25
Блок 4 (фиг. 2) содержит элементы
И 33 и 34, генератор 35 импульсов, триггер 36, элементы ИЛИ 37.и 38, триггер 39 и 40, элемент ИЛИ 4 1, элементы И 42 и 43, элементы 44-46 задержки.
Устройство работает следующим образом.
В исходном состоянии регистр 8 прерываний .устанавливается в "0". В регистр 1 приоритета по входу 17 заносится код, определяющий номер того разряда регистра 8 прерывания, который первым должен опрашиваться на наличие сигнала прерывания, т.е. имеет наивысший приоритет.
В один из разрядов регистра 5 по входу 18 устройства заносится единица, тем самым выбирается один из трех режимов работы устройства, отличающихся последовательностью опроса разрядов прерывания. Опрос производится, начиная от разряда зафиксированного в регистре 1 приоритета, либо вправо, либо влево, либо попеременно опраши50 вается разряд слева и разряд справа от фиксированного.
При занесении кода в регистр 1 и единицы в один иэ разрядов регистра 5 на выходах соответственно элементов
ИЛИ 10 и ИЛИ 11 появляются единичные
55 сигналы, которые поступают на входы.
20 и 21 блока 4 управления, подготавливая его работу.
Сигналы прерывания по входам 19 устройства поступают в регистр 8 и на первые входы блока 16 элементов И.
Соответствующие разряды регистра 8 устанавливаются в ."1".
Работа устройства начинается с момента поступления по входу 31 запуска устройства сигнала запуска в блок 4 управления. Одновременно прерывается выполнение текущей программы. Поступление сигнала запуска не связано с моментами поступления сигналов прерывания в регистр 8 и зависит от режима работы обслуживающего прибора.
Например, сигнал запуска может посту-, пать в устройство периодически.
Сигнал запуска инициирует работу блока 4 управления, если в регистре 8 зафиксирбван хотя бы один запрос на прерывание. В противном случае запуск устройства блокируется нулевым сигналом с выхода элемента ИЛИ 13, подключенного к прямым выходам регистра
8 прерываний.
Если в регистре 8 зафиксированы один или несколько запросов на прерывание, то блок 4 управления начинает работу по сигналу запуска.
B результате содержимое счетчика
2 прямого кода или инверсное содержимое счетчика 3 обратного кода в зависимости от режима работы устройства ,через блок 9 элементов ИЛИ поступает на дешифратор 7. На одном иэ выходов дешифратора 7 появляется единичный сигнал, с помощью которого блок 6 элементов И проверяет наличие, а блок 15 элементов И вЂ” отсутствие "1" в том разряде регистра 8 номер которого определен кодом в регистре 1.
При отсутствии в опрашиваемом разряде запроса на прерывание срабатывает соответствующий элемент И блока 15 элементов И.Сигнал с соответствующего выхода блока 15 элементов И поступает на вход регистра 14,устанавливая в "1" соответствующий разряд. В результате запоминается опрошенный наиболее приоритетный разряд, в котором отсутствует запрос на прерывание.
При этом сигнал с единичного выхода триггера откроет по второму входу соответствующий элемент И блока 16 элементов И. В результате при поступлении сигнала прерывания в наиболее приоритетный разряд регистра 8 и на первый вход блока 16 на соответствующем выходе блока 16 появится единич15857 ный сигнал, который через элемент ИЛИ
12 поступит на вход 22 блока 4 управления, изменяя порядок опроса разрядов регистра 8 в следующем цикле работы устройства.
Если в опрашиваемом наиболее приоритетном разряде отсутствует запрос на прерывание, то к содержимому обоих счетчиков 2 и 3, емкость которых равна числу разрядов регистра 8, прибавляется "1". На выходах счетчиков 2 и
3 будут формироваться соответственно возрастающая и убывающая последовательности кодов двоичных чисел, начи- 15 ная с кода числа, занесенного в регистр 1 приоритета. С выхода блока 9 элементов ИЛИ двоичный код содержимого одного из счетчиков 2 и 3 поступает на вход дешифратора 7,на соответст- 20 вующем выходе которого появляется единичный сигнал.
Если в очередном опрашиваемом разряде отсутствует запрос на прерывание, то устанавливается в "i" соотнетству- 25 ющий разряд регистра 14, т.е. запоминается очередной опрошенный разряд.
Если в опрашиваемом разряде зафиксирован запрос на прерывание, то блок
6 элементов И выдает сигнал, который 30 через элемент ИЛИ 32 поступает на вход 24 блока 4 управления, прекращая его работу. Появление единичного сигнала на выходе блока 6 свидетельствует, что устройство выделило наиболее
35 приоритетньп запрос на прерывание.
При этом содержимое одного из счетчиков 2 или 3 с выхода блока 9 элементов ИЛИ используется для перехода на соответствующую программу, а в регист- 4О ре 8 сбрасывается соответствующий запрос.
В исходном состоянии триггер 36 блока 4 находится н "0". Занесение кодов в регистры 1 и 5 устройства соп- 45 ронождаются управляющими сигналами, которые с выходов соответствующих элементов ИЛИ 10 и 11 по входам 20 и !
21 поступают в блок 4 управления, соответственно на первый и второй входы элемента ИЛИ 4 1. На выходе элемента ИЛИ 4 1 появляется единичный сигнал, . которьп поступает на инверс ый вход элемента И 43, временно закрывая его, и на единичный вход триггера 39. Сигнал с единичного выхода триггера 39 через элемент 44 задержки поступает на второй вход элемента И 42, подготавливая его открытие, 97
6 .В зависимости от выбранного режима работы устройства на один из входов 30 блока 4 из соответствующего разряда регистра 5 поступает постоянный единичный сигнал, который через элемент ИЛИ 37 либо через элемент ИЛИ
38 проходит HR выходы соответственно
25 или 26 блока 4 управления. При выборе режима работы устройства с переменным опросом разрядов слева и справа от фиксированного в регистре 1 раз-ряда, элемент И 33 блока оказывается открытым по первому входу единичныя сигналои с соответствующего входа 30 блока 4. В результате импульсы с выхода генератора 35 через элемент И 33 поступают на счетный вход триггера 40, опрокидывая его. Единичный сигнал появляется попеременно на прямом и инверсно л выходах триггера 40.и, следовательно, на выходах 25 и 26 блока 4, Выходы 25 и 26 блока 4 подключены к упранляющии входам счетчиков 2 и 3 соответственно, поэтому к входам дешифратора 7 через блок 9 элементов
ИЛИ подключаются либо выходы счетчика 2, либо выходы счетчика 3.
Работа устройства инициируется сигналом запуска, поступающим на вход 31 блока 4. Если в регистре 8 все разряды находятся в нулевом состоянии,. что соответствует исходному состоянию или отсутствию сигналов прерывания н процессе работы устройства, то на входе
23 блока 4 присутствует нулевой сигнал, блокирующий работу устройства по сигналу запуска.
При поступлении сигналов прерывания -в регистр Я на входе 23 блока 4 появится единичньп сигнал, который открывает по второму входу элемент
И 43. Сигнал запуска с входа 31 через элемент И 43, открытый по первому и второму входам, поступает на первый вход эле>лента И 42. Последний открывает по второму входу единичным сигналом с выхода триггера 39, поэтому иа выходе 29 блока 4 появится единичный сигнал. Сигнал с выхода 29 блока
4 поступает на вход сброса регистра
14 и счетчиков 2 и 3, обнуляя регистр
14 и счетчики 2 и 3 и разрешая запись в счетчики содержимого регистра 1 соответственно в прямом и инверсном коде. Сигнал запуска с выхода элемента
И 43 поступает также на сбросовый вход триггера 39. Триггер 39;устанавливается в нулевое состояние, которое
1585797 будет сохранятся до тех пор, пока на одном иэ входов 20 и 22 не появится ( единичный сигнал. / !
Сигналы появляются на входах 20 и 21 элем е нта ИЛИ 41 тогда, когда з а Носит=
5 ся новый код в регистр 1, кбгда изменяется содержимое регистра 5. Сигнал ,на входе 22 элемента ИЛИ 41 появится тогда, когда в разряды регистра 8 прерываний, которые опрашивались в предыдущих циклах, имели высокий приоритет и были "пусты", поступит сигнал прерывания. При этом на одном из выходов блока 16 элементов И появляется 15 сигнал, так как соответствующий триггер из регистра 14 открывает соотвеФс" твующий элемент И из блока 16 элементов И дпя сигнала прерывания.
Нулевой сигнал с выхода триггера 39 через элемент 44 задержки, который обеспечивает требуемую длительность сигнала на выходе 29 блока 4, поступает на второй вход элемента И 42, закрывая его. Сигнал запуска с выхода элемента И 43 блока 4 через элемент
45 задержки, который обеспечивает интервал времени, необходимый для срабатывания дешифратора 7, поступает также на вход установки в "1" тригге30 ра 36, Сигнал в прямого выхода триггера 36 поступит на выход 27 блока 4 и откроет по третьему входу блок элементов И 6. C .задержкой, необходимой для срабатывания блока 6 и задаваемой с помощью элемента 46 задержки, сигнал с прямого выхода триггера 36 поступит на первый вход элемента И 34. Если разряд регистра 8, номер которого указан в регистре i, содержит запрос на прерывание, то на вь ходе блока 6 появит40 ся единичный сигнал, который по входу
24 блока 4 поступит на сбросовый вход триггера 36, инверсный вход элемента
И 34. Тем самым предотвращается пос45 тупление импульсов с выхода генератора 35 на выход 28 блока 4. Если в опрашиваемом разряде запрос отсутствует., то сигнал запрета на инверсном входе элемента И 34 на появится. Импульсы с выхода генератора 35 через элемент И
34 поступят на выход 28 блока 4. В результате содержимое суммирующих счетчиков 2 и 3 будет изменяться и в зависимости от выбранного ремма работы устройства будут опрашиваться те или иные разряды регистра 8 прерываний. Как толь о v опрашиваемом разряде будет of:nàðóæåí запрос на прерывание, блок 6 элементов И выдаст единичный сигнал, который поступит на вход 24 блока 4 и запретит дальнейШее прохождение импульсов через элемент И 34 на выход.28 блока 4, а также сбросит в нулевое состояние триггер 36. На этом работа блока 4 заканчивается.
Новый цикл работы блока 4 управления начинается с приходом очередного сигнала запуска по входу 31. При этом, если триггер 39 находится в "0",то это означает, что с момента начала предудущего цикла на входы 20-22 блока 4 не поступали единичные сигналы .. выходов соответствующих элементов ИЛИ
10-12, т ° е. не произошло смены приоритета в регистре i и маски в регистре 5, и «е поступили запросы на прерывание в регистре 8 в те. разряды, которые опрашивались в предыдущих циклах, имели высокий приоритет и были
"пусты", Если в регистр 8 поступят запросы на прерывание в низкоприоритетные разряды, которые еще не опрашивались в предыдущих циклах, то сигнал на входе 22 блока 4 также не появится, так как соответствующий элемент И блока 16 элементов И закрыт нулевым сигналом с выхода соотретствующего триггера регистра 14. Таким образом, элемент И 42 оказывается закрытым по второму входу нулевым сигналом с выхода триггера 39, поэтому сигнал запуска с входа 31 не проходит на выход 29 блока 4. Содержимое счетчиков 2 и 3 не изменяется и осмотр разрядов регистра 8 начнется с последнего опрошенного в предыдущем цикле разряда. Если же в разряды регистра прерываний, которые опрашивались в предыдущем цикле, имели высокий приоритет и были "пусты", поступит сигнал, то соответствующий триггер на регистре 14 открывает соответствующий элемент И из блока 16 элементов И и единичный сигнал через элемент ИЛИ 12 поступит в блок 4 управления. Триггер
39 устанавливается в "1", через открытый по второму входу элемент И 42 сигнал запуска с входа 31 проходит на выход 29 блока 4. В результате регистр 14 и счетчики 2 и 3 обнуляются, в счетчики заносится содержимое с конкретного наиболее приоритетного разряда.
Таким образом,. в устройстве при поступлении сигналов прерывания в низ9 15857 коприоритетные разряды регистра 8 прерываний, которые ранее не опрашивались, существует возможность блокироватт обнуление счетчиков 2 и 3 и запись .в них содержимого регистра 1 приоритета. Содержимое счетчиков не изменяется и просмотр разрядов регистра
8 прерывания будет начинаться не с »аиболее приоритетного разряда, код которого содержится в регистра 1 приоритета, а с разряда, код которого зафиксирован в счетчике 2 или 3 в предыдущем цикле работы устройства, т.е. устройство. позволяет организовать "ко роткпй" цикл работы, исключающий onрос тех разрядов регистра 8 прерывания, которые были просмотрены в предыдущем цикле и заведомо не содержат новых запросов на прерывание. Короткий цикл работы в устройстве организуется не только тогда, когда не изменяется содержимое регистра 1 приоритета, регистра 5 маски и регистра 8 прерывания, но и когда поступают сиг — 25 налы прерывания в низкоприоритетные разряды регистра 8 прерываний, которые ранее не опрашивались. Если в высокоприоритетные разряды регистра 8, которые уже опрашивались на наличие сигнала прерывания, поступили новые запросы на прерывание или изменились коды в регистрах 1 и 5 устройства, то организуется полный цикл просмотра разрядов регистра 8 прерывания, начиная с наиболее приоритетного разряда.
Например, разрядность регистра 1 приоритета и счетчиков 2 и 3 равны трем, а разрядность регистра 8 прерываний — восьми. В регистр 5 маски занесен код 001, определяющий использование счетчика 2 прямого кода для onроса разрядов регистра 8.
Пусть в регистре 1 приоритета содержится код 101, а сигналы прерывания поступили одновременно во второй и третий разряды регистра 8. В счетчик
2 прямого кода записывается код 101.
На соответствующем выходе дешифратора
7 появляется единичный сигнал, с по мощью которого блок 6 элементов И опрашивает пятый разряд регистра 8 прерывания. Поскольку разряды 5, 6, 7, 0 и 1 не содержат запросы на прерывания, то для выявления " 1" в разряде
2 регистра 8 потребуется лять сумми- 55 рований в счетчике 2, после чего блок.
6 элементов И выдает сигнал окончания счета. Код в счетчике 2 будет 101 +
+ 101 = 1010. Поскольку разрядность
97, 10 счетчиков равна трем, старший разряд суммы теряется, а содержимое счетчиков 2 прямого кода соответствует номеру разрядов перехода к прерывающей программе. Последовательность приоритетного опроса регистра 8: 5, 6, 7, О, 1, 2 разряды.
Следующий цикл работы устройства будет либо "коротким", либо "полным" в зависимости от состояния триггера
39 управления на момент поступления сигнала запуска блока 4. Если эа время между последовательными запусками блока 4 в уже опрошенные в предыдущих циклах высокоприоритетные разряды регистра 8 не поступили новые запросы на прерывание и не изменялись приоритетный код в регистре 1 и код режима в регистре 5 устройства, то первым будем опрашиваться на наличие сигнала прерывания тот разряд регистра 8, код номера которого содержится в счетчике 2, т.е. разряд 2. Так как разряд
2 регистра 8 прерывания обнулен в момент перехода на соответствующую программу, произойдет суммирование в счетчике 2 и опросится следующий 3-й разряд регистра 8, содержащий запрос на прерыванне. Последовательность приоритетного опроса регистра 8: 2, 3 разряды. Если в уже опрошенные в предыдущих циклах высокоприоритетные разряды регистра 8 поступили новые зап- . росы на прерывание либо изменены коды в регистрах 1 и 5, то триггер 39 управления будет находиться в "1",и, устройство отработает полный цикл опроса разрядов прерывания: 5, 6, 7, 0;. 1... разряды.
Фо рмула из о 6ре те ни я
Устройство переменного приоритета, содержащее регистр приоритета, два счетчика, блок управления, регистр маски, первый блок элементов ИЛИ, дешифратор, регистр прерываний, блок элементов ИЛИ, пят ь элементов ИЛИ, причем первая группа кодовых входов устройства соединена с группой информационных входов регистра маски и с входами первого элемента ИЛИ, группа выходов регистра маски соединена с группой входов блока управления, первый выход которого соединен с управляющим входом первого блока элементов И, первая группа входов которого соединена с прямыми выходами регистра прерываний и с входами второго эле158579
Составитель M. Кудряшев
Редактор E. Копча Техред Л.Сердюкова Корректор B. Гирняк
Заказ 2327 Тираж 571 Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-издательский комбинат "Патент", г. Ужгород, ул. Гагарина, 101
11 .мента ИЛИ, группа входов дешифратора соединена с группой выходов блока элементов ИЛИ, первая и вторая группы входов которого соединены соответственно с группами выходов первого и второго счетчиков, информационные входы которых соединены соответственно с группами прямых и инверсных выходов регистра приоритета, счетные входы первого и второго счетчиков coe-
f динены с вторым выходом блока управления, первый вход которого соединен с выходом второго элемента ИЛИ, третий и четвертый выходы блока управления соединены соответственно с входа15 ми управления занесением первого и второго счетчиков, группа входов третьего элемента ИЛИ и группа информационных входов регистра приоритета соединены с второй группой кодовых входов устройства, выходы первого, третьего, четвертого и пятого элементов ИЛИ соединены соответственно с вторым, третьим, четвертым и пятым входами блока управления, входы сброса первого и второго счетчиков соединены с пятым выходом блока управления, шестой вход которого соединен с входом запуска устройства, входы чет30
7 12 вертого элемента ИЛИ соединены с выходами первого блока элементов И, вторая группа входов которого соеди" иена с. группой выходов дешифратора, группа информационных входов регистра прерываний соединена с группой входов запросов устройства, о т л и— ч а ю щ е е с я тем, что, с целью повышения быстродействия за счет сокращения числа повторных опросов разрядов регистра прерываний, устройство содер>сит второй и третий блоки элементов И и регистр, причем группа входов запросов устройства соединена с первой группой входов второго блока элементов И, группа выходов которого соединена с входами пятого элемента
ИЛИ, выходы дешифратора соединены с первой группой входов третьего блока элементов И, вторая группа входов которого соединена с группой инверсных выходов регистра прерываний, группа выходов третьего блока элементов И соединена с группой информационных входов регистра, группа выходов которого соединена с второй группой входов второго блока элементов И, а вход сброса регистра соединен с пя! тым выходом блока уйравления.