DE10229945A1 - Microprocessor interrupt controller has means for processing interrupts such that requests of lower priority do not execute ahead of higher priority requests, provided they are still within their given latency time - Google Patents

Microprocessor interrupt controller has means for processing interrupts such that requests of lower priority do not execute ahead of higher priority requests, provided they are still within their given latency time

Info

Publication number
DE10229945A1
DE10229945A1 DE2002129945 DE10229945A DE10229945A1 DE 10229945 A1 DE10229945 A1 DE 10229945A1 DE 2002129945 DE2002129945 DE 2002129945 DE 10229945 A DE10229945 A DE 10229945A DE 10229945 A1 DE10229945 A1 DE 10229945A1
Authority
DE
Germany
Prior art keywords
interrupt
interrupt request
request signals
priority
state machine
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.)
Ceased
Application number
DE2002129945
Other languages
German (de)
Inventor
Dieter E Staiger
Reiner Rieke
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10229945A1 publication Critical patent/DE10229945A1/en
Ceased 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

Interrupt controller comprises parallel input (30) for receipt of a first interrupt request signal, means (31) for output of a second interrupt request signal as a reaction to the first interrupt request signal, state processing means (32) for determining interrupt priority, memory (37) for storing addresses of interrupt servicing programs whereby each servicing program handles an interrupt signal and means (36) for selection of an address based on the priority.

Description

BEREICH DER ERFINDUNGFIELD OF THE INVENTION

Die vorliegende Erfindung betrifft allgemein das Gebiet der Verarbeitung von Unterbrechungsanforderungen. Insbesondere betrifft die Erfindung Interrupt-Controller und die effektive Übermittlung von Unterbrechungen auf ein Mikroprozessorsystem. The present invention relates generally to the field of Interrupt request processing. In particular The invention relates to interrupt controllers and the effective Submission of interruptions to a Microprocessor system.

DER ERFINDUNG ZUGRUNDELIEGENDER ALLGEMEINER STAND DER TECHNIKGENERAL PRIOR ART BASED ON THE INVENTION STAND DER TECHNIKSTATE OF THE ART

Eine Vorrichtung (z. B. eine Steuereinheit für ein Speicherlaufwerk) eines Computersystems kann mit einem Mikroprozessor eines Systems zusammenwirken, um eine spezifische Funktion (z. B. Abrufen von Daten von einer Festplatte) auszuführen. Während dieses Zusammenwirkens kann es z. B. nötig werden, im Gang befindliche Operationen des Mikroprozessors zeitweilig zu unterbrechen, damit der Mikroprozessor die Vorrichtung bedienen kann. A device (e.g. a control unit for a Storage drive) of a computer system can with a A system's microprocessor interact to create a specific function (e.g. retrieving data from a Hard disk). During this interaction it z. B. necessary, operations in progress Interrupt microprocessor temporarily so that the Microprocessor can operate the device.

Zum. Beispiel kann der Mikroprozessor einen Speicherlaufwerk- Controller anweisen, einen Datenblock von einem Festplattenlaufwerk abzurufen, und während der Speicherlaufwerk-Controller die Daten abruft, kann der Mikroprozessor andere Operationen durchführen, wie z. B. einen Programmcode abarbeiten. Nachdem der Controller die Daten abgerufen und die Daten in einem Systemspeicher abgespeichert hat, kann dann der Controller den Mikroprozessor informieren. To the. For example, the microprocessor can Instruct a block of data from a controller Get hard drive, and during the Storage drive controller retrieves the data, the Microprocessor perform other operations such as B. one Execute program code. After the controller receives the data called up and the data stored in a system memory the controller can then inform the microprocessor.

Ein Weg für den Controller zum Informieren des Mikroprozessors ist das Generieren einer Unterbrechungsanforderung. Als Reaktion auf die Unterbrechungsanforderung hält der Mikroprozessor in der Regel jede im Gang befindliche Operation an, z. B. das Lesen der Daten aus dem Systemspeicher, und trifft Entscheidungen aufgrund dieser Daten. A way for the controller to inform the Microprocessor is generating one Interrupt request. In response to that The microprocessor holds the interrupt request in the Rule every operation in progress, e.g. B. reading of data from system memory, and make decisions based on this data.

Eine Unterbrechungsanforderung wird in der Regel über ein Unterbrechungsanforderungssignal übermittelt. Für eine flankengesteuerte Unterbrechungsanforderung verändert das Unterbrechungsanforderungssignal logische Zustände (wechselt z. B. von einem Zustand logisch "hoch" zu einem Zustand logisch "tief"), um die Unterbrechungsanforderung anzuzeigen. Eine höhengesteuerte Unterbrechungsanforderung wird in der Regel durch den logischen Zustand (entweder hoch oder tief) des Unterbrechungsanforderungssignals angezeigt. Also wird eine flankengesteuerte Unterbrechungsanforderung durch einen vorgegebenen Übergang des Unterbrechungsanforderungssignals angezeigt, und eine höhengesteuerte Unterbrechungsanforderung wird durch eine vorgegebene logische Höhe des Unterbrechungsanforderungssignals angezeigt. An interrupt request is usually made via a Interrupt request signal transmitted. For one edge-controlled interrupt request changes that Interrupt request signal logic states (changes z. B. from a state logically "high" to a state logic "deep") to indicate the interrupt request. A height-controlled interrupt request is made in the Rule by logical state (either high or low) of the interrupt request signal is displayed. So will an edge-triggered interrupt request by a predetermined transition of the interrupt request signal displayed, and an elevation interrupt request is determined by a predetermined logical amount of Interrupt request signal displayed.

Ein typisches Computersystem weist viele Vorrichtungen auf, auf die der Mikroprozessors achten muss, und somit gibt es viele Vorrichtungen, die Unterbrechungsanforderungen generieren müssen. Jedoch weist der Mikroprozessor möglicherweise nur einen einzigen Eingangskontaktstift auf und kann daher nur eine einzige Unterbrechungsanforderung auf einmal bearbeiten. A typical computer system has many devices that the microprocessor has to watch out for, and so there is many devices that have interrupt requests have to generate. However, the microprocessor possibly only a single input contact pin and therefore can only handle a single interrupt request edit once.

Aus US-A-6,192,442 ist ein Interrupt-Controller bekannt, der Unterbrechungsanforderungssignale von den Vorrichtungen empfängt, die Prioritäten der Unterbrechungsanforderungen, die durch diese Signale angezeigt werden, bestimmt und die Unterbrechungsanforderungen jeweils einzeln zu dem Mikroprozessor zur Ausführung schickt. Der Interrupt- Controller enthält Leiter zum Aufnehmen der Unterbrechungsanforderungssignale, einen Speicher, ein Register und eine Steuerlogik. Jedes der Unterbrechungsanforderungssignale ist in der Lage, eine Unterbrechungsanforderung anzuzeigen. Der Speicher ist in der Lage, Informationen über die Unterbrechungsanforderungssignale zu speichern, und das Register kann beschrieben werden, um einen Satz Speicherstellen zum Abtasten zu identifizieren. Die Steuerlogik tastet nur den Satz Speicherstellen auf Unterbrechungsanforderungen und keine anderen Speicherstellen auf Unterbrechungsanforderungen ab. In einigen Fällen überschreitet die Anzahl der Unterbrechungsanforderungssignale die Anzahl der Speicherstellen. In diesen Fällen werden Informationen über angewählte Unterbrechungssignale an den Speicherstellen gespeichert. From US-A-6,192,442 an interrupt controller is known which Interrupt request signals from the devices receives the priorities of the interrupt requests, which are indicated by these signals, determined and the Interruption requests individually for each Microprocessor for execution. The interrupt Controller contains conductors for receiving the Interrupt request signals, a memory Register and control logic. Each of the Interrupt request signals are able to receive a Display interrupt request. The store is in the Location, information about the Store interrupt request signals, and that Register can be written to a sentence Identify memory locations for scanning. The Control logic only samples the set of memory locations Interrupt requests and no other storage locations on interrupt requests. In some cases exceeds the number of Interrupt request signals the number of Memory locations. In these cases, information about selected interrupt signals at the storage locations saved.

