RU2195013C2 - Способ многоуровневой обработки запросов прерывания и многоуровневая система для его осуществления - Google Patents
Способ многоуровневой обработки запросов прерывания и многоуровневая система для его осуществления Download PDFInfo
- Publication number
- RU2195013C2 RU2195013C2 RU2001102732A RU2001102732A RU2195013C2 RU 2195013 C2 RU2195013 C2 RU 2195013C2 RU 2001102732 A RU2001102732 A RU 2001102732A RU 2001102732 A RU2001102732 A RU 2001102732A RU 2195013 C2 RU2195013 C2 RU 2195013C2
- Authority
- RU
- Russia
- Prior art keywords
- interrupt request
- register
- interrupt
- information
- vector
- Prior art date
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Изобретение относится к вычислительной технике. Технический результат заключается в возможности определения приоритетной задачи в реальном масштабе времени технологического процесса. В способе многоуровневой обработки запросов прерываний, заключающемся в установлении приоритетов уровней запросов прерывания, характеризующихся заданным весом, и порядка обслуживания запросов прерывания, задают вес величины отклонения параметра от его допустимого значения, для каждого параметра, определяющего запрос прерывания, а приоритет уровней запроса прерывания определяют по абсолютной величине вектора запроса прерывания, рассчитанной по формуле где вектор веса отклонения величины параметра, инициирующего запрос прерывания, от допустимого значения, вектор веса уровня запроса прерывания, при этом порядок обслуживания запросов прерывания устанавливают по максимальной абсолютной величине вектора запроса прерывания, получаемой в реальном масштабе времени. 2 с.п. ф-лы, 3 ил.
Description
Изобретение относится к вычислительной технике и может быть использовано в различных автоматизированных системах управления технологическими процессами (АСУТП), в системах автоматизации научными экспериментами (САНЭ), а также при разработке новых перспективных процессоров для вычислительной техники.
При проведении работ, носящих экспериментальный характер, в частности, при отработке изделий и узлов ракетно-космической техники (РКТ), в том числе и в условиях имитации реальной окружающей среды использования, стоят задачи управления объектом испытания, технологическим оборудованием, имитацией среды использования и т. д. Особенность таких проводимых работ заключается в использовании многообразия технологических систем, задействованных в реализации экспериментальных работ, тесно взаимосвязанных между собой в едином технологическом цикле. Кроме того, работы носят пожаро- и взрывоопасный характер и характеризуются возможностью возникновения аварийных ситуаций.
Автоматизированная система управления для выполнения таких работ, как правило, состоит из ряда подсистем, выполняющих определенные функции и также взаимодействующих как между собой, так и с объектами управления. Из-за возможности возникновения аварийных ситуаций со стороны АСУТП должно быть предусмотрено принятие мер по их предотвращению и ликвидации. Все вышеперечисленное накладывает определенные требования к организации взаимодействия подсистем АСУТП. Взаимодействие подсистем реализовано как на программном уровне, так и по запросам прерывания. Причем число уровней прерывания, приходящихся на одну подсистему, достигает нескольких десятков. Сложность при такой организации взаимодействия заключается в расстановке приоритетов запросов прерывания, так как в некоторых случаях для одного эксперимента низкоприоритетные запросы прерывания становятся более важными, чем запросы с более высоким приоритетом, а для других наоборот. А при возникновении аварийных ситуаций, когда важность запросов прерывания может изменяться в процессе ликвидации аварийной ситуации по несколько раз, существует вероятность того, что система управления может быть занята подпрограммой с более высоким назначенным рейтингом запроса прерывания, а на самом деле должна заняться подпрограммой, имеющей более низкий рейтинг и являющейся в данный момент более важной. Это может привести к серьезным последствиям и даже к взрыву.
Таким образом, разрешение проблемы организации многоуровневой обработки запросов прерывания является актуальной задачей.
Известен способ многоуровневой обработки запросов прерывания [1], где установлена очередность обработки запросов прерывания, поступивших одновременно от различных уровней, то есть старшинство (степень срочности) в выполнении прерывающих программ разных уровней. Иначе говоря, запросы прерывания, имеющие более высокий приоритет, имеют право прервать выполняемую подпрограмму с более низким приоритетом и начать выполнение подпрограммы с более высоким приоритетом. Но, как было уже сказано выше, степень важности программ различных уровней в ходе проведения технологического процесса может меняться, и использование данного способа организации обработки прерываний при проведении экспериментальных работ может привести к серьезным последствиям. То есть, возникает необходимость иметь возможность изменять приоритетные отношения.
Известно устройство многоуровневой обработки запросов прерывания [2], реализующее данный способ, выполненное на базе БИС КР1818ВН19. В данном устройстве фиксированный приоритет входов запросов прерывания обусловлен их физическим местоположением в интерфейсе кристалла микросхемы. При этом вход IRQ0 обладает самым высоким, а IRQ7 - самым низким приоритетом. Данные способ и устройство не позволяют определять приоритет, являющийся определяющим в реальном масштабе времени в ходе проведения экспериментальных работ.
Наиболее близким по технической сущности к заявляемому изобретению является способ многоуровневой обработки запросов прерывания, заключающийся в установлении приоритетов уровней запросов прерывания, характеризующихся заданным весом, и порядка обслуживания запросов прерывания [3], реализующий пакетную обработку запросов прерывания. В данном способе реализовано сокращение времени пребывания в очереди низкоприоритетных уровней запросов прерывания за счет возможности задания ограничения на время обслуживания пакета запросов. Внутри пакета запросы обслуживаются в соответствии с заданными относительными приоритетами. Так как время на обслуживание пакета ограничено, то система по окончании времени обслуживания прерывания переходит к следующему пакету обслуживания прерываний, где также зафиксирована группа заявок на обслуживание прерываний, распределенных по приоритетам. Таким образом, данный способ обработки многоуровневых запросов прерываний существенно сокращает время обработки низкоуровневых запросов. Это позволяет при возникновении определенных условий, сложившихся в технологическом процессе, "не забыть" ни один из уровней запросов прерываний, поступивших на вход системы.
Известно устройство многоуровневой обработки прерываний [3], реализующее пакетный режим обслуживания запросов. Устройство содержит группу регистров заявок, группу из n-регистров приоритета, группу из n-схем сравнения, счетчики, группы из элементов ИЛИ, схему сравнения, триггер режима, делитель частоты, генератор тактовых импульсов, соединенных между собой межэлементными связями.
Однако данные способ и устройство многоуровневой обработки прерываний имеют ряд существенных недостатков. Например, при возникновении аварийной ситуации в технологическом процессе происходит отработка подпрограммы по выходу из нее и предотвращению последствий от ее возникновения, а в это время из-за отведенного лимита времени система переходит к обработке прерываний следующего пакета. Или система обрабатывает очередной пакет прерываний, а в это время поступает запрос прерывания, который формируется в следующем пакете, но по важности выполнения имеет первостепенное значение, а обслуживаться данный уровень прерывания может только тогда, когда система перейдет к следующему пакету. То есть происходит временная задержка, что не допустимо при развитии аварийной ситуации.
Таким образом, недостатки данного способа и устройства ограничивают их применение в САНЭ. Все вышеперечисленные способы обработки прерываний характеризуются заранее наделенными приоритетами прерываний, что не позволяет системе выявить действительно важную задачу в определенный момент времени технологического процесса.
Техническая задача, решаемая изобретением, заключается в возможности определения приоритетной задачи в реальном масштабе времени технологического процесса.
Поставленная цель достигается тем, что в способе многоуровневой обработки запросов прерываний, заключающемся в установлении приоритетов уровней запросов прерывания, характеризующихся заданным весом, и порядка обслуживания запросов прерывания, согласно изобретению, для каждого параметра, определяющего запрос прерывания, задают вес величины отклонения параметра от его допустимого значения, а приоритет уровней запроса прерывания определяют по абсолютной величине вектора, рассчитанной по формуле где вектор веса отклонения величины параметра, инициирующего запрос прерывания, от допустимого значения, вектор веса уровня запроса прерывания, при этом порядок обслуживания запросов прерывания устанавливают по максимальной абсолютной величине вектора запроса прерывания, получаемой в реальном масштабе времени.
Таким образом, ось ординат представлена весом уровней запросов прерывания, а ось абсцисс весом величины отклонения параметра от его допустимого значения. Приоритет уровня прерывания определяется в ходе технологического процесса по абсолютной величине веса получаемого вектора равного
где вектор веса отклонения величины параметра от допустимого значения,
вектор веса уровня запроса прерывания.
где вектор веса отклонения величины параметра от допустимого значения,
вектор веса уровня запроса прерывания.
Происходит постоянное сканирование уровней прерывания, определяется абсолютная величина веса вектора прерывания, сравнение полученной величины с другими получаемыми величинами векторов прерывания, постановка запроса данного уровня прерывания в очередь по возрастающей величине абсолютных значений векторов уровней прерывания. Наивысшим приоритетом наделяется запрос прерывания, имеющий большую абсолютную величину вычисленного вектора. Если вес вычисленного вектора запроса прерывания превышает веса всех уровней запросов прерывания, стоящих в очереди, а также вес обслуживаемого уровня, то происходит прерывание подпрограммы, обслуживающей запрос прерывания, и переход на подпрограмму данного уровня.
Именно заявленный способ определения веса вектора уровней прерывания в ходе технологического процесса позволяет в реальном масштабе времени определить действительные приоритеты уровней запросов прерывания и расставить их в очереди. Таким образом, обслуживание уровней запросов прерывания всегда будет производиться только действительно соответствующих высшему приоритету.
Поставленная цель достигается также тем, что в многоуровневую систему обработки запросов прерывания, содержащую регистр запросов прерывания, согласно изобретению, введены регистр вектора веса запроса прерывания, шифратор адреса запросов прерывания, контроллер, оперативно запоминающее устройство, первую и вторую информационно-управляющие шины, информационную шину, регистр обслуживаемого запроса прерывания, регистр очереди запросов прерывания, информационную линию связи, центральный процессор, регистр передатчика запросов прерывания, регистр передатчика вектора веса запросов прерывания, причем информационные входы регистра запросов прерывания линиями связи соединены с регистром передатчика запросов прерывания, а также с информационными входами шифратора адреса запросов прерывания, выходы которого через первую информационно-управляющую шину соединены с шинами адреса регистра запросов прерывания и регистра вектора веса запросов прерывания, информационные входы последнего линиями связи соединены с регистром передатчика вектора веса запросов прерывания, шина выхода регистра запросов прерывания соединена с входом запроса прерывания контроллера, контроллер через первую информационно-управляющую шину связан с регистром обслуживаемого запроса прерывания, с регистром очереди запросов прерывания, с шинами адреса регистра запросов прерывания и регистра вектора веса запроса прерывания, а также с информационно-управляющими входами регистра передатчика запросов прерывания и регистра передатчика вектора веса запросов прерывания, выходная шина запроса прерывания регистра обслуживаемого запроса прерывания соединена с входом запроса прерывания центрального процессора, который второй информационно-управляющей шиной соединен с оперативно запоминающим устройством и регистром обслуживаемого запроса прерывания, который информационной линией связи соединен с регистром очереди запросов прерывания, шина записи регистра передатчика вектора веса запросов прерывания соединена с входами записи регистра запросов прерывания и регистра вектора веса запросов прерывания, центральный процессор информационной шиной соединен с регистром очереди запросов прерывания.
Введение вектора веса запроса прерывания, образующего с вектором уровня запроса прерывания декартову систему координат, обеспечивает определение запроса прерывания, являющегося действительно приоритетным в любой текущий момент времени технологического процесса.
На фиг.1 представлены получаемые векторы запросов прерывания в декартовой системе координат: ось абсцисс - вес отклонения величины параметра от допустимого значения, ось ординат - вес уровня запроса прерывания.
На фиг. 2 изображена структурная схема многоуровневой системы обработки запросов прерывания.
На фиг.3 изображен формат слова запроса прерывания.
Сущность изобретения заключается в следующем.
Для пояснения сущности рассмотрим ее на примере отработки трех уровней запросов прерывания (3Пр). (см. фиг. 1). По мере важности определим веса уровней запросов прерывания (у).
Например, вес
3Пр0 1 1
3Пр1 1 0
3Пр2 0 1
Величина каждого запроса прерывания характеризуется величиной отклонения параметра от допустимого значения. Причем это отклонение можно задать каким-то диапазоном, характеризующимся условием.
3Пр0 1 1
3Пр1 1 0
3Пр2 0 1
Величина каждого запроса прерывания характеризуется величиной отклонения параметра от допустимого значения. Причем это отклонение можно задать каким-то диапазоном, характеризующимся условием.
Рд<Р<Ркр,
ΔP = Pкр-Pд,
где Р - текущее значение величины параметра,
Рд - допустимое значение параметра,
Ркр - критическое значение параметра,
ΔP - величина отклонения параметра от допустимого значения.
ΔP = Pкр-Pд,
где Р - текущее значение величины параметра,
Рд - допустимое значение параметра,
Ркр - критическое значение параметра,
ΔP - величина отклонения параметра от допустимого значения.
Параметр может быть наделен как физической величиной, так и временным интервалом и т. д. Задают вес величине отклонения каждого параметра от допустимого значения
Для наглядности и упрощения представления разобьем ΔP на 8 уровней. То есть, ΔP будет соответствовать абсолютной величине вектора
Таким образом, получаемый вектор веса прерывания (см. фиг. 1) будет представлен в декартовой системе координат одной из координат которой является вес уровня запросов прерывания (3Пр), другой вес, соответствующий величине отклонения параметра от допустимого значения (ΔP). Причем уровни прерываний можно представить N - мерным пространством. В данном случае мы рассматриваем двухмерное пространство.
Для наглядности и упрощения представления разобьем ΔP на 8 уровней. То есть, ΔP будет соответствовать абсолютной величине вектора
Таким образом, получаемый вектор веса прерывания (см. фиг. 1) будет представлен в декартовой системе координат одной из координат которой является вес уровня запросов прерывания (3Пр), другой вес, соответствующий величине отклонения параметра от допустимого значения (ΔP). Причем уровни прерываний можно представить N - мерным пространством. В данном случае мы рассматриваем двухмерное пространство.
Рассмотрим реализацию данного способа на примере одновременного прихода запросов сразу трех уровней прерывания.
При одновременном приходе трех запросов прерывания (3Пр0, 3Пр1, 3Пр2) система переходит к подпрограмме обработки запроса прерывания, соответствующего более высокому уровню, то есть 3Пр0. По мере ожидания очереди параметры остальных уровней, которые инициировали запрос, продолжают изменяться, причем, градиент их роста может быть различным (см. фиг.1). Допустим, уже первые шаги работы подпрограммы, соответствующей 3Пр0 стабилизировали его параметр, то есть для него стало равным 0 и вес 3Пр0 будет равен только составляющей Так как составляющие для 3Пр1 и 3Пр2 продолжают расти, то веса векторов 3Пр1 и 3Пр2, вычисляемые по формуле (1), также продолжают расти Сканирование запросов происходит постоянно, поэтому прослеживается любое изменение веса векторов прерывания и как следствие изменение очереди обслуживания запросов прерывания. Как только получаемый вес вектора запроса прерывания 3Пр1 или 3Пр2 превысит вес вектора 3Пр0 произойдет прерывание подпрограммы, соответствующей 3Пр0 и система перейдет к обслуживанию подпрограммы, соответствующей более высокому весу вектора уровня прерывания (например, Так как веса векторов уровней прерывания по мере работы подпрограмм постоянно меняются, то будет фактически происходить параллельное выполнение подпрограмм, и ни один из запросов прерывания не останется невостребованным.
Многоуровневая система обработки запросов прерывания (см. фиг. 2) содержит регистр запросов прерывания 1, регистр вектора веса запроса прерывания 2, шифратор адреса запросов прерывания 3, контроллер 4, оперативно запоминающее устройство 5, первую информационно-управляющую шину 6, регистр обслуживаемого запроса прерывания 7, информационную шину 8, регистр очереди запросов прерывания 9, информационную линию связи 10, центральный процессор 11, регистр передатчика запросов прерывания 12, регистр передатчика вектора веса запросов прерывания 13, вторую информационно-управляющую шину 14. Причем информационные входы регистра запросов прерывания 1 линиями связи соединены с регистром передатчика запросов прерывания 12, а также с информационными входами шифратора адреса запросов прерывания 3, выходы которого через первую информационно-управляющую шину 6 соединены с шинами адреса регистра запросов прерывания 1 и регистра вектора веса запросов прерывания 2. Информационные входы регистра вектора веса запросов прерывания 2 линиями связи соединены с регистром передатчика вектора веса запросов прерывания 13. Шина выхода регистра запросов прерывания 1 соединена с входом запроса прерывания контроллера 4, который через первую информационно-управляющую шину 6 связан с регистром обслуживаемого запроса прерывания 7, с регистром очереди запросов прерывания 9, с шинами адреса регистра запросов прерывания 1 и регистра вектора веса запроса прерывания 2, а также с информационно-управляющими входами регистра передатчика запросов прерывания 12 и регистра передатчика вектора веса запросов прерывания 13. Выходная шина запроса прерывания регистра обслуживаемого запроса прерывания 7 соединена с входом запроса прерывания центрального процессора 11, который второй информационно-управляющей шиной 14 соединен с оперативно запоминающим устройством 5 и регистром обслуживаемого запроса прерывания 7. Регистр обслуживаемого запроса прерывания 7 информационной линией связи 10 соединен с регистром очереди запросов прерывания 9. Шина записи регистра передатчика вектора веса запросов прерывания 13 соединена с входами записи регистра запросов прерывания 1 и регистра вектора веса запросов прерывания 2. Центральный процессор 11 информационной шиной соединен с регистром очереди запросов прерывания 9.
Многоуровневая система обработки запросов прерывания работает следующим образом. Контроллер 4 по информационно-управляющей шине 6 циклически опрашивает регистр передатчика вектора веса прерываний 13 по каждому уровню запроса прерываний и при этом инициализирует шину записи регистра передатчика вектора веса запросов прерывания 13. При этом сигнал шины записи регистра передатчика вектора веса запросов прерывания 13 поступает на регистр запроса прерывания 1 и регистр вектора веса прерывания 2. По адресу, устанавливаемому шифратором адреса запросов прерывания 3, информация с регистров передатчика 12 и 13 переписывается в регистры 1 и 2. Если опрашиваемый запрос прерывания присутствует, то сигнал запроса прерывания, синхронизируемый сигналом записи регистра передатчика 13, из регистра запроса прерывания 1 поступает на шину запроса прерывания контроллера 4. Контроллер 4 прерывает программу опроса запросов прерывания регистров 12 и 13 передатчика, инициализируя адрес поступившего запроса прерывания по информационно-управляющей шине 6, считывает с регистра вектора веса прерывания 2 записанную информацию о весе вектора запроса прерывания, образующую с вектором веса уровня запроса прерывания декартову систему координат (см. фиг.1). Контроллер 4 по формуле
где вектор веса отклонения величины параметра от допустимого значения,
вектор уровня запроса прерывания,
вычисляет абсолютную величину вектора веса запроса прерывания. Далее контроллер 4, опрашивая регистр очереди запросов прерывания 9 и регистр обслуживаемого запроса прерывания 7, определяет наличие данного уровня прерывания, стоящего в очереди на обслуживание. Формат слова запроса прерывания, записанного в регистре обслуживаемого запроса прерывания 7 или регистре очереди запросов прерывания 9, представлен на фиг.3. Разряд А0 представляет флаг запроса прерывания ("1" - запрос прерывания присутствует, "0" - запрос прерывания отсутствует). Разряды A1. ..Ак представляют вес вектора уровня прерывания Разряды Ак+1...Аm отведены под вычисленную абсолютную величину вектора веса запроса прерывания Регистр очереди запросов прерывания 9 и регистр обслуживаемого запроса прерывания 7 представляют собой n-разрядный сдвиговый регистр, где n отражает глубину запросов прерывания. Наличие данного уровня прерывания, стоящего в очереди, определяется по разрядам A1... Ак.
где вектор веса отклонения величины параметра от допустимого значения,
вектор уровня запроса прерывания,
вычисляет абсолютную величину вектора веса запроса прерывания. Далее контроллер 4, опрашивая регистр очереди запросов прерывания 9 и регистр обслуживаемого запроса прерывания 7, определяет наличие данного уровня прерывания, стоящего в очереди на обслуживание. Формат слова запроса прерывания, записанного в регистре обслуживаемого запроса прерывания 7 или регистре очереди запросов прерывания 9, представлен на фиг.3. Разряд А0 представляет флаг запроса прерывания ("1" - запрос прерывания присутствует, "0" - запрос прерывания отсутствует). Разряды A1. ..Ак представляют вес вектора уровня прерывания Разряды Ак+1...Аm отведены под вычисленную абсолютную величину вектора веса запроса прерывания Регистр очереди запросов прерывания 9 и регистр обслуживаемого запроса прерывания 7 представляют собой n-разрядный сдвиговый регистр, где n отражает глубину запросов прерывания. Наличие данного уровня прерывания, стоящего в очереди, определяется по разрядам A1... Ак.
Если опрашиваемый уровень прерывания уже присутствует в очереди, то данный уровень изымается из очереди, при этом очередь запросов прерывания, стоящих за данным уровнем, передвигается на единицу вверх до адреса изъятого уровня. Если изъятый уровень находился в регистре очереди запросов прерывания 9, то регистр запросов прерывания 9 подготавливается при перезаписи опрашиваемого уровня для сдвига вниз очереди, если изъятый уровень находился в обслуживаемом регистре запросов прерывания 7, то регистр очереди запросов прерывания 9 подготавливается для сдвига всей очереди вверх. После вычисления абсолютной величины вектора запроса прерывания контроллер 4 сравнивает вычисленную величину с абсолютными величинами векторов запросов прерывания, стоящих в очереди. И тем самым определяется место в очереди на обслуживание запросов прерывания опрашиваемого запроса. Если запрос прерывания исключен из обслуживаемого регистра запросов прерывания 7 и опрашиваемый запрос прерывания по абсолютной величине вектора прерывания превосходит все существующие запросы, стоящие в очереди, то происходит перезапись абсолютной величины вектора запросов прерывания и центральный процессор 11 продолжает выполнение подпрограммы данного запроса, при этом флаг запроса прерывания не поступает на шину запроса центрального процессора 11. Если абсолютная величина вычисленного вектора запроса прерывания меньше некоторых существующих запросов прерывания, то определяется его место в очереди и абсолютная величина опрашиваемого запроса ставится в очередь за последним запросом прерывания, имеющим больше его абсолютную величину вектора прерывания. При этом запись информации по этому адресу сопровождается сдвигом всей вышестоящей очереди вверх, оставляя нижестоящую очередь на прежнем месте. При сдвиге вверх первая очередь регистра очереди запросов прерывания 9 по информационной шине 10 поступает в регистр обслуживаемого запроса прерывания 7, при этом флаг запроса прерывания А0 /см. фиг.3/ поступает на шину запроса прерывания центрального процессора 11. Центральный процессор 11 по весу вектора уровня прерывания A1...Ак определяет уровень запроса прерывания, а следовательно, и адрес подпрограммы, обслуживающей данный уровень, и начинает ее выполнение. Если запрос прерывания исключен из регистра очереди запросов прерывания 9, то определяется место в очереди опрашиваемого запроса прерывания по абсолютной величине вектора запроса прерывания, при этом регистры обслуживаемого запроса прерывания 7 и очереди запросов прерывания 9 подготавливаются контроллером 4 для сдвига всей информации вниз. Если определяемая очередь запросов прерывания опрашиваемого запроса находится в регистре очереди запросов прерывания 9, то очередь сдвигается вниз с ячейки, в которую записывается абсолютная величина вычисленного вектора опрашиваемого запроса прерывания. Если абсолютная величина вычисленного вектора опрашиваемого запроса по абсолютной величине превосходит все абсолютные величины векторов запросов, стоящих в очереди, и обслуживаемого запроса, то вычисленная абсолютная величина вектора запроса прерывания записывается в регистр обслуживаемого запроса прерывания 7. При этом вся информация, включая и информацию в обслуживаемом регистре запросов прерывания 7 по информационной шине 10, сдвигается вниз, а на шину запроса прерывания центрального процессора 11 поступает запрос прерывания опрашиваемого запроса. Обслуживаемая подпрограмма прерывается, стековая память, отведенная для данного запроса прерывания, заполняется информацией о прерванной подпрограмме, а центральный процессор 11 переходит к выполнению подпрограммы поступившего запроса. При этом устанавливается флаг данного запроса прерывания, который сигнализирует, что данная подпрограмма выполнялась. Центральный процессор 11 перед выполнением подпрограммы сначала анализирует состояние флага подпрограммы поступившего запроса прерывания. Если флаг сброшен, то центральный процессор 11 начинает выполнение подпрограммы с начального адреса. Если флаг установлен, это означает, что подпрограмма была прервана и центральный процессор 11 из отведенной стековой памяти для данного уровня прерывания извлекает информацию, восстанавливает прерванную подпрограмму и продолжает ее выполнение. По завершении выполнения подпрограммы центральный процессор 11 сбрасывает флаг данного уровня прерывания и по информационной шине 8 сдвигает на один уровень вверх всю информацию путем посылки нулевой информации в последнюю ячейку регистра очереди запросов прерывания 9. Таким образом, второй запрос прерывания, стоящий в очереди, поступает в регистр обслуживаемого запроса прерывания 7 и центральный процессор 11 начинает его обслуживание. Так как в процессе работы системы вектор веса отклонения величины параметра от допустимого значения меняется, то меняется и вычисляемая абсолютная величина вектора запроса прерывания, а следовательно, происходит постоянное обновление очереди запросов прерывания. Причем, в регистре обслуживаемого запроса прерывания 7 всегда находится запрос прерывания, действительно обладающий высшим приоритетом.
Таким образом, заявляемые способ и устройство многоуровневой системы обработки запросов прерывания по сравнению с устройством аналогичного назначения (прототип) позволяют в реальном масштабе времени определить действительные приоритеты уровней прерывания и расставить их в очереди по важности запросов. И обслуживание уровней запросов прерывания всегда будет производиться только действительно соответствующих высшему приоритету.
Источники информации
1. Каган Б.М. Электронные вычислительные машины и системы, М., "Энергия", 1979 г., с. 291.
1. Каган Б.М. Электронные вычислительные машины и системы, М., "Энергия", 1979 г., с. 291.
2. Секушин Е.В., Осипенко В.И., Копыл П.А. Универсальный программируемый контроллер прерываний, "Микропроцессорные средства и системы", 1989 г., 1, с. 7.
3. Патент РФ 2035065, МКИ G 06 F 9/46, 1995 - "Устройство пакетной обработки запросов".
Claims (2)
1. Способ многоуровневой обработки запросов прерываний, заключающийся в установлении приоритетов уровней запросов прерывания, характеризующихся заданным весом, и порядка обслуживания запросов прерывания, отличающийся тем, что для каждого параметра, определяющего запрос прерывания, задают вес величины отклонения параметра от его допустимого значения, а приоритет уровней запроса прерывания определяют по абсолютной величине вектора, рассчитанной по формуле где вектор веса отклонения величины параметра, инициирующего запрос прерывания, от допустимого значения, вектор веса уровня запроса прерывания, при этом порядок обслуживания запросов прерывания устанавливают по максимальной абсолютной величине вектора запроса прерывания, получаемой в реальном масштабе времени.
2. Многоуровневая система обработки запросов прерывания, содержащая регистр запросов прерывания, отличающаяся тем, что в нее введены регистр вектора веса запроса прерывания, шифратор адреса запросов прерывания, контроллер, оперативно запоминающее устройство, первая и вторая информационно-управляющие шины, информационная шина, регистр обслуживаемого запроса прерывания, регистр очереди запросов прерывания, информационная линия связи, центральный процессор, регистр передатчика запросов прерывания, регистр передатчика вектора веса запросов прерывания, причем информационные входы регистра запросов прерывания соединены с регистром передатчика запросов прерывания, а также с информационными входами шифратора адреса запросов прерывания, выходы которого через первую информационно-управляющую шину соединены с шинами адреса регистра запросов прерывания и регистра вектора веса запросов прерывания, информационные входы которого соединены с регистром передатчика вектора веса запросов прерывания, шина выхода регистра запросов прерывания соединена с входом запроса прерывания контроллера, который через первую информационно-управляющую шину связан с регистром обслуживаемого запроса прерывания, с регистром очереди запросов прерывания, с шинами адреса регистра запросов прерывания и регистра вектора веса запроса прерывания, а также с информационно-управляющими входами регистра передатчика запросов прерывания и регистра передатчика вектора веса запросов прерывания, выходная шина запроса прерывания регистра обслуживаемого запроса прерывания соединена с входом запроса прерывания центрального процессора, который информационно-управляющей шиной соединен с оперативно запоминающим устройством и регистром обслуживаемого запроса прерывания, который информационной линией связи соединен с регистром очереди запросов прерывания, шина записи регистра передатчика вектора веса запросов прерывания соединена с входами записи регистра запросов прерывания и регистра вектора веса запросов прерывания, центральный процессор информационной шиной соединен с регистром очереди запросов прерывания.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2001102732A RU2195013C2 (ru) | 2001-02-01 | 2001-02-01 | Способ многоуровневой обработки запросов прерывания и многоуровневая система для его осуществления |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2001102732A RU2195013C2 (ru) | 2001-02-01 | 2001-02-01 | Способ многоуровневой обработки запросов прерывания и многоуровневая система для его осуществления |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2195013C2 true RU2195013C2 (ru) | 2002-12-20 |
Family
ID=20245412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2001102732A RU2195013C2 (ru) | 2001-02-01 | 2001-02-01 | Способ многоуровневой обработки запросов прерывания и многоуровневая система для его осуществления |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2195013C2 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2546561C2 (ru) * | 2010-06-23 | 2015-04-10 | Интернэшнл Бизнес Машинз Корпорейшн | Преобразование инициируемого сообщениями прерывания в уведомление о генерированном адаптером ввода-вывода событии |
-
2001
- 2001-02-01 RU RU2001102732A patent/RU2195013C2/ru not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2546561C2 (ru) * | 2010-06-23 | 2015-04-10 | Интернэшнл Бизнес Машинз Корпорейшн | Преобразование инициируемого сообщениями прерывания в уведомление о генерированном адаптером ввода-вывода событии |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0730230A3 (en) | Method and apparatus for prioritizing and handling errors in a computer system | |
US7681196B2 (en) | Providing optimal number of threads to applications performing multi-tasking using threads | |
CN110764898A (zh) | 一种任务分配方法、装置、可读存储介质及终端设备 | |
CN114513545B (zh) | 请求处理方法、装置、设备及介质 | |
CN111897660B (zh) | 模型部署方法、模型部署装置及终端设备 | |
RU2195013C2 (ru) | Способ многоуровневой обработки запросов прерывания и многоуровневая система для его осуществления | |
CN117076353B (zh) | 描述符的配置方法和描述符的配置装置 | |
US20140082228A1 (en) | Remotely located timing method and device for a processing unit in an information processing system | |
WO2004114132A1 (ja) | 割り込み制御方法、割り込み制御装置及び割り込み制御プログラム | |
US5345579A (en) | Approximate MVA solution system and method for user classes with a known throughput rate | |
US5093781A (en) | Cellular network assignment processor using minimum/maximum convergence technique | |
CN115238837A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN115344370A (zh) | 任务调度方法、装置、设备及存储介质 | |
US6122700A (en) | Apparatus and method for reducing interrupt density in computer systems by storing one or more interrupt events received at a first device in a memory and issuing an interrupt upon occurrence of a first predefined event | |
CN115499513A (zh) | 数据请求的处理方法、装置、计算机设备和存储介质 | |
CN111002348B (zh) | 机器人性能测试方法、机器人及计算机可读存储介质 | |
CN111177106B (zh) | 一种分布式数据计算***及方法 | |
CN114138626A (zh) | 用于自动化固件测试的水平可扩展分布式***及其方法 | |
CA1167986A (en) | Communication multiplexer sharing a free running timer among multiple communication lines | |
RU2801737C1 (ru) | Способ и устройство организации памяти сетевого оборудования для управления его очередями | |
Fruit et al. | Simulation of multiproduct batch chemical processes | |
CN112650687B (zh) | 引擎调度动作执行优先级的测试方法、装置、设备及介质 | |
CN116719628B (zh) | 一种并发任务抢占式调度方法、***及介质 | |
US11192662B2 (en) | Aircraft integrated modular avionics inter-partition communications simulation modeling language extension | |
CA1169157A (en) | Communication multiplexer having an apparatus for establishing a single line priority |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20140202 |