DE3882991T2 - Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus". - Google Patents

Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus".

Info

Publication number
DE3882991T2
DE3882991T2 DE88906581T DE3882991T DE3882991T2 DE 3882991 T2 DE3882991 T2 DE 3882991T2 DE 88906581 T DE88906581 T DE 88906581T DE 3882991 T DE3882991 T DE 3882991T DE 3882991 T2 DE3882991 T2 DE 3882991T2
Authority
DE
Germany
Prior art keywords
interrupt
node
bus
servicing
message
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
DE88906581T
Other languages
English (en)
Other versions
DE3882991D1 (de
Inventor
Douglas Williams
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Application granted granted Critical
Publication of DE3882991D1 publication Critical patent/DE3882991D1/de
Publication of DE3882991T2 publication Critical patent/DE3882991T2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)
  • Position Input By Displaying (AREA)

Description

    GEBIET DER ERFINDUNG
  • Die Erfindung betrifft die Abarbeitung von Unterbrechungen über einen Hängebus zur Übertragung von Nachrichten zwischen verschiedenen Knoten eines Computersystems,
  • HINTERGRUND DER ERFINDUNG
  • Moderne Computersysteme können eine Anzahl von Betriebsmitteln benutzen, die in der Lage sein müssen, über einen Datenpfad miteinander zu kommunizieren. Ein Bus wird so vorgesehen, daß eine Anzahl von Betriebsmitteln Daten untereinander übertragen können. Typische Betriebsmittel eines Computersystems sind Prozessoren, Speichereinrichtungen und Eingangs/Ausgangs (I/O)-Einrichtungen. I/O-Einrichtungen sind gewöhnlicherweise die in Computersystemen verwendeten Einrichtungen, um die Elemente des Systems mit Quellen und Zielen außerhalb des Computersystems über Schnittstellen zu verbinden.
  • Eine Unterbrechung ist das Mittel, durch das eine I/O-Einrichtung die Aufmerksamkeit des Systems auf sich zieht, so daß das System die Bedürfnisse der I/O-Einrichtung bedienen kann. In vielen konventionellen Systemen generiert eine I/O-Einrichtung ein spezielles "Unterbrechungsanforderungs"-Signal, das mittels dazu bestimmter Steuerleitungen gesendet wird.
  • Alternativ sendet in einem nachrichtenbasierenden Unterbrechungsschema eine I/O-Einrichtung Unterbrechungsanforderungsnachrichten an das System über den Systembus. Daher werden in nachrichtenbasierenden Systemen keine separaten und selbstständigen Status- und Steuerleitungen gebraucht. Die Regeln zur Kreierung und Interpretation von Nachrichten, wie beispielsweise der Unterbrechungsanforderungsnachrichten, werden als das "Protokoll" bezeichnet.
  • Entsprechend einiger Protokolle zum Bedienen bzw. Abarbeiten einer Unterbrechungsanforderung wird das die Unterbrechung bedienende Betriebsmittel zusätzliche Information von der I/O- Einrichtung anfordern. Ein Weg, derartige zusätzliche Information zu erhalten, besteht in dem Liefern einer Unterbrechungsbestätigungsnachricht. Als Antwort auf die Unterbrechungsbestätigung sendet die I/O-Einrichtung einen Unterbrechungsvektor zurück, der Informationen speziell für die angeforderte Unterbrechung enthält. Der Unterbrechungsvektor kann beispielsweise Information über die Startadresse einer Routine bereitstellen, die die unterbrechende I/O-Einrichtung bedienen soll.
  • In einem beliebigen System, in dem verschiedene I/O-Einrichtungen Unterbrechungsanforderungen übertragen, oder in dem eine I/O-Einrichtung mehrere Unterbrechungsanforderungen überträgt, muß ein Verfahren bereitgestellt werden, das zwischen den Anforderungen entscheidet. Beispielsweise kann entweder den unterbrechenden Einrichtungen oder den individuellen Unterbrechungsanforderungen Unterbrechungsprioritäten zugewiesen werden, die das System zur Unterstützung der Entscheidung benutzen kann.
  • Das Konzept und einige der Vorteile der Verwendung eines "Hängebusses" werden im folgenden in dem Abschnitt Systemüberblick beschrieben. Idealerweise würde es wünschenswert sein, um die Vorteile von sowohl der nachrichtenbasierenden Unterbrechungsschemata und der Hängebusse zu erhalten, diese zwei Vorgehensweisen miteinander zu kombinieren. Diese Kombination ist jedoch aus mehreren Gründen schwierig zu erreichen. Eine Quelle der Schwierigkeiten ist, daß bei der Benutzung eines Hängebusses, es einen Bedarf für zusätzliche Information zum Leiten von Nachrichten zwischen dem Unterbrechungsknoten und dem die Unterbrechung bedienenden Knoten gibt. Weiterhin macht es die parallele Aktivität in einem Hängebus, die wegen dem simultanen und asynchronen Auftreten der Unterbrechungsanforderungen und dem Bedienen derartiger Anforderungen inhärent ist, schwierig, eine kohärente oder aktuelle Statusinformation über anhängige Unterbrechungsanforderungen zu bilden.
  • Zu diesen Problemen addiert sich die mit der Unterhaltung von Unterbrechungshängestatusinformationen verbundene Komplexität für alle die Unterbrechungsknoten bei allen verschiedenen Prioritätspegeln. Dies ist weniger schwierig, wenn explizite Steuerungsdrähte verwendet werden, da deren Status durch die Prüfung dieser Drähte bestimmt werden kann. Sobald jedoch die Anzahl von Prozessoren und anderer Knoten auf einen Bus zunimmt, muß die Anzahl von expliziten Steuerungsleitungen zunehmen, so daß sich der Gebrauch eines dedizierten Steuerungsleitungssystem für große Multiprozessorsysteme als unpraktikabel erweist.
  • Obwohl der Gebrauch eines nachrichtenbasierenden Unterbrechungssystems dieses Problem eliminiert, schafft er jedoch in der Unterhaltung von Hängestatusinformation andere Probleme. Beispielsweise ist es in einem nachrichtenbasierenden System unter Verwendung eines Hängebusses möglich, daß ein Unterbrechungsknoten mehrere Unterbrechungsbedienungsknoten spezifiziert. Dies führt eine zusätzliche Schwierigkeitsebene bei der Lösung des Problems ein, verschiedene Unterbrechungsbedienungsknoten an der Bedienung der gleichen Anforderung zu hindern. Daher benötigt ein nachrichtenbasierendes Unterbrechungsschema auf einem Hängebus einige Mechanismen, damit Unterbrechungsbedienungsknoten Aktionen detektieren können, die von anderen Unterbrechungsbedienungsknoten übernommen worden sind.
  • Ein verwandtes Problem ist es, wenn Nachrichten zur Lieferung von Unterbrechungsanforderungen verwendet werden, wie ein Unterbrechungsbedienungsknoten zwischen ausstehenden Unterbrechungsanforderungen von verschiedenen Unterbrechungsknoten differenzieren kann. Andernfalls würde es einen Streit zwischen mehreren Unterbrechungsknoten geben, wenn eine Unterbrechungsbestätigungsnachricht gesendet wird, und die unterliegenden Unterbrechungsknoten würden zu einer Neuauflage ihrer Unterbrechungsanforderungen gezwungen werden.
  • Daher ist es eine Aufgabe der vorliegenden Erfindung, ein nachrichtenbasierendes Unterbrechungsschema auf einem Hängebus zu schaffen.
  • Es ist eine weitere Aufgabe der Erfindung, verteilte Unterbrechungsbedienung in einem Multiprozessorsystem auf einem Hängebus zu unterstützen, und gleichzeitig mit der verteilten Unterbrechungsbedienung eine direkte Unterbrechungsbedienung zwischen einem bestimmten Unterbrechungsknoten und einem bestimmten Unterbrechungsbedienungsknoten bereitzustellen.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein nachrichtenbasierendes Unterbrechungsschema bereitzustellen, das mit einem Hängebus funktioniert, der vielfache Unterbrechungseinrichtungen über Schnittstellen verbindet.
  • Es ist eine zusätzliche Aufgabe der Erfindung, eine aktuelle Statusinformation über die Unterbrechungsanforderungen zu unterhalten und nur eine einzige Unterbrechungsbestätigungsnachricht als Antwort auf jede Anforderung zu senden.
  • Es ist noch eine weitere Aufgabe der Erfindung, die Notwendigkeit für Unterbrechungseinrichtungen zum Neuausgeben von Unterbrechungsanforderungen für ein einziges Unterbrechungsereignis zu eliminieren.
  • Zusätzliche Aufgaben und Vorteile der Erfindung werden zum Teil in der folgenden Beschreibung dargelegt, und werden zum Teil aus der Beschreibung nahegelegt, oder können durch die Praxis der Erfindung gelernt werden. Die Aufgaben und Vorteile der Erfindung können durch die Mittel der Instrumentierung und Kombinationen realisiert und erhalten werden, die insbesondere in den anhängigen Ansprüchen ausgedrückt sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Zur Lösung der Aufgaben und in Übereinstimmung mit den Zwecken der hier ausgeführten und ausführlich beschriebenen Erfindung, wird ein Verfahren zur Durchführung einer Unterbrechungsfunktion auf einem Hängebus zur Übertragung von Nachrichten zwischen einem Unterbrechungsknoten und einem Unterbrechungsbedienungsknoten beschrieben. Entsprechend der vorliegenden Erfindung wird ein derartiges Verfahren bereitgestellt, wie es vollständig in den beigefügten Ansprüchen definiert wird. Das Verfahren kann die Schritte umfassen: Liefern einer Unterbrechungsanforderungsnachricht an den Bus vom Unterbrechungsknoten, die ID-Daten zur Identifizierung des Unterbrechungsknotens aufweist; Liefern einer Unterbrechungsbestätigungsnachricht an den Bus vom Unterbrechungsbedienungsknoten, die Bestimmungsdaten zur Spezifizierung des Unterbrechungsknotens zu den Zeiten, an denen der Unterbrechungsbedienungsknoten bereit ist, die Unterbrechungsanforderungsnachricht zu bedienen, aufweist; Beobachten der Unterbrechungsbestätigungsnachricht auf den Bus am Unterbrechungsknoten, um die Unterbrechungsbestätigungsnachricht einschließlich der den Unterbrechungsknoten identifizierenden Bestimmungsdaten zu detektieren; und Liefern einer Unterbrechungsvektornachricht an den Bus vom Unterbrechungsknoten als Antwort auf die Detektion der Unterbrechungsbestätigungsnachricht mit den Bestimmungsdaten zur Spezifizierung des Unterbrechungsknotens.
  • Weiterhin wird entsprechend der vorliegenden Erfindung eine Vorrichtung bereitgestellt, wie sie in den beigefügten Ansprüchen definiert ist. Zusätzliche Aufgaben in Übereinstimmung mit den Zwecken der Erfindung können gelöst werden, indem ein System zur Bedienung einer Unterbrechungsanforderung bereitgestellt wird, das aufweist: einen Hängebus zur Übertragung von Nachrichten einschließlich Unterbrechungsanforderungs-, Unterbrechungsbestätigungs- und Unterbrechungsvektornachrichten; einen mit dem Bus verbundenen Unterbrechungsknoten, der aufweist: eine erste Einrichtung zur Lieferung einer Unterbrechungsanforderungsnachricht an den Bus mit Unterbrechungsknoten-ID-Daten zur Identifizierung des Unterbrechungsknotens; eine zweite Einrichtung zur Beobachtung der Unterbrechungsbestätigungsnachrichten auf dem Bus, um eine Unterbrechungsbestätigungsnachricht einschließlich der den Unterbrechungsknoten spezifizierenden Bestimmungsdaten zu detektieren; und eine dritte Einrichtung zur Lieferung einer Unterbrechungsvektornachricht an den Bus als Antwort auf die Detektion der Unterbrechungsbestätigungsnachricht einschließlich der den Unterbrechungsknoten spezifizierenden Bestimmungsdaten; und ein mit dem Bus verbundenen Unterbrechungsbedienungsknoten, um die Unterbrechungsbestätigungsnachricht zu den Zeiten zu liefern, wenn der Unterbrechungsbedienungsknoten zur Bedienung der Unterbrechungsanforderungsnachricht bereit ist, der aufweist: ein vierte Einrichtung zur Detektion der von dem Unterbrechungsknoten gelieferten Unterbrechungsanforderungsnachricht; eine fünfte Einrichtung zur Anzeige, daß eine Unterbrechungsanforderung des Unterbrechungsknotens anhängig ist; eine sechste Einrichtung zur Lieferung der Unterbrechungsbestätigungsnachricht an den Bus einschließlich der den Unterbrechungsknoten spezifizierenden Bestimmungsdaten; und eine siebte Einrichtung zur Detektion der durch den Unterbrechungsknoten an den Bus gelieferten Unterbrechungsvektornachricht.
  • Die beigefügten Zeichnungen, die in die Beschreibung aufgenommen werden und einen Teil dieser bilden, zeigen eine Ausführungsform der Erfindung und dienen zusammen mit der Beschreibung zur Erklärung der Prinzipien der Erfindung.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockdiagramm eines die vorliegende Erfindung verwendenden datenverarbeitenden Systems mit einem Systembus;
  • Fig. 2 ist ein Blockdiagramm eines Knotens in dem datenverarbeitenden Systems der Fig. 1;
  • Fig. 3 ist ein Zeitdiagramm das die in dem datenverarbeitenden System der Fig. 1 verwendeten Taktsignale zeigt;
  • Fig. 4 ist ein Blockdiagramm der Datenschnittstelle in dem Knoten der Fig. 2;
  • Fig. 5 ist ein Blockdiagramm des Entscheiders in dem datenverarbeitenden System der Fig 1;
  • Fig. 6 ist ein Blockdiagramm eines Unterbrechungsknotens;
  • Fig. 7 ist ein Blockdiagramm eines Unterbrechungsbedienungsknotens;
  • Fig. 8 ist ein Blockdiagramm von in den Unterbrechungsbedienungsknoten enthaltener Speicherelemente; und
  • Fig. 9A und 9B sind Flußdiagramme des Verfahrens zum Bedienen von Unterbrechungsanforderungen.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Bezuggenommen wird nun im Detail auf die vorliegenden bevorzugten Ausführungsformen der Erfindung, von denen Beispiele in den begleitenden Zeichnungen gezeigt sind.
  • A. Systemüberblick
  • Fig. 1 zeigt ein Beispiel eines datenverarbeitenden Systems, das die vorliegende Erfindung enthält. Das Herz des Systems 20 ist ein Systembus 25, der ein synchroner Bus ist, der die Kommunikation zwischen verschiedenen Prozessoren, Speichersubsystemen und I/O-Systemen erlaubt. Kommunikation über den Systembus 25 wird synchron unter der Verwendung von periodischen Buszyklen durchgeführt. Eine typische Buszykluszeit des Systembusses 25 ist 64 ns.
  • In der Fig. 1 wird der Systembus 25 mit zwei Prozessoren 31 und 35, einem Speicher 39, einer I/O-Schnittstelle 41 und einer I/O-Einheit 51 verbunden. Die I/O-Einheit 53 wird mittels des I/O-Busses 45 und der I/O-Einheitsschnittstelle 41 mit dem Systembus 25 verbunden.
  • Ein zentraler Entscheider 28 ist weiterhin in der bevorzugten Ausführungsform des datenverarbeitenden Systems 20 mit dem Systembus 25 verbunden. Der Entscheider 28 liefert verschiedene Takt- und Busentscheidungssignale direkt an die anderen Einrichtungen-auf dem Systembus 25 und teilt einige Signale mit diesen Einrichtungen.
  • Die in der Fig. 1 dargestellte Implementation ist die, die gegenwärtig bevorzugt wird und soll nicht notwendigerweise als die vorliegende Erfindung begrenzend interpretiert werden. Beispielsweise kann die I/O-Einheit 53 direkt mit dem Systembus 25 verbunden werden, und der Entscheider 28 muß nicht in der für die vorliegende Erfindung beschriebenen Weise arbeiten.
  • In der zur Beschreibung der vorliegenden Erfindung verwendeten Nomenklatur werden die Prozessoren 31 und 35, der Speicher 39, und die I/O-Schnittstelle 41 und die I/O-Einrichtung 51 alle als Knoten bezeichnet. Ein "Knoten" wird definiert als eine Hardware-Einrichtung, die mit dem Systembus 25 verbunden ist. Ein typischer Knoten 60 wird genauer in der Fig. 2 gezeigt.
  • Entsprechend der zur Beschreibung der vorliegenden Erfindung verwendeten Nomenklatur werden die Ausdrücke "Signale" oder "Leitungen" im wesentlichen austauschbar verwendet, um sich auf Namen von physikalischen Drähten zu beziehen. Die Ausdrücke "Daten" oder "Pegel" werden hauptsächlich benutzt, um sich auf Werte zu beziehen, die die Signale oder Leitungen annehmen können.
  • Die Knoten führen Übertragungen mit anderen Knoten über den Systembus 25 durch. Eine "Übertragung" stellt eine oder mehrere nacheinander folgende Zyklen dar, die sich einen gemeinsamen Übertragen und gemeinsamen Entscheider teilen. Beispielsweise benötigt eine von einem Knoten initiierte Leseoperation, um Informationen eines anderen Knotens über den Systembus 25 zu erhalten, eine Befehlsübertragung von dem ersten zu dem zweiten Knoten, gefolgt von einer oder mehreren Rückdatenübertragungen von dem zweiten Knoten an den ersten Knoten zu einer etwas späteren Zeit.
  • Eine "Transaktion" wird als die gesamte logische Anforderung definiert, die auf dem Systembus 25 durchgeführt wird und kann mehr als eine Übertragung beinhalten. Beispielsweise ist eine Leseoperation, die aus einer Befehlsübertragung gefolgt von einer oder mehrerer späteren Rückdatenübertragungen, eine Transaktion. In der bevorzugten Ausführungsform des Systembusses 25 unterstützen die zulässigen Transaktionen die Übertragung von verschiedenen Datenlängen, und umfassen Lesen, Schreiben (maskiert), Verriegelungslesen, Entriegelungsschreiben, und Unterbrechungsoperationen. Der Unterschied zwischen einem Verriegelungslesen und einem regulären oder Nicht-Verriegelungslesen ist, daß ein Verriegelungslesen auf einen spezifischen Ort die an diesem Ort gespeicherte Information wiederfindet und beschränkt den Zugriff auf die gespeicherte Information durch nachfolgende Verriegelungslesebefehle. Die Zugriffsbeschränkung wird durch das Setzen eines Verrigelungsmechanismus durchgeführt. Ein nachfolgender Entriegelungsschreibebefehl speichert Informationen in dem spezifizierten Ort und stellt den Zugriff auf die gespeicherte Information durch das Rücksetzen des Sperrmechanismus an diesem Ort wieder her. Daher sind die Verriegelungslese/Entriegelungsschreib-Operationen eine Form einer Lese-Modifiziere-Schreib-Operation.
  • Da der Systembus 25 ein "Hängebus" ist, fördert er die effiziente Verwendung von Busbetriebsmitteln, indem er anderen Knoten erlaubt, die Buszyklen zu verwenden, die sonst durch das Warten auf Antworten vergeudet werden würden. In einem Hängebus können andere Knoten Zugriffe auf den Bus haben, nachdem ein Knoten eine Transaktion initiiert hat, bevor diese Transaktion vollendet ist. Daher bindet der diese Transaktion initiierte Knoten den Bus nicht für die ganze Transaktionszeit. Dies ist im Gegensatz mit einem Nichthängebus, in dem der Bus für die gesamte Transaktion gebunden ist. Beispielsweise kann in dem Systembus 25, nachdem ein Knoten eine Lesetransaktion initiiert und eine Befehlsübertragung durchgeführt hat, der Knoten, an den diese Befehlsübertragung gerichtet ist, nicht in der Lage sein, die angeforderten Daten sofort zurückzusenden. Zyklen auf dem Bus 25 würden dann zwischen der Befehlsübertragung und der Rückdatenübertragung der Lesetransaktion verfügbar sein. Der Systembus 25 erlaubt anderen Knoten, diese Zyklen zu gebrauchen.
  • Beim Gebrauch des Systembusses 25 kann jeder der Knoten verschiedene Rollen annehmen, um die Übertragung von Information zu bewerkstelligen. Eine dieser Rolle ist ein "Befehlsknoten", der als ein Knoten definiert ist, der eine gegenwärtige Transaktion initiiert hat. Beispielsweise ist in einer Schreib- oder Leseoperation der Befehlsknoten der Knoten, der die Schreib- oder Leseoperation anfordert; 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 als der Befehlsknoten während einer ganzen Transaktion, selbst wenn ein anderer Knoten die Verfügung über den Systembus während bestimmter Zyklen der Transaktion übernimmt. Beispielsweise wird ein Knoten nicht der Befehlsknoten des Busses, obwohl dieser Knoten die Verfügung über den Systembus 25 während der Übertragung von Daten als Antwort auf die Befehlsübertragung einer Lesetransaktion. Dieser Knoten wird dagegen als "Antwortknoten" bezeichnet.
  • Ein Antwortknoten antwortet auf den Befehlsknoten. Beispielsweise würde der Knoten B ein Antwortknoten sein, wenn ein Befehlsknoten eine Schreibeoperation zum Schreiben von Daten vom Knoten A zu dem Knoten B initiiert hat. Zusätzlich kann in einem datenverarbeitenden System 20 ein Knoten gleichzeitig ein Befehlsknoten und ein Antwortknoten sein.
  • Übertrager und Empfänger sind Rollen, die die Knoten bei einer individuellen Übertragung annehmen können. Ein "Übertrager" wird als ein Knoten definiert, der die Quelle von Informationen ist, die auf dem Systembus 25 während einer Übertragung gegeben werden. Ein "Empfänger" ist das Gegenstück des Übertragers und ist als der Knoten definiert, der die auf den Systembus 25 während einer Übertragung gegebenen Informationen empfängt. Während einer Lesetransaktion kann beispielsweise ein Befehlsknoten zuerst ein Übertrager während der Befehlsübertragung und anschließend ein Empfänger während der Rückdatenübertragung sein.
  • Wenn ein mit dem Systembus 25 verbundener Knoten wünscht, auf dem Systembus 25 Übertrager zu werden, aktiviert dieser Knoten eine der zwei Anforderungsleitungen, CMD REQ (Befehlsknotenanforderung) und RES REQ (Antwortknotenanforderung), die zwischen dem zentralen Entscheider 28 und diesem speziellen Knoten verbunden sind. Die CMD-REQ- und RES-REQ-Leitungen sind allgemein in der Fig 1 dargestellt. Im allgemeinen benutzt ein Knoten seine CMD-REQ-Leitung, um anzufordern, Befehlsknoten zu werden, und initiiert Transaktionen auf dem Systembus 25, und ein Knoten benutzt seine RES-REQ-Leitung, um ein Antwortknoten zu werden, um Daten oder Nachrichten zu einem Befehlsknoten zurückzusenden. Im allgemeinen stellt der zentrale Entscheider 28 fest, welcher Knoten Zugriff auf den Bus wünscht (d. h. welche Anforderungsleitungen aktiviert sind). Der Entscheider spricht auf eine der aktivierten Anforderungsleitungen an, um dem entsprechenden Knoten Zugriff auf den Bus 25 entsprechend einem Prioritätsalgorithmus zu gewähren. In der bevorzugten Ausführungsform unterhält der Entscheider 28 zwei unabhängige, kreisförmige Warteschlangen: eine für die Befehlsknotenanforderungen und eine für die Antwortknotenanforderungen. Bevorzugterweise haben die Antwortknotenanforderungen eine höhere Priorität als die Befehlsknotenanforderungen und werden vor den Befehlsknotenanforderungen ausgeführt.
  • Die Befehlsknotenanforderungsleitungen und Antwortknotenanforderungsleitungen werden als Entscheidungssignale betrachtet. Wie in der Fig. 1 dargestellt und genauer in der Beschreibung der Fig. 6 erklärt wird, umfassen die Entscheidungssignale ebenfalls Punkt-zu-Punkt-Bedingte-Gewährsignale vom zentralen Entscheiders 28 an jeden Knoten, Systembuserweiterungssignale zum Implementieren einer Multibuszyklusübertragung und Systembusunterdrückungssignale zum Steuern der Initiierung einer neuen Bustransaktion, wenn beispielsweise ein Knoten, beispielsweise ein Speicher, gegenwärtig nicht in der Lage ist, mit dem Verkehr auf dem Systembus mitzuhalten.
  • Andere Arten von Signalen, die den Systembus 25 bilden können, umfassen Informationsübertragungssignale, Antwortsignale, Steuersignale, Konsole/Bedienpultsignale und einige gemischte Signale. Die Informationsübertragungssignale umfassen Datensignale, Funktionssignale, die die auf den Systembus 25 während eines gegenwärtigen Zyklus durchzuführende Funktion darstellen, Identifiziersignale, die den Befehlsknoten identifizieren, und Paritätssignale. Die Antwortsignale umfassen im allgemeinen Quittungs- oder Bestätigungssignale von einem Empfänger, um den Übertrager vom Status des Datentransfers zu benachrichtigen.
  • Die Steuersignale umfassen Taktsignale, Warnsignale, wie diejenigen, die zu niedrige Leitungsspannungen oder niedrige DC- Spannungen identifizieren, während der Initialisierung verwendete Rücksetzsignale, Knotenfehlersignale, Voreinstellungssignale, die während leerlaufender Buszyklen verwendet werden und Fehlervoreinstellungssignale. Die Konsole/Bedienplatzsignale umfassen Signale zum Übertragen und Empfangen serieller Daten an eine Systemkonsole, Bootsignale zur Steuerung des Verhaltens eines Bootsprozessors während des Anfahrens, Signale zum Freigeben der Modifizierung eines löschbaren PROMs des Prozessors auf dem Systembus 25, ein Signal zur Steuerung einer Betriebslampe an dem Bedienplatz und Signale, die Batterieleistung an die Taktlogik bestimmter Knoten liefern. Die verschiedenen Signale, zusätzlich zu den unbelegten Signalen, umfassen Identifikationssignale, die es jedem Knoten erlauben, seinen Identifikationscode zu definieren.
  • Fig. 2 zeigt ein Beispiel eines mit dem Systembus 25 verbundenen Knotens 60. Der Knoten 60 kann ein Prozessor, ein Speicher, eine I/O-Einheit oder eine I/O-Schnittstelle, wie es in der Fig. 1 dargestellt ist, sein. In dem in der Fig. 2 gezeigten Beispiel umfaßt der Knoten 60 eine knotenspezifische Logik 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 mit dem Systembus 25 verbundene Knoten. Die knotenspezifische Logik 65, die verschiedene integrierte Schaltungen der Systembusschnittstelle 64 verwendet, umfaßt vorzugsweise zusätzlich zu den von einem Anwender entworfenen Schaltungen zur Ausführung der spezifischen Funktionen eines Knotens, Standardschaltungen, um mit dem Knotenbus 67 über eine Schnittstelle verbunden zu sein. Im allgemeinen ist die Datenschnittstelle 61 die primäre logische und elektrische Schnittstelle zwischen dem Knoten 60 und dem Systembus 25. Der Taktdecodierer 63 liefert Taktsignale an den Knoten 69, die auf den zentral generierten Taktsignalen basieren, und der Knotenbus 67 liefert eine Hochgeschwindigkeitsschnittstelle zwischen der Datenschnittstelle 61 und der knotenspezifischen Logik 65.
  • In der bevorzugten Ausführungsform des Knotens 60 und der Systembusschnittstelle 64, dargestellt in der Fig. 2, enthält der Taktdecodierer 63 Steuerschaltungen zum Bilden von Signalen, um diese auf den Systembus 25 zu geben und verarbeitet von dem zentralen Entscheider 28 empfangene Taktsignale, um Taktsignale für die knotenspezifische Logik 65 und die Datenschnittstelle 61 zu erhalten. Da die von dem Taktdecodierer 63 erhaltenen Taktsignale die zentral generierten Taktsignale verwendet, wird der Knoten 60 synchron mit dem Systembus 25 arbeiten.
  • Fig. 3 ist ein Zeitdiagramm, welches einen Buszyklus, die von dem Taktdecodierer 63 vom zentralen Entscheider 28 (Fig. 1) empfangenen Taktsignale und bestimmte, von dem Taktdecodierer 63 generierte Taktsignale zeigt. Die von dem Taktdecodierer 63 empfangenen Taktsignale weisen ein Zeitsignal H, ein Zeitsignal L, und ein Phasensignal auf, wie es in der Fig. 3 dargestellt ist. Die Zeit H und die Zeit L sind Inverse der Grund- Taktsignale und das Phasensignal wird durch die Division des Grund-Taktsignales durch 3 erhalten. Die von dem Taktdecodierer 63 generierten Taktsignale umfassen C12, C23, C34, C45, C56 und C61-Signale, die alle in der Fig. 3 gezeigt sind. Diese von der Datenschnittstelle 61 benötigten Taktsignale, die einmal pro Buszyklus auftreten, werden der Datenschnittstelle 61 geliefert, und ein kompletter Satz von Taktsignalen, einschließlich der der Datenschnittstelle 61 gelieferten Äquivalenten der Taktsignale, werden gepuffert und der knotenspezifischen Logik 65 geliefert. Der Zweck des Pufferns ist es sicherzugehen, daß die knotenspezifische Logik 65 nicht nachteilig die Operation der Systembusschnittstelle 64 durch ungenaues Laden der Taktsignale beeinflussen kann. Der Taktdecodierer 63 verwendet die Taktsignale, um 6 Subzyklen für jeden Buszyklus zu kreiern, und verwendet dann die Subzyklen, um 6 Taktsignale CXY zu kreiern, wobei X und Y zwei benachbarte Subzyklen repräsentieren, die kombiniert werden, um ein Zeitsignal zu bilden.
  • Jeder Knoten in dem Systembus 25 hat seinen eigenen entsprechenden Satz von durch seinen Taktdecodierer 63 generierten Taktsignale. Während nominell die entsprechenden Signale zu exakt der gleichen Zeit in jedem Knoten durch das ganze System 20 hindurch auftreten, führen Variationen zwischen dem Taktdecodierer 63 und anderen Schaltungen in Vielfachknoten Zeitvariationen zwischen entsprechenden Signalen ein. Diese Taktvariationen sind allgemein als "Taktschieflage" bekannt.
  • Fig. 4 zeigt eine bevorzugte Ausführungsform der Datenschnittstelle 61. Die Datenschnittstelle 61 umfaßt sowohl Zwischenspeicherschaltungen als auch eine Bustreiberschaltung, um eine bidirektionale und Hochgeschwindigkeitsschnittstelle zwischen jeder Leitung des Knotenbusses 67 und jeder Leitung des Systembusses 25 bereitzustellen. Wie es in der Fig. 4 dargestellt ist, umfaßt die Datenschnittstelle 61 vorzugsweise Speicherelemente 70 und 72 und einen Systembustreiber 74, um einen Kommunikationsweg vom Knotenbus 67 zum Systembus 25 zu liefern. Wie er bereits in der Beschreibung der Datenschnittstelle 61 gebraucht wurde, bezieht sich der Ausdruck "Speicherelement" allgemein auf bistabile Speichereinrichtungen, wie beispielsweise ein transparentes Latch oder ein Master-Slave-Speicherelement, und nicht auf eine spezifische Implementation. Der Fachmann wird erkennen, welche Typen von Speicherelementen geeignet sind.
  • Nach der Fig. 4 ist der Eingang eines Speicherelements 70 zum Empfang von Daten vom Knotenbus 67 mit diesem und der Ausgang mit dem Eingang des Speicherelements 72 verbunden. Der Ausgang des Speicherelements 72 ist mit dem Eingang des Systembustreibers 74 verbunden, dessen Ausgang mit dem Systembus 25 verbunden ist. Die Speicherelemente 70 und 72 werden durch entsprechende Knotenbussteuersignale 76 und 78 gesteuert, die aus den von dem Taktdecodierer 63 generierten Taktsignale abgeleitet werden. Die Speicherelemente 70 und 72 bilden einen zweistufigen Zwischenspeicher zum Pipelinen von Daten von dem Knotenbus 67 zu dem Systembus 25. Verschiedene Anzahlen von Speicherstufen können ebenfalls verwendet werden.
  • Der Systembustreiber 74 wird durch das Systembustreiberfreigabesignal 79 gesteuert. Entsprechend dem Zustand des Systembustreiberfreigabesignals 79, wird der Eingang des Systembustreibers 74 entweder mit seinem Ausgang verbunden, wobei die Daten am Ausgang des Speicherelements 72 zu dem Systembus 25 übertragen werden, oder von diesem Ausgang entkoppelt. Wenn die Systembusfreigabe 79 den Eingang und Ausgang des Systembustreibers 74 entkoppelt, bildet der Systembustreiber 74 gegenüber dem Systembus 25 eine hohe Impedanz. Das Systembustreiberfreigabesignal 79 wird ebenfalls von dem Taktdecodierer 63 in Übereinstimmung mit den vom Systembus 25 empfangenen Taktsignalen und den von der knotenspezifischen Logik 65 empfangenen Steuersignale generiert.
  • Der Eingangsanschluß des Speicherelements 80 ist mit dem Systembus 25 verbunden und der Ausgangsanschluß mit dem Eingang des Knotenbustreibers 82. Der Ausgang des Knotenbustreibers 82 wird zurück mit dem Knotenbus 67 verbunden. Das Speicherelement 80, vorzugsweise ein transparentes Latch, wird von einem Systembuslatchsteuerungssignal 85 gesteuert, welches aus den vom Taktdecodierer 63 generierten Taktsignalen abgeleitet wird. Ein Knotenbustreibersignal 87 steuert den Knotenbustreiber 82 in gleicher Weise, in der das Systembustreibersignal 79 den Systembustreiber 74 steuert. Daher, als Antwort auf das Knotenbustreibersignal 87, koppelt der Knotenbustreiber 82 entweder seinen Eingang mit seinem Ausgang oder entkoppelt seinen Eingang von seinem Ausgang und bildet gegenüber dem Knotenbus 67 eine hohe Impedanz.
  • Um zu erklären, wie Daten über den Systembus 25 übertragen werden, ist es wichtig, die Beziehung zwischen der Systembustreiberfreigabesignal 79 und dem Steuerungssignal 85 zu verstehen. In der vorliegenden Ausführungsform wird diese Beziehung in der Fig. 3 gezeigt. Die Systembustreiberfreigabe 79 wird nominell von dem Anfang des Endes eines Buszyklusses getrieben. Die neuen Daten werden zum Empfang von dem Systembus 25 einige Zeit später im Buszyklus erhältlich, nachdem die Treiberfortgepflanzungszeit und die Busberuhigungszeit verstrichen ist. In der vorliegenden Ausführungsform ist das Speicherelement 80 ein transparentes Latch. Das Steuerungssignal 85 ist logisch mit dem Takt C45 äquivalent. Das Bustakten stellt sicher, daß die Daten des Systembusses 25 einige Zeit vor dem Deaktivieren des Steuerungssignals 85 zum Empfang erhältlich werden. Das Speicherelement 80 speichert die Busdaten, die zumindest eine Einrichtungszeit vor der Deaktivierung des Steuerungssignals 85 stabil sind und eine Haltezeit nach der Deaktivierung des Steuerungssignals 85 stabil bleiben.
  • Der Knotenbus 67 ist vorzugsweise ein schneller Hochgeschwindigkeitsdatenbus, der bidirektionelle Datenübertragung zwischen der knotenspezifischen Logik 65 und dem Systembus 25 über eine Datenschnittstelle 61 ermöglicht. In der bevorzugten Ausführungsform des in der Fig. 2 gezeigten Knotens 60, ist der Knotenbus 67 ein Zwischenverbindungssystem bestehend aus Punkt-zu-Punkt-Verbindungen zwischen der Systembusschnittstelle 64 und der knotenspezifischen Logik 65. In Übereinstimmung mit der vorliegenden Erfindung jedoch gibt es keine Notwendigkeit für eine derartige Punkt-zu-Punkt-Zwischenverbindung.
  • Fig. 5 zeigt eine bevorzugte Ausführungsform des zentralen Entscheiders 28, der ebenfalls mit dem Systembus 25 verbunden ist. Der zentrale Entscheider 28 liefert die Taktsignale für den Systembus 25 und gewährt den Knoten auf dem Systembus 25 Verfügungsgewalt über den Bus. Der zentrale Entscheider 28 weist vorzugsweise eine Entscheidungsschaltung 90, eine Taktschaltung 95 und einen Oszillator 97 auf. Der Oszillator 97 generiert die Grund-Taktsignale. Die Taktschaltung 95 liefert die Taktsignale für die Entscheidungsschaltung 90 und die Basiszeit H, Zeit L und die Phasentaktsignale zum Takten auf dem Systembus 25. Die Entscheidungsschaltung 90 empfängt die Befehlsknoten- und Antwortknotenanforderungssignale, entscheidet Konflikte zwischen Knoten, die Zugriff auf den Systembus 25 wünschen, und unterhält die im vorangegangenen genannten Warteschlangen für die Befehlsknoten- und Antwortknotenanforderungen. Die Entscheidungsschaltung 90 liefert ebenfalls bestimmte Taktsignale an die Taktschaltung 95.
  • B. Unterbrechungsbedienung
  • Ein Unterbrechungsknoten, der die vorliegende Erfindung verkörpert, ist in der Fig. 6 dargestellt, und ist allgemein durch das Zeichen 110 bezeichnet. Der Knoten 110, der die Charakteristiken des in der Fig. 2 gezeigten Knotens 60 hat, kann mit dem Systembus 25 verbunden werden, der ein Hängebus ist. Wie im vorangegangenen erklärt wurde, überträgt der Systembus 25 Nachrichten, einschließlich Unterbrechungsanforderung, Unterbrechungsbestätigung und Unterbrechungsvektornachrichten, zwischen Knoten, beispielsweise einem Prozessor und einer I/O- Einrichtung, die zur Kopplung an den Bus angepaßt sind. Wie hier verkörpert ist, ist der Knoten 110 zur Kopplung an den Systembus 25 durch eine Systembusschnittstelle 64 und ein Satz von Generatoren und Decodierern zum Kreieren und Interpretieren von Nachrichten in Übereinstimmung mit dem Systemprotokoll ausgelegt. Der Knotenbus 67 ist zur Freigabe von Nachrichten ausgelegt, die 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 nachfolgend durch einen Unterbrechungsbedienungsknoten bedient.
  • In Übereinstimmung mit der vorliegenden Erfindung umfaßt der Unterbrechungsknoten eine erste Einrichtung zum Liefern einer Unterbrechungsanforderungsnachricht einschließlich ID-Daten zur Identifikation des Unterbrechungsknotens als die Quelle der Unterbrechungsanforderung an den Bus. Wie hier verkörpert ist, umfaßt eine derartige Einrichtung einen Unterbrechungsanforderungsbefehlsgenerator 113. Der Befehlsgenerator 113 kreiert eine Nachricht in Übereinstimmung mit dem auf dem Bus 25 verwendeten Protokoll, das Funktion- und Befehls-Codes umfaßt, die als eine Unterbrechungsanforderungsnachricht durch irgendeinen anderen Knoten, der dieses Protokoll verwendet, erkennbar sind.
  • In der bevorzugten Ausführungsform werden Schlitz-ID-Signale dem Befehlsgenerator 118 eingegeben, um eine Unterbrechungsanforderungsnachricht mit ID-Daten 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 Systemrückwand gemacht, die eine Anzahl von physikalischen Schlitzen aufweist. Die Verbindung mit der Rückwand umfaßt eine Anzahl von Drähten, die zwischen der Rückwand und jedem der Knoten zusammenpassen müssen. Einige dieser Drähte jedoch sind einzigartig für jeden Schlitz auf der Rückwand. Zu diesen Schlitzen gehören einzigartige Drähte, die hardwarecodiert sind, um eine spezielle ID für diesen Schlitz zu generieren, die von jedem anderen Schlitz unterscheidbar ist. Daher wird bevorzugt, daß der Knoten die Schlitz-ID-Eingabe in den Generator 118 generiert unter Verwendung des einzigartigen Satzes von Drähten der Rückwand, die mit der speziellen ID für den Schlitz hardwarecodiert sind, in dem der Knoten untergebracht ist. Natürlich können verschiedene Modifikationen und Variationen in der Weise gemacht werden, in der die Daten zur Identifizierung des Unterbrechungsknotens 110 generiert werden und in den Befehlsgenerator 118 eingegeben werden.
  • In der bevorzugten Ausführungsform sind zusätzliche Eingänge zu dem Unterbrechungsanforderungsbefehlsgenerator 118 vorhanden. Ein Unterbrechungsanforderungs-Freigabesignal wird von dem Unterbrechungsknoten 110 im Generator 118 eingegeben, um anzuzeigen, daß ein Ereignis eingetreten ist, das den Knoten 110 veranlaßt, eine Unterbrechung zu generieren, die durch einen der Knoten des datenverarbeitenden Systems 20 bedient werden muß.
  • In Übereinstimmung mit der vorliegenden Erfindung kann ein Unterbrechungsknoten ebenfalls eine Einrichtung zum Liefern der Unterbrechungsanforderungsnachricht einschließlich der Bestimmungsortdaten zur Bestimmung bestimmter Unterbrechungsbedienungsknoten umfassen. Im in der Fig. 6 dargestellten Knoten 110 empfängt der Befehlsgenerator 118 Bestimmungsortdaten von einem Unterbrechungsanforderungsbestimmungsortmaskenregister 120. Die Daten im Register 120 können in irgendeiner Art gesetzt werden, beispielsweise durch Hardwarecodierung der Register, durch das Schreiben von Daten in das Register unter Verwendung einer über den Bus 25 übertragenen Nachricht, oder durch internes Schreiben der Daten in das Register 120 von einem der anderen Komponenten im Knoten 110.
  • Die im Register 120 gespeicherten Daten sind eine Bestimmungsortmaske, die bestimmt, welcher der Knoten des datenverarbeitenden Systems 20 als der Bestimmungsort für die den Bus 25 vom Generator 118 gelieferte Unterbrechungsanforderungsnachricht bestimmt wird.
  • Falls eine Anzahl von Knoten in dem datenverarbeitenden System 20 enthalten sind und es gewünscht ist, mehrere dieser Knoten als Betriebsmittel zur Bedienung der Interruptanforderungen durch den Knoten 110 zur Verfügung zu haben, dann können die Daten in der Bestimmungsortmaske eine Vielzahl dieser Knoten spezifizieren. Falls beispielsweise acht Knoten in dem System Prozessoren sind und es wünschenswert ist, die Bedienung der Unterbrechungsanforderungen des Knotens 110 durch vier dieser Prozessoren zu erlauben, kann die in dem Register 120 gespeicherte Maske so gewählt werden, daß vier spezifische Bits gesetzt sind, wobei jedes einem ausgewählten Prozessor im datenverarbeitenden System 20 entspricht.
  • Gemäß der vorliegenden Erfindung kann die Einrichtung zum Liefern der Unterbrechungsanforderungsnachricht ebenso eine Einrichtung zum Liefern der Unterbrechungsanforderungsnachricht mit Unterbrechungsprioritätspegeldaten (IPL) zum Spezifizieren eines Prioritätspegels der Unterbrechungsanforderung aufweisen. Die mit Ereignissen wie Stromausfall verbundenen Unterbrechungen werden beispielsweise typischerweise einen höheren Prioritätspegel haben und werden schneller bedient werden wie Unterbrechungen, die mit Ereignissen wie die Verfügbarkeit von Daten von einem Plattenlaufwerk verbunden sind. In der bevorzugten Ausführungsform werden die Unterbrechungsprioritätsdaten dem Generator 118 durch den Knoten 110 eingegeben, und diese Unterbrechungsanforderungs-(I.R.)IPL-Daten spezifizieren den Prioritätspegel der Unterbrechungsanforderung, die gegenwärtig durch den Knoten 110 generiert wird.
  • Gemäß der Erfindung weist der Unterbrechungsknoten ebenfalls eine zweite Einrichtung zum Beobachten der Unterbrechungsbestätigungsnachrichten auf den Bus und zur Detektion einer Unterbrechungsbestätigungsnachricht auf den Bus einschließlich der Bestimmungsortdaten, die den Unterbrechungsknoten spezifizieren, und den ID-Daten in der Unterbrechungsanforderungsnachricht entsprechen, auf. Vorzugsweise umfaßt eine derartige Einrichtung einen Befehlsdecodierer 122 und eine Bestimmungsortvergleicherlogik 124. Zu den Zeiten, an denen ein Befehl von einem Knoten auf den Systembus 25 übertragen wird, wird er durch den Knoten 110 empfangen und in einer Antwortknoteneingangswarteschlange 126 gespeichert, die typischerweise ein First-in-first-out-Register ist, das als ein vorübergehender Speicher während des Befehlsdecodierens verwendet wird. Die Nachrichten in der Warteschlange 126 werden dann an den Befehlsdecodierer 122 geliefert. Jedes auf den Systembus 25 gesendete Unterbrechungsbestätigungsbefehl wird Funktions- und Befehls-Codes aufweisen, die diese Nachricht als einen Unterbrechungsbestätigungsbefehl identifizieren. Der Befehlsdecodierer 122 detektiert, ob die in der Warteschlange 126 gespeicherte Nachricht eine Unterbrechungsbestätigungsnachricht ist, und falls dies so ist, gibt er ein Unterbrechungsbestätigungs- Vorhanden-Signal auf ein UND-Gatter 128 zu den Zeiten, an denen eine Unterbrechungsbestätigungsnachricht empfangen worden ist.
  • Falls die Nachricht in der Warteschlange 126 eine Unterbrechungsbestätigungsnachricht ist, so wird sie ebenfalls Bestimmungsortdaten enthalten. Der Befehlsdecodierer 122 gibt diese Bestimmungsortdaten der Bestimmungsortvergleicherlogik 124. Die Bestimmungsortvergleicherlogik 124 vergleicht die Bestimmungsortdaten mit den Schlitz-ID-Signalen, die im vorangegangenen beschrieben worden sind und die ID-Daten enthalten, die den Unterbrechungsknoten 110 identifizieren. Zu den Zeiten, an denen eine Unterbrechungsbestätigungsnachricht auf den Systembus 25 Bestimmungsortdaten enthält, die den speziellen Unterbrechungsknoten 110 spezifizieren, wird die Bestimmungsortvergleicherlogik 124 ein Signal zu dem UND-Gatter 128 ausgeben, das eine Übereinstimmung anzeigt. Das UND-Gatter 128 aktiviert als seine Ausgabe ein Unterbrechungsvektorfreigabesignal, wenn der Befehlsdecodierer 122 detektiert, daß eine Unterbrechungsbestätigungsnachricht vorhanden ist, und die Bestimmungsortvergleicherlogik 124 detektiert, daß die Nachricht den Knoten 110 spezifizierende Bestimmungsortdaten enthält. Das Unterbrechungsvektorfreigabesignal wird zu einem Unterbrechungsvektorantwortgenerator 130 gesendet.
  • In Übereinstimmung mit einem Unterbrechungsknoten der vorliegenden Erfindung gibt es eine dritte Einrichtung zum Liefern einer Unterbrechungsvektornachricht an den Bus als Antwort auf die Detektion einer Unterbrechungsbestätigungsnachricht, die den Unterbrechungsknoten spezifizierende Bestimmungsortdaten enthält. Wie hier verwirklicht ist, umfaßt eine derartige Einrichtung einen Unterbrechungsvektorantwortgenerator 130. Der Antwortgenerator 130 ist dem Befehlsgenerator 118 insofern ähnlich, als beide Generatoren Eingangsdaten in eine Nachricht mit dem durch das Systemprotokoll benötigten Format transformieren. Der Antwortgenerator 130 wird durch den Unterbrechungsvektorfreigabesignalpegel des UND-Gatters 128 freigegeben. Die von dem Unterbrechungsknoten 110 an den Systembus 25 als Antwort auf eine Unterbrechungsbestätigungsnachricht übertragene Information wird in einer Vektorregisterdatei 132 gespeichert. Wie in der Fig. 6 dargestellt, umfaßt die Vektorregisterdatei 132 die Vektorregister 134, 136, 138 und 140.
  • In der in der Fig. 6 dargestellten bevorzugten Ausführungsform der Erfindung können verschiedene Vektorregister verwendet werden, da der Knoten 110 zur Generierung von Unterbrechungsanforderungsnachrichten als Antwort auf separate Ereignisse fähig sein kann, die eine Bedienung durch die Ausführung eines verschiedenen Satzes von Programminstruktionen benötigt. Daher kann ein Unterbrechungsknoten der vorliegenden Erfindung eine Einrichtung zur Selektion einer Nachricht aus einer Vielzahl von Unterbrechungsvektornachrichten entsprechend Prioritätspegeldaten der Unterbrechungsbestätigungsnachricht umfassen. Wie hier verwirklicht ist, kann diese Einrichtung eine Vektorregisterdatei 132 und einen Multiplexer 142 umfassen, um die in einem der Vektorregister in der Vektorregisterdatei 132 enthaltenen Unterbrechungsvektordaten zu selektieren.
  • Eine Unterbrechungsbestätigungsnachricht auf dem Bus 25 wird vorzugsweise mit den Unterbrechungsbestätigungs-Unterbrechungsprioritätspegeldaten (I.A. IPL) geliefert, die den Prioritätspegel der Unterbrechungsanforderungsnachricht, daß ein Unterbrechungsbedienungsknoten zur Bedienung bereit ist, spezifiziert. Die I.A. IPL-Daten werden von dem Befehlsdecodierer 122 an den Multiplexer 142 geliefert, der die Unterbrechungsvektordaten in Übereinstimmung mit den empfangenen I.A. IPL- Daten selektiert. Als Ergebnis werden die ausgewählten Unterbrechungsvektordaten an den Unterbrechungsvektorantwortgenerator 130 geliefert und werden in der von dem Generator 130 gelieferten Unterbrechungsvektornachricht enthalten sein. Der Antwortgenerator 130 gibt dann die Unterbrechungsvektornachricht auf den Systembus 25, so daß die Nachricht von dem Unterbrechungsbedienungsknoten empfangen werden kann.
  • Der Unterbrechungsknoten dieser Erfindung kann ebenfalls eine Einrichtung zum Versorgen der Unterbrechungsvektornachricht mit Quellendaten aufweisen, die einen bestimmten Unterbrechungsbedienungsknoten identifizieren. In der bevorzugten Ausführungsform umfaßt die von einem Unterbrechungsbedienungsknoten bereitgestellte und durch den Knoten 110 detektierte Unterbrechungsbestätigungsnachricht Quellendaten zum Identifizieren eines bestimmten Unterbrechungsbedienungsknotens als die Quelle der Unterbrechungsbestätigungsnachricht. Diese Quellendaten werden von dem Befehlsdecodierer 122 an den Unterbrechungsvektorantwortgenerator 130 geliefert. Wenn der Generator 130 eine Unterbrechungsvektornachricht kreiert, benutzt er die vom Befehlsdecodierer 122 empfangenen Quellendaten, um an den Bus eine Unterbrechungsvektornachricht der Quellendaten zu liefern. Der Einschluß der Quellendaten in die Unterbrechungsvektornachricht erleichtert den Empfang der Unterbrechungsvektordaten, die von einem bestimmten Unterbrechungsbedienungsknoten angefordert wurden.
  • Ein Unterbrechungsbedienungsknoten, der die Prinzipien der vorliegenden Erfindung verkörpert, ist in den Fig. 7 und 8 gezeigt und wird allgemein durch die Ziffer 144 repräsentiert. Die Schlitz-ID-Signale, die Systembusschnittstelle 64, der Knotenbus 67, Eingangswarteschlangen, Befehlsgenerator, Decodierer und Bestimmungsortvergleicherlogik, dargestellt in der Fig. 7, sind in Struktur und Arbeitsweise ähnlich den in der Fig. 6 gezeigten Elementen des Knotens 110 und sind in der Diskussion des Unterbrechungsknotens 110 beschrieben. Unter Verwendung dieser Elemente zusammen mit den in der Fig. 6 dargestellten Elementen ist es für einen Knoten möglich, sowohl als ein Unterbrechungsknoten als auch als ein Unterbrechungsbedienungsknoten zu funktionieren. Der Unterbrechungsbedienungsknoten 144 bedient die Unterbrechungsanforderungsnachrichten auf dem Bus 25, die von einem Unterbrechungsknoten geliefert werden. Der Knoten 144 ist ausgelegt, um mit dem Systembus 25 über die Systembusschnittstelle 64 und ein Satz von Generatoren und Decodierern gekoppelt zu werden.
  • Der Unterbrechungsbedienungsknoten dieser Erfindung umfaßt eine vierte Einrichtung zum Detektieren von Unterbrechungsanforderungsnachrichten auf dem Bus einschließlich der ID-Daten, die den Unterbrechungsknoten identifizieren. Vorzugsweise werden die auf den Hängebus 25 übertragenen Nachrichten durch den Unterbrechungsbedienungsknoten 144 in einer Antwortknoteneingangswarteschlange 146 gespeichert, die ein First-in-firstout-Register ist, das als ein vorübergehender Speicher während des Befehlsdecodierens verwendet wird. Jede gespeicherte Nachricht wird dann an einen Befehlsdecodierer 148 geliefert, der in der Detektionseinrichtung enthalten ist. Eine auf den Systembus 25 übertragene Unterbrechungsanforderungsnachricht umfaßt Funktions- und Befehlscodes, die ihn als eine Unterbrechungsanforderungsnachricht identifizieren, und der Decoder 148 wird ein Unterbrechungsanforderungs-Vorhanden-Signal an ein UND-Gatter 150 als Antwort auf die Detektion einer Unterbrechungsanforderungsnachricht auf dem Bus liefern.
  • Die Bestimmungsortvergleicherlogik 152 in dem Unterbrechungsbedienungsknoten 144 wird benutzt, um die Bestimmungsortdaten in den Unterbrechungsanforderungsnachrichten zu untersuchen. Wie im vorangegangenen beschrieben, kann die durch den Unterbrechungsknoten 110 bereitgestellte Unterbrechungsanforderungsnachricht Bestimmungsortdaten zum Spezifizieren von bestimmten Unterbrechungsbedienungsknoten enthalten. Diese Bestimmungsortdaten, in der Form einer Bestimmungsortmaske, wird durch den Decodierer 148 auf die Bestimmungsortvergleicherlogik 152 ausgegeben. Die Vergleicherlogik 152 vergleicht die Bestimmungsortdaten mit den Schlitz-ID-Signalen, die unverwechselbar den Unterbrechungsbedienungsknoten 144 identifizieren. Falls der Unterbrechungsbedienungsknoten 144 einer der Knoten ist, die von der Bestimmungsortmaske spezifiziert oder selektiert sind, aktiviert die Vergleicherlogik 152 an dem UND-Gatter 150 ein Signal, das anzeigt, daß eine Übereinstimmung vorliegt. In der bevorzugten Ausführungsform wird das UND-Gatter 150 ein Setze-Speicherelement-Signal aktivieren, das anzeigt, daß eine Unterbrechungsanforderungsnachricht detektiert worden ist, die den Unterbrechungsbedienungsknoten 144 spezifizierende Bestimmungsortdaten umfaßt.
  • Gemäß der Erfindung weist ein Unterbrechungsbedienungsknoten auch eine fünfte Einrichtung auf, die anzeigt, daß eine Unterbrechungsanforderung eines Unterbrechungsknotens anhängig ist. Wie in dem Unterbrechungsbedienungsknoten 144 verwirklicht, wird eine derartige Anzeigeeinrichtung durch ein Speicherfeld 154 bereitgestellt. Der spezielle, eine Unterbrechungsanforderung tätigende Unterbrechungsknoten wird durch den Knoten 144 durch die Benutzung der Unterbrechungsknoten-ID-Daten bestimmt, die in der von dem Bus durch den Unterbrechungsknoten 110 gelieferte Unterbrechungsanforderungsnachricht geliefert wird. Diese Information wird dann unter dem Einsatz des Speicherfelds 154 gespeichert, um anzuzeigen, daß eine Unterbrechungsanforderung von dem entsprechenden Unterbrechungsknoten anhängig ist.
  • In Übereinstimmung mit der vorliegenden Erfindung, kann der Unterbrechungsbedienungsknoten eine Speichereinrichtung einschließlich Knotenspeicherelemente aufweisen, wobei jedes einem anderen der Unterbrechungsknoten entspricht, um anzuzeigen, ob eine Unterbrechungsanforderung des entsprechenden Knotens anhängig ist. Wie in dem Knoten 144 verkörpert, kann eine derartige Speichereinrichtung ein Speicherfeld 154 umfassen.
  • Der Unterbrechungsbedienungsknoten der vorliegenden Erfindung kann auch eine Einrichtung zum Setzen eines der Knotenspeicherelemente als Antwort auf die Detektion der Unterbrechungsanforderungsnachricht umfassen, die die ID-Daten aufweist, die einen entsprechenden Unterbrechungsknoten als die Quelle der Unterbrechungsanforderung identifiziert. Dies zeigt an, daß der entsprechende Unterbrechungsknoten eine anhängige Unterbrechungsanforderung hat.
  • Die bevorzugte Ausführungsform der Speicherfeld 154 ist in der Fig. 8 dargestellt. Die Speicherelemente sind in dem Vektor 154 enthalten und entsprechen bestimmten Unterbrechungsknoten. Vorzugsweise werden Setze-Rücksetze-Flip-Flops als die Speicherelemente verwendet, wobei jedes Speicherelement 155 einem bestimmten Unterbrechungsknoten entspricht. Wie in den Fig. 7 und 8 dargestellt, werden die Unterbrechungsknoten-ID-Daten vom Befehlsdecodierer 148 auf einen Demultiplexer 158 ausgegeben. Die Unterbrechungsknoten-ID-Daten sind in der Unterbrechungsanforderungsnachricht enthalten, die von einem Unterbrechungsknoten an den Systembus 25 geliefert wird. Der Demultiplexer 158 aktiviert als Antwort auf die ID-Daten eine einzelne Knotenauswahlleitung und aktiviert ein Signal, das eines aus einer Anzahl von UND-Gattern freigibt, wobei jedes mit dem Setze-Terminal des Speicherelements 156, das einem bestimmten Unterbrechungsknoten entspricht, verbunden ist. Das Setze- Speicherelementsignal vom UND-Gatter 150 wird ebenfalls von jedem der UND-Gatter 160 empfangen. Das UND-Gatter 160 wirkt daher als eine Einstelleinrichtung. Als Ergebnis wird ein einzelnes Speicherelement 156, das einem bestimmten Unterbrechungsknoten entspricht, gesetzt werden, um anzuzeigen, daß es eine anhängige Unterbrechungsanforderung von diesem Knoten gibt.
  • Die vorliegende Erfindung kann ebenfalls als Antwort auf das Liefern einer Unterbrechungsbestätigungsnachricht an den Bus einschließlich der Bestimmungsortdaten, die den Unterbrechungsknoten identifizieren, eine Einrichtung zum Löschen des einem bestimmten Unterbrechungsknoten entsprechenden Knotenspeicherelements aufweisen. Wie hier verkörpert, umfassen die an den Systembus 25 gelieferten Unterbrechungsbestätigungsnachrichten Bestimmungsortdaten, die den Knoten 110 als einen solchen spezifizieren, der eine Unterbrechungsanforderung hat, die ein Unterbrechungsbedienungsknoten bereit ist zu bedienen.
  • Diese Bestimmungsortdaten werden durch den Befehlsdecodierer 148 auf das Speicherfeld 154 ausgegeben und werden in der Fig. 8 durch einen Satz von Bestimmungsortdatenleitungen dargestellt, wobei jede Leitung einen Freigabeeingang zu einer aus einer Anzahl von UND-Gattern 162 bereitstellt. Daraus resultiert als Antwort auf eine Unterbrechungsbestätigungsnachricht auf dem Systembus 25, daß ein ausgewähltes UND-Gatter 162 freigegeben werden wird. Das bestimmte, selektierte UND-Gatter 162 wird von den Bestimmungsortdaten abhängen, die in der Unterbrechungsbestätigungsnachricht enthalten sind. Der Ausgang des ausgewählten UND-Gatters 162 wird mit dem Rücksetzeingang des Speicherelements 156 verbunden, entsprechend dem bestimmten Unterbrechungsknoten, der als der Bestimmungsort der Unterbrechungsbestätigungsnachricht spezifiziert ist. Als Antwort auf eine Unterbrechungsbestätigungsnachricht wird der Befehlsdecodierer 158 ein Unterbrechungsbestätigungs-Vorhanden- Signal an jedes der UND-Gatter 162 ausgeben, so daß das Löschen eines Speicherelements stattfindet. Die UND-Gatter 162 wirken so als Löscheinrichtungen. Als Resultat wird ein einzelnes Speicherelement 156, das dem Knoten 110 entspricht, gelöscht, wann immer eine Unterbrechungsbestätigungsnachricht anzeigt, daß die Unterbrechungsanforderung von diesem bestimmten Knoten bedient wird.
  • Die Unterbrechungsbedienungsknoten können eine Einrichtung zum Spezifizieren der Identität des Unterbrechungsknotens entsprechend jedem Speicherelement aufweisen. Wie hier verkörpert, umfaßt eine derartige Spezifizierungseinrichtung einen Codierer 164. Die Ausgänge jedes der Speicherelemente 156 werden mit dem Codierer 164 verbunden. Der Codierer 164 tastet jeden der Eingänge in einer vorbestimmten Reihenfolge ab und selektiert ein bestimmtes Speicherelement der gesetzten Speicherelemente 156. Der Codierer 164 gibt selektierte Knotendaten aus, die den bestimmten Unterbrechungsknoten identifizieren, der durch den Knoten 144 bedient werden wird. Wie in der Fig. 7 dargestellt, werden diese selektierten Knotendaten von dem Speicherfeld 154 auf einen Unterbrechungsbestätigungsbefehlsgenerator 166 ausgegeben, und spezifizieren die Identität des bestimmten Unterbrechungsknoten, der durch den Unterbrechungsbedienungsknoten bedient wird.
  • In Übereinstimmung mit der vorliegenden Erfindung umfaßt der Unterbrechungsbedienungsknoten eine sechste Einrichtung zum Liefern einer Unterbrechungsbestätigungsnachricht einschließlich der Bestimmungsortdaten, die einen bestimmten Unterbrechungsknoten spezifizieren, an den Bus zu den Zeiten, an denen der Unterbrechungsbedienungsknoten bereit ist, eine Unterbrechungsanforderungsnachricht von diesem Knoten zu bedienen. Wie hier verwirklicht, umfaßt die Einrichtung zum Liefern der Unterbrechungsbestätigungsnachricht einen Unterbrechungsbestätigungsbefehlsgenerator 166. Vorzugsweise umfaßt eine Unterbrechungsanforderungsnachricht, die von dem Systembus 25 empfangen wurde, ID-Daten, die den bestimmten Unterbrechungsknoten 110 identifizieren. Wie im vorangegangenen beschrieben wurde, werden diese ID-Daten vom Decodierer 148 auf den Demultiplexer 158 ausgegeben und werden zum Setzen eines Speicherelements benutzt, das dem bestimmten Unterbrechungsknoten 110 in dem Speicherfeld 154 entspricht. Die Ausgänge jedes der Speicherelemente 156 werden mit einem der ODER-Gatter 168 verbunden. Jedes ODER-Gatter 168 hat einen Unterbrechungsanforderungs-Anhängig-Ausgang für andere Logikelemente in dem Unterbrechungsbedienungsknoten vorgesehen. Der Unterbrechungsanforderungs- Anhängig-Ausgang zeigt an, daß eine anhängige Unterbrechungsanforderung vorhanden ist. Wenn ein Knoten 144 bereit ist, eine Unterbrechungsanforderung zu bedienen, aktiviert die Logik im Knoten 144, beispielsweise eine CPU, ein Unterbrechungsbestätigungsfreigabesignal für den Unterbrechungsbestätigungsbefehlsgenerator 166. Der Generator 166 kann eine Unterbrechungsbestätigungsnachricht generieren, einschließlich der Bestimmungsortdaten zur Spezifizierung eines bestimmten Unterbrechungsknotens, der eine anhängige Unterbrechungsanforderung hat, da der Codierer 164 dem Generator 166 selektierte Knotendaten ausgibt. Die selektierten Knotendaten spezifizieren die Identität des bestimmten Unterbrechungsknotens 110, der der Bestimmungsort der gerade generierten Unterbrechungsbestätigungsnachricht sein wird. Der Generator 166 liefert anschließend die Unterbrechungsbestätigungsnachricht an den Systembus 25.
  • In Übereinstimmung mit der Erfindung weist ein Unterbrechungsbedienungsknoten ebenfalls eine siebte Einrichtung zur Detektion einer Unterbrechungsvektornachricht auf dem Bus auf, die Quellendaten enthalten kann, die den Unterbrechungsbedienungsknoten identifizieren. Wie hier verwirklicht und in der Fig. 7 gezeigt, weist der Knoten 144 eine Befehlsknoteneingangswarteschlange 170 auf, die ein First-in-first-out-Register ist, zum Speichern von auf dem Systembus 25 übertragenen Nachrichten. Die gespeicherten Nachrichten werden zu dem Antwortdecodierer 172 übertragen, der die Detektionseinrichtung bereitstellt. Zu den Zeiten, an denen der Decodierer 172 die Anwesenheit einer Unterbrechungsvektornachricht detektiert, gibt er das UND-Gatter 174 frei. In der bevorzugten Ausführungsform der Erfindung werden die Unterbrechungsvektornachrichten auf dem Systembus 25 Quellendaten umfassen, die einen bestimmten Unterbrechungsbedienungsknoten 144 spezifizieren. Diese Quellendaten werden durch den Decodierer 172 zu der Bestimmungsortvergleicherlogik 176 ausgegeben, der diese mit den Schlitz-ID-Signalen vergleicht, die unverwechselbar den Unterbrechungsbedienungsknoten 144 identifizieren. Falls der Knoten 144 der gedachte Bestimmungsort der in der Unterbrechungsvektornachricht enthaltenen Unterbrechungsvektordaten ist, werden die Eingänge zu der Vergleicherlogik 176 übereinstimmen und die Vergleicherlogik 176 wird das UND-Gatter 174 freigeben. Wenn beide der obigen Eingänge zu dem UND-Gatter 174 freigegeben sind, wird das UND-Gatter 174 ein Unterbrechungsvektor-Gültig-Signal an die Logik in dem Knoten 144 aktivieren. Der Antwortdecodierer 172 wird ebenfalls die in der Unterbrechungsvektornachricht enthaltenen Unterbrechungsvektordaten an die Logik im Knoten 144 ausgeben. Diese Information wird es dem Unterbrechungsbedienungsknoten 144 erlauben, die Startadresse des Programms entsprechend den durch den Unterbrechungsknoten 110 generierten Unterbrechungsanforderungen zu berechnen. Vorzugsweise wird der Unterbrechungsbedienungsknoten 144 eine CPU umfassen, die in einen Wartezustand geht, nachdem der Knoten 144 eine Unterbrechungsbestätigungsnachricht auf den Systembus 25 gelegt hat, und den Empfang einer Unterbrechungsvektornachricht vom Systembus 25 erwarten.
  • In Übereinstimmung mit einem Aspekt der Erfindung umfaßt ein Unterbrechungsbedienungsknoten eine Einrichtung zum Erhalt der Buskontrolle zu den Zeiten, an denen der Knoten bereit ist, eine anhängige Unterbrechungsanforderung zu bedienen und zur Durchführung von Nulloperationen für eine vorbestimmte Zeitdauer, bevor die Unterbrechungsbestätigungsnachricht auf den Hängebus geliefert wird. Wie hier verwirklicht und in der Fig. 7 gezeigt, umfaßt eine derartige Einrichtung einen Unterbrechungsbestätigungsbefehlsgenerator 166. Zu den Zeiten, an denen der Unterbrechungsbestätigungsgenerator 166 bereit ist eine Unterbrechungsbestätigungsnachricht auf den Systembus 25 zu legen, gibt er ein Befehlsknotenanforderungssignal aus, um Zugriff auf den Systembus 25 zu verlangen. Wenn dem Knoten 144 der Zugriff auf den Bus 25 gewährt wird, beginnt der Unterbrechungsbestätigungsgenerator 166 durch das Bereitstellen von Buszyklen an das System 25, die als Nulloperationen interpretiert werden. Diese dem Bus bereitgestellten Zyklen enthalten einen "Null-Operation"-Funktionscode, der entsprechend dem Computersystemprotokoll von jedem Knoten in dem Computersystem so interpretiert wird, als ob keine Durchführung von irgendeiner Operation benötigt wird. Diese Nulloperationen werden vom Generator 166 bereitgestellt, bevor eine aktuelle Unterbrechungsbestätigungsnachricht an den Systembus 25 geliefert wird. Durch das Abwarten einer vorbestimmten Zeitdauer, stellt der Knoten 144 sicher, daß der bestimmte Unterbrechungsknoten 110 immer noch eine anhängige Unterbrechungsanforderung hat, die noch nicht vorher von einem anderen Unterbrechungsbedienungsknoten bedient worden ist. Die vorbestimmte Zeitdauer ist für die "Pipeline"-Verzögerung verantwortlich, die mit der Löschoperation der Speicherelemente verbunden ist, welche zusätzliche Zyklen zur Beendigung benötigen kann, nachfolgend zu der Übertragung einer Unterbrechungsbestätigungsnachricht über den Bus 25. Durch das Abwarten dieser vorbestimmten Zeit stellt der Knoten 144 daher sicher, daß die Speicherelemente in dem Speicherfeld 154 eine kohärente Information bereitstellen, die genau anzeigt, ob ein bestimmter Unterbrechungsknoten 110 immer noch eine anhängige Unterbrechungsanforderung hat.
  • In der bevorzugten Ausführungsform des in den Fig. 1 bis 8 dargestellten datenverarbeitenden Systems 20, benötigen die Unterbrechungsbedienungsknoten ungefähr vier bis acht Buszyklen, um die entsprechenden Speicherelemente zu löschen, nachdem eine Unterbrechungsbestätigungsnachricht auf dem Bus 25 bereitgestellt wird. Daher enthalten alle Speicherfelder durch das Warten für die Beendigung der Löschungsoperation vor dem Liefern einer Unterbrechungsbestätigungsnachricht, die aktuellen Unterbrechungsanforderungsstatusinformation. Zu den Zeiten, an denen der Knoten 144 die Steuerung über den Systembus 25 hat und Nulloperationen durchführt, können keine weiteren Unterbrechungsbestätigungs- oder Unterbrechungsanforderungsnachrichten über den Systembus 25 übertragen werden.
  • Wie hier verwirklicht, wird der Ausgang des ODER-Gatters 168 von dem Unterbrechungsbestätigungsbefehlsgenerator 166 empfangen und zeigt an, ob irgendwelche Unterbrechungsanforderungen vor dem Ende der vorbestimmten Zeitperiode immer noch anhängig sind. Falls kein Signal da ist, zeigt dies an, daß es keine anhängigen Unterbrechungsanforderungen gibt, und der Unterbrechungsbestätigungsgenerator 166 kann vor dem Liefern einer Unterbrechungsbestätigungsnachricht an den Hängebus abbrechen.
  • Falls die Unterbrechungsanforderung des Knotens 110 nicht länger anhängig ist, aber andere Unterbrechungsanforderungen in anderen Speicherelementen des Speicherfelds 154 anhängig sind, wird der Ausgang des ODER-Gatters 168 diese Anhängigkeit anzeigen, und die ausgewählten, an den Unterbrechungsbestätigungsgenerator 166 ausgegebenen Knotendaten, werden die Identität eines der Knoten wiedergeben, der eine anhängige Unterbrechungsanforderung hat. In der in den Fig. 7 und 8 dargestellten bevorzugten Ausführungsform, tastet der Codierer 164 durch einen Satz von Eingängen der Speicherelemente 156, selektiert eines der Speicherelemente, das gesetzt ist, und übergibt die Identität dieses Speicherelements als ausgewählte Knotendaten an den Generator 166.
  • Wie im vorangegangenen diskutiert wurde, kann ein Unterbrechungsbedienungsknoten der vorliegenden Erfindung eine Einrichtung zum Löschen des einem bestimmten Unterbrechungsknoten entsprechenden Speicherelements umfassen, als Antwort auf das Liefern einer Unterbrechungsbestätigungsnachricht, einschließlich der den bestimmten Unterbrechungsknoten spezifizierenden Bestimmungsortdaten, an den Bus durch irgendeinen Knoten. Daher, wann immer eine Unterbrechungsanforderung eines bestimmten Unterbrechungsknotens 110 von irgendeinem der Unterbrechungsbedienungsknoten im datenverarbeitenden System 20 bedient wird, wird das einem bestimmten Unterbrechungsknoten 110 entsprechende Speicherelement 156 gelöscht werden, um anzuzeigen, daß die Unterbrechungsanforderung des Knotens 110 gerade bedient wird. Dies verhindert, daß der Unterbrechungsbedienungsknoten 144 eine zusätzliche Unterbrechungsbestätigungsnachricht liefert und versucht, einen bestimmten Knoten 110 zu bedienen, der nicht länger eine anhängige Unterbrechungsanforderung hat.
  • In Übereinstimmung mit der vorliegenden Erfindung kann ein Unterbrechungsbedienungsknoten ebenfalls eine Einrichtung zum Liefern der Unterbrechungsbestätigungsnachricht mit Quellendaten zur Identifikation des Unterbrechungsbedienungsknotens haben. Das Bereitstellen dieser Quellendaten erleichtert das Richten einer Unterbrechungsvektornachricht an den bestimmten Unterbrechungsbedienungsknoten 144, der im vorangegangenen eine Unterbrechungsbestätigungsnachricht lieferte. Wie in der Fig. 7 dargestellt ist, wird der Unterbrechungsbestätigungsgenerator 166 mit den Schlitz-ID-Signalen versorgt, die unverwechselbar dem Unterbrechungsbedienungsknoten 144 identifizieren. Als Ergebnis kann der Generator 166 eine Unterbrechungsbestätigungsnachricht kreieren, die Quellendaten aufweist, die den Unterbrechungsbedienungsknoten 144 identifizieren.
  • In Übereinstimmung mit einem anderen Aspekt der Erfindung kann ein Unterbrechungsbedienungsknoten eine Bedienungsprioritätspegeleinrichtung aufweisen, die einen Bedienungsprioritätspegel für den Unterbrechungsbedienungsknoten spezifiziert und die anzeigt, daß der Knoten bereit ist, eine Unterbrechungsanforderung zu den Zeiten zu bedienen, wenn der Prioritätspegel der Unterbrechungsanforderungsnachricht gleich ist dem Bedienungsprioritätspegel. Wie hier verwirklicht, kann der Unterbrechungsbedienungsknoten 144 ein Unterbrechungsbestätigungsfreigabesignal an den Befehlsgenerator 166 aktivieren, das anzeigt, daß der Knoten bereit ist, eine anhängige Unterbrechungsanforderung zu bedienen. Bedienungs-IPL-Daten (IPL = Unterbrechungs-Prioritäts-Pegel) spezifizieren einen ausgewählten Satz von anhängigen Unterbrechungsanforderungen, die bedient werden können, und die zusammen mit dem Unterbrechungsbestätigungsfreigabesignal die Funktion einer Bedienungsprioritätspegeleinrichtung liefern. In der bevorzugten Ausführungsform, umfassen die Unterbrechungsanforderungsnachrichten IPL-Daten, die einen Prioritätspegel der Unterbrechungsanforderung spezifizieren und diese IPL-Daten werden von dem Befehlsdecodierer 148 an das Speicherfeld 154 ausgegeben.
  • Die vorliegende Erfindung kann ebenfalls eine Einrichtung zum Setzen eines Speicherelements, das einem bestimmten Unterbrechungsknoten entspricht, auf den spezifizierten Prioritätspegel der Unterbrechungsanforderungsnachricht, und eine Einrichtung zur Anzeige, daß es eine anhängige Unterbrechungsanforderung von einem bestimmten Unterbrechungsknoten auf diesem Prioritätspegel gibt, aufweisen. Ähnlich kann die Erfindung eine Einrichtung zum Löschen eines Speicherelements entsprechend einem bestimmten Unterbrechungsknoten auf einem spezifizierten Prioritätspegel aufweisen, wodurch angezeigt wird, daß die Unterbrechungsanforderung eines Unterbrechungsknotens auf einem spezifizierten IPL gerade bedient wird. Wie hier verwirklicht, umfassen derartige Einrichtungen UND-Gatter 160 und 162. In Übereinstimmung mit dem Systemprotokoll der bevorzugten Ausführungsform weisen die von dem Knoten 144 gelieferten Unterbrechungsbestätigungsnachrichten ebenfalls Daten auf, die den Prioritätspegel der Unterbrechungsanforderungsnachricht spezifizieren, die der Unterbrechungsbedienungsknoten bereit ist zu bedienen.
  • In der bevorzugten Ausführungsform, wenn entweder eine Unterbrechungsanforderungsnachricht oder eine Unterbrechungsbestätigungsnachricht von dem Unterbrechungsbedienungsknoten 144 vom Systembus 25 empfangen wird, enthält sie IPL-Daten, die von dem Befehlsdecodierer 148 an das Speicherfeld 154 ausgegeben werden. Der Knoten 144 kann mehrere Banken von Speicherelementen einsetzen, wobei jede Bank einem anderen IPL entspricht, und die Speicherelemente in jeder Bank jedem möglichen Unterbrechungsknoten entsprechen. Der Demultiplexer 177 ist in dem Speicherfeld 154 eines Knotens 144 enthalten und selektiert eine der verschiedenen Banken der Speicherelemente in Übereinstimmung mit den Prioritätspegeldaten der Unterbrechung, die angefordert oder bestätigt wird. Es gibt ein separates Speicherelement 156 für jeden bestimmten Unterbrechungsknoten auf jedem spezifizierten Prioritätspegel.
  • Zu den Zeiten, an denen eine Unterbrechungsanforderungsnachricht auf dem Systembus 25 bereitgestellt wird, stellt der Demultiplexer 177 sicher, daß die einzigen UND-Gatter 160, welche freigegeben sein werden, solche sind, die mit Speicherelementen 156 verbunden sind, die dem spezifizierten Prioritätspegel entsprechen. Daher wird nur das Speicherelement, das dem bestimmten Knoten auf dem durch die IPL-Daten in der Unterbrechungsanforderungsnachricht spezifizierten Prioritätspegel entspricht, gesetzt sein. Zu den Zeiten, an denen eine Unterbrechungsbestätigungsnachricht auf dem Systembus 25 bereitgestellt wird, stellt der Demultiplexer 177 in gleicher Weise ebenfalls sicher, daß die einzigen UND-Gatter 162, die freigegeben sein werden, solche sind, die mit den Speicherelementen 156 verbunden sind, die den in der Unterbrechungsbestätigungsnachricht enthaltenen IPL-Daten entsprechen. Als Ergebnis wird nur das Speicherelement, das dem bestimmten Unterbrechungsknoten auf dem durch die IPL-Daten spezifizierten Prioritätspegel entspricht, gelöscht, um anzuzeigen, welche Unterbrechungsanforderung gerade bedient wird.
  • Vorzugsweise ist der Multiplexer 178 in dem Knoten 144 als Teil einer Einrichtung zum Selektieren eines Speicherelements entsprechend einem bestimmten Unterbrechungsknoten auf einer spezifizierten IPL enthalten. Es kann ein separates ODER-Gatter 168 mit jedem spezifizierten Prioritätspegel verbunden sein, und daher werden jede Bank und die Ausgänge der ODER- Gatter 168 zu anderen Logikelementen im Knoten 144 und zu einem Multiplexer 168 gesendet.
  • Die Bedienungs-IPL-Daten werden durch den Knoten 144 zu dem Multiplexer 178 gesendet, so daß der ausgewählte Knotendateneingang auf den Unterbrechungsbestätigungsgenerator 166 übereinstimmen wird mit einem bestimmten Unterbrechungsknoten, der eine anhängige Unterbrechungsanforderung auf einem IPL hat, die gleich ist zu derjenigen, der durch die Bedienungs-IPL-Daten, generiert durch den Knoten 144, spezifiziert ist. Typischerweise wird der Unterbrechungsbedienungsknoten eine CPU zur Bedienung der Unterbrechungsanforderungen haben. Die Bedienungs-IPL-Daten bestimmen den Prioritätspegel der Unterbrechungsanforderung, die beispielsweise eine CPU, im Unterbrechungsbedienungsknoten 144 bereit ist zu bedienen. Während seiner Operationen wird die CPU auf einem bestimmten IPL operieren, der sich während der Durchführung von Instruktionen durch die CPU ändert.
  • Die CPU wird periodisch die Ausgänge der ODER-Gatter 168 überprüfen, um zu entscheiden, ob es irgendwelche anhängigen Unterbrechungsanforderungen auf einer IPL gibt, die größer als der Unterbrechungsprioritätspegel ist, auf dem die CPU gegenwärtig arbeitet. Falls es eine anhängige Unterbrechungsanforderung auf einem IPL größer als der Unterbrechungsprioritätspegel der CPU gibt, aktiviert der Knoten 144 ein Unterbrechungsbestätigungsfreigabesignal und liefert Bedienungs-IPL- Daten an den Unterbrechungsbestätigungsbefehlsgenerator, um anzuzeigen, daß der Knoten 144 bereit ist, eine anhängige Unterbrechungsanforderung auf dem spezifizierten IPL zu bedienen. Der Knoten 144 wird eine bestimmte Knoten-ID unter den Speicherelementen auswählen, auf der eine Unterbrechungsanforderung anhängig ist entsprechend dem spezifizierten Bedienungsunterbrechungsprioritätspegel (Bedienungs-IPL)-Daten. Der Multiplexer 178 selektiert einen Ausgang von einem der Codierer 164 und gibt die ausgewählten Knotendaten auf den Generator 166. Diese Daten identifizieren einen bestimmten Unterbrechungsknoten, der eine anhängige Anforderung auf dem durch die Bedienungs-IPL-Daten spezifizierten Prioritätspegel hat.
  • In der bevorzugten Ausführungsform der Erfindung wird das Unterbrechungsanforderung-Anhängig-Signal, das von dem Multiplexer 180 an den Unterbrechungsbestätigungsbefehlsgenerator 166 ausgegeben wird, aus den Ausgängen der ODER-Gatter 168 in Übereinstimmung mit den Bedienungs-IPL-Daten selektiert. Falls es, nachdem Nulloperationen für eine vorbestimmte Zeitdauer ausgegeben worden sind, keine anhängigen Unterbrechungsanforderungen auf dem durch die Bedienungs-IPL-Daten spezifizierten Prioritätspegel gibt, wird der Unterbrechungsbestätigungsgenerator 166 abbrechen und keine Unterbrechungsbestätigungsnachricht bereitstellen.
  • In der bevorzugten Ausführungsform umfaßt die Unterbrechungsbestätigungsnachricht, die durch den Unterbrechungsbestätigungsgenerator 166 kreiert wird, ebenfalls IPL-Daten, die den Unterbrechungsprioritätspegel der Unterbrechungsanforderungsnachricht spezifizieren, die gerade durch den Knoten 144 bedient wird. Der Generator 166 empfängt die Bedienungs-IPL-Daten als einen Eingang und schließt diese IPL-Daten in der Unterbrechungsbestätigungsnachricht ein, die an den Bus geliefert wird.
  • Zum Verständnis der Arbeitsweise des gesamten Unterbrechungsbedienungssystems und Verfahrens der vorliegenden Erfindung ist ein Flußdiagramm in den Fig. 9A bis B dargestellt. In dem durch das Flußdiagramm demonstrierten Verfahren empfängt der Systembus von einem Unterbrechungsknoten eine Unterbrechungsanforderungsnachricht einschließlich der ID-Daten zur Identifizierung dieses Knotens. Der Unterbrechungsbedienungsknoten liefert an den Systembus eine Unterbrechungsbestätigungsnachricht, einschließlich der den bestimmten Unterbrechungsknoten spezifizierenden Bestimmungsortdaten, zu den Zeiten, an denen der Unterbrechungsbedienungsknoten bereit ist, die Unterbrechungsanforderungsnachricht zu bedienen. Der Unterbrechungsknoten detektiert, ob eine Unterbrechungsbestätigungsnachricht auf dem Bus Bestimmungsortdaten umfaßt, die ihn selbst spezifizieren. Als Antwort auf die Detektion einer Unterbrechungsbestätigungsnachricht, die diesen Knoten spezifizierende Bestimmungsortdaten umfaßt, liefert der Unterbrechungsknoten eine Unterbrechungsvektornachricht an den Bus. Vorzugsweise liefert der Unterbrechungsbedienungsknoten ebenfalls IPL-Daten, die den Prioritätspegel der Unterbrechungsanforderungsnachricht spezifizieren, so daß der Unterbrechungsknoten eine aus einer Vielzahl von Unterbrechungsvektornachrichten in Übereinstimmung mit den IPL-Daten auswählen kann.
  • In Schritt 182 des Flußdiagramm der Fig. 9A und 9B entscheidet der Unterbrechungsknoten 110 über den Zugriff auf den Bus. Um sich um den Bus zu bewerben, muß ein Knoten ein Busanforderungssignal ausgeben. Im Schritt 184 entscheidet der Knoten 110, ob der Zugriff gewährt wird. Falls nicht, geht der Knoten 110 zum Schritt 182 zurück. Falls der Buszugriff gewährt wurde, überträgt der Unterbrechungsknoten im Schritt 186 eine Unterbrechungsanforderungsnachricht auf dem Systembus. Die Unterbrechungsanforderungsnachricht umfaßt Funktionen- und Befehls-Codes, die die Nachricht als einen Unterbrechungsanforderungsbefehl identifizieren, IPL-Daten, die einen Prioritätspegel für die Unterbrechungsanforderung spezifizieren, eine Bestimmungsortsmaske, die die Unterbrechungsbedienungsknoten spezifiziert, die die Anforderung bedienen können, und ID-Daten zum Spezifizieren des Knotens 110 als die Quelle der Unterbrechungsanforderung. Im Schritt 188 wird der durch die Bestimmungsortdaten designierte Unterbrechungsbedienungsknoten 144 ein Speicherelement entsprechend den ID-Daten und IPL-Daten der Unterbrechungsanforderungsnachricht setzen. Das Setzen des Speicherelements zeigt an, daß es eine anhängige Unterbrechungsanforderung gibt, die durch den Knoten 144 bedient werden kann. Im Schritt 190 zeigen die Signalpegel des Speicherfelds 154 des Knotens 144 der Logik des Knotens 144 an, daß es eine anhängige Unterbrechungsanforderung gibt. Im Schritt 192 arbeitet der Unterbrechungsbedienungsknoten 144 auf einem bestimmten Unterbrechungsprioritätspegel (IPL). Im Schritt 194 wird eine Entscheidung gemacht, ob es eine anhängige Unterbrechungsanforderung gibt, die einen IPL größer als der gegenwärtig operierende IPL des Knotens 144 hat. Falls nicht, macht der Knoten 144 mit dem Schritt 192 weiter.
  • Falls der IPL einer anhängigen Unterbrechungsanforderung größer ist als der Betriebs-IPL des Knotens 144, wird der Knoten 144 über den Zugriff auf den Systembus entscheiden. Wie in der Fig. 7 dargestellt, gibt der Generator 166 ein Befehlsknotenanforderungssignal aus, um Zugriff zu verlangen. Falls der Buszugriff im Schritt 193 nicht gewährt wird, fährt der Knoten 144 mit dem Schritt 196 fort. Falls in der bevorzugten Ausführungsform der Buszugriff gewährt wird, wird der Knoten 144 im Schritt 200 eine Serie von Nullzyklen nach dem Zugriffserhalt auf den Bus ausgeben, um es seinem Speicherfeld 154 zu ermöglichen, auf den neuesten Stand gebracht zu werden, um vorangegangene Unterbrechungsbestätigungsnachrichten wiederzugeben.
  • Im Schritt 202 entscheidet der Knoten 144, ob das Speicherfeld 154 anzeigt, daß es immer noch eine anhängige Unterbrechungsanforderung auf der spezifizierten IPL gibt. Falls nicht, geht der Unterbrechungsbedienungsknoten 144 zum Schritt 218 über, um die Anwesenheit irgendwelcher anhängigen Unterbrechungsanforderungen auf anderen Pegeln zu bestimmen. Falls eine anhängige Unterbrechungsanforderung immer noch existiert, selektiert im Schritt 204 der Unterbrechungsbedienungsknoten eines der Speicherelemente, das gesetzt ist, um die Anhängigkeit einer Unterbrechungsanforderung anzuzeigen, die einem bestimmten Unterbrechungsknoten auf der spezifizierten IPL entspricht.
  • Im Schritt 206 liefert der Knoten 144 eine Unterbrechungsbestätigungsnachricht an den Bus. Die Unterbrechungsbestätigungsnachricht umfaßt Funktions- und Befehls-Codes, die die Nachricht als eine Bestätigungsnachricht identifizieren, IPL- Daten, Quellendaten zur Identifizierung des Knotens 144 als die Quelle der Unterbrechungsbestätigungsnachricht, und den Knoten 110 spezifizierende Bestimmungsortdaten. Dies wird die Unterbrechungsbedienungsknoten des Systems veranlassen, eventuell die Speicherelemente zu löschen, die den Unterbrechungsanforderungsnachrichten entsprechen, welche gerade bedient werden.
  • Im Schritt 208 wird die Unterbrechungsbestätigungsnachricht durch den Unterbrechungsknoten 110 detektiert, der durch die Bestimmungsortdaten der Unterbrechungsbestätigungsnachricht designiert ist. Im Schritt 210 entscheidet der Unterbrechungsknoten 110 über den Bus. Falls Zugriff auf den Bus im Schritt 212 nicht gewährt wird, fährt der Knoten 110 mit dem Schritt 210 fort. Falls der Knoten 110 die Steuerung über den Bus erhält, liefert der Unterbrechungsknoten eine Unterbrechungsvektornachricht an den Bus im Schritt 214 entsprechend den in der Unterbrechungsbestätigungsnachricht enthaltenen Prioritätsdaten. Die Unterbrechungsvektornachricht umfaßt die den Unterbrechungsbedienungsknoten 144 identifizierende Quellendaten, einen Funktionscode, der anzeigt, daß die Nachricht eine Unterbrechungsvektornachricht ist, und die von dem Knoten 144 benötigten Unterbrechungsvektordaten, um die Startadresse des Programms zu berechnen, das die anhängige Unterbrechung verlangt.
  • Im Schritt 216 ist der durch die Quellendaten designierte Unterbrechungsbedienungsknoten 144 in einem Wartezustand und detektiert die Unterbrechungsvektornachricht. Er benutzt diese Unterbrechungsvektorinformation, um eine Unterbrechungsbedienungsroutine durchzuführen. Schließlich entscheidet der Knoten 144 im Schritt 218, ob irgendwelche anhängigen Unterbrechungsanforderungen durch das Speicherfeld 154 angezeigt werden. Falls nicht, geht das Verfahren zu dem Schritt 182 zurück. Gibt es andere anhängige Unterbrechungsanforderungen, fährt das Verfahren mit dem Schritt 192 fort.
  • In der vorangegangenen Beschreibung können die Unterbrechungsknoten Eingangs/Ausgangseinrichtungen, wie beispielsweise Plattenlaufwerke und Plattenlaufwerkcontroller aufweisen und können Knoten aufweisen, die verwendet werden, um eine Anzahl oder eine Vielzahl von I/O-Einrichtungen mit einem Systembus 25 zu verbinden. In gleicher Weise können die Unterbrechungsbedienungsknoten eine Prozeßeinrichtung zur Bedienung der Unterbrechungsanforderungen aufweisen. Typischerweise werden die Unterbrechungsbedienungsknoten eine CPU enthalten, um die Unterbrechungsanforderungen zu bedienen.
  • ERLÄUTERUNG DER BEZUGSZEICHEN VON Fig. 6 BIS Fig. 9B
  • 64 SYSTEMBUSSCHNITTSTELLE
  • 118 UNTERBRECHUNGSANFORDERUNGSBEFEHLSGENERATOR
  • 120 UNTERBRECHUNGSANFORDERUNGSBESTIMMUNGSORT-MASKENREGISTER
  • 122 BEFEHLSDEKODIERER
  • 124 BESTIMMUNGSORTVERGLEICHERLOGIK
  • 126 ANTWORTKNOTENEINGANGSWARTESCHLANGE
  • 130 UNTERBRECHUNGSVEKTORANTWORTGENERATOR
  • 134 VEKTORREGISTER 1
  • 142 MULTIPLEXER
  • 146 ANTWORTKNOTENEINGANGSWARTESCHLANGE
  • 148 BEFEHLSDEKODIERER
  • 152 BESTIMMUNGSORTVERGLEICHERLOGIK
  • 154 SPEICHERFELD
  • 158 ID DATEN
  • 164 CODIERER
  • 166 UNTERBRECHUNGSBESTÄTIGUNGSBEFEHLSGENERATOR
  • 170 BEFEHLSKNOTENWARTESCHLANGE
  • 172 ANTWORTDEKODIERER
  • 176 BESTIMMUNGSORTVERGLEICHERLOGIK
  • 177 DEMULTIPLEXER
  • 178 MULTIPLEXER
  • 180 MULTIPLEXER
  • 182 KNOTEN 110 ENTSCHEIDET ÜBER DEN BUS
  • 184 WIRD BUSZUGRIFF GEWÄHRT?
  • 186 KNOTEN 110 ÜBERTRÄGT UNTERBRECHUNGSANFORDERUNG
  • 188 KNOTEN 144 ENTSPRECHEND DER BESTIMMUNGSORTMASKE SETZT SPEICHERELEMENT ENTSPRECHEND ID + IPL
  • 190 UNTERBRECHUNGSANFORDERUNG ANHÄNGIG IM SPEICHERFELD DES KNOTENS 144
  • 192 KNOTEN 144 OPERIERT AUF SPEZIFIZIERTEN BETRIEBS-IPL
  • 196 KNOTEN 144 ENTSCHEIDET ÜBER BUS
  • 198 WIRD BUS ZUGRIFF GEWÄHRT?
  • 200 KNOTEN 144 ÜBERTRÄGT NULL-OPERATIONEN ZUM LÖSCHEN DER PIPELINE
  • 204 KNOTEN 144 SELEKTIERT BESTIMMTEN KNOTEN 110 AUF SPEZIFIZIERTER IPL
  • 206 KNOTEN 144 ÜBERTRÄGT UNTERBRECHUNGSBESTÄTIGUNG
  • 208 KNOTEN 110 ENTSPRECHEND BESTIMMUNGSORT DETEKTIERT UNTERBRECHUNGSBESTÄTIGUNG
  • 210 KNOTEN 110 ENTSCHEIDET ÜBER BUS
  • 212 WIRD BUS ZUGRIFF GEWÄHRT?
  • 214 KNOTEN 110 ÜBERTRÄGT UNTERBRECHUNGSVEKTOR
  • 216 KNOTEN 144 ENTSPRECHEND BESTIMMUNGSORT DETEKTIERT UNTERBRECHUNGSVEKTOR + FÜHRT UNTERBRECHUNGSBEDIENUNGS- ROUTINE AUS
  • 218 IRGENDEINE UNTERBRECHUNGSANFORDERUNG NOCH ANHÄNGIG?

Claims (30)

1. Verfahren zur Durchführung einer Unterbrechungsfunktion auf einem Hängebus (25) zur Übertragung von Nachrichten zwischen einem Unterbrechungsknoten (110) und einem Unterbrechungsbedienungsknoten (144), wobei das Verfahren die folgenden Verfahrensschritte aufweist, die von einem Datenverarbeitungssystem mit dem Hängebus, mindestens zwei Unterbrechungsknoten und dem Unterbrechungsbedienungsknoten durchgeführt werden:
Zuführen einer Unterbrechungsanforderungsnachricht, die die Identifikationsdaten zur Identifizierung des Unterbrechungsknotens einschließt, vom Unterbrechungsknoten (110) zum Bus (25);
Überwachen der Unterbrechungsanforderungsnachrichten auf dem Bus am Unterbrechungsbedienungsknoten (144) zur Feststellung der Unterbrechungsanforderungsnachrichten, die die den Unterbrechungsknoten (110) identifizierenden Identifikationsdaten einschließt, und zum Anzeigen am Unterbrechungsbedienungsknoten (144), daß die Unterbrechungsanforderung vom Unterbrechungsknoten (110) anhängig ist;
Zuführen einer Unterbrechungsbestätigungsnachricht, die die den Unterbrechungsknoten spezifizierenden Bestimmungsdaten einschließt, vom Unterbrechungsbedienungsknoten zum Bus in Abhängigkeit von der Feststellung der Unterbrechungsanforderungsnachricht, die die den Unterbrechungsknoten identifizierenden Identifikationsdaten einschließt, zu Zeitpunkten, an denen der Unterbrechungsbedienungsknoten zum Bedienen der Unterbrechungsanforderungsnachricht bereit ist;
Überwachen der Unterbrechungsbestätigungsnachrichten auf dem Bus am Unterbrechungsknoten zur Feststellung der Unterbrechungsbestätigungsnachricht, die die den Unterbrechungsknoten spezifizierenden Bestimmungsdaten einschließt; und
Zuführen einer Unterbrechungsvektornachricht vom Unterbrechungsknoten zum Bus in Abhängigkeit von der Feststellung der Unterbrechungsbestätigungsnachricht, die die den Unterbrechungsknoten spezifizierenden Bestimmungsdaten einschließt.
2. Verfahren nach Anspruch 1, bei dem der Verfahrensschritt des Zuführens einer Unterbrechungsanforderungsnachricht zusätzlich den Verfahrensschritt des Bereitstellens der Unterbrechungsanforderungsnachricht mit Bestimmungsdaten umfaßt, die den Unterbrechungssbedienungsknoten (144) spezifizieren.
3. Verfahren nach Anspruch 2, bei dem die Unterbrechungsanforderungsnachricht mit Bestimmungsdaten zugeführt wird, die eine Vielzahl von Unterbrechungsbedienungsknoten (144) spezifizieren.
4. Verfahren nach Anspruch 1, bei dem die Unterbrechungsanforderungsnachrichten zusätzlich Prioritätspegeldaten zur Spezifizierung eines Prioriätspegels der Unterbrechungsanforderungsnachricht aufweisen; wobei die Unterbrechungsbestätigungsnachrichten weiterhin den Prioritätspegel der Unterbrechungsanforderungsnachricht spezifizierende Prioritätspegeldaten aufweist und die Unterbrechungsbestätigungsnachricht an Zeitpunkten zugeführt wird, an denen der Unterbrechungsbedienungsknoten zum Bedienen der Unterbrechungsanforderungsnachricht am spezifizierten Prioritätspegel bereit ist.
5. Verfahren nach Anspruch 4, bei dem der Verfahrensschritt des Zuführens einer Unterbrechungsvektornachricht den Verfahrensschritt des Auswählens einer aus einer Vielzahl von Unterbrechungsvektornachrichten in Übereinstimmung mit den Prioritätspegeldaten der Unterbrechungsbestätigungsnachricht aufweist.
6. Verfahren nach Anspruch 4, bei dem der Verfahrensschritt des Zuführens einer Unterbrechungsanforderungsnachricht weiterhin den Verfahrensschritt der Bereitstellung der Unterbrechungsanforderungsnachricht mit Bestimmungsdaten umfaßt, die den Unterbrechungsbedienungsknoten (144) spezifizieren.
7. Verfahren nach Anspruch 6, bei dem die Unterbrechungsanforderungsnachricht mit Bestimmungsdaten zugeführt wird, die eine Vielzahl von Unterbrechungsbedienungsknoten spezifizieren.
8. Verfahren nach Anspruch 1 oder 4, bei dem der Verfahrensschritt des Zuführens einer Unterbrechungsbestätigungsnachricht weiterhin den Verfahrensschritt des Bereitstellens der Unterbrechungsbestätigungsnachricht mit Quellendaten zur Identifizierung des Unterbrechungsbedienungsknotens (144) umfaßt und bei dem der Verfahrensschritt des Zuführens einer Unterbrechungsvektornachricht weiterhin den Verfahrensschritt des Bereitstellens der Unterbrechungsvektornachricht mit Bestimmungsdaten entsprechend der Quellendaten in der Unterbrechungsbestätigungsnachricht umfaßt, die den Unterbrechungsbedienungsknoten identifizieren.
9. System zum Bedienen einer Unterbrechungsanforderung, das aufweist:
einen Hängebus (25) zum Übertragen von Nachrichten, einschließlich Unterbrechungsanforderungs-, Unterbrechungsbestätigungs- und Unterbrechungsvektornachrichten;
mindestens zwei Unterbrechungsknoten (110), die mit dem Bus verbunden sind und aufweisen:
eine erste, mit dem Bus verbundene Einrichtung (118) zum Zuführen einer Unterbrechungsanforderungsnachricht, die Unterbrechungsknoten-Identifikationsdaten zum Identifizieren des Unterbrechungsknotens (110) einschließt, zum Bus;
eine zweite, mit dem Bus verbundene Einrichtung (126, 122) zum Überwachen der Unterbrechungsbestätigungsnachrichten auf dem Bus und zum Feststellen einer Unterbrechungsbestätigungsnachricht, die die den Unterbrechungsknoten spezifizierende Bestimmungsdaten einschließt; und
eine dritte, mit der zweiten Einrichtung und dem Bus verbundene Einrichtung (130) zum Zuführen einer Unterbrechungsvektornachricht, in Abhängigkeit von der Feststellung der Unterbrechungsbestätigungsnachricht, die die den Unterbrechungsknoten spezifizierende Bestimmungsdaten einschließt, zum Bus; und
einen mit dem Bus verbundenen Unterbrechungsbedienungsknoten (144) zum Zuführen der Unterbrechungsbestätigungsnachrichten an Zeitpunkten, an denen der Unterbrechungsbedienungsknoten zum Bedienen der Unterbrechungsanforderungsnachricht bereit ist, wobei der Unterbrechungsbedienungsknoten aufweist:
eine mit dem Bus verbundene vierte Einrichtung (146, 148) zum Feststellen der vom Unterbrechungsknoten (110) zugeführten Unterbrechungsanforderungsnachricht auf dem Bus;
eine mit der vierten Einrichtung verbundene fünfte Einrichtung (154), die anzeigt, daß die Unterbrechungsanforderung vom Unterbrechungsknoten anhängig ist;
eine mit der fünften Einrichtung und dem Bus verbundene sechste Einrichtung (166) zum Zuführen der Unterbrechungsbestätigungsnachricht, die die den Unterbrechungsknoten spezifizierenden Bestimmungsdaten einschließt, zum Bus; und
eine mit dem Bus verbundene siebte Einrichtung (170, 172) zum Feststellen der vom Unterbrechungsknoten zugeführten Unterbrechungsvektornachricht auf dem Bus.
10. System nach Anspruch 9, das weiterhin aufweist: eine Vielzahl von Unterbrechungsknoten, die jeweils die erste, zweite und dritte Einrichtung aufweisen.
11. System nach Anspruch 9, das weiterhin aufweist: eine Vielzahl von Unterbrechungsbedienungsknoten, die jeweils die vierte, fünfte, sechste und siebte Einrichtung aufweisen.
12. System nach Anspruch 10, bei dem mindestens einer der Unterbrechungsknoten (110) eine Eingabe-/Ausgabevorrichtung aufweist.
13. System nach Anspruch 11, bei dem mindestens einer der Unterbrechungsbedienungsknoten (144) einen Prozessor aufweist.
14. System nach Anspruch 9 oder 11, bei dem der Unterbrechungsbedienungsknoten (144) aufweist: eine mit dem Bus verbundene Einrichtung (166) zum Erlangen der Kontrolle über den Bus zu Zeitpunkten, an denen der Unterbrechungsbedienungsknoten (144) zum Bedienen einer vom Unterbrechungsknoten (110) anhängenden Unterbrechungsanforderung bereit ist, und zur Durchführung von Nulloperationen während einer vorbestimmten Zeitdauer, bevor die Unterbrechungsbestätigungsnachricht geliefert wird.
15. System nach Anspruch 9 oder 11, bei dem die erste Einrichtung (118) im Unterbrechungsknoten (110) weiterhin eine Einrichtung (120) zum Zuführen der Unterbrechungsbestätigungsnachricht mit Bestimmungsdaten aufweist, die eine Vielzahl von Unterbrechungsbedienungsknoten spezifizieren.
16. System nach Anspruch 9, bei dem die erste Einrichtung (118) im Unterbrechungsknoten (110) weiterhin eine Einrichtung (120) zum Zuführen der Unterbrechungsanforderungsnachricht mit Bestimmungsdaten aufweist, die den Unterbrechungsbedienungsknoten spezifizieren.
17. System nach Anspruch 9, bei dem:
die Unterbrechungsanforderungsnachrichten weiterhin Prioritätspegeldaten zur Spezifizierung eines Unterbrechungsanforderungs-Prioritätspegels der Unterbrechungsanforderungsnachricht aufweisen;
die Unterbrechungsbestätigungsnachrichten weiterhin Prioritätspegeldaten aufweisen, die den Prioritätspegel der Unterbrechungsanforderungsnachricht spezifizieren; und bei dem der Unterbrechungsbedienungsknoten die Unterbrechungsbestätigungsnachricht an Zeitpunkten zuführt, an denen der Unterbrechungsbedienungsknoten zum Bedienen der Unterbrechungsanforderungsnachricht am spezifizierten Unterbrechungsanforderungs-Prioritätspegel bereit ist und die fünfte Einrichtung (154) weiterhin anzeigt, daß die Unterbrechungsanforderung sich auf dem Unterbrechungsanforderungs-Prioritätspegel befindet, der durch die Prioritätspegeldaten der Unterbrechungsanforderungsnachricht bestimmt ist;
und das System aufweist:
eine Bedienungsprioritätspegel-Einrichtung (CPU), die mit der fünften und sechsten Einrichtung verbunden ist, zur Spezifizierung eines Bedienungsprioritätspegels für den Unterbrechungsbedienungsknoten (144), die anzeigt, daß der Unterbrechungsbedienungsknoten zum Bedienen der Unterbrechungsanforderungsnachricht an Zeitpunkten, an denen der Prioritätspegel der Unterbrechungsanforderungsnachricht gleich dem Bedienungsprioritätspegel ist, bereit ist.
18. System nach Anspruch 17, das weiterhin aufweist: eine Vielzahl von Unterbrechungsknoten, die jeweils die erste, zweite und dritte Einrichtung aufweisen.
19. System nach Anspruch 17, das weiterhin aufweist: eine Vielzahl von Unterbrechungsbedienungsknoten, die jeweils die vierte, fünfte, sechste und siebte Einrichtung sowie die Bedienungsprioritätspegeleinrichtung aufweisen.
20. System nach Anspruch 18, bei dem mindestens einer der Unterbrechungsknoten eine Eingabe-/Ausgabe-Vorrichtung aufweist.
21. System nach Anspruch 19, bei dem mindestens einer der Unterbrechungsbedienungsknoten einen Prozessor aufweist.
22. System nach Anspruch 17 oder 19, bei dem der Unterbrechungsbedienungsknoten (144) aufweist: eine mit dem Bus verbundene Einrichtung (166) zum Erhalt der Kontrolle über den Bus an Zeitpunkten, an denen der Unterbrechungsbedienungsknoten zum Bedienen einer anhängenden Unterbrechungsanforderung vom Unterbrechungsknoten am spezifizierten Unterbrechungsanforderungs-Prioritätspegel bereit ist und zum Durchführen von Nulloperationen während einer vorbestimmten Zeitdauer, bevor die Unterbrechungsbestätigungsnachricht geliefert wird.
23. System nach Anspruch 19, bei dem die erste Einrichtung (118) im Unterbrechungsknoten weiterhin eine Einrichtung (120) zum Zuführen der Unterbrechungsanforderungsnachricht mit Bestimmungsdaten aufweist, die eine Vielzahl von Unterbrechungsbedienungsknoten spezifizieren.
24. System nach Anspruch 17, bei dem die erste Einrichtung in dem Unterbrechungsknoten weiterhin eine Einrichtung (120) zum Zuführen der Unterbrechungsanforderungsnachricht mit Bestimmungsdaten aufweist, die den Unterbrechungsbedienungsknoten spezifizieren.
25. System nach Anspruch 9 oder 17, bei dem die sechste Einrichtung (166) im Unterbrechungsbedienungsknoten (144) eine Einrichtung zum Zuführen der Unterbrechungsbestätigungsnachricht mit Quellendaten zum Identifizieren des Unterbrechungsbedienungsknotens aufweist.
26. System nach Anspruch 25, bei dem die dritte Einrichtung (130) im Unterbrechungsknoten (110) eine Einrichtung zum Zuführen der Unterbrechungsvektornachricht mit Bestimmungsdaten aufweist, die den Quellendaten in der Unterbrechungsbestätigungsnachricht entsprechen, die den Unterbrechungsbedienungsknoten spezifizieren.
27. System nach Anspruch 17, bei dem die dritte Einrichtung (130) im Unterbrechungsknoten (110) eine Einrichtung (132, 142) zur Auswahl einer aus einer Vielzahl von Unterbrechungsvektornachrichten in Übereinstimmung mit den Prioritätspegeldaten aufweist, die in der Unterbrechungsbestätigungsnachricht enthalten sind, die den Prioritätspegel der Unterbrechungsanforderungsnachricht spezifiziert.
28. System zur Bedienung einer Unterbrechungsanforderung nach Anspruch 10, bei dem die fünfte Einrichtung (154) aufweist:
eine Vielzahl von Knotenspeicherelementen (156), die jeweils einem unterschiedlichen Unterbrechungsknoten entsprechen und anzeigen, ob eine Unterbrechungsanforderung vom entsprechenden Unterbrechungsknoten anhängig ist;
eine Einrichtung (160) zum Setzen eines der Knotenspeicherelemente in Abhängigkeit vom Feststellen einer Unterbrechungsanforderungsnachricht, die die den entsprechenden Unterbrechungsknoten identifizierenden Identifikationsdaten enthält; und
eine Einrichtung (162) zum Löschen eines der Knotenspeicherelemente in Abhängigkeit vom Zuführen einer Unterbrechungsbestätigungsnachricht, die die den entsprechenden Unterbrechungsknoten spezifizierenden Bestimmungsdaten enthält, zum Bus.
29. System zum Bedienen einer Unterbrechungsanforderung nach Anspruch 18, wobei die fünfte Einrichtung (154) aufweist:
eine Vielzahl von Knotenspeicherelementen (156), die jeweils einem unterschiedlichen Unterbrechungsknoten an einem unterschiedlichen Unterbrechungsanforderungs-Prioritätspegel entsprechen und anzeigen, ob eine Unterbrechungsanforderung vom entsprechenden Unterbrechungsknoten am entsprechenden Prioritätspegel anhängig ist;
eine Einrichtung (160) zum Setzen eines der Knotenspeicherelemente in Abhängigkeit vom feststellen einer Unterbrechungsanforderungsnachricht, die die den entsprechenden Unterbrechungsknoten identifizierenden Identifikationsdaten und die den entsprechenden Prioritätspegelidentifizierenden Prioritätspegeldaten enthält; und
eine Einrichtung (162) zum Löschen eines der Knotenspeicherelemente in Abhängigkeit vom Zuführen einer Unterbrechungsbestätigungsnachricht, die die den entsprechenden Unterbrechungsknoten spezifizierenden Bestimmungsdaten und die den entsprechenden Prioritätspegel spezifizierenden Prioritätspegeldaten enthält, zum Bus.
30. System nach Anspruch 17, bei dem:
die Unterbrechungsanforderungsnachricht weiterhin Bestimmungsdaten zum Spezifizieren eines Unterbrechungsbedienungsknotens enthält; die Unterbrechungsvektornachricht Quellendaten enthält, die einen Unterbrechungsbedienungsknoten spezifizieren; und bei dem
die fünfte Einrichtung (154) eine Vielzahl von Knotenspeicherelementen (156) aufweist, die jeweils einem Unterbrechungsknoten an einem spezifizierten Prioritätspegel entsprechen und anzeigen, daß die Unterbrechungsanforderung vom Unterbrechungsknoten anhängig ist und außerdem anzeigen, daß die Unterbrechungsanforderung sich auf dem Unterbrechungsanforderungs-Prioritätspegel befindet, der durch die Prioritätspegeldaten der Unterbrechungsanforderungsnachricht spezifiziert ist;
die Unterbrechungsbestätigungsnachrichten weiterhin Quellendaten zum Identifizieren des Unterbrechungsbedienungsknotens aufweisen.
DE88906581T 1987-05-01 1988-04-19 Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus". Expired - Fee Related DE3882991T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US4504687A 1987-05-01 1987-05-01
PCT/US1988/001247 WO1988008576A2 (en) 1987-05-01 1988-04-19 Apparatus and method for servicing interrupts utilizing a pended bus

Publications (2)

Publication Number Publication Date
DE3882991D1 DE3882991D1 (de) 1993-09-09
DE3882991T2 true DE3882991T2 (de) 1994-03-24

Family

ID=21935728

Family Applications (1)

Application Number Title Priority Date Filing Date
DE88906581T Expired - Fee Related DE3882991T2 (de) 1987-05-01 1988-04-19 Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus".

Country Status (8)

Country Link
US (1) US5146597A (de)
EP (1) EP0358725B1 (de)
JP (1) JPH0679305B2 (de)
KR (1) KR910007643B1 (de)
AU (1) AU604959B2 (de)
CA (1) CA1306068C (de)
DE (1) DE3882991T2 (de)
WO (1) WO1988008576A2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291581A (en) * 1987-07-01 1994-03-01 Digital Equipment Corporation Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system
US5613128A (en) * 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
GB2257549B (en) * 1991-07-06 1995-05-03 Motorola Israel Ltd Modular data/control equipment
FR2680591B1 (fr) * 1991-08-22 1996-01-26 Telemecanique Controleur d'interruption programmable, systeme interruptif et procede de controle d'interruption.
US5269005A (en) * 1991-09-17 1993-12-07 Ncr Corporation Method and apparatus for transferring data within a computer system
US5404535A (en) * 1991-10-22 1995-04-04 Bull Hn Information Systems Inc. Apparatus and method for providing more effective reiterations of processing task requests in a multiprocessor system
US5404457A (en) * 1992-02-14 1995-04-04 Advanced Micro Devices, Inc. Apparatus for managing system interrupt operations in a computing system
JP3411300B2 (ja) * 1992-02-18 2003-05-26 株式会社日立製作所 情報処理装置
US5581770A (en) * 1992-06-04 1996-12-03 Mitsubishi Denki Kabushiki Kaisha Floating interruption handling system and method
US5455774A (en) * 1992-10-22 1995-10-03 Motorola, Inc. Interrupt programmable analog-to-digital port
US5675807A (en) * 1992-12-17 1997-10-07 Tandem Computers Incorporated Interrupt message delivery identified by storage location of received interrupt data
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
US5473763A (en) * 1993-08-02 1995-12-05 Advanced Micro Devices, Inc. Interrupt vector method and apparatus
GB2298503B (en) * 1993-12-16 1998-08-12 Intel Corp Multiple programmable interrupt controllers in a computer system
US5848279A (en) * 1996-12-27 1998-12-08 Intel Corporation Mechanism for delivering interrupt messages
US6240474B1 (en) * 1997-09-16 2001-05-29 International Business Machines Corporation Pipelined read transfers
US6493779B1 (en) * 1998-12-21 2002-12-10 International Business Machines Corporation Method and system for interrupt handling using device pipelined packet transfers
US7251690B2 (en) * 2002-08-07 2007-07-31 Sun Microsystems, Inc. Method and system for reporting status over a communications link
US8984199B2 (en) * 2003-07-31 2015-03-17 Intel Corporation Inter-processor interrupts
US7386642B2 (en) 2005-01-28 2008-06-10 Sony Computer Entertainment Inc. IO direct memory access system and method
US7680972B2 (en) * 2005-02-04 2010-03-16 Sony Computer Entertainment Inc. Micro interrupt handler
JP2006216042A (ja) * 2005-02-04 2006-08-17 Sony Computer Entertainment Inc 割り込み処理のためのシステムおよび方法

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3800287A (en) * 1972-06-27 1974-03-26 Honeywell Inf Systems Data processing system having automatic interrupt identification technique
US3881174A (en) * 1974-01-18 1975-04-29 Process Computer Systems Inc Peripheral interrupt apparatus for digital computer system
JPS50156336A (de) * 1974-06-05 1975-12-17
US4030075A (en) * 1975-06-30 1977-06-14 Honeywell Information Systems, Inc. Data processing system having distributed priority network
US4020471A (en) * 1975-06-30 1977-04-26 Honeywell Information Systems, Inc. Interrupt scan and processing system for a data processing system
US4000485A (en) * 1975-06-30 1976-12-28 Honeywell Information Systems, Inc. Data processing system providing locked operation of shared resources
JPS5259534A (en) * 1975-11-11 1977-05-17 Panafacom Ltd Data transfer system
US4028667A (en) * 1975-12-22 1977-06-07 International Business Machines Corporation Asynchronous, hierarchical loop communication system with independent local station control of access to inbound time portions without central control
US4056847A (en) * 1976-08-04 1977-11-01 Rca Corporation Priority vector interrupt system
JPS5925258B2 (ja) * 1976-09-28 1984-06-15 日本電気株式会社 プロセツサ制御システム
US4058672A (en) * 1976-11-10 1977-11-15 International Telephone And Telegraph Corporation Packet-switched data communications system
DE2659662C3 (de) * 1976-12-30 1981-10-08 Ibm Deutschland Gmbh, 7000 Stuttgart Prioritätsstufengesteuerte Unterbrechungseinrichtung
US4296466A (en) * 1978-01-23 1981-10-20 Data General Corporation Data processing system including a separate input/output processor with micro-interrupt request apparatus
US4268904A (en) * 1978-02-15 1981-05-19 Tokyo Shibaura Electric Co., Ltd. Interruption control method for multiprocessor system
US4250489A (en) * 1978-10-31 1981-02-10 Westinghouse Electric Corp. Distribution network communication system having branch connected repeaters
US4240140A (en) * 1978-12-26 1980-12-16 Honeywell Information Systems Inc. CRT display terminal priority interrupt apparatus for generating vectored addresses
NL7907179A (nl) * 1979-09-27 1981-03-31 Philips Nv Signaalprocessorinrichting met voorwaardelijke- -interrupteenheid en multiprocessorsysteem met deze signaalprocessorinrichtingen.
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
US4349873A (en) * 1980-04-02 1982-09-14 Motorola, Inc. Microprocessor interrupt processing
US4373183A (en) * 1980-08-20 1983-02-08 Ibm Corporation Bus interface units sharing a common bus using distributed control for allocation of the bus
US4337465A (en) * 1980-09-25 1982-06-29 Burroughs Corporation Line driver circuit for a local area contention network
JPS57166756A (en) * 1981-04-08 1982-10-14 Hitachi Ltd Transmission controlling method
US4366480A (en) * 1981-06-15 1982-12-28 Control Data Corporation Demand driven access mechanism
IT1145730B (it) * 1981-11-13 1986-11-05 Olivetti & Co Spa Sistema di elaborazione di dati con dispositivo di controllo delle interruzioni di programma
US4443850A (en) * 1981-12-01 1984-04-17 Burroughs Corporation Interface circuit for subsystem controller
DE3170902D1 (en) * 1981-12-29 1985-07-11 Ibm Method and arrangement for local address acquisition by a station in a communication system
US4560985B1 (en) * 1982-05-07 1994-04-12 Digital Equipment Corp Dual-count, round-robin ditributed arbitration technique for serial buses
EP0096097B1 (de) * 1982-06-15 1985-12-27 International Business Machines Corporation Verfahren und Einrichtung zum Kontrollieren des Zugriffs auf ein Nachrichtennetzwerk
FR2536882A1 (fr) * 1982-11-25 1984-06-01 Centre Nat Rech Scient Interface de gestion d'echanges d'informations sur un bus de communication entre au moins une unite de controle et des unites peripheriques ou entre ces unites peripheriques
US4654654A (en) * 1983-02-07 1987-03-31 At&T Bell Laboratories Data network acknowledgement arrangement
AU562975B2 (en) * 1983-09-22 1987-06-25 Digital Equipment Corporation Message oriented interrupt mechanism for multiprocessor systems
US4769768A (en) * 1983-09-22 1988-09-06 Digital Equipment Corporation Method and apparatus for requesting service of interrupts by selected number of processors
US4669057A (en) * 1983-10-03 1987-05-26 Honeywell Information Systems Inc. Data collection terminal interrupt structure
US4654820A (en) * 1983-11-30 1987-03-31 At&T Bell Laboratories Interrupt bus structure
JPS60168240A (ja) * 1984-02-10 1985-08-31 Nec Corp 割込処理回路
JPS6115260A (ja) * 1984-06-29 1986-01-23 Nec Corp デ−タ処理装置
US4642758A (en) * 1984-07-16 1987-02-10 At&T Bell Laboratories File transfer scheduling arrangement
US4736319A (en) * 1985-05-15 1988-04-05 International Business Machines Corp. Interrupt mechanism for multiprocessing system having a plurality of interrupt lines in both a global bus and cell buses
US4716523A (en) * 1985-06-14 1987-12-29 International Business Machines Corporation Multiple port integrated DMA and interrupt controller and arbitrator
US4994960A (en) * 1986-01-16 1991-02-19 Jupiter Technology, Inc. Interrupt system for transmitting interrupt request signal and interrupt vector based upon output of synchronized counters representing selected priority value

Also Published As

Publication number Publication date
JPH02503367A (ja) 1990-10-11
KR890702138A (ko) 1989-12-23
KR910007643B1 (ko) 1991-09-28
JPH0679305B2 (ja) 1994-10-05
AU604959B2 (en) 1991-01-03
WO1988008576A3 (en) 1988-12-29
EP0358725A1 (de) 1990-03-21
DE3882991D1 (de) 1993-09-09
WO1988008576A2 (en) 1988-11-03
US5146597A (en) 1992-09-08
EP0358725B1 (de) 1993-08-04
CA1306068C (en) 1992-08-04
AU2134788A (en) 1988-12-02

Similar Documents

Publication Publication Date Title
DE3883532T2 (de) Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus.
DE3882991T2 (de) Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus".
DE3888353T2 (de) Unterbrechungsknoten zum vorsehen von unterbrechungsanforderungen auf einem anstehenden bus.
DE3851534T2 (de) Vorrichtung und verfahren zur buszugriffssteuerung.
DE3882977T2 (de) Verfahren und anordnung zur implementierung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem.
DE69429279T2 (de) Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern
DE3882989T2 (de) Verfahren und anordnung zur verwaltung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem.
DE3788805T2 (de) Prioritaetstechnik für einen zerteilten transaktionsbus in einem multiprozessorrechnersystem.
DE3853574T2 (de) Steuerung von Benutzerantworten in einem Übertragungsbus.
DE3850387T2 (de) Vorrichtung und verfahren zum zugriff eines knotens auf einen bus.
DE69032481T2 (de) Buszugriff für Digitalrechnersystem
DE3882988T2 (de) Verfahren und anordnung zur einleitung von vorgängen in einem multiprozessordatenverarbeitungssystem mit verwendung von mehrverriegelungsanzeigen.
DE69130106T2 (de) Arbitrierung von paketvermittelten Bussen, einschliesslich Bussen von Multiprozessoren mit gemeinsam genutztem Speicher
DE68922784T2 (de) Mehrfachbus-Mikrorechnersystem mit Busarbitrierung.
DE3688810T2 (de) Mehrfachport-integrierter Steuerer und Arbitrierer für DMA und Unterbrechungen.
DE3689198T2 (de) Systembus für Kommunikation zwischen Prozessoren.
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE69523189T2 (de) Bus-Master-Arbitrierungsschaltung mit Wiederholungsmechanismus
DE68915701T2 (de) Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung.
DE3688763T2 (de) Mehrfachport-Übertragungsadaptiervorrichtung.
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE69627528T2 (de) Stoss-rundsenden über einen pci-bus
DE69222469T2 (de) Verfahren zur Verminderung der Restbandbreite eines Busses in einem Rechnersystem
DE3878908T2 (de) Hochgeschwindigkeitsbusschnittstelle mit einer niedrigen pinanzahl.
DE69735575T2 (de) Verfahren und Vorrichtung zur Unterbrechungsverteilung in einem skalierbaren symmetrischen Mehrprozessorsystem ohne die Busbreite oder das Busprotokoll zu verändern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee