DE69422212T2 - Unterbrechungsanordnung - Google Patents

Unterbrechungsanordnung

Info

Publication number
DE69422212T2
DE69422212T2 DE1994622212 DE69422212T DE69422212T2 DE 69422212 T2 DE69422212 T2 DE 69422212T2 DE 1994622212 DE1994622212 DE 1994622212 DE 69422212 T DE69422212 T DE 69422212T DE 69422212 T2 DE69422212 T2 DE 69422212T2
Authority
DE
Germany
Prior art keywords
module
sub
interrupt
bus
priority
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.)
Expired - Fee Related
Application number
DE1994622212
Other languages
English (en)
Other versions
DE69422212D1 (de
Inventor
Bradley Burgess
William Dewitt Huston
Roland Schwarz
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of DE69422212D1 publication Critical patent/DE69422212D1/de
Publication of DE69422212T2 publication Critical patent/DE69422212T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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)

Description

    Gebiet der Erfindung
  • Diese Erfindung bezieht sich im allgemeinen auf Unterbrechungsanordnungen (Interrupt-Anordnungen) zur Benutzung mit Datenverarbeitungssystemen.
  • Hintergrund der Erfindung
  • Herkömmliche interne Architekturen von Datenverarbeitungssystemen enthalten einen Bus für die Übertragung von Befehlen und Daten zwischen den einzelnen Elementen des Verarbeitungssystems.
  • Typischerweise leitet ein Prozessor die Betriebsweise des Busses. Eine periphere Einrichtung, die an den Bus geschaltet ist, kann eine Unterbrechungsanforderung erzeugen, durch Senden eines Signals auf einer oder mehreren Unterbrechungsanforderungs (IRQ)-Leitungen des Busses. Zum Beispiel kann eine Zeitgebereinrichtung eine Unterbrechungsanforderung erzeugen, wenn sie eine bestimmte Zeit erreicht. Der Prozessor überwacht die IRQ-Leitungen und beim Bestimmen eines Signals sendet er einen Befehl aus, mit dem erfragt wird, welche Einrichtung das Signal gesendet hat.
  • Die in Frage kommende Einrichtung identifiziert sich selbst und die Unterbrechungsanforderung wird durch den Prozessor bedient. Oftmals können mehr als eine Unterbrechungsanforderung zur selben Zeit anhängig sein, und so gestattet die Benutzung von Techniken zur Prioritätsordnung der Unterbrechungen die Organisation der Prioritäten der Unterbrechungsanforderungen zwischen den Peripherieeinrichtungen, wodurch gewährleistet wird, daß die dringenden Anforderungen zuerst behandelt werden.
  • Gerichtete Unterbrechungen werden gewöhnlich genutzt, um die Flexibilität der Unterbrechungsbehandlung zu erhöhen. Entwürfe von neueren Mikroprozessorsystemen enthalten Module, die mehr als eine Unterbrechungsanforderungsquelle umfassen.
  • Ein Problem dieser Anordnung ist, daß die Flexibilität von gerichteten Unterbrechungen und Unterbrechungsprioritätsverfahren verloren wird, wenn sie mit mehreren Unterbrechungsanforderungsquellen benutzt werden.
  • Die EP-A-528 139 beschreibt einen programmierbaren Unterbrechungsprioritätskodierer, der Unterbrechungen von an einen Bus geschalteten Einrichtungen auffängt, und welcher so angepaßt ist, um es zu gestatten, daß mehr als eine Einrichtung dieselbe Prioritätsebene haben können.
  • Diese Erfindung ist bestrebt, eine Anordnung einer Unterbrechungsarchitektur bereitzustellen, in welcher die oben genannten Nachteile gelindert werden.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Erfindung, wie sie durch den unabhängigen Anspruch 1 definiert ist, wird eine Unterbrechungsanordnung zur Benutzung in einem Modul bereitgestellt, das an einen Bus eines Datenverarbeitungssystems gekoppelt ist, wobei das System eine Unterbrechungsfolge besitzt, wobei das Modul umfaßt: eine Vielzahl von Teilmodulen, wobei jedes Teilmodul eine Unterbrechungsanforderungsquelle mit einem Steuereingang enthält und Prioritätsinformationen über die Unterbrechungsanforderungsquelle zur Bestimmung einer Reihenfolge der Priorität zwischen Teilmodulen mit aktiven Unterbrechungsanforderungsquellen umfaßt; einen Teilmodulbus mit einer Vielzahl von Leitungen, der zu dem Steuereingang jedes Teilmoduls gekoppelt ist; eine Schnittstelle zur Kopplung zu dem Bus des Datenverarbeitungssystems, die an den Teilmodulbus gekoppelt ist, wobei die Schnittstelle Prioritätsinformationen über die Anordnung zur Bestimmung einer Ordnung der Priorität zwischen dem Modul und anderen an den Systembus geschalteten Modulen enthält, wobei die Schnittstelle auch ein Steuermittel enthält, zur Bereitstellung von Steuersignalen an die Steuereingänge der Teilmodule über den Teilmodulbus in Reaktion auf Unterbrechungssignale von dem Systembus, wobei die Schnittstelle angeordnet ist, um die Prioritätsinformationen des Teilmoduls mit der höchsten Priorität mit den Prioritätsinformationen der Schnittstelle zu kombinieren, zur Bereitstellung vollständiger Prioritätsinformationen zur Erstellung einer Ordnung der Priorität zwischen Modulen mit aktiven Unterbrechungsanforderungsquellen, wodurch es gestattet wird, daß die Unterbrechungsanforderungsquellen der Teilmodule durch die Unterbrechungsfolge des Systembusses bedient werden.
  • Deshalb kann der Bus Unterbrechungsdienste an die Unterbrechungsanforderungsquellen der Teilmodule in der Unterbrechungsanordnung über die Schnittstelle und mit Hilfe der Steuersignale bereitstellen.
  • Jedes Teilmodul kann auch Speicher enthalten, die Prioritätsinformationen über die Unterbrechungsanforderungsquelle dieses Teilmoduls umfassen, zur Bestimmung einer Ordnung der Priorität zwischen Teilmodulen mit aktiven Teilmodulunterbrechungsanforderungsquellen.
  • Es wird anerkannt werden, daß auf diesem Wege die Flexibilität gerichteter Unterbrechungen und Unterbrechungsprioritätsverfahren aufrecht erhalten wird, wenn sie mit mehreren Teilmodulunterbrechungsanforderungsquellen benutzt werden.
  • Kurzbeschreibung der Zeichnungen
  • Eine beispielhafte Ausführungsform der Erfindung wird nun unter Bezugnahme auf die angefügten Zeichnungen beschrieben, in welchen:
  • Fig. 1 in Blockdiagrammform eine bevorzugte Ausführungsform einer Unterbrechungsanordnung gemäß der Erfindung zeigt; und
  • Fig. 2 ein Flußdiagramm zeigt, welches die Arbeitsweise der bevorzugten Ausführungsform nach Fig. 1 darstellt.
  • Detaillierte Beschreibung einer bevorzugten Ausführungsform In Fig. 1 ist eine Unterbrechungsanordnung gezeigt, die in ein Modul 5 eingefügt ist. Eine Modulunterbrechungsschnittstelle 100 des Moduls 5 ist an einen Bus 101 eines Verarbeitungssystems, wie beispielsweise ein Computer, geschaltet. Der Bus 101 ist an einen Prozessor und an andere Module (nicht gezeigt) des Verarbeitungssystems gekoppelt. Ein Teilmodulbus 102 ist an die Modulunterbrechungsschnittstelle 100 gekoppelt. Eine Vielzahl von Teilmodulen 103, 104, 105 besitzen auch Verbindungen zu dem Teilmodulbus 102, so daß über den Teilmodulbus 102 und die Modulunterbrechungsschnittstelle 100 jedes Teilmodul 103, 104, 105 mit dem Bus 101 kommunizieren kann.
  • Der Bus 101 enthält Adreß- und Steuerleitungen 111, eine Adreßaustast (AS)-Leitung 112, Entscheidungs (ARB)-Leltungen 113, Datenleitungen 114 und Unterbrechungsanforderungs (IRQ)- Leitungen 125.
  • Der Teilmodulbus 102 enthält eine Unterbrechungsbestätigungs (IACK)-Leitung 120, Adreß- und Steuerleitungen 121, eine Entscheidungs (ARB)-Leitung 122, eine Vektor (VECT)-Leitung 123, eine ARACK-Leitung 124, Datenleitungen 125 und Unterbrechungsebenenleitungen 126.
  • In Bezugnahme auf das Teilmodul 103 sind Speicher zum Halten der Prioritätsinformationen über das Teilmodul 103 bereitgestellt. Die Prioritätsinformationen enthalten Entscheidungsinformationen.
  • Ein Teilmodulentscheidungsspeicher 10 hält den Wert der Entscheidungsebene für das Teilmodul 103, und ein Teilmodulunterbrechungsebenenspeicher 11 hält den Wert der Unterbrechungsprioritätsebene für das Teilmodul 103.
  • Ein Teilmodulunterbrechungsanforderungszwischenspeicher 12 verriegelt eine Teilmodulunterbrechungsanforderungsbedingung 9 für die Dauer der Entscheidung, um eine Bedingungsänderung während der Entscheidung zu verhindern. Eine Teilmoduldeko dierlogikanordnung 13 ist gekoppelt, um die zwischengespeicherte Unterbrechungsbedingung von dem Teilmodulunterbrechungsanforderungszwischenspeicher 12 und die Unterbrechungsprioriätsebene von dem Teilmodulunterbrechungsebenenspeicher 11 zu empfangen.
  • Die Unterbrechungsebenenleitungen 126 des Teilmodulbusses 102 sind zu der Teilmoduldekodierlogikanordnung 13 zur Bereitstellung eines Unterbrechungsanforderungssignals an diese gekoppelt. Eine Teilmodulebenenvergleichslogikanordnung 14 ist auch gekoppelt, um den Unterbrechungsprioritätsebenenwert von dem Teilmodulunterbrechungsebenenspeicher 11 zu empfangen, und sie ist auch an die IACK-Leitung 120 und die Adreß- und Steuerleitungen 121 des Teilmodulbusses 102 gekoppelt.
  • Eine Teilmodulsteuerlogikanordnung 15 ist gekoppelt, um Entscheidungsebenenwerte sowohl von dem Teilmodulentscheidungsspeicher 10 als auch von der Teilmodulebenenvergleichsanordnung 14 zu empfangen, und ist auch an die ARB-Leitung 122 und die ARACK-Leitung 124 des Teilmodulbusses 102 gekoppelt. Ein Teilmodulvektornummerntreiber 16 ist gekoppelt, um einen Eingang von der Teilmodulsteuerlogikanordnung 15 zu empfangen, und ist auch an die Datenleitungen 125 und die VECT-Leitung 123 des Teilmodulbusses 102 gekoppelt.
  • In Bezug auf die Modulunterbrechungsschnittstelle 100 ist ein Modulvektornummernspeicher 106 an die Datenleitungen 114 des Busses über einen Modulmultiplexer 110 gekoppelt. Der Modulmultiplexer 110 ist auch an die Datenleitungen 125 des Teilmodulbusses 110% gekoppelt, so daß keine Vektornummernsignale von dem Modulvektornummernspeicher 106 in dem Modulmultiplexer 110 mit Teilvektornummernsignalen von den Datenleitungen 125 des Teilmodulbusses 102 kombiniert werden können, um vollständige Vektornummernsignale zu bilden, die für die Datenleitungen 114 des Busses 101 geeignet sind.
  • Eine an die Modulunterbrechungsschnittstelle 100 geschaltete Trägerkette 119 ist an die Teilmodulsteuerlogikanordnung 15 jedes Teilmoduls (103, 104, 105) in Reihe gekoppelt, zur Bereitstellung eines Berechtigungs/Verbotssignals an diese.
  • In ähnlicher Weise ist ein Modulentscheidungsspeicher 107 an die ARB-Leitungen 113 und die AS-Leitung 112 des Busses 101 über eine Modulentscheidungslogikanordnung 109 gekoppelt. Die Modulentscheidungslogikanordnung 109 ist auch an die ARB- Leitung 122, die VECT-Leitung 123 und die ARACK-Leitung 124 des Teilmodulbusses 102 gekoppelt, so daß Teilentscheidungssignale von dem Modulentscheidungsspeicher 107 mit Teilentscheidungssignalen von der ARB-Leitung 122 des Teilmodulbusses 102 innerhalb der Modulentscheidungslogikanordnung 109 kombiniert werden können, um vollständige Entscheidungssignale zu bilden, die für die ARB-Leitungen 113 des Busses 101 geeignet sind.
  • Eine Modulunterbrechungsbestätigungsdekodieranordnung 108 ist zwischen die IACK-Leitung 120 des Teilmodulbusses 102 und die Adreß- und Steuerleitungen 111 des Busses 101 gekoppelt, wobei sie ein Signal auf der IACK-Leitung 120 erzeugt, in Reaktion auf ein Signal, welches einen Unterbrechungsentscheidungszyklus auf den Adreß- und Steuerleitungen 111 des Busses 101 anzeigt. Die Adreß- und Steuerleitungen 111 des Busses 101 haben auch eine direkte Verbindung zu den Adreß- und Steuerleitungen 121 des Teilmodulbusses 102.
  • Die Unterbrechungsebenenleitungen 126 des Teilmodulbusses 102 sind direkt an die IRQ-Leitungen 115 des Busses 101 geschaltet.
  • In Fig. 2 ist ein Flußdiagramm einer typischen Unterbrechungsfolge gezeigt.
  • In Block 201 tritt eine Unterbrechungsanforderungsbedingung in dem Teilmodul 103 ein, die Teilmodulunterbrechungsanforderungsquelle 9 erzeugt ein Unterbrechungsanforderungssignal, welches durch den Teilmodulunterbrechungszwischenspeicher 12 zu der Teilmoduldekodier logikanordnung 13 geleitet wird. Der Teilmodulunterbrechungsebenenspeicher 11 stellt an die Teilmoduldekodieranordnung 13 einen Wert bereit, um dort zu entscheiden, ob Unterbrechungen für eine bestimmte Unterbrechungsanforderungsprioritätsebene gestattet oder verboten sind.
  • Wenn die Unterbrechungsbedingung vom Teilmodulunterbrechungsebenenspeicher 11 gestattet ist, plaziert die Teilmoduldekodierlogikanordnung 13 die entsprechende Unterbrechungsanordnung auf den Unterbrechungsebenenleitungen 126.
  • Im Block 301 wird dann das Signal auf den Unterbrechungsebenenleitungen 126 über die Modulunterbrechungsschnittstelle 100 direkt zu den IRQ-Leitungen 115 des Busses und darauf zu dem Prozessor geleitet.
  • Jede Anzahl der Unterbrechungsanforderungsquellen der Teilmodule kann zur selben Zeit aktiv sein, mit unterschiedlichen oder identischen Unterbrechungsebenen und mit unterschiedlichen oder identischen Entscheidungsnummern. Auch kann jedes andere an den Bus 101 gekoppelte Modul eine oder mehrere aktive Unterbrechungsquellen haben.
  • Im Block 401 arbeitet der Prozessor durch einen Befehl eines Softwareprogramms. Am Ende des Befehls innerhalb des Programms tritt der Prozessor in den Block 402 ein und sucht nach dem Unterbrechungsanforderungssignal höchster Prioritätsebene auf den IRQ-Leitungen 115 des Busses 101. Der Prozessor führt einen Vergleich zwischen der Ebene der höchsten Anforderung und einer internen Unterbrechungsmaskierungsebene aus.
  • Wenn die interne Maskierungsebene höher oder gleich der höchsten Unterbrechungsanforderungsprioritätsebene ist, fährt der Prozessor mit dem nächsten Befehl in dem Programm fort und kehrt zu Block 401 zurück. Alle existierenden Unterbrechungsanforderungen bleiben anhängig. Der Prozessor setzt die Ausführung der Befehle des Softwareprogramms fort, kehrt zu Block 402 zurück, um den Vergleich am Ende jedes Befehls auszuführen.
  • Wenn die höchste Prioritätsunterbrechungsebenenanforderung höher als die Prozessorunterbrechungsmaskierungsebene wird, dann stoppt der Prozessor seine Ausführung des Programms und geht zum Block 403, wo er einen Entscheidungszyklus beginnt, um eine Unterbrechungsvektornummer von der Quelle der Unterbrechungsanforderung mit der höchsten Priorität zu erhalten. Der Prozessor stellt diesen Entscheidungszyklus durch Aktivierung der Adreß- und Steuerleitungen 111 des Busses 101 bereit, um alle Module darüber zu informieren, daß dies eine Anforderung einer Unterbrechungsvektornummer für die anhängige Unterbrechungsanforderungsquelle mit der höchsten Priorität ist.
  • Der Prozessor stellt die Unterbrechungsebenennummer bereit, die zu entscheiden ist. Die zu entscheidende Ebene ist gewöhnlich auf den Adreß- und Steuerleitungen 111 des Busses 101 gezeigt, die während des Unterbrechungsentscheidungszyklus nicht anderweitig benutzt werden, aber andere Busleitungen können auch benutzt werden. An diesem Punkt tritt der Prozessor in den Block 404 ein und wartet auf die Unterbrechungsvektornummer Von der Teilmodulunterbrechungsanforderungsquelle, entsprechend der zu bedienenden Ebene.
  • Im Block 302 überwacht die Modulunterbrechungsentscheidungsdekodieranordnung 108 die Adreß- und Steuerleitungen 111 des Busses 101 und aktiviert ein Signal auf der IACK-Leitung 120 des Teilmodulbusses 102 in Reaktion auf ein Unterbrechungsentscheidungssignal, das auf den Adreß- und Steuerleitungen 111 ermittelt wurde.
  • Im Block 202 veranlaßt das Signal auf der IACK-Leitung 120 des Teilmodulbusses 102, daß der Teilmodulunterbrechungsanforderungszwischenspeicher 12 jedes Teilmoduls 103, 104, 105 verriegelt wird (nicht transparent), und daß die Teilmodulebenenvergleichsanordnung 14 den Wert des Teilmodulunterbrechungsebenenspeichers 11 mit der Ebene vergleicht, die von dem Prozessor auf den Adreß- und Steuerleitungen 111 des Busses über die Adreß- und Steuerleitungen 121 des Teilmodulbusses 102 gekennzeichnet ist.
  • Wenn die Teilmodulebenenvergleichsanordnung 14 ein negatives Ergebnis an die Teilmodulsteuerlogikanordnung 15 anzeigt, nimmt die Steuerlogik 15 nicht an der Entscheidung zwischen Teilmodulen teil, die ARB- und ARACK-Signale werden nicht aktiviert und somit reagiert das Teilmodul 103 nicht auf den aktuellen Unterbrechungsentscheidungszyklus, und es kehrt zu Block 201 zurück.
  • Wenn die Teilmodulebenenvergleichsanordnung 14 ein positives Ergebnis an die Teilmodulsteuerlogikanordnung 15 anzeigt, dann geht das Teilmodul 103 zum Block 203, wo die Teilmodulsteuerlogikanordnung 15 die ARACK-Leitung 124 aktiviert, um der Unterbrechungsmodulentscheidungslogikanordnung 109 anzuzeigen, daß wenigstens ein Teilmodul eine positive Antwort auf den Unterbrechungsentscheidungszyklus hat. Alle anderen Teilmodule auf dem Teilmodulbus 102 mit anhängigen Unterbrechungsanforderungen führen dieselbe Entscheidung zur selben Zeit aus. Deshalb kann die ARACK-Leitung 124 gleichzeitig von mehr als einem Teilmodul angesteuert werden, aber die Unterbrechungsmodulentscheidungslogikanordnung 109 muß nur wissen, daß ein oder mehrere Teilmodule zu antworten wünschen, und nicht wie viele zu antworten wünschen.
  • Die Teilmodulsteuerlogikanordnung 15 steuert die ARACK- Leitung 124 und die ARB-Leitung 122 des Teilmodulbusses 102 zur selben Zeit. Die Entscheidungsanordnung 10 stellt ein geeignetes Signal dafür bereit. Die ARB-Leitung 122 ist typischerweise eine Vorlade-/Entladeleitung, so daß verschiedene Unterbrechungsanforderungsquellen dieselbe Leitung aktivieren können. Das Signal auf der ARB-Leitung 122, welches von der Entscheidungsspeicheranordnung 10 gewonnen wurde, kommt an der Modulunterbrechungsschnittstelle 100 zur selben Zeit wie das ARACK-Signal an, wo sie mit zusätzlichen Signalen von dem Modulentscheidungsspeicher 107 verknüpft werden, um die vollständige Entscheidungsnummer zu bilden, die die höchste Entscheidungsebene der aktiven Unterbrechungsanforderungen in dem Modul 5 anzeigt.
  • Im Block 303 sendet dann die Modulentscheidungslogikanordnung 109 das vollständige Entscheidungsnummernsignal auf den ARB- Leitungen 113 des Busses 101, welches die höchste Entscheidungsebene der aktiven Unterbrechungen in dem Modul S zeigt. Die Modulentscheidungslogikanordnung 109 geht dann zum Block 304 und nimmt mit anderen Modulen auf dem Bus 101 an dem Zwischen-Modulentscheidungsprozeß teil, um zu bestimmen, welches von diesen auf den Unterbrechungsbestätigungszyklus zu reagieren hat.
  • Auf dem Bus 101 wird ein Zeitschlitz für jedes Bit der Entscheidungsnummer verwendet. Jedes teilnehmende Modul sendet ein Entscheidungsbit, überwacht das Entscheidungsbit auf dem Bus 101, vergleicht das überwachte Bit mit dem gesendeten, welches entweder von der Entscheidung zurückgezogen wird, wenn das Entscheidungsbit auf dem Bus verschieden, zu dem gesendeten Wert ist, oder die Entscheidung durch dieselbe Prozedur mit dem nächsten Entscheidungsbit fortgesetzt wird, wenn die Werte übereinstimmen. Deshalb gewinnt das Modul mit der höchsten Entscheidungsnummer eventuell die Modulentscheidung und wird ausgewählt, um auf den Unterbrechungsbestätigungszyklus zu antworten.
  • Auch im Block 203 findet die Entscheidung über die Teilmodule statt, um zu bestimmen, welches auf den Unterbrechungsentscheidungszyklus zu antworten hat. Wenn die Steuerlogik 15 den Wert des Teilmodulentscheidungsspeichers 10 auf der ARB- Leitung 122 sendet, wird die ARB-Leitung 122 auch überwacht, um festzustellen, ob der Wert derselbe Wert der gesendeten Entscheidungsebene ist. Wenn die Bedingung der ARB-Leitung 122 von der Entscheidungsebene des Speichers 10 verschieden ist, nimmt das Teilmodul 103 nicht weiter an der Reaktion auf den Unterbrechungsentscheidungszyklus teil.
  • Wenn die Bedingung auf der ARB-Leitung 122 dieselbe wie die Entscheidungsebene des Speichers 10 ist, gewinnt das Teilmodul die Entscheidung.
  • Mehr als ein Teilmodul kann eine Unterbrechungsanforderung mit derselben Unterbrechungsebene und demselben Entscheidungswert anhängig haben. Deshalb kann mehr als ein Teilmodul gleichzeitig die Entscheidung im Block 203 gewinnen und in den Block 204 gehen.
  • Im Falle eines mehrfachen Gewinnens ist es nicht wichtig, welche der Unterbrechungen zuerst bedient wird, da sie die gleiche Priorität haben, aber um zu vermeiden, das zwei gemeinsam versuchen zu antworten, wird die Trägerkette 119 benutzt. Das Signal der Trägerkette 119 entsteht an der Modulunterbrechungsschnittstelle 100 und breitet sich durch die Teilmodulsteuerlogikanordnung 15 von jedem Teilmodul 103, 104, 105, die an den Teilmodulbus 102 gekoppelt sind, aus. Das Signal von der Modulunterbrechungsschnittstelle 100 zu dem ersten Teilmodul ist immer positiv (gestattet). Die Teilmodulsteuerlogikanordnung 15 veranlaßt das Ausgangssignal der Trägerkette 119 ebenfalls positiv zu sein, wenn der Eingang der Trägerkette 119 positiv ist und das Teilmodul keine Unterbrechungsanforderung anhängig hat, die während des aktuellen Unterbrechungsbestätigungszyklus beantwortet werden kann.
  • Die Unterbrechungslogik in jedem Teilmodul führt das Eingangssignal der Trägerkette 119 weiter, wie es während eines Unterbrechungsbestätigungszyklus empfangen wurde, wenn eine Unterbrechungsanforderung in diesem Teilmodul nicht anhängig ist, wenn der Ebenenvergleich nicht eintritt und/oder wenn der auf der ARB-Leitung gesendete Wert nicht paßt. Wenn das erste Teilmodul, welches einen positiven Eingang der Trägerkette 119 und eine anhängige Unterbrechungsanforderung hat, bei dem der Ebenenvergleich wahr ist, und wo die ARB-Leitung 122 zu dem gesendeten Wert paßt, dann negiert dieses Modul den Ausgang der Trägerkette zu dem nächsten Teilmodul. Alle nachfolgenden Teilmodule erkennen einen negativen (verboten) Eingang der Trägerkette 119, so daß sie nicht auf den aktuellen Unterbrechungsbestätigungszyklus antworten können.
  • Das Ergebnis der Überwachung der ARB-Leitung 322 und der Entscheidung der Trägerkette 119 ist, daß ein Maximum eines Teilmoduls gegeben ist, welches das Recht gewonnen hat, auf den Unterbrechungsbestätigungszyklus in dem Modul 5 zu antworten. Das ist jenes. Teilmodul, bei welchem die Teilmodulsteuerlogikanordnung 15 einen positiven Eingang von der Trägerkette 119 und einen negativen Ausgang auf die Trägerkette 119 hat.
  • Während der Entscheidung der Trägerkette 119 zwischen den Teilmodulunterbrechungsanforderungsquellen findet die allgemeine Entscheidung noch auf dem Bus 101 im Block 304 statt. Zum Zeitpunkt, an welchem die Unterbrechungsentscheidungslogik 109 die Entscheidung auf dem Bus 101 beendet hat, ist die Teilmodulentscheidung zwischen den Teilmodulen ebenfalls beendet, wodurch ein einziges gewinnendes Teilmodul bereitgestellt wird. Wenn das Modul 5 die Entscheidung des Busses 101 nicht gewinnt, stoppen sowohl die Modulunterbrechungsschnittstelle 100 als auch das ausgewählte Teilmodul 103 die Reaktion auf den aktuellen Unterbrechungsbestätigungszyklus.
  • Wenn das Modul 5 die Entscheidung gewinnt, aktiviert die Unterbrechungsentscheidungslogik 109 die VECT-Leitung 123. Im Block 205 reagiert der Teilmodulvektornummerntreiber 16 auf das Signal auf der VECT-Leitung 123, wenn die Steuerlogik 15 anzeigt, daß das Teilmodul die Teilmodulentscheidung gewonnen hat. Der Teilmodulvektornummerntreiber 16 stellt die Teilmodulvektornummer auf dem Teilmodulbus 102 bereit. Diese Nummer ist nur ein Teil der vollständigen Vektornummer, die vom Prozessor benötigt wird. Der Modulmultiplexer 110 fügt die zusätzlich benötigten Modulvektorbits von dem Modulvektornummernspeicher 106 an, um die vollständige Vektornummer zu bilden. Im Block 305 wird die vollständige Vektornummer auf dem Bus 101 für den Prozessor abgelegt. Im Block 404 empfängt der Prozessor erfolgreich die Vektornummer vom Bus 101, der Unterbrechungsbestätigungszyklus wird als beendet betrachtet.
  • Der Prozessor benutzt die Vektornummer, um eine Unterbrechungsroutine aufzurufen, die einzigartig für die zu bearbeitende Unterbrechungsanforderungsquelle ist. Die Unterbrechungsroutine umfaßt eine Reihe von Befehlen, diese Befehle sind für die Bedienung des Teilmoduls in der Weise verantwortlich, daß die bediente Unterbrechungsanforderung aus dem Teilmodul entfernt wird. Der Prozessor beendet jeden Befehl der Unterbrechungsroutine im Block 401, der Prozessor kehrt zum Block 402 zurück und vergleicht die höchste Unterbrechungsanforderungsebene auf der IRQ-Leitung 115 des Busses 101 mit der Unterbrechungsmaskierungsebene, wie oben beschrieben, und reagiert entsprechend, entweder durch Zurückkehren zum Block 401 und Fortsetzen mit dem nächsten Befehl der aktuellen Unterbrechungsroutine- oder des Programms, oder durch Beginn eines anderen Unterbrechungsbestätigungszyklus durch Bereitstellung der Entscheidungstaktung auf dem Bus 101 im Block 403.
  • Auf diese Weise ist der Prozessor fähig, Unterbrechungen zu bedienen, die von mehreren Teilmodulunterbrechungsanforderungsquellen in Modulen eintreffen, während die volle Nutzung von gerichteten Unterbrechungsverfahren und Zwischen-Modulentscheidungen ermöglicht ist. Vom Bus 101 aus gesehen, erscheint die Anordnung ein herkömmliches Modul zu sein, welches den gegebenen Protokollen des Systems folgt.
  • Es wird anerkannt werden, daß alternative Ausführungsformen zu der zuvor beschriebenen hergestellt werden können, wie beispielsweise die Benutzung einer besonderen Bussteuereinheit für den Bus 101, anstelle des Prozessors.
  • Alternative Kopplungen können anstelle des Teilmodulbusses genutzt werden, wie beispielsweise direkte Drahtverbindungen, faseroptische Pfade oder andere Kommunikationspfade. Die Steuernachrichten von dem Bus 101 können entsprechend dem benutzten System variieren, so wie die Anordnung der Steuernachrichten in dem Modul variieren kann.