Ferner ist auf dem Stand der Technik bekannt, dass die Kommunikation zwischen einer Kommunikationskarte und einem externen Prozessor, wie dem Prozessor auf einer Host- Controller-Karte, oder einem Systemeinheit-Prozessor, mittels Interrupts ausgeführt werden kann. Zum Beispiel zeigt US-A- 6,233,643 einen Apparat einschließlich eines Host-Prozessors und Kommunkationsadaptern, die über einen Bus verschaltet sind. Die Kommunikations-Adapter enthalten jeweils eine Anzahl digitaler Signalprozessoren und Netzwerk- Schnittstellenschaltungen zum Anschließen einer Mehrkanal- Telefonleitung. Ein Bus, der die Kommunikationsadapter verbindet, kann Daten zwischen einer Netzwerkleitung, die an einen der Adapter angeschossen ist, und den digitalen Signalprozessoren der anderen Adapter übermitteln. Die Digitalsignalprozessoren auf jeder Karte sind verbunden mit einem Host- oder Controller-Prozessor. Jeder Digitalsignalprozessor unterbricht seinen Host-Prozessor durch Übertragen eines Interrupt-Steuerblocks als Daten zu einem Datenspeicher des Host-Prozessors und durch anschließend Senden eines Interrupts, das bewirkt, dass der Host-Prozessor den Datenspeicher prüft. Vorzugsweise beinhaltet der Interruptsteuerblock Daten, die eine Anzahl angeforderter Unterbrechungen darstellen. Furthermore, it is known in the prior art that the Communication between a communication card and one external processor, such as the processor on a host Controller card, or a system unit processor, by means of Interrupts can be executed. For example, US-A- 6,233,643 an apparatus including a host processor and communication adapters, which are interconnected via a bus are. The communication adapters each contain one Number of digital signal processors and network Interface circuits for connecting a multi-channel Telephone line. A bus that is the communication adapter connects data between a network line connected to one of the adapters is connected, and the digital one Send signal processors of the other adapters. The Digital signal processors on each card are connected to a host or controller processor. Everyone Digital signal processor interrupts its host processor by transmitting an interrupt control block as data a data memory of the host processor and through then sending an interrupt that causes the Host processor checks the data storage. Preferably the interrupt control block contains data that is a number represent requested interruptions.

