Устройство переменного приоритета
Иллюстрации
Показать всеРеферат
СОЮЗ СОВЕТСН ИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК ца 011
ceo 4 С 06 F 9/46
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ЩЙP fJjg1$P ß W
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ
Н А ВТОРСНС МУ СВИДЕТЕЛЬСТВУ (21) 4192953/24-24 (22) 09,02,87
I (46) 23.08. 88. Бюл .. У 31 (72) А.M. Белан и В . В, Бердинских (53) 681. 325 (088. 8) (56) Авторское свидетельство СССР
11jj 567764, кл. G 06 F 9/46, 1977.
Авторское свидетельство СССР
У 962948, кл. G 06 F 9/46, 198.1. (54) УСТРОЙСТВО ПЕРЕМЕННОГО ПРИОРИТЕТА (57) Изобретение может быть использовано в вычислительной технике, в частности в устройствах приоритетного прерывания. Целью изобретения является повьппение быстродействия устройства за счет оптимизации процесса опроса прерываний. Устройство, содер жащее регистр 1 приоритета, два счет,чика 2 и 3, блок 4 управления, ре". гистр 5 маски, блок элементов И 6, дешифратор 7, регистр 8 прерывания, блок элементов ИЛИ 9, дополнительно содержит четыре элемента ИЛИ 10-13, а в блоке управления — триггер, третий элемент ИЛИ, третий элемент задержки, третий и четвертый элементы
И. Дополнительно введенные элементы позволяют в ряде циклов работы уст" ройства осуществлять блокировку пос" тупления .сигнала запуска с входа за. пуска устройства на вторые управляющие входы счетчиков, т.е. блокировать обнуление счетчиков устройства и перепись в них содержимого регистра приоритета. Сигнал блокировки не вырабатывается, если в предыдущем цикле работы .устройства содержимое одного из регистров устройства было
;изменено. 1 з.п. ф-лы, 2 ил.
1418715
Изобретение относится к вычисли-; т ьной технике, в частности к приори1гетным устройствам прерывания для
3В .
Цель изобретения — повышение быстродействия устройства эа счет оптимизации процесса опроса прерываний °
На фиг.1 приведена структурная смема устройства; на фиг.2 — то же, блока управления.
Устройство содержит регистр 1 приоритета, счетчики 2 и 3, блок 4 управления, регистр 5 маски, блок 15 элементов И 6, дешифратор 7, регистр
8 прерываний, блок элементов ИЛИ 9, элементы ИЛИ 10-13, выход 14 блока
4, группу входов 15 кода приоритета уСтройства,. группу входов 16 маски ( устройства, группу входов 17 прерываний устройства, вход 18 запуска устройства, группу входов 19 блока
4 входы 20-24 блока 4, выходы 25-28 блока 4, символом al обозначены син" хровходы регистров 1,5 и 8, - Блок 4 (фиг.2) содержит элемент И
29, триггер 30, элементы ИЛИ 31 и 32, элементы И 33 и 34, генератор 35 импульсов, триггер 36, элементы 37 и ЗО
38 задержки, триггер 39, элемент 40 задержки, элемент ИЛИ 41, элемент
И 42.
Устройство работает следующим образом. 35
В регистр 1 приоритета по входу 15 заносится код, определяющий номер того разряда регистра 8 прерывания, который первым должен опрашиваться на наличие сигнала прерывания, т.е. име- 40 ет наивысший приоритет.
В один из разрядов регистра 5 по входу 16 устройства заносится единица, тем самым выбирается один из трех режимов работы устройства, отличаю- 45 щихся последовательностью опроса разрядов прерывания. Опрос производится, начиная от разряда, зафиксированного в регистре 1 приоритета, либо вправо, либо влево, либо попеременно опрашивается разряд слева и разряд справа от фиксированного.
При занесении кода в регистр 1 и единицы в один из разрядов регистра
5 на выходах соответственно элементов ИЛИ 10 и 11 появляются единичные сигналы, которые поступают на входы
20 и 21 блока 4 управления, подготавливая его работу.
Сигналы прерывания по входам 17 устройства поступают в регистр 8 и на входы элемента ИЛИ 12. Соответствующие разряды регистра 8 устанавливаются в "1", а на выходе элемента
ИЛИ 12 в моменты поступления сигналов прерывания появляются единичные сигналы, которые поступают на вход
22 блока 4 и используются для управления работой устройства.
В исходном состоянии регистр 8 устанавливается в "0". В регистр, 1 заносится приоритетнйй код, а в регистр 5 — код, определякиций выбор режима работы устройства.
Работа устройства начинается с момента поступления по входу 18 устройства сигнала запуска в блок 4 управления, одновременно прерывается выполнение текущей программы. Поступление сигнала запуска в блок 4 не связано с моментами поступления сигналов прерывания в регистр 8 и зависит от режима .работы обслуживанкцего прибора. Например, сигнал запуска может поступать в устройство периоди чески.
Сигнал запуска инициирует работу блока 4 управления, если в регистре
8 зафиксирован хотя бы один запрос на прерывание. В противном случае запуск устройства. блокируется нулевым сигналом с выхода элемента ИЛИ
13, подключенного к выходам регистра 8 прерывания.
Если в регистре 8 зафиксированы один или несколько запросов на прерывание, то блок 4 управления начинает работу по сигналу запуска.
В результате содержимое счетчика .
2 прямого кода или инверсное содержимое счетчика.3 обратного кода в зависимости от режима работы устройства через блок 9 элементов ИЛИ пос" тупает на дешифратор 7. На.одном иэ, выходов дешифратора 7 появляется единичный сигнал, с помощью которого блок 6 элементов И проверяет наличие
"1" в том разряде регистра 8, номер которого, определен кодом в регистре 1.
При отсутствии в опрашиваемом разряде запроса на прерывание к содержимому обоих счетчиков 2 и 3, емкость которых равна числу разрядов регист- ра 8, прибавляется "1". На выходах счетчика 2 и 3 будут формироваться соответственно возрастающая и убы3 14 l 87! вающая последовательности кодов дво. ичных чисел, начиная с кода числа, занесенного в регистр 1 приоритета.
С выхода блока 9 элементов ИЛИ двоичный код содержимого одного из счетчиков 2 и 3 поступает на вход дешифратора 7, на соответствующем выходе которого появляется единичный сигнал. Если в очередном опрашиваемом разряде зафиксирован запрос на прерывание, то блок 6 элементов И выдает сигнал, который поступает на вход 24 блока 4 управления, прекращая его работу. Появление единично" !5 го сигнала на выходе блока 6 свидетельствует о том, что устройство выделило наиболее приоритетный запрос на прерывание. При этом содержимое одного из счетчиков 2 или 3 с выхо- 2О да блока элементов ИЛИ 9 используется дпя перехода на соответствующую программу, а в регистре 8 сбрасывается соответствующий обслуженный запрос. 2В
В исходном состоянии триггер 36 блока 4 находится в "0". Занесение кодов в:регистры 1 и 5 устройства сопровождается управляющими сигналами, которые с выходов соответствую- ЗО щих элементов ИЛИ 10 и 11 по входам
21 и 20 поступают в блок 4 управле.ния соответственно на первый и второй входы элемента ИЛИ 41. На выходе элемента .ИЛИ 41 появляется единич- З5 ный сигнал, который поступает на инверсный вход элемента И 42 и на единичный вход триггера 39. Сигнал с единичного выхода триггера 39 через элемент 40 задержки поступает на вто- 4О рой вход элемента И 42, подготавливая его открытие.
В зависимости от выбранного режие ма работы устройства на один из входов 19 блока 4 из соответствующего 4> разряда регистра 5 поступает постоянный единичный сигнал, который через элемент ИЛИ 31, либо через элемент ИЛИ 32 проходит на выходы соответственно 25 или 26 блока 4 управления. При выборе режима работы устройства с переменным опросом разрядов слева и справа от фиксированного в регистре 1 разряде элемент И 33 блока 4 оказывается открытым по первому входу единичным сигналом с соответствующего входа 19 блока 4. В результате импульсы с выхода генератора 35 через элемент И 33 поступают на счет5
4 ный вход триггера 30, опрокидывая
его. Единичный сигнал появляется попеременно на прямом и инверсном выходах триггера 0 и, следовательно, на выходах 25 и 26 блока 4. Выходы 25 и
26 блока 4 подключены к управляющим входам счетчиков 2 и 3 соответственно, поэтому к входам дешифратора 7 через блок 9 элементов ИЛИ подключается либо выход счетчика 2, либо выходы счетчика 3.
Работа устройства инициируется сигналом запуска, поступающим на вход
31 блока 4. Если в регистре 8 все разряды находятся в нулевом состоянии, что соответствует исходному cocTosiIIHIo или отсутствию сигналов прерывания в процессе работы устройства, то на входе 23 блока 4 присутствует нулевой блокируюший работу устройства по сигналу запуска.
При поступлении сигналов прерывания в регистр 8 на.входе 22 блока 4 появляются единичные сигналы, ко тоРые через элемент ИЛИ 41 поступают на единичный вход триггера 39. Единичные сигналы с выхода элемента
И!П! 41 поступают также на инверсный вход элемента И 43, закрывая его, Тем самым на время присутствия единичного сигнала на выходе элемента
ИЛИ 41 задерживается поступление сигнала запуска с входа 18 через элемент И 29 на нулевой вход триггера 39. При отсутствии управляющих сигналов на входах 20-22 блока 4 элемент И 29 оказывается открытым по третьему входу. Если в регистр 8 зафиксирован хотя бы один сигнал прерывания, то на входе 23 блока 4 появляется единичный сигнал, который открывает по второму входу элемент И
29. Сигнал запуска с входа 18 через элемент И 29, открытый по второму и третьему входам, поступает на первый вход элемента И 42. Элемент И 42 открыт по второму входу единичным сигналом с выхода триггера 39, поэтому на выходе 14 блока 4 появляется единичный сигнал. Сигнал с выхода 14 блока 4 поступает на входы сброса счетчиков 2 и 3, обнуляя счетчики и разрешая запись в них содержимого регистра 1 соответственно в прямом и инверсном коде. Сигнал запуска с выхода элемента И 29 поступает также на сбросовый вход триггера 39 ° Триггер 39 устанавливается в нулевое сос1418715
20
40
55 тояние, которое сохраняется до тех пор, пока на одном из входов 20-22 блока 4 не появится единичный сигнал.
Сигналы появляются на входах элемент@ ИЛИ 41 тогда, когда заносится но1вой код в регистр 1, когда изменяется содержимое регистра 5 или поступае f очередной сигнал прерывания в регистр 8. Нулевой сигнал с выхода триггера 39 через элемент 40 задержки, который обеспечивает требуемую длительность сигнала на выходе 14 блока 4, поступает на второй вход элемента 42, закрывая его. Сигнал запуска с выхода элемента И 29 блока
4 через элемент 38 задержки, который обеспечивает интервал времени, необ" ходимый для срабатывания дешифратора
7> поступает также на вход установки в."1" триггера 36. Сигнал с прямого выхода триггера 36 поступает на выход 27 блока 4 и открывает по третьему входу блок элементов И 6. С задержкой, необходимой для срабатывания блока 6 И, задаваемой с помощью элемента 37 задержки, сигнал с прямого выхода триггера 36 поступает на второй вход элемента И 34. Если разряд регистра 8, номер которого указан в регистре 1, содержит запрос на прерывание, то на выходе .блока 6 появляется единичный сигнал, который по входу 24 блока 4 поступает на сбросовый вход триггера 36.и инверсный вход элемента И 34. Тем самым предотвращается поступление импульсов с выхода генератора 35 на выход
28 блока 4. Если в опрашиваемом разряде запрос отсутствует, то сигнал запрета на инверсном входе элемента
И 34 не появляется. Импульсы с выхода генератора 35 через элемент И 34 поступают на выход 28 блока: 4. В .результате содержимое суммирующих счетчиков 2 и 3 изменяется и в зависимос" ти от выбранного режима работы устройства опрашиваются те или иные разряды регистра 8. Как только в опрашинаемом разряде будет обнаружен запрос на прерывание, блок 6 элементов
И выдает единичный сигнал, который поступает на вход 24 блока 4 и запрещает дальнейшее прохождение импульсов через элемент И 34 на выход
28 блока 4, а также сбрасывает в нулевое состояние триггер 3 6. На этом работа блока 4 заканчивается.
Новый цикл работы блока 4 управления начинается с приходом очередного сигнала запуска по входу 18. При этом, если триггер 39 находится в
"0", то это означает, что с момента начала предыдущего цикла на входы 2022 блока 4 не поступают единичные сигналы с выходов соответствующих элементов ИЛИ 10-12, т.е. не происходят смены приоритета в регистре 1 и маски-в регистре 5 и не поступают новые запросы на прерывание в регистр
8. Элемент И 42 оказывается закрытым по второму входу нулевым сигналом с выхода триггера 39, поэтому сигнал запуска с входа 18 не проходит на выход 14 блока 4. Таким образом, содержимое счетчиков 2 и 3 не изменяется, что позволяет продолжить просмотр разрядов регистра 8 сигналов прерывания, начиная с последнего опрошенного в предыдущем цикле разряде. Если триггер 39 к моменту поступления сигнала запуска находится в "1", то через открытый по второму входу элемент И 42 сигнал запуска с входа 18 проходит на выход 14 блока 4. В результате счетчики 2 и 3 обнуляются и в них записывается содержимое регистра 1 соответственно в прямом и инверсном коде. Просмотр разрядов регистра 8 осуществляется, начиная с разряда, код номера которого указан в регистре 1. Блок 4 работает анало-. гично описанному вышее.
Таким образом, в предлагаемом уст ройстве существует возможность в не" которых циклах работы блокировать об нуление счетчиков 2 и 3 и запись в них содержимого регистра 1. Содержимое счетчиков не изменяется и просмотр разрядов регистра 8 прерывания начинается не с наиболее приоритетного разряда, код которого содержится в регистре 1, а с разряда, код которого зафиксирован в счетчике 2 или 3 в предыдущем цикле работы устройства, т.е. предлагаемое устройство позволяет.организовать "короткий" цикл работы, исключающий опрос тех разрядов регистра 8, которые были просмотрены в предыдущем цикле и заведомо не содержат новых запросов на прерывание.
Если в регистр 8 поступили новые запросы на прерывание или изменились коды в регистрах 1 и 5, то организуется полный цикл просмотра разрядов ре14187
7 гистра 8, начиная с наиболее приоритетного разряда.
Формула изобретения
1. Устройство переменного приоритета, содержащее блок управления, регистр приоритета, регистр прерываний, два счетчика, регистр маски, блок . элементов ИЛИ, дешифратор и блок элементов И, причем группа входов масок устройства .соединена с группой информационных входов регистра маски, группа выходов которого соединена с группой входов блока управления, первый выход которого соединен с управляющим входом блока элементов И, пер.вая и вторая группы входов которого соединены соответственно с выходами 2р регистра прерываний и с выходами дешифратора, группа входов которого соединена с группой выходов блока элементов И, входы которого соединены с группами выходов первого и второго 25 счетчиков, информационные входы которых соединены соответственно с группой,прямых и с группой инверсных выходов регистра приоритета, счетные входы первого и второго счетчиков соединены с вторыми выходами блока . управления, первый вход которого соединен с выходом блока элементов И, третий и четвертый выходы блока управления соединены соответственно с входами управления занесением первого и второго счетчиков, о т л и— ч а ю щ е е с я тем, что, с целью повышения быстродействия за счет оптимизации процесса опроса прерываний, 4о устройство содержит четыре элемента
ИЛИ, причем входы первого элемента
ИЛИ соединены.с группой входов кода приоритета устройства, группа входов маски которого соединена с входами 45 второго элемента ИЛИ, группа входов прерываний устройства соединена с входами третьего элемента ИЛИ, выходы первого, второго, третьего и четвертого 3JMMBHTQB ИЛИ соединены сооТ 50 ветственно с вторым, третьим, четвер,чрм и пятым входами блока управления, ;входы сброса первого и второго счет1 чиков соединены с пятым выходом блока управления, шестой вход которого соединен с входом запуска устройства, входы четвертого элемента ИЛИ соединены с выходами регистра прерываний, синхровход которого соединен с шестым выходом блока управления.
2. Устройство по п.l, о т л и— ч а ю щ е е с я тем, что блок управления содержит три элемента ИЛИ, четыре элемента И, три триггера, три элемента задержки и генератор импульсов, причем второй третий и четвертый входы блока соединены с входами первого элемента ИЛИ, выход которого соединен с первым входом первого элемента И и с единичным входом первого триггера, вход сброса которого соединен с выходом первого элемента И и с первым входом второго элемента И, выход которого соединен с пятым выходом блока, первый выход которого соединен с выходом второго триггера и через первый элемент задержки с первым прямым входом третьего элемента
И, выход которого соединен с вторым выходом блока, первый вход которого соединен с входом сброса второго триггера и с инверсным входом третье"
ro элемента И, второй прямой вход которого соединен с выходами генератора импульсов и с первым входом четвертого элемента И, второй вход которого соединен с первым входом группы входов блока, второй и третий входы группы входов блока соединены с первыми вхоДами соответственно второго и третьего элементов ИЛИ, вторые входы которых соединены соответственно с прямым и инверсным выходами третьего триггера, счетный вход которого соединен с выходом четвертого элемен- та И, выход первого триггера через второй элемент задержки соединен с вторым входом второго элемента И, выход первого элемента И через третий элемент задержки соединен и с единичным входом второго триггера, второй и третий входы первого элемента И соединены соответственно с первым и шестым входами блока, третий и четвертый выходы которого соединены соответственно с выходами второго и третьего элементов ИЛИ, выход генера" тора импульсов является шестым выходом блока, 14 18715
Составитель М.Кудряшев
Техред И.Верес Корректор М.Демчик
Редактор Г.Волкова
Заказ 4154/46 Тираж 704 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035,.Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, r. Ужгород, ул. Проектная, 4