[go: up one dir, main page]

DE19731634A1 - Apparatus and method for finding an interrupt request associated with a source - Google Patents

Apparatus and method for finding an interrupt request associated with a source

Info

Publication number
DE19731634A1
DE19731634A1 DE1997131634 DE19731634A DE19731634A1 DE 19731634 A1 DE19731634 A1 DE 19731634A1 DE 1997131634 DE1997131634 DE 1997131634 DE 19731634 A DE19731634 A DE 19731634A DE 19731634 A1 DE19731634 A1 DE 19731634A1
Authority
DE
Germany
Prior art keywords
software
interrupt
group
output
multiplexer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE1997131634
Other languages
German (de)
Inventor
Bernd Moser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Telecommunications Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Telecommunications Oy filed Critical Nokia Telecommunications Oy
Priority to DE1997131634 priority Critical patent/DE19731634A1/en
Priority to PCT/EP1998/004555 priority patent/WO1999005605A1/en
Priority to AU87320/98A priority patent/AU8732098A/en
Publication of DE19731634A1 publication Critical patent/DE19731634A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

The invention concerns a device and a process for the locating of an interrupt request (interrupt) allocated to a source from a multitude of possible sources, several of which in each case are combined into a group, with a software (SW) for locating the wanted interrupt within a group and for the subsequent execution of a routine provided for the source allocated to the wanted interrupt in the case of an interrupt and with a hardware facility (HW) having an identification facility (A) which, in the case of an interrupt request provides the software (SW) with an address vector identifying the group. In order to enable a preferential reaction to interrupt requests of high priority and simultaneously ensure rapid reaction to an interrupt request, the sources of interrupt requests are combined into groups in the hardware device by means of interrupt group registers, one of at least two different priorities are allocated to each group and the hardware facility (HW) is provided with a separate identification facility (A) for each priority provided.

Description

Die Erfindung betrifft eine Vorrichtung und ein Verfahren zum Auffinden einer einer Quelle (source) zugeordneten Unterbrechungsanforderung (interrupt) aus einer Vielzahl möglicher Quellen mit einer Hardwareeinrichtung (HW) die ein Register (interrupt group register) für Unterbrechungsanforderungen enthält, in dem jeweils mehrere Quellen zu Gruppen zusammengefaßt sind, und mit einer Software (SW) zum Lokalisieren des gesuchten Interrupts innerhalb seiner Gruppe und zum nachfolgenden Abarbeiten einer für die dem gesuchten Interrupt zugeordneten Quelle im Falle einer Unterbrechung vorgesehenen Routine.The invention relates to an apparatus and a method to find a source assigned Interrupt request from a variety possible sources with a hardware device (HW) an interrupt group register for Includes interrupt requests, in each several sources are grouped together, and with a software (SW) to localize the searched Interrupts within its group and to the subsequent one Processing one for the interrupt you are looking for assigned source in the event of an interruption provided routine.

Ereignisse in der Hardware, die ein schnelles Reagieren der Software erfordern, werden gewöhnlich über Unterbrechungsanforderungen an die Software gemeldet. Daraufhin unterbricht die Software ihren normalen Ablauf, um die einer bestimmten Quelle einer Unterbrechungsanforderung entsprechenden Verarbeitungsroutinen durchführen zu können. Zunächst muß die Software dafür jedoch die Quelle der Unterbrechungsanforderung lokalisieren. Mit wachsender Komplexität der Hardware sind immer mehr mögliche Quellen für Unterbrechungsanforderungen in einer Hardwareeinrichtung enthalten und immer mehr unabhängige Hardwareeinrichtungen sind in einem System oder auf einer Platine angeordnet. Oft werden diese Einrichtungen von einem einzigen Prozessor mit begrenzter Leistung und einer begrenzten Anzahl von Leitungen für die Unterbrechungsanforderungen versorgt. Aus diesem Grund muß eine einfache Vorrichtung zum Lokalisieren des Ursprungs einer Unterbrechungsanforderung zur Verfügung gestellt werden.Events in hardware that respond quickly The software that are required are usually about Interruption requests to the software reported. The software then interrupts its normal process, to that of a particular source Corresponding interrupt request To be able to carry out processing routines. First of all however, the software for this is the source of the Localize the interrupt request. With growing Hardware complexity is an increasing number of possible sources for interrupt requests in one Hardware setup included and more and more independent Hardware devices are in a system or on one Circuit board arranged. Often these facilities are managed by  a single processor with limited performance and a limited number of lines for the Interrupt requests serviced. For this reason needs a simple device to locate the Origin of an interrupt request is available be put.

Vorrichtungen bzw. Verfahren zum Lokalisieren der Quelle einer Unterbrechungsanforderung in Hardwareeinrichtungen sind aus der Praxis bekannt. Solche Vorrichtungen sehen vor, daß mehrere mögliche Quellen einer Unterbrechungsanforderung in einer Hardwareeinrichtung in Gruppen zusammengefaßt werden, wobei üblicherweise jeweils die Anzahl von möglichen Quellen zusammengefaßt wird, die von der Software mit einem einzigen Zugriff überprüft werden kann. So können z. B. acht mögliche Quellen mit einem 1-byte Lesezugriff überprüft werden. Ist nach dieser Zusammenfassung noch eine große Anzahl dieser Gruppen vorhanden, so werden weitere Hierarchieebenen gebildet, in denen jeweils mehrere Gruppen zu neuen Gruppen zusammengefaßt werden (Fig. 1) In der Regel werden die Gruppen soweit zusammengefaßt, bis die Software mit einem einzigen Zugriff auf alle Gruppen der obersten Hierarchieebene zugreifen kann. Dementsprechend werden um so mehr Hierarchieebenen benötigt, je mehr mögliche Quellen für Unterbrechungsanforderungen existieren. Bei der Meldung einer Unterbrechungsanforderung muß die Software den Weg der Anforderung durch alle Hierarchieebenen zurückverfolgen, um die Quelle der Unterbrechungsanforderung lokalisieren zu können. Für jede zusätzliche Hierarchieebene ist also ein zusätzlicher Hardwarezugriff sowie das Durchlaufen eines Auswerteprozeß in der Software zur Bestimmung der nächsten Gruppe in der untergeordneten Ebene, die gelesen werden muß, notwendig. Devices and methods for locating the source of an interrupt request in hardware devices are known from practice. Such devices provide that several possible sources of an interrupt request are combined in groups in a hardware device, the number of possible sources which can be checked by the software with a single access usually being combined in each case. So z. B. eight possible sources can be checked with a 1-byte read access. If there is still a large number of these groups after this summary, further hierarchy levels are formed, in which several groups are combined to form new groups ( FIG. 1) . The groups are generally combined until the software can be accessed with a single access can access all groups at the highest hierarchical level. Accordingly, the more possible levels for interrupt requests, the more hierarchical levels are required. When an interrupt request is reported, the software must trace the path of the request through all levels of the hierarchy to locate the source of the interrupt request. For each additional hierarchy level, additional hardware access and the completion of an evaluation process in the software to determine the next group in the subordinate level, which must be read, are necessary.

Ein Nachteil dieser Vorrichtung besteht somit darin, daß in einer Hardwareeinrichtung mit einer großen Anzahl an möglichen Quellen für Unterbrechungsanforderungen die Zeit zum Auffinden einer anfordernden Quelle sehr groß wird, da die benötigte Zeit um die Quelle einer Unterbrechungsanforderung zu lokalisieren, von der Anzahl der Hierarchieebenen abhängt, die die Software jedesmal durchlaufen muß. Wenn zudem einige der Unterbrechungsanforderungen häufig auftreten, so kann dies die Software in einem nicht akzeptablen Ausmaß verlangsamen.A disadvantage of this device is therefore that in a hardware facility with a large number of possible sources for interrupt requests Very long time to find a requesting source is because the time needed to source a To locate interrupt request by number depends on the hierarchy levels that the software must go through. If some of the Interruption requests can occur frequently, so this is the software to an unacceptable extent slow it down.

Demgemäß ist es Aufgabe der Erfindung, eine Vorrichtung bzw. ein Verfahren zu schaffen, die bzw. das ein erheblich schnelleres Auffinden der Quellen von Unterbrechungsanforderungen ermöglicht.Accordingly, it is an object of the invention to provide a device or to create a process, the one find the sources of Allows interrupt requests.

Diese Aufgabe wird bei einer Vorrichtung zum Auffinden einer einer Quelle zugeordneten Unterbrechungsanforderung aus einer Vielzahl möglicher Quellen in einer Hardwareeinrichtung erfindungsgemäß dadurch gelöst, daß die Hardwareeinrichtung (HW) eine Identifizierungseinrichtung (A) enthält, deren Eingänge allen Gruppen zugeordnet sind, wobei die Identifizierungseinrichtung feststellt, in welcher Gruppe eine Unterbrechungsanforderung vorliegt, und deren Ausgang ein der die Unterbrechungsanforderung enthaltenden Gruppe entsprechender Adreßvektor derart an die Software weitergibt, daß der Adreßvektor als Zuordnungsvektor für die Software zum Auffinden der die Unterbrechungsanforderung enthaltenden Gruppe dient.This object is achieved with a device for detection an interrupt request associated with a source from a variety of possible sources in one Hardware device according to the invention solved in that the hardware device (HW) one Identification device (A) contains the inputs are assigned to all groups, with the Identification device determines in which group there is an interrupt request and its Output on of the interrupt request containing group corresponding address vector the software passes on that the address vector as Assignment vector for the software for locating the Group containing interrupt request is used.

Der Vorteil der erfindungsgemäßen Lösung besteht darin, daß die Identifizierungseinrichtung eine kontinuierliche Überprüfung der einzelnen Gruppen mit hoher Geschwindigkeit durchführen kann und daß die Software mit der Information der Identifizierungseinrichtung die Gruppe, von der die Unterbrechungsanforderung kommt, bereits eindeutig identifizieren und dadurch eine Unterbrechungsanforderung in der Regel nach zwei Zugriffen (Auslesen des Adreßvektors und Überprüfung der Register in der betroffenen Gruppe) auf die Hardware lokalisieren kann. Bei einer Hardware mit einer großen Anzahl an möglichen Quellen für eine Unterbrechungsanforderung beansprucht diese Vorrichtung dadurch erheblich weniger Prozessorleistung und ist wesentlich schneller als Vorrichtungen, die bislang verwendet werden.The advantage of the solution according to the invention is that that the identification device is a continuous Review of individual groups with high Can perform speed and that the software with  the information of the identification device Group from which the interrupt request comes already clearly identify and thereby one Interrupt request usually after two Accesses (reading out the address vector and checking the Register in the affected group) on the hardware can locate. For hardware with a large one Number of possible sources for one This device claims interrupt request thereby significantly less processor power and is much faster than devices so far be used.

In einer bevorzugten Ausführungsform der Erfindung ist neben der Identifizierungseinheit eine Benachrichtigungseinheit vorgesehen, die mit allen Gruppen verknüpft ist, und deren Ausgang eine Logikinformation an die Software ausgibt, wenn an mindestens einer Gruppe eine Unterbrechungsanforderung vorliegt, derart, daß beim Setzen der Logikinformation der aktuelle Wert des Adreßvektors der Identifizierungseinrichtung von der Software übernehmbar ist.In a preferred embodiment of the invention next to the identification unit Notification unit provided with all Groups is linked, and their output one Outputs logic information to the software when on an interrupt request to at least one group is present, such that when setting the logic information the current value of the address vector of Identification device can be adopted by the software is.

Des weiteren werden in einer anderen bevorzugten Ausführungsform der Erfindung den Gruppen jeweils eine von mindestens zwei verschiedenen Prioritäten zugeordnet, wobei für jede Priorität eine eigene Abfragevorrichtung zur Verfügung steht und Unterbrechungsanforderungen aus Gruppen mit höherer Priorität bevorzugt an die Software weitergegeben werden. Durch das Zuordnen der Gruppen zu verschiedenen Prioritäten wird zusätzlich sichergestellt, daß die Software in der Regel als erstes die Unterbrechungsanforderung mit der höchsten Priorität verarbeitet. Furthermore, another are preferred Embodiment of the invention the groups one each assigned by at least two different priorities, with a separate query device for each priority is available and interrupt requests Groups with higher priority preferred to the software be passed on. By assigning the groups to various priorities are also ensured that the software is usually the first Highest priority interrupt request processed.  

Weitere bevorzugte Ausführungsformen der Erfindung gehen aus den Unteransprüchen hervor.Further preferred embodiments of the invention go from the subclaims.

Die Erfindung wird im folgenden anhand der Ausführungsbeispiele enthaltenden Zeichnungen näher erläutert. Dabei zeigen:The invention is based on the Drawings containing exemplary embodiments closer explained. Show:

Fig. 1 eine Gruppierung in Hierarchieebenen für eine Vorrichtung nach dem Stand der Technik, Fig. 1 is a group in hierarchical levels for a device according to the prior art,

Fig. 2 ein erstes Ausführungsbeispiel gemäß Erfindung, Fig. 2 shows a first embodiment according to the invention,

Fig. 3 ein zweites Ausführungsbeispiel gemäß Erfindung, Fig. 3 shows a second embodiment according to the invention,

Fig. 4 ein drittes Ausführungsbeispiel gemäß Erfindung, und Fig. 4 shows a third embodiment according to the invention, and

Fig. 5 ein viertes Ausführungsbeispiel gemäß Erfindung mit verschiedenen Prioritäten. Fig. 5 shows a fourth embodiment according to the invention with different priorities.

Aus Fig. 2 wird das Prinzip der erfindungsgemäßen Vorrichtung deutlich. Alle in einem Register (interrupt group register) abgelegten Zustände für Unterbrechungsanforderungen werden über ein ODER-Gatter (OR1-ORX) verknüpft. Die Ausgänge der ODER-Gatter (OR1-ORX) sind mit einer Identifizierungseinrichtung (A) verbunden, die über einen Ausgang mit der Software (SW) verbunden ist. Beträgt die Anzahl der in einer Gruppe zusammengefaßten Interrupt-Quellen beispielsweise bis zu acht, so kann mit einem 1-byte Lesezugriff auf alle Interrupt-Quellen einer Gruppe zugegriffen werden.The principle of the device according to the invention is clear from FIG . All states for interrupt requests stored in an interrupt group register are linked via an OR gate (OR1-ORX). The outputs of the OR gates (OR1-ORX) are connected to an identification device (A) which is connected to the software (SW) via an output. For example, if the number of interrupt sources combined in a group is up to eight, all interrupt sources in a group can be accessed with a 1-byte read access.

Bei einer Unterbrechungsanforderung wird der Wert des der anfordernden Quelle zugeordneten Interrupts von "0" auf "1" gesetzt. Nach der Verknüpfung der Ausgänge eines Interrupt-Group-Registers durch die ODER-Gatter (OR1-ORX) wird an dem Ausgang des zu dem Interrupt, das eine Unterbrechung anfordert, gehörenden ODER-Gatters ebenfalls eine "1" ausgegeben.In the event of an interrupt request, the value of the requesting interrupts assigned from "0" "1" set. After linking the outputs one  Interrupt group registers through the OR gates (OR1-ORX) is at the output of the interrupt, the one Interruption requests belonging to the OR gate also issued a "1".

Die Identifizierungseinrichtung (A) überprüft sequentiell und kontinuierlich die Ausgänge der ODER-Gatter (OR1-ORX) daraufhin, ob von einer der Gruppen eine Unterbrechung angefordert wird (beispielsweise mit der Taktfrequenz des Mikroprozessors) . Solange dies nicht der Fall ist, weist er der jeweils abgefragten Gruppe einen eindeutigen Adreßvektor zu und fährt mit der nächsten Gruppe fort. Wenn jedoch eine Unterbrechungsanforderung auftritt, wird der aktuelle Adreßvektor für die Software zum Auslesen zur Verfügung gestellt. Der Abfragemechanismus kann hierbei unterbrochen werden.The identification device (A) checks sequentially and continuously the outputs of the OR gates (OR1-ORX) then whether an interruption from one of the groups is requested (for example with the clock frequency of the Microprocessor). As long as this is not the case, points he uniquely identifies the group queried Address vector and continues with the next group. However, if an interrupt request occurs, the current address vector for the software for reading out made available. The query mechanism can be interrupted here.

Die Software liest daraufhin den Adreßvektor, mit dem sie die betreffende Gruppe eindeutig identifizieren kann, aus und sucht innerhalb dieser Gruppe nach dem betreffenden Interrupt. Die Interrupt-Quelle, die eine Unterbrechung anfordert, kann also von der Software mit nur zwei Hardwarezugriffen lokalisiert werden. Sofern der Abfragemechanismus unterbrochen worden ist, fährt die Hardware (HW) nach dem Auslesen des Adreßvektors durch die Software (SW) automatisch mit der Überprüfung der Gruppen fort, während die Software den Interrupt verarbeitet.The software then reads the address vector with which it can clearly identify the group in question and searches for the relevant one within this group Interrupt. The interrupt source that is an interrupt can be requested by the software with only two Hardware accesses can be localized. If the The query mechanism has been interrupted, the Hardware (HW) after reading out the address vector the software (SW) automatically checking the Groups continue while the software is interrupting processed.

Fig. 3 zeigt ein weiteres Ausführungsbeispiel der Erfindung, das dem Beispiel in Fig. 2 entspricht, in dem aber zusätzlich ein Benachrichtigungsblock (B) enthalten ist. Wiederum werden alle in einem Register (interrupt group register) abgelegten Zustände für Unterbrechungsanforderungen über ein ODER-Gatter (OR1-ORX) verknüpft. Die Ausgänge der ODER-Gatter (OR1-ORX) sind zum einen mit der Benachrichtigungsvorrichtung (B) verbunden, die wiederum mit der Software (SW) verbunden ist. Zum anderen sind die Ausgänge der ODER-Gatter (OR1-ORX) mit der Identifizierungseinrichtung (A) verbunden, die ebenfalls mit der Software (SW) verbunden ist. Fig. 3 shows a further embodiment of the invention, which corresponds to the example in Fig. 2, but which also contains a notification block (B). Again, all states for interrupt requests stored in an interrupt group register are linked via an OR gate (OR1-ORX). The outputs of the OR gates (OR1-ORX) are connected on the one hand to the notification device (B), which in turn is connected to the software (SW). On the other hand, the outputs of the OR gates (OR1-ORX) are connected to the identification device (A), which is also connected to the software (SW).

Bei einer Unterbrechungsanforderung wird der Wert des der anfordernden Quelle zugeordneten Interrupt von "0" auf "1" gesetzt. Nach der Verknüpfung der Ausgänge eines Interrupt-Group-Registers durch die ODER-Gatter (OR1-ORX) wird an dem Ausgang des zu dem Interrupt, das eine Unterbrechung anfordert, gehörenden ODER-Gatters ebenfalls eine "1" ausgegeben.In the event of an interrupt request, the value of the requesting interrupt assigned interrupt from "0" "1" set. After linking the outputs one Interrupt group registers through the OR gates (OR1-ORX) is at the output of the interrupt, the one Interruption requests belonging to the OR gate also issued a "1".

Die Identifizierungseinrichtung (A) überprüft sequentiell und kontinuierlich die Ausgänge der ODER-Gatter (OR1-ORX) daraufhin, ob von einer der Gruppen eine Unterbrechung angefordert wird (beispielsweise mit der Taktfrequenz des Mikroprozessors). Solange dies nicht der Fall ist, weist er der jeweils abgefragten Gruppe einen eindeutigen Adreßvektor zu und fährt mit der nächsten Gruppe fort. Wenn jedoch eine Unterbrechungsanforderung auftritt, wird der aktuelle Adreßvektor für die Software zum Auslesen zur Verfügung gestellt.The identification device (A) checks sequentially and continuously the outputs of the OR gates (OR1-ORX) then whether an interruption from one of the groups is requested (for example with the clock frequency of the Microprocessor). As long as this is not the case, points he uniquely identifies the group queried Address vector and continues with the next group. However, if an interrupt request occurs, the current address vector for the software for reading out made available.

Liegt an dem Ausgang eines der ODER-Gatter (OR1-ORX) eine "1" für eine Unterbrechungsanforderung an, so meldet der Benachrichtigungsblock (B) der Software (SW), daß eine Unterbrechungsanforderung vorliegt und ein Adreßvektor aus der Identifizierungseinrichtung (A) ausgelesen werden muß.Is one at the output of one of the OR gates (OR1-ORX) "1" for an interrupt request, reports the Notification block (B) of the software (SW) that a There is an interrupt request and an address vector can be read out from the identification device (A) got to.

Die Software liest daraufhin den Adreßvektor, mit dem sie die betreffende Gruppe eindeutig identifizieren kann, aus und sucht innerhalb dieser Gruppe nach dem betreffenden Interrupt. Die Interrupt-Quelle, die eine Unterbrechung anfordert, kann also von der Software mit nur zwei Hardwarezugriffen lokalisiert werden.The software then reads the address vector with which it can clearly identify the group in question and searches for the relevant one within this group Interrupt. The interrupt source that is an interrupt  can be requested by the software with only two Hardware accesses can be localized.

In Fig. 4 wird eine weitere bevorzugte Ausführungsform der Erfindung dargestellt. Alle in einem Register (interrupt group register) abgelegten Zustände für Unterbrechungsanforderungen werden über ein ODER-Gatter (OR1-ORX) verknüpft.In FIG. 4 a further preferred embodiment of the invention is illustrated. All states for interrupt requests stored in an interrupt group register are linked via an OR gate (OR1-ORX).

Die Ausgänge aller X ODER-Gatter (OR1-ORX) werden zum einen mit einem weiteren ODER-Gatter (G1) verknüpft. Der Ausgang dieses ODER-Gatters (G1) ist über einen Eingang eines UND-Gatters (G2) mit einem Flipflop (F) verbunden, dessen Ausgang eine Verbindung zur (nicht dargestellten) Software liefert, und das beispielsweise mit der Taktfrequenz des Mikroprozessors getaktet ist (up clk).The outputs of all X OR gates (OR1-ORX) become one linked with another OR gate (G1). Of the The output of this OR gate (G1) is via an input an AND gate (G2) connected to a flip-flop (F), whose output connects to the (not shown) Software delivers, for example with the Clock frequency of the microprocessor is clocked (up clk).

Auf der anderen Seite werden die X Ausgänge der ODER-Gatter (OR1-ORX) mit den X Eingängen eines Multiplexers (M1) verbunden. Das Ausgangssignal des Multiplexers (M1) liefert einerseits eines der Eingangssignale eines weiteren ODER-Gatters (G3), dessen Ausgang den zweiten Eingang für das UND-Gatter (G2) zur Verfügung stellt. Andererseits liefert das Ausgangssignal des Multiplexers (M1) ein Eingangssignal eines Zählers (Z) , der beispielsweise ebenfalls mit der Taktfrequenz des Mikroprozessors getaktet ist (up clk) . Der Ausgang des Zählers (Z) ist über einen weiteren Multiplexer (M2) ebenfalls mit der Software verbunden. Am zweiten Eingang des Multiplexers (M2) liegt ein "idle"-Wert an. Dieser "idle"-Wert sollte ein Wert sein, der ansonsten nicht ausgegeben werden kann, z. B. der maximale Zählerwert oder ein anderer Wert oberhalb des Reset-Werts des Zählers. Das Ausgangssignal des ersten Multiplexers (M1) liefert zusätzlich ein Steuersignal an den zweiten Multiplexer (M2). Der Zähler (Z) besitzt einen weiteren Eingang, der direkt mit der Software verbunden ist. Das Ausgangssignal des Zählers (Z) liefert außerdem einen Steuervektor für den ersten Multiplexer (M1).On the other hand, the X outputs of the OR gates (OR1-ORX) with the X inputs of a multiplexer (M1) connected. The output signal of the multiplexer (M1) on the one hand supplies one of the input signals another OR gate (G3), the output of which is the second Provides input for the AND gate (G2). On the other hand, the output signal of the multiplexer provides (M1) an input signal of a counter (Z) which for example, also with the clock frequency of Microprocessor is clocked (up clk). The exit of the Counter (Z) is via another multiplexer (M2) also connected to the software. At the second entrance of the multiplexer (M2) there is an "idle" value. This "idle" value should be a value that is otherwise not can be issued, e.g. B. the maximum counter value or another value above the counter's reset value. The output signal of the first multiplexer (M1) delivers additionally a control signal to the second multiplexer (M2). The counter (Z) has another input, the  is directly connected to the software. The output signal the counter (Z) also provides a control vector for the first multiplexer (M1).

Das zweite Eingangssignal für das ODER-Gatter (G3) wird von dem Ausgangssignal des Flipflops (F) geliefert.The second input signal for the OR gate (G3) is from the output signal of the flip-flop (F).

Im folgenden wird die Funktionsweise der beschriebenen Ausführungsform der Erfindung nach Fig. 4 erläutert:The mode of operation of the described embodiment of the invention according to FIG. 4 is explained below:

Zunächst wird eine Situation ohne Unterbrechungsanforderung der Hardware betrachtet. An allen Ausgängen der Interrupt-Group-Register wird also eine "0" an die ODER-Gatter (OR1-ORX) ausgegeben. Dementsprechend sind auch die Ausgänge aller ODER-Gatter (OR1-ORX) "0". Die Verknüpfung der Ausgänge der ODER-Gatter (OR1-ORX) mit dem ODER-Gatter (G1) führt zu einem weiteren Signal "0", welches über das AND-Gatter und das Flipflop an die Software ausgegeben wird. Dabei bedeutet ein Signal von "0" an die Software, daß keine Unterbrechungsanforderung anliegt und die Software normal weiterarbeiten kann.First, a situation without Hardware interrupt request considered. On all outputs of the interrupt group registers a "0" is output to the OR gates (OR1-ORX). The outputs of all OR gates are correspondingly (OR1-ORX) "0". Linking the outputs of the OR gates (OR1-ORX) with the OR gate (G1) leads to one another signal "0", which via the AND gate and the Flip flop is output to the software. Here means a signal from "0" to the software that none Interruption request is pending and the software is normal can continue to work.

Die Ausgangssignale "0" der ODER-Gatter (OR1-ORX) liegen außerdem an den Eingängen des Multiplexers (M1) an. Dieser multiplext die Signale nacheinander ein und gibt die "0" an das ODER-Gatter (G3) und an den Zähler (Z) weiter. Solange der Zähler eine "0" empfängt, zählt er mit jedem Takt (up clk) den Zählerstand von Null bis X um eins hoch. Sobald der Wert "X" erreicht ist, wird ein Reset durchgeführt und der Zähler fängt wieder bei Null an. Dadurch ist bei jeder Überprüfung einer Gruppe ein eindeutiger Zählerstand vorhanden. Der aktuelle Zählerwert wird an den zweiten Multiplexer (M2) weitergegeben. Da der zweite Multiplexer (M2) jedoch ein Steuersignal von "0" vom ersten Multiplexer (M1) erhält, wird nicht der Zählerwert der Software zur Verfügung gestellt, sondern der "idle"-Wert, der am zweiten Eingang des Multiplexers (M2) anliegt. Der Ausgangswert des Zählers liefert zusätzlich die Information an den ersten Multiplexer (M1), welches Eingangssignal als nächstes durchgelassen werden soll.The output signals "0" of the OR gates (OR1-ORX) lie also at the inputs of the multiplexer (M1). This multiplexes the signals one after the other and outputs the "0" to the OR gate (G3) and to the counter (Z) further. As long as the counter receives a "0", it counts with every cycle (up clk) the counter reading from zero to X um one up. As soon as the value "X" is reached, a Reset carried out and the counter starts again at zero on. This means that every time a group is checked clear counter reading available. The current Counter value is sent to the second multiplexer (M2) passed on. However, since the second multiplexer (M2) is a Receives control signal of "0" from the first multiplexer (M1),  the counter value of the software is not available but the "idle" value, which is at the second input of the multiplexer (M2). The baseline of the Counter also provides the information to the first Multiplexer (M1), which input signal next should be let through.

Das Ausgangssignal des ODER-Gatters (G3) ist "0", da beide Eingangssignale - das Ausgangssignal des ersten Multiplexers (M1) und das Ausgangssignal des Flipflops (F) - eine "0" liefern. Das Eingangssignal für das Flipflop (F) ist somit ebenfalls "0", da an beiden Eingängen des AND-Gatters (G2), das als Ausgangssignal das Eingangssignal des Flipflops liefert, eine "0" anliegt.The output signal of the OR gate (G3) is "0" because both input signals - the output signal of the first Multiplexer (M1) and the output signal of the flip-flop (F) - provide a "0". The input signal for the Flip-flop (F) is therefore also "0" because of both Inputs of the AND gate (G2), which is the output signal the input signal of the flip-flop delivers a "0" is present.

Als nächstes wird eine Situation beschrieben, in der mindestens eine Unterbrechungsanforderung vorliegt. Am Ausgang von mindestens einem der ODER-Gatter (OR1-ORX) wird also eine "1" ausgegeben. Das führt dazu, daß auch der Ausgang des ODER-Gatters (G1), mit dem die ODER-Gatter (OR1-ORX) verknüpft werden, eine "1" an den einen Eingang des AND-Gatters liefert.Next, a situation will be described in which there is at least one interrupt request. At the Output from at least one of the OR gates (OR1-ORX) a "1" is output. That leads to that too the output of the OR gate (G1) with which the OR gate (OR1-ORX) are linked, a "1" to one Input of the AND gate delivers.

Der Multiplexer (M1) gibt weiterhin nacheinander die Werte, die von den ODER-Gattern (OR1-ORX) geliefert werden, an den Zähler (Z) weiter, wobei der Ausgang des Zählers (Z) ein Steuersignal an den Multiplexer (M1) liefert, welches Guppensignal als nächstens weitergegeben wird. Der Zähler zählt bei jedem Takt den Zählerwert um eins hoch, solange er am "disable"-Eingang eine "0" empfängt. Empfängt er jedoch eine "1" als eines von dem Multiplexer (M1) weitergeleiteten Gruppensignal, so hat der Multiplexer (M1) die anfordernde Gruppe lokalisiert und der Zähler (Z) stoppt, bis er von der Software einen Hochzählimpuls zum Weiterzählen (+1) erhält. Der angehaltene Wert wird an einen Eingang des zweiten Multiplexers (M2) gegeben, der außerdem ein Signal vom ersten Multiplexer erhält, daß nun nicht mehr der "idle"-Wert ausgegeben werden soll, sondern der Zählerwert, der nun der Software als Adreßvektor zum Auslesen zur Verfügung steht.The multiplexer (M1) continues to give the successively Values supplied by the OR gates (OR1-ORX) be forwarded to the counter (Z), the output of the Counter (Z) a control signal to the multiplexer (M1) returns which group signal is passed on next becomes. The counter counts the counter value for each cycle one high as long as it has a "0" at the "disable" input receives. However, it receives a "1" as one of them Multiplexer (M1) forwarded group signal, so has the multiplexer (M1) locates the requesting group and the counter (Z) stops until it gets one from the software Count-up pulse for further counting (+1) received. Of the  stopped value is sent to an input of the second Multiplexers (M2) given that also a signal from first multiplexer receives that no longer the "idle" value should be output, but the counter value that now the software as an address vector for reading out Available.

Gleichzeitig legt der Ausgang des ersten Multiplexers (M1) eine "1" an das ODER-Gatter (G3) an. Da der Ausgang des ODER-Gatters (G3) an dem zweiten Eingang des AND-Gatters (G2) anliegt und an dem ersten Eingang des AND-Gatters (G2) bereits vom ODER-Gatter (G1) eine "1" als Nachricht dafür, daß überhaupt eine Unterbrechung angefordert wurde, anliegt, erhält das Flipflop (F) eine "1" als Eingangssignal. Das Flipflop (F) gibt die "1" an die Software weiter, die damit benachrichtigt wird, daß am Ausgang des zweiten Multiplexers (M2) ein Adreßvektor zum Auslesen bereit steht, der die Gruppe identifiziert, aus der die Unterbrechungsanforderung kommt. Die Software gibt nach dem Auslesen des Adreßvektors den Zähler (Z) zum Weiterzählen wieder frei und sucht in der betreffenden Gruppe nach dem genauen Ursprung der Unterbrechungsanforderung, um die entsprechende Verarbeitungsroutine abarbeiten zu können.At the same time, the output of the first multiplexer (M1) a "1" to the OR gate (G3). Because the exit of the OR gate (G3) at the second input of the AND gate (G2) is present and at the first input of the AND gate (G2) already from the OR gate (G1) a "1" as Message that there was an interruption at all was requested, the flip-flop (F) receives one "1" as an input signal. The flip-flop (F) indicates the "1" the software, which is notified that at the output of the second multiplexer (M2) an address vector is available for reading, which identifies the group, from which the interrupt request comes. The software gives the counter (Z) after reading the address vector free to continue counting and searches in the group concerned according to the exact origin of the Interrupt request to the appropriate To be able to process the processing routine.

Liegen mehrere Unterbrechungsanforderungen an, so erhält die Software ab dem Auffinden der ersten Gruppe, die eine Unterbrechung anfordert, eine kontinuierliche Meldung über eine Unterbrechungsanforderung, um ein ständiges Hin- und Herspringen zwischen den eigentlichen Routinen der Software und den Unterbrechungsroutinen zu vermeiden. Das wird dadurch erreicht, daß der Ausgang des Flipflops (F) über das ODER-Gatter (G3) rückgekoppelt wird, so daß der Ausgang des ODER-Gatters (G3) entweder "1" ist, wenn der Ursprung einer Unterbrechungsanforderung von der Abfragevorrichtung lokalisiert wurde, oder aber es sich um eine Unterbrechungsanforderung handelt, die schon anlag, bevor die vorherige abgearbeitet war. In sehr seltenen Fällen kann es bei einer großen Anzahl von möglichen Quellen von Interrupts vorkommen, daß die Software die vorangehende Unterbrechungsanforderung abgearbeitet hat, bevor die Hardware die nächste anfordernde Gruppe lokalisiert hat, so daß am Ausgang des Multiplexers (M2) noch nicht der neue Adreßvektor zur Verfügung steht. Die Software liest jedoch bereits den Ausgang des Multiplexers (M2) aus, da sie von dem Signal des Flipflops (F) dazu aufgefordert wird. Deshalb steht ein "idle"-Wert an einem Eingang des Multiplexers (M2) zur Verfügung, der, gesteuert über den Ausgang des ersten Multiplexers (M1), von dem zweiten Multiplexer (M2) ausgegeben wird, solange keine Gruppe mit Unterbrechungsanforderung erkannt wird. Die Software erkennt den "idle"-Wert eindeutig als solchen und führt daraufhin einen weiteren Leseversuch durch.If there are several interruption requests, it receives the software from finding the first group, the one Interruption requests, a continuous message about an interrupt request to a constant Jump back and forth between the actual routines the software and the interrupt routines. This is achieved in that the output of the flip-flop (F) is fed back via the OR gate (G3), so that the output of the OR gate (G3) is either "1" if the origin of an interrupt request from the Interrogator has been located, or it is  is an interrupt request that is already system before the previous one was processed. In a lot In rare cases, there may be a large number of possible sources of interrupts occur that the Software the previous interrupt request has processed before the hardware the next has located the requesting group so that at the exit of the Multiplexers (M2) are not yet the new address vector Available. However, the software is already reading the Output of the multiplexer (M2) out as it is from the signal the flip-flop (F) is asked to do so. That's why it says an "idle" value at an input of the multiplexer (M2) available, controlled by the output of the first Multiplexers (M1), from the second multiplexer (M2) is output as long as no group with Interrupt request is recognized. The software recognizes the "idle" value clearly as such and leads then another attempt to read.

Wenn dagegen keine weiteren Unterbrechungsanforderungen vorliegen, nachdem die Software einen Adreßvektor ausgelesen hat, kann der Zähler bei der gleichen Gruppe ein weiteres Mal anhalten, wenn die Software den Interrupt noch nicht vollständig verarbeitet hat. Das Signal einer Unterbrechungsanforderung an die Software wird aufrecht erhalten, bis die Software alle anstehenden Interrupts abgearbeitet hat.If, on the other hand, there are no further interrupt requests exist after the software has an address vector has read out, the counter can be in the same group stop again when the software Interrupt has not yet been fully processed. The Signal of an interrupt request to the software is maintained until the software all pending Processed interrupts.

Die maximale Zeitdauer, innerhalb der der Zähler den nächsten anstehenden Interrupt lokalisiert hat, hängt von der Anzahl der Interrupt-Group-Register ab:
The maximum time within which the counter has located the next pending interrupt depends on the number of interrupt group registers:

max. Zeit = Anzahl_Interrupt_Group_Register_Quellen . Taktzeit.Max. Time = number_Interrupt_Group_Register_Quellen. Cycle time.

Fig. 5 zeigt schließlich eine weitere bevorzugte Ausführungsform der Erfindung, in der den möglichen Quellen für eine Unterbrechungsanforderung zwei verschiedene Prioritäten (hoch/niedrig) zugewiesen wurden.Finally, FIG. 5 shows a further preferred embodiment of the invention, in which the possible sources for an interrupt request have been assigned two different priorities (high / low).

Von (nicht dargestellten) ODER-Verknüpfungen der Ausgänge eines Interrupt-Group-Registers führen Verbindungen, je nach Prioritätszuordnung der Gruppen, zu einer ersten Abfrageeinrichtung (A1) oder zu einer zweiten Abfrageeinrichtung (A2), die jeweils die Merkmale gemäß Fig. 2 oder 3 enthalten. In diesem Beispiel ist den ersten 20 Gruppen eine hohe Priorität und den weiteren 63 Gruppen eine niedrige Priorität zugeordnet. Dieses Beispiel kann jedoch auf beliebig viele Prioritätsstufen mit einer jeweils beliebigen Anzahl an Gruppen ausgebaut werden.Connections (not shown) of the outputs of an interrupt group register lead, depending on the priority assignment of the groups, to a first interrogation device (A1) or to a second interrogation device (A2), each of which has the features according to FIG. 2 or 3 included. In this example, the first 20 groups have a high priority and the other 63 groups have a low priority. However, this example can be expanded to any number of priority levels with any number of groups.

Jeweils ein erster Ausgang der beiden Abfrageeinrichtungen (A1/A2) ist über ein ODER-Gatter (G4) mit der (nicht dargestellten) Software verbunden. Jeweils ein zweiter Ausgang der beiden Abfrageeinrichtungen (A1/A2) ist über einen Multiplexer (M3) mit der Software verbunden. Der Multiplexer (M3) erhält außerdem ein Steuersignal von dem ersten Ausgang der Abfrageeinrichtung für die hohe Priorität (A1) Dieses Ausgangssignal setzt zusätzlich ein bit des Ausgangswertes des Multiplexers (M3: [6]), der in diesem Beispiel selber nur 6 bit ([0 : 5]) setzt, die er als Adreßvektor von den Abfrageeinrichtungen erhält. Des weiteren ist jeweils eine zusätzliche Verbindung von der Software zu den zwei Abfrageeinrichtungen vorgesehen.A first exit of each of the two Interrogators (A1 / A2) is through an OR gate (G4) connected to the software (not shown). A second exit from each of the two Interrogator (A1 / A2) is through a multiplexer (M3) connected to the software. The multiplexer (M3) also receives a control signal from the first output the high priority interrogator (A1) This output signal also sets a bit of Output value of the multiplexer (M3: [6]), which in this Example itself only sets 6 bits ([0: 5]), which it as Get address vector from the interrogators. Of Another is an additional connection from the Software provided for the two interrogators.

Jeweils das erste der Ausgangssignale der beiden Abfrageeinrichtungen (A1/A2) wird über ein ODER-Gatter (G4) verknüpft als Unterbrechungsanforderung an die Software ausgegeben.The first of the two output signals Interrogators (A1 / A2) is through an OR gate  (G4) linked as an interrupt request to the Software issued.

Die zweiten Ausgangssignale, die auf die Eingänge des Multiplexers (M3) gegeben werden, enthalten den Adreßvektor einer Gruppe, die eine Unterbrechung anfordert, oder aber "idle"-Werte. Der erste Ausgang der Abfrageeinrichtung mit der hohen Priorität (A1) liefert außerdem ein Steuersignal an den Multiplexer (M3), das dafür sorgt, daß bei gleichzeitigem Eingang eines Adreßvektors von beiden Abfrageeinrichtungen (A1/A2) der Adreßvektor von der Abfrageeinrichtung mit der hohen Priorität (A1) als erster ausgegeben wird. Zur Information an die Software, von welcher Abfrageeinrichtung der zur Verfügung gestellte Adreßvektor stammt, setzt das erste Ausgangssignal der Abfrageeinrichtung mit der hohen Priorität (A1) ein dafür vorgesehenes bit ([6]) des vom Multiplexer (M3) ausgegebenen Wortes auf "0" oder "1". Das resultierende Wort kann dann von der Software ausgelesen und verarbeitet werden.The second output signals that are sent to the inputs of the Multiplexers (M3) are given the Address vector of a group that has an interrupt requests, or "idle" values. The first exit of the Interrogator with the high priority (A1) delivers also a control signal to the multiplexer (M3) that ensures that with simultaneous input of a Address vector from both interrogators (A1 / A2) of the Address vector from the interrogator with the high Priority (A1) is issued first. For Information to the software from which Query facility of the provided Address vector originates, sets the first output signal of the Interrogator with high priority (A1) one for this intended bit ([6]) of the multiplexer (M3) output word to "0" or "1". The resulting Word can then be read out by the software and are processed.

Nach dem Auslesen des von dem Multiplexer (M3) zur Verfügung gestellten Adreßvektors aktiviert die Software wieder den Zähler der entsprechenden Abfrageeinrichtung (A1 oder A2) über den Eingang der entsprechenden Abfrageeinrichtung.After reading the from the multiplexer (M3) to The address vector provided activates the software again the counter of the corresponding interrogation device (A1 or A2) via the input of the corresponding Interrogator.

Claims (21)

1. Vorrichtung zum Auffinden einer einer Quelle (source) zugeordneten Unterbrechungsanforderung (interrupt) aus einer Vielzahl möglicher Quellen mit einer Hardwareeinrichtung (HW), die ein Register (interrupt group register) für Unterbrechungsanforderungen enthält, in dem jeweils mehrere Quellen zu Gruppen zusammengefaßt sind, und mit einer Software (SW) zum Lokalisieren des gesuchten Interrupts innerhalb seiner Gruppe und zum nachfolgenden Abarbeiten einer für die dem gesuchten Interrupt zugeordneten Quelle im Falle einer Unterbrechung vorgesehenen Routine, dadurch gekennzeichnet daß die Hardwareeinrichtung (HW) eine Identifizierungseinrichtung (A) enthält, deren Eingänge allen Gruppen zugeordnet sind, wobei die Identifizierungseinrichtung feststellt, in welcher Gruppe eine Unterbrechungsanforderung vorliegt, und deren Ausgang ein der die Unterbrechungsanforderung enthaltenden Gruppe entsprechender Adreßvektor derart an die Software weitergibt, daß der Adreßvektor als Zuordnungsvektor für die Software zum Auffinden der die Unterbrechungsanforderung enthaltenden Gruppe dient.1. Device for finding an interrupt request associated with a source (source) from a large number of possible sources with a hardware device (HW) which contains an interrupt group register for interrupt requests, in each of which several sources are combined into groups, and with software (SW) for locating the searched interrupt within its group and for subsequently executing a routine provided for the source assigned to the searched interrupt in the event of an interruption, characterized in that the hardware device (HW) contains an identification device (A) whose Inputs are assigned to all groups, the identification device determining in which group there is an interrupt request, and the output of which passes an address vector corresponding to the group containing the interrupt request to the software in such a way that the address vector is assigned is the vector for the software to find the group containing the interrupt request. 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Hardwareeinrichtung (HW) eine mit allen Gruppen verknüpfte Benachrichtigungsvorrichtung (B) enthält, deren Ausgang eine Logikinformation (1/0) an die Software (SW) ausgibt, wenn an mindestens einer Gruppe eine Unterbrechungsanforderung vorliegt, derart, daß beim Setzen der Logikinformation der Adreßvektor der Identifizierungseinrichtung (A) von der Software übernehmbar ist.2. Device according to claim 1, characterized in that the Hardware device (HW) one with all groups linked notification device (B) contains the output of which sends logic information (1/0) to the software (SW) outputs if at least one group has one Interruption request exists, such that when  Set the logic information of the address vector Identification device (A) from the software is adoptable. 3. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß jeweils acht mögliche Quellen von Unterbrechungsanforderungen in einem Interrupt-Group-Register zu einer Gruppe zusammengefaßt sind.3. Device according to one of the preceding claims, characterized in that each eight possible sources of interrupt requests in an interrupt group register to a group are summarized. 4. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Ausgänge einer Gruppe innerhalb des Interrupt-Group- Registers über ein ODER-Gatter zusammengefaßt werden.4. Device according to one of the preceding claims, characterized in that the Outputs of a group within the interrupt group Registers are summarized via an OR gate. 5. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Identifizierungseinrichtung (A)
  • - einen Multiplexer (M1) umfaßt, dessen Eingangssignale durch die Ausgangssignale der Gruppen gebildet werden, zum sequentiellen Abtasten der Ausgangssignale mit einer bestimmten Taktfrequenz
  • - sowie einen Zähler (Z) , dessen einer Eingang (disable) mit dem Ausgang des Multiplexers (M1) verbunden ist, zum Ändern eines Adreßvektors mit der Taktfrequenz, zum Stoppen des Änderns des Adreßvektors bei Eingabe eines Stopsignals durch den Ausgangswert des Multiplexers (M1), zum zur Verfügung Stellen des Adreßvektors für die Software (SW) und zum Steuern des Multiplexers (M1) mit dem aktuellen Adreßvektor.
5. Device according to one of the preceding claims, characterized in that the identification device (A)
  • - A multiplexer (M1), whose input signals are formed by the output signals of the groups, for sequential sampling of the output signals with a certain clock frequency
  • - And a counter (Z), one input (disable) of which is connected to the output of the multiplexer (M1), for changing an address vector at the clock frequency, for stopping the change of the address vector upon input of a stop signal by the output value of the multiplexer (M1 ), to provide the address vector for the software (SW) and to control the multiplexer (M1) with the current address vector.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der Zähler (Z) mit jedem Takt den Wert des Adreßvektors um eins hochzählt, solange keine Unterbrechungsanforderung detektiert wurde, und auf "Null" zurückgesetzt wird, wenn der Adreßvektor den Wert "X" erreicht hat, wobei X der Anzahl der Gruppen entspricht.6. The device according to claim 5, characterized in that the Counter (Z) with each clock by the value of the address vector counts up one as long as no interrupt request  was detected, and is reset to "zero" when the address vector has reached the value "X", where X is the Number of groups corresponds. 7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß eine Verbindung zwischen Software (SW) und Zähler (Z) besteht, zum Übertragen eines Signals von der Software (SW) an den Zähler (Z), auf das hin nach der Übernahme des Wertes durch die Software der Zähler um eins hochgesetzt und die weitere Abfrage der Gruppen wieder aktiviert wird.7. The device according to claim 6, characterized in that a There is a connection between software (SW) and counter (Z), to transmit a signal from the software (SW) to the Counter (Z), after which the value has been accepted incremented by one by the software and the further query of the groups is activated again. 8. Vorrichtung nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß die Identifizierungseinrichtung (A) einen weiteren Multiplexer (M2) umfaßt, an dessen einem Eingang ein "Leerzustand" (Idle)-Wert und an dessen anderen Eingang der von dem Zähler (Z) ausgegebene Adreßvektor anliegt, zum Ausgeben des entsprechend dem Ausgang des Multiplexers (M1) ausgewählten Wertes an die Software.8. Device according to one of claims 5 to 7, characterized in that the Identification device (A) another Multiplexer (M2) comprises, at one input "Idle" value and at its other input the address vector output by the counter (Z) is present, to output the according to the output of the Multiplexers (M1) selected value to the software. 9. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der Adreßvektor der gefundenen Unterbrechungsanforderung einer Gruppe ohne Unterbrechung des Abfragemechanismus an die Software weitergebbar ist.9. The device according to claim 5, characterized in that the Address vector of the interrupt request found a group without interrupting the polling mechanism the software can be passed on. 10. Vorrichtung nach einem der vorangehenden Ansprüche 2 bis 9, dadurch gekennzeichnet, daß die Benachrichtigungsvorrichtung ein Flipflop (F) zum Weitergeben einer Unterbrechungsanforderung von den Gruppen, deren Ausgangssignale über ein ODER-Gatter (G1) verknüpft sind, an die Software umfaßt. 10. Device according to one of the preceding claims 2 to 9, characterized in that the Notification device a flip-flop (F) for Pass an interrupt request from the Groups whose output signals via an OR gate (G1) are linked to the software includes.   11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die Benachrichtigungsvorrichtung (B) ein AND-Gatter (G2) umfaßt, an dessen ersten Eingang das Ausgangssignal des ODER-Gatters (G3) anliegt und an dessen zweiten Eingang das Ausgangssignal des Multiplexers (M1) anliegt, zum Ausgeben einer Unterbrechungsanforderung an das Flipflop (F), wenn sowohl eine Unterbrechungsanforderung von der Gesamtheit der Gruppen gemeldet wurde als auch die konkrete Gruppe, von der die Meldung kam, von dem Multiplexer (M1) bereits detektiert wurde.11. The device according to claim 10, characterized in that the Notification device (B) an AND gate (G2) comprises, at the first input of the output signal of the OR gate (G3) is present and at its second input the output signal of the multiplexer (M1) is present for Issuing an interrupt request to the flip-flop (F) if both an interrupt request from the All of the groups were reported as well concrete group from which the message came, from Multiplexer (M1) has already been detected. 12. Vorrichtung nach Anspruch 10 oder 11, dadurch gekennzeichnet, daß die Benachrichtigungsvorrichtung (B) ein weiteres ODER-Gatter (G4) umfaßt, an dessen erstem Eingang das Ausgangssignal des Multiplexers (M1) anliegt, an dessen zweiten Eingang das Ausgangssignal des Flipflops (F) anliegt und dessen Ausgangssignal das zweite Eingangssignal des AND-Gatters (G3) liefert.12. The apparatus of claim 10 or 11, characterized in that the Notification device (B) another OR gate (G4) comprises the output signal at its first input of the multiplexer (M1) is present at its second input the output signal of the flip-flop (F) is present and its Output signal the second input signal of the AND gate (G3) returns. 13. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß den einzelnen Gruppen mindestens zwei verschiedene Prioritäten zugeordnet sind, wobei jeweils den Gruppen einer Priorität eine eigene Identifizierungseinrichtung (A) zugeordnet ist.13. Device according to one of the preceding claims, characterized in that the individual groups at least two different ones Priorities are assigned, with each group a priority has its own identification facility (A) is assigned. 14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, daß jeweils den Gruppen einer Priorität eine eigene Benachrichtigungseinrichtung (B) zugeordnet ist. 14. The apparatus according to claim 13, characterized in that each the groups of a priority their own Notification device (B) is assigned.   15. Vorrichtung nach einem der Ansprüche 13 oder 14, gekennzeichnet durch ein ODER-Gatter (G4), dessen Eingänge die Ausgänge aller Benachrichtigungseinrichtungen bilden und dessen Ausgang mit der Software (SW) zur Benachrichtigung über eine Unterbrechungsanforderung verbunden ist.15. The device according to one of claims 13 or 14, characterized by an OR gate (G4), whose inputs are the outputs of all Form notification facilities and its exit with the software (SW) for notification of a Interrupt request is connected. 16. Vorrichtung nach einem der Ansprüche 13, 14 oder 15, gekennzeichnet durch einen Multiplexer (M3), dessen Eingänge mit den Ausgängen der Identifizierungseinrichtungen (A) verbunden sind, wobei der Multiplexer (M3) von den Ausgängen der Benachrichtigungsvorrichtungen gesteuert wird zum Ausgeben eines Adreßvektors der höchsten Priorität an die Software (SW)16. The device according to one of claims 13, 14 or 15, marked by a multiplexer (M3) whose inputs match the outputs the identification devices (A) are connected, the multiplexer (M3) from the outputs of the Notification devices are controlled for Output a top priority address vector to the Software (SW) 17. Verfahren zum Auffinden einer einer Quelle (source) zugeordneten Unterbrechungsanforderung (interrupt) aus einer Vielzahl möglicher Quellen, bei dem in einer Hardwareeinrichtung (HW) ein Register (interrupt group register) für Unterbrechungsanforderungen enthalten ist, in dem jeweils mehrere Quellen zu Gruppen zusammengefaßt sind, und bei dem eine Software (SW) verwendet wird zum Lokalisieren des gesuchten Interrupts innerhalb seiner Gruppe und zum nachfolgenden Abarbeiten einer für die dem gesuchten Interrupt zugeordneten Quelle im Falle einer Unterbrechung vorgesehenen Routine, dadurch gekennzeichnet, daß mittels einer in der Hardwareeinrichtung (HW) enthaltenden Identifizierungseinrichtung (A), deren Eingänge allen Gruppen zugeordnet sind, feststellt wird, in welcher Gruppe eine Unterbrechungsanforderung vorliegt, und von deren Ausgang ein der die Unterbrechungsanforderung enthaltenden Gruppe entsprechender Adreßvektor derart an die Software weitergegeben wird, daß der Adreßvektor als Zuordnungsvektor für die Software zum Auffinden der die Unterbrechungsanforderung enthaltenden Gruppe dient.17. Method of finding a source assigned interrupt request a variety of possible sources, in which in one Hardware device (HW) a register (interrupt group register) is included for interrupt requests, in which several sources are grouped together are, and in which software (SW) is used for Localize the searched interrupt within its Group and for subsequent processing one for the Interrupt assigned source in case of a Interruption scheduled routine, characterized in that by means of one contained in the hardware device (HW) Identification device (A), the inputs of all Groups are assigned, it is determined in which Group has an interrupt request, and from whose output is one of the interrupt request containing group corresponding address vector the software is passed on that the address vector as  Assignment vector for the software for locating the Group containing interrupt request is used. 18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, daß mittels einer in der Hardwareeinrichtung (HW) enthaltenen, mit allen Gruppen verknüpften Benachrichtigungsvorrichtung (B) eine Logikinformation (1/0) an die Software (SW) ausgegeben wird, wenn an mindestens einer Gruppe eine Unterbrechungsanforderung vorliegt derart, daß beim Setzen der Logikinformation der Adreßvektor der Identifizierungseinrichtung (A) von der Software übernommen wird.18. The method according to claim 17, characterized in that by means of one contained in the hardware device (HW) with notification device associated with all groups (B) logic information (1/0) to the software (SW) is output if at. at least one group Interruption request is such that when Set the logic information of the address vector Identification device (A) from the software is taken over. 19. Verfahren nach einem der vorangehenden Ansprüche 17 oder 18, dadurch gekennzeichnet, daß die Eingangsignale eines in der Identifizierungseinrichtung (A) enthaltenen Multiplexers durch die Ausgangssignale der Gruppen gebildet werden, zum sequentiellen Abtasten der Ausgangssignale mit einer bestimmten Taktfrequenz und daß mittels eines in der Identifizierungseinrichtung (A) enthaltenen Zählers (Z), dessen einer Eingang (disable) mit dem Ausgang des Multiplexers (M1) verbunden ist, ein Adreßvektor mit der Taktfrequenz geändert wird, die Änderung des Adreßvektors bei Eingabe eines Stopsignals durch den Ausgangswert des Multiplexers (M1) gestopt wird, und der Adreßvektor für die Software (SW) und zum Steuern des Multiplexers (M1) mit dem aktuellen Adreßvektor zur Verfügung gestellt wird.19. The method according to any one of the preceding claims 17 or 18, characterized in that the Input signals one in the identification device (A) contained multiplexers by the output signals of the groups are formed for sequential scanning the output signals with a certain clock frequency and that by means of a in the identification device (A) contained counter (Z), one input (disable) is connected to the output of the multiplexer (M1) Address vector is changed at the clock frequency that Change of the address vector when entering a stop signal stopped by the output value of the multiplexer (M1) is, and the address vector for the software (SW) and for Controlling the multiplexer (M1) with the current one Address vector is provided. 20. Verfahren nach einem der vorangehenden Ansprüche 17 bis 19, dadurch gekennzeichnet, daß den einzelnen Gruppen mindestens zwei verschiedene Prioritäten zugeordnet sind, wobei jeweils den Gruppen einer Priorität eine eigene Identifizierungseinrichtung (A) zugeordnet ist.20. The method according to any one of the preceding claims 17 until 19, characterized in that the individual groups at least two different ones Priorities are assigned, with each group  a priority has its own identification facility (A) is assigned. 21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß jeweils den Gruppen einer Priorität eine eigene Benachrichtigungseinrichtung (B) zugeordnet ist.21. The method according to claim 20, characterized in that each the groups of a priority their own Notification device (B) is assigned.
DE1997131634 1997-07-23 1997-07-23 Apparatus and method for finding an interrupt request associated with a source Withdrawn DE19731634A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE1997131634 DE19731634A1 (en) 1997-07-23 1997-07-23 Apparatus and method for finding an interrupt request associated with a source
PCT/EP1998/004555 WO1999005605A1 (en) 1997-07-23 1998-07-21 A device and a process for the locating of an interrupt request allocated to a source
AU87320/98A AU8732098A (en) 1997-07-23 1998-07-21 A device and a process for the locating of an interrupt request allocated to a source

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1997131634 DE19731634A1 (en) 1997-07-23 1997-07-23 Apparatus and method for finding an interrupt request associated with a source

Publications (1)

Publication Number Publication Date
DE19731634A1 true DE19731634A1 (en) 1999-01-28

Family

ID=7836631

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997131634 Withdrawn DE19731634A1 (en) 1997-07-23 1997-07-23 Apparatus and method for finding an interrupt request associated with a source

Country Status (3)

Country Link
AU (1) AU8732098A (en)
DE (1) DE19731634A1 (en)
WO (1) WO1999005605A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19837074C2 (en) * 1997-09-02 2000-10-26 Ford Global Tech Inc Feedback control for desulfurization of a NOx trap
DE10115885A1 (en) * 2001-03-30 2002-10-17 Infineon Technologies Ag Management system for real-time interrupt requests e.g. for computing and processing resources units, includes priority decoder for each of three planes

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083261A (en) * 1983-11-03 1992-01-21 Motorola, Inc. Dynamically alterable interrupt priority circuit
US5146595A (en) * 1987-11-11 1992-09-08 Fujitsu Limited Grouping device for forming input signals into groups
EP0509746A2 (en) * 1991-04-15 1992-10-21 Nec Corporation Interruption circuit for use with a central processing unit
US5257383A (en) * 1991-08-12 1993-10-26 Stratus Computer, Inc. Programmable interrupt priority encoder method and apparatus
EP0742522A1 (en) * 1995-05-12 1996-11-13 STMicroelectronics Limited Processor interrupt control
EP0775959A2 (en) * 1995-11-27 1997-05-28 Digital Equipment Corporation Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE887134A (en) * 1979-12-14 1981-05-14 Gte Automatic Electric Lab Inc INTERRUPTION EXPANSION CIRCUIT
IT1140233B (en) * 1981-10-20 1986-09-24 Italtel Spa INPUT-OUTPUT INTERFACE CIRCUIT CONTROL UNIT OF AN ELECTRONIC PROCESSOR
US5101199A (en) * 1987-09-30 1992-03-31 Kabushiki Kaisha Toshiba Polling method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083261A (en) * 1983-11-03 1992-01-21 Motorola, Inc. Dynamically alterable interrupt priority circuit
US5146595A (en) * 1987-11-11 1992-09-08 Fujitsu Limited Grouping device for forming input signals into groups
EP0509746A2 (en) * 1991-04-15 1992-10-21 Nec Corporation Interruption circuit for use with a central processing unit
US5257383A (en) * 1991-08-12 1993-10-26 Stratus Computer, Inc. Programmable interrupt priority encoder method and apparatus
EP0742522A1 (en) * 1995-05-12 1996-11-13 STMicroelectronics Limited Processor interrupt control
EP0775959A2 (en) * 1995-11-27 1997-05-28 Digital Equipment Corporation Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Hardware Determination of Active Interrupt Sources", in: IBM Technical Disclosure Bulletin, Vol. 36, No. 05, Mai 1993, S. 153-154 *
"Interrupt Service Allocation Technique for the Micro Channel Bus", in: IBM Technical Disclosure Bulletin, Vol. 33, No. 1A, Juni 1990, S. 298-304 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19837074C2 (en) * 1997-09-02 2000-10-26 Ford Global Tech Inc Feedback control for desulfurization of a NOx trap
DE10115885A1 (en) * 2001-03-30 2002-10-17 Infineon Technologies Ag Management system for real-time interrupt requests e.g. for computing and processing resources units, includes priority decoder for each of three planes
DE10115885B4 (en) * 2001-03-30 2006-09-21 Infineon Technologies Ag Arrangement for prioritizing an interrupt

Also Published As

Publication number Publication date
AU8732098A (en) 1999-02-16
WO1999005605A1 (en) 1999-02-04

Similar Documents

Publication Publication Date Title
DE3300263C2 (en)
DE69023018T2 (en) Processor interrupt control.
DE2629459C2 (en)
DE3224034C2 (en)
DE3300262C2 (en)
DE69028190T2 (en) Method and device for software monitoring and development
DE68925466T2 (en) Timer circuit
DE2722124A1 (en) ARRANGEMENT FOR DETERMINING THE PRIORITY RANK IN A DP SYSTEM
DE2744531A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
DE2523372B2 (en) Input-output port controller
DE2054830C3 (en) Information processing system with means for accessing memory data fields of variable length
DE69025524T2 (en) Device and method for controlling memory access requests in a digital data processing system
DE2164793A1 (en) Method and data processing system for controlling a large number of input / output units by means of a central unit
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
DE1191145B (en) Electronic number calculator
DE3856342T2 (en) Bus error processing system
EP0419723B1 (en) Method and interrupt controller for treating i/o operation interrupt requests in a virtual machine system
EP0057755B1 (en) Microcomputer system for rapidly finding blocks of signs
DE19731634A1 (en) Apparatus and method for finding an interrupt request associated with a source
DE2751307C2 (en) Device for controlling an IS glass forming machine
DE69217408T2 (en) Method and apparatus for message selection which can be used by a local unit connected to a digital transmission system
DE3149926A1 (en) PROGRAMMABLE COMPARISON
EP0217358A2 (en) Method and circuitry for the contents addressing of a memory
DE3204098C2 (en)
DE4318317A1 (en) Data processing system for sequential operations - has processor coupled to multi channel RAM memories controlled to provide rapid access to data and execution of next operation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: NOKIA NETWORKS OY, ESPOO, FI

8130 Withdrawal