DE3850097T2 - Rechnerverbinder für gruppen von datenverarbeitungseinrichtungen. - Google Patents
Rechnerverbinder für gruppen von datenverarbeitungseinrichtungen.Info
- Publication number
- DE3850097T2 DE3850097T2 DE3850097T DE3850097T DE3850097T2 DE 3850097 T2 DE3850097 T2 DE 3850097T2 DE 3850097 T DE3850097 T DE 3850097T DE 3850097 T DE3850097 T DE 3850097T DE 3850097 T2 DE3850097 T2 DE 3850097T2
- Authority
- DE
- Germany
- Prior art keywords
- message
- channel
- data processing
- destination
- messages
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 153
- 230000005540 biological transmission Effects 0.000 claims description 68
- 230000015654 memory Effects 0.000 claims description 59
- 238000004891 communication Methods 0.000 claims description 42
- 239000011159 matrix material Substances 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 33
- 238000012546 transfer Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 15
- 230000008439 repair process Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 10
- 238000003745 diagnosis Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims 3
- 230000003213 activating effect Effects 0.000 claims 2
- 238000010200 validation analysis Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 49
- 230000001360 synchronised effect Effects 0.000 description 10
- 230000000295 complement effect Effects 0.000 description 8
- 230000002950 deficient Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000008672 reprogramming Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Description
- Diese Erfindung betrifft allgemein das Gebiet von Rechnersystemverbindungen und insbesondere die Übertragung von Datenpaketen zwischen verschiedenen Datenverarbeitungsvorrichtungen in einem Rechnersystem Insbesondere betrifft die Erfindung einen Rechnerverbindungs-Koppler, der über die Übertragung adressierter Datenpakete zwischen den verschiedenen Datenverarbeitungsvorrichtungen entscheidet.
- Ein herkömmliches digitales Rechnersystem besteht aus wenigstens einem Speicher, einer Eingabe-/Ausgabevorrichtung und einem Datenprozessor. Der Speicher speichert Information in adressierbaren Speicherstellen. Diese Information enthält Daten und Instruktionen zum Verarbeiten der Daten einschließlich Befehlen und Antworten. Der Datenprozessor überträgt Information zu und von dem Speicher, interpretiert die ankommende Information entweder als Daten oder Instruktionen, und verarbeitet die Daten in Übereinstimmung mit den Instruktionen. Die Eingabe-/Ausgabevorrichtung kommuniziert auch mit dem Speicher, um Eingabedaten zu speichern und verarbeitete Daten auszugeben.
- Ein kleines Rechnersystem enthält typischerweise eine zentrale Verarbeitungseinheit, einen Speicher, eine Eingabe-/Ausgabeeinheit und eine Spannungsversorgung, die zusammen in einem Gehäuse untergebracht sind. Das Gehäuse ist um einen Rahmen mit einem Gestell oder einem "Baugruppenrahmen" gebaut, das oder der parallele beabstandete Schlitze zum Aufnehmen von Leiterplatten einschließlich der zentralen Verarbeitungseinheit, des Speichers und der Eingabe-/Ausgabeeinheit festlegt. Die Innenkantenabschnitte der beiterplatten enthalten Anschlußklemmen, die zu Anschlüssen an einer "Rückwandleiterplatte" des Baugruppenrahmens passen. Die "Rückwandleiterplatte" hat eine Anzahl paralleler Leiter oder Busse, die die Platten verbinden, die Platten mit der Spannungsversorgung verbinden und die Eingabe-/Ausgabeeinheit mit einer Anzahl von Eingabe-/Ausgabeports verbinden. Die Busse übertragen Adressen und Daten, Steuer- und Zustandssignale und bieten Leistungsversorgung und Erdung. Die Eingabe-/Ausgabeports enthalten typischerweise ein Port für eine Konsolenanschlußklemme und wenigsten ein Port für eine Eingabe-/Ausgabevorrichtung hoher Geschwindigkeit oder einen Massenspeicher, wie beispielsweise ein Floppy-Disk-Laufwerk, ein Bandlaufwerk, einen Drucker hoher Geschwindigkeit oder ein Festplattenlaufwerk.
- Fortschritte auf dem Gebiet der Schaltungstechnologie haben dazu geführt, daß es durchführbar ist, zusätzliche Datenprozessoren zu benutzen, die dazu bestimmt sind, jeweilige Speicher- oder Eingabe-/Ausgabevorrichtungen zu bedienen. Daher ist in dem Gehäuse für eine typische Zentralverarbeitungseinheit wahrscheinlich ein erster Datenprozessor zu finden, der für numerische Berechnungen benutzt wird, und ein zweiter Datenprozessor, der zum Steuern des zentralen Speichers benutzt wird, beispielsweise zum Formatieren oder Puffern von Eingabe-/Ausgabedaten in einem Abschnitt des Speichers, während gleichzeitig numerische Berechnungen an Daten in einem anderen Abschnitt des Speichers durchgeführt werden. Darüber hinaus haben die Eingabe-/Ausgabe- oder Massenspeichervorrichtungen, die außerhalb des Gehäuses für die Zentralverarbeitungseinheit sind, typischerweise wenigstens eine Datenverarbeitungseinheit oder einen "Server" zum Puffern von Daten und zum Steuern der Vorrichtungen in Antwort auf problemorientierte bzw. Hochpegel Befehle hohen Pegels von einem Zentralprozessor.
- In den letzten Jahren ist eine Notwendigkeit für Rechen- und Datenspeicherkapazitäten aufgetreten, die jene übersteigen, die durch einige Zentralverarbeitungseinheiten geboten werden. Für spezielle Anwendungen, wie beispielsweise eine aufwendige Simulation, können diese Notwendigkeiten für eine Datenverarbeitung nur durch große Rechner erfüllt werden, die eine Anzahl von Zentralprozessoren und einen Speicher aufweisen, die durch Adreß-, Daten- und Steuerbusse miteinander verbunden sind. Für allgemeine Anwendungen ist es jedoch önonomischer, Rechnernetzwerke zu bilden, bei denen eine Anzahl herkömmlicher Zentralverarbeitungseinheiten, Eingabe-/Ausgabevorrichtungen und Massenspeichervorrichtungen an verschiedenen Positionen angeordnet sind und miteinander verbunden sind, um miteinander zu kommunizieren. Typischerweise teilen sich die Zentralverarbeitungseinheiten einen oder mehrere Massenspeichereinheiten, um auf eine gemeinsame Datenbasis zuzugreifen und sie zu erneuern.
- Obwohl es zahlreiche Informationstransferpläne gibt, die für eine Kommunikation zwischen den Datenverarbeitungsvorrichtungen in einem Netzwerk benutzt werden könnten, ist das typische Verfahren, ein geteiltes Kommunikationsbetriebsmittel (d. h. einen Kanal oder einen Bus) zu benutzen, das die verschiedenen Elemente miteinander verbindet. Im allgemeinen erfordert eine Übertragung zwischen zwei Vorrichtungen über einen geteilten Bus zwei Schritte, da jeder Vorrichtung die Möglichkeit gegeben ist, eine Übertragung zu der gleichen Zeit zu beginnen. Im ersten Schritt wird eine Einheit initiiert, um eine Kontrolle über den Bus für einen mehr oder weniger festgelegten Zeitraum zu erhalten. Im zweiten Schritt wird eine Einheit initialisiert, um Information über den Bus zu übertragen.
- Ein Erhalten einer Kontrolle über den Bus erfordert eine Arbitration bzw. Entscheidung zum Auswählen einer bestimmten der Vorrichtungen, die auf den Bus zugreifen möchten. Es gibt zwei allgemeine Wege für die Entscheidung, die als "zentrale" Entscheidung und "verteilte" Entscheidung bekannt sind. Bei einer zentralen Entscheidung bzw. Arbitration empfängt eine einzige Schaltung oder Vorrichtung mit zentraler Priorität alle Anfragen für einen Buszugriff und bestimmt, welcher anfragenden Vorrichtung zu einer vorgegebenen Zeit die größte Priorität zugeteilt werden sollte und zur Benutzung des Busses zugelassen werden sollte. Wenn jene Vorrichtung einmal ausgewählt ist, wird ihr erlaubt, den Bus zu kontrollieren und die Übertragung auszuführen. Gegensätzlich dazu wird bei einer verteilten Entscheidung jeder mit dem Bus verbundenen Einheit eine bestimmte Priorität zugeteilt, und jede Einheit bestimmt individuell, ob sie eine ausreichende Priorität hat, um eine Kontrolle über den Bus zu erhalten, wenn sie dies wünscht. Wenn eine Einheit höherer Priorität gleichzeitig einen Buszugriff erlangen möchte, muß eine Vorrichtung niedrigerer Priorität bis zu einem späteren Zeitpunkt warten, wenn sie es mit der Anfrage höchster Priorität ist.
- Ein verteiltes Arbitrationsschema, das als "carriersense multiple access with collision detection" (CSMA/CD) bekannt ist, erlaubt einer Anzahl von Vorrichtungen über eine einzige bitserielle Leitung, wie beispielsweise ein Koaxialkabel, zu kommunizieren. Jede Vorrichtung enthält einen Schaltkreis zum Überwachen des Kanals und zum Anzeigen, wann immer zwei Vorrichtungen zu der gleichen Zeit übertragen. Wenn eine Vorrichtung, die gerade überträgt, entdeckt, daß eine andere Vorrichtung zu der gleichen Zeit überträgt, halten die zwei Vorrichtungen das Übertragen an. Danach versuchen beide erneut eine Übertragung, nachdem der Kanal frei ist.
- Eine Art eines Kommunikationsnetzwerks für serielle Daten mit einem herkömmlichen Koaxialkabel ist als "Ethernet" bekannt. Das Ethernet arbeitet mit bis zu 10 Megabit pro Sekunde und versorgt typischerweise bis zu 1023 adressierbare Vorrichtungen an einem Teilstück des Netzwerks. Das Ethernet ist insbesondere nützlich zum Verbinden einer großen Anzahl von Zeitaufteilungs-Endgeräten mit einer Zentralverarbeitungseinheit.
- Ein Informationstransfer hoher Geschwindigkeit über einen geteilten Bus zwischen separaten Datenverarbeitungsvorrichtungen schließt zusätzliche Anforderungen, wie beispielsweise eine schnelle Synchronisierung, eine Isolierung und einen äußerst zuverlässigen Datentransfer ein. Spezielle Hardware und Kommunikationsprotokolle sind erdacht worden, um diese Anforderung zu erfüllen.
- Aufgrund von Abweichungen bei der Ausbreitungsgeschwindigkeit ist es relativ unpraktisch, Daten mit hoher Geschwindigkeit auf parallele Art über einen Bus mit vielen Leitungen zu übertragen, der voneinander entfernte Datenverarbeitungsvorrichtungen verbindet. Aufgrund des Erfordernisses einer schnellen Synchronisierung ist es auch unerwünscht, Daten in einem non-return-to-zero-Format zu übertragen. Vorzugsweise werden ein oder mehrere serielle Datenströme in einem modulierten Format oder einem Format mit Eigentakt übertragen. Das bevorzugte Format ist eine Manchester-Codierung, die in dem US-Patent 4,592,072 von Stewart und dem US-Patent 4,450,572 von Stewart et al beschrieben ist, die hierin durch Bezugnahme enthalten sind. Die Manchester-Codierung hat auch den Vorteil, daß die Gleichstrom-Komponenten und die Komponenten niedrigerer Frequenz des Datensignals entfernt werden, so daß das codierte Signal bereitwillig einfache Isolationsübertrager durchlaufen wird.
- Eine zuverlässige Datenübertragung ist insbesondere bei Rechnernetzwerken wichtig, die eine aufgeteilte Datenbasis haben. In einem solchen Fall muß jede Unterbrechung beim Erneuern einer Datenbasis durch den Erneuerungs-Zentralprozessor entdeckt werden, um die Fehler zu korrigieren, die auftreten können, und die Unterbrechung muß auch durch den Speicher-Server entdeckt werden, um andere Zentralprozessoren davon abzuhalten, teilweise geänderte oder überholte bzw. veraltete Daten zu benutzen.
- Ein Kommunikationsprotokoll zum Erreichen einer zuverlässigen Datenübertragung hoher Geschwindigkeit ist in dem US-Patent 4,560,985 von Strecker et al offenbart, das hierin durch Bezugnahme enthalten ist. Eine Arbitration wird vorzugsweise auf einer Rotations- oder "Round-robin"-Basis durchgeführt, so daß im Durchschnitt jede Datenverarbeitungsvorrichtung an einem geteilten Kanal die gleiche Chance hat, einen Zugriff zu erhalten. Das Nichtvorhandensein eines Trägers auf dem Kanal zeigt an, daß eine Datenverarbeitungsvorrichtung versuchen kann, Zugriff zu erhalten. Ein Arbitrations-Zeitgeber zeigt einen Übertragungsausfall an, wenn der Träger ausfällt und in einer bestimmten Auszeitperiode nicht vorhanden ist. Kollisionen von Datenpaketen oder andere Übertragungsfehler werden durch einen Fehlerdetektionscode, wie beispielsweise eine zyklische Redundanzprüfung, detektiert.
- Wenn eine Datenverarbeitungsvorrichtung ein Datenpaket korrekt empfängt, bestätigt sie sofort den Empfang jenes Pakets durch Rückübertragung eines Bestätigungscodes. Wenn das Datenpaket auf einen Empfang hin verarbeitet wurde, wird ein positiver Rückmeldecode (ACK) zurückgesendet. Wenn das Informationspaket korrekt empfangen wurde, aber nicht verarbeitet werden konnte, wird ein negativer Rückmeldecode (NAK) zurückgesendet. In einem typischen Fall zeigt der negative Rückmeldecode, daß das empfangene Datenpaket aufgrund einer Nichtverfügbarkeit eines Puffers nach dem Empfang nicht verarbeitet werden konnte, und daher das empfangene Datenpaket weggeworfen wurde.
- Eine Arbitration zur Übertragung des Rückmeldecodes ist nicht erforderlich; der Code wird übertragen, sobald der Träger des empfangenen Datenpakets von dem Übertragungskanal entfernt wird. Eine Übertragung des Rückmeldecodes muß innerhalb einer bestimmten Zeitperiode beendet werden. Nach dieser Zeitperiode können die anderen Datenverarbeitungsvorrichtungen eine Arbitration beginnen und zusätzliche Datenpakete übertragen.
- Wenn eine Datenverarbeitungsvorrichtung sofort nach einer Übertragung eines Datenpakets, keinen Rückmeldecode empfängt, sollte folglich eine Rückübertragung bis zu einer vorbestimmten Anzahl von Zeitpunkten versucht werden. Gleichermaßen sollte dann, wenn ein negativer Rückmeldecode empfangen wird, eine Rückübertragung für eine etwas größere Anzahl von Zeitpunkten versucht werden. Zum Durchbrechen von Blockierungen sollte eine Pseudo-Zufalls- oder "Coin-flip"-Entscheidung gemacht werden, wenn das Datenpaket zur Rückübertragung verfügbar ist. Wenn das Ergebnis der Entscheidung WAHR ist, wird eine Rückübertragung versucht. Wenn das Ergebnis der Entscheidung FALSCH ist, wartet die Datenverarbeitungsvorrichtung für ein bestimmtes Verzögerungs-Zeitintervall und wiederholt den Entscheidungsprozeß. Das Verzögerungszeitintervall sollte beispielsweise wenigstens die minimale Zeitmenge für einen Zugriff aller Datenverarbeitungsvorrichtungen auf den Kanal sein; anders ausgedrückt sollte es, wenn alle Datenverarbeitungseinheiten eine Rückübertragung versuchten, eine Zeit geben, die für die Übertragung von Datenpaketen und die Rückübertragung der Rückmeldecodes verfügbar ist, und zwar zusätzlich zu der Zeit, die zum Detektieren von Kollisionen und für eine Arbitration erforderlich ist.
- Zum Sicherstellen einer hohen Verfügbarkeit und Zuverlässigkeit bei einer Kommunikation sind andere Übertragungskanäle erforderlich. Wie es in dem US-Patent 4,490,785 von Strecker et al offenbart ist, das hierin durch Bezugnahme enthalten ist, sollte die Auswahl der alternativen Kanäle auf einer Zufallsbasis durchgeführt werden, wobei alle Kanäle gleich wahrscheinlich sind. Die Aufgabe der Kanalauswahl sollte durch eine Schnittstellenschaltung durchgeführt werden, die unter den alternativen Kanälen aufgeteilt ist.
- Zum Koppeln von Datenverarbeitungsvorrichtungen, die die oben angegebenen Kommunikationstechniken benutzen, ist eine Gruppe bzw. ein Cluster der Vorrichtungen typischerweise direkt mit einem Paar zentral angeordneter Signaltransformatoren mit einer separaten Wicklung für jede Vorrichtung verbunden. Jeder Transformator bieten einen geteilten Kanal, der die Datenverarbeitungsvorrichtungen verbindet und die zentrale Anordnung der Transformatoren stellt eine minimale Übertragungsverzögerung sicher. Ein derartiger Rechnerverbindungs- Koppler hat jedoch eine etwas eingeschränkte Verbindungsfähigkeit aufgrund der beschränkten Übertragungsbandbreite oder des beschränkten Durchsatzes des geteilten Kanals. Wenn zusätzliche Datenverarbeitungsvorrichtungen mit einem zentralen Transformator zu verbinden wären, würde jedem Prozessor ein proportional kleinerer Anteil der Übertragungsbandbreite zugeteilt. Daher ist es zum Verbinden zusätzlicher Datenverarbeitungseinheiten notwendig, zusätzliche Kanäle hinzuzufügen, so daß die Übertragung gleichzeitig über eine Anzahl von Kanälen erfolgen kann. In diesem Fall muß jedoch jede Datenverarbeitungseinheit mit zusätzlichen Ports und einem zusätzlichen Schnittstellenschaltkreis ausgestattet werden. Darüber hinaus können die Ports und der Schnittstellenschaltkreis nicht nur gedoppelt werden, da zusätzliche Einrichtungen zum Auswählen eines bestimmten Ports zur Übertragung und zum Erhalten ankommender Daten von einem bestimmten der Tore erforderlich sind. Es ist insbesondere unerwünscht, derartige Abänderungen an einer existierenden Rechnerausrüstung durchzuführen.
- Die EP-A-0 110 569 (TANDEM COMPUTER INCORPORATED) offenbart ein Mehrprozessorbetrieb-System, bei dem Prozessoren in Gruppen gruppiert sind, jeder Prozessor in einer Gruppe separat mit zwei Gruppen-Modulen verbunden ist, wobei der Satz aller Gruppen-Module in dem System in zwei reziproke Ringe (x, y) aufgeteilt ist, wobei bei jedem dieser Ringe jedes Gruppen-Modul durch zwei bidirektionale Verbindungsglieder mit den zwei benachbarten Nachbargruppen-Modulen verbunden ist. Informationspakete werden zwischen benachbarten Gruppen-Modulen bis zu ihrem Ziel-Gruppen-Modul und von dort zu ihrem Ziel-Prozessor geführt. Jedes Gruppen-Modul ist mit seiner eigenen FIFO-Warteschlange (Pufferspeicher 34) zum Speichern ganzer Informationspakete ausgestattet. Das älteste Paket (d. h. der Kopf der Warteschlange) wird zu gegebener Zeit zu seinem Zielort geführt.
- Bei diesem Mehrprozessor-System wird eine Informationsübertragung nicht zentral gesteuert. Statt dessen enthalten die Gruppen-Module eine verteilte Übertragungssteuerung, die auf eine "Peer-to-peer"-Art arbeitet.
- Das Hauptziel der vorliegenden Erfindung besteht darin, einen verbesserten Rechnerverbindungs-Koppler zu schaffen, der eine erhöhte Verbindungsfähigkeit und Bandbreite bietet, aber keine wesentlichen Abänderungen bei der existierenden Rechnerausrüstung erfordert.
- Eine weitere Aufgabe der Erfindung besteht darin, einen derartigen verbesserten Rechnerverbindungs-Koppler mit der Fähigkeit zum leichten Ändern des Aufbaus der Gruppe miteinander verbundener Vorrichtungen zu schaffen. Eine damit zusammenhängende Aufgabe der Erfindung besteht darin, einen derartigen Koppler mit redundanten Kanälen zu schaffen und sicherzustellen, daß der Aufbau für jeden redundanten Kanal konsistent ist.
- Eine weitere Aufgabe der Erfindung besteht darin, einen derartigen verbesserten Rechnerverbindungs-Koppler mit der Möglichkeit einer sehr kleinen Erweiterung zum Verbinden mit einer zusätzlichen Rechnerausrüstung zu schaffen.
- Eine weitere Aufgabe der Erfindung besteht darin, einen derartigen verbesserten Rechnerverbindungs-Koppler mit der Fähigkeit zu schaffen, einen Datenaustausch zu beenden, wenn Fehler auftreten, und die internen Fehler zu untersuchen, um defekte Schaltungen zu isolieren und zu identifizieren.
- Darüber hinaus ist es eine weitere Aufgabe der Erfindung, sicherzustellen, daß ein derartiger verbesserter Rechnerverbindungs-Koppler den vollständigen Betrieb sofort nach einer Reparatur wieder aufnehmen kann, und zwar durch "Swapping" bzw. "Austauschen" defekter Leiterplatten mit neuen oder reparierten Leiterplatten, ohne daß eine Analyse der Koppler erforderlich ist, um eine Information zum Reparieren der defekten Leiterplatte zu bestimmen.
- Zum Lösen dieser und anderer Aufgaben ist ein Rechnerverbindungs- Koppler geschaffen, der eine Vielzahl alternativer Verbindungssätze zum Verbinden jeweiliger Kanäle zahlreicher Datenverarbeitungsvorrichtungen hat. Der Rechnerverbindungs-Koppler hat einen Logik-Schaltkreis, um adressierte Datenpakete durch Auswählen eines verfügbaren Verbindungssatzes zu führen. Um dem Ursprungs-Datenprozessor das Führungsverfahren transparent zu machen, wird wenigstens ein Anfangsteil der Nachricht in einem FIFO-Puffer während der Zeit gespeichert, die zum Ausführen des Führungsverfahrens erforderlich ist.
- Aufgrund der in der Praxis bestehenden Beschränkung durch eingeschränkte Pufferkapazität müssen einige Nachrichten, die für einen besetzten Kanal bestimmt werden, weggeworfen werden. Damit ermöglicht wird, daß diese Nachrichten rückübertragen und auf einer "First-come-first-serve"-Basis geführt werden, wenn der Zielkanal einmal nicht mehr besetzt ist, wird eine Anfrage zum Führen einer Nachricht zu einem besetzten Kanal in eine jeweilige "FIFO"-Warteschlange gesetzt, die dem Zielkanal zugeteilt ist. Die Ziel-Warteschlange speichert daher eine Reihenfolgenliste der unausgeführten Anfragen für einen Zugriff zu dem jeweiligen Kanal. Wenn der Kanal einmal nicht mehr besetzt ist, wird der Kanal zeitweilig zum Ausführen der ältesten Anfrage an dem Kopf bzw. Anfang der Warteschlange reserviert. Die Anfrage an dem Kopf der Warteschlange wird von der Warteschlange entfernt, wenn die rückübertragene Nachricht geführt ist, oder nach Ablauf eines vorbestimmten Zeitintervalls.
- Damit jener Führungsschaltkreis nicht belastet wird durch Bedienen von Rückübertragungen einer weggeworfenen Nachricht bevor der Zielkanal verfügbar wird und frühere unerfüllte Anfragen bedient worden sind, wird ein "Ablaufsteuerungs"-Signal zu der Datenverarbeitungsvorrichtung des Quellenkanals übertragen, um eine Rückübertragung zu verhindern, bis der Zielkanal zeitweilig für den Quellenkanal reserviert wird, wenn die Anfrage in der Warteschlange von jenem Quellenkanal an dem Kopf der Warteschlange erscheint.
- Um einen Zugriff auf ausgewählte Kanäle zu beschränken, und um zu ermöglichen, daß Nachrichten, die von vorbestimmten Kanälen kommen, zu den Kanälen mit beschränktem Zugriff geführt werden, speichert der Verbindungs-Koppler zuvor festgelegte Sätze von Quellenkanälen und jeweilige Sätze von Zielkanälen. Das Führen einer Nachricht von einem Quellenkanal, der zu einem Zielkanal adressiert ist, wird nur dann zugelassen, wenn der Quellenkanal in wenigstens einem dieser Sätze von Quellenkanälen enthalten ist und der adressierte Zielkanal in einem entsprechenden Satz von Zielkanälen enthalten ist. Diese "virtuelle Sternkopplung" von Ports verhindert die Übertragung nicht korrekt adressierter oder nicht befugter Nachrichten und erhöht daher die Integrität, die Effizienz und die Sicherheit des Datenverarbeitungssystems.
- Die Zuverlässigkeit des Rechnerverbindungs-Kopplers wird in großem Maße durch Vorsehen eines Paars solcher Koppler verstärkt, die miteinander verbunden sind, um eine wechselseitig konsistente Definition der virtuellen Sternkopplung sicherzustellen und auch um eine Diagnoseinformation über mögliche Fehlfunktionen der in dem System verbundenen Datenverarbeitungsvorrichtungen zu teilen. Die Zuverlässigkeit des Systems wird weiterhin durch Vorsehen von Diagnosemöglichkeiten in jedem der Koppler erhöht, so daß interne Fehler schnell diagnostiziert und repariert werden. Zum Ermöglichen bzw. Erleichtern der Reparatur und zum Erhöhen der Möglichkeit, daß ein defekter Schaltkreis richtig repariert werden wird, bevor er wieder eingebaut wird, wird eine pertinente interne Diagnoseinformation über den defekten Schaltkreis in einem nichtflüchtigen Speicher auf der Leiterplatte für den defekten Schaltkreis gespeichert, so daß die Information zusammen mit dem defekten Schaltkreis physikalisch zu der Reparatureinrichtung getragen wird.
- Weitere Gegenstände und Vorteile der Erfindung werden beim Lesen der folgenden detaillierten Beschreibung und durch Bezugnahme auf die Zeichnungen klar werden, wobei:
- Fig. 1 ein bildhaftes Diagramm ist, das den Einsatz eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung zum Verbinden zahlreicher herkömmlicher Datenverarbeitungsvorrichtungen darstellt;
- Fig. 2 ein schematisches Schaubild ist, das darstellt, wie Nachrichten über einen Verbindungssatz von einem Quellenkanal zu einem Zielkanal geführt werden, und weiterhin zeigt, wie interne Nachrichten über Verbindungssätze für Diagnosezwecke geführt werden;
- Fig. 3 ein schematisches Schaubild ist, das die bevorzugte Weise zeigt, in der die Schaltkreise des beispielhaften Ausführungsbeispiels auf Leiterplatten angeordnet sind, und wie die Leiterplatten durch geteilte Busse verbunden sind;
- Fig. 4 ein funktionelles Blockschaubild ist, das die Steuerpfade darstellt, die zum Führen einer Nachricht von einem Quellenkanal zu einem Zielkanal benutzt werden, und weiterhin die Verbindungen zwischen einem Diagnoseprozessor und dem Schaltkreis zeigt, der die Nachrichten führt;
- Fig. 5 ein Zeitdiagramm ist, das das erfolgreiche Führen einer Nachricht von einem Ursprungsport zu einem Zielport und das Zurücksenden eines Rückmeldecodes von dem Zielport zeigt;
- Fig. 6 ein funktionelles Blockschaubild ist, das die Steuerschaltungen, die Steuersignale, einen Speicher, der den gegenwärtigen logischen Zustand und eine Konfiguration des Verbindungs-Kopplers speichert, und verschiedene Zeitgeber, die unnormale Betriebszustände erfassen, detaillierter zeigt;
- Fig. 7 ein schematisches Schaubild ist, das ein hierarchisches Arbitrationsschema mit einer Rotationspriorität darstellt, bei dem die Dienstanfragen denselben Prioritätspegel haben;
- Fig. 8 ein schematisches Schaubild ist, das Logik-Schaltkreise zum Implementieren eines Prioritätsschemas mit zwei Pegeln zeigt, bei dem Serviceanfragen in einen Satz von Anfragen hoher Priorität und von Anfragen niedriger Priorität gruppiert sind, und wobei separate Arbitrationsschaltkreise zum Durchführen einer Arbitration für gleichzeitige Anfragen vorgesehen sind, die in jeder Gruppe auftreten;
- Fig. 9 ein schematisches Schaubild eines Prioritäts-Ringcodierers ist;
- Fig. 10 ein Venn-Diagramm ist, das zeigt, wie ein virtueller Sternkoppler als ein Satz von Quellenkanälen definiert ist, die zu einem Satz von Zielkanälen gehören;
- Fig. 11 den Speicher und die Logik-Schaltkreise zeigt, die Definitionen für bis zu acht virtuelle Sternkoppler speichern und die ein Signal zum Ermöglichen des Führens einer Nachricht von einem bestimmten Quellenkanal zu einem bestimmten Zielkanal erzeugen;
- Fig. 12 ein Beispiel eines bestimmten Formats für eine Nachricht ist, die über den Rechnerverbindungs-Koppler übertragen wird;
- Fig. 13 ein schematisches Schaubild eines Manchester-Decodierers und eines Seriell/Parallel-Wandlers mit einer Träger-Detektionslogik ist;
- Fig. 14 ein schematisches Schaubild eines Nachrichten-Synchronisierers und eines Zyklus-Zählers für eine Empfänger- Steuerlogik ist;
- Fig. 15 ein schematisches Schaubild der Empfänger-Steuerlogik zum Erzeugen einer Anfrage zum Führen einer Nachricht ist;
- Fig. 16 ein schematisches Schaubild einer Empfänger- und Sender- Logik zum Bringen einer Nachricht in eine Warteschlange ist;
- Fig. 17 ein schematisches Schaubild eines Logik-Schaltkreises für einen FIFO-Puffer und zum Bilden einer Schnittstelle mit einer Schaltmatrix ist;
- Fig. 18 ein schematisches Schaubild eines Logik-Schaltkreises für eine Schaltmatrix und zum Empfangen von Signalen ist, die den Sendern und Empfängern anzeigen, ob ein Verbindungssatz zugeordnet ist, und die Identifikationszahl des zugeordneten Verbindungssatzes anzeigen;
- Fig. 19 ein schematisches Schaubild des bevorzugten Schaltungs-Schaltkreises zum Verbinden der Empfänger mit den Verbindungssätzen ist;
- Fig. 20 ein schematisches Schaubild des bevorzugten Schaltkreises zum Verbinden der Verbindungssätze mit den Sendern ist;
- Fig. 21 ein schematisches Schaubild einer Empfängerlogik zum Erzeugen von Serviceanfragen zum Umkehren und Fallenlassen eines Verbindungssatzes ist;
- Fig. 22 ein schematisches Schaubild einer Empfängerlogik zum Detektieren von Änderungen bei der Zuordnung eines Verbindungssatzes zu dem Empfänger ist;
- Fig. 23 ein schematisches Schaubild einer Sender-Steuerlogik ist;
- Fig. 24 ein schematisches Schaubild der zentralen Schaltlogik ist, die Serviceanfragen zum Führen von Nachrichten, Umkehren und Fallenlassen von Verbindungssätzen und zum Bringen in eine Warteschlange und Fallenlassen einer Nachricht, die Anfragen führt, verarbeitet;
- Fig. 25 ein schematisches Schaubild eines Anfrage-Prioritätsdecodierers ist, der in der zentralen Schaltlogik benutzt wird;
- Fig. 26 ein schematisches Schaubild einer zentralen Schaltlogik ist zum Bestimmen, ob eine Führungsanfrage zulässig ist;
- Fig. 27 ein schematisches Schaubild einer Kombinationslogik ist, die durch die zentrale Schaltlogik zum Bedienen von Anfragen zum Umkehren und Fallenlassen von Verbindungssätzen benutzt wird;
- Fig. 28 ein schematisches Schaubild einer Kombinationslogik ist, die durch die zentrale Schaltlogik zum Bringen einer Nachricht in eine Warteschlange benutzt wird, die eine Anfrage führt;
- Fig. 29 ein schematisches Schaubild einer Kombinationslogik ist, die durch die zentrale Schaltlogik zum Führen einer Nachricht benutzt wird; und
- Fig. 30 ein schematisches Schaubild einer Kombinationslogik ist, die durch die zentrale Schaltlogik zum Fallenlassen einer Nachricht benutzt wird, die Anfragen führt.
- Während die Erfindung verschiedenen Abänderungen und alternativen Formen zuganglich ist, ist ein spezifisches Ausführungsbeispiel davon anhand eines Beispiels in den Zeichnungen gezeigt und wird hierin im Detail beschrieben. Es sollte jedoch verstanden werden, daß die Erfindung nicht auf die bestimmte offenbarte Form beschränkt werden sollte, sondern die Erfindung im Gegenteil dazu alle Abänderungen, Äquivalente und Alternativen abdecken soll, die in den Geist und den Schutzbereich der Erfindung fallen, wie sie durch die angehängten Ansprüche definiert ist.
- Wendet man sich nun Fig. 1 zu, ist dort ein bildhaftes Schaubild gezeigt, das den Einsatz eines allgemein mit 50 bezeichneten Rechnerverbindungs-Kopplers darstellt, der verschiedene Aspekte der vorliegenden Erfindung enthält. Zum Schaffen einer erhöhten Zuverlässigkeit besteht der Koppler 50 aus zwei identischen Kopplern 51 und 52, die miteinander verbunden sind, und zwar beispielsweise durch eine optische Faserverbindung 53. Die Verbindung 53 stellt sicher, daß die Konfiguration der Koppler 51 und 52 in identischen Zuständen beibehalten werden, wenn der Zustand über eine Bedieneranfrage geändert wird, die durch einen der Koppler 51, 52 empfangen wird.
- Die Koppler 51, 52 können auch die Verbindung 53 benutzen, um eine Information über den Zustand und mögliche Fehlfunktionen der zahlreichen Datenverarbeitungsvorrichtungen zu teilen, die durch die Koppler 51, 52 verbunden sind. Diese Datenverarbeitungsvorrichtungen enthalten zentrale Verarbeitungseinheiten 54, 55, 56, 57, 58 und Server 59, 60 für Magnetband-Laufwerke 61, 62, 63 und Massen-Datenspeicher oder Diskettenspeicher 64, 65, 66, 67, 68, 69. In dem gewöhnlichen Fall sind die Zentralverarbeitungseinheiten 54-58 direkt mit Druckern 70, 71 hoher Geschwindigkeit oder Druckern 72, 73 niedriger Geschwindigkeit und zahlreichen Zeitaufteilungs-Endgeräten (nicht gezeigt), Kommunikationsvorrichtungen (nicht gezeigt) und anwendungsspezifischen Vorrichtungen (nicht gezeigt) verbunden.
- Die Rechnerverbindungs-Koppler 51, 52 lassen zu, daß die Datenverarbeitungsvorrichtungen 54-60 an verschiedenen Positionen angeordnet werden, und zwar z. B. an entgegengesetzten Enden eines Gebäudes. Darüber hinaus können die Koppler 51 und 52 zulassen, daß irgendeine der Datenverarbeitungseinheiten in dem System ein adressiertes Datenpaket zu irgendeiner anderen Datenverarbeitungseinheit in dem System sendet. Weiterhin können die Koppler 51, 52 konfiguriert oder programmiert sein, um eine Nachrichtenübertragung von einer Datenverarbeitungsvorrichtung zu einer anderen nur dann zu ermöglichen, wenn die jeweiligen Kanäle der Quellen-Datenverarbeitungsvorrichtung und der Zielort-Datenverarbeitungsvorrichtung jeweils in dem zuvor festgelegten Quellenkanalsatz und Zielkanalsatz enthalten sind, die zu wenigstens einem für das System festgelegten "virtuellen Sternkoppler" gehören. Die Rechnerverbindungs-Koppler 51, 52 können dadurch einen Zugriff auf bestimmte der Datenverarbeitungsvorrichtungen beschränken, können einen Datentransfer nur in bestimmten Richtungen zulassen, und können zu Sicherheitszwecken zulassen, daß Nachrichten zu bestimmten der Datenverarbeitungsvorrichtungen nur dann geführt werden, wenn die Nachrichten zuerst durch andere der Datenverarbeitungsvorrichtungen laufen.
- Gemäß dem spezifischen Ausführungsbeispiel, das in den folgenden Figuren der Zeichnung gezeigt ist, ist jeder der Koppler 51, 52 ein zweistufiger, elektronischer Kreuzschienenschalter, der vorzugsweise acht unabhängige, miteinander verbundene Kommunikations-Verbindungssätze schafft. Vorzugsweise ist jeder Verbindungssatz bidirektional und führt Daten mit 70 Megabits pro Sekunde. Jeder Koppler 51, 52 kann vorzugsweise wenigstens 64 Kanäle verbinden. Vorzugsweise können die mit den Kopplern 51, 52 verbundenen Kanäle logisch in bis zu acht virtuelle Sternkoppler aufgeteilt sein, und die Datenverarbeitungsrichtungen, die mit den Kanälen verbunden sind, können logisch von einem virtuellen Sternkoppler zu einem anderen bewegt werden, ohne physikalisch entkabelt zu werden.
- Wendet man sich nun Fig. 2 zu, ist dort ein schematisches Schaubild gezeigt, daß das Führen einer Nachricht von einem Quellenkanal X zu einem Zielortkanal Y darstellt. Der Kanal X ist durch ein Kommunikationskabel 81 definiert, das Schnittstellenschaltkreise 82 mit einer Datenverarbeitungsvorrichtung an einem entfernten Ort verbindet. Gleichermaßen hat der Kanal Y Schnittstellenschaltkreise 83, die mit einer weiteren entfernten Datenverarbeitungsvorrichtung über ein zweites Kommunikationskabel 85 verbunden sind.
- Zur Erleichterung der Darstellung ist angenommen, daß die Schnittstellenschaltkreise 82 für den Kanal X eine Nachricht über das Kommunikationskabel 81 empfangen, die ein zu dem Kanal Y adressiertes Datenpaket enthält. Daher ist aufgrund dieser Nachricht der Kanal X ein Quellenkanal, und der Kanal Y ist ein Zielortkanal. Zur Verarbeitung solcher Nachrichten wird jedem Kanal eine eindeutige Kanalzahl zugeordnet.
- Zum Führen der Nachricht wird der Anfangsteil der Nachricht von den Schnittstellenschaltkreisen 82 zu Empfänger-Logikschaltkreisen 84 geführt. Die Empfänger-Logikschaltkreise 84 erzeugen eine Leitungsanfrage, die, wenn sie erfüllt wird, die Zuordnung eines einer Vielzahl von Verbindungssätzen 86 zu den Empfänger-Logikschaltkreisen 84 veranlaßt. Die Zuordnung veranlaßt einen jeweiligen Schalter in einer Schaltmatrix 87 zum Schließen und zum Verbinden der Empfänger-Logikschaltkreise 84 mit dem zugeordneten Verbindungssatz.
- Wie es in Fig. 2 gezeigt ist, werden beispielsweise die Empfänger-Logikschaltkreise 84 durch das Schließen eines Schalters 89 mit dem Verbindungssatz 88 verbunden.
- Das Führen einer Nachricht zu ihrem adressierten Zielortkanal erfordert weiterhin, daß der zugeordnete Verbindungssatz 88 mit einer Sender-Logik 92 verbunden wird, die zu dem Zielortkanal gehört. Zu diesem Zwecke werden die Sender-Logikschaltkreise 92 mit den Verbindungssätzen 86 durch eine Schaltmatrix 90 verbunden, die einen Schalter 91 enthält, der geschlossen wird, um den Verbindungssatz 88 mit den Sender-Logikschaltkreisen 92 zu verbinden. Die angefragten Zustände der Schalter in den Schaltmatrizen 87, 90 werden durch Steuersignale eingestellt, die über einen Verbindungssatz-Steuerbus 93 gesendet werden. Die Steuersignale werden auch durch die Sender-Logikschaltkreise 92 empfangen, um anzuzeigen, daß eine Verbindung aufgebaut worden ist, und daß eine Nachricht über einen der Verbindungssätze 86 gesendet wird. Beim Empfang der Nachricht liefert die Sender-Logik 92 die Nachricht zu den Kanal-Schnittstellenschaltkreisen 83 zur Übertragung über das Kommunikationskabel 85 zu der adressierten Datenverarbeitungsvorrichtung.
- Beim Empfang der Nachricht sendet die adressierte Datenverarbeitungsvorrichtung eine Rückmeldung zu der Quellen-Datenverarbeitungsvorrichtung zurück. Diese Rückmeldung wird über das Kommunikationskabel 85 zurückgesendet, durch die Schnittstellenschaltkreise 83 geführt und erreicht zugehörige Empfänger-Logikschaltkreise 94. Vor einem Empfangen der zurückgesendeten Rückmeldung, wenn die Empfänger-Logikschaltkreise 84 ein übertragen der ursprünglichen Nachricht beenden, veranlassen sie, daß ein Steuersignal über den Verbindungssatz-Steuerbus 93 erzeugt wird, der die Schalter 89 und 91 öffnet und Schalter 95 und 96 schließt, um eine umgekehrte Verbindung zwischen den Empfänger-Logikschaltkreisen 94, die zu dem Kanal y gehören, und den Sender-Logikschaltkreisen 97, die zu dem Kanal X gehören, auf zubauen. Die zurückgesendete Rückmeldung wird durch die Sender-Logikschaltkreise 97 zu den Schnittstellenschaltkreisen 82 geführt, die zu dem Kanal X gehören, und zwar zum Zurücksenden zu der Datenverarbeitungseinheit, die die Nachricht anfangs gesendet hat.
- Zum Testen der Schaltkreise in dem Verbindungs-Koppler 51 enthält der Verbindungs-Koppler weiterhin eine Steuer- und Diagnoselogik 98, die Steuersignale hervorbringen kann, die über den Verbindungssatz-Steuerbus 93 geführt werden, um eine "Wartungsschleife" durch die Empfänger- und Senderlogik eines ausgewählten der Kanäle auf zubauen. Die Steuer- und Diagnoselogik 98 erzeugt eine Diagnosenachricht, die einem der Verbindungssätze 86 über eine Diagnose-Schaltmatrix 99 zugeführt wird. Zu diesem Zweck werden beispielsweise die Schalter 89, 91 und 95 geöffnet und der Schalter 96 wird geschlossen. Darüber hinaus wird ein Schalter 100 geschlossen, um die Steuer- und Diagnoselogik 98 mit dem Verbindungssatz 88 zu verbinden und dadurch einen Übertragungspfad zu der Senderlogik 97 aufzubauen. Die Steuer- und Diagnoselogik 98 bringt ein Steuersignal über den Verbindungssatz-Steuerbus 93 zum Schließen eines Schalters 101 und eines Schalters 102 hervor, um einen Rücksendepfad von den Empfänger-Logikschaltkreisen 84 zu der Diagnoselogik 98 aufzubauen. Zusätzlich wird ein vollständiger interner Schaltkreis durch eine Wartungsschleife 103 geschlossen, die einen Signalpfad von der Senderlogik 97 zu der Empfängerlogik 84 bereitstellt. Beispielsweise sind die Senderlogik und die Empfängerlogik 84 von den Schnittstellenschaltkreisen 82 getrennt und über die Wartungsschleife 103 miteinander verbunden, wann immer sowohl die Empfängerlogik 84 als auch die Senderlogik 97 mit den Verbindungssätzen 86 über die Schaltmatrix 87 verbunden sind. Durch Vergleichen der gesendeten Diagnosenachricht mit der empfangenen Diagnosenachricht kann die Steuer- und Diagnoselogik 98 Fehler beim Steuern der Schaltmatrix 87 oder einen unrichtigen Betrieb der Schaltmatrix 87, der Empfängerlogik 84 oder der Senderlogik 97 detektierten. Ein jeder solcher Fehler wird einem Systemoperator 104 über ein Steuer-Endgerät 105 bekanntgemacht.
- Wendet man sich nun Fig. 3 zu, ist dort ein Schaubild verschiedener Leiterplatten gezeigt, die die Verbindungs-Koppler 51 oder 52 der Fig. 1 bilden. Die Leiterplatten sind in einem herkömmlichen Baugruppenrahmen von der Art untergebracht, die für eine zentrale Verarbeitungseinheit benutzt wird, und die Leiterplatten werden durch eine herkömmliche Spannungsversorgung 111 versorgt. Bei dem beispielhaften Ausführungsbeispiel sind beispielsweise die Spannungsversorgung, der Baugruppenrahmen und ein Gebläse gleich jenen, die für einen Zentralprozessor "VAX 8600/8650" von Digital Equipment Corporation benutzt werden. Die "Rückwandleiterplatte" des Baugruppenrahmens ist jedoch abgeändert, um die Leiterplatten durch eine Anzahl von Bussen zu verbinden, wie es in Fig. 3 gezeigt ist.
- Der allgemein mit 51 bezeichnete beispielhafte Rechnerverbindungsschalter enthält wenigstens eine Leiterplatte 112 für einen Konsolen- und Diagnoseprozessor, der die Steuer- und Diagnoselogik 98 bereitstellt, die in Fig. 2 gezeigt ist. Der Diagnoseprozessor 112 ist beispielsweise ein Prozessor, der auf "PDP-11" von Digital Equipment Corporation basiert. Zu dem Diagnoseprozessor gehören ein Paar von Floppydisk-Laufwerken 113, die optische Faserverbindung 53 und Verbindungen zu dem Steuer-Endgerät, eine optionale entfernte Vorrichtung und ein Steuerpult. Zu dem Diagnoseprozessor 112 gehört auch eine Speicherkarte 114, die einen Programmspeicher 115 und einen Datenspeicher 116 für den Diagnoseprozessor enthält. Ein Programmbus 117 verbindet den Diagnoseprozessor mit dem Programmspeicher 115, und ein Prozessor-Datenbus 118 verbindet den Diagnoseprozessor mit dem Datenspeicher 116.
- Gemäß einem Merkmal der vorliegenden Erfindung enthält die Speicherkarte 114 weiterhin einen Schalt-Steuerspeicher 119, der Schaltführungsgrundsatz - Pegelinformation speichert. Diese Information enthält beispielsweise eine Hauptkopie der Definitionen der virtuellen Sternkoppler für das System und kann auch Daten enthalten, die die Zeitgabeintervalle für verschiedene Zeitgeber definieren, die ungewöhnliche oder unrichtige Betriebsbedingungen für die Logikschaltkreise in dem Rechnerverbindungs-Koppler detektieren. Ein Diagnose-Steuerbus 120 ist vorgesehen zum Verbinden des Schalt-Steuerspeichers 119 mit dem Diagnoseprozessor 112. Der Diagnose-Steuerbus 120 wird auch benutzt, um zu erlauben, daß der Diagnoseprozessor die Grundsatz-Pegelinformation zu einer zentralen Schaltlogik herunterlädt, die Nachrichten über ausgewählte Verbindungssätze durch Steuern der Schaltmatrizen führt. Die zentrale Schaltlogik ist auf einer Schalt-Steuerkarte 121 enthalten, die auch die Diagnose-Schaltmatrix (99 in Fig. 2) enthält. Zum Herunterladen der Grundsatz-Pegelinformation und zum Einstellen der Diagnose-Schaltmatrix kann der Diagnoseprozessor 112 Steuerbefehle zu der zentralen Schaltlogik unterbrechen oder senden, um den Speicher und die Register der zentralen Schaltlogik zu adressieren, wie es nachfolgend weiter beschrieben wird.
- Der Diagnose-Steuerbus 120 wird auch benutzt, um den Diagnoseprozessor 112 mit einem elektrisch löschbaren und programmierbaren Speicher (EEPROM) zu verbinden, der auf der Schalt-Steuerkarte 121 enthalten ist, und mit Kanal-Schnittstellenkarten 122, 123 zum Zwecke eines Schreibens von Diagnoseinformation zu einer fehlerhaften Leiterplatte, bevor die fehlerhafte Leiterplatte zur Reparatur entfernt wird. Daher wird die Diagnoseinformation, wie beispielsweise der Systemzustand und die Konfiguration zu der Zeit, zu der der Fehler detektiert wurde, und die Fehler-Flags, die zu der Diagnose führten, mit der defekten Leiterplatte zu der Reparatureinrichtung geführt. Dies stellt sicher, daß eine vollständigere Reparatur an der Leiterplatte ausgeführt wird, so daß, wenn sie zurückgebracht wird, es eine größere Wahrscheinlichkeit gibt, daß alle Fehler auf der Leiterplatte richtig repariert worden sind. Zusammen mit der Diagnoseinformation enthält der EEPROM für jede Karte vorzugsweise eine Kartenidentifizierungsinformation, beispielsweise den Typ oder die Funktion, die durch die Leiterplatte durchzuführen ist, die Serienzahl der Karte, das Datum und den Ort der Herstellung der Karte und bisherige Reparaturen an der Karte.
- Zum Schaffen einer inkrementalen Erweiterung des Rechnerverbindungs- Kopplers 51, um irgendeine gewünschte Anzahl von Kanälen bis zu einer bestimmten maximalen Anzahl unterzubringen, ist eine Kanal-Schnittstellenkarte 122 für jede einer bestimmten Anzahl von Datenverarbeitungsvorrichtungen vorgesehen, die in das Rechnersystem einzubinden sind. Vorzugsweise enthält jede Kanal-Schnittstellenkarte die Schnittstellenschaltkreise für acht Kanäle zusammen mit der zugehörigen Empfängerlogik, der Senderlogik und den Schalt-Matrixschaltkreisen. Die Diagnose-Schaltmatrix in der Schalt-Steuerkarte 121 ist mit den Schaltmatrizen in der Kanal-Schnittstellenkarte 122 über die Verbindungssätze 86 verbunden, die sich zu- den Schaltmatrizen in irgendwelchen anderen Kanal-Schnittstellenkarten 123 erstrecken, die in dem System eingebaut werden können. Zum Setzen und Rücksetzen der Schalter in den Schaltmatrizen ist die Schalt-Steuerkarte 121 mit den Kanal-Schnittstellenkarten 122, 123 über den Verbindungssatz-Steuerbus 93 verbunden.
- Damit die Kanal-Schnittstellenkarten 122, 123 Führungs- oder Warteschlangenanfragen zu der zentralen Logik in der Schalt-Steuerkarte 121 senden, sind sie über einen Schalt-Steuerbus 124 verbunden. Der Schalt-Steuerbus 124 wird auch zum Rücksenden von Rückmeldesignalen und zum Senden von Ablaufsteuersignalen von der Schalt-Steuerkarte 121 zu den Kanal-Schnittstellenkarten 122, 123 benutzt. Darüber hinaus sind die Kanal-Schnittstellenkarten 122, 123 mit dem Diagnose-Steuerbus 120 verbunden, um zuzulassen, daß der Diagnoseprozessor 112 Information, wie beispielsweise Zeitgeberintervalle, zu der Empfänger- und der Senderlogik herunterlädt, und auch um zuzulassen, daß der Diagnoseprozessor den Zustand der Zähler und Register und der Sender- und Empfängerlogik untersucht.
- Während des Betriebs des Rechnerverbindungs-Kopplers können verschiedene Warn- oder Fehlerbedingungen durch den Schaltkreis in der Schalt-Steuerkarte 121 und den Kanal-Schnittstellenkarten 122, 123 erzeugt werden. Um zuzulassen, daß diese Zustände von Interesse schnell durch den Diagnoseprozessor erkannt werden, enthält der Diagnose-Steuerbus 120 eine jeweilige Unterbrechungs-Anfrageleitung für die Schalt-Steuerkarte 121 und jede der Kanal-Schnittstellenkarten. Wenn der Diagnoseprozessor 112 unterbrochen wird, adressiert er ein Fehler-Flag-Register auf der Karte, die die Unterbrechungsanfrage erzeugt.
- Zum Erleichtern des Betriebs des Rechnerverbindungs-Kopplers, wenn die Leiterplatten 121, 122, 123 eingebaut oder entfernt werden, ist ein separater Zustands- und Löschbus 125 vorgesehen, der dem Diagnoseprozessor ermöglicht, jeden der Schlitze in dem Baugruppenrahmen (nicht gezeigt) zu wählen, um Information zu erhalten, die anzeigt, ob eine Karte eingebaut ist, und wenn es so ist, den Typ der Karte und die zu der Karte gehörenden Kanalzahlen. Der Zustands- und Löschbus enthält beispielsweise eine separate Freigabeleitung und eine separate Löschleitung von dem Diagnoseprozessor 112 zu jedem der Schlitze für die Leiterplatten. Die Freigabeleitungen werden sequentiell aktiviert, um die Karten freizugeben, um über den Zustandsbus einen Zustandscode von einem jeweiligen Zustandsregister zu übertragen. Die Löschleitung läßt zu, daß der Diagnoseprozessor jede der Leiterplatten 121, 122, 123 unabhängig zurücksetzt.
- Der Rechnerverbindungs-Koppler kann weiterhin eine Verkehrsdaten-Sammelkarte 126 enthalten, die mit dem Diagnoseprozessor 112 über einen Verkehrsdaten-Steuerbus 127 verbunden ist. Die Verkehrsdaten-Sammelkarte enthält beispielsweise adressierbare Zähler, die die Häufigkeit von Nachrichten aufzeichnen, die über jeden der Verbindungssätze geführt werden, und von jedem der Kanäle hervorgebracht werden oder dafür bestimmt sind.
- Wendet man sich nun Fig. 4 zu, ist ein funktionales Blockschaubild des Rechnerverbindungs-Kopplers gezeigt, der die wichtigen Steuerpfade zwischen den verschiedenen Schaltkreisfunktionen enthält. Die Kanal-Schnittstellenschaltkreise 82 enthalten einen Line-Receiver 132 und einen Leitungs- bzw. Zeilentreiber 133, die mit dem Kommunikationskabel 81 gekoppelt sind. Das Kommunikationskabel 81 besteht beispielsweise aus einem Paar von Koaxialkabeln, die jeweils mit dem Line-Receiver 132 und dem Leitungstreiber 133 über Isolations-Transformatoren (nicht gezeigt) verbunden sind, oder alternativ könnte das Kommunikationskabel aus einem Paar optischer Faserleitungen bestehen, die mit dem Line-Receiver 132 und dem Leitungstreiber 133 gekoppelt sind. Auf eine ähnliche Weise enthalten die anderen Kanal-Schnittstellenschaltkreise 83 einen Line-Receiver 136 und einen Leitungstreiber 137, die mit dem Kommunikationskabel 85 gekoppelt sind. Der Line-Receiver 132 und der Leitungstreiber 133 sind mit ihren jeweiligen Empfänger- und Sender-Logikschaltkreisen 84, 97 über einen Multiplexer 139 verbunden, der geschaltet werden kann, um die Wartungsschleife 103 zu schaffen. Die anderen Kanal-Schnittstellenschaltkreise 83 enthalten einen ähnlichen Multiplexer 140.
- Die Daten, die auf den Kommunikationskabeln 81, 85 gesendet und empfangen werden, werden vorzugsweise als ein serieller Bitstrom gesendet, und zwar unter Benutzung eines selbstmodulierten oder Selbsttakt-Formats, wie beispielsweise einer Manchester-Codierung. Die Datenrate beträgt beispielsweise 70 Megabits pro Sekunde. Der Takt in dem seriellen Bitstrom wird wiedergewonnen, und die Datenbits werden durch einen Manchester-Decodierer und einen Seriell/Parallel- Wandler 141 in Bytes von acht Bits aufgeteilt. Zur Erleichterung des Schaltkreisaufbaus wird ein gemeinsamer interner Takt benutzt, um die Daten von allen Kanälen zu verarbeiten. Deshalb wird ein Synchronisierer 142 benutzt, um den Datenbytestrom selektiv zu verzögern, um die Datenbytes mit dem internen Takt zu synchronisieren. Die synchronisierten Bytes werden in einen FIFO-Puffer 143 geführt, um einen temporären Speicher während des Führens der Nachricht zu schaffen. Die Empfänger-Steuerlogik 84 erhält die Zielortadresse von dem Anfang der Nachricht. Die Empfänger-Steuerlogik 84 bestimmt auch, ob der Anfang mit einem vorbestimmten Format übereinstimmt, und wenn es so ist, sendet die Empfänger-Steuerlogik eine Serviceanfrage zu der zentralen Schaltlogik 144, um die Nachricht zu führen.
- Um zuzulassen, daß das Führen der Nachrichten nur in Übereinstimmung mit zuvor definierten virtuellen Sternkopplern erfolgt, vergleicht die zentrale Schaltlogik 144, die in Betrieb ist, die Zielortadresse mit einem Satz vorbestimmter gültiger Zielortadressen, die für den Quellenkanal definiert sind und in einem zentralen Logik-Zustandsspeicher gespeichert sind. Wenn die Nachricht zu einer unerlaubten Adresse adressiert ist, weist die zentrale Schaltlogik 144 die Serviceanfrage zum Führen der Nachricht zurück. Andererseits bestimmt die zentrale Schaltlogik, ob ein Verbindungssatz frei ist, und bestimmt auch, ob der Sender oder der Empfänger an dem Zielortkanal besetzt ist. Wenn ein Verbindungssatz verfügbar ist und der Zielort nicht besetzt ist, wird die Nachricht geführt. Andererseits wird eine Nachrichten-Führungsanfrage in einer "Zielort-Warteschlange" angeordnet, so daß die Anfrage erfüllt werden kann, wenn der Zielortkanal nicht mehr besetzt ist.
- Wenn eine Nachrichtenanfrage in eine Warteschlange gebracht wird, kann die Nachricht in dem Puffer 143 nicht übertragen werden und wird weggeworfen. Obwohl es möglich sein könnte, einen ausreichenden Speicher zum Speichern einer gesamten Nachricht vorzusehen, bis die Nachricht übertragen werden könnte, ist dies nicht notwendig und würde eine exzessive Speichermenge und eine zusätzliche Logik-Komplexität erfordern. Darüber hinaus reduziert der Speicher einer gesamten Nachricht zur Übertragung zu einer späteren Zeit die Integrität des Nachrichtenübertragungsverfahrens, da ein Empfang durch die Zielort-Datenverarbeitungsvorrichtung nicht sofort bestätigt werden kann. Gegensätzlich dazu wird gemäß dem bevorzugten Ausführungsbeispiel der Erfindung nur der Anfang einer Nachricht zeitweise gespeichert, weshalb die Bestätigung des Nachrichtenempfangs nur etwas verzögert wird, und der Rechnerverbindungs-Koppler erscheint den Datenverarbeitungsvorrichtungen relativ transparent.
- Um die Datenverarbeitungsvorrichtung, die mit dem Quellenkanal verbunden ist, davon abzuhalten, die Nachricht zurückzusenden, wenn die Nachrichtenanfrage in eine Warteschlange gebracht ist, weil der Zielortkanal besetzt ist, wird ein Antwort-Ablauf-Steuersignal zu dem Quellenkanal gesendet, um der Empfänger-Steuerlogik 84 anzuzeigen, daß die Nachricht in eine Warteschlange gebracht worden ist. Dieses Ablauf-Steuersignal aktiviert auch den Sender, der zu dem Quellenkanal gehört, um ein Ablauf-Steuersignal zurück zu der Ursprungs-Datenverarbeitungsvorrichtung zu senden. Auf einen Empfang hin hält das Ablauf-Steuersignal die Datenverarbeitungsvorrichtung von einem Zurücksenden ab, bis die zentrale Schaltlogik bestimmt, daß der Kanal an der Zielortadresse keine Nachricht überträgt, und die in eine Warteschlange gebrachte Nachrichtenanfrage erscheint an dem Anfang der Zielort-Warteschlange. Wenn diese Bedingungen erfüllt sind, schaltet die zentrale Schaltlogik 144 das Ablauf-Steuersignal ab, so daß die Datenverarbeitungsvorrichtung des Quellenkanals die Nachricht zurücksendet.
- Wenn die Nachrichten-Führungsanfrage in eine Warteschlange gebracht ist, weil kein Verbindungssatz verfügbar ist, wird kein Ablauf-Steuersignal gesendet, und die Datenverarbeitungsvorrichtung des Quellenkanals ist frei, die Nachricht sobald sie kann zurückzusenden. Wenn die zentrale Schaltlogik 144 die Nachricht führen kann, sendet sie ein Signal auf dem Verbindungssatz-Steuerbus 93, um dem Quellenkanal-Empfänger und dem Zielortkanal-Sender einen freien Verbindungssatz zuzuordnen. Wenn der Verbindungssatz zugeordnet ist, werden die jeweiligen Schalter in den Schaltmatrizen 87, 90 geschlossen, und der Empfänger-Steuerlogik 84 und der Sender-Steuerlogik 92 wird signalisiert, daß eine Nachricht an dem zugeordneten Verbindungssatz gesendet und empfangen werden sollte. Vor einer Übertragung fügt die Empfänger-Steuerlogik 84 eine Kennzeichnung zu dem Anfang der Nachricht hinzu, und nachdem die Kennzeichnung über den zugeordneten Verbindungssatz übertragen ist, wird die Nachricht aus dem Puffer 143 ausgetaktet. Die Kennzeichnung enthält Information, die den zugeordneten Verbindungssatz, die Quellenkanalzahl und die Zielortkanalzahl identifiziert. Die Sender-Steuerlogik 92 untersucht die Kennzeichnung und verhindert eine Übertragung der Nachricht, wenn die Kennzeichnung unrichtig ist. Andererseits wird die Kennzeichnung angestreift und ein Bitsynchronisierkopf wird zu dem vordersten Anfang der Nachricht hinzugefügt. Die Nachricht wird dann durch eine Ablaufsteuerung und einen Datenmultiplexer 146 und einen Parallel/Seriell-Wandler und einen Manchester-Codierer 147 zur Übertragung in serieller Form zu der Zielort-Datenverarbeitungsvorrichtung übertragen.
- Am Ende der Übertragung der Nachricht erfaßt die Empfänger-Steuerlogik 84, daß der Puffer 143 leer ist, und sendet eine Anfrage zu der zentralen Schaltlogik 144, um den Zustand der Schalter in den Schaltmatrizen 87, 90 zu ändern, um den Datenfluß über den zugeordneten Verbindungssatz umzukehren. Dann wird eine Rückmeldung von der Zielort-Datenverarbeitungsvorrichtung über den zugeordneten Verbindungssatz zurückgesendet und zu der Quellen-Datenverarbeitungsvorrichtung übertragen. Nach der Übertragung der Rückmeldung wird der zugeordnete Verbindungssatz fallengelassen.
- Ein Führen einer Diagnosenachricht erfolgt auf ähnliche Art, außer daß der Konsolen- und Diagnoseprozessor 112 die Diagnosenachricht über einen Puffer 148 sendet und empfängt, der mit einer Diagnosenachrichten-Steuerlogik 149 gekoppelt ist, die eine Sende- und Empfangslogik enthält.
- Wendet man sich nun Fig. 5 zu, ist dort ein Zeitdiagramm der primären Steuersignale gezeigt, die auftreten, wenn eine Nachricht empfangen und geführt wird, und eine entsprechende Rückmeldung zurückgesendet wird. Der Rechnerverbindungs-Koppler wird durch ein RESET-Signal auf einen Anfangszustand eingestellt. Nachdem das RESET-Signal inaktiv wird, sucht der Empfänger des Quellenkanals X nach einem ankommenden Träger von dem Kommunikationskabel 81. Auf ein Finden eines Trägers hin sucht der Empfänger nach einem Zeichen-Synchronisierungscode, der den Beginn einer Nachricht anzeigt, die durch ein INTERNAL MESSAGE- Signal angezeigt wird. Nachdem der Empfänger des Kanals X den Anfangsteil der Nachricht verarbeitet, sendet er ein ROUTE MESSAGE- Signal zu der zentralen Schaltlogik. Die zentrale Steuerlogik antwortet durch Zuordnen eines Verbindungssatzes zu dem Empfänger des Kanals X, wie es durch ein JUNCTOR ASSIGNED-Signal angezeigt ist.
- Von der Zeit an, zu der der Zeichen-Synchronisierungscode empfangen ist, wird die Nachricht in den Puffer 143 getaktet. Sobald der Verbindungssatz zugeordnet ist, wird ein zugangskennzeichnendes Kennzeichen über den Verbindungssatz übertragen, und dann wird die Nachricht aus dem Puffer 143 ausgetaktet. Eine Übertragung der Nachricht durch den Verbindungssatz dauert selbst dann an, nachdem die gesamte Nachricht durch den Empfänger des Kanals X empfangen worden ist, wie es durch das INCOMING MESSAGE COMPLETE-Signal angezeigt ist. Wenn der Puffer 143 leer wird, was anzeigt, daß die gesamte Nachricht über den Verbindungssatz übertragen worden ist, sendet der Empfänger des Kanals X eine RERERSE PATH-Anfrage zu der zentralen Schaltlogik. Wenn der Pfad über den Verbindungssatz einmal umgekehrt worden ist, hat der Empfänger des Kanals X die Verarbeitung der Nachricht beendet.
- Als ein Ergebnis der Umkehr des Pfades über den Verbindungssatz wird der Verbindungssatz dem Sender des Kanals X zugeordnet, wie es durch das JUNCTOR ASSIGEED TO TX OF SOURCE-Signal angezeigt ist. Wenn der Verbindungssatz dem Sender des Kanals X zugeordnet ist, wird der Sender aktiviert, und der Empfänger des Kanals X wird von einem Empfangen weiterer Nachrichten abgehalten. Auf ähnliche Weise wird während einer Übertragung der Nachricht über den Verbindungssatz von dem Empfänger des Kanals X zu dem Sender des Kanals Y der Sender des Kanals Y aktiviert, wenn der Verbindungssatz dem Sender des Kanals Y zugeordnet ist.
- Der Anfangsteil der über den Verbindungssatz übertragenen Nachricht enthält ein Kopf-Byte, das einen Code enthält, der den Typ der Nachricht anzeigt. Auf einen Empfang von dem Verbindungssatz hin werden, wenn die Nachricht keine positive (ACK) oder eine negative (NAK) Rückmeldung ist, die Y-Kanalempfänger- und -senderschaltkreise in einen ACK-NAK-Modus versetzt, der zeigt, daß der Empfänger des Kanals Y nach der Übertragung des Signals eine Rückmeldung von der Zielort-Datenverarbeitungsvorrichtung erwarten sollte. Insbesondere zeigt es dem Empfänger des Kanals Y an, daß für eine bestimmte Zeit nach der anfänglichen Übertragung der Nachricht von dem Sender des Kanals Y der Empfänger des Kanals Y eine Rückmeldung erwarten muß, und auf einen Empfang jener Rückmeldung hin der Empfänger des Kanals Y nicht nach einem Führen der Nachricht anfragen muß, weil der zuvor zugeordnete Verbindungssatz für eine Umkehr-Übertragung der Rückmeldung reserviert sein wird. Der ACK-NAK-Modus zeigt dem Empfänger des Kanals Y auch an, daß er auf ein Beendigen der Nachrichtenverarbeitung hin eine DROP JUNCTOR-Anfrage zu der zentralen Logik senden muß statt einer REVERSE JUNCTOR-Anfrage.
- Wie es in Fig. 5 gezeigt ist, wird die Bestätigung bzw. Rückmeldung durch das RX OF DESTINATION INTERNEL MESSAGE-Signal des Empfängers des Kanals Y angezeigt. Die zurückgesendete Nachricht tritt irgendwann auf, nachdem der Verbindungssatz dem Empfänger des Kanals Y zugeordnet ist. Ein Führen der zurückgesendeten Bestätigung ist nicht erforderlich, und sehr kurz nach dem Ende der Nachricht sendet der Empfänger des Kanals Y eine DROP JUNCTOR-Anfrage zu der zentralen Schaltlogik. Wenn einmal die Verarbeitung der Nachricht und der Bestätigung beendet ist, wird der Verbindungssatz fallengelassen, und die Empfängerschaltkreise werden in ihren Anfangszustand für einen Empfang weiterer Nachrichten zurückgebracht.
- Wendet man sich nun Fig. 6 zu, ist dort ein funktionelles Blockschaubild der Steuerlogik, der Steuersignale, des zu der Steuerlogik gehörenden Steuerspeichers und verschiedener Zeitgeber, die sicherstellen, daß die Steuersignale innerhalb bestimmter vorbestimmte Zeitintervalle auftreten, gezeigt.
- Zum Empfangen einer Nachricht sendet der Synchronisierer 142 ein NEW MESSAGE REQDEST-Signal zu dem Manchester-Decodierer und dem Seriell/Parallel-Wandler 141. Der Decodierer und der Wandler 141 antworten durch Zurücksenden eines RX MESSAGE-Signals, das anzeigt, daß gerade eine Nachricht empfangen wird. Zu bestimmten anderen Zeiten sendet der Synchronisierer 142 ein RX CLEER MESSAGE-Signal zu dem Decodierer, um den Empfang einer Nachricht zu verhindern. Das RX MESSAGE-Signal ist mit einem internen Takt synchronisiert, um ein INTENTL MESSAGE-Signal zu der Empfänger-Steuerlogik 84 zu senden. Die Empfänger-Steuerlogik 84 sendet ein END MESSAGE PROCESSING-Signal zurück, nachdem eine Nachricht verarbeitet ist, oder wenn die Länge der Nachricht eine bestimmte Länge überschreitet, die durch einen Zähler 151 für eine maximale Nachrichtenlänge bestimmt ist. Die Empfänger- und Sender-Steuerlogik sendet auch ein TX BUSY-Signal zu dem Synchronisierer 142, um den Empfang einer Nachricht zu verhindern, wenn die Sender-Steuerlogik besetzt ist, außer wenn die Steuerlogik in dem Schleifenmodus ist.
- Während der Nachrichtenverarbeitung sendet die Empfänger-Steuerlogik 84 eine Anzahl verschiedener Anfragen zu der zentralen Schaltlogik 144. Diese Anfragen werden gemäß zweier separater Prioritätspegel gruppiert. Die REVRSE PATH-Anfrage und die DROP JUNCTOR-Anfrage sind Anfragen hoher Priorität, die jeweils den Pfad über einen zugeordneten Verbindungssatz umkehren und einen zugeordneten Verbindungssatz fallenlassen. Die Anfragen niedriger Priorität enthalten ROUTE MESSAGE und QUEUE MESSAGE. Die Anfrage ROUTE MESSAGE veranlaßt, daß ein Verbindungssatz zugeordnet wird, wenn ein Verbindungssatz verfügbar ist und wenn das Zielortport nicht besetzt ist, und andererseits wird die Nachricht in der Warteschlange für das Zielortport aufgezeichnet. Die Anfrage QUEUE MESSAGE veranlaßt, daß eine Führungsnachrichten-Anfrage für ein bestimmtes Zielortport in der Warteschlange angeordnet wird.
- Für ein Führen einer Nachricht bezieht sich die zentrale Schaltlogik 144 auf einen zentralen Logik-Zustandsspeicher 145, um den Zustand des Rechnerverbindungs-Kopplers zu bestimmen. Bei dem bevorzugten Ausführungsbeispiel besteht der zentrale Logik-Zustandsspeicher 145 aus der zentralen Schaltlogik 144 auf der Schalt-Steuerkarte (121 in Fig. 3). Zum Verhindern von Kollisionen zwischen einer geführten Nachricht und einem Signal, das gerade von dem Empfänger des Zielortports empfangen wird, ist es wünschenswert, daß die zentrale Schaltlogik 144 den Empfänger des Zielorttors schnell wählt, bevor der Führungsprozeß beendet wird. Daher wird ein Steuersignal RX CARRIER, das von dem Manchester-Decodierer kommt, von der Empfänger-Steuerlogik zu der zentralen Schaltlogik übertragen, um anzuzeigen, daß der Empfänger besetzt ist.
- Da die Nachrichten von den zahlreichen Kanälen aufasynchroner Basis empfangen werden, muß die Empfänger-Steuerlogik wissen, ob und wann die zentrale Schaltlogik 144 die Anfragen erfolgreich verarbeiten kann. Die Empfänger-Steuerlogik kann beispielsweise die zeitweise in dem FIFO-Puffer 143 gespeicherte Nachricht nicht übertragen, bis der Verbindungssatz zugeordnet worden ist. Gleichermaßen muß die Sender-Steuerlogik 92 wissen, ob eine Nachricht erfolgreich in eine Warteschlange gebracht ist, um eine Ablaufsteuerung zu übertragen, und sie muß weiterhin wissen, wann eine in eine Warteschlange gebrachte Nachrichtenanfrage den Kopf der jeweiligen Zielort -Warteschlange erreicht hat, in welchem Fall der Sender den Ablaufsteuer- Träger abschalten muß. Für diese Zwecke empfängt die Empfänger- und Sender-Steuerlogik Signale von der zentralen Schaltlogik 144, die anzeigen, ob ein Verbindungssatz den jeweiligen Empfänger- oder Senderschaltkreisen zugeordnet worden ist oder mit ihnen verbunden ist, und auch, ob die Ablaufsteuerung ein- oder ausgeschaltet werden sollte. Die Zuordnung und das Fallenlassen der Verbindungssätze kann aus Signalen bestimmt werden, die über den Verbindungssatz-Steuerbus geführt werden. Zusätzlich kann eine Verarbeitung der REVERSE PATH-, DROP JUNCTOR- und ROUTE MESSAGE-Anfragen durch Signale bestätigt werden, die über den Schalt-Steuerbus 124 (in Fig. 3) zurückgesendet werden. Die Ablaufsteuerung wird durch FLOW-CONTROL-ON- und FLOW-CONTROL-OFF-Signale ein- und ausgeschaltet, die über den Schalt-Steuerbus übertragen werden.
- Wenn es fehlschlägt, eine Nachricht in einem bestimmten vorbestimmten Zeitintervall zu führen, wird der FIFO-Puffer (143 in Fig. 4) des jeweiligen Kanalempfängers überlaufen. Zum Bestimmen, ob dieser Zustand auftreten wird, enthält die Empfänger-Steuerlogik einen Nachrichtenführungszeitgeber 154. Wenn die Nachricht nicht in dem vorbestimmten Zeitintervall geführt wird, wird sie weggeworfen, die ROUTE MESSAGE-Anfrage wird zurückgezogen, und eine QUEUE MESSAGE-Anfrage wird zu der zentralen Schaltlogik gesendet. Wenigstens ein Anfrage-Bestätigungs-Zeitgeber 155 überprüft, ob die zentrale Schaltlogik auf die anderen Serviceanfragen in einem vernünftigen Zeitintervall antwortet.
- Nach der Übertragung einer Nachricht und der Umkehr des Pfads über einen Verbindungssatz wird der Verbindungssatz für eine bestimmte Zeitperiode umgekehrt, während der Empfänger des Zielortkanals in dem ACK/NAK-Modus ist, der eine Bestätigung erwartet. Die Empfänger- und Sender-Steuerlogik 84, 92 enthält einen Erwartungs-ACK/NAK-Zeitgeber, der sicherstellt, daß die Empfänger-Steuerlogik 84 den ACK/NAK-Modus nach einem vorbestimmten Zeitintervall ausgeben wird, und auch, daß der der Empfänger-Steuerlogik zugeordnete Verbindungssatz fallengelassen wird. Zum weiteren Sicherstellen, daß dieser Verbindungssatz fallengelassen wird, enthält die zentrale Schaltlogik 144 Verbindungssatz-Zeitgeber 161, die ablaufen, wenn ein Verbindungssatz für länger als eine vorbestimmte Zeitgrenze zugeordnet ist. Die zentrale Schaltlogik enthält eine Einrichtung zum Erfassen des Ablaufs der Verbindungssatz-Zeitgeber, und zwar z. B. einen Verbindungssatz-Zähler 162 und einen Multiplexer 163. Wenn diese Schaltkreise einen abgelaufenen Verbindungssatz-Zeitgeber finden, erzeugen sie ein Verbindungssatz-Auszeit-Signal (JT), das eine Service-Verbindungssatz-Zeitgeberanfrage (SJT) verursacht, die durch die zentrale Schaltlogik 144 bedient wird, um den jeweiligen Verbindungssatz fallenzulassen.
- Wenn eine Nachrichtenanfrage in eine Warteschlange gebracht ist, wird die Ablaufsteuerung durch das FLOW-CONTROL-ON-Signal eingeschaltet. Wenn die Nachrichtenanfrage den Kopf ihrer jeweiligen Zielort -Warteschlange erreicht, wird der Zielortkanal zur Rückübertragung der Nachricht reserviert. Ein Satz von Warteschlangen-Zeitgebern 156 in der zentralen Schaltlogik stellt sicher, daß ein Zielort nicht für eine ausgesprochen lange Zeitperiode reserviert bleibt. Der Anfang der bestimmten Zeitperiode wird durch das FLOW-CONTROL-OFF-Signal angezeigt, das von der zentralen Schaltlogik 144 zu der Empfänger- und Sender-Steuerlogik 84, 92 übertragen wird. Zum Sicherstellen, daß die Ablaufsteuerung abgeschaltet werden wird, wenn eine angemessen lange Zeit verstrichen ist, ist ein Ablaufsteuerungs-Zeitgeber 157 in der Sender-Steuerlogik 92 vorgesehen. Die Sender-Steuerlogik 92 enthält weiterhin Schaltkreise, die ein FLOW CONTROL-Signal erzeugen, das zu dem Ablaufsteuer-/Datenmultiplexergerät 146 geführt wird. Auch erzeugt die Sender-Steuerlogik ein TRANSMITE ENABLE-Signal, das durch den Ablaufsteuer-/Datenmultiplexergerät 146 und weiter zu dem Parallel/Seriell-Wandler und dem Manchester-Codierer 147 geführt wird.
- Gemäß einem wichtigen Aspekt der vorliegenden Erfindung wird das FLOW CONTROL-Signal, das zu der Ablaufsteuerung/dem Datenmultiplexer 146 gesendet wird, zeitweilig abgehalten, wenn eine ankommende Nachricht über die Verbindungssätze zu der Sender-Steuerlogik 92 geführt wird. Diese ankommende Nachricht (der eine Lücke oder eine Pause vorausgeht) wird in den durch die Ablaufsteuerung/den Datenmultiplexer 146 ausgewählten Träger eingefügt, und zwar in Antwort auf das FLOW CONTROL-Signal. Daher ist es während der Zeit, zu der eine Datenverarbeitungsvorrichtung vom Senden einer Nachricht abgehalten wird, zugelassen, eine Nachricht zu empfangen. Darüber hinaus kann das Ablaufsteuerungssignal zu jener Datenverarbeitungsvorrichtung nach dem Empfang der ankommenden Nachricht und einem Senden des entsprechenden ACK oder NAK fortfahren.
- Wenn einmal die Empfänger- und Sender-Steuerlogik das FLOW- CONTROL-OFF-Signal empfängt und der Ablaufsteuerungsträger durch die Ablaufsteuerung/den Datenmultiplexer 146 ausgeschaltet worden ist, sollte die zuvor abgehaltene Datenverarbeitungsvorrichtung ihre erwünschte Nachricht in einem bestimmten Zeitlimit zurücksenden, das durch die Warteschlangen-Zeitgeber 156 gebildet ist. Wenn nicht, dann wird der Warteschlangen-Zeitgeber für die Warteschlange des erwünschten Zielorts der Nachricht ablaufen. Die zentrale Schaltlogik 144 enthält Schaltkreise wie beispielsweise einen Warteschlangenzähler und einen Multiplexer 159, die die Warteschlangen-Zeitgeber 156 periodisch abtasten und auf ein Finden eines abgelaufenen Warteschlangen-Zeitgebers hin ein Warteschlangen-Zeitaus-Signal (OT) erzeugen, das eine Service-Warteschlangen-Zeitgeber-Anfrage (SQT) veranlaßt. Wenn sie durch die zentrale Schaltlogik 144 verarbeitet wird, veranlaßt die SQT-Anfrage, daß die Nachrichtenanfrage an dem Kopf der jeweiligen Warteschlange von der Warteschlange gelöst wird, so daß die Nachrichtenanfrage, die in der Warteschlange als nächstes an der Reihe ist, bedient werden wird.
- Zum schnellen Verarbeiten einer Serviceanfrage ist der zentrale Logikzustand-Speicher 145 derart organisiert, daß die zum Verarbeiten der Anfrage erforderliche Information sehr schnell verfügbar ist.
- Zum Bestimmen, ob eine Fürungsanfrage durch einen zuvor definierten virtuellen Sternkoppler zugelassen ist, enthält der zentrale Logikzustand-Speicher beispielsweise einen Speicher 164 für zugelassene Quellengeräte, der durch Benutzen der Zahl des Quellenkanals adressiert wird, der die ROUTE MESSAGE-Anfrage erzeugte, und der zentrale Logikzustand-Speicher enthält weiterhin einen Speicher 165 für zulässige Zielortgeräte, der durch Benutzen der Zielortkanal-Zahl adressiert wird. Die spezifische Organisation und Benutzung der in diesen Speichern gespeicherten Information ist nachfolgend in Verbindung mit den Fig. 10 und 11 weiter beschrieben.
- Zum Freigeben der zentralen Schaltlogik 144, um den Zielort- oder Quellenkanalzustand zu bestimmen, der jeweils zu einem bestimmen Quellen- oder Zielortkanal gehört, enthält der Speicher für einen zentralen Logikzustand eine RX-Zustandstabelle 166 und eine TX-Zustandstabelle 167. Auf ähnliche Weise ist eine Tabelle 168 vorgesehen, die den Verbindungssatz zeigt, der jedem Quellenkanal zugeordnet ist, und es ist eine Tabelle 169 vorgesehen, die den Verbindungssatz zeigt, der jedem Zielortkanal zugeordnet ist. Zum Abtrennen eines Verbindungssatzes in Antwort auf eine Service-Verbindungssatz-Zeitgeberanfrage und auch zum schnellen Anzeigen der Zustände der Verbindungssätze ist eine Verbindungssatz-Tabelle 170 vorgesehen, die durch die Verbindungssatz-Zahl adressiert wird. Die Verbindungssatz-Tabelle bestimmt für jeden Verbindungssatz, ob jener Verbindungssatz zugeteilt ist, und wenn es so ist, die Quelle und den Zielort, denen der Verbindungssatz zugeteilt ist. Die Verbindungssatz-Tabelle 170 enthält auch einen Zustandseintrag, der benutzt werden kann, um einen Verbindungssatz beispielsweise für Wartungszwecke zu reservieren.
- Zum Freigeben der zentralen Schaltlogik 144, um Nachrichtenanfragen schnell auf den Zielort-Warteschlangen zu plazieren, hat der zentrale Speicher für einen Logikzustand separate Tabellen, einschließlich einer Tabelle 172, die jeweilige Zeiger zu den Anfängen der Warteschlangen bestimmt, und einer Tabelle 173, die jeweilige Zeiger zu den Enden der Warteschlangen bestimmt. Die Ausgaben der Anfangs- und End-Tabellen 172, 173 werden zu den am wenigsten signifikanten Adreßeingaben eines Speichers 174 multiplext, wo die Zielort-Warteschlangen gespeichert sind. Normalerweise werden die am meisten signifikanten Adreßeingaben des Warteschlangenspeichers 174 und der Warteschlangenzeiger-Tabellen 172 und 173 durch die Zahl des Zielortkanals adressiert, obwohl es bei einem Beispiel, das im weiteren nachfolgend beschrieben wird, wünschenswert ist, den Warteschlangenspeicher und die Tabellen durch die Quellenkanalzahl zu adressieren. Die Auswahl der Quellenkanalzahl oder der Zielortkanalzahl wird durch ein Paar Gatter 175, 176 geschaffen. Gleichermaßen wird der Anfangs- oder End-Zeiger durch ein Paar Gatter 177, 178 ausgewählt.
- Wenn eine Nachrichtenanfrage in eine Warteschlange gebracht wird, ist es für die zentrale Schaltlogik 144 wünschenswert, sicherzustellen, daß eine Quellenkanalzahl nur einmal auf einer gegebenen Zielort -Warteschlange erscheint. Damit die zentrale Schaltlogik schnell bestimmen kann, ob irgendeine gegebene Quellenkanalzahl schon in irgendeiner gegebenen Zielort-Warteschlange gespeichert ist oder nicht, ist eine Warteschlangen-Eintragstabelle 179 vorgesehen, die einen Einzel-Biteintrag für jede Kombination eines Quellen- und Zielortkanals enthält. Bei dem bevorzugten Ausführungsbeispiel, das 64 Kanäle enthält, ist die Warteschlangen-Eintragstabelle 179 beispielsweise als eine 64 · 64 Einzel-Bitmatrix organisiert. Ein jeweiliges Bit wird gesetzt, wann immer eine Nachrichtenanfrage auf der Warteschlange plaziert wird, und ein jeweiliges Bit wird gelöscht, wenn eine Nachrichtenanfrage von der Warteschlange entfernt wird.
- Wendet man sich nun Fig. 7 zu, ist dort ein Schaubild gezeigt, daß einen hierarchischen Rotations-Arbitrations-Schaltkreis darstellt, der zum Entscheiden über gleichzeitige Serviceanfragen vorteilhaft verwendet wird, die von der Empfänger- und Sender-Steuerlogik zu der zentralen Schaltlogik geführt werden. Fig. 7 ist ein vereinfachter Schaltkreis und es sollte verstanden werden, daß die in Fig. 8 gezeigte Alternative bevorzugt ist. Wie es in Fig. 7 gezeigt ist, enthält beispielsweise jede Kanal-Schnittstellenkarte 122', 123' einen jeweiligen Ringkanal-Zuteiler 181', der eine Serviceanfrage von einem bestimmten der jeweiligen Empfänger-Logikschaltkreise 84' auswählt, die zu jedem Kanal der Kanal-Schnittstellenkarte gehört. Darüber hinaus hat jede Kanal-Schnittstellenkarte 122', 123' eine jeweilige Anfrageleitung 183', die den jeweiligen Ringkanal-Zuteiler 181' mit einem Ringkarten-Zuteiler 184' auf der Schalt-Steuerkarte 121' verbindet. Der Ringkarten-Zuteiler 184' wählt die Anfrage von einem bestimmten der Ringkanal-Zuteiler-Schaltkreise 181' aus und führt jene Anfrage zu der zentralen Schaltlogik, damit sie bedient wird. Der Ringkarten-Zuteiler sendet auch die Kartenzahl der ausgewählten Karte über den Schalt-Steuerbus 124' und führt sie zu einem Karten-Auswahl-Decodierer 185', der auf jeder der Kanal-Schnittstellenkarten 122', 123' vorgesehen ist. Der Karten-Auswahl-Decodierer 185' erkennt eine bestimmte Kartenzahl, die durch den Ringkarten-Zuteiler 184' ausgewählt wird, und erzeugt ein Signal, das Gatter 186', 187', 188' freigibt, die die durch den Ringkanal-Zuteiler 181' ausgewählte Kanalzahl durchlassen. Als weiterhin ausgewählt durch einen Kanal-Decodierer 189' und Gatter 190', 191' wird ein Anfragecode von der Empfängerlogik des ausgewählten Kanals der ausgewählten Karte über den Schalt-Steuerbus 124' zu der Schalt-Steuerkarte 121' geführt. Der Anfragecode enthält beispielsweise eine Anfrage-Identifikationszahl, die die bestimmte Serviceanfrage identifiziert, und eine Zahl, die den Zielortkanal identifiziert, der zu einer Führungsnachrichten- oder einer Warteschlangen-Nachrichten- Serviceanfrage gehört.
- Ein wichtiger Vorteil des hierarchischen Arbitrationsschaltkreises der Fig. 7 besteht darin, daß zusätzliche Kanal-Schnittstellenkarten ohne Abänderung an entweder dem Ringkarten-Zuteiler 184' auf der Schalt-Steuerkarte 121' oder den Ringkanal-Zuteilern 181' auf den anderen Kanal-Schnittstellenkarten 122', 123' eingebaut werden können. Wenn eine Kanal-Schnittstellenkarte entfernt wird, geht ihre zugehörige Anfrageleitung 183' beispielsweise nach unten, so daß dem Ringkarten-Zuteiler 184' keine Anfrage präsentiert wird. Folglich übergeht der Ringkarten-Zuteiler 184' lediglich die fehlende Karte beim Entscheiden zwischen den Anfragen von den in dem Rechnerverbindungs-Koppler eingebauten Kanal-Schnittstellenkarten.
- Wie es in Fig. 7 gezeigt ist, veranlaßt beispielsweise jede Bestätigung einer Anfrage den Ringkarten-Zuteiler und den jeweiligen Ringkanal-Zuteiler dazu, zu den nächsten aktiven Anfragen fortgeschaltet zu werden. Insbesondere wirkt ein Anfragebestätigungs-Signal (REQ· ACK.) als eine "Service-Bewilligung" zum Freigeben des Ringkarten-Zuteilers 184' und des Ringkanal-Zuteilers 181' der ausgewählten Karte, um "zu takten", um die nächste Serviceanfrage auszuwählen. In diesem Zusammenhang sind die Taktfreigabe-Eingaben (CE) vorzugsweise völlig synchrone Eingaben und wirken auf eine zu den Datenfreigabe-Eingaben des standardmäßigen TTL-Teils mit der Nr. 74 173 analoge Weise; anders ausgedrückt ändern dann, wenn die Taktfreigabe-Eingabe (CE) niedrig ist, die synchronen Logikschaltkreise nicht den Zustand aufgrund einer selektiven Rückführung, selbst wenn die Register in den Logikschaltkreisen getaktet sind.
- Ein weiterer Vorteil des hierarchischen Prioritätsschemas der Fig. 7 besteht darin, daß die gesamte Arbitrationslogik relativ einfach ist, und die Arbitrationslogik für die Kanal-Schnittstellenkarten 122', 123' lediglich dupliziert ist. Darüber hinaus ist der Schaltkreis für den Ringkarten-Zuteiler 184' im wesentlichen der gleiche wie der Schaltkreis für die Ringkanal-Zuteiler 181'.
- Wendet man sich nun der Fig. 8 zu, ist die bevorzugte Kanal-Schnittstellenkarte 122 in größerem Detail gezeigt, einschließlich eines zweiten Ringkanal-Zuteiler 201 zum Entscheiden über Anfragen niedriger Priorität von den Empfänger-Logikschaltkreisen 84. Gemäß einem wichtigen Aspekt der vorliegenden Erfindung sind die Serviceanfragen in Anfragen niedriger Priorität und Anfragen hoher Priorität gruppiert, und separate Ring-Zuteiler sind zum Entscheiden über die Anfragen innerhalb jeder Prioritätsgruppe vorgesehen. Zu dem Ringkanal-Zuteiler 201 niedriger Priorität gehören beispielsweise ein Kanaldecodierer 202 und Gatter 203, 204, die in Verbindung mit den Gattern 186, 187 arbeiten, um entweder die Kanalzahl auszuwählen, die durch den Ringkanal-Zuteiler 201 niedriger Priorität geschaffen ist, oder die Kanalzahl, die durch den Ringkanal-Zuteiler 181 hoher Priorität geschaffen ist.
- Das Service-Anfragesignal hoher Priorität in einer Leitung 205 wird zu einem Inverter 206 geführt, um entweder die Gatter 203, 204 oder die Gatter 186, 187 freizugeben, wenn der Karten-Auswahl-Decodierer 185 freigegeben wird. Anders ausgedrückt wird, wenn eine Serviceanfrage von einer Karte gewährt wird, und Anfragen sowohl hoher als auch niedriger Priorität vorhanden sind, der anfragende Kanal, der zu den zentralen Karten-Zuteilern zurückgeführt wird, der Kanal der Anfrage hoher Priorität sein.
- Wie es weiterhin in Fig. 8 gezeigt ist, werden die Anfragen niedriger Priorität von den Ringkanal-Zuteilern niedriger Priorität zu einem Ringkarten-Zuteiler 207 auf der Schalt-Steuerkarte 121 geführt, und die Aufragen hoher Priorität von den Ringkanal-Zuteilern hoher Priorität werden zu einem Ringkarten-Zuteiler 208 hoher Priorität geführt, der auch auf der Schalt-Steuerkarte 121 ist. Ein OR-Gatter 218 kombiniert ein HIGH REQ·ACK·-Signal und ein LOW REQ·ACK·- Signal, um ein GRAB SERVICE REQUEST-Signal für die Kanal-Schnittstellenkarten 122, 123 zu erzeugen. Die Kartenauswahlzahl des Kanals, dem eine Priorität zugeteilt wird, wird durch ein freigegebenes zweier Gatter 219, 220 mit drei Zuständen geschaffen. Das Gatter 219 wird durch die HIGH REQ·-Ausgabe des Ringkarten-Zuteilers 208 hoher Priorität gesperrt, und das Gatter 220 wird durch diese HIGH REQ·-Ausgabe freigegeben.
- Die Umkehr- bzw. Rückpfadanfrage und die Ausfall-Verbindungssatzanfrage sind vorzugsweise zusammen als Anfragen hoher Priorität gruppiert, und die Fürungsnachrichten- und Warteschlangennachrichten- Anfragen sind zusammen als Anfragen niedriger Priorität gruppiert. In der Empfänger-Kanallogik 84 werden die Anfragen hoher Priorität durch ein OR-Gatter 210 kombiniert, und die Anfragen niedriger Priorität werden durch ein OR-Gatter 211 kombiniert.
- Wendet man sich nun der Fig. 9 zu, ist dort ein schematisches Schaubild der bevorzugten Organisation eines Ringkanal-Zuteilers 181 gezeigt. Im wesentlichen ist derselbe Schaltkreis für den Ringkarten-Zuteiler 184 in der zentralen Schaltlogik benutzt. Der Ringzuteiler enthält ein Register 221, das die Zahl des Kanals speichert, dem zuletzt eine Priorität gegeben ist. Der Kanal, dem als nächstes eine Priorität zu geben ist, wird durch eine Kanal-Auswahllogik 222 bestimmt. Zum Vereinfachen der Implementierung dieser Kanal-Auswahllogik durch Benutzen einer programmierbaren Logikanordnung empfängt die Kanal-Auswahllogik die Ausgaben eines Kanaldecodierers 223 und erzeugt einzelne Kanal-Auswahlausgaben, die einem Codierer 224 zugeführt werden, der die codierte Kanalzahl des nächsten Kanals erzeugt, dem eine Priorität zu geben ist. Die logischen Gleichungen für die Kanal-Auswahllogik 222 sind im ANHANG I enthalten. Zusätzlich zu einem Empfangen von Kanal-Auswahlsignalen von dem Decodierer 223 empfängt die Kanal-Auswahllogik 222 auch die individuellen Anfragen von den Kanälen, die zu ihrer Kanal-Schnittstellenkarte gehören. Die Ausgaben der Kanal-Auswahllogik 222, von denen jede anzeigt, ob einem jeweiligen Kanal als nächstes eine Priorität gegeben werden muß, werden in einem logischen OR-Gatter 225 kombiniert, um anzuzeigen, ob gerade eine Anfrage durch irgendeinen der Kanäle präsentiert wird.
- Wendet man sich nun der Fig. 10 zu, ist dort ein Venn-Diagramm gezeigt, das allgemein mit 230 bezeichnet ist und die Definition eines virtuellen Sternkopplers als einen vorbestimmten Satz von Quellenkanälen darstellt, die zu einem jeweiligen Satz von Zielortkanälen gehören. Wie es in Fig. 10 gezeigt ist, kann der Satz von Quellenkanälen den Satz von Zielortkanälen schneiden. In diesem Fall können die Kanäle bei der Schnittstelle frei miteinander kommunizieren. Andererseits kann die Nachrichtenübertragung zwischen den Kanälen nur von den Quellenkanälen zu den Zielortkanälen erfolgen. Vorzugsweise kann eine Anzahl solcher virtueller Sternkoppler für den Rechnerverbindungs-Koppler definiert werden. Irgendein gegebener Kanal kann in mehr als einem der virtuellen Sternkoppler enthalten sein.
- Wendet man sich nun der Fig. 11 zu, ist dort eine bevorzugte Art zum Darstellen der virtuellen Sternkoppler in dem Speicher 164 für zugelassene Quellengeräte und dem Speicher 165 für zugelassene Zielortgeräte gezeigt. Der Speicher 164 für zugelassene Quellengeräte enthält 64 Bytes, die durch die Kanalzahlen 0 bis 63 adressiert werden. Jede Bitstelle in jedem der Bytes ist eine logische 1 oder 0, um dazustellen, ob der Quellenkanal, der das Byte adressiert, in einem virtuellen Sternkoppler für die jeweilige Bitstelle enthalten ist oder nicht. Der Speicher 165 für zugelassene Zielortgeräte ist ähnlich dazu als ein Satz aus 64 Bytes organisiert, wobei jedes Bit des Bytes eine logische 1 oder 0 ist, um anzuzeigen, ob die Zielortkanalzahl, die das Byte adressiert, in dem virtuellen Sternkoppler enthalten ist, der durch jede jeweilige Bitstelle dargestellt wird, oder nicht.
- Zum Bestimmen, ob eine Nachricht von einem bestimmten Quellenkanal zulässigerweise zu einem bestimmten Zielortkanal geführt werden kann, werden die jeweiligen Bit-Ausgabeleitungen des Speichers 164 für zugelassene Quellengeräte mit den jeweiligen Bitausgaben des Speichers 165 für zugelassene Zielortgeräte unter Benutzung von logischen AND-Gattern 241 logisch AND-verknüpft. Daher hat jedes Gatter eine Ausgabe, die anzeigt, ob die bestimmte Quelle und der bestimmte Zielort in dem jeweiligen Quellenkanal-Satz und dem jeweiligen Zielortkanal-Satz für einen jeweiligen der acht möglichen virtuellen Koppler gefunden sind, die für den Rechnerverbindungs-Koppler definiert werden können. Da die Nachricht geführt werden sollte, wenn ein Führen durch irgendeinen der acht virtuellen Sternkoppler zugelassen wird, werden die Ausgaben der AND-Gatter 241 in einem logischen OR-Gatter 242 kombiniert, um ein Signal zum Freigeben des Führens der Nachricht zu erzeugen.
- 30 Anhand eines Beispiels sind in Fig. 11 das Programmieren für den Speicher 164 für zugelassene Quellensätze und den Speicher 165 für zugelassene Zielortsätze gezeigt worden, um die spezifischen Fälle eines virtuellen Sternkopplers zum Zulassen, daß eine Vorrichtung nur Nachrichten empfängt, nur Nachrichten sendet und Nachrichten zwischen einer kleinen ausgewählten Gruppe der Kanäle austauscht, darzustellen. Der virtuelle Sternkoppler, der für die 0-Bitstelle definiert ist, enthält logische Einsen für alle Quellenkanäle in dem Speicher 164 für zugelassene Quellensätze, hat aber eine logische Eins nur in der 0-Bitstelle für die Zielortkanal-Zahl 0. Daher gibt der virtuelle Sternkoppler, der für die 0-Bitpositon definiert ist, die Datenverarbeitungsvorrichtung frei, die mit dem Kanal 0 verbunden ist, um nur zum Empfangen von Daten benutzt zu werden.
- Der virtuelle Sternkoppler, der durch die zweite Bitstelle definiert ist, hat logische Einsen nur für die beiden Quellenkanäle 1 und 2, und die Zielortkanäle 1 und 2. Daher koppelt dieser virtuelle Sternkoppler die Kanäle 1 und 2 zum Datenaustausch in irgendeiner Richtung zwischen ihnen miteinander. Virtuelle Sternkoppler dieser Art können für jeweilige Speicherserver definiert werden, um ihre jeweiligen Zugriffsbelastungen auszugleichen. Virtuelle Sternkoppler dieser Art können auch definiert werden, um ein flexibles Anordnen oder ein logisches Bewegen von Zentralprozessor-Betriebsmitteln von einer gekoppelten Gruppe von Prozessoren zu einer anderen zu ermöglichen. Der virtueller Sternkoppler, der zu der Bit-2-Stelle gehört, enthält eine logische eins nur für den Quellenkanal 3, erzeugt aber logische Einsen für alle Zielortkanäle. Daher definiert dieser virtuelle Sternkoppler, der zu dem Bit 2 gehört, die Datenverarbeitungsvorrichtung, die mit dem Quellenkanal 3 verbunden ist, als fähig, Daten nur zu den anderen Datenverarbeitungsvorrichtungen zu senden.
- Wendet man sich nun der Fig. 12 zu, ist dort ein bevorzugtes Format für Nachrichten und eine Bestätigung bzw. Rückmeldung gezeigt. Die Nachrichten und Bestätigungen werden asynchron übertragen und sind durch Zwischenräume getrennt, wo ein Träger von dem Kanal abwesend ist, der die Nachricht überträgt. Jede Nachricht enthält in einer Sequenz einen Anfang mit dem Wert von hexadezimal 55 zum Zwecke des Erleichterns einer Bitsynchronisierung, ein Zeichen-Synchronisierbyte mit dem Wert von hexadezimal 96 für eine Datenübertragungsblock-Synchronisierung, ein Byte, das anzeigt, ob eine Nachricht oder entweder eine positive oder eine negative Bestätigung (ACK/NAK) gerade empfangen wird, ein Byte, das die Länge der Nachricht anzeigt, ein Byte, das die gewünschte Zielortkanalzahl anzeigt, ein Byte, das das Komplement der erwünschten Zielortkanalzahl anzeigt, ein Byte, das den Quellenkanal für die Nachricht anzeigt, eine Anzahl von Datenbytes, wie sie zuvor durch die Länge der Nachricht bestimmt wurde, ein zyklisches Redundanz-Prüfwort (CRC), und ein Ende mit einem Wert von hexadezimal FF. Es sollte bemerkt werden, daß das Format für die positiven und negativen Bestätigungen (ACK/NAK) ähnlich zu der Form ist, die in Fig. 12 gezeigt ist, außer daß in einem derartigen Fall das Byte, das die Länge der Nachricht anzeigt, weggelassen ist, und die Daten auch weggelassen sind.
- Wendet man sich nun der Fig. 13 zu, ist dort ein schematisches Diagramm einer Empfängerlogik zum anfänglichen Detektieren einer Nachricht gemäß dem Nachrichtenformat gezeigt, das in Fig. 12 gezeigt ist. Die von einer Datenverarbeitungsvorrichtung übertragene Nachricht wird in einem Manchester-Decodierer 251 und einem Träger-Detektor 252 empfangen, wie es weiterhin in dem US-Patent 4,592,072 von Stuart beschrieben ist, das hierin durch Bezugnahme enthalten ist. Der Nachrichten-Decodierer in Fig. 13 kann in einem von zwei primären Zuständen sein, wie es durch ein Flip-Flop 253 bestimmt wird. Der Nachrichten-Decodierer tritt in den freien Zustand ein, wenn er in Antwort auf ein NEW MESSAGE REQ·-Signal rückgesetzt wird, und wenn ein Träger durch den Träger-Detektor 252 detektiert wird. Zu diesem Zweck wird das Flip-Flop 253 durch die Präsenz des Trägers gesetzt und wird bei Abwesenheit des Trägers durch ein Flip-Flop 254, einen Inverter 255 und ein Gatter 256 rückgesetzt.
- Wenn der Nachrichten-Decodierer der Fig. 13 den freien Zustand verläßt und bei der Präsenz des Trägers besetzt wird, werden die decodierten Daten in serieller Form von dem Manchester-Decodierer 251 in ein Seriell/Parallel-Wandlerregister 257 getaktet. Wenn die Daten in den Seriell/Parallel-Wandler 257 getaktet werden, wird ein Anfangs-Zeitgeberintervall beobachtet, während der Nachrichten-Decodierer auf den Zeichen-Synchronisierwert von hexadezimal 96 wartet. Die Präsenz dieser Zeichen-Synchronisierung wird durch einen Decodierer 258 detektiert. Wenn ein Träger nicht erscheint oder das Anfangs-Auszeit-Intervall abläuft, bevor das synchronisierte Zeichen detektiert wird, wird ein Anfangs-Auszeit-Flag durch ein Flip-Flop 259 angezeigt. Das Zeitgabeintervall wird durch einen Zähler 260 bestimmt, der durch ein OR-Gatter 261 rückgesetzt wird, wenn der Nachrichten-Decodierer frei ist, wenn das synchronisierte Zeichen detektiert wird, oder wenn das Anfangs-Zeitaus-Flag gesetzt wird. Ein Nichterscheinen des Trägers während dieses Anfangs-Zeitaus- Intervalls wird durch ein AND-Gatter 262 detektiert, und die zwei Bedingungen zum Setzen des Anfangs-Zeitaus-Flags werden in einem OR- Gatter 263 kombiniert.
- Zum Signalisieren der Anwesenheit einer Nachricht, wenn das synchronisierte Zeichen gefunden wird, nachdem der Nachrichten-Decodierer besetzt wird, setzt ein AND-Gatter 264 ein Flip-Flop 265. Wenn dieses Flip-Flop gesetzt wird, beginnt ein 3-Bit-Binärzähler 266 zu zählen, um einen Takt für die Bytes zu erzeugen, die in dem Seriell/Parallel-Wandlerregister 257 auftreten. Die in einen Datenübertragungsblock synchronisierten Bytes werden in ein Ausgaberegister 267 ausgeblendet bzw. getaktet, wenn der Zähler 266 einen Wert von 7 erreicht, wie es durch ein AND-Gatter 268 detektiert wird. Damit der Datenübertragungsblock-Synchronisiercode auch in dem Ausgaberegister 267 empfangen wird, kombiniert ein OR-Gatter 269 das NEXT BYTE-Signal mit der Ausgabe eines AND-Gatters 270, um ein Takt-Freigabesignal für das Ausgaberegister 267 zu erzeugen. Ein Byte-Takt für die Bytes, die aus dem Ausgaberegister 267 erscheinen, wird durch die Ausgabe Q&sub2; des 3-Bit-Binärzählers 266 geschaffen. Zum Synchronisieren der Daten von dem Ausgaberegister 267 mit einem internen Takt, werden ein Paar Gatter 271, 272 und ein Flip-Flop 273 benutzt, um einen Quadratur-Byte-Takt zu erzeugen, der in bezug auf die Ausgabe Q&sub2; des 3-Bit-Binärzählers 266 weitergeschaltet wird.
- Zum Verarbeiten der ankommenden Nachrichten ist es wünschenswert, den Nachrichten-Decodierer in einem Handshake-Modus zu betreiben, in dem der Nachrichten-Decodierer eine Nachricht nur erkennt, nachdem der Decodierer ein NEW MESSAGE REQ·-Signal empfangen hat, so daß eine Nachricht vollständig verarbeitet werden kann, bevor eine weitere Nachricht durch den Decodierer erkannt wird. Zu diesem Zweck wird das Ende einer Nachricht durch ein Flip-Flop 274 detektiert, das gesetzt wird, wenn das Flip-Flop 265 gesetzt wird und der Träger verloren wird, wie es durch ein AND-Gatter 275 detektiert wird. Das Flip-Flop 274 erzeugt daher ein INCOMING MESSAGE COMPLETE-Signal. Ein AND-Gatter 276 kombiniert die Q-Ausgabe des Flip-Flops 265 mit der Q-Komplement-Ausgabe des Flip-Flops 274, um ein MESSAGE-Signal zu schaffen, das während des Auftretens einer Nachricht hoch ist.
- Bei bestimmten Zeiten während des Betriebs des Rechnerverbindungs- Kopplers der vorliegenden Erfindung ist es wünschenswert, den Nachrichten-Decodierer vor ankommenden Nachrichten anzuhalten oder zu löschen. Dies sollte beispielsweise durchgeführt werden, wenn ein Kanalsender aktiviert ist, so daß eine ankommende Nachricht gleichzeitig damit nicht veranlassen wird, daß Flags gesetzt werden, wenn die ankommende Nachricht beendet ist. Zu diesem Zweck enthält der Nachrichten-Decodierer ein Or-Gatter 276, das ein CLEER MESSAGE- Signal zum Setzen des Flip-Flops 273 empfängt und dadurch das MESSAGE-Signal niedrig hält, bis das CLEAR MESSAGE-Signal entfernt wird und darauf folgend der Träger abwesend wird.
- Wendet man sich nun der Fig. 14 zu, ist dort ein schematisches Schaubild eines Nachrichten-Synchronisierers und eines Zykluszählers für die Kanal-Empfängerlogik gezeigt. Zum Synchronisieren der empfangenen Datenbytes mit einem internen Byte-Takt 281 ist ein Paar von Registern 282 und 283 vorgesehen, die mit einer Phasendifferenz von 180º von dem Byte-Takt getaktet werden, wie es durch einen Inverter 284 erzeugt wird. Für Nachrichten mit einer bestimmten begrenzten Dauer entsprechend der maximalen zulässigen Nachrichtenlänge können die Ausgaben eines dieser zwei Register 282, 283 durch ein jeweiliges von zwei Gattern 285, 286 ausgewählt werden, um Daten zu erzeugen, die mit dem internen Byte-Takt 281 synchronisiert sind. Um zu bestimmen, welches dieser zwei Gatter freigegeben werden sollte, tastet ein Flip-Flop 287, das durch den internen Byte-Takt 281 getaktet wird, den fortgeschrittenen Quadratur-Byte-Takt von dem Nachrichten-Decodierer der Fig. 13 ab. Darüber hinaus wird diese Entscheidung für die Dauer der Nachricht durch Freigeben des Verzögerungs-Flip-Flops 287 nur in der Abwesenheit des MESSAGE-Signals gehalten. Ein Verzögerungs-Flip-Flop 288 erzeugt eine notwendige Verzögerung zum Sperren des Taktes zu dem Flip-Flop 287. Damit die Bytes mit dem internen Byte-Takt genau synchronisiert werden, ist ein Ausgaberegister 289 vorgesehen, das durch den internen Byte-Takt 281 getaktet wird. Ein Verzögerungs-Flip-Flop 290 erzeugt ein INTER- NAL MESSAGE-Signal, das anzeigt, wann die Bytes, die durch das Flip- Flop 289 präsentiert werden, Bytes von einer empfangenen Nachricht darstellen.
- Zum Identifizieren jedes individuellen Bytes in dem Nachrichtenformat der Fig. 12 erzeugt ein Schieberegister-Zykluszähler 291 ein jeweiliges Abtastsignal, wenn die jeweiligen Bytes an dem Ausgang des Ausgaberegisters 289 erscheinen. Dieser Schieberegister-Zykluszähler empfängt einen Anfangsimpuls, der durch ein AND-Gatter 292 erzeugt wird, das die führende Flanke des INTERNAL MESSAGE-Signals detektiert. Gleichermaßen erzeugt ein AND-Gatter 293 ein END MESSAGE- Signal an der hinteren Flanke des INTERNAL MESSAGE-Signals.
- Es sollte daran erinnert werden, daß das Format der Fig. 12 das Format für eine Nachricht ist und das Format für einen zurückgesendeten Bestätigungscode ähnlich dazu ist, außer daß das LENGTH-Byte fehlt. Zum Zulassen, daß der Schieberegister-Zykluszähler 291 zum Decodieren von Bytes sowohl für Nachrichten als auch Bestätigungen benutzt wird, ist ein Multiplexer vorgesehen, der allgemein mit 294 bezeichnet ist, der die Positionen der Abtastimpulse für das DEST-, das DEST-Komplement-, und das SOURCE-Abtastsignal verschiebt, wenn eine Bestätigung durch die Kanal-Empfängerlogik erwartet wird.
- In Fig. 14 ist auch eine Logik zum Liefern der Handshake- und Nachrichten-Löschsignale zu dem Nachrichten-Decodierer der Fig. 13 gezeigt. Ein Flip-Flop 295 liefert in dem gewöhnlichen Fall an dem Ende der Nachrichtenverarbeitung ein NEW MESSAGE REQUEST-Signal. In Antwort auf ein System-RESET-Signal oder während der Zeit, zu der der Kanalsender besetzt ist, sollte jede gegenwärtige Nachricht gelöscht werden und eine neue Nachricht sollte angefragt werden. Zu diesem Zweck kombiniert ein OR-Gatter 296 ein System-RESET-Signal und ein TX BUSY-Signal, um das CLEAR MESSAGE-Signal zu dem Kanalempfänger zu erzeugen. Auch kombiniert ein zweites OR-Gatter 297 dieses CLEAR MESSAGE-Signal mit der Ausgabe des Flip-Flops 295, um das NEW MESSAGE REQUEST-Signal zu erzeugen, das zu dem Kanalempfänger der Fig. 13 zurückgesendet wird. Ein weiteres OR-Gatter 298 wird zum Kombinieren des CLEAR MESSAGE-Signals mit der Ausgabe des AND-Gatters 292 benutzt, um ein INIT-Signal für die Kanal-Empfängerlogik zu erzeugen, so daß die Kanal-Empfängerlogik rückgesetzt wird, wann immer der Kanalsender besetzt ist, oder ein System-RESET auftritt, oder genau bevor eine detektierte Nachricht an dem Ausgang des Ausgaberegisters 289 erscheint.
- Wendet man sich nun der Fig. 15 zu, ist dort ein schematisches Schaubild der Kanal-Empfängerlogik zum Führen einer Nachrichtenanfrage und zum Beenden einer Nachrichtenverarbeitung gezeigt. Im allgemeinen erzeugt die Kanal-Empfängerlogik eine Führungs-Nachrichtenanfrage, wenn der Zielort und das Zielort-Komplement einander entsprechen, wenn die Quellenzahl in der Nachricht der physikalischen Kanalzahl entspricht, und wenn der Typ der Nachricht mit dem erwarteten Typ übereinstimmt und der erwarte Typ kein ACK/NAK-Code ist.
- Zum Überprüfen, ob der Zielort dem Zielort-Komplement entspricht, wird der Zielort in ein Register 301 getaktet. Eine Reihe von Exclusive-OR-Gattern 302 mit zwei Eingängen und ein NAND-Gatter 302 mit acht Eingängen vergleichen den in das Register 301 getakteten Zielort mit den Datenbytes in der empfangenen Nachricht. Ein Flip- Flop 304 überprüft, ob es einen Vergleich während der Zeit der DEST·-Komplement-Taktung gibt. Darüber hinaus wird ein Flip-Flop 306 benutzt, um ein Flag für eine Fehlanpassung des Zielorts zu dem Diagnoseprozessor in dem Fall zu geben, daß der Zielort und das Zielort-Komplement einander nicht entsprechen. Auf eine ähnliche Weise werden die Datenbytes durch einen Quellen-Komparator untersucht, der einen Satz von Exclusive-OR-Gattern 307 und ein AND-Gatter 308 enthält, und der auch den SOURCE-Takt empfängt, um ein Signal zu einem Inverter 309 zum Erzeugen eines Freigabesignals zu liefern, wenn die Quellenzahl in der Nachricht mit der Kanalzahl des Kanalempfängers übereinstimmt. Darüber hinaus liefert ein Flip-Flop 310 ein Flag für eine Fehlanpassung der Quelle zu dem Diagnoseprozessor. Ein derartiges Flag kann beispielsweise anzeigen, daß ein Kommunikationskabel von einer bestimmten Datenverarbeitungseinheit zu ihrem zugeordneten Kanal des Rechnerverbindungs-Kopplers fehlgeleitet worden ist.
- Zum Zwecke des Erfassens des Typs der Nachricht oder des Codes werden die Datenbytes zu einem ACK-Decodierer 311 und einem NAK-Decodierer 312 geführt, die Ausgänge aufweisen, die durch ein OR-Gatter 313 verbunden sind, um eine Anzeige darüber zu liefern, ob die Nachricht ein ACK- oder ein NAK-Code ist.
- Um für die Kanal-Empfängerlogik zu bestimmen, ob ein ACK- oder ein NAK-Code erwartet wird, wird ein Flip-Flop 314 durch das System-Rücksetzsignal zurückgesetzt, und zwar durch Lösen eines Verbindungssatzes, der dem Empfänger zugeordnet ist, und durch den Ablauf des Zeitgebers 160 für eine erwartete Bestätigung. Die erforderliche Kombination dieser Signale wird durch ein OR-Gatter 316 erzeugt. Der Zeitgeber 160 für eine erwartete Bestätigung mißt vorzugsweise die Zeit, während der ein Verbindungssatz für die Rücksendeübertragung einer Bestätigung reserviert ist. Daher sollte der Zeitgeber 315 für eine erwartete Bestätigung zählen, wenn eine Bestätigung erwartet wird, und zwar beginnend zu der Zeit, zu der ein Verbindungssatz zu dem Kanalempfänger hinzugefügt wird, und weitergehend bis zu der Zeit, zu der der Typ der zurückgesendeten Bestätigung oder einer Nachricht bestimmt werden kann. Daher ist zum Steuern des Zeitgebers 160 für eine erwartete Bestätigung ein Flip-Flop 317 vorgesehen, das durch ein AND-Gater 318 gesetzt wird, wenn eine Bestätigung erwartet wird und wenn ein Verbindungssatz zu dem Kanalempfänger hinzugefügt wird, und durch ein OR-Gatter 319 rückgesetzt wird, wenn keine Bestätigung erwartet wird oder wenn der TYPE-Takt auftritt.
- Zum Zurückweisen einer Nachricht oder einer Bestätigung des falschen Typs vergleicht ein Exclusive-OR-Gatter 320 den erwarteten Typ von dem Flip-Flop 314 mit dem empfangenen Typ, der durch das OR-Gatter 313 angezeigt wird. Der Ausgang des Exclusive-OR-Gatters wird zu einem AND-Gatter 321 geführt, das durch den TYPE-Takt freigegeben wird, um ein Flip-Flop 322 zu setzen, wenn der Typ der Nachricht nicht mit dem erwarteten Typ übereinstimmt. Weiterhin setzt das AND- Gatter 321 ein Flip-Flop 323, um ein Flag zu erzeugen, das dem Diagnoseprozessor anzeigt, daß eine Nachricht oder eine Bestätigung der falschen Art empfangen worden ist.
- Eine Anfrage zum Führen einer Nachricht wird durch ein AND-Gatter 324 und ein Flip-Flop 325 erzeugt. Wenn der Zielort und das Zielort-Komplement der Nachricht übereinstimmen, hat die Nachricht eine richtige Art, die kein Bestätigungscode ist, und die Quellenzahl der Nachricht paßt mit der physikalischen Kanalzahl des Kanalempfängers überein. Wenn das Flip-Flop 325 gesetzt wird, wird auch der Zeitgeber 154 für ein Führen einer Nachricht freigegeben. Das Flip-Flop 325 wird durch ein OR-Gatter 325 rückgesetzt, wenn ein Verbindungssatz zu dem Kanalempfänger hinzugefügt wird, wenn der Kanalempfänger zu dem Beginn eines Empfangens einer Nachricht initialisiert wird, oder wenn das Führen der Nachricht durch das Flip-Flop 325 angefragt worden ist und der Zeitgeber 154 für ein Führen einer Nachricht abläuft. Dieser letzte Zusammenhang wird durch ein AND-Gatter 327 bestimmt. Das AND- Gatter 327 erzeugt daher ein MESSAGE ROUTING TIME OUT-Signal, das anzeigt, daß die zentrale Schaltlogik nicht innerhalb einer bestimmten vorbestimmten Zeitbegrenzung, die zum Sicherstellen, daß der FIFO-Puffer (143 in Fig. 4) wenigstens den Anfangsteil der Nachricht ohne überzulaufen speichern wird, gewählt ist, auf die Führungs-Nachrichtenanfrage geantwortet hat.
- Man sollte sich daran erinnern, daß, wenn die zentrale Schaltlogik (144 in Fig. 4) eine Nachricht nicht führen kann, weil der Zielort- Sender oder -Empfänger besetzt ist, oder ein freier Verbindungssatz nicht verfügbar ist, sie die Nachrichtenanfrage dann auf einer Zielort-Warteschlange einordnen wird und ein FLOW CONTROL ON-Signal zurück zu dem Kanalempfänger und -sender senden wird. Wenn dies auftritt, dann wird das Flip-Flop 325 durch das INIT-Signal rückgesetzt.
- In Fig. 15 ist auch ein OR-Gatter 328 gezeigt, das das END MES. PROC·-Signal an dem Ende der Verarbeitung einer Nachricht erzeugt. Ein Nachrichtenverarbeiten wird beendet, wenn es eine Fehlanpassung eines Zielorts, eine Fehlanpassung einer Quelle, den Empfang einer Nachricht oder einer Bestätigung der falschen Art, eine zu späte Bestätigung, eine Nachrichtenlänge, die eine bestimmte vorbestimmte maximale Nachrichtenlänge überschreitet, einen von dem Kanalempfänger gelösten Verbindungssatz oder das Ende des Bringens einer Nachricht in eine Warteschlange gibt. Zum Bestimmen, ob die Nachricht eine bestimmte maximale Nachrichtenlänge überschreitet, wird der Zähler 151 für eine maximale Nachrichtenlänge in Abwesenheit einer Nachricht auf einer voreingestellten Zahl gehalten, wie es durch einen Inverter 329 angezeigt ist, und wenn während einer Nachricht eine Zeitüberschreitung auftritt, wird ein Flip-Flop 330 gesetzt. Ein AND-Gatter 331 setzt zu dieser Zeit auch ein Flip-Flop 332, um ein Flag zu dem Diagnoseprozessor zu liefern, um anzuzeigen, daß die Nachricht zu lang ist. Das AND-Gatter 331 stellt sicher, daß das Flag-Flip-Flop 332 nicht mehr als einmal pro Nachricht gesetzt wird.
- Wendet man sich nun der Fig. 16 zu, ist dort ein schematisches Schaubild der Kanalempfänger- und -senderlogik zum Bringen von Nachrichten in eine Warteschlange gezeigt. Das MESSAGE ROUTING TIME OUT-Signal von Fig. 15 setzt ein Flip-Flop 341, das eine Warteschlangen-Nachrichtenanfrage zu der zentralen Schaltlogik sendet. Das MESSAGE ROUTING TIME OUT-Signal setzt auch einen Zeitgeber 342 für eine Anfragebestätigung. Wenn dieser Zeitgeber vor einem Erfüllen der Warteschlangen-Nachrichtenanfrage abläuft, wie es durch ein AND-Gatter 343 erfaßt wird, wird ein FLip-Flop 344 gesetzt, das dem Diagnoseprozessor einen Warteschlangen-Anfragefehler anzeigt. Das Flip-Flop 341, das die Wartschlangen-Nachrichtenanfrage erzeugt, wird durch das INIT-Signal rückgesetzt, und zwar durch das AND-Gatter 343 auf das Auftreten eines Warteschlangen-Anfragefehlers hin, oder in dem gewöhnlichen Fall durch das FLOW-CONTROL-ON-Signal von der zentralen Schaltlogik. Die Kombination dieser Bedingungen wird durch ein OR- Gatter 345 geschaffen. Das Ende des Bringens in eine Warteschlange wird durch ein weiteres OR-Gatter 346 angezeigt, wann immer der Warteschlangen-Anfragefehler auftritt oder die Ablaufsteuerung eingeschaltet wird.
- Der Zustand der Ablaufsteuerung für den Sender wird durch ein Flip- Flop 347 angezeigt, das durch das FLOW-CONTROL-ON-Signal- von der zentralen Schaltlogik gesetzt wird, und durch das System-RESET-Signal, den FLOW-CONTROL-OFF-Befehl von der zentralen Schaltlogik oder auf den Ablauf des Zeitgebers 157 für die Ablaufsteuerung hin, wenn die Ablaufsteuerung eingeschaltet ist, rückgesetzt wird. Die erforderliche Verbindung und Trennung wird durch ein AND-Gatter 348 oder ein OR-Gatter 349 geschaffen. Ein Ablauf des Zeitgebers 157 für die Ablaufsteuerung, wenn die Ablaufsteuerung eingeschaltet ist, setzt ein Flip-Flop 349, das ein Ablaufsteuerung-Zeitüberschreitungsflag zu dem Diagnoseprozessor liefert.
- Der Kanalsender wird für besetzt gehalten, wenn das Ablaufsteuerungs-Flip-Flop 347 gesetzt ist, oder wenn ein Verbindungssatz dem Kanalsender zugeordnet ist, nicht aber dem Kanalempfänger. Diese Bedingungen werden durch einen Inverter 350, ein AND-Gatter 351 und ein OR-Gatter 352 beschlossen. Wie es oben beschrieben ist, wird der Kanalempfänger gesperrt, wenn der Kanalsender für besetzt gehalten wird. Der Kanalsender und der Kanalempfänger können jedoch in dem Wartungsmodus gleichzeitig arbeiten, der dann auftritt, wenn Verbindungssätze sowohl dem Kanalsender als auch dem Kanalempfänger zugeordnet sind, wie es durch ein AND-Gatter 353 erfaßt wird.
- Es ist wünschenswert, das Senden des Ablaufsteuerungsträgers zu einer Datenverarbeitungsvorrichtung zu verzögern, bis irgendein Träger, der gerade durch jene Datensteuerungsvorrichtung gesendet wird, ein Ende findet, und insbesondere ist es wünschenswert, eine Pause von etwa fünf Taktzyklen zwischen der Zeit zu haben, zu der der Träger verschwindet, der durch die Datenverarbeitungsvorrichtung gesendet wird, und zu der der Ablaufsteuerungsträger eingeschaltet wird. Daher wird ein FLOW CONTROL XMIT-Signal durch ein Flip-Flop 354 erzeugt, das in der Abwesenheit einer Ablaufsteuerung rückgesetzt wird und fünf Taktzyklen nachdem der Träger verschwindet, der durch den Kanalempfänger erfaßt wird, gesetzt wird. Die erforderlichen Setz- und Rücksetzbedingungen für das Flip-Flop 354 werden durch einen 3-Bit-Binärzähler 355, ein AND-Gatter 356 und einen Inverter 357 bestimmt.
- Wendet man sich nun der Fig. 17 zu, ist dort eine Kanal-Empfängerlogik für den FIFO-Puffer 143 und zum Bilden einer Schnittstelle mit der Schaltmatrix gezeigt. Wenn der Kanalempfänger keine Bestätigung erwartet, wird Information zu der Schaltmatrix gesendet, sobald ein Verbindungssatz einem Kanalempfänger zugeordnet wird, wie es durch einen Inverter 361 und ein AND-Gatter 362 erfaßt wird. Wenn eine Bestätigung erwartet wird, beginnt eine Übertragung zu der Schaltmatrix dann, wenn ein Verbindungssatz dem Kanalempfänger zugeordnet worden ist und die rückgesendete Bestätigung empfangen ist. Diese Bedingungen werden durch ein AND-Gatter 363 erfaßt, und ein Sendesignal wird durch ein OR-Gatter 364 erzeugt. Zuerst wird ein Kennzeichen zu der Schaltmatrix gesendet, beispielsweise die Identifikationszahl des dem Kanalempfänger zugeordneten Verbindungssatzes. Nach dem Senden des Kennzeichens werden Daten von dem Puffer 143 übertragen. Die Übertragungszeit des Kennzeichens wird durch ein Verzögerungsregister oder ein Flip-Flop 365 und ein AND-Gatter 366 bestimmt. Entweder das Kennzeichen oder der Datenausgang des Puffers 143 wird durch Multiplex-Gatter 367, 368 zur Übertragung zu der Schaltmatrix ausgewählt. Das Ende der Übertragung wird durch ein Signal BND BUF XMIT angezeigt, das durch ein AND-Gatter 369 während einer Datenübertragung von dem Puffer erzeugt wird, wenn der Puffer leer wird.
- Zusätzlich zu den Datenbytes von dem Kennzeichen und von dem Puffer 143 werden ein Paritätsbit und ein Gültigkeitsdatenbit über die Verbindungssätze übertragen. Das Paritätsbit wird durch einen Paritätscodierer 370 erzeugt. Ein Gültigkeitsdatensignal wird erzeugt, wann immer das Kennzeichen übertragen wird oder wenn der Puffer während der Übertragung nicht leer ist. Diese logischen Bedingungen werden durch einen Inverter 371, ein AND-Gatter 372 oder ein OR- Gatter 373 erfüllt.
- Wendet man sich nun der Fig. 18 zu, ist dort ein schematisches Schaubild der Diagnose-Schaltmatrix 99 und ihres Steuerschaltkreises gezeigt. Ursprungs- und Zielortdecodierer 381, 382 und Verzögerungseinheiten 383, 384 erzeugen Signale, die anzeigen, ob ein Verbindungssatz dem Kanalempfänger oder dem Kanalsender zugeordnet ist, und wenn es so ist, die Identifizierungszahlen der so zugeordneten Verbindungssätze. Gleiche Decodierer und Verzögerungseinheiten werden durch andere Kanalsender und -empfänger benutzt. Der Verbindungssatz-Steuerbus 93 enthält Leitungssätze zum Bestimmen des Quellenempfängers, des Zielortsenders, und einen Verbindungssatz, der zuzuordnen oder abzutrennen ist, wenn ein Befehlsimpuls über den Verbindungssatz-Steuerbus übertragen wird. Eine einzelne Leitung bestimmt, ob der Befehls-Impuls zu einer Verbindungssatz-Zuordnungsoperation oder einer Verbindungssatz-Trennoperation gehört. Der Verbindungssatz-Steuerbus enthält auch eine Rücksetzleitung, um gleichzeitig alle Verbindungssätze zu trennen, die zugeordnet sind.
- Zum Zuordnen oder Trennen eines Verbindungssatzes taktet der Befehls- Impuls die Verzögerungseinheiten 383, 384, die jeweils die Identifikationszahl des zugeordneten Verbindungssatzes und auch den getakteten Wert der Zuordnungs-/Trennleitung speichern, um ein Ausgangsbit zu erzeugen, das anzeigt, ob ein Verbindungssatz zugeordnet oder getrennt ist. Ein jeweiliger Decodierer 385, 386 gehört zu jeder der Verzögerungseinheiten 383, 384. Der Auswahleingang jedes Decodierers empfängt den verzögerten Verbindungssatz-Identifikationscode. Jeder Decodierer hat auch eine Ausgangs-Freigabeeingang, der das Bit empfängt, das anzeigt, ob der Verbindungssatz zugeordnet ist. Die Ausgänge des Decodierers erzeugen daher individuelle Auswahlsignale zum Freigeben einer Verbindung mit jedem Verbindungssatz. Die zu sendenden und zu empfangenden Daten von dem Verbindungssatz-Bus werden auf einen ausgewählten Verbindungssatz durch einen Satz von Gattern 387 multiplext und durch einen Satz von Gattern 388 demultiplext.
- Aus der Fig. 18 ist zu ersehen, daß, wenn unidirektionale Gatter zum Multiplexen von Daten zu und von den Verbindungssätzen zu benutzen sind, die Verbindungen der Gatter dann unterschiedlich sein müssen. Jedoch haben die Erfinder die überraschende Entdeckung gemacht, daß dies nicht notwendigerweise richtig ist, und tatsächlich kann eine Multiplexeranordnung unter Benutzung zweier Stufen von AND-Gattern aufgebaut werden, um sowohl das Multiplexen als auch das Demultiplexen zu und von den Verbindungssätzen zu bieten.
- Wendet man sich nun der Fig. 19 zu, ist dort ein bevorzugter Schaltkreis für eine Schaltmatrix, die allgemein mit 391 bezeichnet ist, zum Bilden einer Schnittstelle eines Kanalempfängers mit dem Verbindungssatz-Bus gezeigt. Gemäß einem Merkmal der vorliegenden Erfindung sind die Kanal-Schnittstellenkarten (122, 123 in Fig. 3) frei austauschbar, ohne ein nochmaliges Programmieren der Kartendecodierer zu erfordern. Statt dessen enthalten die unterschiedlichen Schlitze in dem Baugruppenrahmen einen Satz von Anschlußklemmen-Verbindungsstücken, die hartverdrahtet sind, um eine Schlitzzahl anzuzeigen. Wenn eine Schaltkreiskarte in einen bestimmten Schlitz eingefügt wird, erscheint die Schlitzzahl daher an einem Satz von Eingangsleitungen zu der Karte. Eine decodierende Karte ist durch einen Satz von Exclusive-OR-Gattern 392 vorgesehen, die Ausgänge aufweisen, die in einem AND-Gatter 393 verknüpft sind. Das AND-Gatter 393 erzeugt dadurch ein Kartenauswahlsignal. Das Kartenauswahlsignal wird benutzt, um die Ausgänge eines Verbindungssatz-Auswählers 394 freizugeben, der individuelle Ausgänge hat, die benutzt werden, um den Takt eines Registers 395 freizugeben, der die Kanalzahl von den Quellen-Auswahlleitungen des Verbindungssatz -Steuerbusses empfängt, und auch die Zuordnungs-/Trennleitung von dem Verbindungssatz-Steuerbus empfängt. Der Ausgang des Registers 394 wird zu den Eingängen eines Decodierers 396 geführt, der individuelle Ausgaben erzeugt, um eine erste Stufe von NAK-Multiplexgattern freizugeben, die allgemein mit 397 bezeichnet sind. Die Ausgänge der ersten Stufe von Gattern werden durch eine zweite Stufe von NAND-Gattern verknüpft, die allgemein mit 398 bezeichnet sind. Die zweite Stufe von Gattern 398 gelangt durch das Zuordnungs-/Trennsignal, das in dem Register 394 verzögert wird, in einen Tri-State. Statt eines Benutzens von Tri- State 397 könnten Open-Collector-Gatter benutzt werden, um zusammen mit den Verbindungssätzen eine OR-verdrahtete Logikfunktion zu schaffen.
- Wendet man sich nun der Fig. 20 zu, ist dort ein schematisches Schaubild einer Schaltmatrix 399 für die Kanalsender gezeigt. Es sollte klar sein, daß dieselben Schaltkreis-Bauelemente benutzt werden können, wie sie in Fig. 19 gezeigt wurden; alles, was erforderlich ist, ist, daß die Verbindungssatz-Auswahlleitungen mit den Kanal- Zahl-Auswahlleitungen geschaltet werden, und daß die Verbindungssätze zu den Eingängen der ersten Stufe von NAND-Gattern 397' anstatt zu den Ausgängen der zweiten Stufe des NAND-Gatters 398 geführt werden. In dieser Hinsicht sollte bemerkt werden, daß die Anzahl von Verbindungssätzen der Anzahl von Kanälen auf einer individuellen Kanal-Schnittstellenkarte gleicht. Die in Fig. 20 benutzten Bauelemente, die zu den Bauelementen in Fig. 19 identisch sind, sind mit denselben Bezugszeichen gezeigt; ähnliche Bauelemente sind mit denselben Bezugszeichen mit Strich gezeigt.
- Wendet man sich nun der Fig. 21 zu, ist dort ein schematisches Schaubild einer Kanal-Empfängerlogik zum Initiieren des Trenn-Verbindungssatzes und der Umkehrungs-Verbindungssatzanfragen gezeigt. Wenn sie durch ein AND-Gatter 401 beschlossen wird, wird eine Trenn-Verbindungssatzanfrage initiiert, wenn der Kanalempfänger einem Verbindungssatz zugeordnet ist, und es gibt eine neue anhängige Nachrichtenanfrage, und eine Bestätigung wird nicht erwartet, wenn nicht ein angeklemmter Verbindungssatz vorher erfaßt worden ist. Auch wird, wenn sie durch ein Gatter 402 erfaßt wird, eine Trenn-Verbindungssatzanfrage initiiert, wenn ein Verbindungssatz dem Kanalempfänger zugeordnet ist, eine Bestätigung erwartet wird und eine Übertragung von dem FIFO-Puffer beendet ist, wenn nicht ein angeklemmter Verbindungssatz vorher erfaßt worden ist. Die Ausgänge der Gatter 401 und 402 werden in einem OR-Gatter 403 verknüpft und zum Setzen eines Flip-Flops 404 benutzt, das die Trenn-Verbindungssatzanfrage anzeigt. Wenn sie durch ein Gatter 405 beschlossen wird, wird eine Umkehrungs-Verbindungssatzanfrage an dem Ende der Übertragung von dem FIFO-Puffer initiiert, wenn eine Bestätigung nicht erwartet wird, wenn nicht ein angeklemmter Verbindungssatz zuvor erfaßt worden ist. Das Gatter 405 setzt ein Flip- Flop 406, das die Umkehrungs-Verbindungssatzanfrage anzeigt.
- Ein Fehler eines Verbindungssatzes, der innerhalb einer bestimmten Zeitperiode zu trennen oder umzukehren ist, wird durch den Zeitgeber 155 für eine Anfragebestätigung erfaßt. Dieser Zeitgeber ist voreingestellt, wann immer eine Trenn-Verbindungssatz- oder eine Umkehr-Verbindungssatzanfrage zuerst initiiert wird, wie es durch OR-Gatter 407, 408, einen Inverter 409 und ein AND-Gatter 410 erfaßt wird. Ein angeklemmter Verbindungssatz wird angezeigt, wenn der Zeitgeber 155 für eine Anfragebestätigung eine Zeit überschreitet und eine Trenn-Verbindungssatz - oder Umkehrungs-Verbindungssatzanfrage ausstehend ist. Diese Bedingung wird durch ein AND-Gatter 411 gelöst. Beim Auftreten eines angeklemmten Verbindungssatzes wird ein Flip- Flop 412 gesetzt, um ein Flag für einen angeklemmten Verbindungssatz zu erzeugen, das zu dem Diagnoseprozessor gesendet wird. Das Flip- Flop 412 erzeugt auch ein Anfrage-Verhinderungssignal, das das Flip- Flop 404 über ein NAND-Gatter 413 sperrt und auch das Flip-Flop 406 über NAND-Gatter 414, 415 und einen Inverter 416 sperrt.
- Zum Anzeigen der Identifikationszahl des angeklemmten Verbindungssatzes zu dem Diagnoseprozessor ist ein Register 417 vorgesehen, das in Antwort auf das Signal für einen angeklemmten Verbindungssatz von dem Gatter 411 geladen wird.
- Wendet man sich nun der Fig. 22 zu, ist dort die Logik zum Erfassen der Änderung der Zuordnung eines Verbindungssatzes zu einem Kanalempfänger gezeigt. Diese Logik enthält ein Verzögerungs-Flip-Flop 421, das das dem Kanalempfänger-Verbindungssatz zugeordnete Signal abtastet, einen Inverter 422 und AND-Gatter 423 und 424.
- Wendet man sich nun der Fig. 23 zu, ist dort ein schematisches Schaubild einer Logik für einen Kanalsender gezeigt. Die Bytes, das Paritäts- und das Gültigkeitsdatensignal von der Schaltmatrix 399 der Fig. 20 werden in jeweilige Register und Flip-Flops 431, 342 und 433 getaktet. Das verzögerte Gültigkeitsdatensignal wird mit dem dem Kanalsender-Verbindungssatz zugeordneten Signal in einem AND-Gatter 434 verknüpft, um den Beginn einer Übertragung anzuzeigen. Ein Anfangsimpuls wird durch ein Verzögerungs-Flip-Flop 435 und ein AND- Gatter 436 erzeugt. Dieser Anfangsimpuls wird zu dem seriellen Eingang eines Schieberegisters 437 geführt, um Abtastsignale für die verschiedenen Datenbytes zu Beginn der über den zugeordneten Verbindungssatz übertragenen Nachricht zu erzeugen. Ein Rücksetzsignal für die Kanal-Senderlogik wird durch einen Inverter 438 und ein OR-Gatter 439 erhalten, so daß die Sender-Schaltkreise zurückgesetzt werden, wann immer ein Systemrücksetzen auftritt, und auch wann immer Gültigkeitsdaten nicht länger von einem dem Kanalsender zugeordneten Verbindungssatz empfangen werden.
- Die Parität der Datenbytes von dem zugeordneten Verbindungssatz wird durch einen Paritätsfehler-Detektor 440 geprüft. Ein NAND-Gatter 441 überprüft, ob ein Paritätsfehler auftritt, wenn angenommen wird, daß die Daten gültig sind, und wenn es so ist, setzt ein Flip-Flop 442 ein Paritätsfehler-Flag, das zu dem Diagnoseprozessor gesendet wird.
- Zum Verhindern einer Datenübertragung, wenn die Verbindungssatz-Identifikationszahl in dem Kennzeichen der Nachricht nicht mit der Identifikationszahl des dem Kanalsender tatsächlich zugeordneten Verbindungssatzes übereinstimmt, erzeugt ein Satz von Exclusive-OR- Gattern 243 und eines NAND-Gatters 244 und eines AND-Gatters 245 ein Signal, wenn eine Fehlanpassung auftritt. Wenn es so ist, setzt ein Flip-Flop 246 ein Flag, das zu dem Diagnoseprozessor gesendet wird.
- Zum Bestimmen, ob der Kanalempfänger eine Bestätigung erwarten sollte, haben ein NAK-Decodierer 247 und ein ACK-Decodierer 248 Ausgänge, die in einem AND-Gatter 249 verknüpft werden, um ein Signal zu erzeugen, das anzeigt, ob die Bytes von dem Verbindungssatz keinen positiven oder negativen Bestätigungscode enthalten. Da der Kanalempfänger einen Bestätigungscode erwartet, wenn sein entsprechender Kanalsender zuvor eine Nachricht ohne einen Bestätigungscode sendet, hat der Schieberegister-Zykluszähler 437 einen Ausgangsmultiplexer 450, der die Abtastsignale für eine Nachricht auswählt, wenn der Empfänger einen Bestätigungscode erwartet.
- Zum Verhindern einer Übertragung, wenn ein Zielort-Byte nicht mit der Kanalzahl des Kanalsenders übereinstimmt, ist ein Zielort-Decodierer 451 vorgesehen, und sein auf niedrig gesetzter Ausgang wird mit dem TX-DEST-Abtastsignal in einem AND-Gatter 452 torgeführt, um das Zielort-Byte mit der aktuellen Kanalzahl des Kanalsenders zu vergleichen. Die Ausgabe des AND-Gatters 452 setzt ein Flip-Flop 453, um ein Zielort-Fehlerflag zu erzeugen, das zu dem Diagnoseprozessor gesendet wird.
- In dem Fall eines Zielort-Fehlers ist es wünschenswert, die Übertragung sogar des vordersten Anfangsteils der Nachricht oder der Bestätigung zu verhindern. Zu diesem Zweck ist es notwendig, den Anfangsteil der Bestätigung oder der Nachricht zeitweilig zu speichern, bis der Zielortcode überprüft werden kann. Zu diesem Zweck ist ein 5-Byte-FIFO-Register 454 vorgesehen. Ein derartiges Register enthält ein serielles 5-Bit-Schieberegister für jedes der acht Bits in dem Byte.
- Zum Erzeugen eines Signals, das eine Übertragung in dem Fall sperren wird, daß die Nachricht oder die Bestätigung von dem falschen Verbindungssatz kam oder den falschen Zielort bestimmt, wird ein Flip-Flop 455 durch das Signal TX-RESET gesetzt und beim Auftreten entweder eines Verbindungssatz-Fehlers oder eines Zielort-Fehlers rückgesetzt, wie es durch ein NOR-Gatter 456 angezeigt wird. Zusätzlich ist zum Bestimmen der Anfangszeit der Übertragung ein weiteres Flip-Flop 457 vorgesehen, das durch das Signal TX-RESET zurückgesetzt wird und durch das Signal PRE-XMIT gesetzt wird. Daher tritt eine Übertragung auf, wenn schließlich mit dem Zyklus nach der PRE-XMIT-Taktung begonnen wird. Während dieses Zyklus, der durch den Takt CAR-XMIT angezeigt wird, wird wieder ein Synchronisationscode 458 von hexadezimal 55 an eine Stelle der Verbindungssatz-Identifikationszahl in der Nachricht oder der Bestätigung eingefügt. Zu diesem Zweck ist ein Paar von Multiplexgattern 459, 460 vorgesehen. Das Gatter 460 wird durch ein AND-Gatter 461 freigegeben, das den Ausgang der Flip- Flops 455 und 457 verknüpft.
- Gemäß einem wichtigen Aspekt der vorliegenden Erfindung kann eine ankommende Nachricht in das Ablaufsteuerungs-Trägersignal eingefügt werden, das zu einer Zielort-Datenverarbeitungsvorrichtung gesendet wird. In diesem Fall ist es jedoch wünschenswert, eine Pause einzufügen, während der Ablaufsteuerungs-Träger für eine bestimmte Zeitperiode vor der Nachricht oder der Bestätigung abwesend ist. Weiterhin ist es am Ende der Übertragung der Nachricht oder der Bestätigung wünschenswert, in dem Fall eine Pause nach der Nachricht einzufügen, daß die Ablaufsteuerung zu diesem Zeitpunkt noch eingeschaltet ist. Während dieser Pause könnte die Datenverarbeitungsvorrichtung beispielsweise eine Bestätigung zu der Nachricht senden.
- Zum Verhindern des Ablaufsteuerungs-Trägers in diesen Fällen ist ein AND-Gatter 462 vorgesehen, das gesperrt wird, wenn der Sender besetzt ist, wenn das Signal TX-RESET niedrig ist, oder wenn ein erster Zeitgeber, der allgemein mit 463 bezeichnet ist, oder ein zweiter Zeitgeber, der allgemein mit 464 bezeichnet ist, niedrige Logiksignale liefert. Der erste Zeitgeber 463 liefert ein niedriges Logiksignal, wenn eine Bestätigung erwartet wird und für fünf Taktzyklen danach. Der zweite Zeitgeber 464 liefert ein niedriges Logiksignal, wenn eine Nachricht oder ein Bestätigungscode tatsächlich übertragen wird und für fünf Taktzyklen danach. Die Zeitgeber 463, 464 bestehen jeweils aus jeweiligen 3-Bit-Binärzählern 465, 466 und jeweiligen AND-Gattern 467, 468. Ein OR-Gatter 469 verknüpft das Signal CAR-XMIT mit dem Ausgang des Gatters 462, um das Gatter 459 zum Übertragen des Trägers freizugeben. Ein OR-Gatter 470 verknüpft die Freigabesignale zu den Multiplexgattern 459, 460, um ein Signal zum Freigeben der aktuellen Übertragung eines Trägers zu erzeugen, und zwar entweder an dem Anfang einer Nachricht oder während der Übertragung der Daten.
- Der Parellel/Seriell-Wandler in dem Manchester-Codierer 147 besteht aus einem Parallel-Lade-Schieberegister 471 und einem Exclusive-OR- Gatter 472, das den seriellen Datenausgang des Schieberegisters 471 mit dem Schiebetakt moduliert. Der Schiebetakt wird durch einen Mastertakt 473 erzeugt, der beim achtfachen der Frequenz des internen Byte-Takts läuft. Der interne Byte-Takt 281 wird durch einen 3-Bit-Binärzähler erzeugt, der durch den Mastertakt getaktet wird. Der Byte-Takt wird von dem Q&sub2;-Ausgang des Zählers 281 erhalten. Zum Erzeugen der parallelen Freigabeeingabe zu dem Schieberegister 471 werden die Ausgaben Q&sub2;, Q&sub1; und Q&sub0; des Zählers 281 durch ein AND-Gatter 473 verknüpft. Zum Verhindern der Übertragung des Trägers, wenn die Ablaufsteuerung ausgeschaltet ist, und wenn eine Nachricht oder eine Bestätigung gerade nicht übertragen wird, wird die Ausgabe des OR- Gatters 470 als ein Torführungs-Signal zu einem AND-Gatter 474 geführt, das die Ausgabe des Exclusive-OR-Gatters 472 torführt.
- Wendet man sich nun der Fig. 24 zu, ist dort ein schematisches Schaubild der zentralen Schaltlogik zum Antworten auf Anfragen von den Kanal-Schnittstellenkarten gezeigt. Diese Logik empfängt die Anfrageinformation niedriger Priorität und die Anfrageinformation hoher Priorität von jeweiligen Ringkarten-Zuteilern hoher und niedriger Priorität, wie es oben in Verbindung mit den Fig. 7, 8 und 9 beschrieben ist.
- Zum Empfangen einer Anfrage, die zu verarbeiten ist, enthält die zentrale Schaltlogik ein Eingangsregister 491, das die Anfrageinformation hoher Priorität empfängt, wenn eine Anfrage hoher Priorität vorhanden ist, oder empfängt andererseits irgendeine Anfrageinformation niedriger Priorität. Das Multiplexen der Anfrageinformation hoher und niedriger Priorität wird durch ein Paar von Gattern 492, 493 und einen Inverter 494 durchgeführt. Das Eingangsregister 491 empfängt auch das Signal, das anzeigt, ob eine Anfrage hoher Priorität vorhanden ist, das Signal, das anzeigt, ob eine Anfrage niedriger Priorität vorhanden ist, das Signal JT, das anzeigt, ob eine Zeitüberschreitung in den Verbindungssatz-Zeitgebern 161 aufgetreten ist, und ein Signal QT, das anzeigt, ob eine Zeitüberschreitung von den Warteschlangen-Zeitgebern 156 aufgetreten ist. Das Eingangsregister 491 empfängt auch eine Unterbrechungseingabe, die auf niedrig gesetzt ist, von dem Diagnoseprozessor.
- Bis die Unterbrechungseingabe nicht auf niedrig gesetzt ist, wenn eine neue Anfrage in das Eingangsregister 491 getaktet wird, beginnt ein Zyklus-Verschiebezähler 396 zu zählen. Der Zyklus-Verschiebezähler zeigt decodierte Ausgaben P0, P1, P2, etc. Diese Ausgaben werden zu einer Kombinationslogik 497 geführt. Es werden auch individuell decodierte Signale von einem Prioritäts-Anfragedecodierer 498 einschließlich von Signalen, die eine Service-Verbindungssatz- Zeitgeberanfrage (SJT), eine Umkehrungspfad-Anfrage (RP), eine Trenn-Verbindungssatzanfrage (DJ), eine Führungsnachrichten-Anfrage (RM), eine Warteschlangen-Nachrichtenanfrage (QM), und eine Service-Warteschlangen-Zeitgeber-Anfrage (SQT) anzeigen, zu der Kombinationslogik geführt.
- Der Wert des Unterbrechungssignals, das in dem Eingangsregister 491 gehalten wird, erzeugt ein Freigabesignal (BNA), das den Diagnose-Steuerbus 120 in den zentralen Logikzustandspeicher 153 multiplext, der einen Schaltkreis mit bidirektionaler Torführung benutzt, der allgemein mit 499 bezeichnet ist.
- Der Zyklus-Verschiebezähler 496 zählt aufeinanderfolgend von P0, P1 etc., bis eines von vielen Enden der Verarbeitungssignale anzeigt, daß eine Verarbeitung für eine Anfrage beendet ist. Das Ende der Verarbeitungssignale wird zu einem OR-Gatter 500 geführt, das auch das System-RESET-Signal empfängt. Die Ausgabe des OR-Gatters 500 veranlaßt, daß der Zyklus-Verschiebezähler mit einem Anfangswert von 1 rückgesetzt wird, und gibt auch das Takten des Eingangsregisters 491 frei, um zuzulassen, daß das Eingangsregister eine neue Anfrage empfängt. Zusätzlich wird das Eingangsregister 491 freigegeben, um eine neue Anfrage zu empfangen, wenn keine Anfrage in dem Eingangsregister gespeichert ist. Diese Bedingungen werden durch ein NOR- Gatter 502 und ein OR-Gatter 503 gelöst. Das Signal von dem OR- Gatter 503 erzeugt auch ein Durchgeführt- oder Unbesetzt-Signal, das als Handshake für das Unterbrechungssignal benutzt werden kann.
- Zum Erzeugen eines Signals, das eine Anfrage hoher Priorität bestätigt, ist ein AND-Gatter 504 vorgesehen, das das Signal von dem OR-Gatter 503 durchläßt, wenn eine Anfrage hoher Priorität gerade verarbeitet wird. Auf ähnliche Weise läßt ein AND-Gatter 505 die Ausgabe des OR-Gatters 503 durch, wenn eine Anfrage niedriger Priorität gerade verarbeitet wird, um ein Bestätigungssignal für die Anfrage niedriger Priorität zu erzeugen.
- Die Kombinationslogik 497 bestimmt Eingaben für Zustandsregister 506 mit Ausgaben, die zu der Kombinationslogik zurückgeführt werden. Weiterhin kann die Kombinationslogik den zentralen Logikzustandsspeicher 153 lesen und auch in den zentralen Logikzustandsspeicher schreiben, einschließlich von insbesondere den Operationen zum Setzen einer Nachrichtenanfrage auf eine Zielort-Warteschlange und zum Entfernen einer Nachrichtenanfrage von der Zielort-Warteschlange. Zum schnellen Bestimmen, ob eine Nachrichtenanfrage zugelassen ist, enthält die Kombinationslogik eine spezifische Logik 507 zum Bestimmen einer zugelassenen Führung.
- Wendet man sich nun der Fig. 25 zu, ist dort ein schematisches Schaubild des Anfrage-Prioritätsdecodierers 498 gezeigt. Die Anfragen werden durch jeweilige AND-Gatter 511, 512, 513, 514, 515 und 516 erzeugt. Alle dieser Gatter sind durch die Ausgabe-Freigabeleitung (OE) torgeführt.
- Der Service-Verbindungssatz-Zeitgeber hat die höchste Priorität, wie es aus der Tatsache klar sein sollte, daß sein Gatter 511 nur zwei Eingänge hat und der Q&sub4;-Eingang zu dem Anfrage-Prioritätsdecodierer alle anderen AND-Gatter sperrt. Die Umkehrungspfad-(RP) und Trenn-Verbindungs-(TJ)-Anfragen haben die nächsthöhere Priorität, wie es aus der Tatsache klar wird, daß sie durch die Q&sub2;-Eingabe freigegeben werden, die alle anderen AND-Gatter außer dem Gatter 511 sperrt, das die Service-Verbindungssatz-Zeitgeberanfrage erzeugt.
- Die Führungsnachrichten-(RM)- und Warteschlangen-Nachrichten- (QM)-Anfragen habe die nächstniedrigere Priorität. Dies sollte aus der Tatsache klar werden, daß sie durch die Q&sub1;-Eingabe freigegeben werden, die nur das AND-Gatter 516 für den Service-Warteschlangen- Zeitgeber-(SQT) sperrt. Die Service-Warteschlangen-Zeitgeber-Anfrage (SQT) hat die niedrigste Priorität, da sie durch die Präsenz irgendeiner der anderen Anfragen gesperrt wird. Die Anfrage niedriger Priorität benutzt einen Inverter 517, um die Service-Warteschlangen- Zeitgeber-Anfrage zu sperren. Die Anfragen hoher Priorität benutzen einen Inverter 518, um die Anfragen niedriger Priorität und die Service-Warteschlangen- Zeitgeber-Anfragen zu verhindern. Die Service-Verbindungssatz-Zeitgeber-Anfrage benutzt einen Inverter 519, um alle anderen Anfragen zu verhindern. Ein Inverter 520 wird benutzt, um zwischen zwei Anfragen unterschiedlicher Priorität in jeder der Anfragegruppen hoher und niedriger Priorität auszuwählen.
- Wendet man sich nun der Fig. 26 zu, ist dort ein schematisches Schaubild der Logik gezeigt, die allgemein mit 507 bezeichnet ist und ein Führen zuläßt. Das OR-Gatter 242 erzeugt ein Signal, das anzeigt, ob die bestimmte Quelle und der bestimmte Zielort in wenigstens einem virtuellen Sternkoppler enthalten sind, wie es oben in Verbindung mit den Fig. 10 und 11 beschrieben wurde. Zusätzlich wird ein Führen nicht zugelassen, wenn der Zielort und die Quelle gleich sind, oder wenn der Zielort in dem "Schleifenrückführungs"-Modus versetzt worden ist, wie es durch die Zielort-Zustandstabelle 167 angezeigt ist. Eine Übereinstimmung zwischen dem Zielort und der Quelle wird durch einen Satz von Exclusive-OR-Gattern 541 und ein NOR-Gatter 542 erfaßt. Ein Inverter 543 verhindert ein Führen von der Quelle zu dem Zielort in dem Falle einer Schleifenrückführung. Ein Führen wird auch verhindert, wenn der Zielort nicht existiert.
- Die Logik für ein zugelassenes Führen 507 wird während des P0-Zyklus der zentralen Schaltlogik freigegeben und wird sowohl für die Führungsnachrichten- als auch die Warteschlangen-Nachrichten- Serviceanfragen freigegeben, wie es durch ein OR-Gatter 544 angezeigt wird. Ein NAND-Gatter 545 löst die erforderliche Übereinstimmung zum Beenden einer Verarbeitung eines Führungsnachrichten- oder eines Warteschlangen-Nachrichtenbefehls. Wenn ein Verarbeiten aufgrund eines unerlaubten Führens beendet ist, wird ein Nachrichten-Zurückweisungsflag gesetzt, um den Diagnoseprozeß über das unerlaubte Führen zu informieren.
- Wendet man sich nun der Fig. 27 zu, ist dort die Kombinationslogik für die Anfragen hoher Priorität gezeigt. In dem ersten Zyklus der Umkehrungspfad-Anfrage, wie es durch ein AND-Gatter 521 beschlossen wird, wird der gegenwärtig der Quelle zugeordnete Verbindungssatz von der Quellentabelle (168 in Fig. 6) gelesen, und die Verbindungssatz-Identifikationszahl wird in ein Verbindungssatzregister getaktet. Dieser Eintrag in der Quellentabelle wird gelöscht, um das bevorstehende Trennen des Verbindungssatzes von der Quelle anzuzeigen. Es wird auch die Verbindungssatz-Zuordnung von der Zielorttabelle (149 in Fig. 6) gelöscht. Weiterhin wird der entsprechende Eintrag in der Verbindungssatz-Tabelle (170 in Fig. 6) gelöscht. Zusätzlich wird ein Befehl zu dem Verbindungssatz-Steuerbus gesendet, um den Verbindungssatz von dem Quellenempfänger und dem Zielortsender zu trennen.
- Der zweite Zyklus der Verarbeitung für die Umkehrungspfad-Anfrage wird durch ein AND-Gatter 522 beschlossen. Die Verbindungssatz-Identifikationszahl, die in dem Verbindungssatz-Register gespeichert ist, wird in die Quellentabelle (168 in Fig. 8) geschrieben. Gleichermaßen wird die Verbindungssatz-Identifikationszahl in die Zielorttabelle (169 in Fig. 6) geschrieben, und auch diese Verbindungssatz- Identifkationszahl wird zusammen mit ihrem zugeordneten Zielortempfänger und Quellensender in der Verbindungssatztabelle (170 in Fig. 6) geschrieben. Es wird auch ein Befehl zu dem Verbindungssatz- Bus gesendet, um den Verbindungssatz zu dem Zielortempfänger und dem Quellensender zuzuordnen, und der Umkehrungs-Verbindungssatz- Zeitgeber für den jeweiligen Verbindungssatz wird eingeschaltet. Zusätzlich wird das Ende der Verarbeitung erreicht.
- In dem ersten Zyklus einer Service-Verbindungssatz-Zeitgeberanfrage werden die Quelle und der Zielort für den abgelaufenen Verbindungssatz-Zeitgeber in Antwort auf ein Gatter 523 erhalten. In Antwort auf Gatter 524 und 525 werden in dem ersten Zyklus der Verarbeitung des Service-Verbindungssatz-Zeitgebers oder der Trennungs-Verbindungssatz-Anfrage die Warteschlangenzeiger für die Warteschlange des anfragenden Kanals von den Warteschlangen-Zeigertabellen (171, 172, 173 in Fig. 6) erhalten. Diesbezüglich wird das Quellen-Auswahlsignal (SRC) durch ein Gatter 526 erzeugt, und wenn dies durchgeführt ist, wird das Zielort-Auswahlsignal (DST) durch einen Inverter 527 gesperrt. Es sollte bemerkt werden, daß normalerweise der Warte- schlangen-Zeigerspeicher durch die Zielort-Kanalzahl adressiert wird.
- Ein Inverter 528 und ein Gatter 529 veranlassen, daß ein Verarbeiten beendet wird, wenn die Quellentabelle (168 in Fig. 6) anzeigt, daß ein Verbindungssatz nicht zugeordnet ist. Andererseits geben ein Gatter 530 und ein Inverter 531 ein Verarbeiten frei, das durchzuführen ist, wenn die Quellen-Warteschlange nicht leer ist. Insbesondere zum Bestimmen, ob die Quellen-Warteschlange leer ist, wird der Zeiger des Anfangs der Warteschlange (die Ausgabe der Tabelle 173 in Fig. 6) mit dem Zeiger des Endes der Warteschlange (der Ausgabe der Tabelle 173 in Fig. 6) verglichen. Wenn der Zeiger zu dem Anfang nicht gleich dem Zeiger des Endes ist, dann ist die Warteschlange nicht leer. In diesem Fall wird der Warteschlangen-Zeitgeber für die Quellen-Kanalzahl zurückgesetzt und gestartet, und ein Befehl zum Abschalten der Ablaufsteuerung wird zu dem Sender der Kanalzahl gesendet, die an dem Anfang angezeigt ist.
- In dem zweiten Verarbeitungszyklus für den Service-Verbindungssatz oder die Trennungs-Verbindungssatz-Anfragen, wie es durch ein Gatter 532 beschlossen wird, wird ein Verarbeiten beendet, wenn kein Verbindungssatz zu dem Quellen-Kanalempfänger zugeordnet ist. Andererseits wird, wie es durch ein Gatter 534 erfaßt wird, die Verbindungssatz-Zustandstabelle für den zugeordneten Verbindungssatz gelesen, und die Verbindungssatz-Identifikationszahl wird in ein Register getaktet.
- Während des dritten Zyklus des Verarbeitens für den Service-Verbindungssatz-Zeitgeber oder die Trennungs-Verbindungssatz- Anfrage, wie es durch ein Gatter 535 beschlossen wird, wird ein Verarbeiten beendet, und ein Diagnose-Serviceflag wird gesetzt, wenn der zugeordnete Verbindungssatz nicht aktiv ist. Die logische Bedingung wird durch einen Inverter 536 und ein AND-Gatter 537 entschieden. Andererseits werden, wie es durch ein Gatter 538 bestimmt wird, die einem Verbindungssatz zugeordneten Bits in den Quellenempfänger- und den Zielortsender-Zustandstabellen gelöscht, das Bit für einen aktiven Verbindungssatz wird von der Verbindungssatz-Zustandstabelle gelöscht und der jeweilige Verbindungssatz-Zeitgeber wird gelöscht. Weiterhin wird ein Befehl über den Verbindungssatz-Steuerbus gesetzt, um die Verbindung des Verbindungssatzes von dem Quellenempfänger und dem Zielortsender zu trennen, und das Verarbeiten wird beendet. Zusätzlich wird, wie es durch einen Inverter 539 und ein Gatter 540 entschieden wird, wenn es irgendwelche Anfragen in der Zielort-Nachrichten-Warteschlange gibt, der Warteschlangen-Zeitgeber für jene Zielort-Warteschlange gestartet und ein Befehl zum Ausschalten der Ablaufsteuerung wird zu dem Kanalsender gesendet, der an dem Anfang jener Warteschlange angezeigt ist.
- Wendet man sich nun der Fig. 28 zu, ist dort die Kombinationslogik (497 in Fig. 24) zum Bringen einer Nachricht in eine Warteschlange gezeigt. Ein Bringen einer Nachricht in eine Warteschlange kann während der Verarbeitung einer Führungs-Nachrichten-Anfrage wie auch einer Warteschlangen-Nachrichtenanfrage auftreten, wie es durch ein OR-Gatter 551 angezeigt wird. In dem ersten Zyklus wird ein Verarbeiten beendet, wenn der Zielort in dem Schleifenrückführungs-Modus ist, wie es durch ein Gatter 552 entschieden wird. Andererseits wird zum Verarbeiten einer Führungs-Nachrichtenanfrage der Zielortempfänger für einen Trägerzustand gewählt, bis die Nachricht durch die Nachrichten-Zurückweisungslogik (507 in Fig. 26) zurückgewiesen wird. Diese Bedingungen werden durch Inverter 553, 554 und ein Gatter 555 entschieden.
- In dem zweiten Zyklus der Verarbeitung eines Führungs-Nachrichten- oder eines Warteschlangen-Nachrichtenbefehls bestimmt ein OR-Gatter 556, ob es keinen leeren Verbindungssatz gibt, eine Warteschlangen-Nachrichtenanfrage gerade verarbeitet wird, der Zielortsender einem Verbindungssatz zugeordnet ist, oder ob der Zielortempfänger einen Träger erfaßt hat. Wenn es so ist, und wenn der Quellenkanal an dem Anfang der Zielort-Warteschlange ist, dann startet ein Gatter 557 erneut den Warteschlangen-Zeitgeber für die Zielort-Warteschlange und ein Verarbeiten wird beendet. Andererseits wird, wie es durch einen Inverter 558 und ein Gatter 559 entschieden wird, wenn die Warteschlangen-Eintragstabelle anzeigt, daß die Quelle auf der Zielort-Warteschlange ist, ein Befehl zum Einschalten der Ablaufsteuerung zu dem Quellenempfänger gesendet, und ein Verarbeiten wird beendet. Andererseits veranlaßt, wenn die Quelle schließlich nicht auf der Zielort-Warteschlange ist, wie es durch einen Inverter 560 angezeigt wird, dann, wenn ein Verbindungssatz dem Zielortsender zugeordnet ist oder die Warteschlange nicht leer ist, wie es durch einen Inverter 561 und ein Gatter 562 entschieden wird, dann ein Gatter 563, daß die Quellen-Kanalzahl auf die Zielort-Warteschlange gesetzt wird. Zusätzlich wird der Warteschlangen-Zeiger erneuert und ein Eintrag wird in die Warteschlangen-Eintragstabelle gesetzt, um anzuzeigen, daß die Quellen-Kanalzahl auf der Zielort-Warteschlange ist. Es wird auch ein Befehl zum Einschalten der Ablaufsteuerung zu dem Quellen-Kanalempfänger gesendet, und ein Verarbeiten wird beendet.
- Wenn das Gatter 562 und ein Inverter 564 anzeigen, daß ein Verbindungssatz nicht dem Zielortsender zugeordnet ist und die Zielort-Warteschlange leer ist, dann veranlaßt andererseits ein Gatter 565, daß die Quellenzahl auf die Zielort-Warteschlange gesetzt wird. Zusätzlich wird der Warteschlangen-Zeiger erneuert und die Warteschlangen-Eintragstabelle wird gemäß dem Setzen einer Quellenzahl auf eine Zielort-Warteschlange gesetzt. Auch wird der Zeitgeber für die Zielort-Warteschlange gestartet und ein Verarbeiten wird beendet.
- Wendet man sich nun der Fig. 29 zu, ist dort die zentrale Schalt-Kombinationslogik zum Führen einer Nachricht gezeigt. In dem zweiten Zyklus der Verarbeitung für eine Fürungs-Nachrichtenanfrage erfolgt ein Führen, wenn der Zielortempfänger keinen Träger anzeigt, der Sender des Zielorts nicht einem Verbindungssatz zugeordnet ist und ein Verbindungssatz frei ist. Diese Bedingungen werden durch Inverter 571, 572 und ein Gatter 573 entschieden. Zusätzlich wird, wenn der Quellenkanal auf der Zielortwarteschlange ist, wie es weiterhin durch ein Gatter 574 entschieden ist, die Quellenzahl von der Zielort-Warteschlange durch Erneuern des Warteschlangen-Zeigers und Löschen der Warteschlangen-Eintragstabelle entfernt. Auch der Warteschlangen-Zeitgeber, der dem Zielort entspricht, wird gelöscht.
- Wendet man sich nun der Fig. 30 zu, ist dort ein schematisches Schaubild der Kombinationslogik in der zentralen Schaltlogik zum Bedienen von Warteschlangen mit abgelaufenen Zeitgebern gezeigt. In dem ersten Zyklus, wie es durch ein Gatter 581 entschieden wird, wird die Identifikationszahl des abgelaufenen Warteschlangen-Zeitgebers gespeichert. Auch der Eintrag an dem Anfang der Warteschlange, der dem abgelaufenen Zeitgeber entspricht, wird durch Erneuern des Warteschlangen-Zeigers und Löschen der Warteschlangen-Eintragstabelle entfernt. Zusätzlich wird der Warteschlangen-Zeitgeber gelöscht.
- Ein Verarbeiten einer Service-Warteschlangen-Zeitgeber-Anfrage wird in dem zweiten Zyklus beendet, wie es durch ein Gatter 582 entschieden wird. Ein zusätzliches Gatter 583 bestimmt, ob die Warteschlange nicht leer ist, und wenn es so ist, wird dann ein Befehl zum Ausschalten der Ablaufsteuerung zu dem Kanalempfänger mit einer Kanalzahl gesendet, die bei dem neuen Anfang der Zielort-Warteschlange gefunden wird, die der Zahl des abgelaufenen Warteschlangen-Zeitgebers entspricht. Auch der abgelaufene Warteschlangen- Zeitgeber wird zurückgesetzt und gestartet. Dies beendet die Beschreibung der zentralen Schaltlogik.
- Vorangehend ist ein verbesserter Rechnerverbindungs-Koppler beschrieben worden, bei dem ein Kanalsender und ein Kanalempfänger zu einem bestimmten einer Vielzahl von Verbindungssätzen geschaltet werden. Da eine Anzahl von Verbindungssätzen verfügbar ist, ist die Verbindungsvielfalt und Bandbreite der Koppler stark vergrößert. Durch Speichern des Anfangsteils der Nachrichten in einem Puffer, während die Nachrichten geführt werden, kann eine existierende Rechner-Ausrüstung mit dem Koppler benutzt werden. Der Rechnerverbindungs-Koppler tritt nicht in Erscheinung, um die Nachrichten zu ändern, die durch ihn durchgelassen werden, außer zum Veranlassen einer etwas erhöhten Übertragungsverzögerung durch den Rechnerverbindungs-Koppler.
- Der Rechnerverbindungs-Koppler kann programmiert werden, damit er sich verhält, als ob er aus einer Anzahl von Sternkopplern bestünde, und der Satz von Vorrichtungen, die mit dem Sternkoppler verbunden sind, können ohne physikalisches neues Verkabeln durch bloßes neues Programmieren eines zentralen Logikzustandsspeichers geändert werden. Auch die Definitionen dieser virtuellen Sternkoppler können in jedem einer redundanten Anzahl von Kopplern durch Austauschen der Definitionen für virtuelle Sternkoppler zwischen den Rechnerverbindungs-Kopplern konsistent gemacht werden.
- Durch Benutzen eines Rotations-Prioritätsschemas und auch durch Durchlassen der Schlitzanzahl von der Rückwandleiterplatte zu den Kanal - Schnittstellenkarten kann der Rechnerverbindungs-Koppler durch ledigliches Hinzufügen zusätzlicher Karten inkremental expandiert werden, und es gibt keine Notwendigkeit zum neuen Programmieren, um eine gleiche Zugriffspriorität in bezug auf die Rechner-Ausrüstung sicherzustellen, die ursprünglich mit dem Koppler verbunden ist. Die Logik- und Signal-Verbindungen zum Implementieren eines derartigen Rotations-Prioritätsschemas sind bemerkenswert vereinfacht durch Unterteilen und Duplizieren der Logik gemäß einer hierarchischen Anordnung.
- Da der Rechnerverbindungs-Koppler durch einen Diagnoseprozessor überwacht wird und es verschiedene Zeitgeber und Flags gibt, die Fehlerbedingungen anzeigen, kann der Fehler auf einer bestimmten Leiterplatte genau aufgezeigt werden, und der Zustand des Systems zu der Zeit der Diagnose kann in einem nichtflüchtigen Speicher auf der Karte gespeichert werden, um dadurch den Reparaturprozeß zu beschleunigen, und um zu einem höheren Maß sicherzustellen, daß Fehler auf der Karte repariert sein werden, bevor die Karte erneut eingebaut wird.
- Die Fähigkeit des Rechnerverbindungs-Kopplers, mit schweren Belastungsbedingungen fertig zu werden, wird durch Bringen der Nachrichtenanfragen in eine Warteschlange und durch Benutzen einer Ablaufsteuerung zum Verhindern von Rückübertragungen, bis die Nachrichtenanfrage an dem Anfang der Zielort-Warteschlange erscheint, erleichtert. Auch ist die Ablaufsteuerung durch das Einfügen ankommender Nachrichten in dem Ablaufsteuerungs-Träger mit Pausen und durch Zulassen, daß die eingefügten Nachrichten durch Benutzen des gewöhnlichen Nachrichten-Bestätigungsprotokolls bestätigt werden, effizienter gemacht. Nach einem derartigen Austausch einer eingefügten Nachricht und ihrer Bestätigung kann die Ablaufsteuerung fortfahren, ohne daß die Rückübertragung der ursprünglichen Nachrichtenanfrage erforderlich ist. Das Bringen in eine Warteschlange und ein Bedienen solcher Nachrichtenanfragen wird sehr zuverlässig durchgeführt durch das Benutzen eines Satzes von Warteschlangen-Zeitgebern, die reservierte Kanäle in dem Fall freigeben, daß die Datenverarbeitungsvorrichtungen ihre Nachrichten nicht innerhalb einer vernünftigen Zeitperiode zurücksenden, nachdem die Ablaufsteuerung abgeschaltet ist. Das Gesamtschema des Nachrichtenführens, des Bringens in eine Warteschlange und der Ablaufsteuerung ist auch effizienter durch Vorsehen einer zentralen Logik, die Service-Anfragen gemäß einem Schema mit einer Priorität von mehreren Pegeln ausführt, wobei bestimmte Anfragen in dem Pegel gleicher Priorität gruppiert sind.
- Logische Gleichungen für Kanalauswahllogik (222 in Fig. 9)
- [N = 7, um einen der acht Kanäle auszuwählen)
- CHl: OUTPUT = [miz Modulo-8-Arithmmetik hinzufügen von 1 zu jeder Zahl in der obigen Gleichung]
Claims (26)
1. Rechnerverbindungs-Koppler (51) zum übertragen von
Nachrichten zwischen vielen
Datenverarbeitungsvorrichtungen (54, 55, 56, 57, 58, 59, 60), von denen
jede einen Kommunikationsport hat, wobei der Koppler
folgendes aufweist: eine Vielzahl elektronischer
Schalteinrichtungen (87, 90), von denen jede mit
einem Kommunikationsport einer der
Datenverarbeitungsvorrichtungen verbunden ist, um einen
Kommunikationskanal (81, 85) zum Empfangen von Nachrichten von
und Senden von Nachrichten zu jener Vorrichtung zu
schaffen, wobei die Schalteinrichtungen separate
Empfangseinrichtungen (84) und
Übertragungseinrichtungen (97) für jeden der Kanäle aufweisen; eine
Vielzahl von Anschlüssen (89, 96), die zu jeder der
Schalteinrichtungen gehören, zum übertragen von
Nachrichten zwischen den Schalteinrichtungen; und eine
zentrale Schalt-Logikeinrichtung (144), die mit den
Schalteinrichtungen zum Zuordnen von Anschlüssen
verbunden ist, um die Nachrichten, die bei einer der
Schalteinrichtungen ankommen, von einer
Quellenvorrichtung zu einer Schalteinrichtung zu übertragen,
die mit einer Zielortvorrichtung verbunden ist, die
durch die Nachricht bestimmt ist;
dadurch gekennzeichnet, daß der
Rechner-Verbindungskoppler folgendes enthält:
eine Warteschlange (174) zum Bilden einer
Warteschlange für Anfragen, Nachrichten zu führen, die eine
gemeinsame Zielortvorrichtung bestimmen, deren
Kommunikationskanal besetzt ist, und eine Einrichtung
(172) zum Wiederhervorholen der ältesten Anfrage aus
der Warteschlange, wenn der besetzte
Kommunikationskanal nicht länger besetzt ist.
2. Rechnerverbindungs-Koppler nach Anspruch 1, der eine
Einrichtung enthält, die auf das Bilden einer
Warteschlange der Nachrichtenführungsanfrage antwortet,
wenn der Kommunikationskanal besetzt ist, der durch
die Nachricht bestimmt ist, zum Aktivieren der
Übertragungseinrichtung für den
Nachrichten-Ursprungskanal, um ein Flußsteuersignal zu der
Datenverarbeitungsvorrichtung jenes Kanals zu senden, um die
Rückübertragung der Nachrichten von jener Vorrichtung
zu verhindern, wenn das Flußsteuersignal gerade
übertragen wird.
3. Rechnerverbindungs-Koppler nach Anspruch 2, wobei die
zentrale Schalt-Logikeinrichtung (44) eine
Einrichtung enthält, die auf das Auftreten der ältesten
Nachrichtenführungsanfrage am Kopf der Warteschlange
antwortet, zum Beenden der Übertragung des
Flußsteuersignals zu der
Datenverarbeitungsvorrichtung, die der Ursprung der Nachrichtenführungsanfrage
war.
4. Rechnerverbindungs-Koppler nach Anspruch 2 oder
Anspruch 3, wobei die Übertragungseinrichtung eine
Einrichtung (145) zum Einfügen einer Nachricht in das
Flußsteuersignal enthält, so daß die
Datenverarbeitungsvorrichtung, die das Flußsteuersignal empfängt,
Nachrichten empfangen kann, während die
Rückübertragung von aus jener Vorrichtung abgehenden
Nachrichten verhindert wird.
5. Rechnerverbindungs-Koppler nach Anspruch 4, wobei das
Flußsteuersignal ein Träger ist, und wobei die
Einrichtung zum Einfügen von Nachrichten in das
Flußsteuersignal eine Einrichtung (472) zum
Modulieren des Trägers enthält, um die Nachrichten zu
übertragen, die in das Flußsteuersignal eingefügt
sind.
6. Rechnerverbindungs-Koppler nach einem der
vorangehenden Ansprüche 1 bis 5, wobei die
Schalteinrichtungen (87, 90) auf vielen Leiterplatten (122, 123)
angebracht sind, wobei jede Leiterplatte eine
Einrichtung zum Erzeugen eines Zustandscodes hat, der
den Zustand der jeweiligen Leiterplatte darstellt,
wobei der Zustandscode Kanalzahlen anzeigt, die zu
der jeweiligen Leiterplatte gehören, und der
Rechnerverbindungs-Koppler einen Diagnoseprozessor
(112) enthält, der eine Einrichtung enthält zum
Abrufen vieler Leiterplattenstellen einschließlich
der Stellen der Leiterplatten und zum Lesen des
Zustandscodes von den Leiterplatten, die vorhanden
sind.
7. Rechnerverbindungs-Koppler nach einem der
vorangehenden Ansprüche 1 bis 6, wobei die
Schalteinrichtungen (87, 90) und die zentrale
Schalt-Logikeinrichtung (44) Leiterplatten (121, 122,
123) mit einer nichtflüchtigen Speichereinrichtung
(EEPROM) zum Empfangen von Diagnoseinformationen
enthält, und der Rechnerverbindungs-Koppler einen
Diagnoseprozessor (112) enthält, der mit den
Leiterplatten über einen Diagnosebus (120) verbunden ist,
wobei der Diagnoseprozessor eine Einrichtung enthält
zum Diagnostizieren von fehlerhaften Leiterplatten
und zum Schreiben einer Diagnoseinformation zu der
Speichereinrichtung auf den fehlerhaften
Leiterplatten, bevor solche Leiterplatten zur Reparatur
entfernt werden, und wobei die Diagnoseinformation
eine Information über den Systemzustand zu der Zeit
des Diagnostizierens der fehlerhafter Leiterplatten
und einen Fehler anzeigende Daten enthält, die zu der
Diagnose führten.
8. Rechnerverbindungs-Koppler nach einem der
vorangehenden Ansprüche 1 bis 7, wobei die
Schalteinrichtungen (87, 90) auf vielen Leiterplatten (122, 123)
angebracht sind, und die zentrale
Schalt-Logikeinrichtung (44) an wenigstens einer anderen
Leiterplatte 121 angebracht ist, wobei jede der
Leiterplatten eine Einrichtung aufweist zum Erzeugen
eines Zustandcodes, der den Zustand der jeweiligen
Leiterplatte darstellt, wobei der Zustandscode den
Typ der jeweiligen Leiterplatte und Fehlerbedingungen
anzeigt, die zu der jeweiligen Leiterplatte gehören,
und wobei der Rechnerverbindungs-Koppler einen
Diagnoseprozessor (112) enthält, der eine Einrichtung
enthält zum Abrufen vieler Leiterplattenstellen
einschließlich der Stellen der Leiterplatten und zum
Lesen des Zustandscodes von den Leiterplatten, die
vorhanden sind.
9. Rechnerverbindungs-Koppler nach einem der
vorangehenden Ansprüche 1 bis 8, wobei die
Empfangseinrichtung (84) eine Ursprungserkennungseinrichtung enthält
zum Erkennen der Datenverarbeitungsvorrichtung, von
der jede der Nachrichten hergekommen ist, und wobei
der Rechnerverbindungs-Koppler folgendes enthält:
eine Speichereinrichtung (164, 165) zum Speichern von
Sätzen gültiger Zielortadressen einschließlich eines
jeweiligen Satzes gültiger Zielortadressen für jede
der Datenverarbeitungsvorrichtungen; eine
Gültigkeits-Feststellungseinrichtung (241, 242), die mit
der Empfangseinrichtung und der Speichereinrichtung
gekoppelt ist, zum Bestimmen, ob die Zielortadresse
jeder Nachricht in dem jeweiligen Satz gültiger
Zielortadressen für die Datenverarbeitungsvorrichtung,
von der jede Nachricht hergekommen ist, enthalten ist
oder nicht, und zum Durchsetzen eines
Freigabesignals, wenn die Zielortadresse jeder Nachricht in dem
jeweiligen Satz gültiger Zielortadressen für die
Datenverarbeitungsvorrichtung, von der jede Nachricht
hergekommen ist, enthalten ist; und eine Einrichtung,
die mit der Empfangseinrichtung und der
Gültigkeits-Feststellungseinrichtung gekoppelt ist, zum
selektiven Übertragen jeder Nachricht zu der
Datenverarbeitungsvorrichtung, die durch die
Zielortadresse in jeder Nachricht als der erwünschte Zielort
jeder Nachricht erkannt ist, nur dann, wenn die
Gültigkeits-Feststellungseinrichtung das
Freigabesignal durchsetzt, das anzeigt, daß die Zielortadresse
jeder Nachricht in dem jeweiligen Satz gültiger
Zielortadressen für die Datenverarbeitungsvorrichtung
ist, von der jede Nachricht hergekommen ist.
10. Rechnerverbindungs-Koppler nach Anspruch 9, wobei die
Speichereinrichtung (164, 165) einen Speicher
enthält, der Information speichert, die eine Vielzahl
von Sätzen der Datenverarbeitungsvorrichtungen
erkennt, und die Gültigkeits-Feststellungseinrichtung
(241, 242) eine Einrichtung enthält zum Bestimmen für
jede Nachricht, ob die Datenverarbeitungsvorrichtung,
von der jede Nachricht hergekommen ist, und die
Datenverarbeitungsvorrichtung, die in der
Zielortadresse in jeder Nachricht erkannt ist, beide in
irgendeinem der Sätze von Datenverarbeitungsvorrichtungen
enthalten sind, wobei jedes der Komunikationsports
mit dem Koppler über einen jeweiligen einer Vielzahl
von Kommunikationskanälen (81, 85) verbunden ist, die
jeweilige zuvor zugeordnete Kanaladressen haben, so
daß jede Nachricht durch die Empfangseinrichtung von
einem jeweiligen Kommunikationskanal mit einer
jeweiligen Quellenkanaladresse empfangen wird, und jede
Nachricht durch die Einrichtung zum selektiven
Übertragen über einen jeweiligen Kommunkationskanal mit
einer jeweiligen Zielortkanaladresse übertragen wird,
die durch die Zielortadresse jeder Nachricht bestimmt
ist, die Ursprungserkennungseinrichtung eine Anzeige
der jeweiligen Quellenkanaladresse des
Kommunkationskanals liefert, von-dem jede Nachricht durch die
Empfangseinrichtung empfangen wird, und wobei der
Speicher für jede Nachricht durch die jeweilige
Quellenkanaladresse und die jeweilige Zielortkanaladresse
adressiert wird.
11. Rechnerverbindungs-Koppler nach Anspruch 10, wobei der
Speicher (164, 165) eine erste Matrix von Bits (164)
speichert, die jeweils eine Reihe von Bits für jede
der Quellenkanaladressen und eine Spalte von Bits für
jeden der Sätze von Datenverarbeitungsvorrichtungen
enthält, wobei für jede Nachricht eine jeweilige der
Reihen von der ersten Matrix durch die
Quellenkanaladresse des Kanals adressiert wird, von dem jede
Nachricht empfangen wird, und jedes Bit in der ersten
Matrix derart programmiert ist, daß angezeigt wird,
ob der Satz von Datenverarbeitungsvorrichtungen für
die Spalte in der ersten Matrix, die jedes Bit in der
ersten Matrix enthält, die
Datenverarbeitungsvorrichtung enthält, deren Kommunikationsport mit dem
Kommunikationskanal verbunden ist, der die
Quellenkanaladresse hat, die die Reihe jedes Bits in der ersten
Matrix adressiert.
12. Rechnerverbindungs-Koppler nach Anspruch 11, wobei der
Speicher (164, 165) eine zweite Matrix von Bits (165)
enthält, die jeweils eine Reihe von Bits für jede der
Zielortkanaladressen und eine Spalte von Bits für
jeden der Sätze von Datenverarbeitungsvorrichtungen
enthält, wobei für jede Nachricht eine jeweilige der
Reihen in der zweiten Matrix durch die
Zielortkanaladresse adressiert wird, die durch die Zielortadresse
jeder Nachricht bestimmt wird, und jedes Bit in der
zweiten Matrix derart programmiert ist, daß angezeigt
wird, ob der Satz von Datenverarbeitungsvorrichtungen
für die Spalte in der zweiten Matrix, die jedes Bit
in der zweiten Matrix enthält, die
Datenverarbeitungsvorrichtung enthält, deren Kommunikationsport
mit dem Kommunikationskanal verbunden ist, der die
Zielortkanaladresse hat, die die Reihe jedes Bits in
der zweiten Matrix adressiert.
13. Rechnerverbindungs-Koppler nach einem der
vorangehenden Ansprüche 1 bis 12, wobei jede der
Empfangseinrichtungen (84, 94) einen FIFO-Puffer (143) einer
vorbestimmten Speicherkapazität zum zeitweisen
Speichern von Anfangsteilen jeder Nachricht enthält, die
durch jede Empfangseinrichtung während eines Wartens
auf eine Zuordnung von Anschlüssen (87) empfangen
wird, und zum Zulassen einer Zuordnung der Anschlüsse
während eines Empfangens der Anfangsteile jeder
Nachricht, die durch jede Empfangseinrichtung empfangen
wird, und zum Zulassen, daß die zugeteilten
Anschlüsse ohne Unterbrechung Nachrichten variabler
Länge übertragen, die die vorbestimmte
Speicherkapazität überschreiten.
14. Rechnerverbindungs-Koppler nach einem der
vorangehenden Ansprüche 1 bis 13, wobei jede
Datenverarbeitungseinrichtung eine Einrichtung enthält zum
Einfügen in Nachrichten, die von jeder
Datenverarbeitungsvorrichtung kommen, einer Quellenadresse, die
jede Datenverarbeitungsvorrichtung als den Ursprung
der Nachrichten erkennt, die von jeder
Datenverarbeitungsvorrichtung kommen; und wobei jede
Empfangseinrichtung (84) eine Verifiziereinrichtung (307)
enthält, die auf die Quellenadresse in jeder
Nachricht antwortet, zum Vergleichen der Quellenadresse
mit einer jeweiligen jeder Empfangseinrichtung zuvor
zugeordneten Adresse und zum Erzeugen eines
Fehlersignals, wenn die Quellenadresse in der Nachricht,
die durch die Empfangseinrichtung empfangen wird,
unterschiedlich von der jeweiligen jeder
Empfangseinrichtung zuvor zugeordneten Quellenadresse ist; und
wobei der Rechnerverbindungs-Koppler weiterhin eine
Einrichtung (105) zum Berichten des Fehlersignals von
jeder Empfangseinrichtung zu einem Bediener (104)
enthält.
15. Rechnerverbindungs-Koppler nach einem der
vorangehenden Ansprüche 1 bis 14, wobei jede
Übertragungseinrichtung (97) eine Verifiziereinrichtung (451,
452, 455, 456, 461) enthält, die auf eine
Zielortadresse in jeder Nachricht antwortet, die von
wenigstens einem der Anschlüsse durch die
Übertragungseinrichtung empfangen wird, zum Verifizieren,
daß jede Nachricht, die durch jede
Übertragungseinrichtung empfangen wird, tatsächlich von dem Anschluß
empfangen wird, der jeder Nachricht zugeordnet ist,
wobei die Verifiziereinrichtung folgendes enthält:
eine Einrichtung zum Vergleichen (451) der
Zielortadresse in jeder Nachricht, die durch jede
Übertragungseinrichtung empfangen wird, mit einer
jeweiligen jeder Übertragungseinrichtung zuvor zugeordneten
Zielortadresse, und eine Einrichtung (461) zum
Verhindern des Übertragens jeder Nachricht, die durch
jede Übertragungseinrichtung empfangen wird, zu einer
jeweiligen der Datenverarbeitungsvorrichtungen, die
mit jeder Übertragungseinrichtung verbunden ist, wenn
die Einrichtung zum Vergleichen bestimmt, daß die
Zielortadresse in jeder Nachricht unterschiedlich von
der jeweiligen jeder Übertragungseinrichtung zuvor
zugeordneten Zielortadresse ist.
16. Verfahren zum Übertragen von Nachrichten zwischen
vielen Datenverarbeitungsvorrichtungen (54, 55, 56,
57, 58, 59, 60), von denen jede einen
Kommunikationsport hat, wobei jede Nachricht eine Zielortadresse
enthält, die eine jeweilige der
Datenverarbeitungsvorrichtungen als einen gewünschten Zielort jeder
Nachricht erkennt, wobei das Verfahren die folgenden
Schritte enthält: Übertragen von Nachrichten über
einen jeweiligen Kommunikationskanal (81, 85) von dem
Kommunikationsport jeder
Datenverarbeitungsvorrichtung zu einer jeweiligen elektronischen
Schalteinrichtung (87, 90) mit jeweils einer
Empfangseinrichtung (84) und einer
Übertragungseinrichtung (97) für jede Datenverarbeitungsvorrichtung,
wobei jeweils die Empfangseinrichtung und die
Übertragungseinrichtung für jede
Datenverarbeitungsvorrichtung mit jeder Datenverarbeitungsvorrichtung
verbunden sind, wobei jede der Schalteinrichtungen
Anschlüsse (89, 96) aufweist zum selektiven Verbinden
ihrer Empfangseinrichtung mit der
Übertragungseinrichtung einer ausgewählten anderen der
elektronischen Schalteinrichtungen; und Auswählen eines
Anschlusses zum Senden jeder Nachricht, die bei einer
Empfangseinrichtung ankommt, zu der
Übertragungseinrichtung der Schalteinrichtung für die
Datenverarbeitungsvorrichtung, die durch die Zielortadresse jeder
Nachricht erkannt wird, die bei der
Empfangseinrichtung ankommt;
dadurch gekennzeichnet, daß das
Verfahren folgendes enthält:
Bilden einer Warteschlange von
Nachrichtenführungsanfragen für Nachrichten, die eine gemeinsame
Zielortvorrichtung bestimmen, deren Kommunikationskanal
besetzt ist, und
Wiederhervorholen der ältesten
Nachrichtenführungsanfrage, die für die gemeinsame Zielortvorrichtung in
eine Warteschlange gebracht worden ist, wenn der
besetzte Kommunikationskanal nicht länger besetzt ist.
17. Verfahren nach Anspruch 16, das ein Aktivieren der
Übertragungseinrichtung (97) für den
Nachrichten-Ursprungskanal enthält, um ein Flußsteuersignal zu der
Datenverarbeitungsvorrichtung jenes Kanals zu senden,
um die Rückübertragung von Nachrichten von jener
Vorrichtung zu verhindern, wenn der Kommunikationskanal
der gemeinsamen Zielortvorrichtung besetzt ist.
18. Verfahren nach Anspruch 17, das ein Beenden der
Übertragung des Flußsteuersignals zu der
Datenverarbeitungsvorrichtung enthält, die der Ursprung der
Nachricht der ältesten Nachrichteninformation war.
19. Verfahren nach einem der vorangehenden Ansprüche 16
bis 18, wobei das Auswählen durchgeführt wird durch
Zugreifen auf einen Zentralspeicher (145), der eine
Aufzeichnung (170) einer Zuordnung der Anschlüsse
speichert, um einen verfügbaren Anschluß zu finden,
und Erneuern der Aufzeichnung der Zuordnung der
Anschlüsse, um anzuzeigen, daß der ausgewählte
Anschluß nicht länger verfügbar ist, Verbinden des
ausgewählten Anschlusses und Übertragen jeder
Nachricht über den ausgewählten Anschluß.
20. Verfahren nach einem der Ansprüche 16 bis 19, das
weiterhin den Schritt zum Einfügen einiger der
Nachrichten in das Flußsteuersignal enthält, so daß die
Datenverarbeitungsvorrichtungen, die das
Flußsteuersignal empfangen, die Nachrichten empfangen, die in
das Flußsteuersignal eingefügt sind, während eine
Rückübertragung der Nachrichten von den
Datenverarbeitungsvorrichtungen, die das Flußsteuersignal
empfangen, verhindert wird.
21. Verfahren nach Anspruch 20, wobei das Flußsteuersignal
ein Träger ist, und die Nachrichten in das
Flußsteuersignal durch Modulieren des Trägers
eingefügt werden, um die Nachrichten zu übertragen, die
in das Flußsteuersignal eingefügt sind.
22. Verfahren nach einem der vorangehenden Ansprüche 16
bis 21, wobei die Schalteinrichtungen (87, 90) auf
vielen Leiterplatten (122, 123) angebracht sind, die
miteinander durch einen Bus (120) verbunden sind, und
jede der Leiterplatten einen Zustandscode erzeugt,
der den Zustand der jeweiligen Leiterplatte
darstellt, und Kanalzahlen anzeigt, die zu der
jeweiligen Leiterplatte gehören, und das Verfahren ein
Abrufen vieler Leiterplattenstellen entlang dem Bus
einschließlich der Stellen der Leiterplatten enthält,
und ein Lesen der Zustandscodes von den
Leiterplatten, die vorhanden sind.
23. Verfahren nach einem der vorangehenden Ansprüche 16
bis 22, wobei die Schalteinrichtungen (87, 90)
Leiterplatten (122, 123) enthalten, die miteinander
durch einen Bus (120) verbunden sind, jede der
Leiterplatten eine nichtflüchtige Speichereinrichtung
(EEPROM) hat zum Empfangen einer Diagnoseinformation,
und das Verfahren folgendes enthält: Diagnostizieren
fehlerhafter der Leiterplatten und Schreiben der
Diagnoseinformation zu der Speichereinrichtung auf
den fehlerhaften Leiterplatten, bevor die
fehlerhaften Leiterplatten von dem Bus zur Reparatur
entfernt werden, Entfernen der fehlerhaften
Leiterplatten zur Reparatur und Transportieren der
fehlerhaften Leiterplatten zu einer Reparatureinrichtung;
und Reparieren der fehlerhaften Leiterplatten bei der
Reparatureinrichtung unter Benutzung der in der
nichtflüchtigen Speichereinrichtung gespeicherten
Diagnoseinformation.
24. Verfahren nach einem der vorangehenden Ansprüche 16
bis 20, wobei die Schalteinrichtungen (87, 90) auf
vielen Leiterplatten (122, 123) angebracht sind, die
miteinander durch einen Bus (120) verbunden sind,
jede der Leiterplatten eine Einrichtung aufweist zum
Erzeugen eines Zustandscodes, der den Zustand der
jeweiligen Leiterplatte darstellt, wobei der
Zustandscode den Typ der jeweiligen Leiterplatte
anzeigt und Fehlerbedingungen, die zu der jeweiligen
Leiterplatte gehören, und wobei das Verfahren
folgendes enthält: Abrufen vieler Leiterplattenstellen
entlang dem Bus einschließlich der Stellen der
Leiterplatten und Lesen des Zustandscodes von den
Leiterplatten, die vorhanden sind.
25. Verfahren nach einem der vorangehenden Ansprüche 16
bis 24, das ein Verifizieren enthält, daß jede
Nachricht, die durch jede Übertragungseinrichtung (97)
von einem der Anschlüsse (96) empfangen wird,
tatsächlich von einem Anschluß empfangen wird, der
jeder Nachricht zugeordnet ist, wobei das
Verifizieren durch Vergleichen der Zielortadresse in
jeder Nachricht mit einer jeweiligen Adresse
durchgeführt wird, die jeder Übertragungseinrichtung zuvor
zugeordnet wird, und Verhindern des Übertragens jeder
Nachricht von jeder Übertragungseinrichtung zu der
Datenverarbeitungsvorrichtung, die mit jeder
Übertragungseinrichtung verbunden wird, wenn die
Zielortadresse in jeder Nachricht unterschiedlich von der
jeweiligen Adresse ist, die zuvor jeder
Übertragungseinrichtung zugeordnet ist.
26. Verfahren nach einem der vorangehenden Ansprüche 16
bis 25, wobei jede Nachricht eine Quellenadresse
enthält, die die jeweilige der
Datenverarbeitungsvorrichtungen erkennt, die der Ursprung der Nachricht
war, und wobei das Verfahren folgendes enthält:
Vergleichen der Quellenadresse jeder Nachricht, die
bei jeder Empfangseinrichtung (84) empfangen wird,
mit einer jeweiligen Adresse, die zuvor jeder
Empfangsvorrichtung zugeordnet ist, Erzeugen eines
Fehlersignals, wenn jene Nachricht eine Quellenadresse
hat, die unterschiedlich von derjenigen Adresse ist,
die zuvor jeder Empfangseinrichtung zugeordnet ist,
Berichten des Fehlersignals einem menschlichen
Bediener (104), und in Antwort auf einen Empfang eines
Fehlersignals durch den menschlichen Bediener Prüfen,
ob die Datenverarbeitungsvorrichtungen richtig mit
ihren jeweiligen Empfangseinrichtungen verbunden
sind.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/110,513 US4887076A (en) | 1987-10-16 | 1987-10-16 | Computer interconnect coupler for clusters of data processing devices |
PCT/US1988/003570 WO1989003562A1 (en) | 1987-10-16 | 1988-10-13 | Computer interconnect coupler for clusters of data processing devices |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3850097D1 DE3850097D1 (de) | 1994-07-14 |
DE3850097T2 true DE3850097T2 (de) | 1995-01-26 |
Family
ID=22333424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3850097T Expired - Fee Related DE3850097T2 (de) | 1987-10-16 | 1988-10-13 | Rechnerverbinder für gruppen von datenverarbeitungseinrichtungen. |
Country Status (6)
Country | Link |
---|---|
US (4) | US4887076A (de) |
EP (1) | EP0335964B1 (de) |
JP (1) | JP2536915B2 (de) |
CA (1) | CA1315412C (de) |
DE (1) | DE3850097T2 (de) |
WO (1) | WO1989003562A1 (de) |
Families Citing this family (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3546664C3 (de) * | 1985-02-22 | 1995-10-26 | Bosch Gmbh Robert | Verfahren zum Betreiben einer Datenverarbeitungsanlage |
US4918686A (en) * | 1987-07-27 | 1990-04-17 | Hitachi, Ltd. | Data transfer network suitable for use in a parallel computer |
CA1321842C (en) * | 1988-05-11 | 1993-08-31 | Digital Equipment Corporation | Double unequal bus timeout |
JP2714091B2 (ja) * | 1989-01-09 | 1998-02-16 | 株式会社日立製作所 | フィールド計器 |
US5222217A (en) * | 1989-01-18 | 1993-06-22 | International Business Machines Corporation | System and method for implementing operating system message queues with recoverable shared virtual storage |
US5237566A (en) * | 1989-03-30 | 1993-08-17 | Ungermann-Bass, Inc. | Network hub for maintaining node bandwidth in a single-node network |
US4982187A (en) * | 1989-11-28 | 1991-01-01 | International Business Machines Corporation | Low-end high-performance switch subsystem architecture |
NL9000780A (nl) * | 1990-04-03 | 1991-11-01 | Nederland Ptt | Werkwijze en inrichting voor het doorschakelen van dataeenheden. |
US5065392A (en) * | 1990-04-10 | 1991-11-12 | Dsc Communications Corporation | Network controller scheduling system and method of operation |
US5065393A (en) * | 1990-04-10 | 1991-11-12 | Dsc Communications Corporation | Network controller billing system and method of operation |
EP0453863A2 (de) * | 1990-04-27 | 1991-10-30 | National Semiconductor Corporation | Verfahren und Gerät zur Ausführung einer Mediumzugriffssteuerung/Wirtsystemschnittstelle |
US5247514A (en) * | 1990-08-09 | 1993-09-21 | Nec Corporation | Multiple channel transit call control apparatus |
GB2252020A (en) * | 1990-12-04 | 1992-07-22 | Ibm | Flow control in data communication systems. |
JP2770603B2 (ja) * | 1991-03-14 | 1998-07-02 | 三菱電機株式会社 | 並列計算機 |
JP3679813B2 (ja) * | 1991-07-22 | 2005-08-03 | 株式会社日立製作所 | 並列計算機 |
WO1993005602A1 (en) * | 1991-08-30 | 1993-03-18 | The Furukawa Electric Co., Ltd. | Multiplex transmission system |
US5333285A (en) * | 1991-11-21 | 1994-07-26 | International Business Machines Corporation | System crash detect and automatic reset mechanism for processor cards |
US5917840A (en) * | 1992-03-13 | 1999-06-29 | Foxboro Company | Protection against communications crosstalk in a factory process control system |
US5754792A (en) * | 1992-03-19 | 1998-05-19 | Hitachi, Ltd. | Switch circuit comprised of logically split switches for parallel transfer of messages and a parallel processor system using the same |
US5506964A (en) * | 1992-04-16 | 1996-04-09 | International Business Machines Corporation | System with multiple interface logic circuits including arbitration logic for individually linking multiple processing systems to at least one remote sub-system |
JPH06203541A (ja) * | 1992-12-02 | 1994-07-22 | Sony Corp | 電子機器及び磁気記録再生装置 |
US6151689A (en) * | 1992-12-17 | 2000-11-21 | Tandem Computers Incorporated | Detecting and isolating errors occurring in data communication in a multiple processor system |
US5493689A (en) * | 1993-03-01 | 1996-02-20 | International Business Machines Corporation | System for configuring an event driven interface including control blocks defining good loop locations in a memory which represent detection of a characteristic pattern |
US5375070A (en) * | 1993-03-01 | 1994-12-20 | International Business Machines Corporation | Information collection architecture and method for a data communications network |
US5365514A (en) * | 1993-03-01 | 1994-11-15 | International Business Machines Corporation | Event driven interface for a system for monitoring and controlling a data communications network |
US5631935A (en) * | 1993-05-06 | 1997-05-20 | Run-Rad Unlimited Networking, Ltd. | Method and apparatus for governing information transfer using an efficient transport protocol |
US5604487A (en) * | 1993-07-30 | 1997-02-18 | Lockheed Martin Tactical Systems, Inc. | Apparatus and method for user-selective data communication with verification |
US5586266A (en) * | 1993-10-15 | 1996-12-17 | International Business Machines Corporation | System and method for adaptive, active monitoring of a serial data stream having a characteristic pattern |
US5414833A (en) * | 1993-10-27 | 1995-05-09 | International Business Machines Corporation | Network security system and method using a parallel finite state machine adaptive active monitor and responder |
US5574945A (en) * | 1993-11-04 | 1996-11-12 | International Business Machines Corporation | Multi channel inter-processor coupling facility processing received commands stored in memory absent status error of channels |
DE69300523T2 (de) * | 1993-11-26 | 1996-03-14 | Sgs Thomson Microelectronics | Prozessorschnittstellenschaltung zum Austausch von seriellen digitalen Daten mit einem Peripheriegerät. |
US5974457A (en) * | 1993-12-23 | 1999-10-26 | International Business Machines Corporation | Intelligent realtime monitoring of data traffic |
US5446874A (en) * | 1993-12-23 | 1995-08-29 | International Business Machines Corp. | Automated benchmarking with self customization |
US5548775A (en) * | 1993-12-30 | 1996-08-20 | International Business Machines Corporation | System and method for adaptive active monitoring of high speed data streams using finite state machines |
US5544077A (en) * | 1994-01-19 | 1996-08-06 | International Business Machines Corporation | High availability data processing system and method using finite state machines |
US5526488A (en) * | 1994-01-26 | 1996-06-11 | International Business Machines Corporation | Dynamic switching system for switching between event driven interfaces in response to switching bit pattern including in data frame in a data communications network |
US5526283A (en) * | 1994-01-26 | 1996-06-11 | International Business Machines Corporation | Realtime high speed data capture in response to an event |
EP0669736A3 (de) * | 1994-01-26 | 1997-01-08 | Ibm | Dynamische Echtzeit-Leitweglenkung im Datennetz. |
US5495426A (en) * | 1994-01-26 | 1996-02-27 | Waclawsky; John G. | Inband directed routing for load balancing and load distribution in a data communication network |
US5500855A (en) * | 1994-01-26 | 1996-03-19 | International Business Machines Corporation | Realtime event classification for a data communications network |
JP2669604B2 (ja) * | 1994-01-26 | 1997-10-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 位置決定方法および装置 |
US5577211A (en) * | 1994-05-11 | 1996-11-19 | Ibm Corporation | System and method using chained structure queues for ordering of message delivery between connected nodes wherein unsuccessful message portion is skipped and retried |
DE19503210C1 (de) * | 1995-02-02 | 1996-09-12 | Becker Gmbh | Verfahren zur Übertragung von digitalen Daten |
US6269458B1 (en) | 1995-02-21 | 2001-07-31 | Nortel Networks Limited | Computer system and method for diagnosing and isolating faults |
US5659720A (en) * | 1995-04-27 | 1997-08-19 | Emulex Corporatioln | Computer control device for managing a timer array |
US5629927A (en) * | 1995-05-31 | 1997-05-13 | International Business Machines Corporation | Monitoring ATM networks for burstiness using cell full or cell empty latency with minimum information |
US5802041A (en) * | 1995-05-31 | 1998-09-01 | International Business Machines Corporation | Monitoring ethernet lans using latency with minimum information |
US6282203B1 (en) | 1995-06-28 | 2001-08-28 | Hyundai Electronics Ind. Co., Ltd. | Packet data transmitting apparatus, and method therefor |
US5909427A (en) * | 1995-07-19 | 1999-06-01 | Fujitsu Network Communications, Inc. | Redundant switch system and method of operation |
KR0146446B1 (ko) * | 1995-07-24 | 1998-08-17 | 양승택 | 병렬 공통 버스형 고속 패킷 교환 시스템의 가입자 입출력 장치 |
WO1997010656A1 (en) * | 1995-09-14 | 1997-03-20 | Fujitsu Network Communications, Inc. | Transmitter controlled flow control for buffer allocation in wide area atm networks |
US5881247A (en) * | 1995-11-30 | 1999-03-09 | Allen-Bradley Company Llc | System having a plurality of frame bytes capable of identifying addressed recipients and assert a busy signal onto the backplane bus to forthrightly abort the message transfer |
WO1997026737A1 (en) * | 1996-01-16 | 1997-07-24 | Fujitsu Limited | A reliable and flexible multicast mechanism for atm networks |
US5748905A (en) * | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
US5864535A (en) * | 1996-09-18 | 1999-01-26 | International Business Machines Corporation | Network server having dynamic load balancing of messages in both inbound and outbound directions |
US6005920A (en) * | 1997-01-03 | 1999-12-21 | Ncr Corporation | Call center with fault resilient server-switch link |
US5970253A (en) * | 1997-01-09 | 1999-10-19 | Unisys Corporation | Priority logic for selecting and stacking data |
US6098181A (en) * | 1997-04-10 | 2000-08-01 | International Business Machines Corporation | Screening methodology for operating system error reporting |
US5931915A (en) * | 1997-05-13 | 1999-08-03 | International Business Machines Corporation | Method for processing early arrival messages within a multinode asynchronous data communications system |
US6266701B1 (en) * | 1997-07-02 | 2001-07-24 | Sitara Networks, Inc. | Apparatus and method for improving throughput on a data network |
SE521824C2 (sv) * | 1997-11-18 | 2003-12-09 | Ericsson Telefon Ab L M | En metod för att kontrollera access till ett kundlokaliserat nätverk |
US6477143B1 (en) | 1998-01-25 | 2002-11-05 | Dror Ginossar | Method and apparatus for packet network congestion avoidance and control |
US6198722B1 (en) * | 1998-02-27 | 2001-03-06 | National Semiconductor Corp. | Flow control method for networks |
SE511849C2 (sv) | 1998-03-31 | 1999-12-06 | Ericsson Telefon Ab L M | Anordning och metod för buffertskydd |
US6377575B1 (en) | 1998-08-05 | 2002-04-23 | Vitesse Semiconductor Corporation | High speed cross point switch routing circuit with word-synchronous serial back plane |
FI105133B (fi) | 1998-08-06 | 2000-06-15 | Ericsson Telefon Ab L M | Vianhallinta ja palautus tietoliikennejärjestelmässä |
US7013305B2 (en) | 2001-10-01 | 2006-03-14 | International Business Machines Corporation | Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange |
US6389568B1 (en) * | 1998-12-23 | 2002-05-14 | Maxtor Corporation | Method and apparatus for detecting handshaking protocol errors on an asynchronous data bus |
US6550017B1 (en) | 1999-06-29 | 2003-04-15 | Sun Microsystems, Inc. | System and method of monitoring a distributed fault tolerant computer system |
GB2352145A (en) * | 1999-07-16 | 2001-01-17 | Texas Instruments Ltd | Prevention of bottlenecking in data transfers |
KR100450942B1 (ko) * | 1999-11-22 | 2004-10-02 | 삼성전자주식회사 | 이더넷 스위치에서의 어드레스 서치 장치 및 방법 |
US6657962B1 (en) | 2000-04-10 | 2003-12-02 | International Business Machines Corporation | Method and system for managing congestion in a network |
US6452903B1 (en) | 2000-05-31 | 2002-09-17 | Fujitsu Network Communications, Inc. | Network switch supporting rate-based and credit-based flow control mechanisms on a link-by-link basis |
US6466541B1 (en) | 2000-05-31 | 2002-10-15 | Fujitsu Network Communications, Inc. | Cell pacing on a network link employing a rate-based flow control protocol with underlying credit-based flow control mechanisms |
WO2001095120A1 (en) * | 2000-06-06 | 2001-12-13 | Vitesse Semiconductor Corporation | Crosspoint switch with switch matrix module |
US6678840B1 (en) * | 2000-08-31 | 2004-01-13 | Hewlett-Packard Development Company, Lp. | Fault containment and error recovery in a scalable multiprocessor |
ATE360328T1 (de) * | 2000-10-13 | 2007-05-15 | Alcatel Lucent | Modulares und erweiterbares telekommunikationssystem |
US6697962B1 (en) | 2000-10-20 | 2004-02-24 | Unisys Corporation | Remote computer system monitoring and diagnostic board |
US6769079B1 (en) * | 2000-12-21 | 2004-07-27 | Borland Software Corporation | System and method for logging messages in an embedded computer system |
FR2828972A1 (fr) * | 2001-08-21 | 2003-02-28 | Koninkl Philips Electronics Nv | Dispositif de traitement et d'acheminement de donnees |
US6871067B2 (en) * | 2001-10-15 | 2005-03-22 | Electronic Data Systems Corporation | Method and system for communicating telematics messages |
DE10204347A1 (de) * | 2002-02-01 | 2003-08-14 | Atmel Germany Gmbh | Verfahren zur Übertragung von Daten |
US8549133B2 (en) * | 2002-03-11 | 2013-10-01 | Qwest Communications International Inc. | Systems and methods for tracking the reliability of communications networks |
US7523192B2 (en) * | 2002-03-11 | 2009-04-21 | Qwest Communications International Inc. | Automated module tracking system for communications networks |
JP4421812B2 (ja) * | 2002-07-08 | 2010-02-24 | 日本電気株式会社 | 診断機能を有するコンピュータシステム |
JP4371720B2 (ja) * | 2003-06-27 | 2009-11-25 | 株式会社日立製作所 | 記憶装置システム及び記憶装置システムの保守方法 |
US7289334B2 (en) * | 2003-08-27 | 2007-10-30 | Epicenter, Inc. | Rack architecture and management system |
JP4391178B2 (ja) | 2003-09-17 | 2009-12-24 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
GB0427547D0 (en) * | 2004-12-15 | 2005-01-19 | Ibm | Messaging system and method of operation thereof |
US7061406B1 (en) * | 2005-01-21 | 2006-06-13 | Rambus, Inc. | Low power, DC-balanced serial link transmitter |
EP1847033B1 (de) * | 2005-01-21 | 2015-03-11 | Rambus Inc. | Kommunikationssystem mit serieller schwachstromverbindung mit gleichstromausgleich |
US7199728B2 (en) * | 2005-01-21 | 2007-04-03 | Rambus, Inc. | Communication system with low power, DC-balanced serial link |
KR20060111036A (ko) * | 2005-04-21 | 2006-10-26 | 삼성전자주식회사 | 약전계 상황을 고려한 이동 통신 단말기에서의 화상 통화서비스 제공 방법 |
US20070097858A1 (en) * | 2005-11-01 | 2007-05-03 | Lesartre Gregg B | Method and computer system for employing an interconnection fabric providing multiple communication paths |
US7903556B2 (en) * | 2005-11-03 | 2011-03-08 | Hewlett-Packard Development Company, L.P. | Method of controlling data transfers between nodes in a computer system |
JP4677340B2 (ja) * | 2005-12-21 | 2011-04-27 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム、及び記憶媒体 |
US7693936B2 (en) * | 2005-12-29 | 2010-04-06 | Microsoft Corporation | Messaging schema for services interaction on prepaid and subscription system |
US8806476B2 (en) * | 2006-03-14 | 2014-08-12 | International Business Machines Corporation | Implementing a software installation process |
US20070248111A1 (en) * | 2006-04-24 | 2007-10-25 | Shaw Mark E | System and method for clearing information in a stalled output queue of a crossbar |
JP4705886B2 (ja) * | 2006-06-20 | 2011-06-22 | 株式会社日立製作所 | 回路基板の診断方法、回路基板およびcpuユニット |
US8482307B2 (en) * | 2009-06-05 | 2013-07-09 | Hubbell Incorporated | Method and apparatus for the prevention of untested or improperly tested printed circuit boards from being used in a fire pump control system |
US20110023036A1 (en) * | 2009-07-24 | 2011-01-27 | International Business Machines Corporation | Switching process types in a process engine |
KR101034326B1 (ko) | 2010-09-02 | 2011-05-16 | 주식회사 지오네트 | 제품의 제조/정비/운전정보 저장기능을 구비한 전자카드모듈 |
US9330055B2 (en) * | 2013-06-04 | 2016-05-03 | International Business Machines Corporation | Modular architecture for extreme-scale distributed processing applications |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL256714A (de) * | 1959-10-12 | |||
CH584488A5 (de) * | 1975-05-05 | 1977-01-31 | Ibm | |
US3979733A (en) * | 1975-05-09 | 1976-09-07 | Bell Telephone Laboratories, Incorporated | Digital data communications system packet switch |
US4081612A (en) * | 1975-07-31 | 1978-03-28 | Hasler Ag | Method for building-up of routing addresses in a digital telecommunication network |
CH608924A5 (de) * | 1975-11-03 | 1979-01-31 | Hasler Ag | |
JPS5279808A (en) * | 1975-12-26 | 1977-07-05 | Nippon Telegr & Teleph Corp <Ntt> | Double connection and line sources selection by existing switches |
US4058672A (en) * | 1976-11-10 | 1977-11-15 | International Telephone And Telegraph Corporation | Packet-switched data communications system |
CH632365A5 (de) * | 1978-01-30 | 1982-09-30 | Patelhold Patentverwertung | Datenaustauschverfahren zwischen mehreren partnern. |
IT1108325B (it) * | 1978-04-10 | 1985-12-09 | Cselt Centro Studi Lab Telecom | Procedimento e dispositivo di in stradamento per una rete di comunicazione a commutazione di pacchetto |
US4232366A (en) * | 1978-10-25 | 1980-11-04 | Digital Equipment Corporation | Bus for a data processing system with overlapped sequences |
US4347498A (en) * | 1979-11-21 | 1982-08-31 | International Business Machines Corporation | Method and means for demand accessing and broadcast transmission among ports in a distributed star network |
US4366537A (en) * | 1980-05-23 | 1982-12-28 | International Business Machines Corp. | Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys |
DE3068177D1 (en) * | 1980-06-19 | 1984-07-19 | Ibm | Flow control mechanism for block switching nodes |
JPS5768949A (en) * | 1980-10-17 | 1982-04-27 | Fujitsu Ltd | Buffer memory control system in packet transmission |
DE3044314C2 (de) * | 1980-11-25 | 1986-08-14 | kabelmetal electro GmbH, 3000 Hannover | Gehäuse zur Aufnahme von mit Wärme erzeugenden elektronischen Bauteilen bestückten gedruckten Schaltungen |
US4396984A (en) * | 1981-03-06 | 1983-08-02 | International Business Machines Corporation | Peripheral systems employing multipathing, path and access grouping |
JPS57206816A (en) * | 1981-06-15 | 1982-12-18 | Nippon Denso Co Ltd | Navigator loaded on car |
US4456957A (en) * | 1981-09-28 | 1984-06-26 | Ncr Corporation | Apparatus using a decision table for routing data among terminals and a host system |
US4449182A (en) * | 1981-10-05 | 1984-05-15 | Digital Equipment Corporation | Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems |
US4475192A (en) * | 1982-02-16 | 1984-10-02 | At&T Bell Laboratories | Data packet flow control scheme for switching networks |
US4470114A (en) * | 1982-03-01 | 1984-09-04 | Burroughs Corporation | High speed interconnection network for a cluster of processors |
JPS58169648A (ja) * | 1982-03-31 | 1983-10-06 | Fujitsu Ltd | 機器の履歴表示装置 |
US4484030A (en) * | 1982-04-19 | 1984-11-20 | At&T Bell Laboratories | Method and apparatus for identifying faulty communications circuits |
US4539676A (en) * | 1982-05-03 | 1985-09-03 | At&T Bell Laboratories | Bulk/interactive data switching system |
US4560985B1 (en) * | 1982-05-07 | 1994-04-12 | Digital Equipment Corp | Dual-count, round-robin ditributed arbitration technique for serial buses |
US4450572A (en) * | 1982-05-07 | 1984-05-22 | Digital Equipment Corporation | Interface for serial data communications link |
US4592072B1 (en) * | 1982-05-07 | 1994-02-15 | Digital Equipment Corporation | Decoder for self-clocking serial data communications |
US4490785A (en) * | 1982-05-07 | 1984-12-25 | Digital Equipment Corporation | Dual path bus structure for computer interconnection |
EP0097351A3 (de) * | 1982-06-21 | 1986-02-26 | Nec Corporation | Wegesucheinheit und Wegesuchnetz zur Bestimmung eines Ausgangsports durch Erkennung eines Teiles eines Eingangspakets |
US4499576A (en) * | 1982-08-13 | 1985-02-12 | At&T Bell Laboratories | Multiplexed first-in, first-out queues |
US4663706A (en) * | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
JPS5995752A (ja) * | 1982-11-25 | 1984-06-01 | Pioneer Electronic Corp | デ−タ伝送方式 |
US4543626A (en) * | 1982-12-06 | 1985-09-24 | Digital Equipment Corporation | Apparatus and method for controlling digital data processing system employing multiple processors |
FR2538976A1 (fr) * | 1982-12-29 | 1984-07-06 | Servel Michel | Systeme de commutation de paquets synchrones de longueur fixe |
US4574284A (en) * | 1983-01-26 | 1986-03-04 | Trw Inc. | Communication bus interface unit |
US4654654A (en) * | 1983-02-07 | 1987-03-31 | At&T Bell Laboratories | Data network acknowledgement arrangement |
CA1199394A (en) * | 1983-02-18 | 1986-01-14 | Conrad Lewis | Switching system with separate supervisory links |
JPS59157798A (ja) * | 1983-02-24 | 1984-09-07 | 株式会社デンソー | 車両用走行案内装置 |
US4542497A (en) * | 1983-03-28 | 1985-09-17 | At&T Bell Laboratories | Wideband digital switching network |
US4547880A (en) * | 1983-05-13 | 1985-10-15 | Able Computer | Communication control apparatus for digital devices |
JPS59215154A (ja) * | 1983-05-13 | 1984-12-05 | エイブル・コンピユ−タ− | 通信制御装置 |
US4530090A (en) * | 1983-07-29 | 1985-07-16 | International Standard Electric Corporation | Telecommunications systems with user programmable features |
US4578773A (en) * | 1983-09-27 | 1986-03-25 | Four-Phase Systems, Inc. | Circuit board status detection system |
GB8329728D0 (en) * | 1983-11-08 | 1983-12-14 | Cripps M D | Interconnection networks |
US4646300A (en) * | 1983-11-14 | 1987-02-24 | Tandem Computers Incorporated | Communications method |
US4616359A (en) * | 1983-12-19 | 1986-10-07 | At&T Bell Laboratories | Adaptive preferential flow control for packet switching system |
US4556972A (en) * | 1983-12-27 | 1985-12-03 | At&T Bell Laboratories | Arrangement for routing data packets through a circuit switch |
JPH0638600B2 (ja) * | 1983-12-28 | 1994-05-18 | 株式会社東芝 | ローカルエリアネットワークシステム |
US4633245A (en) * | 1983-12-30 | 1986-12-30 | International Business Machines Corporation | Local area network interconnect switching system |
GB8407102D0 (en) * | 1984-03-19 | 1984-04-26 | Int Computers Ltd | Interconnection of communications networks |
US4577308A (en) * | 1984-04-06 | 1986-03-18 | At&T Bell Laboratories | Multiplexed interconnection of packet switching node packages |
US4706150A (en) * | 1984-06-29 | 1987-11-10 | International Business Machines Corporation | Switching protocal for multiple autonomous switching planes |
US4583219A (en) * | 1984-07-16 | 1986-04-15 | At&T Bell Laboratories | Trunk for packet switching |
US4661947A (en) * | 1984-09-26 | 1987-04-28 | American Telephone And Telegraph Company At&T Bell Laboratories | Self-routing packet switching network with intrastage packet communication |
US4679186A (en) * | 1984-09-26 | 1987-07-07 | American Telephone And Telegraph Company, At&T Bell Laboratories | Alternate self-routing packet switching node having fault detection capabilities |
US4656622A (en) * | 1984-09-26 | 1987-04-07 | American Telephone And Telegraph Company | Multiple paths in a self-routing packet and circuit switching network |
US4653085A (en) * | 1984-09-27 | 1987-03-24 | At&T Company | Telephone switching system adjunct call processing arrangement |
KR900006793B1 (ko) * | 1984-10-18 | 1990-09-21 | 휴우즈 에어크라프트 캄파니 | 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법 |
US4630258A (en) * | 1984-10-18 | 1986-12-16 | Hughes Aircraft Company | Packet switched multiport memory NXM switch node and processing method |
US4630254A (en) * | 1984-10-26 | 1986-12-16 | Trw Inc. | Controlled star network |
US4630259A (en) * | 1984-11-14 | 1986-12-16 | At&T Bell Laboratories | Lockup detection and recovery in a packet switching network |
JPH0628361B2 (ja) * | 1984-11-27 | 1994-04-13 | 国際電信電話株式会社 | パケツト交換方式 |
US4639910A (en) * | 1984-12-14 | 1987-01-27 | Itt Corporation | Apparatus for establishing communication paths |
JPH0732387B2 (ja) * | 1985-02-23 | 1995-04-10 | 株式会社日立製作所 | デ−タ再送方式 |
JPS61209316A (ja) * | 1985-03-14 | 1986-09-17 | Nissan Motor Co Ltd | 車両用経路誘導装置 |
US4752777A (en) * | 1985-03-18 | 1988-06-21 | International Business Machines Corporation | Delta network of a cross-point switch |
US4644532A (en) * | 1985-06-10 | 1987-02-17 | International Business Machines Corporation | Automatic update of topology in a hybrid network |
GB8515942D0 (en) * | 1985-06-24 | 1985-07-24 | Scient Applied Research Sar | Vehicle navigating apparatus |
US4630260A (en) * | 1985-06-27 | 1986-12-16 | At&T Bell Laboratories | Self-routing multipath packet switching network with sequential delivery of packets |
US4672604A (en) * | 1985-07-08 | 1987-06-09 | American Telephone And Telegraph Company | Time slot polling arrangement for multiple stage time division switch |
US4734907A (en) * | 1985-09-06 | 1988-03-29 | Washington University | Broadcast packet switching network |
US4742482A (en) * | 1985-10-29 | 1988-05-03 | Hayes Microcomputer Products, Inc. | Modem controller |
US4696000A (en) * | 1985-12-12 | 1987-09-22 | American Telephone And Telegraph Company, At&T Bell Laboratories | Nonblocking self-routing packet and circuit switching network |
US4710769A (en) * | 1985-12-30 | 1987-12-01 | Ibm Corporation | Transmit-secure non-blocking circuit-switched local area network |
DE3788577T2 (de) * | 1986-01-09 | 1994-07-07 | Nippon Electric Co | Paketvermitteltes Fernmeldenetz mit parallelen virtuellen Verbindungen zur Umweglenkung von Nachrichtenpaketen. |
US4783657A (en) * | 1986-02-10 | 1988-11-08 | International Business Machines Corporation | Processor intercommunication network |
US4719459A (en) * | 1986-03-06 | 1988-01-12 | Grumman Aerospace Corporation | Signal distribution system switching module |
US4704717A (en) * | 1986-07-22 | 1987-11-03 | Prime Computer, Inc. | Receive message processor for a solicited message packet transfer system |
US4789980A (en) * | 1986-08-18 | 1988-12-06 | American Telephone & Telegraph Company, At&T Bell Laboratories | Switching techniques for FDM communication systems |
JP2679983B2 (ja) * | 1987-03-06 | 1997-11-19 | 株式会社日立製作所 | 通信網における制御情報伝送方法 |
US4797881A (en) * | 1987-03-12 | 1989-01-10 | Sytek, Inc. | Bridge system for connecting networks |
US4809362A (en) * | 1987-03-13 | 1989-02-28 | Center For Innovative Technology | Fiber-optic star tree network |
US4829520A (en) * | 1987-03-16 | 1989-05-09 | American Telephone And Telegraph Company, At&T Bell Laboratories | In-place diagnosable electronic circuit board |
US4881263A (en) * | 1987-09-25 | 1989-11-14 | Digital Equipment Corporation | Apparatus and method for secure transmission of data over an unsecure transmission channel |
-
1987
- 1987-10-16 US US07/110,513 patent/US4887076A/en not_active Expired - Lifetime
-
1988
- 1988-10-13 JP JP63509137A patent/JP2536915B2/ja not_active Expired - Lifetime
- 1988-10-13 WO PCT/US1988/003570 patent/WO1989003562A1/en active IP Right Grant
- 1988-10-13 DE DE3850097T patent/DE3850097T2/de not_active Expired - Fee Related
- 1988-10-13 EP EP88909899A patent/EP0335964B1/de not_active Expired - Lifetime
- 1988-10-14 CA CA000580151A patent/CA1315412C/en not_active Expired - Fee Related
-
1989
- 1989-10-03 US US07/416,504 patent/US5084871A/en not_active Expired - Lifetime
- 1989-10-03 US US07/416,726 patent/US4970726A/en not_active Expired - Lifetime
-
1991
- 1991-08-12 US US07/744,829 patent/US5138611A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5138611A (en) | 1992-08-11 |
DE3850097D1 (de) | 1994-07-14 |
EP0335964A1 (de) | 1989-10-11 |
JP2536915B2 (ja) | 1996-09-25 |
CA1315412C (en) | 1993-03-30 |
JPH02501791A (ja) | 1990-06-14 |
US4887076A (en) | 1989-12-12 |
US4970726A (en) | 1990-11-13 |
EP0335964B1 (de) | 1994-06-08 |
WO1989003562A1 (en) | 1989-04-20 |
US5084871A (en) | 1992-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3850097T2 (de) | Rechnerverbinder für gruppen von datenverarbeitungseinrichtungen. | |
DE3882970T2 (de) | Rechnerverbinder, der querbalkenschalter verwendet. | |
DE69128503T2 (de) | Schnittstellenschaltung für intelligentes Netzwerk | |
US4897833A (en) | Hierarchical arbitration system | |
DE69128133T2 (de) | Fernmeldenetz | |
DE69133518T2 (de) | Kommunikationsschnittstelle | |
DE68925763T2 (de) | Verbindungs- und Zugriffsarbitrierungsanordnung für Multiprozessorsystem | |
DE68927816T2 (de) | Übertragungsprozessor für ein paketvermitteltes netzwerk | |
DE69331053T2 (de) | Faseroptisches speicherkupplungsystem. | |
DE3280451T2 (de) | Verfahren zur Initialisierung eines Datenverarbeitungssystems. | |
DE69123104T2 (de) | Melden und Verifizieren von Zustandswechseln in einem Datenverarbeitungsein- / -ausgabesystem | |
DE69130106T2 (de) | Arbitrierung von paketvermittelten Bussen, einschliesslich Bussen von Multiprozessoren mit gemeinsam genutztem Speicher | |
DE4023471C2 (de) | Steuerungssystem mit Hostcomputer und Kommunikationsschnittstellenschaltung | |
DE3506118A1 (de) | Verfahren zum betreiben einer datenverarbeitungsanlage fuer kraftfahrzeuge | |
DE19900369A1 (de) | Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus | |
DE69129840T2 (de) | Nachrichtensteuerungsverfahren für ein datenkommunikationssystem | |
DE69227996T2 (de) | Vorrichtung und verfahren zur vermittlung von datenblöcken | |
DE68920443T2 (de) | Systembus mit multiplexbetriebenen steuer-kennzeichnungsinformationen und daten. | |
EP1881413B1 (de) | Kommunikationssystem für den flexiblen Einsatz in unterschiedlichen Einsatzfällen der Automatisierungstechnik | |
EP1283468A2 (de) | Zentraleinheit für ein redundantes Automatisierungssystem | |
DE3937021C2 (de) | ||
WO2000018064A2 (de) | Netzwerk sowie koppelgerät zur verbindung zweier segmente in einem derartigen netzwerk | |
DE3546684C2 (en) | Operating communication bus network for processors | |
DE102005062576A1 (de) | Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung | |
DE69030597T2 (de) | Zweiweg-Rechnerverbindungssystem mit Steuerung eines Paketspeichers mit vier Anschlussstellen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee | ||
8370 | Indication related to discontinuation of the patent is to be deleted | ||
8328 | Change in the person/name/address of the agent |
Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |