RU2195013C2 - Method and multilayer system for multilayer processing of interrupt request - Google Patents
Method and multilayer system for multilayer processing of interrupt request 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
Description
Изобретение относится к вычислительной технике и может быть использовано в различных автоматизированных системах управления технологическими процессами (АСУТП), в системах автоматизации научными экспериментами (САНЭ), а также при разработке новых перспективных процессоров для вычислительной техники. The invention relates to computer technology and can be used in various automated process control systems (APCS), in scientific experiment automation systems (SANE), as well as in the development of new promising processors for computer technology.
При проведении работ, носящих экспериментальный характер, в частности, при отработке изделий и узлов ракетно-космической техники (РКТ), в том числе и в условиях имитации реальной окружающей среды использования, стоят задачи управления объектом испытания, технологическим оборудованием, имитацией среды использования и т. д. Особенность таких проводимых работ заключается в использовании многообразия технологических систем, задействованных в реализации экспериментальных работ, тесно взаимосвязанных между собой в едином технологическом цикле. Кроме того, работы носят пожаро- и взрывоопасный характер и характеризуются возможностью возникновения аварийных ситуаций. In carrying out work of an experimental nature, in particular, when developing products and components of rocket and space technology (RCT), including in conditions of simulating a real environment of use, the tasks are to control the test object, technological equipment, simulate the environment of use, etc. e. A feature of such ongoing work is the use of a variety of technological systems involved in the implementation of experimental work, closely interconnected in a single technological center. ikle. In addition, the work is fire and explosive in nature and is characterized by the possibility of emergency situations.
Автоматизированная система управления для выполнения таких работ, как правило, состоит из ряда подсистем, выполняющих определенные функции и также взаимодействующих как между собой, так и с объектами управления. Из-за возможности возникновения аварийных ситуаций со стороны АСУТП должно быть предусмотрено принятие мер по их предотвращению и ликвидации. Все вышеперечисленное накладывает определенные требования к организации взаимодействия подсистем АСУТП. Взаимодействие подсистем реализовано как на программном уровне, так и по запросам прерывания. Причем число уровней прерывания, приходящихся на одну подсистему, достигает нескольких десятков. Сложность при такой организации взаимодействия заключается в расстановке приоритетов запросов прерывания, так как в некоторых случаях для одного эксперимента низкоприоритетные запросы прерывания становятся более важными, чем запросы с более высоким приоритетом, а для других наоборот. А при возникновении аварийных ситуаций, когда важность запросов прерывания может изменяться в процессе ликвидации аварийной ситуации по несколько раз, существует вероятность того, что система управления может быть занята подпрограммой с более высоким назначенным рейтингом запроса прерывания, а на самом деле должна заняться подпрограммой, имеющей более низкий рейтинг и являющейся в данный момент более важной. Это может привести к серьезным последствиям и даже к взрыву. An automated control system for performing such work, as a rule, consists of a number of subsystems that perform certain functions and also interact with each other and with control objects. Due to the possibility of emergencies on the part of the process control system, measures should be taken to prevent and eliminate them. All of the above imposes certain requirements on the organization of interaction between the process control subsystems. The interaction of the subsystems is implemented both at the program level and upon interrupt requests. Moreover, the number of interruption levels per subsystem reaches several tens. The difficulty with this organization of interaction is the prioritization of interrupt requests, since in some cases low priority interrupt requests become more important for one experiment than higher priority requests, and vice versa for others. And in case of emergencies, when the importance of interrupt requests can change several times during the emergency response, there is a possibility that the control system may be occupied by a subroutine with a higher assigned interrupt request rating, but in fact it should take up a subroutine that has more low rating and currently more important. This can lead to serious consequences and even explosion.
Таким образом, разрешение проблемы организации многоуровневой обработки запросов прерывания является актуальной задачей. Thus, solving the problem of organizing multilevel processing of interrupt requests is an urgent task.
Известен способ многоуровневой обработки запросов прерывания [1], где установлена очередность обработки запросов прерывания, поступивших одновременно от различных уровней, то есть старшинство (степень срочности) в выполнении прерывающих программ разных уровней. Иначе говоря, запросы прерывания, имеющие более высокий приоритет, имеют право прервать выполняемую подпрограмму с более низким приоритетом и начать выполнение подпрограммы с более высоким приоритетом. Но, как было уже сказано выше, степень важности программ различных уровней в ходе проведения технологического процесса может меняться, и использование данного способа организации обработки прерываний при проведении экспериментальных работ может привести к серьезным последствиям. То есть, возникает необходимость иметь возможность изменять приоритетные отношения. There is a method of multilevel processing of interrupt requests [1], where the priority is set for processing interrupt requests received simultaneously from different levels, that is, seniority (degree of urgency) in the execution of interrupt programs of different levels. In other words, interrupt requests with a higher priority have the right to interrupt an executing subroutine with a lower priority and start executing a subroutine with a higher priority. But, as mentioned above, the degree of importance of programs at various levels during the process can change, and the use of this method of organizing the processing of interruptions during experimental work can lead to serious consequences. That is, there is a need to be able to change priority relationships.
Известно устройство многоуровневой обработки запросов прерывания [2], реализующее данный способ, выполненное на базе БИС КР1818ВН19. В данном устройстве фиксированный приоритет входов запросов прерывания обусловлен их физическим местоположением в интерфейсе кристалла микросхемы. При этом вход IRQ0 обладает самым высоким, а IRQ7 - самым низким приоритетом. Данные способ и устройство не позволяют определять приоритет, являющийся определяющим в реальном масштабе времени в ходе проведения экспериментальных работ. A device for multi-level processing of interrupt requests [2], which implements this method, is based on the LSI KR1818VN19. In this device, the fixed priority of interrupt request inputs is determined by their physical location in the chip interface of the chip. In this case, the input IRQ0 has the highest, and IRQ7 - the lowest priority. These method and device do not allow to determine the priority, which is determining in real time during the experimental work.
Наиболее близким по технической сущности к заявляемому изобретению является способ многоуровневой обработки запросов прерывания, заключающийся в установлении приоритетов уровней запросов прерывания, характеризующихся заданным весом, и порядка обслуживания запросов прерывания [3], реализующий пакетную обработку запросов прерывания. В данном способе реализовано сокращение времени пребывания в очереди низкоприоритетных уровней запросов прерывания за счет возможности задания ограничения на время обслуживания пакета запросов. Внутри пакета запросы обслуживаются в соответствии с заданными относительными приоритетами. Так как время на обслуживание пакета ограничено, то система по окончании времени обслуживания прерывания переходит к следующему пакету обслуживания прерываний, где также зафиксирована группа заявок на обслуживание прерываний, распределенных по приоритетам. Таким образом, данный способ обработки многоуровневых запросов прерываний существенно сокращает время обработки низкоуровневых запросов. Это позволяет при возникновении определенных условий, сложившихся в технологическом процессе, "не забыть" ни один из уровней запросов прерываний, поступивших на вход системы. Closest to the technical nature of the claimed invention is a method for multilevel processing of interrupt requests, which consists in setting priorities for interrupt request levels characterized by a given weight, and the interrupt request service order [3], which implements batch processing of interrupt requests. This method implements a reduction in the queue time of low priority levels of interrupt requests due to the possibility of setting a limit on the service time of the request packet. Inside the packet, requests are served according to specified relative priorities. Since the time for servicing the packet is limited, at the end of the interrupt servicing time, the system proceeds to the next interrupt servicing packet, where a group of interrupt servicing requests is also assigned by priority. Thus, this method of processing multi-level interrupt requests significantly reduces the processing time of low-level requests. This allows you to "forget" not one of the levels of interrupt requests received at the input of the system when certain conditions prevailing in the process occur.
Известно устройство многоуровневой обработки прерываний [3], реализующее пакетный режим обслуживания запросов. Устройство содержит группу регистров заявок, группу из n-регистров приоритета, группу из n-схем сравнения, счетчики, группы из элементов ИЛИ, схему сравнения, триггер режима, делитель частоты, генератор тактовых импульсов, соединенных между собой межэлементными связями. A device for multi-level interrupt handling [3], which implements a batch mode of service requests. The device contains a group of application registers, a group of n-priority registers, a group of n-comparison circuits, counters, groups of OR elements, a comparison circuit, a mode trigger, a frequency divider, a clock generator, interconnected by inter-element connections.
Однако данные способ и устройство многоуровневой обработки прерываний имеют ряд существенных недостатков. Например, при возникновении аварийной ситуации в технологическом процессе происходит отработка подпрограммы по выходу из нее и предотвращению последствий от ее возникновения, а в это время из-за отведенного лимита времени система переходит к обработке прерываний следующего пакета. Или система обрабатывает очередной пакет прерываний, а в это время поступает запрос прерывания, который формируется в следующем пакете, но по важности выполнения имеет первостепенное значение, а обслуживаться данный уровень прерывания может только тогда, когда система перейдет к следующему пакету. То есть происходит временная задержка, что не допустимо при развитии аварийной ситуации. However, these method and apparatus for multi-level interrupt processing have a number of significant disadvantages. For example, in the event of an emergency in the technological process, a subprogram is worked out to exit it and prevent the consequences from its occurrence, and at this time, due to the allotted time limit, the system proceeds to process interruptions of the next packet. Or, the system processes the next interrupt packet, and at this time an interrupt request arrives, which is formed in the next packet, but it is of paramount importance for execution, and this interrupt level can only be serviced when the system moves to the next packet. That is, a temporary delay occurs, which is not permissible in case of an emergency.
Таким образом, недостатки данного способа и устройства ограничивают их применение в САНЭ. Все вышеперечисленные способы обработки прерываний характеризуются заранее наделенными приоритетами прерываний, что не позволяет системе выявить действительно важную задачу в определенный момент времени технологического процесса. Thus, the disadvantages of this method and device limit their use in SANE. All of the above methods for processing interrupts are characterized by pre-allocated interrupt priorities, which does not allow the system to identify a really important task at a certain point in time of the technological process.
Техническая задача, решаемая изобретением, заключается в возможности определения приоритетной задачи в реальном масштабе времени технологического процесса. The technical problem solved by the invention is the ability to determine the priority task in real time of the technological process.
Поставленная цель достигается тем, что в способе многоуровневой обработки запросов прерываний, заключающемся в установлении приоритетов уровней запросов прерывания, характеризующихся заданным весом, и порядка обслуживания запросов прерывания, согласно изобретению, для каждого параметра, определяющего запрос прерывания, задают вес величины отклонения параметра от его допустимого значения, а приоритет уровней запроса прерывания определяют по абсолютной величине вектора, рассчитанной по формуле где вектор веса отклонения величины параметра, инициирующего запрос прерывания, от допустимого значения, вектор веса уровня запроса прерывания, при этом порядок обслуживания запросов прерывания устанавливают по максимальной абсолютной величине вектора запроса прерывания, получаемой в реальном масштабе времени.This goal is achieved by the fact that in the method of multilevel processing of interrupt requests, which consists in setting the priorities of the levels of interrupt requests, characterized by a given weight, and the order of servicing interrupt requests, according to the invention, for each parameter defining the interrupt request, the weight of the deviation parameter from its permissible value is set values, and the priority of interrupt request levels is determined by the absolute value of the vector calculated by the formula Where the weight vector of the deviation of the value of the parameter initiating the interrupt request from the permissible value, the weight vector of the interrupt request level, while the interrupt request service order is set according to the maximum absolute value of the interrupt request vector received in real time.
Таким образом, ось ординат представлена весом уровней запросов прерывания, а ось абсцисс весом величины отклонения параметра от его допустимого значения. Приоритет уровня прерывания определяется в ходе технологического процесса по абсолютной величине веса получаемого вектора равного
где вектор веса отклонения величины параметра от допустимого значения,
вектор веса уровня запроса прерывания.Thus, the ordinate axis is represented by the weight of the interrupt request levels, and the abscissa axis by the weight of the deviation of the parameter from its permissible value. The priority of the interrupt level is determined during the process by the absolute value of the weight of the resulting vector of equal
Where the weight vector of the deviation of the parameter value from the permissible value,
interrupt request level weight vector.
Происходит постоянное сканирование уровней прерывания, определяется абсолютная величина веса вектора прерывания, сравнение полученной величины с другими получаемыми величинами векторов прерывания, постановка запроса данного уровня прерывания в очередь по возрастающей величине абсолютных значений векторов уровней прерывания. Наивысшим приоритетом наделяется запрос прерывания, имеющий большую абсолютную величину вычисленного вектора. Если вес вычисленного вектора запроса прерывания превышает веса всех уровней запросов прерывания, стоящих в очереди, а также вес обслуживаемого уровня, то происходит прерывание подпрограммы, обслуживающей запрос прерывания, и переход на подпрограмму данного уровня. The interrupt levels are constantly scanned, the absolute value of the weight of the interrupt vector is determined, the obtained value is compared with other obtained values of the interrupt vectors, and the request for this interrupt level is queued in line with the increasing value of the absolute values of the interrupt level vectors. The highest priority is given to the interrupt request, which has a large absolute value of the calculated vector. If the weight of the computed interrupt request vector exceeds the weight of all levels of interrupt requests in the queue, as well as the weight of the serviced level, then the interrupt routine serving the interrupt request is interrupted and the routine switches to that routine.
Именно заявленный способ определения веса вектора уровней прерывания в ходе технологического процесса позволяет в реальном масштабе времени определить действительные приоритеты уровней запросов прерывания и расставить их в очереди. Таким образом, обслуживание уровней запросов прерывания всегда будет производиться только действительно соответствующих высшему приоритету. It is the claimed method for determining the weight of the vector of interruption levels during the technological process that allows real-time determination of the actual priorities of the levels of interruption requests and queuing them. Thus, service levels of interrupt requests will always be performed only truly corresponding to the highest priority.
Поставленная цель достигается также тем, что в многоуровневую систему обработки запросов прерывания, содержащую регистр запросов прерывания, согласно изобретению, введены регистр вектора веса запроса прерывания, шифратор адреса запросов прерывания, контроллер, оперативно запоминающее устройство, первую и вторую информационно-управляющие шины, информационную шину, регистр обслуживаемого запроса прерывания, регистр очереди запросов прерывания, информационную линию связи, центральный процессор, регистр передатчика запросов прерывания, регистр передатчика вектора веса запросов прерывания, причем информационные входы регистра запросов прерывания линиями связи соединены с регистром передатчика запросов прерывания, а также с информационными входами шифратора адреса запросов прерывания, выходы которого через первую информационно-управляющую шину соединены с шинами адреса регистра запросов прерывания и регистра вектора веса запросов прерывания, информационные входы последнего линиями связи соединены с регистром передатчика вектора веса запросов прерывания, шина выхода регистра запросов прерывания соединена с входом запроса прерывания контроллера, контроллер через первую информационно-управляющую шину связан с регистром обслуживаемого запроса прерывания, с регистром очереди запросов прерывания, с шинами адреса регистра запросов прерывания и регистра вектора веса запроса прерывания, а также с информационно-управляющими входами регистра передатчика запросов прерывания и регистра передатчика вектора веса запросов прерывания, выходная шина запроса прерывания регистра обслуживаемого запроса прерывания соединена с входом запроса прерывания центрального процессора, который второй информационно-управляющей шиной соединен с оперативно запоминающим устройством и регистром обслуживаемого запроса прерывания, который информационной линией связи соединен с регистром очереди запросов прерывания, шина записи регистра передатчика вектора веса запросов прерывания соединена с входами записи регистра запросов прерывания и регистра вектора веса запросов прерывания, центральный процессор информационной шиной соединен с регистром очереди запросов прерывания. This goal is also achieved by the fact that in the multi-level interrupt request processing system containing the interrupt request register, according to the invention, an interrupt request weight vector register, an interrupt request address encoder, a controller, a random access memory, the first and second information control buses, an information bus are introduced , the register of the serviced interrupt request, the register of the interrupt request queue, the information line of communication, the central processor, the register of the interrupt request transmitter I, the transmitter register of the interrupt request weight vector, and the information inputs of the interrupt request register are connected by communication lines to the register of the interrupt request transmitter, as well as the information inputs of the interrupt request address encoder, whose outputs are connected to the address register bus of the interrupt request via the first information-control bus and register of the weight vector of interrupt requests, the information inputs of the latter are connected by communication lines to the register of the transmitter of the weight vector of interrupt requests, the bus to the output of the interrupt request register is connected to the controller interrupt request input, the controller is connected through the first information-control bus to the register of the interrupt request served, to the register of the interrupt request queue, to the address bus of the interrupt request register and the register of the interrupt request weight vector, as well as to the information-control the inputs of the register of the interrupt request transmitter and the transmitter register of the interrupt request weight vector, the output bus of the interrupt request register of the serviced request the interrupt is connected to the input of the interrupt request of the central processor, which is connected by a second information-control bus to the RAM and the register of the interrupt request served, which is connected by an information line to the register of the interrupt request queue, the write bus of the transmitter register of the interrupt request weight vector is connected to the register entries interrupt requests and register of the interrupt request weight vector, the central processor is connected to the register o by the information bus Before the interrupt requests.
Введение вектора веса запроса прерывания, образующего с вектором уровня запроса прерывания декартову систему координат, обеспечивает определение запроса прерывания, являющегося действительно приоритетным в любой текущий момент времени технологического процесса. The introduction of the weight vector of the interrupt request, which forms the Cartesian coordinate system with the vector of the interrupt request level, provides the definition of the interrupt request, which is really a priority at any current time of the technological process.
На фиг.1 представлены получаемые векторы запросов прерывания в декартовой системе координат: ось абсцисс - вес отклонения величины параметра от допустимого значения, ось ординат - вес уровня запроса прерывания. Figure 1 shows the resulting interrupt request vectors in a Cartesian coordinate system: the abscissa axis is the weight of the deviation of the parameter value from the permissible value, the ordinate axis is the weight of the interrupt request level.
На фиг. 2 изображена структурная схема многоуровневой системы обработки запросов прерывания. In FIG. 2 shows a block diagram of a multi-level interrupt request processing system.
На фиг.3 изображен формат слова запроса прерывания. Figure 3 shows the interrupt request word format.
Сущность изобретения заключается в следующем. The invention consists in the following.
Для пояснения сущности рассмотрим ее на примере отработки трех уровней запросов прерывания (3Пр). (см. фиг. 1). По мере важности определим веса уровней запросов прерывания (у). To clarify the essence, consider it using the example of working out three levels of interrupt requests (3Pr). (see Fig. 1). In order of importance, we determine the weights of the interrupt request levels (y).
Например, вес
3Пр0 1 1
3Пр1 1 0
3Пр2 0 1
Величина каждого запроса прерывания характеризуется величиной отклонения параметра от допустимого значения. Причем это отклонение можно задать каким-то диапазоном, характеризующимся условием.For example, weight
3Pr2 0 1
The value of each interrupt request is characterized by the deviation of the parameter from the allowable value. Moreover, this deviation can be set by some range characterized by a condition.
Рд<Р<Ркр,
ΔP = Pкр-Pд,
где Р - текущее значение величины параметра,
Рд - допустимое значение параметра,
Ркр - критическое значение параметра,
ΔP - величина отклонения параметра от допустимого значения.Rd <P <Pkr,
ΔP = P cr -P d
where P is the current value of the parameter value,
Rd - valid parameter value,
Pkr is the critical value of the parameter,
ΔP is the deviation of the parameter from the allowable value.
Параметр может быть наделен как физической величиной, так и временным интервалом и т. д. Задают вес величине отклонения каждого параметра от допустимого значения
Для наглядности и упрощения представления разобьем ΔP на 8 уровней. То есть, ΔP будет соответствовать абсолютной величине вектора
Таким образом, получаемый вектор веса прерывания (см. фиг. 1) будет представлен в декартовой системе координат одной из координат которой является вес уровня запросов прерывания (3Пр), другой вес, соответствующий величине отклонения параметра от допустимого значения (ΔP). Причем уровни прерываний можно представить N - мерным пространством. В данном случае мы рассматриваем двухмерное пространство.The parameter can be endowed with both a physical quantity and a time interval, etc. The weight is set for the deviation of each parameter from the permissible value
For clarity and simplification of representation, we divide ΔP into 8 levels. That is, ΔP will correspond to the absolute value of the vector
Thus, the resulting interrupt weight vector (see Fig. 1) will be represented in the Cartesian coordinate system one of whose coordinates is the weight of the interrupt request level (3Pr), another weight corresponding to the deviation of the parameter from the permissible value (ΔP). Moreover, the interrupt levels can be represented by an N - dimensional space. In this case, we are considering a two-dimensional space.
Рассмотрим реализацию данного способа на примере одновременного прихода запросов сразу трех уровней прерывания. Consider the implementation of this method by the example of simultaneous arrival of requests of three levels of interruption at once.
При одновременном приходе трех запросов прерывания (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 и система перейдет к обслуживанию подпрограммы, соответствующей более высокому весу вектора уровня прерывания (например, Так как веса векторов уровней прерывания по мере работы подпрограмм постоянно меняются, то будет фактически происходить параллельное выполнение подпрограмм, и ни один из запросов прерывания не останется невостребованным.With the simultaneous arrival of three interrupt requests (3Pr0, 3Pr1, 3Pr2), the system moves to the interrupt request processing routine corresponding to a higher level, that is, 3Pr0. As the queue waits, the parameters of the remaining levels that initiated the request continue to change, moreover, their growth gradient may be different (see Fig. 1). Suppose that already the first steps of the subprogram corresponding to 3Pr0 stabilized its parameter, i.e. for it became equal to 0 and the weight of 3Pr0 will be equal only to the component Since the components for 3Pr1 and 3Pr2 continue to grow, then the weights of the vectors 3Pr1 and 3Pr2 calculated by formula (1) also continue to grow Requests are scanned continuously, so any change in the weight of interrupt vectors can be traced, and as a result, a change in the queue for servicing interrupt requests. As soon as the received weight of the 3Pr1 or 3Pr2 interrupt request vector exceeds the weight of the 3Pr0 vector, the subroutine corresponding to 3Pr0 will be interrupted and the system will go on to service the subprogram corresponding to the higher weight of the interruption level vector (for example, Since the weights of the vectors of interrupt levels are constantly changing as subprograms work, subroutines will actually be executed in parallel, and none of the interrupt requests will remain unclaimed.
Многоуровневая система обработки запросов прерывания (см. фиг. 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. The multi-level interrupt request processing system (see Fig. 2) contains an interrupt
Многоуровневая система обработки запросов прерывания работает следующим образом. Контроллер 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... Ак.A multi-level interrupt request processing system works as follows. The
Where the weight vector of the deviation of the parameter value from the permissible value,
interrupt request level vector,
calculates the absolute value of the interrupt request weight vector. Next, the
Если опрашиваемый уровень прерывания уже присутствует в очереди, то данный уровень изымается из очереди, при этом очередь запросов прерывания, стоящих за данным уровнем, передвигается на единицу вверх до адреса изъятого уровня. Если изъятый уровень находился в регистре очереди запросов прерывания 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 всегда находится запрос прерывания, действительно обладающий высшим приоритетом.If the interrupt level being interrogated is already in the queue, then this level is removed from the queue, while the interrupt request queue behind this level moves one unit up to the address of the removed level. If the withdrawn level was in the interrupt
Таким образом, заявляемые способ и устройство многоуровневой системы обработки запросов прерывания по сравнению с устройством аналогичного назначения (прототип) позволяют в реальном масштабе времени определить действительные приоритеты уровней прерывания и расставить их в очереди по важности запросов. И обслуживание уровней запросов прерывания всегда будет производиться только действительно соответствующих высшему приоритету. Thus, the claimed method and device of a multilevel system for processing interrupt requests in comparison with a device of a similar purpose (prototype) allows real-time determination of the actual priorities of interrupt levels and placing them in the queue according to the importance of requests. And service levels of interrupt requests will always be done only really correspond to the highest priority.
Источники информации
1. Каган Б.М. Электронные вычислительные машины и системы, М., "Энергия", 1979 г., с. 291.Sources of information
1. Kagan B.M. Electronic computers and systems, M., "Energy", 1979, p. 291.
2. Секушин Е.В., Осипенко В.И., Копыл П.А. Универсальный программируемый контроллер прерываний, "Микропроцессорные средства и системы", 1989 г., 1, с. 7. 2. Sekushin E.V., Osipenko V.I., Kopyl P.A. Universal programmable interrupt controller, "Microprocessor tools and systems", 1989, 1, p. 7.
3. Патент РФ 2035065, МКИ G 06 F 9/46, 1995 - "Устройство пакетной обработки запросов". 3. RF patent 2035065, MKI G 06
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2001102732A RU2195013C2 (en) | 2001-02-01 | 2001-02-01 | Method and multilayer system for multilayer processing of interrupt request |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2001102732A RU2195013C2 (en) | 2001-02-01 | 2001-02-01 | Method and multilayer system for multilayer processing of interrupt request |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2195013C2 true RU2195013C2 (en) | 2002-12-20 |
Family
ID=20245412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2001102732A RU2195013C2 (en) | 2001-02-01 | 2001-02-01 | Method and multilayer system for multilayer processing of interrupt request |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2195013C2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2546561C2 (en) * | 2010-06-23 | 2015-04-10 | Интернэшнл Бизнес Машинз Корпорейшн | Converting message-initiated interruption into input/output adapter-generated event notification |
-
2001
- 2001-02-01 RU RU2001102732A patent/RU2195013C2/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2546561C2 (en) * | 2010-06-23 | 2015-04-10 | Интернэшнл Бизнес Машинз Корпорейшн | Converting message-initiated interruption into input/output adapter-generated event notification |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0730230A3 (en) | Method and apparatus for prioritizing and handling errors in a computer system | |
CN110764898A (en) | Task allocation method and device, readable storage medium and terminal equipment | |
CN111897660B (en) | Model deployment method, model deployment device and terminal equipment | |
CN114513545B (en) | Request processing method, device, equipment and medium | |
CN112860402A (en) | Dynamic batch processing task scheduling method and system for deep learning inference service | |
RU2195013C2 (en) | Method and multilayer system for multilayer processing of interrupt request | |
CN114327894A (en) | Resource allocation method, device, electronic equipment and storage medium | |
WO2004114132A1 (en) | Interrupt control method, interrupt control device, and interrupt control program | |
CN115238837B (en) | Data processing method and device, electronic equipment and storage medium | |
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 | |
CN115344370A (en) | Task scheduling method, device, equipment and storage medium | |
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 (en) | Data request processing method and device, computer equipment and storage medium | |
US6192441B1 (en) | Apparatus for postponing processing of interrupts by a microprocessor | |
CN114138626A (en) | Horizontally scalable distributed system for automated firmware testing and method thereof | |
CA1167986A (en) | Communication multiplexer sharing a free running timer among multiple communication lines | |
RU2801737C1 (en) | Method and device for organizing memory of network equipment for managing its queues | |
Fruit et al. | Simulation of multiproduct batch chemical processes | |
CN117076353B (en) | Descriptor configuration method and descriptor configuration device | |
CN116719628B (en) | Concurrent task preemptive scheduling method, system and medium | |
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 | |
CN110442612B (en) | Data query method, electronic device and computer-readable storage medium | |
Sang | An improved computational algorithm for round-robin service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20140202 |