US-Pat. Nr. 4,991,169 beschreibt die Anwendung eines dualen digitalen Signal-Prozessors (DSP), um Realzeit-Links zwischen Zeitvielfachkanälen eines digitalen Trägersystems (z. B. T-1) und einem Host-Datenprozessor vorzusehen. Beim Arbeiten nur mit digitalen Signalen, intern und an seinen Schnittstellen mit dem Träger- und dem Host-System, tauscht der DSP Daten und Steuersignalinformationen mit dem Trägersystem und Daten und Steuerinformationen mit dem Host-Prozessor aus, wandelt die Daten beim Durchlauf in unterschiedliche Digitalformen um. An der Schnittstelle zum Trägersystem werden die Signale aufgenommen und in eine Form übertragen, die an verschiedene Terminal-Geräte von Anwendern angepasst und mit dem Trägersystem über das geschaltete öffentliche Netzwerk entfernt verbunden sind. An der Host-Schnittstelle werden Signale in einer geeigneten Form übertragen und empfangen, die für die Datenverarbeitungs-Anforderungen des Host-Systems geeignet ist (z. B. Datenbytes, die direkt alphanumerische Zeichen darstellen). Der DSP arbeitet als gleichwertiges Gerät für mehrfache unterschiedliche Typen von Modems bei der Durchführung geforderter Umwandlungen. Der DSP kann auch Bearbeitungsdienste leisten, um die Bearbeitungslast an das Host-System zu reduzieren (d. i. Parity-Überprüfen von Daten, Erfassen von spezifischen Schriftzeichenfunktionen in Daten oder von spezifischen Tönen in Audio-Signalen, und selektives Stummschalten von Stimme-an-Host-Speichern für Sprachkommunikationssystem-Anwendungen. US Pat. No. 4,991,169 describes the use of a dual digital signal processor (DSP) to real-time links between Time multiple channels of a digital carrier system (e.g. T-1) and to provide a host data processor. When working only with digital signals, internally and at its interfaces with the carrier and the host system, the DSP exchanges data and control signal information with the carrier system and data and control information with the host processor the data in different digital forms during the run around. The signals are at the interface to the carrier system recorded and transferred into a form that is different Terminal devices adapted by users and with the Carrier system via the switched public network are remotely connected. Be on the host interface Transmit and receive signals in a suitable form, for the data processing requirements of the host system is suitable (e.g. data bytes that are directly alphanumeric Represent characters). The DSP works as an equivalent Device for multiple different types of modems in the Implementation of required conversions. The DSP can too Provide machining services to the machining load on the Reduce host system (i.e. parity checking of data, Capture specific character functions in data or of specific tones in audio signals, and selective Mute voice-to-host memories for Voice communication system applications.

US-Pat. Nr. 5,553,293 beschreibt eine Zwischenrechner- Interrupt-Einheit (IIU) zum Bearbeiten von Interrupts zwischen einem Fernprozessor und einem Host-Prozessor in einem Mehrprozessor-System. Die IIU ruft vom Bearbeitungsunterbrechungen betroffene Aufgaben vom Operationskern des Fernprozessors ab. Steuerblöcke mit Interrupt-Informationen und -befehlen werden durch den Fernprozessor im Data Random Access Memory (DRAM- Direktzugriffsspeicher) gespeichert. Der Fernprozessor packt einen Puffer aus Steuerblock-Speicheradressen in den DRAM für die IIU als Zugriff zum Abrufen der Steuerblöcke vom DRAM. Die IIU erhält einen Steuerblock und lädt den Steuerblock in Register. Die IIU gibt dann eine Unterbrechungsanforderung an den Host-Prozessor. Der Host-Prozessor erhält die Unterbrechungsanforderung und zeigt der IIU, dass der Interrupt bearbeitet wurde. Die IIU unterrichtet dann den Fernprozessor, dass der Interrupt bearbeitet wurde. Die IIU kann so programmiert werden, dass sie den Fernprozessor über den Abschluss entweder durch einen Interrupt oder durch Setzen eines Status-Flag in den DRAM unterrichtet. US Pat. No. 5,553,293 describes an intermediate computer Interrupt unit (IIU) for processing interrupts between a remote processor and a host processor in a multiprocessor system. The IIU calls from Processing interruptions affected tasks by Core of the remote processor. Control blocks with Interrupt information and commands are processed by the Remote processor in data random access memory (DRAM Random access memory). The remote processor packs a buffer of control block memory addresses in the DRAM for the IIU as access to retrieve the control blocks from the DRAM. The IIU receives a control block and loads the control block in Register. The IIU then issues an interrupt request the host processor. The host processor receives the Interrupt request and shows the IIU that the Interrupt was processed. The IIU will then inform the Remote processor that the interrupt was processed. The IIU can be programmed to use the remote processor completion either by an interrupt or by Teaches a status flag in the DRAM.

US-Pat. Nr. 5,572,695 beschreibt ein digitales Signalverarbeitungssystem einschließlich erster und zweiter logischer Speicherabbildungseinheiten, die entsprechend mit ersten und zweiten digitalen Prozessoren und mit einer Datenspeichereinheit gekoppelt sind. Die erste und die zweite Abbildungseinheit sind wirksam zum Aufnehmen (i) erster und zweiter logischer Adressen, die von dem ersten bzw. dem zweiten digitalen Prozessor generiert wurden, und (ii) erster und zweiter Adressenabbildungsinformationen, und generieren erste und zweite physikalische Adressen, so dass jeder der digitalen Prozessoren unabhängig Zugriff auf beliebige einer Vielzahl von Speicherstellen in der Datenspeichereinheit nehmen kann. US Pat. No. 5,572,695 describes a digital one Signal processing system including first and second logical memory mapping units corresponding to first and second digital processors and with one Data storage unit are coupled. The first and the second Imaging units are effective for capturing (i) first and second logical addresses from the first and the second digital processor was generated, and (ii) first and second address mapping information, and generate first and second physical addresses so that each of the digital processors independently access any one Plenty of storage locations in the data storage unit can take.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Es ist daher eine Aufgabe der vorliegenden Erfindung, einen verbesserten Interrupt-Controller sowie eine verbesserte Methode zum Übertragen einer Unterbrechungsanforderung bereitzustellen. It is therefore an object of the present invention to provide a improved interrupt controller as well as an improved Method of transmitting an interrupt request provide.

Diese Aufgabe wird gelöst durch Anwenden der entsprechenden Merkmale der unabhängigen Ansprüche. This problem is solved by applying the appropriate Features of the independent claims.

Bevorzugte Ausführungsformen der Erfindung sind gegeben durch die abhängigen Ansprüche. Preferred embodiments of the invention are given by the dependent claims.

Die Erfindung sieht vor ein wirksames Mittel zum Übermitteln von Unterbrechungsanforderungen an ein Mikroprozessorsystem mit verkleinerten Interrupt-Latenzzeiten. Damit wird die Zeitverzögerung zum Bedienen der Unterbrechungsanforderungen beträchtlich reduziert. The invention provides an effective means of transmission interrupt requirements for a microprocessor system with reduced interrupt latency. With that the Time delay to service the interrupt requests considerably reduced.

Gemäß einer bevorzugten Ausführungsform der Erfindung wird die Prioritätsfeststellung der Interruptanforderung beträchtlich beschleunigt und kann wirksam modifiziert werden. According to a preferred embodiment of the invention the priority determination of the interrupt request considerably accelerated and can be modified effectively become.

Die Erfindung ist besonders vorteilhaft, weil sie ermöglicht, die Anforderung an Prozessorleistung durch Hinzufügen nur einer minimalen Menge zusätzlicher Schaltung zu reduzieren. Insbesondere ermöglicht das die kostenwirksamen Unterbrechungsbearbeitungslösungen mit reduzierten Anforderungen an Prozessorleistung und Merkmale und mit nur minimaler zusätzlicher Hardware für den Interrupt-Controller. The invention is particularly advantageous because it enables the processor performance requirement by adding only to reduce a minimal amount of additional circuitry. In particular, this enables the cost-effective Interrupt processing solutions with reduced Requirements for processor performance and features and with only minimal additional hardware for the interrupt controller.

Es ist ein besonderer Vorteil der Erfindung, dass die Last auf das Betriebssystem des Prozessors wesentlich reduziert wird, d. h., es ist nicht länger nötig, dass das Betriebssystem die Anzahl der installierten Steuerprogramme bestimmt, damit es alle Steuerprogramme bearbeiten kann. It is a particular advantage of the invention that the load significantly reduced to the operating system of the processor will, d. that is, it is no longer necessary for that Operating system the number of control programs installed determined so that it can process all control programs.

Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung können Unterbrechungsanforderungen aufbereitet d. i. gefiltert und/oder maskiert werden, um die Wirksamkeit und Flexibilität der Abarbeitung der Unterbrechungsanforderungen noch weiter zu erhöhen. According to a further preferred embodiment of the Invention can process interrupt requests d. i. filtered and / or masked for effectiveness and Flexibility in processing interrupt requests to increase even further.

Es ist ein weiterer besonderer Vorteil der Erfindung, dass sie ermöglicht, die im Betriebssystem induzierte Latenzzeit für die Abarbeitung der Unterbrechungsanforderungen zu minimieren. It is another particular advantage of the invention that it enables the latency induced in the operating system for processing the interruption requests minimize.

Gemäß einer bevorzugten Ausführungsform der Erfindung wird der Interrupt-Controller mittels einer programmierbaren logischen Anordnung (PLA - programmierbare Logikanordnung) implementiert. Die PLAs werden vor den Interrupt-Eingang des entsprechenden Mikroprozessorsystems, wie z. B. eine zentrale Verarbeitungseinheit (CPU) eingefügt. According to a preferred embodiment of the invention the interrupt controller by means of a programmable logical arrangement (PLA - programmable logic arrangement) implemented. The PLAs are in front of the interrupt input of the corresponding microprocessor system, such as. B. a central Processing unit (CPU) inserted.

Alternativ wird der Interrupt-Controller zur Gänze mittels einer programmierbaren applikations-spezifischen integrierten Schaltung (pASIC) und/oder mittels eines feldprogrammierbaren Gate Array (FPGA), das vor den Interrupt-Eingang des entsprechenden Mikroprozessorsystems eingesetzt wird, realisiert. Alternatively, the interrupt controller is entirely by means of a programmable application-specific integrated Circuit (pASIC) and / or by means of a Field programmable gate array (FPGA) that is in front of the Interrupt input of the corresponding microprocessor system is used, realized.

In einer weiteren bevorzugten Ausführungsform wird die Erfindung mittels eines ASIC implementiert, so dass der Interrupt-Controller an die Stelle des gesamten Standard-CPU- Interrupt-Controllers innerhalb des ASIC gesetzt wird. Mit anderen Worten, der Interrupt-Controller kann als ein integraler Teil des Mikroprozessorsystems auf dem gleichen Chip implementiert werden. In a further preferred embodiment, the Invention implemented using an ASIC, so that the Interrupt controller to replace the entire standard CPU Interrupt controller is set within the ASIC. With In other words, the interrupt controller can act as one integral part of the microprocessor system on the same Chip are implemented.

Nachstehend wird eine bevorzugte Ausführungsform der Erfindung in näheren Einzelheiten unter Bezugnahme auf die Zeichnungen erklärt, in diesen: A preferred embodiment of the Invention in more detail with reference to the Drawings explained in these:

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Fig. 1 ist eine illustrative Darstellung einer Ausführungsform des Verfahrens zum Übertragen einer Unterbrechungsanforderung; Fig. 1 is an illustrative view showing one embodiment of the method for transmitting an interrupt request;

Fig. 2 zeigt ein Blockschaltbild einer Ausführungsform eines Interrupt-Controllers. Fig. 2 is a block diagram showing an embodiment of an interrupt controller.

Detaillierte Beschreibung einer bevorzugten AusführungsformDetailed description of a preferred embodiment

Fig. 1 zeigt ein Flussdiagramm zum Behandeln von Unterbrechungsanforderungen einer Anzahl externer Vorrichtungen X, Y, Z . . . Jede der Vorrichtungen X, Y, Z . . . ist verbunden mit dem Interrupt-Controller, der die Unterbrechungsanforderungen über einen entsprechenden gesonderten Kommunikationskanal X, Y, Z, . . . behandelt. Fig. 1 shows a flow diagram for processing interrupt requests of a number of external devices X, Y, Z. , , Each of the devices X, Y, Z. , , is connected to the interrupt controller, which the interrupt requests via a corresponding separate communication channel X, Y, Z,. , , treated.

In Schritt 10 gibt die Vorrichtung 10 ein Unterbrechungsanforderungssignal aus. Das Unterbrechungsanforderungssignal der Vorrichtung X wird über den Kommunikationskanal X zum Interrupt-Controller übertragen. Innerhalb des gleichen Zeitschlitzes oder in nachfolgenden Zeitschlitzen geben die Vorrichtungen Y, Z, . . . über die entsprechenden Kommunikationskanäle Y, Z, . . . in den Schritten 11 und 12 weitere Unterbrechungsanforderungssignale aus. In step 10, the device 10 outputs an interrupt request signal. The interrupt request signal of the device X is transmitted to the interrupt controller via the communication channel X. Within the same time slot or in subsequent time slots, the devices Y, Z,. , , via the corresponding communication channels Y, Z,. , , in steps 11 and 12 from further interrupt request signals.

Alle Unterbrechungsanforderungssignale werden in den Interrupt-Controller eingegeben. In Schritt 13 wird eine Unterbrechungsanforderung erfasst, wenn wenigstens eines der Unterbrechungsanforderungssignale vom Interrupt-Controller empfangen wird. All interrupt request signals are input to the interrupt controller. In step 13 , an interrupt request is detected when at least one of the interrupt request signals is received by the interrupt controller.

Als Reaktion auf das Erfassen einer oder mehrerer der Unterbrechungsanforderungen von einer oder mehreren der Vorrichtungen X, Y, Z . . . werden die entsprechenden Adressen der Vorrichtungen in Schritt 14 ausgegeben. Zum Beispiel kann eine Unterbrechungsanforderung einer der Vorrichtungen an den Interrupt-Prozess-Controller signalisiert werden durch Hochstellen einer Leitung, die dieser Vorrichtung zugeordnet ist. In response to detecting one or more of the interrupt requests from one or more of the X, Y, Z devices. , , the corresponding addresses of the devices are output in step 14 . For example, an interrupt request from one of the devices to the interrupt process controller can be signaled by raising a line associated with that device.

Ohne Einschränkung der Allgemeinheit wird nachstehend angenommen, dass die zwei Vorrichtungen X und Y in den Schritten 10 und 11 Unterbrechungsanforderungssignale ausgegeben haben. Als Folge davon werden die Adressen der Vorrichtungen X und Y in Schritt 14 ausgegeben. Without restricting generality, it is assumed below that the two devices X and Y issued interrupt request signals in steps 10 and 11 . As a result, the addresses of devices X and Y are output in step 14 .

In Schritt 15 werden die Prioritäten der Vorrichtungen X und Y mittels der Adressen der Vorrichtungen X und Y aus einer Registerdatei gelesen. Vorzugsweise wird Schritt 15 mittels einer Zustandsmaschine ausgeführt. In step 15 , the priorities of devices X and Y are read from a register file using the addresses of devices X and Y. Step 15 is preferably carried out by means of a state machine.

In Schritt 16 wählt die Zustandsmaschine die Vorrichtung mit der höchsten Priorität an. Im hier betrachteten Beispiel ist das die Vorrichtung X. In step 16 , the state machine selects the device with the highest priority. In the example considered here, this is device X.

In Schritt 17 wird eine Speicherstelle angewählt, die die Adresse eines Unterbrechungsdienstprogramms zum Behandeln der Unterbrechungsanforderung der Vorrichtung X enthält. In step 17 , a memory location is selected that contains the address of an interrupt utility for handling the interrupt request from device X.

Parallel zu den Schritten 14, 15, 16 und 17 wird in Schritt 18 ein Unterbrechungsanforderungssignal an den entsprechenden Mikroprozessor ausgegeben. Der Mikroprozessor kann Teil eines Mikroprozessorsystems und/oder eine elektronische Steuereinheit, wie zum Beispiel in einer selbstbeweglichen und/oder nichtstationären Kommunikations- und/oder Datenverarbeitungsanlage sein. In parallel with steps 14 , 15 , 16 and 17 , an interrupt request signal is output in step 18 to the corresponding microprocessor. The microprocessor can be part of a microprocessor system and / or an electronic control unit, for example in a self-moving and / or non-stationary communication and / or data processing system.

In dem hier betrachteten Beispiel weist der Prozessor einen Kontaktstift zum Eingeben von Unterbrechungsanforderungssignalen auf. Das in Schritt 18 generierte Unterbrechungssignal wird an diesen Kontaktstift gelegt. In the example considered here, the processor has a contact pin for entering interrupt request signals. The interrupt signal generated in step 18 is applied to this contact pin.

Als Reaktion auf den Eingang des Unterbrechungssignals in Schritt 18 wird im Prozessor eine Routine zum Durchführen einer Leseoperation in Schritt 19 aufgerufen. Mittels der Leseoperation liest der Prozessor die Speicherstelle, die in Schritt 17 angewählt wurde, um auf die Adresse des Unterbrechungsdienstprogramms zuzugreifen zum Behandeln der Unterbrechungsanforderung der Vorrichtung mit der höchsten Priorität, die in Schritt 16 angewählt wurde. In response to the receipt of the interrupt signal in step 18 , a routine for performing a read operation is called in step 19 in the processor. Using the read operation, the processor reads the location selected in step 17 to access the interrupt utility address to handle the interrupt request of the highest priority device selected in step 16 .

In Schritt 20 führt der Prozessor das Unterbrechungsdienstprogramm durch Zugreifen auf die Adresse, die in der Leseoperation in Schritt 19 erhalten wurde, durch. In step 20 , the processor executes the interrupt utility by accessing the address obtained in the read operation in step 19 .

Von Schritt 18 springt die Steuerung zurück zu Schritt 13, um weitere Unterbrechungsanforderungssignale zu erfassen. Das kann ständig gemacht werden, wenn höhengesteuerte Unterbrechungen angewandt werden. Wenn noch immer ein Unterbrechungssignal vorliegt, werden die obigen Schritte 14 bis 20 wiederholt ausgeführt, bis alle Unterbrechungsanforderungssignale von den Vorrichtungen X, Y, Z, . . . gelöscht sind. From step 18 , control jumps back to step 13 to acquire further interrupt request signals. This can be done continuously when using height-controlled interruptions. If an interrupt signal is still present, steps 14 through 20 above are repeated until all interrupt request signals from devices X, Y, Z,. , , are deleted.

Im hier betrachteten Beispiel löscht die Vorrichtung X ihr Unterbrechungsanforderungssignal, sobald ihre Unterbrechungsanforderung durch die Durchführung des Unterbrechungsdienstprogramms vom Prozessor bedient wurde. Das Unterbrechungsanforderungssignal der Vorrichtung Y ist noch immer aktiv "hoch", um anzuzeigen, dass die Vorrichtung Y noch auf das Bedienen ihrer Unterbrechungsanforderung wartet. In the example considered here, the device X deletes it Interrupt request signal once their Interrupt request by performing the Interrupt utility was operated by the processor. The device interrupt request signal is Y. still active "high" to indicate that the device Y still serving their interrupt request waiting.

Das wird erfasst in Schritt 13, und die Schritte 14, 15, 16 und 17 werden erneut ausgeführt, so dass Vorrichtung Y als Vorrichtung mit höchster Priorität angewählt wird - die Vorrichtung X mit höherer Priorität hat ihr Unterbrechungsanforderungssignal bereits gelöscht. Da die Vorrichtung X ihr Unterbrechungsanforderungssignal gelöscht hat, wird die Adresse der Vorrichtung X in Schritt 14 nicht mehr ausgegeben und damit wird jetzt die Vorrichtung Y in Schritt 16 als Vorrichtung höchster Priorität angewählt - vorausgesetzt, dass keine andere Vorrichtung mit höherer Priorität als Vorrichtung Y inzwischen ein Unterbrechungsanforderungssignal ausgegeben hat. This is detected in step 13 , and steps 14 , 15 , 16 and 17 are carried out again so that device Y is selected as the device with the highest priority - the device X with the higher priority has already deleted its interrupt request signal. Since device X has deleted its interrupt request signal, the address of device X is no longer output in step 14 and device Y is now selected as the highest priority device in step 16 - provided that no other device with higher priority than device Y is meanwhile has issued an interrupt request signal.

Fig. 2 zeigt ein entsprechendes Blockdiagramm eines Interrupt-Controllers. Fig. 2 shows a corresponding block diagram of an interrupt controller.

Der Interrupt-Controller erhält eine Anzahl paralleler Hardware-Eingänge aus einer Anzahl Subsysteme (vgl. Vorrichtungen X, Y, Z, . . . in Fig. 1). The interrupt controller receives a number of parallel hardware inputs from a number of subsystems (cf. devices X, Y, Z, ... In FIG. 1).

Im hier betrachteten Beispiel weist der Eingang 30 des Interrupt-Controllers sechzehn gesonderte Eingangsstifte auf, die mit gesonderten Eingabeleitungen verbunden sind. Jede dieser gesonderten Eingangsleitungen ist mit einem Subsystem verbunden. Zusätzlich zum Empfangen der Unterbrechungsanforderungssignale von den Subsystemen dient der Eingang 30 zur Interrupt-Anpassung und/oder Klassifizierung und/oder Vorfilterung. In the example considered here, the input 30 of the interrupt controller has sixteen separate input pins which are connected to separate input lines. Each of these separate input lines is connected to a subsystem. In addition to receiving the interrupt request signals from the subsystems, input 30 is used for interrupt matching and / or classification and / or prefiltering.

Der Eingang 30 ist verbunden mit einem Modul 31. Das Modul 31 dient zum Aufnehmen und Erfassen von Interrupts durch Erfassen jeder Änderung und/oder jedes Übergangs auf den 16 angepassten und/oder vorgefilterten Interrupt-Eingängen des Interrupt-Controllers (IPC), wie sie vom Eingang 30 ausgegeben werden. The input 30 is connected to a module 31 . The module 31 is used to record and detect interrupts by detecting every change and / or transition on the 16 adapted and / or pre-filtered interrupt inputs of the interrupt controller (IPC), as they are output by the input 30 .

Wenn ein Übergang vorkommt, d. h. eine oder mehrere der Eingangsleitungen des Eingangs 30 "hoch" gehen, wird das vom Modul 31 erfasst und die entsprechenden Daten werden an das Zustandsmaschinenmodul 32 übertragen. Die von Modul 31 an das Zustandsmaschinenmodul 32 übertragenen Daten weisen auf die Vorrichtungen hin, die eine Unterbrechungsanforderung ausgegeben haben. Zum Beispiel kann das Modul 31 die Adressen der entsprechenden Vorrichtungen und/oder die Adressen der entsprechenden Unterbrechungsanforderungen übertragen. If a transition occurs, ie one or more of the input lines of input 30 go "high", this is detected by module 31 and the corresponding data are transmitted to state machine module 32 . The data transmitted from module 31 to state machine module 32 indicates the devices that issued an interrupt request. For example, module 31 may transmit the addresses of the corresponding devices and / or the addresses of the corresponding interrupt requests.

Diese Daten werden in eine Zustandsmaschine 33 eingegeben, die als IPC-Controller arbeitet. Die Zustandsmaschine 33 wird mittels einer Registerdatei 34 programmiert, die das entsprechende festgespeicherte Standardprogramm (Firmware) enthält. This data is entered into a state machine 33 , which works as an IPC controller. The state machine 33 is programmed using a register file 34 which contains the corresponding permanently stored standard program (firmware).

Bei Eingang der Daten vom Modul 31 in der Zustandsmaschine 33 führt die Zustandsmaschine 33 eine Zugriffsoperation auf eine Registerdatei 35 durch. Upon receipt of data from the module 31 in the state machine 33, the state machine 33 performs an access operation to a register file 35th

Die Registerdatei 35 enthält eine Priorität für jede der externen Vorrichtungen und ihre entsprechenden Unterbrechungsanforderungen. Die Zustandsmaschine 33 liest die entsprechenden Prioritäten mittels der Adressendaten, wie sie vom Modul 31 vorsehen werden. Durch Vergleichen der Prioritäten identifiziert die Zustandsmaschine 33 die Unterbrechungsanforderungen der höchsten Priorität. Die entsprechenden Daten werden von der Zustandsmaschine 33 in ein Zeigerregister 36 geschrieben. Register file 35 contains a priority for each of the external devices and their corresponding interrupt requests. The state machine 33 reads the corresponding priorities using the address data, as will be provided by the module 31 . By comparing the priorities, the state machine 33 identifies the highest priority interrupt requests. The corresponding data is written by the state machine 33 into a pointer register 36 .

Das Zeigerregister 36 ist mit einer Registerdatei 37 gekoppelt. Der Ausgang des Zeigerregisters 36 bestimmt das Register der Registerdatei 37, das nach einer Leseanforderung seitens der Systemschnittstelle 38 ausgegeben wird. The pointer register 36 is coupled to a register file 37 . The output of the pointer register 36 determines the register of the register file 37 , which is output after a read request from the system interface 38 .

Jedes Register der Registerdatei 37 enthält eine Adresse eines Unterbrechungsdienstprogramms zum Behandeln einer Unterbrechungsanforderung eines der Subsysteme/Vorrichtungen. Der Inhalt des Zeigerregisters 36 bestimmt die Auswahl des Registers innerhalb der Registerdatei 37 und damit die Anwahl des geeigneten Unterbrechungsdienstprogramms. Each register of register file 37 contains an interrupt utility program address for handling an interrupt request from one of the subsystems / devices. The content of the pointer register 36 determines the selection of the register within the register file 37 and thus the selection of the appropriate interrupt utility.

Beide Registerdateien, 35 und 37, können mittels nichtflüchtiger Speichervorrichtungen implementiert werden, um die entsprechenden Daten in die Registerdateien vorzuprogrammieren. Both register files, 35 and 37 , can be implemented using non-volatile memory devices to pre-program the corresponding data into the register files.

Das Modul 31 gibt ferner ein Unterbrechungssignal an ein Modul 39. Das Modul 39 dient zum selektiven Maskieren von Unterbrechungsanforderungen. Das Modul 39 gibt Unterbrechungsanforderungssignale, die nicht maskiert sind, in die Systemschnittstelle 38 ein, die ihrerseits ein entsprechendes Unterbrechungsanforderungssignal an einen Mikroprozessor ausgibt. The module 31 also issues an interrupt signal to a module 39 . Module 39 is used to selectively mask interrupt requests. The module 39 inputs interrupt request signals, which are not masked, into the system interface 38 , which in turn outputs a corresponding interrupt request signal to a microprocessor.

Wenn der Mikroprozessor das Unterbrechungsanforderungssignal erhält, führt er eine Lesezugriffsoperation auf die Systemschnittstelle 38 durch, um eines der Register der Registerdatei 37 zu lesen. Der Inhalt dieses einen Registers der Registerdatei 37 wird von der Registerdatei 37 an die Systemschnittstelle 38 ausgegeben, von der der Inhalt an den Mikroprozessor ausgegeben wird. When the microprocessor receives the interrupt request signal, it performs a read access operation on system interface 38 to read one of the registers of register file 37 . The content of this one register of the register file 37 is output from the register file 37 to the system interface 38 , from which the content is output to the microprocessor.

Das Register der Registerdatei 37, von dem die Daten ausgegeben werden, wird bestimmt von dem Zeigerregister 36, so dass der Mikroprozessor die Adresse des Unterbrechungsdienstprogramms zum Behandeln der Unterbrechungsanforderung des Subsystems/der Vorrichtung mit der höchsten Priorität erhält. The register of register file 37 from which the data is output is determined by pointer register 36 so that the microprocessor obtains the address of the interrupt utility to handle the interrupt request of the subsystem / device with the highest priority.

Auf diese Weise lässt der Mikroprozessor dieses Unterbrechungsdienstprogramm anlaufen, so dass die Unterbrechungsanforderung der entsprechenden Vorrichtung von dieser Vorrichtung gelöscht wird. Das wird vom Modul 31 bemerkt, so dass der Inhalt des Zeigerregisters 36 im Zustandsmaschinenmodul 32 entsprechend verändert wird, um ein anderes Unterbrechungsdienstprogramm zum Behandeln einer der augenblicklich aktivierten Unterbrechungsanforderungen durchzuführen. In this way, the microprocessor starts this interrupt utility so that the interrupt request of the corresponding device is canceled by this device. This is noted by module 31 so that the content of pointer register 36 in state machine module 32 is changed accordingly to perform another interrupt utility to handle one of the currently activated interrupt requests.

Gemäß einer bevorzugten Ausführungsform der Erfindung enthält die Registerdatei 35 neben den Prioritäten der Unterbrechungsanforderungen zusätzliche Informationen. Zum Beispiel hat jede Priorität eine ihr zugewiesene Speicherstelle zum Speichern zusätzlicher Daten. According to a preferred embodiment of the invention, the register file 35 contains additional information in addition to the priorities of the interrupt requests. For example, each priority has a memory location assigned to it for storing additional data.

In einer Ausführungsform sind die zusätzlichen Daten ein Hinweis für die Länge der Zeit, z. B. in Millisekunden oder als Taktzyklen. In diesem Fall hat die Zustandsmaschine 33einen zusätzlichen Zeitgeber für jedes Subsystem. Wenn ein Subsystem eine Unterbrechungsanforderung erhebt, läuft der zugehörige Zeitgeber an. In one embodiment, the additional data is an indication of the length of time, e.g. B. in milliseconds or as clock cycles. In this case, the state machine 33 has an additional timer for each subsystem. When a subsystem makes an interrupt request, the associated timer starts up.

Zum Bestimmen der Unterbrechungsanforderung mit der höchsten Priorität liest die Zustandsmaschine 33 sowohl die Priorität jeder Unterbrechungsanforderung aus der Registerdatei 35 als auch die entsprechenden zusätzlichen Daten, die einen Zeitwert im hier betrachteten Beispiel enthalten. Das geschieht mittels der Adressenleitung 40 und der Lese/Schreib-Steuerleitung 41. To determine the interrupt request with the highest priority, the state machine 33 reads both the priority of each interrupt request from the register file 35 and the corresponding additional data, which contain a time value in the example considered here. This is done by means of the address line 40 and the read / write control line 41 .

Die Zustandsmaschine 33 bestimmt die Unterbrechung mit der höchsten Priorität durch Berücksichtigung der Prioritäten und der Zeitwerte, die aus der Registerdatei 35 für die aktivierten Unterbrechungsanforderungen erhalten wurden. The state machine 33 determines the interrupt with the highest priority by taking into account the priorities and the time values obtained from the register file 35 for the activated interrupt requests.

In einem ersten Schritt werden die Prioritäten der aktiven Unterbrechungsanforderungen verglichen und der höchste Prioritätswert wird bestimmt. Die entsprechende Unterbrechungsanforderung wird definiert als Unterbrechungsanforderung mit der höchsten Priorität, abgesehen davon, wenn eine Unterbrechungsanforderung mit einer niedrigeren Priorität vorliegt, deren Zeitwert vom entsprechenden Zeitwert des Zeitgebers der Zustandsmaschine 33 überholt wurde, der zu dieser Anforderung niedrigerer Priorität gehört. In a first step, the priorities of the active interrupt requests are compared and the highest priority value is determined. The corresponding interrupt request is defined as the highest priority interrupt request, except when there is a lower priority interrupt request whose time value has been overtaken by the corresponding state machine 33 timer value associated with that lower priority request.

In diesem letzteren Fall wird die Anforderung niedrigerer Priorität als Anforderung mit der höchsten Priorität definiert und entsprechende Daten werden an das Zeigerregister 36 gegeben, so dass der Mikroprozessor die Adresse des Unterbrechungsdienstprogramms zum Behandeln der Unterbrechungsanforderung des Subsystems als diejenige erhält, die von der Zustandsmaschine 33 im Hinblick auf die Prioritätswerte und die in der Registerdatei 35 gespeicherten Zeitwerte ausgewählt wurde. In the latter case, the lower priority request is defined as the highest priority request and corresponding data is provided to the pointer register 36 so that the microprocessor receives the address of the interrupt utility for handling the subsystem interrupt request as that given by the state machine 33 in the With regard to the priority values and the time values stored in the register file 35 was selected.

In einer anderen Ausführungsform enthalten die zusätzlichen Daten, die in der Registerdatei 35 in Zusammenhang mit der Priorität einer Unterbrechungsanforderung gespeichert werden, Daten, die eine maximale Anzahl vom Ausführungszyklen anzeigen, die von dem Prozessor zum Bearbeiten von Unterbrechungsanforderungen höherer Priorität ausgeführt werden. Wenn die wahre Anzahl von Ausführungszyklen, die vom Prozessor nach einer Unterbrechungsanforderung einer niedrigeren Priorität durchgeführt werden, angehoben wird und die Anzahl der Ausführungszyklen, die von den in der Registerdatei 35 gespeicherten Daten angezeigt werden, übersteigt, wird die Unterbrechungsanforderung der niedrigeren Priorität von der Zustandsmaschine 33 als Unterbrechungsanforderung der höchsten Priorität definiert. In another embodiment, the additional data stored in the register file 35 related to an interrupt request priority includes data indicating a maximum number of execution cycles performed by the higher priority processor to process interrupt requests. If the true number of execution cycles performed by the processor after a lower priority interrupt request increases and exceeds the number of execution cycles indicated by the data stored in register file 35 , the lower priority interrupt request becomes the state machine 33 defined as the highest priority interrupt request.

Auf diese Weise wird eine Situation vermieden, in der Unterbrechungsanforderungen niedrigerer Priorität nicht mehr innerhalb einer angemessenen Latenzzeit ausgeführt werden, wenn laufend Unterbrechungsanforderungen höherer Priorität vorhanden sind. This avoids a situation in which Lower priority interrupt requests no longer are executed within a reasonable latency period, when interrupt requests of higher priority are ongoing available.

Claims (18)

1. Einen Interrupt-Controller, enthaltend:
Parallele Eingangsmittel (30) zum Empfangen erster Unterbrechungsanforderungssignale;
Mittel (31, 32) zur Ausgabe eines zweiten Unterbrechungsanforderungssignals als Reaktion auf den Empfang mindestens eines der ersten Unterbrechungsanforderungssignale;
Zustandsmaschinenmittel (33, 34, 35, 36) zum Bestimmen einer Priorität für jedes der ersten Unterbrechungsanforderungssignale;
Speichermittel (37) zum Speichern von Adressen von Unterbrechungsdienstprogrammen, wobei jedes der Unterbrechungsdienstprogramme einem der ersten Unterbrechungsanforderungssignale zugeordnet wird;
Mittel (36) zum Anwählen einer der Adressen auf der Grundlage der Priorität.
1. An interrupt controller containing:
Parallel input means ( 30 ) for receiving first interrupt request signals;
Means ( 31 , 32 ) for outputting a second interrupt request signal in response to receiving at least one of the first interrupt request signals;
State machine means ( 33 , 34 , 35 , 36 ) for determining a priority for each of the first interrupt request signals;
Storage means ( 37 ) for storing addresses of interrupt service programs, each of the interrupt service programs being associated with one of the first interrupt request signals;
Means ( 36 ) for selecting one of the addresses based on the priority.
2. Der Interrupt-Controller gemäß Anspruch 1, bei dem die parallelen Eingangsmittel eine Anzahl gesonderter Verbindungskanäle aufweisen, wobei jeder der gesonderten Verbindungskanäle so ausgelegt ist, dass er eines der ersten Unterbrechungsanforderungssignale von einer externen Vorrichtung empfängt. 2. The interrupt controller of claim 1, wherein the parallel input means a number of separate Have connection channels, each of the separate Connection channels is designed so that it is one of the first interrupt request signals from one receives external device. 3. Der Interrupt-Controller gemäß Anspruch 1 oder 2, der ferner Mittel zum Anpassen des Interrupts und/oder zur Klassifizierung des Interrupts und/oder zum Vorfiltern des Interrupts aufweist. 3. The interrupt controller according to claim 1 or 2, the means for adapting the interrupt and / or for Classification of the interrupt and / or for pre-filtering of the interrupt. 4. Der Interrupt-Controller gemäß Anspruch 1, 2 oder 3, wobei die ersten Unterbrechungsanforderungssignale höhengesteuerte Unterbrechungsanforderungssignale sind. 4. The interrupt controller according to claim 1, 2 or 3, the first interrupt request signals height-controlled interrupt request signals. 5. Der Interrupt-Controller gemäß einem beliebigen der vorstehenden Ansprüche 1 bis 4, der ferner Mittel (31) zum Ausgeben von Daten aufweist, die hinweisend auf eines oder auf mehrere der ersten Unterbrechungsanforderungssignale sind, die von den parallelen Eingangsmitteln als Eingangssignal für das Zustandsmaschinenmittel empfangen wurden. The interrupt controller according to any of the preceding claims 1 to 4, further comprising means ( 31 ) for outputting data indicative of one or more of the first interrupt request signals from the parallel input means as an input to the state machine means were received. 6. Der Interrupt-Controller gemäß einem beliebigen der vorstehenden Ansprüche 1 bis 5, in dem das Zustandsmaschinenmittel eine Registerdatei (35) zum Speichern einer Priorität für jedes der ersten Unterbrechungsanforderungssignale aufweist. The interrupt controller according to any one of the preceding claims 1 to 5, wherein the state machine means comprises a register file ( 35 ) for storing a priority for each of the first interrupt request signals. 7. Der Interrupt-Controller gemäß einem beliebigen der vorstehenden Ansprüche 1 bis 6, in dem das Zustandsmaschinenmittel ferner ein Zeigerregister (36) zum Anwählen einer der Adressen des Speichermittels aufweist. The interrupt controller according to any one of the preceding claims 1 to 6, wherein the state machine means further comprises a pointer register ( 36 ) for selecting one of the addresses of the storage means. 8. Der Interrupt-Controller gemäß einem beliebigen der vorstehenden Ansprüche 1 bis 7, der ferner ein Mikroprozessor-Schnittstellenmittel (38) zum Ausgeben des zweiten Unterbrechungsanforderungssignals an ein Mikroprozessorsystem und zum Empfangen eines Lesebefehls vom Mikroprozessorsystem zum Lesen der angewählten Adresse aus dem Speichermittel und zum Ausgeben der angewählten Adresse aus dem Speichermittel an das Mikroprozessorsystem aufweist. The interrupt controller according to any one of the preceding claims 1 to 7, further comprising microprocessor interface means ( 38 ) for outputting the second interrupt request signal to a microprocessor system and receiving a read command from the microprocessor system for reading the selected address from the memory means and for Output of the selected address from the storage means to the microprocessor system. 9. Der Interrupt-Controller gemäß einem beliebigen der vorstehenden Ansprüche 1 bis 8, der ferner Mittel (39) zum Maskieren von zweiten Unterbrechungsanforderungssignalen aufweist. The interrupt controller according to any one of the preceding claims 1 to 8, further comprising means ( 39 ) for masking second interrupt request signals. 10. Der Interrupt-Controller gemäß einem beliebigen der vorstehenden Ansprüche 6 bis 9, wobei die Registerdatei einen zusätzlichen Datenwert für jede der Prioritäten als zusätzliches Anwahlkriterium für das Zustandsmaschinenmittel zum Bestimmen der Unterbrechung mit der höchsten Priorität enthält. 10. The interrupt controller according to any of the preceding claims 6 to 9, wherein the register file an additional data value for each of the priorities as an additional selection criterion for the State machine means for determining the break with the highest priority. 11. Ein Verfahren zum Übermitteln erster Unterbrechungsanforderungssignale von einer Vielzahl externer Vorrichtungen an ein Mikroprozessorsystem, wobei das Verfahren die folgenden Schritte enthält: - Erfassen von mindestens einem der ersten Unterbrechungsanforderungssignale; - Bestimmen einer Priorität für jedes der ersten Unterbrechungsanforderungssignale; - Auswählen eines der ersten Unterbrechungsanforderungssignale mit der höchsten Priorität; - Anwählen einer Speicherstelle zum Aktivieren der Ausgabe einer Adresse eines Unterbrechungsdienstprogramms für das ausgewählte erste Unterbrechungsanforderungssignal; - Ausgabe eines zweiten Unterbrechungsanforderungssignals an das Mikroprozessorsystem; - Lesen der angewählten Speicherstelle durch das Mikroprozessorsystem; - Ausführung des Unterbrechungsdienstprogramms durch das Mikroprozessorsystem. 11. A method of communicating first interrupt request signals from a plurality of external devices to a microprocessor system, the method comprising the steps of: - detecting at least one of the first interrupt request signals; Determining a priority for each of the first interrupt request signals; - selecting one of the first interrupt request signals with the highest priority; - selecting a memory location to activate the output of an address of an interrupt utility for the selected first interrupt request signal; - Issuing a second interrupt request signal to the microprocessor system; Reading the selected memory location by the microprocessor system; - Execution of the interrupt utility by the microprocessor system. 12. Das Verfahren gemäß Anspruch 11, in dem die ersten Unterbrechungsanforderungssignale höhengesteuerte Signale sind. 12. The method of claim 11, wherein the first Interrupt request signals height controlled Signals are. 13. Das Verfahren gemäß Anspruch 11 oder 12, das ferner das Ausgeben eines nachfolgenden zweiten Unterbrechungsanforderungssignals zum Bearbeiten eines anderen der ersten Unterbrechungsanforderungssignale umfasst. 13. The method of claim 11 or 12, further comprising Output a subsequent second Interrupt request signal to process a another of the first interrupt request signals includes. 14. Das Verfahren gemäß Anspruch 11, 12 oder 13, bei dem die Schritte des Bestimmens einer Priorität, Auswahl eines der ersten Unterbrechungsanforderungssignale und Auswahl einer Speicherstelle von einer Zustandsmaschine ausgeführt werden. 14. The method of claim 11, 12 or 13, wherein the Steps of determining a priority, selecting one the first interrupt request signals and selection a storage location from a state machine be carried out. 15. Das Verfahren gemäß einem beliebigen der vorstehenden Ansprüche 11 bis 14, das ferner einen Schritt zum Anpassen des Interrupts und/oder zur Klassifizierung des Interrupts und/oder zum Vorfiltern für die ersten Unterbrechungsanforderungssignale aufweist. 15. The method according to any of the foregoing Claims 11 to 14, further comprising a step of Adapt the interrupt and / or to classify the Interrupts and / or for pre-filtering for the first Interrupt request signals. 16. Das Verfahren gemäß einem beliebigen der vorstehenden Ansprüche 11 bis 15, das ferner einen Schritt zum Maskieren von zweiten Unterbrechungsanforderungssignalen aufweist. 16. The method according to any of the foregoing Claims 11 to 15, further comprising a step of Masking second interrupt request signals having. 17. Das Verfahren gemäß einem beliebigen der vorstehenden Ansprüche 11 bis 16, das ferner das Testen eines zusätzlichen Auswahlkriteriums im Hinblick auf jede aktivierte Unterbrechungsanforderung und Auswahl der Unterbrechungsanforderung aufweist, die dem Kriterium als Unterbrechungsanforderung der höchsten Priorität entspricht, wobei das Auswahlkriterium vorzugsweise ein Zeitwert oder eine Anzahl Ausführungszyklen ist. 17. The method according to any of the foregoing Claims 11 to 16, further testing a additional selection criteria with regard to each activated interrupt request and selection of Interrupt request that meets the criterion as the highest priority interrupt request corresponds, the selection criterion preferably a Time value or a number of execution cycles. 18. Ein elektronisches System, das ein Mikroprozessorsystem und einen Interrupt-Controller gemäß einem beliebigen der vorstehenden Ansprüche 11 bis 17 aufweist, wobei das Mikroprozessorsystem an den Interrupt-Controller zum Empfangen der zweiten Unterbrechungsanforderungssignale und zum Lesen der angewählten Speicherstellen gekoppelt ist. 18. An electronic system that is a microprocessor system and an interrupt controller according to any one of the preceding claims 11 to 17, wherein the Microprocessor system to the interrupt controller for Receiving the second interrupt request signals and coupled to read the selected memory locations is.
DE2002129945 2001-07-18 2002-07-04 Microprocessor interrupt controller has means for processing interrupts such that requests of lower priority do not execute ahead of higher priority requests, provided they are still within their given latency time Ceased DE10229945A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP01117356 2001-07-18

Publications (1)

Publication Number Publication Date
DE10229945A1 true DE10229945A1 (en) 2003-02-13

Family

ID=8178062

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002129945 Ceased DE10229945A1 (en) 2001-07-18 2002-07-04 Microprocessor interrupt controller has means for processing interrupts such that requests of lower priority do not execute ahead of higher priority requests, provided they are still within their given latency time

Country Status (1)

Country Link
DE (1) DE10229945A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483849B2 (en) 2003-07-25 2013-07-09 Robert Bosch Gmbh Method for digital data transmission from a sensor to a control unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483849B2 (en) 2003-07-25 2013-07-09 Robert Bosch Gmbh Method for digital data transmission from a sensor to a control unit

Similar Documents

Publication Publication Date Title
DE69217664T2 (en) MULTIMEDIA SIGNAL PROCESSOR COMPUTER SYSTEM
DE69021899T2 (en) DMA control.
DE2829550C2 (en)
DE60036465T2 (en) COMPUTER ADAPTER CARD FOR COMBINING INPUT / OUTPUT PREPARATION REPORTS AND USE THEREOF
DE69031547T2 (en) Command output for a computer system
DE3587400T2 (en) Data storage arrangement.
DE69822221T2 (en) REDIRECTION OF INTERRUPT GOALS SUPPORTING TRANSACTIONS AND LEVEL-DEPENDENT INTERMEDIATE
DE2856483C2 (en)
DE69728212T2 (en) Memory control and computer system using it
DE3725343C2 (en) Multipurpose duct control system
DE3852257T2 (en) User program interface for full screen input / output.
DE102004042170B4 (en) Message-based interrupt table
DE602004004442T2 (en) Card identification system
DE69114961T2 (en) Interconnection device.
DE2523372B2 (en) Input-output port controller
CH656728A5 (en) INTERFACE CIRCUIT ARRANGEMENT FOR CONNECTING A PROCESSOR TO A MESSAGE CHANNEL.
DE2703394A1 (en) DATA PROCESSING SYSTEM
DE4018481C2 (en)
DE60122085T2 (en) Data processing device for serial communication system
DE602005006338T2 (en) Apparatus and method for data transmission processing
DE102009049078A1 (en) Use of exporter knowledge about memory region ordering requests to modify transaction attributes
DE102008008196A1 (en) Memory card, storage system and method of operating a storage system
DE69119149T2 (en) Structure for direct memory-to-memory transfer
DE8803950U1 (en) Digital computer with instruction mode conversion
DE19960574B4 (en) Peripheral Component Interconnection (PCI) debugging device and method

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection