PatentDe  


Dokumentenidentifikation DE3888353T2 17.11.1994
EP-Veröffentlichungsnummer 0358715
Titel UNTERBRECHUNGSKNOTEN ZUM VORSEHEN VON UNTERBRECHUNGSANFORDERUNGEN AUF EINEM ANSTEHENDEN BUS.
Anmelder Digital Equipment Corp., Maynard, Mass., US
Erfinder WILLIAMS, Douglas, D., Pepperell, MA 01463, US
Vertreter Betten, J., Dipl.-Ing.; Resch, M., Dipl.-Phys., Pat.-Anwälte, 80469 München
DE-Aktenzeichen 3888353
Vertragsstaaten CH, DE, FR, GB, IT, LI, NL, SE
Sprache des Dokument En
EP-Anmeldetag 21.04.1988
EP-Aktenzeichen 889050530
WO-Anmeldetag 21.04.1988
PCT-Aktenzeichen US8801231
WO-Veröffentlichungsnummer 8808575
WO-Veröffentlichungsdatum 03.11.1988
EP-Offenlegungsdatum 21.03.1990
EP date of grant 09.03.1994
Veröffentlichungstag im Patentblatt 17.11.1994
IPC-Hauptklasse G06F 13/24

Beschreibung[de]
GEBIET DER ERFINDUNG

Die Erfindung betrifft die Behandlung von Unterbrechungen über einen Hängebus zur Übertragung von Meldungen zwischen mehreren Knoten in einem Computersystem.

HINTERGRUND DER ERFINDUNG

Moderne Computersysteme haben die Fähigkeit, eine Anzahl von Betriebsmitteln zu verwenden, die imstande sein müssen, über einen Datenweg miteinander zu kommunizieren. Es wird ein Bus vorgesehen, so daß eine Anzahl von Systembetriebsmitteln Daten untereinander übertragen können. Typische Betriebsmittel, die in einem Computersystem enthalten sind, sind Prozessoren, Speichereinrichtungen und Eingabe-/Ausgabegeräte (I/O-Geräte). I/O-Geräte sind normalerweise die Mittel, die in Computersystemen verwendet werden, um eine Schnittstellenverbindung der Elemente im System mit Quellen und Zielen außerhalb des Computersystems zu bilden.

Eine Unterbrechung ist das Mittel, durch das ein I/O-Gerät die Aufmerksamkeit des Systems erregt, so daß sich das System mit den Bedürfnissen des I/O-Geräts befassen kann. In vielen herkömmlichen Systemen erzeugt ein I/O-Gerat ein spezielles "Unterbrechungsanforderungs-Signal," das über festgeschaltete Steuerleitungen gesendet wird.

Alternativ sendet in einem meldungsgestützten Unterbrechungsschema ein I/O- Gerät Unterbrechungsanforderungs-Meldungen über den Systembus an das System. Somit werden in meldungsgestützten Systemen keine getrennten und eigenen Status- und Steuerleitungen benötigt. Die Regeln für die Erstellung und Interpretierung von Meldungen, wie Unterbrechungsanforderungs-Meldungen, werden als das "Protokoll" bezeichnet.

Gemäß mancher Protokolle zur Behandlung einer Unterbrechungsanforderung erbittet das Betriebsmittel, das die Unterbrechung behandelt, dann zusätzliche Informationen von dem I/O-Gerät. Ein Weg, solche zusätzlichen Informationen zu erhalten, ist, eine Unterbrechungs-Bestätigungsmeldung zu liefern. Als Antwort auf die Unterbrechungsbestätigung gibt das I/O-Gerät einen Unterbrechungsvektor zurück, der Informationen speziell zu der angeforderten Unterbrechung enthält. Der Unterbrechungsvektor kann zum Beispiel Informationen über die Startadresse einer Routine liefern, um das unterbrechende I/O-Gerät zu bedienen.

In jedem System, in dem mehrere I/O-Geräte Unterbrechungsanforderungen senden oder in dem ein I/O-Gerät mehrere Unterbrechungsanforderungen sendet, muß irgendein Verfahren zur Entscheidung zwischen den Anforderungen vorgesehen werden. Zum Beispiel können entweder den unterbrechenden Geräten oder den individuellen Unterbrechungsanforderungen Unterbrechungsprioritäten zugewiesen werden, die das System benutzen kann, um bei der Entscheidung zu helfen.

Das Konzept und einige der Vorzüge der Verwendung eines "Hängebusses" werden weiter unten im Abschnitt "Systemüberblick" beschrieben. Um idealerweise die Vorteile sowohl von meldungsgestützten Unterbrechungsschemas als auch von Hängebussen zu erhalten, wäre es wünschenswert, diese zwei Methoden zu kombinieren. Diese Kombination ist jedoch aus mehreren Gründen schwierig zu verwirklichen. Eine Ursache der Schwierigkeit ist die, daß bei Verwendung eines Hängebusses ein Bedarf nach zusätzlichen Informationen zum Weiterleiten von Meldungen zwischen dem Unterbrechungsknoten und dem Unterbrechungsbehandlungsknoten besteht. Die parallele Aktivität in einem Hängebus, die inhärent ist, da Unterbrechungsanforderungen und die Behandlung dieser Anforderungen gleichzeitig und asynchron auftreten, macht es darüber hinaus schwierig, kohärente oder aktuelle Statusinformationen auf schwebenden Unterbrechungsanforderungen einzurichten.

Zu diesen Problemen kommt die Kompliziertheit hinzu, die mit der Aufrechterhaltung von schwebenden Unterbrechungsstatusinformationen für sämtliche Unterbrechungsknoten auf sämtlichen verschiedenen Prioritätsebenen verbunden ist. Dies ist weniger schwierig, wenn festgeschaltete Steuerleitungen verwendet werden, da der Status durch Prüfung dieser Leitungen bestimmt werden kann. Wenn jedoch die Anzahl von Prozessoren und anderen Knoten an einem Bus zunimmt, muß die Anzahl von festgeschalteten Steuerleitungen zunehmen, was für große Mehrprozessorsysteme die Verwendung eines Systems festgeschalteter Steuerleitungen unpraktisch macht.

Die Verwendung eines meldungsgestützten Unterbrechungssystems beseitigt zwar dieses Problem, schafft aber andere Probleme bei der Aufrechterhaltung von schwebenden Statusinformationen. In einem meldungsgestützten System, das einen Hängebus verwendet, ist es zum Beispiel möglich, daß ein Unterbrechungsknoten mehrere Unterbrechungsbehandlungsknoten spezifizieren darf. Dies eröffnet eine zusätzliche Schwierigkeitsstufe bei der Lösungsfindung für das Problem, zu verhindern, daß mehrere Unterbrechungsbehandlungsknoten die gleiche Anforderung behandeln. Somit benötigt ein meldungsgestütztes Unterbrechungsschema auf einem Hängebus irgendeinen Mechanismus, so daß Unterbrechungsbehandlungsknoten Aktionen detektieren können, die von anderen Unterbrechungsbehandlungsknoten vorgenommen werden.

Wenn Meldungen verwendet werden, um Unterbrechungsanforderungen zu liefern, ist es ein verwandtes Problem, wie ein Unterbrechungsbehandlungsknoten zwischen ausstehenden Unterbrechungsanforderungen von verschiedenen Unterbrechungsknoten unterscheiden kann. Es würde sonst Konkurrenz zwischen mehreren Unterbrechungsknoten geben, wenn eine Unterbrechungs-Bestätigungsmeldung gesendet wird, und die verlierenden Unterbrechungsknoten würden gezwungen sein, ihre Unterbrechungsanforderungen neu auszugeben.

Dementsprechend ist es eine Aufgabe der vorliegenden Erfindung, ein meldungsgestütztes Unterbrechungsschema auf einem Hängebus zu schaffen.

Eine weitere Aufgabe der Erfindung ist es, aktuelle Statusinformationen auf Unterbrechungsanforderungen aufrechtzuerhalten und als Antwort auf jede Anforderung nur eine einzige Unterbrechungs-Bestätigungsmeldung zu senden.

Noch eine Aufgabe der Erfindung ist es, die Notwendigkeit für unterbrechende Geräte zu beseitigen, für ein einziges Unterbrechungsereignis Unterbrechungsanforderungen neu auszugeben.

Weitere Aufgaben und Vorteile der Erfindung werden teils in der nachfolgenden Beschreibung dargelegt, teils werden sie aus der Beschreibung klar, oder sie sind durch Realisierung der Erfindung erlernbar. Die Aufgaben und Vorteile der Erfindung lassen sich mit Hilfe der Mittel und Kombinationen lösen und erhalten, auf die in den beigefügten Patentansprüchen besonders hingewiesen wird.

ABRISS DER ERFINDUNG

Um die Aufgaben zu lösen und in Übereinstimmung mit den Zielen der Erfindung, die hierin verkörpert und ausführlich beschrieben, wird ein Unterbrechungsknoten mit einem einzigen Identifizierer (ID) zum Liefern von Unterbrechungsanforderungen an einen Unterbrechungsbehandlungsknoten geschaffen, wobei der Unterbrechungsknoten mit einem Hängebus zum Übertragen von Meldungen zwischen dem Unterbrechungsknoten und dem Unterbrechungsbehandlungsknoten verbunden ist und folgendes umfaßt:

eine Einrichtung zum Liefern einer Unterbrechungsanforderungs-Meldung an den Bus, einschließlich Identifikationsdaten entsprechend dem einzigen Identifizierer des Unterbrechungsknotens zum Identifizieren des Unterbrechungsknotens als die Quelle der Unterbrechungsanforderung; und

eine Einrichtung zum Überwachen von Unterbrechungs-Bestätigungsmeldungen auf dem Bus und zum Detektieren einer Unterbrechungs-Bestätigungsmeldung als Antwort auf eine der Unterbrechungsanforderungen des Unterbrechungsknotens, einschließlich Zieldaten, die den Unterbrechungsknoten durch Vergleich der Zieldaten in der Unterbrechungs-Bestätigungsmeldung mit dem einzigen Identifizierer des Unterbrechungsknotens spezifizieren.

Die beigefügten Zeichnungen, die in diese Beschreibung einbezogen sind und einen Teil von ihr bilden, veranschaulichen eine Ausführungsform der Erfindung und dienen zusammen mit der Beschreibung dazu, die Prinzipien der Erfindung zu erläutern.

KURZBESCHREIBUNG DER ZEICHNUNGEN

Fig. 1 ist ein Blockdiagramm eines Datenverarbeitungssystems, das einen Systembus umfaßt und von der vorliegenden Erfindung Gebrauch macht;

Fig. 2 ist ein Blockdiagramm eines Knotens in dem Datenverarbeitungssystem von Fig. 1;

Fig. 3 ist ein Timing-Diagramm, das Timing-Signale zeigt, die in dem Datenverarbeitungssystem von Fig. 1 benutztwerden;

Fig. 4 ist ein Blockdiagramm der Datenschnittstelle in dem Knoten von Fig. 2;

Fig. 5 ist ein Blockdiagramm des Zuteilers in dem Datenverarbeitungssystem von Fig. 1;

Fig. 6 ist ein Blockdiagramm eines Unterbrechungsknotens;

Fig. 7 ist ein Blockdiagramm eines Unterbrechungsbehandlungsknotens;

Fig. 8 ist ein Blockdiagramm von Speicherelementen, die in dem Unterbrechungsbehandlungsknoten enthalten sind; und

Fig. 9A und 9B sind ein Flußdiagramm eines Verfahrens zur Behandlung von Unterbrechungsanforderungen.

BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN

Es wird nun im einzelnen auf die gegenwärtig bevorzugten Ausführungsformen der Erfindung Bezug genommen, für die in den beigefügten Zeichnungen Beispiele veranschaulicht sind.

A. Systemüberblick

Fig. 1 zeigt ein Beispiel eines Datenverarbeitungssystems 20, das die vorliegende Erfindung verkörpert. Das Herz des Systems 20 ist ein Systembus 25, der ein synchroner Bus ist und der eine Kommunikation zwischen mehreren Prozessoren, Speicher-Subsystemen und I/O-Systemen erlaubt. Die Kommunikation über den Systembus 25 geschieht synchron unter Verwendung von periodischen Buszyklen. Eine typische Buszykluszeit für den Systembus 25 ist 64 nsec.

In Fig. 1 ist der Systembus 25 mit zwei Prozessoren 31 und 35, einem Speicher 39, einer I/O-Schnittstelle 41 und einer I/O-Einheit 51 verbunden. Eine I/O-Einheit 53 ist über einen I/O-Bus 45 und eine I/O-Einheits-Schnittstelle 41 mit dem Systembus 25 verbunden.

In der bevorzugten Ausführungsform des Datenverarbeitungssystems 20 ist außerdem ein zentraler Zuteiler 28 mit dem Systembus 25 verbunden. Der Zuteiler 28 liefert bestimmte Timing- und Buszuteilungssignale direkt an die anderen Geräte auf dem Systembus 25 und benutzt einige Signale mit diesen Geräten gemeinsam.

Die in Fig. 1 gezeigte Ausführung ist eine gegenwärtig bevorzugte und ist nicht notwendigerweise als die vorliegende Erfindung begrenzend zu verstehen. Zum Beispiel könnte die I/O-Einheit 53 direkt mit dem Systembus 25 verbunden sein, und der Zuteiler 28 braucht nicht in der für die vorliegende Erfindung beschriebenen Weise zu arbeiten.

In der zur Beschreibung der vorliegenden Erfindung verwendeten Terminologie werden die Prozessoren 31 und 35, der Speicher 39, die I/O-Schnittstelle 41 und das I/O-Gerät 51 sämtlich Knoten genannt. Ein "Knoten" ist als Hardware-Gerät definiert, das mit dem Systembus 25 verbunden ist. Ein typischer Knoten 60 ist detaillierter in Fig. 2 gezeigt.

Entsprechend der zur Beschreibung der vorliegenden Erfindung verwendeten Terminologie werden die Begriffe "Signale" oder "Leitungen" größtenteils austauschbar verwendet, um auf die Namen der physikalischen Drähte hinzuweisen. Die Begriffe "Daten" oder "Pegel" werden größtenteils verwendet, um auf die Werte hinzuweisen, die die Signale oder Leitungen annehmen können.

Knoten führen Transfers mit anderen Knoten über den Systembus 25 durch. Ein "Transfer" sind ein oder mehr benachbarte Zyklen, die einen gemeinsamen Sender und eine gemeinsame Zuteilung gemeinsam benutzen. Beispielsweise benötigt eine Leseoperation, die von einem Knoten eingeleitet wird, um Informationen von einem anderen Knoten auf dem Systembus 25 zu erhalten, einen Kommandotransfer vom ersten zum zweiten Knoten, dem einige Zeit später ein oder mehr Datenrücktransfers vom zweiten Knoten zum ersten Knoten folgen.

Eine "Transaktion" ist als die vollständige logische Aufgabe definiert, die auf dem Systembus 25 durchgeführt wird, und kann mehr als einen Transfer umfassen. Zum Beispiel ist eine Leseoperation, die aus einem Kommandotransfer besteht, dem später ein oder mehr Datenrücktransfers folgen, eine Transaktion. In der bevorzugten Ausführungsform des Systembusses 25 unterstützen die zulässigen Transaktionen den Transfer von verschiedenen Datenlängen und umfassen Lese-, (maskierte) Schreib-, Verriegelungslese-, Entriegelungsschreib- und Unterbrechungsoperationen. Der Unterschied zwischen einem Verriegelungslesen und einem regulären oder Nichtverriegelungs-Lesen ist der, daß ein Verriegelungslesen an einer bestimmten Speicherstelle Informationen wiedergewinnt, die an dieser Stelle gespeichert sind, und durch nachfolgende Verriegelungslesekommandos den Zugriff auf die gespeicherten Informationen beschränkt. Die Zugriffsbeschränkung wird durch Setzen eines Verriegelungsmechanismus durchgeführt. Ein nachfolgen des Entriegelungsschreibkommando speichert Informationen in der spezifizierten Speicherstelle und stellt den Zugriff auf die gespeicherten Informationen wieder her, indem der Verriegelungsmechanismus an dieser Stelle zurückgesetzt wird. Somit haben die Verriegelungslese-/Entriegelungsschreiboperationen die Form einer Lese-Änder-Schreib-Operation.

Da der Systembus 25 ein "Hängebus" ist, fördert er die effiziente Ausnutzung von Busbetriebsmitteln, indem er anderen Knoten erlaubt, Buszyklen zu verwenden, die sonst beim Warten auf Antworten vergeudet worden wären. In einem Hängebus können, nachdem ein Knoten eine Transaktion einleitet, andere Knoten Zugriff auf den Bus haben, bevor die Transaktion beendet ist. Der Knoten der diese Transaktion einleitet, blockiert somit den Bus nicht während der gesamten Transaktionszeit. Dies steht im Gegensatz zu einem Nicht-Hängebus, bei dem der Bus während einer gesamten Transaktion blockiert ist. Zum Beispiel kann im Systembus 25, nachdem ein Knoten eine Lesetransaktion einleitet und einen Kommandotransfer vornimmt, der Knoten, an den der Kommandotransfer gerichtet ist, nicht imstande sein, die angeforderten Daten sofort zurückzugeben. Zwischen dem Kommandotransfer und dem Datenrücktransfer der Lesetransaktion würden dann Zyklen auf dem Bus 25 zur Verfügung stehen. Der Systembus 25 erlaubt es anderen Knoten, diese Zyklen zu verwenden.

Bei Verwendung des Systembusses 25 kann jeder der Knoten verschiedene Rollen annehmen, um den Transfer von Informationen zu bewirken. Eine dieser Rollen ist ein "Kommandogeber", der als Knoten definiert ist, der eine gegenwartig ablaufende Transaktion eingeleitet hat. Beispielsweise ist bei einer Schreib- oder Leseoperation der Kommandogeber derjenige Knoten, der die Schreib- oder Leseoperation angefordert hat; er ist nicht notwendigerweise der Knoten, der die Daten sendet oder empfängt. In dem bevorzugten Protokoll für den Systembus 25 bleibt ein Knoten während einer gesamten Transaktion der Kommandogeber, selbst wenn ein anderer Knoten während einiger Zyklen der Transaktion Eigentum am Systembus 25 nehmen kann. Obwohl zum Beispiel ein Knoten während des Transfers von Daten als Antwort auf den Kommandotransfer einer Lesetransaktion die Kontrolle über den Systembus 25 hat, wird dieser eine Knoten nicht der Kommandogeber des Busses. Statt dessen wird dieser Knoten "Antwortgeber" genannt.

Ein Antwortgeber antwortet dem Kommandogeber. Hat beispielsweise ein Kommandogeber eine Schreiboperation eingeleitet, Daten vom Knoten A an den Knoten B zu schreiben, so würde der Knoten B der Antwortgeber sein. Zusätzlich kann im Datenverarbeitungssystem 20 ein Knoten gleichzeitig ein Kommandogeber und ein Antwortgeber sein.

Sender und Empfänger sind Rollen, die die Knoten in einem individuellen Transfer annehmen können. Ein "Sender" ist als Knoten definiert, der der Ursprung von Informationen ist, die während eines Transfers auf den Systembus 25 gegeben werden. Ein "Empfänger" ist das Gegenstück des Senders und ist als der Knoten definiert, der die während eines Transfers auf den Systembus 25 gegebenen Informationen empfängt. Während einer Lesetransaktion kann beispielsweise ein Kommandogeber zuerst während des Kommandotransfers ein Sender und dann während des Datenrücktransfers ein Empfänger sein.

Wünscht ein mit dem Systembus 25 verbundener Knoten, ein Sender auf dem Systembus 25 zu werden, so aktiviert dieser Knoten eine von zwei Anforderungsleitungen CMD REQ (Kommandogeberanforderung) und RES REQ (Antwortgeberanforderung), die zwischen dem zentralen Zuteiler 28 und diesem bestimmten Knoten angeschlossen sind. Die Leitungen CMD REQ und RES REQ sind allgemein in Fig. 1 gezeigt. Im allgemeinen verwendet ein Knoten seine Leitung CMD REQ, um anzufordern, Kommandogeber zu werden und Transaktionen auf dem Systembus 25 einzuleiten, und ein Knoten verwendet seine Leitung RES REQ, um ein Antwortgeber zu werden, um Daten oder eine Meldung an einen Kommandogeber zurückzugeben. Im allgemeinen detektiert der zentrale Zuteiler 28, welche Knoten Zugriff auf den Bus wünschen (d. h., welche Anforderungsleitungen aktiviert sind). Der Zuteiler antwortet dann einer der aktivierten Anforderungsleitungen, dem entsprechenden Knoten gemäß einem Prioritätsalgorithmus Zugriff auf den Bus 25 zu gewähren. In der bevorzugten Ausführungsform hält der Zuteiler 28 zwei unabhängige Ringwarteschlangen aufrecht: eine für die Kommandogeberanforderungen und eine für die Antwortgeberanforderungen. Vorzugsweise haben die Antwortgeberanforderungen eine höhere Priorität als die Kommandogeberanforderungen und werden vor den Kommandogeberanforderungen behandelt.

Die Kommandogeber-Anforderungsleitungen und die Antwortgeber-Anforderungsleitungen werden als Zuteilungssignale betrachtet. Wie in Fig. 1 dargestellt und wie später detaillierter in der Beschreibung von Fig. 6 erläutert, umfassen die Zuteilungssignale außerdem punktweise bedingte Gewährungssignale vom zentralen Zuteiler 28 an jeden Knoten, Systembus-Erweiterungssignale, um Mehrbuszyklus-Transfers auszuführen, und Systembus-Unterdrückungssignale, um die Einleitung von neuen Bustransaktionen zu steuern, wenn beispielsweise ein Knoten, etwa ein Speicher, momentan nicht imstande ist, mit dem Verkehr auf dem Systembus Schritt zu halten.

Weitere Typen von Signalen, die den Systembus 25 beauftragen können, umfassen Informationstransfersignale, Antwortsignale, Steuersignale, Konsolen-/Frontplattensignale und ein paar vermischte Signale. Die Informationstransfersignale umfassen Datensignale, Funktionssignale, die die Funktion repräsentieren, die während eines laufenden Zyklus auf dem Systembus 25 durchgeführt wird, Identifizierersignale, die den Kommandogeber identifizieren, und Paritätssignale. Die Antwortsignale enthalten im allgemeinen Bestätigungs- oder Rückmeldungssignale von einem Empfänger, um den Sender von dem Status des Datentransfers in Kenntnis zu setzen.

Steuersignale umfassen Taktsignale, Warnsignale wie solche, die niedrige Leitungsspannungen oder niedrige Gleichspannungen identifizieren, Rücksetzsignale, die während einer Initialisierung verwendet werden, Knotenstörungssignale, Vorgabesignale, die während Leerlauf-Buszyklen verwendet werden, und Fehlervorgabesignale. Die Konsolen-/Frontplattensignale umfassen Signale, um serielle Daten an eine Systemkonsole zu senden oder davon zu empfangen, Boot- Signale, um das Verhalten eines Boot-Prozessors während des Einschaltens zu steuern, Signale, um eine Modifikation des löschbaren PROM der Prozessoren 31, 35 auf dem Systembus 25 freizugeben, ein Signal, um ein EIN-LICHT auf der Frontplatte zu steuern, und Signale, die der Takt-Logikschaltung auf manchem Knoten Batterieleistung liefern. Die vermischten Signale umfassen außer Reservesignalen Identifikationssignale, die es jedem Knoten erlauben, seinen Identifikationscode zu bestimmen.

Fig. 2 zeigt ein Beispiel eines Knotens 60, der mit dem Systembus 25 verbunden ist. Der Knoten 60 könnte ein Prozessor, ein Speicher, eine I/O-Einheit oder eine I/O-Schnittstelle sein, wie in Fig. 1 gezeigt. In dem in Fig. 2 gezeigten Beispiel enthält der Knoten 60 eine knotenspezifische Logikschaltung 65, einen Knotenbus 67 und eine Systembusschnittstelle 64, die eine Datenschnittstelle 61 und einen Taktdecodierer 63 enthält. Vorzugsweise sind die Datenschnittstelle 61, der Taktdecodierer 63 und der Knotenbus 67 Standardelemente für die Knoten, die mit dem Systembus 25 verbunden sind. Die knotenspezifische Logikschaltung 65, die verschiedene integrierte Schaltungen von der Systembusschnittstelle 64 verwendet, enthält vorzugsweise außer dem Schaltungsteil, der von einem Anwender gestaltet wird, um die spezifische Funktion eines Knotens durchzuführen, einen Standardschaltungsteil für eine Schnittstellenverbindung mit dem Knotenbus 67. Im allgemeinen ist die Datenschnittstelle 61 die primäre logische und elektrische Schnittstelle zwischen dem Knoten 60 und dem Systembus 25, liefert der Taktdecodierer 63 basierend auf zentral erzeugten Taktsignalen Timing-Signale an den Knoten 60 und bildet der Knotenbus 67 eine Hochgeschwindigkeits-Schnittstelle zwischen der Datenschnittstelle 61 und der knotenspezifischen Logikschaltung 65.

In der bevorzugten Ausführungsform des Knotens 60 und der Systembusschnittstelle 64, die in Fig. 2 gezeigt sind, enthält der Taktdecodierer 63 einen Steuerschaltungsteil, um Signale zu formen, die auf den Systembus 25 zu geben sind, und verarbeitet vom zentralen Zuteiler 28 empfangene Taktsignale, um Timing-Signale für die knotenspezifische Logikschaltung 65 und die Datenschnittstelle 61 zu erhalten. Da die vom Taktdecodierer 63 erhaltenen Timing-Signale die zentral erzeugten Taktsignale verwenden, arbeitet der Knoten 60 dann synchron mit dem Systembus 25.

Fig. 3 ist ein Timing-Diagramm, das einen Buszyklus zeigt, wobei die Taktsignale durch den Taktdecodierer 63 vom zentralen Zuteiler 28 (Fig. 1) empfangen werden und einige der Timing-Signale vom Taktdecodierer 63 erzeugt werden. Die vom Taktdecodierer 63 empfangenen Taktsignale umfassen ein Signal Zeit H, ein Signal Zeit L und ein Signal Phase, wie in Fig. 3 gezeigt. Zeit H und Zeit L sind Inverse der fundamentalen Taktsignale, und das Signal Phase wird durch Teilen des fundamentalen Taktsignals durch drei erhalten. Die vom Taktdecodierer 63 erzeugten Timing-Signale umfassen C12, C23, C34, C45, C56 und C61, die alle in Fig. 3 gezeigt sind. Diese von der Datenschnittstelle 61 benötigten Timing- Signale, die einmal pro Buszyklus erscheinen, werden an die Datenschnittstelle 61 geliefert, und ein vollständiger Satz von Timing-Signalen einschließlich von Äquivalenten der Timing-Signale, die an die Datenschnittstelle 61 geliefert werden, wird gepuffert und an die knotenspezifische Logikschaltung 65 geliefert. Der Zweck der Pufferung ist, sicherzustellen, daß die knotenspezifische Logikschaltung 65 den Betrieb der Systembusschnittstelle 64 nicht durch unpassendes Laden der Timing-Signale ungünstig beeinflussen kann. Der Taktdecodierer 63 verwendet die Taktsignale, um sechs Subzyklen für jeden Buszyklus zu erstellen, und verwendet dann die Subzyklen, um die sechs Timing- Signale CXY zu erstellen, wobei X und Y zwei benachbarte Subzyklen darstellen, die kombiniert werden, um ein Timing-Signal zu bilden.

Jeder Knoten im Systembus 25 hat seinen eigenen entsprechenden Satz von Timing-Signalen, die von seinem Taktdecodierer 63 erzeugtwerden. Während die entsprechenden Signale nominell überall im System 20 in jedem Knoten zu genau der gleichen Zeit auftreten, führen Abweichungen zwischen dem Taktdecodierer 63 und anderen Schaltungsteilen in mehreren Knoten Timing-Abweichungen zwischen den entsprechenden Signalen herbei. Diese Timing-Abweichungen sind gewöhnlich als "Taktversatz" bekannt.

Fig. 4 zeigt eine bevorzugte Ausführungsform der Datenschnittstelle 61. Die Datenschnittstelle 61 enthält sowohl einen Temporärspeicher-Schaltungsteil als auch einen Bustreiber-Schaltungsteil, um eine bidirektionale Hochgeschwindigkeits-Schnittstelle zwischen jeder der Leitungen des Knotenbusses 67 und jeder der Leitungen des Systembusses 25 bereitzustellen. Wie in Fig. 4 gezeigt, enthält die Datenschnittstelle 61 vorzugsweise Speicherelemente 70 und 72 und einen Systembustreiber 74, um einen Kommunikationsweg vom Knotenbus 67 zum Systembus 25 bereitzustellen. Die Datenschnittstelle 61 enthält außerdem ein Speicherelement 80 und einen Knotenbustreiber 82, um einen Kommunikationsweg vom Systembus 25 zum Knotenbus 67 bereitzustellen. Wie in der Beschreibung der Datenschnittstelle 61 verwendet, bezieht sich der Begriff "Speicherelement" allgemein auf bistabile Speichereinrichtungen wie ein transparentes Latch oder ein Master-Slave-Speicherelement, und nicht auf eine bestimmte Ausführung. Der Fachmann weiß dann, welche Typen von Speicherelementen zweckmäßig sind.

Wie in Fig. 4 gezeigt, hat das Speicherelement 70 einen Eingang, der verbunden ist, um Daten vom Knotenbus 67 zu empfangen, und einen Ausgang, der mit dem Eingang des Speicherelements 72 verbunden ist. Der Ausgang des Speicherelements 72 ist mit einem Eingang des Systembustreibers 74 verbunden, dessen Ausgang mit dem Systembus 25 verbunden ist. Die Speicherelemente 70 und 72 werden durch Knotenbus-Steuersignale 76 bzw. 78 gesteuert, die aus den vom Taktdecodierer 63 erzeugten Timing-Signalen abgeleitet werden. Die Speicherelemente 70 und 72 bilden einen zweistufigen Temporärspeicher zur Beförderung von Daten vom Knotenbus 67 zum Systembus 25. Andere Anzahlen von Speicherstufen können ebenfalls verwendet werden.

Der Systembustreiber 74 wird durch eine Systembus-Treibfreigabe 79 gesteuert. Entsprechend dem Status der Systembus-Treibfreigabe 79 wird der Eingang des Systembustreibers 74 entweder mit seinem Ausgang gekoppelt, wodurch die Daten am Ausgang des Speicherelements 72 zum Systembus 25 übertragen werden, oder von diesem Ausgang entkoppelt. Wenn die Systembus-Treibfreigabe 79 den Eingang und den Ausgang des Systembustreibers 74 entkoppelt, stellt der Systembustreiber 74 für den Systembus 25 einen hohen Widerstand dar. Die Systembus-Treibfreigabe 79 wird außerdem in Übereinstimmung mit vom Systembus 25 empfangenen Taktsignalen und von der knotenspezifischen Logikschaltung 65 empfangenen Taktsignalen vom Taktdecodierer 63 erzeugt.

Das Speicherelement 80 hat einen Eingangsanschluß, der mit dem Systembus 25 verbunden ist, und einen Ausgangsanschluß, der mit einem Eingang des Knotenbustreibers 82 verbunden ist. Der Ausgang des Knotenbustreibers 82 ist wieder mit dem Knotenbus 67 verbunden. Das Speicherelement 80, vorzugsweise ein transparentes Latch, wird durch ein Systembus-Steuersignal 85 gesteuert, das aus den Timing-Signalen abgeleitet wird, die vom Taktdecodierer 63 erzeugt werden. Ein Knotenbus-Treibsignal 87 steuert den Knotenbustreiber 82 auf ähnliche Weise, wie das Systembus-Treibsignal 79 den Systembustreiber 74 steuert. Somit koppelt der Knotenbustreiber 82 als Antwort auf das Knotenbus- Treibsignal 87 entweder seinen Eingang an seinen Ausgang oder entkoppelt seinen Eingang von seinem Ausgang und bildet einen hohen Widerstand für den Knotenbus 67.

Um zu erläutern, wie Daten über den Systembus 25 übertragen werden, ist es wichtig, die Beziehung zwischen der Systembus-Treibfreigabe 79 und dem Steuersignal 85 zu verstehen. Für die vorliegende Ausführungsform ist diese Beziehung in Fig. 3 gezeigt. Die Systembus-Treibfreigabe 79 wird nominell vom Beginn bis zum Ende eines Buszyklus angesteuert. Die neuen Daten werden etwas später im Buszyklus für einen Empfang vom Systembus 25 verfügbar, nachdem eine Treiberfortpflanzungs- und Busstabilisierungszeit stattgefunden hat. In der vorliegenden Ausführungsform ist das Speicherelement 80 ein transparentes Latch. Das Steuersignal 85 ist dem Takt C45 logisch äquivalent. Das Bus-Timing stellt sicher, daß die Daten des Systembusses 25 etwas vor der Deaktivierung des Steuersignals 85 für einen Empfang verfügbar sind. Das Speicherelement 80 speichert Busdaten, die wenigstens für eine Aufbauzeit vor der Deaktivierung des Steuersignals 85 stabil sind und für eine Haltezeit nach der Deaktivierung des Steuersignals 85 stabil bleiben.

Der Knotenbus 67 istvorzugsweise ein Datenbus mit sehr hoher Geschwindigkeit, der mit Hilfe der Datenschnittstelle 61 einen bidirektionalen Datentransfer zwischen der knotenspezifischen Logikschaltung 65 und dem Systembus 25 erlaubt. In der in Fig. 2 gezeigten bevorzugten Ausführungsform des Knotens 60 ist der Knotenbus 67 ein Verknüpfungssystem, das aus punktweisen Verbindungen zwischen der Systembusschnittstelle 64 und der knotenspezifischen Logikschaltung 65 besteht. Gemäß der vorliegenden Erfindung besteht jedoch kein Erfordernis für so eine punktweise Verknüpfung.

Fig. 5 zeigt eine bevorzugte Ausführungsform des zentralen Zuteilers 28, der ebenfalls mit dem Systembus 25 verbunden ist. Der zentrale Zuteiler 28 liefert die Taktsignale für den Systembus 25 und gewährt den Knoten auf dem Systembus 25 Eigentum am Bus. Der zentrale Zuteiler 28 enthält vorzugsweise eine Entscheidungsschaltung 90, eine Taktgeberschaltung 95 und einen Oszillator 97. Der Oszillator 97 erzeugt die fundamentalen Taktsignale. Der Taktgeber 95 liefert Timing-Signale für die Entscheidungsschaltung 90 und die Basistaktsignale Zeit H, Zeit L und Phase für das Timing auf dem Systembus 25. Die Entscheidungsschaltung 90 empfängt die Kommandogeber- und Antwortgeber- Anforderungssignale, entscheidet Konflikte zwischen Knoten, die Zugriff auf den Systembus 25 wünschen, und hält die oben erwähnten Warteschlangen für die Kommandogeber- und Antwortgeberanforderungen aufrecht. Die Entscheidungsschaltung 90 liefert außerdem bestimmte Steuersignale an den Taktgeber 95.

B. Unterbrechungsbehandlung

Ein Unterbrechungsknoten, der die vorliegende Erfindung verkörpert, ist in Fig. 6 gezeigt und wird allgemein durch das Bezugszeichen 110 dargestellt. Der Knoten 110, der die Eigenschaften des in Fig. 2 gezeigten Knotens 60 hat, ist geeignet, mit dem Systembus 25 verbunden zu werden, welcher ein Hängebus ist. Wie oben erläutert, überträgt der Systembus 25 Meldungen einschließlich Unterbrechungsanforderungs-, Unterbrechungsbestätigungs- und Unterbrechungsvektor-Meldungen zwischen Knoten, etwa einem Prozessor und einem I/O-Gerät, die geeignet sind, mit dem Bus verbunden zu werden. Wie hier verkörpert, ist der Knoten 110 geeignet, mit Hilfe der Systembusschnittstelle 64 und einem Satz von Generatoren und Decodierern zum Erstellen und Interpretieren von Meldungen gemäß dem Systemprotokoll mit dem Bus 25 verbunden zu werden. Der Knotenbus 67 ist vorgesehen, um zu ermöglichen, daß Meldungen zwischen den Komponenten im Knoten 110 und der Systembusschnittstelle 64 übertragen werden. Der Unterbrechungsknoten 110 liefert Unterbrechungsanforderungen an den Systembus 25, und die Anforderungen werden aufeinanderfolgend von einem Unterbrechungsbehandlungsknoten behandelt.

Gemäß der vorliegenden Erfindung kann der Unterbrechungsknoten eine Einrichtung zum Liefern einer Unterbrechungsanforderungs-Meldung, einschließlich Identifikationsdaten zur Identifizierung des Unterbrechungsknotens als Ursprung der Unterbrechungsanforderung, an den Bus enthalten. Wie hierin verkörpert, enthält eine solche Einrichtung einen Unterbrechungsanforderungs- Kommandogenerator 118. Der Kommandogenerator 118 erstellt in Übereinstimmung mit dem auf den Bus 25 verwendeten Protokoll eine Meldung, die Funktions- und Kommandocodes enthält, die von irgendwelchen Knoten, die das Protokoll verwenden, als Unterbrechungs-Anforderungsmeldung erkennbar sind.

In der bevorzugten Ausführungsform werden dem Kommandogenerator 118 Einbauschlitz-Identifikationssignale eingegeben, um eine Unterbrechungsanforderungs-Meldung mit Identifikationsdaten zu liefern, die den Unterbrechungsknoten 110 identifizieren. Wenn ein Knoten in dem Computersystem enthalten ist und Zugriff auf den Systembus 25 hat, wird eine physikalische Verbindung zwischen dem Knoten und einer System-Rückwandplatine hergestellt, die eine Anzahl von physikalischen Einbauschlitzen enthält. Die Verbindung mit der Rückwandplatine umfaßt eine Anzahl von Drähten, die zwischen der Rückwandplatine und jedem der Knoten vereinigt werden müssen. Einige dieser Drähte sind jedoch für jeden Schlitz auf der Rückwandplatine einzigartig. Zu diesen schlitzbezogenen Drähten gehören Drähte, die festcodiert sind, um eine bestimmte Identifikation für diesen Schlitz zu erzeugen, die von jeder der anderen Schlitze unterscheidbar ist. Daher wird bevorzugt, daß der Knoten die in den Generator 118 eingegebene Schlitz-Identifikation unter Verwendung des einzigen Satzes von Drähten von der Rückseite erzeugt, die mit der bestimmten Identifikation für den Schlitz festcodiert sind, in dem der Knoten untergebracht ist. Natürlich können verschiedene Modifikationen und Abänderungen an der Art und Weise vorgenommen werden, in der Identifikationsdaten, die den Unterbrechungsknoten 110 identifizieren, erzeugt und in den Kommandogenerator 118 eingegeben werden.

In der bevorzugten Ausführungsform gibt es zusätzliche Eingaben in den Unterbrechungsanforderungs-Kommandogenerator 118. Ein Unterbrechungsanforderungs-Freigabesignal wird dem Generator 118 vom Unterbrechungsknoten 110 eingegeben, um anzuzeigen, daß irgendein Ereignis eingetreten ist, das erfordert, daß der Knoten 110 eine Unterbrechung erzeugt, die von einem der Knoten im Datenverarbeitungssystem 20 behandelt werden muß.

Gemäß der vorliegenden Erfindung kann ein Unterbrechungsknoten außerdem eine Einrichtung zum Liefern der Unterbrechungsanforderungs-Meldung mit Zieldaten für die Spezifizierung bestimmter Unterbrechungsbehandlungsknoten umfassen im in Fig. 6 gezeigten Knoten 110 empfängt der Kommandogenerator 118 Zieldaten von einem Unterbrechungsanforderungs-Zielmaskenregister 120. Die Daten im Register 120 können in irgendeiner Weise aus einer Anzahl von Weisen gesetzt werden, wie Festcodieren des Registers, Schreiben von Daten in das Register unter Verwendung einer über den Bus 25 übertragenen Meldung oder internes Schreiben von Daten in das Register 120 von einer der anderen Komponenten im Knoten 110.

Die im Register 120 gespeicherten Daten sind eine Zielmaske, die bestimmt, welcher der Knoten im Datenverarbeitungssystem 20 als das Ziel für die Unterbrechungsanforderungs-Meldung spezifiziert wird, die dem Bus 25 vom Generator 118 geliefert wird. Ist eine Anzahl von Knoten im Datenverarbeitungssystem 20 enthalten und wird gewünscht, mehrere dieser Knoten als Betriebsmittel zur Verfügung zu haben, um die Unterbrechungsanforderung zu behandeln, die vom Knoten 110 vorgenommen wird, so können dann die Daten in der Zielmaske eine Vielzahl dieser Knoten spezifizieren. Sind beispielsweise acht Knoten im System Prozessoren und ist es günstig, zu erlauben, daß Unterbrechungsanforderungen vom Knoten 110 durch vier dieser Prozessoren behandelt werden, so kann die im Register 120 gespeicherte Maske so gewählt werden, daß vier spezifische Bits gesetzt werden, von denen jedes einem ausgewählten Prozessor im Datenverarbeitungssystem 20 entspricht.

Gemäß der vorliegenden Erfindung kann die Einrichtung zum Liefern der Unterbrechungsanforderungs-Meldung außerdem eine Einrichtung zum Liefern der Unterbrechungsanforderungs-Meldung mit Daten der Unterbrechungsprioritätsebene (IPL) für die Spezifizierung einer Prioritätsebene der Unterbrechungsanforderung umfassen. Zum Beispiel befinden sich Unterbrechungen, die mit Ereignissen wie Stromausfällen verbunden sind, typischerweise auf einer höheren Prioritätsebene und müssen schneller als Unterbrechungen behandelt werden, die zu Ereignissen gehören, wie die Verfügbarkeit von Daten von einem Plattenlaufwerk. In der bevorzugten Ausführungsform werden die Unterbrechungsprioritätsdaten durch den Knoten 110 in den Generator 118 eingegeben, und diese Unterbrechungsanforderungs(I.R.)-IPL-Daten spezifizieren die Prioritätsebene der Unterbrechungsanforderung, die gegenwärtig vom Knoten 110 erzeugt wird.

Gemäß der Erfindung umfaßt der Unterbrechungsknoten eine Einrichtung zum Überwachen der Unterbrechungs-Bestätigungsmeldungen auf dem Bus und zum Detektieren einer Unterbrechungs-Bestätigungsmeldung auf dem Bus einschließlich der Zieldaten, die den Unterbrechungsknoten spezifizieren und die den Identifikationsdaten in der Unterbrechungsanforderungs-Meldung entsprechen. Vorzugsweise enthält eine solche Einrichtung einen Kommandodecodierer 122 und eine Zielvergleicher-Logikschaltung 124. Zu Zeiten, wenn ein Kommando von einem Knoten auf den Systembus 25 übertragen wird, wird es vom Knoten 110 empfangen und in einer Antwortgeber-Eingangswarteschlange 126 gespeichert, die typischerweise ein Zuerst-Herein-Zuerst-Heraus-Register ist, das während der Kommandodecodierung als temporärer Speicher verwendet wird. Die Meldungen in der Warteschlange 126 werden dann dem Kommandodecodierer 122 zugeführt. Jedes auf dem Systembus 25 gesendete Unterbrechungs- Bestätigungskommando umfaßt dann Funktions- und Kommandocodes, die diese Meldung als Unterbrechungs-Bestätigungskommando identifizieren. Der Kommandodecodierer 122 detektiert, ob die in der Warteschlange 126 gespeicherte Meldung eine Unterbrechungs-Bestätigungsmeldung ist, und gibt, wenn dies der Fall ist, zu Zeiten, wenn eine Unterbrechungs-Bestätigungsmeldung empfangen worden ist, ein Unterbrechungsbestätigung-Vorhanden-Signal an ein UND-Gatter 128 aus.

Ist die Meldung in der Warteschlange 126 eine Unterbrechungs-Bestätigungsmeldung, so enthält sie auch Zieldaten. Der Kommandodecodierer 122 gibt diese Zieldaten an die Zielvergleicher-Logikschaltung 124 aus. Die Zielvergleicher- Logikschaltung 124 vergleicht die Zieldaten mit den Einbauschlitz- Identifikationssignalen, die vorher beschrieben worden sind und die Identifikationsdaten enthalten, die den Unterbrechungsknoten 110 identifizieren. Zu Zeiten, wenn eine Unterbrechungs-Bestätigungsmeldung auf dem Systembus 25 Zieldaten enthält, die den bestimmten Unterbrechungsknoten 110 spezifizieren, gibt dann die Zielvergleicher-Logikschaltung 124 an das UND-Gatter 128 ein Signal aus, das anzeigt, daß Gleichheit vorliegt. Das UND-Gatter 128 aktiviert als sein Ausgangssignal ein Unterbrechungsvektor-Freigabesignal, wenn der Kommandodecodierer 122 detektiert, daß eine Unterbrechungs-Bestätigungsmeldung vorhanden ist, und die Zielvergleicher-Logikschaltung 124 detektiert, daß die Meldung Zieldaten enthält, die den Knoten 110 spezifizieren. Das Unterbrechungsvektor-Freigabesignal wird an einen Unterbrechungsvektor- Antwortgenerator 130 gesendet.

Gemäß einem Unterbrechungsknoten der vorliegenden Erfindung kann es eine Einrichtung geben, um als Antwort auf die Detektion einer Unterbrechungs- Bestätigungsmeldung einschließlich der Zieldaten, die den Unterbrechungsknoten spezifizieren, eine Unterbrechungsvektor-Meldung an den Bus zu liefern. Wie hierin verkörpert, umfaßt eine solche Einrichtung einen Unterbrechungsvektor-Antwortgenerator 130. Der Antwortgenerator 130 gleicht dem Kommandogenerator 118 insofern, als beide Generatoren eingegebene Daten in eine Meldung im vom Systemprotokoll verlangten Format umwandeln. Der Antwortgenerator 130 wird durch den Unterbrechungsvektor-Freigabesignalpegel vom UND-Gatter 128 freigegeben. Die als Antwort auf eine Unterbrechungs- Bestätigungsmeldung vom Unterbrechungsknoten 110 zum Systembus 25 übertragenen Informationen werden in einer Vektorregisterdatei 132 gespeichert. Wie in Fig. 6 gezeigt, enthält die Vektorregisterdatei 132 Vektorregister 134, 136, 138 und 140.

In der in Fig. 6 gezeigten bevorzugten Ausführungsform der Erfindung können mehrere Vektorregister verwendet werden, da der Knoten 110 imstande sein kann, als Antwort auf getrennte Ereignisse, die Behandlung durch Ausführung eines anderen Satzes von Programmbefehlen erfordern, Unterbrechungsanforderungs- Meldungen zu erzeugen. Daher kann ein Unterbrechungsknoten der vorliegenden Erfindung eine Einrichtung zum Auswählen einer Unterbrechungsvektor-Meldung aus einer Vielzahl von Unterbrechungsvektor-Meldungen entsprechend den Daten der Prioritätsebene aus der Unterbrechungs-Bestätigungsmeldung umfassen. Wie hierin verkörpert, kann diese Einrichtung eine Vektorregisterdatei 132 und einen Multiplexer 142 aufweisen, um die Daten des Unterbrechungsvektors auszuwählen, die in einem der Vektorregister in der Vektorregisterdatei 132 enthalten sind.

Eine Unterbrechungs-Bestätigungsmeldung auf dem Bus 25 wird vorzugsweise mit Daten der Unterbrechungsbestätigungs-Unterbrechungsprioritätsebene (I.A.- IPL-Daten) versehen, die die Prioritätsebene der Unterbrechungsanforderungs- Meldung spezifizieren, daß ein Unterbrechungsbehandlungsknoten bereit ist, zu behandeln. Die I.A.-IPL-Daten werden vom Kommandodecodierer 122 dem Multiplexer 142 zugeführt, der die Daten des Unterbrechungsvektors gemäß den empfangenen I.A.-IPL-Daten auswählt. Als Folge werden die ausgewählten Daten des Unterbrechungsvektors dem Unterbrechungsvektor-Antwortgenerator 130 zugeführt und sind dann in der Unterbrechungsvektor-Meldung enthalten, die vom Generator 130 geliefert wird. Der Antwortgenerator 130 gibt dann die Unterbrechungsvektor-Meldung an den Systembus 25 aus, so daß die Meldung vom Unterbrechungsbehandlungsknoten empfangen werden kann.

Der Unterbrechungsknoten dieser Erfindung kann außerdem eine Einrichtung zum Liefern der Unterbrechungsvektor-Meldung mit Ursprungsdaten für die Identifizierung eines bestimmten Unterbrechungsbehandlungsknotens umfassen. In der bevorzugten Ausführungsform umfaßt die von einem Unterbrechungsbehandlungsknoten erzeugte und vom Knoten 110 detektierte Unterbrechungs- Bestätigungsmeldung Ursprungsdaten zur Identifizierung eines bestimmten Unterbrechungsbehandlungsknotens als den Ursprung der Unterbrechungs- Bestätigungsmeldung. Diese Ursprungsdaten werden vom Kommandodecodierer 122 dem Unterbrechungsvektor-Antwortgenerator 130 zugeführt. Wenn der Generator 130 eine Unterbrechungsvektor-Meldung erstellt, verwendet er die vom Kommandodecodierer 122 empfangenen Ursprungsdaten, um eine Unterbrechungsvektor-Meldung mit Ursprungsdaten an den Bus zu liefern. Die Einschließung von Ursprungsdaten in die Unterbrechungsvektor-Meldung erleichtert den Empfang der Daten des Unterbrechungsvektors, die von einem bestimmten Unterbrechungsbehandlungsknoten angefordert werden.

Ein Unterbrechungsbehandlungsknoten ist in Fig. 7 und 8 gezeigt und wird allgemein durch das Bezugszeichen 144 dargestellt. Die Einbauschlitz- Identifikationssignale, die Systembusschnittstelle 64, der Knotenbus 67, die Eingangswarteschlangen, der Kommandogenerator, die Decodierer und die Zielvergleicher-Logikschaltung, die in Fig. 7 gezeigt sind, gleichen in Aufbau und Betrieb den entsprechenden Elementen, die in Fig. 6 zum Knoten 110 gezeigt und bei der Erörterung des Unterbrechungsknotens 110 beschrieben wurden. Bei Verwendung dieser Elemente in Verbindung mit den in Fig. 6 gezeigten Elementen ist es möglich, daß ein Knoten sowohl als Unterbrechungsknoten als auch als Unterbrechungsbehandlungsknoten wirken kann. Ein Unterbrechungsbehandlungsknoten 144 behandelt Unterbrechungsanforderungs-Meldungen auf dem Bus 25, die von einem Unterbrechungsknoten geliefert wurden. Der Knoten 144 ist dazu geeignet, über die Systembusschnittstelle 64 und einen Satz von Generatoren und Decodierern mit dem Systembus 25 verbunden zu werden.

Der Unterbrechungsbehandlungsknoten umfaßt eine Einrichtung zum Detektieren von Unterbrechungsanforderungs-Meldungen auf dem Bus einschließlich Identifikationsdaten, die den Unterbrechungsknoten identifizieren. Vorzugsweise werden auf dem Hängebus 25 übertragene Meldungen durch den Unterbrechungsbehandlungsknoten 144 in einer Antwortgeber-Eingangs-warteschlange 146 gespeichert, die ein Zuerst-Herein-Zuerst-Heraus-Register ist, das während der Kommandodecodierung als temporärer Speicher verwendet wird. Jede gespeicherte Meldung wird dann einem Kommandodecodierer 148 zugeführt, der in der Detektierungseinrichtung enthalten ist. Eine auf dem Systembus 25 übertragene Unterbrechungsanforderungs-Meldung umfaßt Funktions- und Kommandocodes, die sie als Unterbrechungsanforderungs-Meldung identifizieren, und der Decodierer 148 liefert dann als Antwort auf die Detektierung einer Unterbrechungsanforderungs-Meldung auf dem Bus 25 ein Unterbrechungsanforderung-Vorhanden-Signal an ein UND-Gatter 150.

Die Zielvergleicher-Logikschaltung 152 im Unterbrechungsbehandlungsknoten 144 wird benutzt, um die Zieldaten in Unterbrechungsanforderungs-Meldungen zu prüfen. Wie zuvor beschrieben, kann die vom Unterbrechungsknoten 110 gelieferte Unterbrechungsanforderungs-Meldung Zieldaten für die Spezifizierung bestimmter Unterbrechungsbehandlungsknoten umfassen. Diese Zieldaten werden in Form einer Zielmaske vom Decodierer 148 an die Zielvergleicher- Logikschaltung 152 ausgegeben. Die Vergleicher-Logikschaltung 152 vergleicht die Zieldaten mit den Einbauschlitz-Identifikationssignalen, die den Unterbrechungsbehandlungsknoten 144 eindeutig identifizieren. Ist der Unterbrechungsbehandlungsknoten 144 einer der in der Zielmaske spezifizierten oder ausgewerteten Knoten, so aktiviert die Vergleicher-Logikschaltung 152 ein Signal an das UND-Gatter 150, das anzeigt, daß es eine Gleichheit gibt. In der bevorzugten Ausführungsform aktiviert dann das UND-Gatter 150 ein Speicherelement-Setzsignal, das anzeigt, daß eine Unterbrechungsanforderungs- Meldung detektiert worden ist, die Zieldaten enthält, die den Unterbrechungsbehandlungsknoten 144 spezifizieren.

Ein Unterbrechungsbehandlungsknoten enthält außerdem eine Einrichtung für eine Anzeige, daß eine Unterbrechungsanforderung von einem Unterbrechungsknoten schwebt. Wie im Unterbrechungsbehandlungsknoten 144 verkörpert, wird eine solche Anzeigeeinrichtung durch ein Speicherfeld 154 gebildet. Der bestimmte Unterbrechungsknoten, der eine Unterbrechungsanforderung vornimmt, wird unter Verwendung der Identifikationsdaten des Unterbrechungsknotens, die in der Unterbrechungsanforderungs-Meldung enthalten sind, die durch den Unterbrechungsknoten 110 an den Bus geliefert wird, durch den Knoten 144 bestimmt. Diese Informationen werden dann unter Verwendung des Speicherfeldes 154 gespeichert, um anzuzeigen, daß eine Unterbrechungsanforderung vom entsprechenden Unterbrechungsknoten schwebt.

Der Unterbrechungsbehandlungsknoten kann eine Speichereinrichtung aufweisen, die Knotenspeicherelemente enthält, die jedes einem anderen Unterbrechungsknoten entsprechen, um anzuzeigen, ob eine Unterbrechungsanforderung von dem entsprechenden Knoten schwebt. Wie im Knoten 144 verkörpert, kann eine solche Speichereinrichtung das Speicherfeld 154 aufweisen.

Der Unterbrechungsbehandlungsknoten kann außerdem eine Einrichtung umfassen, um als Antwort auf das Detektieren der Unterbrechungsanforderungs- Meldung einschließlich der Identifikationsdaten, die einem entsprechenden Unterbrechungsknoten als den Ursprung der Unterbrechungsanforderung identifizieren, eines der Knotenspeicherelemente zu setzen. Dies zeigt an, daß der entsprechende Unterbrechungsknoten eine schwebende Unterbrechungsanforderung aufweist.

Die bevorzugte Ausführungsform des Speicherfeldes 154 ist in Fig. 8 gezeigt. Im Feld 154 sind Speicherelemente enthalten, die bestimmten Unterbrechungsknoten entsprechen. Vorzugsweise werden als Speicherelemente Setz-Rücksetz-Flipflops verwendet, wobei jedes Speicherelement 156 einem bestimmten Unterbrechungsknoten entspricht. Wie in Fig. 7 und 8 gezeigt, werden die Identifikationsdaten des Unterbrechungsknotens vom Kommandodecodierer 148 an einen Demultiplexer 158 ausgegeben. Die Identifikationsdaten des Unterbrechungsknotens sind in der Unterbrechungsanforderungs-Meldung enthalten, die von einem Unterbrechungsknoten an den Systembus 25 geliefert wird. Der Demultiplexer 158 aktiviert als Antwort auf die Identifikationsdaten eine einzelne Knotenauswahlleitung und aktiviert ein Signal, das eines aus einer Anzahl von UND-Gattern 160 freigibt, von denen jedes mit dem Setz-Anschluß des Speicherelements 156 verbunden ist, das einem bestimmten Unterbrechungsknoten entspricht. Das Speicherelement- Setzsignal vom UND-Gatter 150 wird außerdem von jedem der UND-Gatter 160 empfangen. Das UND-Gatter 160 wirkt somit als Setzeinrichtung. Als Folge wird ein einzelnes Speicherelement 156 entsprechend dem bestimmten Unterbrechungsknoten gesetzt, um anzuzeigen, daß es eine schwebende Unterbrechungsanforderung von diesem Knoten gibt.

Die bevorzugte Ausführungsform kann außerdem eine Einrichtung zum Löschen des einem bestimmten Unterbrechungsknoten entsprechenden Knotenspeicherelements als Antwort auf die Lieferung einer Unterbrechungs-Bestätigungsmeldung einschließlich der Zieldaten, die den Unterbrechungsknoten spezifizieren, an den Bus umfassen. Wie hierin verkörpert, umfassen auf dem Systembus 25 gelieferte Unterbrechungs-Bestätigungsmeldungen Zieldaten, die den Knoten 110 als eine Unterbrechungsanforderung aufweisend spezifizieren, daß ein Unterbrechungsbehandlungsknoten zur Behandlung bereit ist. Diese Zieldaten werden vom Kommandodecodierer 148 an das Speicherfeld 154 ausgegeben und sind in Fig. 8 durch einen Satz von Zieldatenleitungen gezeigt, wobei jede Leitung einen Freigabeeingang in eines aus einer Anzahl von UND- Gattern 162 liefert. Als Folge wird als Antwort auf eine Unterbrechungs- Bestätigungsmeldung auf dem Systembus 25 ein ausgewähltes UND-Gatter 162 freigegeben. Das bestimmte ausgewählte UND-Gatter 162 hängt von den in der Unterbrechungs-Bestätigungsmeldung enthaltenen Zieldaten ab. Der Ausgang des ausgewählten UND-Gatters 162 wird mit dem Rücksetz-Eingang des Speicherelements 156 verbunden, das dem bestimmten Unterbrechungsknoten entspricht, der als das Ziel der Unterbrechungs-Bestätigungsmeldung spezifiziert ist. Als Antwort auf eine Unterbrechungs-Bestätigungsmeldung gibt dann der Kommandodecodierer 148 an jedes der UND-Gatter 162 ein Unterbrechungsbestätigung-Vorhanden-Signal aus, so daß das Löschen eines Speicherelements erfolgt. Die UND-Gatter 162 wirken somit als Löscheinrichtung. Als Folge wird ein einzelnes Speicherelement 156 entsprechend dem Knoten 110 jedesmal gelöscht, wenn eine Unterbrechungs-Bestätigungsmeldung anzeigt, daß die Unterbrechungsanforderung von diesem bestimmten Knoten gerade behandelt wird.

Die Unterbrechungsbehandlungsknoten können eine Einrichtung für die Spezifizierung der Identität des Unterbrechungsknotens entsprechend jedem Speicherelement umfassen. Wie hierin verkörpert, enthält eine solche Spezifizierungseinrichtung einen Codierer 164. Die Ausgänge jedes der Speicherelemente 156 sind mit dem Codierer 164 verbunden. Der Codierer 164 tastet jeden der Eingänge in irgendeiner vorgegebenen Reihenfolge ab und wählt ein bestimmtes Speicherelement der Speicherelemente 156 aus, die gesetzt sind. Der Codierer 164 gibt Daten des ausgewählten Knotens aus, die den bestimmten Unterbrechungsknoten identifizieren, der vom Knoten 144 behandelt werden wird. Wie in Fig. 7 gezeigt, werden diese Daten des ausgewählten Knotens vom Speicherfeld 154 an einen Unterbrechungsbestätigungs-Kommandogenerator 166 ausgegeben und spezifizieren die Identität des bestimmten Unterbrechungsknotens, der gerade von dem Unterbrechungsbehandlungsknoten behandelt wird.

Der Unterbrechungsbehandlungsknoten umfaßt eine Einrichtung zum Liefern einer Unterbrechungs-Bestätigungsmeldung an den Bus, einschließlich Zieldaten, die einen bestimmten Unterbrechungsknoten spezifizieren, zu Zeiten, wenn der Unterbrechungsbehandlungsknoten bereit ist, eine Unterbrechungsanforderungs- Meldung von diesem Knoten zu behandeln. Wie hierin verkörpert, umfaßt die Einrichtung zum Liefern der Unterbrechungs-Bestätigungsmeldung einen Unterbrechungsbestätigungs-Kommandogenerator 166. Vorzugsweise enthält eine vom Systembus 25 empfangene Unterbrechungsanforderungs-Meldung Identifikationsdaten, die den bestimmten Unterbrechungsknoten 110 identifizieren. Wie zuvor beschrieben, werden diese Identifikationsdaten vom Decodierer 148 an den Demultiplexer 158 ausgegeben und dazu verwendet, ein Speicherelement zu setzen, das dem bestimmten Unterbrechungsknoten 110 im Speicherfeld 154 entspricht. Die Ausgänge aus jedem der Speicherelemente 156 sind mit einem der ODER-Gatter 168 verbunden. Jedes ODER-Gatter 168 weist ein Unterbrechungsanforderung-Schwebt-Ausgangssignal auf, das an andere Logikelemente in dem Unterbrechungsbehandlungsknoten geliefert wird. Das Unterbrechungsanforderung-Schwebt-Ausgangssignal zeigt an, daß eine schwebende Unterbrechungsanforderung vorhanden ist. Wenn der Knoten 144 bereit ist, eine Unterbrechungsanforderung zu behandeln, aktiviert die Logikschaltung im Knoten 144, etwa eine CPU, ein Unterbrechungsbestätigungs- Freigabesignal an den Unterbrechungsbestätigungs-Kommandogenerator 166. Der Generator 166 kann eine Unterbrechungs-Bestätigungsmeldung erstellen, die Zieldaten umfaßt, die einen bestimmten Unterbrechungsknoten mit einer schwebenden Unterbrechungsanforderung spezifizieren, da der Codierer 164 die Daten des ausgewählten Knotens an den Generator 166 ausgibt. Die Daten des ausgewählten Knotens spezifizieren die Identität des bestimmten Unterbrechungsknotens 110, der das Ziel der gerade erzeugten Unterbrechungs- Bestätigungsmeldung sein wird. Der Generator 166 liefert dann die Unterbrechungs-Bestätigungsmeldung an den Systembus 25.

Ein Unterbrechungsbehandlungsknoten kann außerdem eine Einrichtung zum Detektieren einer Unterbrechungsvektor-Meldung auf dem Bus umfassen, die Ursprungsdaten umfassen kann, die den Unterbrechungsbehandlungsknoten identifizieren. Wie hierin verkörpert und in Fig. 7 gezeigt, enthält der Knoten 144 eine Kommandogeber-Eingangswarteschlange 170, die ein Zuerst-Herein-Zuerst- Heraus-Register ist, zum Speichern von auf dem Systembus 25 übertragenen Meldungen. Die gespeicherten Meldungen werden zu einem Antwortdecodierer 172 übertragen, der die Detektierungseinrichtung bildet. Zu Zeiten, wenn der Decodierer 172 das Vorhandensein einer Unterbrechungsvektor-Meldung detektiert, gibt er ein UND-Gatter 174 frei. In der bevorzugten Ausführungsform der Erfindung umfassen die Unterbrechungsvektor-Meldungen auf dem Systembus 25 Ursprungsdaten, die einen bestimmten Unterbrechungsbehandlungsknoten 144 spezifizieren. Diese Ursprungsdaten werden vom Decodierer 172 an eine Zielvergleicher-Logikschaltung 176 ausgegeben, die sie mit Einbauschlitz-Identifikationssignalen vergleicht, die den Unterbrechungsbehandlungsknoten 144 eindeutig identifizieren. Ist der Knoten 144 das geplante Ziel der Daten des Unterbrechungsvektors, die in der Unterbrechungsvektor- Meldung enthalten sind, so sind dann die Eingangssignale in die Vergleicher- Logikschaltung 176 gleich, und die Vergleicher-Logikschaltung 176 gibt das UND- Gatter 174 frei. Wenn beide der obigen Eingänge in das UND-Gatter 174 freigegeben sind, aktiviert dann das UND-Gatter 174 ein Unterbrechungsvektor- Zulässig-Signal an die Logikschaltung im Knoten 144. Der Antwortdecodierer 172 gibt dann auch die in der Unterbrechungsvektor-Meldung enthaltenen Daten des Unterbrechungsvektors an die Logikschaltung im Knoten 144 aus. Diese Informationen erlauben es dem Unterbrechungsbehandlungsknoten 144, die Startadresse des Programms entsprechend der vom Unterbrechungsknoten 110 erzeugten Unterbrechungsanforderung zu berechnen. Vorzugsweise enthält der Unterbrechungsbehandlungsknoten 144 eine CPU, die einen Wartezustand betritt, nachdem der Knoten 144 eine Unterbrechungs-Bestätigungsmeldung an den Systembus 25 geliefert hat, und die auf den Empfang einer Unterbrechungsvektor-Meldung vom Systembus 25 wartet.

Unter einem Aspekt enthält ein Unterbrechungsbehandlungsknoten eine Einrichtung zur Gewinnung von Kontrolle über den Bus zu Zeiten, wenn der Knoten bereit ist, eine schwebende Unterbrechungsanforderung zu behandeln, und zur Durchführung von Leeroperationen für ein vorgegeben es Zeitintervall, bevor die Unterbrechungs-Bestätigungsmeldung an den Hängebus geliefert wird. Wie hierin verkörpert und in Fig. 7 gezeigt, enthält eine solche Einrichtung einen Unterbrechungsbestätigungs-Kommandogenerator 166. Zu Zeiten, wenn der Unterbrechungsbestätigungsgenerator 166 bereit ist, eine Unterbrechungs- Bestätigungsmeldung an den Systembus 25 zu liefern, gibt er ein Kommandogeber-Anforderungssignal aus, um Zugriff auf den Systembus 25 zu verlangen. Wenn dem Knoten 144 Zugriff auf den Bus 25 gewährt wird, beginnt der Unterbrechungsbestätigungsgenerator 166 damit, Buszyklen, die als Leeroperationen interpretiert werden, an den Systembus 25 zu liefern. Diese an den Bus gelieferten Zyklen enthalten dann einen Funktionscode "Leerbetrieb", der dann entsprechend dem Computersystemprotokoll von jedem Knoten im Computersystem so interpretiert wird, daß die Ausführung von irgendwelchen Operationen nicht verlangt wird. Die Leeroperationen werden vom Generator 166 geliefert, bevor eine tatsächliche Unterbrechungs-Bestätigungsmeldung an den Systembus 25 geliefert wird. Indem er ein vorgegebenes Zeitintervall wartet, stellt der Knoten 144 sicher, daß der bestimmte Unterbrechungsknoten 110 noch eine schwebende Unterbrechungsaufforderung aufweist, die vorher noch nicht von einem anderen Unterbrechungsbehandlungsknoten behandelt worden ist. Das vorgegebene Zeitintervall ist für die "Förder"-Verzögerung verantwortlich, die zu der Operation gehört, das Speicherelement zu löschen, was es erforderlich machen kann, im Anschluß an die Übertragung einer Unterbrechungs- Bestätigungsmeldung über den Bus 25 zusätzliche Zyklen abzuschließen. Indem er diese vorgegebene Zeit wartet, stellt der Knoten 144 somit sicher, daß die Speicherelemente im Speicherfeld 154 kohärente Informationen liefern, die exakt anzeigen, ob ein bestimmter Unterbrechungsknoten 110 noch eine schwebende Unterbrechungsanforderung aufweist.

In der bevorzugten Ausführungsform des in Fig. 1 bis 8 gezeigten Datenverarbeitungssystems 20 brauchen die Unterbrechungsbehandlungsknoten ungefähr vier bis acht Buszyklen, um die entsprechenden Speicherelemente zu löschen, nachdem eine Unterbrechungs-Bestätigungsmeldung auf dem Bus 25 geliefert wurde. Dadurch, daß sie darauf warten, daß die Löschoperation abgeschlossen wird, bevor eine Unterbrechungs-Bestätigungsmeldung geliefert wird, enthalten die Speicherfelder daher sämtlich aktuelle Statusinformationen zu Unterbrechungsanforderungen. Zu Zeiten, wenn der Knoten 144 die Kontrolle über den Systembus 25 hat und Leeroperationen durchführt, können keine weiteren Unterbrechungsbestätigungs- oder Unterbrechungsanforderungs-Meldungen auf dem Systembus 25 übertragen werden.

Wie hierin verkörpert, wird das Ausgangssignal des ODER-Gatters 168 vom Unterbrechungsbestätigungs-Kommandogenerator 166 empfangen und zeigt an, ob vor dem Ende des vorgegebenen Zeitintervalls noch irgendwelche Unterbrechungsanforderungen schweben. Ist kein Signal vorhanden, so zeigt dies an, daß es keine schwebenden Unterbrechungsanforderungen gibt, und der Unterbrechungsbestätigungsgenerator 166 kann vorzeitig abbrechen, bevor eine Unterbrechungs-Bestätigungsmeldung an den Hängebus geliefert wird.

Schwebt die Unterbrechungsanforderung vom Knoten 110 nicht mehr, aber schweben noch andere Unterbrechungsanforderungen in anderen Speicherelementen im Speicherfeld 154, so zeigt das Ausgangssignal des ODER-Gatters 168 dann diesen Schwebezustand an, und die an den Unterbrechungsbestätigungsgenerator 166 ausgegebenen Daten des ausgewählten Knotens reflektieren dann die Identität eines der Knoten mit einer schwebenden Unterbrechungsanforderung. In der in Fig. 7 und 8 gezeigten bevorzugten Ausführungsform durchsucht der Codierer 164 einen Satz Eingangssignale von den Speicherelementen 156, wählt eines der Speicherelemente aus, das gesetzt ist, und übergibt die Identität dieses Speicherelements als Daten des ausgewählten Knotens an den Generator 166.

Wie zuvor erörtert worden ist, kann ein Unterbrechungsbehandlungsknoten eine Einrichtung zum Löschen des Speicherelements umfassen, das einem bestimmten Unterbrechungsknoten entspricht, als Antwort auf die Lieferung einer Unterbrechungs-Bestätigungsmeldung einschließlich Zieldaten, die den bestimmten Unterbrechungsknoten spezifizieren, durch irgendeinen Knoten an den Bus. Jedesmal, wenn eine Unterbrechungsanforderung von einem bestimmten Unterbrechungsknoten 110 von irgendeinem der Unterbrechungsbehandlungsknoten im Datenverarbeitungssystem 20 gerade behandelt wird, wird daher das Speicherelement 156 entsprechend dem bestimmten Unterbrechungsknoten 110 gelöscht, um anzuzeigen, daß die Unterbrechungsanforderung des Knotens 110 gerade behandelt wird. Dies verhindert, daß der Unterbrechungsbehandlungsknoten 144 eine zusätzliche Unterbrechungs-Bestätigungsmeldung liefert und versucht, einen bestimmten Knoten 110 zu behandeln, der keine schwebende Unterbrechungsanforderung mehr aufweist.

Ein Unterbrechungsbehandlungsknoten kann außerdem eine Einrichtung zum Liefern der Unterbrechungs-Bestätigungsmeldung mit Ursprungsdaten zur Identifizierung des Unterbrechungsbehandlungsknotens umfassen. Die Lieferung dieser Ursprungsdaten erleichtert die gezielte Abgabe einer Unterbrechungsvektor-Meldung an den bestimmten Unterbrechungsbehandlungsknoten 144, der vorher eine Unterbrechungs-Bestätigungsmeldung geliefert hat. Wie in Fig. 7 gezeigt, wird der Unterbrechungsbestätigungsgenerator 166 mit den Einbauschlitz-Identifikationssignalen versorgt, die den Unterbrechungsbehandlungsknoten 144 eindeutig identifizieren. Als Folge kann der Generator 166 eine Unterbrechungs-Bestätigungsmeldung erstellen, die Ursprungsdaten enthält, die den Unterbrechungsbehandlungsknoten 144 identifizieren.

Ein Unterbrechungsbehandlungsknoten kann eine Behandlungsprioritätsebenen- Einrichtung für die Spezifizierung einer Behandlungsprioritätsebene für den Unterbrechungsbehandlungsknoten und für die Anzeige umfassen, daß der Knoten bereit ist, eine Unterbrechungsanforderung zu Zeiten zu behandeln, wenn die Prioritätsebene der Unterbrechungsanforderungs-Meldung gleich der Behandlungsprioritätsebene ist. Wie hierin verkörpert, kann der Unterbrechungsbehandlungsknoten 144 ein Unterbrechungsbestätigungs-Freigabesignal an den Kommandogenerator 166 aktivieren, das anzeigt, daß der Knoten bereit ist, eine schwebende Unterbrechungsanforderung zu behandeln. Die Daten der Behandlungs-IPL(Unterbrechungsprioritätsebene) spezifizieren einen ausgewählten Satz von schwebenden Unterbrechungsanforderungen, die behandelt werden können, und liefern zusammen mit dem Unterbrechungsbestätigungs- Freigabesignal die Funktion einer Behandlungsprioritätsebenen-Einrichtung. In der bevorzugten Ausführungsform umfassen die Unterbrechungsanforderungs- Meldungen IPL-Daten, die eine Prioritätsebene der Unterbrechungsanforderung spezifizieren, und diese IPL-Daten werden vom Kommandodecodierer 148 an das Speicherfeld 154 ausgegeben.

Die bevorzugte Ausführungsform kann außerdem eine Einrichtung zum Setzen eines Speicherelements entsprechend dem bestimmten Unterbrechungsknoten auf der spezifizierten Prioritätsebene der Unterbrechungsanforderungs-Meldung und eine Einrichtung für die Anzeige umfassen, daß es eine schwebende Unterbrechungsanforderung von einem bestimmten Unterbrechungsknoten auf dieser Prioritätsebene gibt. Ähnlich kann die Ausführungsform eine Einrichtung zum Löschen eines Speicherelements entsprechend einem bestimmten Unterbrechungsknoten auf einer spezifizierten Prioritätsebene umfassen, wodurch angezeigt wird, daß die Unterbrechungsanforderung eines Unterbrechungsknotens auf einer spezifizierten IPL gerade behandelt wird. Wie hierin verkörpert, enthält eine solche Einrichtung die UND-Gatter 160 und 162. Gemäß dem Systemprotokoll der bevorzugten Ausführungsform umfassen die vom Knoten 144 gelieferten Unterbrechungs-Bestätigungsmeldungen außerdem Daten, die der Prioritätsebene der Unterbrechungsanforderungs-Meldung spezifizieren, daß der Unterbrechungsbehandlungsknoten bereit ist, zu behandeln.

Wenn in der bevorzugten Ausführungsform entweder eine Unterbrechungsanforderungs-Meldung oder eine Unterbrechungs-Bestätigungsmeldung durch den Unterbrechungsbehandlungsknoten 144 vom Systembus 25 empfangen wird, enthält sie IPL-Daten, die vom Kommandodecodierer 148 an das Speicherfeld 154 ausgegeben werden. Der Knoten 144 kann mehrere Bänke von Speicherelementen verwenden, wobei jede Bank einer anderen IPL entspricht und die Speicherelemente in jeder Bank jedem möglichen Unterbrechungsknoten entsprechen. Der Demultiplexer 177 ist im Speicherfeld 154 eines Knotens 144 enthalten und wählt eine der mehreren Bänke von Speicherelementen gemäß den Daten der Prioritätsebene der gerade angeforderten oder bestätigten Unterbrechung aus. Für jeden bestimmten Unterbrechungsknoten auf jeder spezifizierten Prioritätsebene gibt es ein eigenes Speicherelement 156.

Zu Zeiten, wenn eine Unterbrechungsanforderungs-Meldung auf dem Systembus 25 geliefert wird, stellt der Demultiplexer 177 sicher, daß die einzigen UND- Gatter 160, die freigegeben werden, diejenigen sind, die mit Speicherelementen 156 entsprechend der spezifizierten Prioritätsebene verbunden sind. Daher wird nur das Speicherelement gesetzt, das dem bestimmten Knoten auf der durch die IPL-Daten in der Unterbrechungsanforderungs-Meldung spezifizierten Prioritätsebene entspricht. Ähnlich stellt zu Zeiten, wenn eine Unterbrechungs- Bestätigungsmeldung auf dem Bus 25 geliefert wird, der Demultiplexer 177 außerdem sicher, daß die einzigen UND-Gatter 162, die freigegeben werden, diejenigen sind, die mit den Speicherelementen 156 verbunden sind, die den in der Unterbrechungs-Bestätigungsmeldung enthaltenen IPL-Daten entsprechen. Als Folge wird nur das Speicherelement gelöscht, das dem bestimmten Unterbrechungsknoten auf der durch die IPL-Daten spezifizierten Prioritätsebene entspricht, um anzuzeigen, welche Unterbrechungsanforderung gerade behandelt wird.

Vorzugsweise ist der Multiplexer 178 im Knoten 144 als Teil einer Einrichtung zum Auswählen eines Speicherelements entsprechend einem bestimmten Unterbrechungsknoten auf einer spezifizierten IPL enthalten. Es kann zu jeder spezifizierten Prioritätsebene und somit jeder Bank gehörend ein eigenes ODER- Gatter 168 geben, und die Ausgangssignale aus den ODER-Gattern 168 werden an andere Logikelemente im Knoten 144 und an einen Multiplexer 180 gesendet.

Die Daten der Behandlungs-IPL werden vom Knoten 144 an den Multiplexer 178 gesendet, so daß die in den Unterbrechungsbestätigungsgenerator 166 eingegebenen Daten des ausgewählten Knotens dann einem bestimmten Unterbrechungsknoten mit einer schwebenden Unterbrechungsanforderung auf einer IPL entsprechen, die derjenigen gleich ist, die durch die vom Knoten 144 erzeugten Daten der Behandlungs-IPL spezifiziert wird. Der Unterbrechungsbehandlungsknoten enthält dann typischerweise eine CPU zur Behandlung von Unterbrechungsanforderungen. Die Daten der Behandlungs-IPL bestimmen die Prioritätsebene der Unterbrechungsanforderungen, daß eine CPU, zum Beispiel in einem Unterbrechungsbehandlungsknoten 144, zur Behandlung bereit ist. Während ihres Betriebs arbeitet die CPU dann auf einer bestimmten IPL, die sich ändert, wenn die CPU Befehle ausführt.

Die CPU prüft dann periodisch die Ausgangssignale der ODER-Gatter 168, um zu bestimmen, ob es irgendwelche schwebenden Unterbrechungsanforderungen auf einer IPL gibt, die größer als die Unterbrechungsprioritätsebene ist, auf der die CPU gegenwärtig arbeitet. Gibt es eine schwebende Unterbrechungsanforderung auf einer IPL, die größer als die Unterbrechungsprioritätsebene der CPU ist, so aktiviert der Knoten 144 ein Unterbrechungsbestätigungs-Freigabesignal und führt die Daten der Behandlungs-IPL dem Unterbrechungsbestätigungs- Kommandogenerator zu, um anzuzeigen, daß der Knoten 144 bereit ist, eine schwebende Unterbrechungsanforderung auf der spezifizierten IPL zu behandeln. Der Knoten 144 wählt dann entsprechend den Daten der spezifizierten Behandlungs-Unterbrechungsprioritätsebene(Behandlungs-IPL) den Identifizierer eines bestimmten Knotens aus unter den Speicherelementen aus, an dem eine Unterbrechungsanforderung schwebt. Der Multiplexer 178 wählt ein Ausgangssignal eines der Codierer 164 aus und gibt die Daten des ausgewählten Knotens an den Generator 166 aus. Diese Daten identifizieren einen bestimmten Unterbrechungsknoten mit einer schwebenden Anforderung auf der durch die Daten der Behandlungs-IPL spezifizierten Prioritätsebene.

In der bevorzugten Ausführungsform wird das Unterbrechungsanforderung- Schwebt-Signal, das vom Multiplexer 180 an den Unterbrechungsbestätigungs- Kommandogenerator 166 auszugeben ist, gemäß den Daten der Behandlungs-IPL aus den Ausgangssignalen der ODER-Gatter 168 ausgewählt. Gibt es, nachdem für ein vorgegebenes Zeitintervall Leeroperationen erzeugt worden sind, keine schwebenden Unterbrechungsanforderungen auf der durch die Daten der Behandlungs-IPL spezifizierten Prioritätsebene, so bricht der Unterbrechungsbestätigungsgenerator 166 vorzeitig ab und liefert keine Unterbrechungs- Bestätigungsmeldung.

In der bevorzugten Ausführungsform umfaßt die vom Unterbrechungsbestätigungsgenerator 166 erstellte Unterbrechungs-Bestätigungsmeldung außerdem IPL-Daten, die die Unterbrechungsprioritätsebene der Unterbrechungsanforderungs-Meldung spezifizieren, die gerade vom Knoten 144 behandelt wird. Der Generator 166 empfängt die Daten der Behandlungs-IPL als Eingangssignal und schließt diese IPL-Daten in die an den Bus gelieferte Unterbrechungs-Bestätigungsmeldung ein.

Um den Betrieb des gesamten Unterbrechungsbehandlungs-Systems und -Verfahrens zu verstehen, ist in Fig. 9A-B ein Flußdiagramm vorgesehen. In dem mit Hilfe des Flußdiagramms demonstrierten Verfahren empfängt der Systembus von einem Unterbrechungsknoten eine Unterbrechungsanforderungs-Meldung einschließlich Identifikationsdaten zur Identifizierung dieses Knotens. Der Unterbrechungsbehandlungsknoten liefert eine Unterbrechungs-Bestätigungs-Meldung, die Zieldaten enthält, die den bestimmten Unterbrechungsknoten spezifizieren, zu Zeiten an den Systembus, wenn der Unterbrechungsbehandlungs- knoten bereit ist, die Unterbrechungsanforderungs-Meldung zu behandeln. Der Unterbrechungsknoten detektiert, ob eine Unterbrechungs-Bestätigungsmeldung auf dem Bus Zieldaten enthält, die ihn selbst spezifizieren. Als Antwort auf die Detektierung einer Unterbrechungs-Bestätigungsmeldung, die Zieldaten enthält, die diesen Knoten spezifizieren, liefert der Unterbrechungsknoten eine Unterbrechungsvektor-Meldung an den Bus. Vorzugsweise liefert der Unterbrechungsbehandlungsknoten außerdem IPL-Daten, die die Prioritätsebene der Unterbrechungsanforderungs-Meldung spezifizieren, so daß der Unterbrechungsknoten gemäß den IPL-Daten eine aus einer Vielzahl von Unterbrechungsvektor- Meldungen auswählen kann.

Im Schritt 182 des Flußdiagramms in Fig. 9A und 9B teilt der Unterbrechungsknoten 110 den Zugriff auf den Bus zu. Um sich um den Bus zu bewerben, muß ein Knoten ein Busanforderungssignal ausgeben. Im Schritt 184 bestimmt der Knoten 110, ob der Zugriff gewährt worden ist. Falls nicht, kehrt der Knoten 110 zum Schritt 182 zurück. Ist der Buszugriff gewährt worden, so sendet der Unterbrechungsknoten im Schritt 186 eine Unterbrechungsanforderungs- Meldung auf dem Systembus. Die Unterbrechungsanforderungs-Meldung umfaßt Funktions- und Kommandocodes, die die Meldung als Unterbrechungsanforderungskommando identifizieren, IPL-Daten, die eine Prioritätsebene für die Unterbrechungsanforderung spezifizieren, eine Zielmaske zur Spezifizierung der Unterbrechungsbehandlungsknoten, die die Anforderung behandeln können, und Identifikationsdaten für die Spezifizierung des Knotens 110 als den Ursprung der Unterbrechungsanforderung. Im Schritt 188 setzt dann der durch die Zieldaten gekennzeichnete Unterbrechungsbehandlungsknoten 144 ein Speicherelement entsprechend den Identifikationsdaten und IPL-Daten der Unterbrechungsanforderungs-Meldung. Das Setzen des Speicherelements zeigt an, daß es eine schwebende Unterbrechungsanforderung gibt, die vom Knoten 144 behandelt werden kann. Im Schritt 190 zeigen Signalpegel vom Speicherfeld 154 im Knoten 144 der Logikschaltung des Knotens 144 an, daß es eine schwebende Unterbrechungsanforderung gibt. Im Schritt 192 arbeitet der Unterbrechungsbehandlungsknoten 144 auf einer bestimmten Unterbrechungsprioritätsebene (IPL). Im Schritt 194 wird eine Entscheidung getroffen, ob es eine schwebende Unterbrechungsanforderung mit einer IPL gibt, die größer als die gegenwärtige Operations-IPL des Knotens 144 ist. Falls nicht, fährt der Knoten 144 mit dem Schritt 192 fort.

Ist die IPL einer schwebenden Unterbrechungsanforderung größer als die Operations-IPL des Knotens 144, so teilt der Knoten 144 dann den Zugriff auf den Systembus zu. Wie in Fig. 7 gezeigt, gibt der Generator 166 ein Kommandogeber- Anforderungssignal aus, um Zugriff zu verlangen. Wird im Schritt 198 kein Buszugriff gewährt, so fährt der Knoten 144 mit dem Schritt 196 fort. Wenn in der bevorzugten Ausführungsform Buszugriff gewährt wird, gibt der Knoten 144 im Schritt 200 dann nach Erhalt von Zugriff auf den Bus eine Reihe von Leerzyklen aus, um zu ermöglichen, daß sein Speicherfeld 154 aktualisiert wird, um frühere Unterbrechungs-Bestätigungsmeldungen zu reflektieren.

Im Schritt 202 bestimmt der Knoten 144, ob das Speicherfeld 154 anzeigt, daß es noch eine schwebende Unterbrechungsanforderung auf der spezifizierten IPL gibt. Falls nicht, geht der Unterbrechungsbehandlungsknoten 144 weiter zum Schritt 218 für eine Bestimmung des Vorhandenseins von irgendwelchen schwebenden Unterbrechungsanforderungen auf anderen Ebenen. Existieren noch schwebende Unterbrechungsanforderungen, so wählt im Schritt 204 der Unterbrechungsbehandlungsknoten eines der Speicherelemente aus, das gesetzt wird, um anzuzeigen, daß eine Unterbrechungsanforderung schwebt, die einem bestimmten Unterbrechungsknoten auf der spezifizierten IPL entspricht.

In Schritt 206 liefert der Knoten 144 eine Unterbrechungs-Bestätigungsmeldung an den Bus. Die Unterbrechungs-Bestätigungsmeldung umfaßt Funktions- und Kommandocodes, die die Meldung als Unterbrechungs-Bestätigungskommando identifizieren, IPL-Daten, Ursprungsdaten, die den Knoten 144 als den Ursprung der Unterbrechungs-Bestätigungsmeldung identifizieren, und Zieldaten, die den Knoten 110 spezifizieren. Dies veranlaßt dann Unterbrechungsbehandlungsknoten in dem System, eventuell das Speicherelement zu löschen, das der gerade behandelten Unterbrechungsanforderungs-Meldung entspricht.

Im Schritt 208 wird die Unterbrechungs-Bestätigungsmeldung durch den Unterbrechungsknoten 110 detektiert, der durch die Zieldaten in der Unterbrechungs-Bestätigungsmeldung gekennzeichnet ist. Im Schritt 210 teilt der Unterbrechungsknoten 110 den Bus zu. Wird der Zugriff auf den Bus im Schritt 212 nicht gewährt, so fährt der Knoten 110 mit dem Schritt 210 fort. Erhält der Knoten 110 die Kontrolle über den Bus, so liefert der Unterbrechungsknoten im Schritt 214 entsprechend den in der Unterbrechungs-Bestätigungsmeldung enthaltenen Prioritätsdaten eine Unterbrechungsvektor-Meldung an den Bus. Die Unterbrechungsvektor-Meldung umfaßt die Ursprungsdaten, die den Unterbrechungsbehandlungsknoten 144 identifizieren, einen Funktionscode, der anzeigt, daß die Meldung einer Unterbrechungsvektor-Meldung ist, und die Daten des Unterbrechungsvektors, die vom Knoten 144 benötigt werden, um die Startadresse des Programms zur Behandlung der schwebenden Unterbrechungsanforderung zu berechnen.

Im Schritt 216 befindet sich der durch die Ursprungsdaten gekennzeichnete Unterbrechungsbehandlungsknoten 144 in einem Wartezustand und detektiert die Unterbrechungsvektor-Meldung. Er verwendet diese Unterbrechungsvektor- Informationen, um eine Unterbrechungsbehandlungs-Routine durchzuführen. Schließlich bestimmt der Knoten 144 im Schritt 218, ob irgendwelche schwebenden Unterbrechungsanforderungen vom Speicherfeld 154 angezeigt werden. Wenn nicht, kehrt das Verfahren zum Schritt 182 zurück. Falls es andere schwebende Unterbrechungsanforderungen gibt, fährt das Verfahren beim Schritt 192 fort.

In der vorstehenden Beschreibung können die Unterbrechungsknoten Eingabe/Ausgabegeräte umfassen, etwa Plattenlaufwerke und Plattenlaufwerk- Controller, und sie können Knoten umfassen, die benutzt werden, um eine Anzahl oder eine Auswahl von I/O-Geräten mit einem Systembus 25 zu verbinden. Ähnlich können die Unterbrechungsbehandlungsknoten eine Verarbeitungseinrichtung für die Behandlung von Unterbrechungsanforderungen umfassen. Typischerweise werden die Unterbrechungsbehandlungsknoten eine CPU enthalten, um Unterbrechungsanforderungen zu behandeln. Außerdem ist es möglich, daß ein einziger Knoten Unterbrechungsanforderungen erzeugt und behandelt.


Anspruch[de]

1. Unterbrechungsknoten (110) mit einem einzigen Identifizierer (ID) zum Liefern von Unterbrechungsanforderungen an einen Unterbrechungsbehandlungsknoten (144), wobei der Unterbrechungsknoten mit einem Hängebus (25) zum Übertragen von Meldungen zwischen dem Unterbrechungsknoten und dem Unterbrechungsbehandlungsknoten (144) verbunden ist und folgendes umfaßt:

eine Einrichtung (118) zum Liefern einer Unterbrechungsanforderungs-Meldung an den Bus, einschließlich Identifikationsdaten entsprechend dem einzigen Identifizierer des Unterbrechungsknotens zum identifizieren des Unterbrechungsknotens als die Quelle der Unterbrechungsanforderung; und

eine Einrichtung (122, 124, 126) zum tiberwachen von Unterbrechungs- Bestätigungsmeldungen auf dem Bus und zum Detektieren einer Unterbrechungs-Bestätigungsmeldung als Antwort auf eine der Unterbrechungsanforderungen des Unterbrechungsknotens, einschließlich Zieldaten, die den Unterbrechungsknoten durch Vergleich der Zieldaten in der Unterbrechungs-Bestätigungsmeldung mit dem einzigen Identifizierer des Unterbrechungsknotens spezifizieren.

2. Unterbrechungsknoten nach Anspruch 1, wobei der Unterbrechungsknoten ein Eingabe-/Ausgabegerät ist.

3. Unterbrechungsknoten nach Anspruch 1, in dem die Einrichtung (118) zum Liefern der Unterbrechungsanforderungs-Meldung eine Einrichtung (120) zum Liefern einer Unterbrechungsanforderungs-Meldung mit Zieldaten für die Spezifizierung des Unterbrechungs-Behandlungsknotens umfaßt.

4. Unterbrechungsknoten nach Anspruch 3, in dem die Einrichtung (118) zum Liefern der Unterbrechungsanforderungs-Meldung eine Einrichtung (120) zum Liefern von Zieldaten für die Spezifizierung einer Vielzahl von Unterbrechungsbehandlungsknoten umfaßt.

5. Unterbrechungsknoten nach Anspruch 1, in dem die Einrichtung (118) zum Liefern der Unterbrechungsanforderungs-Meldung eine Einrichtung zum Liefern der Unterbrechungsanforderungs-Meldung mit Daten der Prioritätsebene für die Spezifizierung einer Prioritätsebene der Unterbrechungsanforderungs-Meldung umfaßt.

6. Unterbrechungsknoten nach Anspruch 5, in dem die Einrichtung (122, 124, 126) zum Detektieren der Unterbrechungs-Bestätigungsmeldung eine Einrichtung (122) zum Gewinnen von Daten der Prioritätsebene für die Spezifizierung einer Prioritätsebene der gerade behandelten Unterbrechungsanforderung aus der Unterbrechungs-Bestätigungsmeldung umfaßt.

7. Unterbrechungsknoten nach einem der Ansprüche 1, 2, 3 oder 4, der weiterhin folgendes umfaßt:

eine Einrichtung (130) zum Liefern einer Unterbrechungsvektor- Meldung an den Bus, entsprechend der Detektion der Unterbrechungs- Bestätigungsmeldung einschließlich der Zieldaten für die Spezifizierung des einzigen Identifizierers des Unterbrechungsknotens.

8. Unterbrechungsknoten nach Anspruch 7, in dem die Einrichtung (130) zum Liefern des Unterbrechungsvektors eine Einrichtung (132) zum Liefern der Unterbrechungsvektor-Meldung mit Ursprungsdaten für die Identifizierung des Unterbrechungsbehandlungsknotens umfaßt, entsprechend der Detektion einer Unterbrechungs-Bestätigungsmeldung einschließlich der Ursprungsdaten für die Identifizierungen des Unterbrechungsbehandlungsknotens.

9. Unterbrechungsknoten nach Anspruch 7, in dem eine Einrichtung (118) zum Liefern der Unterbrechungsanforderungs-Meldung eine Einrichtung (110) zum Liefern der Unterbrechungsanforderungs-Meldung mit Daten der Prioritätsebene für die Spezifizierung einer Prioritätsebene der Unterbrechungsanforderungs-Meldung umfaßt.

10. Unterbrechungsknoten nach Anspruch 8, in dem die Einrichtung (118) zum Liefern der Unterbrechungsanforderungs-Meldung eine Einrichtung (110) zum Liefern der Unterbrechungsanforderungs-Meldung mit Daten der Prioritätsebene für die Spezifizierung einer Prioritätsebene der Unterbrechungsanforderungs-Meldung umfaßt.

11. Unterbrechungsknoten nach Anspruch 9, in dem die Einrichtung (122, 124, 126) zum Detektieren der Unterbrechungs-Bestätigungsmeldung eine Einrichtung (122) zum Gewinnen von Daten der Prioritätsebene für die Spezifizierung einer Prioritätsebene der gerade behandelten Unterbrechungsanforderung aus der Unterbrechungs-Bestätigungsmeldung umfaßt.

12. Unterbrechungsknoten nach Anspruch 11, in dem die Einrichtung (130) zum Liefern der Unterbrechungsvektor-Meldung eine Einrichtung zum Auswählen einer Unterbrechungsvektor-Meldung aus einer Vielzahl von Unterbrechungsvektor-Meldungen entsprechend den Daten der Prioritätsebene, die aus der Unterbrechungs-Bestätigungsmeldung gewonnen wurden, umfaßt.

13. Unterbrechungsknoten nach Anspruch 7, wobei:

die Unterbrechungsanforderungs-Meldung weiterhin Zieldaten zum Spezifizieren des Unterbrechungsbehandlungsknotens (144) und Daten der Prioritätsebene zum Spezifizieren einer Prioritätsebene der Unterbrechungsanforderungs-Meldung umfaßt; und

die Unterbrechungs-Bestätigungs-Meldung Ursprungsdaten zum identifizieren des Unterbrechungsbehandlungsknotens umfaßt; und

die Unterbrechungsvektor-Meldung Ursprungsdaten zum identifizieren des Unterbrechungsbehandlungsknotens umfaßt.

14. Ein Unterbrechungsknoten nach Anspruch 5, in dem die Einrichtung zum Liefern der Unterbrechungsanforderung eine Einrichtung zum Liefern der Unterbrechungsanforderungs-Meldung mit den Zieldaten für die Spezifizierung des Unterbrechungsbehandlungsknotens umfaßt.

15. Unterbrechungsknoten nach Anspruch 6, in dem die Einrichtung zum Liefern der Unterbrechungsanforderung eine Einrichtung zum Liefern der Unterbrechungsanforderungs-Meldung mit den Zieldaten für die Spezifizierung des Unterbrechungsbehandlungsknotens umfaßt.

16. Unterbrechungsknoten nach Anspruch 8, in dem die Einrichtung zum Liefern der Unterbrechungsanforderung eine Einrichtung zum Liefern der Unterbrechungsanforderungs-Meldung mit den Zieldaten für die Spezifizierung des Unterbrechungsbehandlungsknotens umfaßt.

17. Unterbrechungsknoten nach Anspruch 9, in dem die Einrichtung zum Liefern der Unterbrechungsanforderung eine Einrichtung zum Liefern der Unterbrechungsanforderungs-Meldung mit den Zieldaten für die Spezifizierung des Unterbrechungsbehandlungsknotens umfaßt.

18. Unterbrechungsknoten nach Anspruch 10, in dem die Einrichtung zum Liefern der Unterbrechungsanforderung eine Einrichtung zum Liefern der Unterbrechungsanforderungs-Meldung mit den Zieldaten für die Spezifizierung des Unterbrechungsbehandlungsknotens umfaßt.

19. Verfahren für einen Unterbrechungsknoten mit einem einzigen Identifizierer zum Liefern von Unterbrechungsanforderungen an einen Hängebus zum Übertragen von Meldungen zwischen dem Unterbrechungsknoten und einem Unterbrechungsbehandlungsknoten; wobei das Verfahren folgende Verfahrensschritte umfaßt:

Liefern einer Unterbrechungsanforderungs-Meldung an den Bus einschließlich der Identifikationsdaten entsprechend dem einzigen Identifizierer des Unterbrechungsknotens zur Identifizierung des Unterbrechungsknotens als der Quelle der Unterbrechungsanforderung;

Überwachung von Unterbrechungs-Bestätigungsmeldungen auf dem Bus und, als Antwort auf eine der Unterbrechungsanforderungen des Unterbrechungsknotens, Detektieren einer Unterbrechungs-Bestätigungsmeldung einschließlich der Zieldaten zur Spezifizierung des Unterbrechungsknotens durch Vergleich der Zieldaten in der Unterbrechungs-Bestätigungsmeldung mit dem einzigen Identifizierer des Unterbrechungsknotens; und

Liefern einer Unterbrechungsvektor-Meldung an den Bus, als Antwort auf die Detektion der Unterbrechungs-Bestätigungsmeldung einschließlich der Zieldaten zur Spezifizierung des einzigen Identifizierers des Unterbrechungsknotens.

20. Verfahren nach Anspruch 19, das weiterhin folgende Verfahrensschritte umfaßt:

Aufnahme von Zieldaten zur Spezifizierung des Unterbrechungsbehandlungsknotens und von Daten der Prioritätsebene zur Spezifizierung einer Prioritätsebene der Unterbrechungsanforderungs-Meldung in der Unterbrechungsanforderungs-Meldung;

Aufnahme von Daten zur Identifizierung des Unterbrechungsbehandlungsknotens (144) in die Unterbrechungs-Bestätigungsmeldung;

Aufnahme der Ursprungsdaten zur Identifizierung des Unterbrechungsbehandlungsknotens in die Unterbrechungsvektor-Meldung.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com