Claims (8)

1. Unterbrechungsanordnung für die Benutzung in einem Modul (5), das an einen Bus (101) eines Datenverarbeitungssystems gekoppelt ist, wobei das System eine Unterbrechungsfolge hat, wobei das Modul (5) umfaßt:
- eine Vielzahl von Teilmodulen (103, 104, 105), wobei jedes Teilmodul eine Unterbrechungsanforderungsquelle (9) mit einem Steuereingang (14) enthält und Prioritätsinformationen über die Unterbrechungsanforderungsquelle (9) zur Bestimmung einer Ordnung der Priorität zwischen Teilmodulen mit aktiven Unterbrechungsanforderungsquellen umfaßt;
- einen Teilmodulbus (102) mit einer Vielzahl von Leitungen (119, 120, 121, 122, 123, 124, 125, 126), der an den Steuereingang (14) jedes Teilmoduls gekoppelt ist;
- eine Schnittstelle (100) zur Kopplung zu dem Bus (101) des Datenverarbeitungssystems, und die zu dem Teilmodulbus (102) gekoppelt ist, wobei die Schnittstelle (100) Prioritätsinformationen über die Anordnung zur Bestimmung einer Ordnung der Priorität zwischen dem Modul (5) und anderen an den Systembus (101) geschalteten Modulen umfaßt, wobei die Schnittstelle (100) auch Steuermittel (108) zur Bereitstellung von Steuersignalen an die Steuereingänge (14) der Teilmodule (103, 104, 105) über den Teilmodulbus (102) in Reaktion auf Unterbrechungssignale von dem Systembus (101) enthält;
wobei die Schnittstelle (100) angeordnet ist, um die Prioritätsinformationen (10, 11) des Teilmoduls mit höchster Priorität mit den Prioritätsinformationen (106, 107) der Schnittstelle (100) zu kombinieren, um vollständige Prioritätsinformationen zur Erzeugung einer Ordnung der Priorität zwischen Modulen mit aktiven Unterbrechungsanforde rungsquellen bereitzustellen, um zu gestatten, daß die Unterbrechungsanforderungsquellen (9) der Teilmodule (103, 104, 105) von der Unterbrechungsfolge des Systembusses (101) bedient werden.
2. Anordnung nach Anspruch 1, wobei die Steuermittel (108) angeordnet sind, um die Funktion des Teilmodulbusses (102) zu steuern.
3. Anordnung nach Anspruch 1 oder 2, wobei jedes Teilmodul (103, 104, 105) Speicher (10, 11) enthält, die die Prioritätsinformationen über die Unterbrechungsanforderungsquelle (9) dieses Teilmoduls umfassen.
4. Anordnung nach einem der vorhergehenden Ansprüche, wobei jedes Teilmodul (103, 104, 105) ein Logikmittel (14) enthält, welches angeordnet ist, um die von den Steuermitteln (108) gesendeten Steuersignale zu empfangen, zu interpretieren und zu beantworten.
5. Anordnung nach einem der vorhergehenden Ansprüche, wobei die Schnittstelle (100) Speicher (106, 107) enthält, die die Prioritätsinformationen über die Anordnung umfassen.
6. Anordnung nach Anspruch 4, wobei eine Trägerkette (11ß) an jedes Teilmodul (103, 104, 105) in Reihe gekoppelt ist, zur Bereitstellung eines Signals, welches angeordnet ist, um die Logikmittel (14) der Teilmodule (103, 104, 105) in Reaktion auf den Status des vorhergehenden Teilmoduls gültig oder ungültig zu schälten, wobei im Fall eines Teilmodulprioritätsgewinns die Trägerkette (119) angeordnet ist, um die Logikmittel der nachfolgenden Teilmodule ungültig zu schalten, damit nur ein Teilmodul Priorität hat.
7. Anordnung nach einem der Ansprüche 4 bis 6, einschließlich dessen, daß die Prioritätsinformationen Entscheidungsinformationen (10, 107) enthalten, zur Ermöglichung der Entscheidung zwischen Unterbrechungsanforderungsquellen (9), die ansonsten dieselbe Priorität haben.
8. Anordnung nach Anspruch 7, wobei jedes Teilmodul einen Zwischenspeicher (12) enthält, zur Aufrechterhaltung der Unterbrechungsanforderungsbedingung beim Beginn der Entscheidung für die Dauer der Entscheidung, um eine Bedingungsänderung während der Entscheidung zu verhindern.
DE1994622212 1993-04-02 1994-02-10 Unterbrechungsanordnung Expired - Fee Related DE69422212T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9306955A GB2276740B (en) 1993-04-02 1993-04-02 Interrupt arrangement

Publications (2)

Publication Number Publication Date
DE69422212D1 DE69422212D1 (de) 2000-01-27
DE69422212T2 true DE69422212T2 (de) 2000-07-27

Family

ID=10733269

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1994622212 Expired - Fee Related DE69422212T2 (de) 1993-04-02 1994-02-10 Unterbrechungsanordnung

Country Status (4)

Country Link
EP (1) EP0618536B1 (de)
JP (1) JP3732239B2 (de)
DE (1) DE69422212T2 (de)
GB (1) GB2276740B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101495979B (zh) 2006-06-27 2012-09-05 汤姆逊许可证公司 执行仲裁的方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4016539A (en) * 1973-09-12 1977-04-05 Nippon Electric Company, Ltd. Asynchronous arbiter
US4181941A (en) * 1978-03-27 1980-01-01 Godsey Ernest E Interrupt system and method
JPH0259949A (ja) * 1988-08-26 1990-02-28 Toshiba Corp ディジーチェーン割込み処理装置
GB2257549B (en) * 1991-07-06 1995-05-03 Motorola Israel Ltd Modular data/control equipment
US5257383A (en) * 1991-08-12 1993-10-26 Stratus Computer, Inc. Programmable interrupt priority encoder method and apparatus

Also Published As

Publication number Publication date
EP0618536B1 (de) 1999-12-22
EP0618536A1 (de) 1994-10-05
GB2276740B (en) 1998-01-07
GB9306955D0 (en) 1993-05-26
JP3732239B2 (ja) 2006-01-05
JPH076123A (ja) 1995-01-10
GB2276740A (en) 1994-10-05
DE69422212D1 (de) 2000-01-27

Similar Documents

Publication Publication Date Title
DE3486299T2 (de) Bus-Arbitrierungssystem.
DE3888353T2 (de) Unterbrechungsknoten zum vorsehen von unterbrechungsanforderungen auf einem anstehenden bus.
DE69429279T2 (de) Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE3883532T2 (de) Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus.
DE3043894C2 (de)
DE2856483C2 (de)
DE3650036T2 (de) Mehrfachport-Diensterweiterungsadapter für Übertragungssteuerung.
DE3687426T2 (de) Mehrprozessorsystem-architektur.
DE3914265C2 (de)
DE69222469T2 (de) Verfahren zur Verminderung der Restbandbreite eines Busses in einem Rechnersystem
DE3882991T2 (de) Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus".
DE2165767A1 (de) Datenverarbeitungssystem
DE3882988T2 (de) Verfahren und anordnung zur einleitung von vorgängen in einem multiprozessordatenverarbeitungssystem mit verwendung von mehrverriegelungsanzeigen.
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE68915074T2 (de) Integrierte Zeitgeberschaltung mit mehreren Kanälen und zugeordnetem Bedienungsprozessor.
DE69515355T2 (de) Mehrfacharbitrierungsschema
DE68920929T2 (de) Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen.
DE69026018T2 (de) Rechnersystem mit Vorrichtung zur Verbesserung der Wirksamkeit von Übertragungen zwischen einem Hauptprozessor und Peripheriegeräten verbunden durch einen SCSI-Bus
DE3642324A1 (de) Multiprozessoranlage mit prozessor-zugriffssteuerung
DE3851445T2 (de) Durch Direktspeicherzugriff gesteuertes System.
DE2758023C3 (de) Anschlußschaltung für eine Eingabe-/ Ausgabeschnittstelle einer Datenverarbeitungsanlage
DE3485980T2 (de) Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem.
DE2719278C3 (de) Schaltungsanordnung für hintereinander geschaltete Steuereinheiten zum Anschluß von Ein-/Ausgabegeräten an eine Datenverarbeitungsanlage
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: SCHUMACHER & WILLSAU, PATENTANWALTSSOZIETAET, 80335 MUENCHEN

8339 Ceased/non-payment of the annual fee