DE3882970T2 - Rechnerverbinder, der querbalkenschalter verwendet. - Google Patents

Rechnerverbinder, der querbalkenschalter verwendet.

Info

Publication number
DE3882970T2
DE3882970T2 DE88910278T DE3882970T DE3882970T2 DE 3882970 T2 DE3882970 T2 DE 3882970T2 DE 88910278 T DE88910278 T DE 88910278T DE 3882970 T DE3882970 T DE 3882970T DE 3882970 T2 DE3882970 T2 DE 3882970T2
Authority
DE
Germany
Prior art keywords
message
coupler
channel
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
Application number
DE88910278T
Other languages
English (en)
Other versions
DE3882970D1 (de
Inventor
Ronald Carn
Barry Henry
Charles Kaczor
Allan Kent
Donald Metz
Milton Mills
Harold Read
Robert Stewart
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Application granted granted Critical
Publication of DE3882970D1 publication Critical patent/DE3882970D1/de
Publication of DE3882970T2 publication Critical patent/DE3882970T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2002Error 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/2007Error 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)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

  • Die vorliegende Erfindung betrifft das Gebiet van Computersystem- Verbindungen, und genauer die Übertragung van Datenpaketen zwischen verschiedenen Datenverarbeitungseinrichtungen in einem Computersystem. Insbesondere betrifft die Erfindung einen Computer-Verbinder, der die Übertragung von adressierten Datenpaketen zwischen verschiedenen Datenverarbeitungseinrichtungen prioritätsverteilt.
  • Ein herkömmliches digitales Computersystem weist zumindest einen Speicher, eine Eingangs/Ausgangs-Einrichtung und einen Datenprozessor auf. Der Speicher speichert Informationen in adressierbaren Speicherstellen. Diese Informationen enthalten Daten und Befehle zum Verarbeiten der Daten, einschließlich Kommandos und Antworten. Der Datenprozessor transferiert Informationen zu dem Speicher und von dem Speicher, interpretiert die ankommenden Informationen als entweder Daten ader Befehle und verarbeitet die Daten in Übereinstimmung mit den Befehlen. Die Eingangs/Ausgangs- Einrichtung kommuniziert auch mit dem Speicher, um die Eingangsdaten zu speichern, und gibt verarbeitete Daten aus.
  • Ein kleines Computersystem weist typischerweise eine zentrale Verarbeitungseinheit, einen Speicher, eine Eingangs/Ausgangs- Einheit und eine Spannungsversorgung auf, die zusammen in einem Gehäuse untergebracht sind. Das Gehäuse ist um einen Rahmen herum ausgebildet, der ein Rack-Gestell oder einen "Kartenkäfig" hat, welcher parallel beabstandete Schlitze zum Aufnehmen von gedruckten Leiterplatten begrenzt, die die zentrale Verarbeitungseinheit, den Speicher und die Eingangs/Ausgangs-Einheit aufweisen. Die Innenkanten-Abschnitte der Leiterplatten enthalten Anschlüsse, die zu den Steckverbindungen an einer "Rückwand (back plane)" des Kartenkäfigs passen. Die "Rückwand" hat eine Anzahl von parallelen Leitern oder Bussen, die die Leiterplatten untereinander, die Leiterplatten mit der Spannungsversörgung und die Eingangs/Ausgangs-Einheit mit einer Anzahl von Eingangs/Ausgangs-Anschlüssen verbinden. Die Busse führen Adressen und Daten, Steuer- und Statussignale und Versorgungsspannung und Erde. Die Eingangs/Ausgangs-Anschlüsse enthalten typischerweise einen Anschluß für ein Konsolen-Terminal und zumindest einen Anschluß für eine Eingangs/Ausgangs-Einrichtung mit hoher Geschwindigkeit oder einen Massenspeicher, wie zum Beispiel ein Floppy-Disk-Laufwerk, ein Band-Laufwerk, einen Hochgeschwindigkeitsdrucker oder ein Festplattenlaufwerk.
  • Fortschritte in der Schaltungstechnologie haben es ermöglicht, zusätzliche Datenprozessoren zu verwenden, die dafür vorgesehen sind, zugeordnete Speichereinrichtungen oder Eingangs/Ausgangs- Einrichtungen zu bedienen. Deshalb ist es wahrscheinlich, in einem Gehäuse für eine typische zentrale Verarbeitungseinheit einen ersten Datenprozessor, der für numerische Berechnungen verwendet wird, und einen zweiten Datenprozessor zu finden, der zum Steuern des Zentralspeichers, zum Beispiel zum Formatieren oder Puffern von Eingangs/Ausgangs-Daten in einem Abschnitt des Speichers, verwendet wird, wohingegen numerische Berechnungen mit Daten in einem anderen Abschnitt des Speichers durchgeführt werden. Desweiteren haben Eingangs/Ausgangs-Einrichtungen oder Massen-Speicher-Einrichtungen, außerhalb des Gehäuses für die zentrale Verarbeitungseinheit, typischerweise zumindest eine Datenverarbeitungseinheit oder einen "Server" zum Puffern von Daten und zum Steuern der Einrichtungen in Antwort auf Kommandos hohen Niveaus von einem Zentralprozessor.
  • In den vergangenen Jahren ist das Bedürfnis für ein Berechnungs- Vermogen und ein Datenspeichervermögen aufgetreten, die diejenigen, welche durch wenige zentrale Verarbeitungseinheiten zur Verfügung gestellt werden, übersteigen. Für spezielle Anwendungen, wie zum Beispiel Großintegrations-Simulation, können diese Datenverarbeitungsbedürfnisse nur durch große Computer erfüllt werden, die eine Anzahl von Zentralprozessoren und einen Speicher haben, die miteinander durch Adreß-, Daten- und Steuerbusse verbunden sind. Für allgemeine Anwendungen ist es jedoch ökonomischer, Computernetzwerke aufzubauen, in denen eine Anzahl von herkömmlichen zentralen Verarbeitungseinheiten, Eingangs/Ausgangs-Einrichtungen und Massenspeicher-Einrichtungen an unterschiedlichen Positionen angeordnet und untereinander verbunden sind, um miteinander kommunizieren zu können. Typischerweise teilen sich die zentralen Verarbeitungseinheiten eine oder mehrere Massenspeichereinheiten, um auf eine gemeinsame Datenbank zuzugreifen und um die gemeinsame Datenbank zu aktualisieren.
  • Obwohl es zahlreiche Informations-Übertragungs-Schemata gibt, die für eine Kommunikation zwischen den Datenverarbeitungseinrichtungen in einem Netzwerk verwendet werden können, besteht das typische Verfahren darin, ein gemeinsam benutztes (shared) Kommunikations-Systemelement (d.h. einen Kanal oder einen Bus) zu verwenden, das die verschiedenen Elemente untereinander verbindet. Im Allgemeinen erfordert eine Übertragung zwischen zwei Einrichtungen über einen gemeinsam benutzten Bus zwei Schritte, da jede Einrichtung die Fähigkeit dazu hat, eine Übertragung zur gleichen Zeit zu erzeugen. Der erste Schritt besteht für die auslösende Einheit darin, die Steuerung über den Bus für ein mehr oder weniger definiertes Intervall zu erhalten. Der zweite Schritt besteht für die auslösende Einheit darin, Informationen über den Bus zu übertragen.
  • Das Erhalten der Steuerung über den Bus erfordert eine Prioritätsverteilung (arbitration), um eine bestimmte von den Einrichtungen, die einen Buszugriff wünschen, auszuwählen. Es gibt zwei allgemeine Lösungen für die Prioritätsverteilung, die als "zentrale" Prioritätsverteilung und als verteilte Prioritätsverteilung bekannt sind. Bei der zentralen Prioritätsverteilung empfängt eine einzelne, zentrale Prioritätsschaltung oder -einrichtung alle Nachfragen für den Buszugriff und bestimmt, welcher nachfragenden Einrichtung zu einer gegebenen Zeit die größte Priorität gewährt werden soll und erlaubt werden soll, den Bus zu benutzen. Wenn diese Einrichtung einmal ausgewählt ist, ist es ihr erlaubt, den Bus zu steuern und die Übertragung zu bewirken. Im Unterschied hierzu wird bei der verteilten Prioritätsverteilung jeder Einheit, die mit dem Bus verbunden ist, eine spezifische Priorität zugeordnet, und jede Einheit bestimmt individuell, ob sie eine ausreichende Priorität dafür hat, die Steuerung des Busses zu erhalten, wenn sie die Steuerung erwünscht. Wenn eine Einheit mit höherer Priorität gleichzeitig einen Buszugriff versucht, muß eine Einrichtung mit niedrigerer Priorität bis zu einem späteren Zeitpunkt warten, wenn die erstere der Nachfrager mit der höchsten Priorität ist.
  • Ein verteiltes Prioritätsverteilungsschema, das als "Trägererfassung mit vielfachem Zugriff mit Kollisionsdetektion (carrier-sense multiple access with collision detection)" (CSMA/CD) bekannt ist, erlaubt einer Anzahl von Einrichtungen, über eine einzelne bit-serielle Leitung, wie zum Beispiel ein Koaxialkabel, zu kommunizieren. Jede Einrichtung enthält Schaltungen zum Überwachen des Kanals und zum Anzeigen, sobald zwei Einrichtungen zum gleichen Zeitpunkt übertragen. Wenn eine übertragende Einrichtung feststellt, daß eine andere Einrichtung zur gleichen Zeit überträgt, stoppen die beiden Einrichten das Übertragen. Beide versuchen dann wieder eine Übertragung, nachdem der Kanal wieder frei ist.
  • Eine Art von herkömmlichem Netzwerk mit serieller Datenkommunikation über Koaxialkabel ist als "Ethernet" bekannt. Das Ethernet arbeitet mit bis zu 10 Megabit pro Sekunde und stellt typischerweise bis hin zu 1023 adressierbare Einrichtungen an einem Segment des Netzwerks zur Verfügung. Das Ethernet ist insbesondere zum Verbinden einer großen Anzahl von zeitteilenden (timesharing) Terminals mit einer zentralen Verarbeitungseinheit nützlich.
  • Eine Hochgeschwindigkeits-Informationsübertragung über einen gemeinsam benutzten Bus zwischen einzelnen Datenverarbeitungseinrichtungen schließt zusätzliche Erfordernisse ein, wie zum Beispiel schnelle Synchronisation, Isolation und hochzuverlässige Datenübertragung. Spezielle Hardware und Kommunikationsprotokolle sind erfunden worden, um diese Erfordernisse zu erfüllen.
  • Aufgrund von Variationen in der Fortpflanzungsgeschwindigkeit ist es relativ impraktikabel, Daten mit hoher Geschwindigkeit auf parallele Art und Weise über einen Vielleitungs-Bus zu übertragen, der entfernte Datenverarbeitungseinrichtungen verbindet. Auch ist es aufgrund des Erfordernisses der schnellen Synchronisation nicht wünschenswert, Daten in einem nicht auf Null zurückkehrenden (non-return-to-zero) Format zu übertragen. Bevorzugterweise werden ein oder mehrere serielle Datenströme in einem modulierten oder selbsttaktenden Format übertragen. Das bevorzugte Format ist die Manchester-Codierung, wie sie in dem U.S. Patent 4,592,072 von Steward und dem U.S. Patent 4,450,572 von Steward usw. beschrieben wird, die hier durch Bezugnahme aufgenommen werden. Die Manchester-Codierung hat auch den Vorteil des Entfernens der Gleichstromkomponente und der niederfrequenten Komponenten des Datensignals, so daß das codierte Signal vollständig durch einfache Isolations-Transformatoren hindurchgehen kann.
  • Eine zuverlässige Datenübertragung ist insbesondere in Computernetzwerken wichtig, die eine gemeinsam benutzte Datenbank haben. In einem solchen Fall muß jede Unterbrechung beim Aktualisieren einer Datenbank durch den aktualisierenden Zentralprozessor erfaßt werden, um die Fehler zu korrigieren, die auftreten können, und die Unterbrechung muß auch von dem Speicher-Server erfaßt werden, um zu verhindern, daß andere Zentralprozessoren teilweise geänderte oder veraltete Daten verwenden.
  • Ein Kommunikationsprotokoll zum Erreichen einer zuverlässigen Hochgeschwindigkeits-Datenübertragung wird in dem U.S. Patent 4,560,985 von Strecker usw. offenbart, das hier durch Bezugnahme in die Anmeldung aufgenommen wird. Die Prioritätsverteilung wird bevorzugterweise auf einer rotierenden oder "round robin" (Rundlauf) Basis durchgeführt, so daß jede datenverarbeitende Einrichtung an einem gemeinsam benutzten Kanal im Mittel die gleiche Chance für das Erhalten des Zugriffs hat. Die Abwesenheit eines Trägers auf dem Kanal zeigt an, daß eine Datenverarbeitungseinrichtung versucht, einen Zugriff zu erhalten. Ein Prioritätsverteilungs-Zeitgeber zeigt einen Übertragungsfehler an, wenn der Träger nicht vermag, innerhalb einer gewissen Zeitablauf-Dauer abwesend zu sein. Kollisionen von Datenpaketen oder andere Übertragungsfehler werden durch einen Fehlerdetektionscode, wie zum Beispiel eine zyklische Redundanz- Überprüfung, erfaßt.
  • Wenn eine Datenverarbeitungseinrichtung korrekterweise ein Datenpaket empfängt, anerkennt bzw. bestätigt sie unverzüglich den Empfang des Pakets durch eine Rückübertragung eines Anerkennungscodes. Wenn das Datenpaket auf den Empfang hin verarbeitet wurde, wird ein positiver Anerkennungscode (ACK) bzw. Bestätigungscode zurückgegeben. Wenn das Informationspaket korrekterweise empfangen wurde, aber nicht verarbeitet werden konnte, wird ein negativer Anerkennungscode (NAK) zurückgegeben. In einem typischen Fall signalisiert der negative Anerkennungscode, daß das empfangene Datenpaket nach dem Empfang aufgrund einer Nichtverfügbarkeit eines Puffers nicht verarbeitet werden konnte, und deshalb das empfangene Datenpaket nicht berücksichtigt wurde.
  • Eine Prioritätsverteilung für die Übertragung des Anerkennungscodes ist nicht erforderlich; der Code wird übertragen, sobald der Träger des empfangenen Datenpakets von dem Übertragungskanal entfernt worden ist. Die Übertragung des Anerkennungscodes muß innerhalb einer gewissen Zeitdauer abgeschlossen sein. Nach dieser Zeitdauer können die anderen Datenverarbeitungseinrichtungen damit beginnen, zusätzliche Datenpakete prioritätszuverteilen und zu übertragen.
  • Wenn eine Datenverarbeitungseinrichtung nicht vermag, einen Anerkennungscode unmittelbar nach der Übertragung eines Datenpakets zu empfangen, sollte eine erneute Übertragung hintereinanderfolgend bis zu einer vorgegebenen Anzahl Mal versucht werden. Ähnlich sollte, wenn ein negativer Anerkennungscode empfangen wird, eine erneute Übertragung für eine noch größere Anzahl Mal versucht werden. Um Systemstillstände zu unterbrechen, sollte eine pseudozufällige oder "Münzwurf"-Entscheidung ausgeführt werden, wenn das Datenpaket für eine erneute Übertragung verfügbar ist. Wenn das Ergebnis der Entscheidung TRUE (wahr) ist, wird eine erneute Übertragung versucht. Wenn das Ergebnis der Entscheidung FALSE (falsch) ist, wartet die Datenverarbeitungseinrichtung für ein gewisses Verzögerungszeitintervall und wiederholt den Entscheidungsprozeß. Das Verzögerungszeitintervall sollte zum Beispiel zumindest der minimalen Zeitdauer für alle Datenverarbeitungseinrichtungen entsprechen, um auf den Kanal zuzugreifen; in anderen Worten, wenn alle Datenverarbeitungseinheiten eine erneute Übertragung versucht haben, sollte es eine gewisse Zeit geben, die für die Übertragung von Datenpaketen und die erneute Übertragung von Anerkennungscodes verfügbar ist, und zwar neben der Zeit, die dafür erforderlich ist, Kollisionen zu detektieren und um prioritätszuverteilen.
  • Alternative Übertragungskanäle sind dafür erforderlich, eine hohe Verfügbarkeit und Zuverlässigkeit bei der Kommunikation sicherzustellen. Wie in dem U.S. Patent 4,490,785 von Strecker usw. offenbart wird, das hier durch Bezugnahme aufgenommen wird, 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 ausgeführt werden, die von den alternativen Kanälen gemeinsam benutzt wird.
  • Zum Koppeln von Datenverarbeitungseinrichtungen, die die obenstehenden Kommunikationstechniken verwenden, ist eine Cluster-Gruppe von Einrichtungen typischerweise direkt mit einem Paar von zentral angeordneten Signaltransformatoren verbunden, die eine separate Windung für jede Einrichtung haben. Jeder Transformator stellt einen gemeinsam benutzten Kanal zur Verfügung, der die Datenverarbeitungseinrichtungen miteinander verbindet und die zentrale Anordnung der Transformatoren stellt eine minimale Übertragungsverzogerung sicher. Ein solcher Computer-Verbinder hat jedoch ein in gewisser Weise begrenztes Verbindungsvermögen aufgrund der begrenzten Übertragungsbandbreite oder des begrenzten Durchsatzes des gemeinsam benutzten Kanals. Wenn zusätzliche Datenverarbeitungseinrichtungen mit einem zentralen Transformator verbunden werden würden, würde jedem Prozessor ein proportional kleinerer Anteil an der Übertragungsbandbreite sichergestellt werden können. Deshalb ist es für die Verbindung zusätzlicher Datenverarbeitungseinheiten notwendig, zusätzliche Kanäle hinzuzufügen, so daß eine Übertragung gleichzeitig über eine Anzahl von Kanälen auftreten kann. in diesem Fall muß jedoch jede Datenverarbeitungseinheit mit zusätzlichen Anschlüssen und Schnittstellenschaltungen versehen werden. Desweiteren können die Anschlüsse und die Schnittstellenschaltung nicht alleine vervielfacht werden, da zusätzliche Einrichtungen zum Auswählen eines bestimmten Anschlusses für die Übertragung und zum Erhalten von ankommenden Daten von einem bestimmten der Anschlüsse erforderlich sind. Es ist insbesondere nicht erwünscht, solche Modifikationen in existierenden Computergerätschaften durchzuführen.
  • Die EP-A-0141332 offenbart die Verbindung einer Vielzahl von Prozessoren und einer Vielzahl von Speichereinheiten durch eine Vielzahl von Bussen, aber die Koppler, die hier beschrieben werden, sind derart, daß die Speichereinheiten jeweils mit nur einem Bus verbunden sind.
  • FTCS 14, the Fourteenth International Conference on Fault-Tolerant Computing, 20. bis 22. Juni 1984, Kissimmee, Florida, IEEE, (US), P Chilton usw.: "MEUNET- ein Paketschalter mit hoher Geschwindigkeit und hoher Verfügbarkeit", Seiten 164 bis 169, beschreibt einen Koppler, in dem die unterschiedlichen Unter-Einheiten mit allen drei unterschiedlichen Bussen verbunden sind, aber die Zuordnung der Busse ist dezentralisiert und basiert auf einem Token-System.
  • Das primäre Ziel der vorliegenden Erfindung besteht darin, einen verbesserten Computerverbinder bereit zustellen, der ein erhöhtes Verbindungsvermögen und eine erhöhte Bandbreite bereitstellt, aber keine wesentlichen Modifikationen von existierenden Computergerätschaften erfordert.
  • Eine weitere Aufgabe der Erfindung besteht darin, einen solchen verbesserten Computerverbinder mit der Fähigkeit des einfachen Änderns der Konfiguration des Clusters von zwischenverbundenen Einrichtungen bereitzustellen. Eine verwandte Aufgabe der Erfindung besteht darin, einen solchen Koppler mit redundanten Kanälen bereitzustellen und sicherzustellen, daß die Konfiguration für jeden redundanten Kanal konsistent ist.
  • Noch eine weitere Aufgabe der Erfindung besteht darin, einen solchen verbesserten Computerverbinder mit der Fähigkeit einer stufenweisen Expansion bereit zustellen, um zusätzliche Computergerätschaften verbinden zu können.
  • Um diese und andere Aufgaben zu erfüllen, wird ein Computerverbinder bereitgestellt, wie er in Anspruch 1 enthalten ist. Ein Verfahren zum Übertragen von Nachrichten zwischen vielen Datenverarbeitungseinrichtungen wird ebenfalls bereitgestellt, wie es im Anspruch 22 enthalten ist.
  • In einer bevorzugten Ausführungsform wird das Durchverbindungsverfahren (routing procedure) für den auslösenden Datenprozessor transparent gemacht, indem zumindest ein Anfangsabschnitt der Nachricht in einem Zuerst-Ein-Zuerst- Aus(FIFO)-Puffer während der Zeit gespeichert wird, die für ein Ausführen des Durchverbindungsverfahrens erforderlich ist.
  • Aufgrund der praktischen Beschränkung der begrenzten Pufferkapazität müssen einige Nachrichten, die für einen belegten Kanal bestimmt sind, unberücksichtigt bleiben. Um zu ermöglichen, daß diese Nachrichten erneut übertragen werden und auf einer Zuerst- Kommen-Zuerst-Bedient-Basis durchverbunden werden, sobald der Ziel-Kanal nicht langer belegt ist, wird eine Nachfrage dafür, eine Nachricht zu einem belegten Kanal durchzuverbinden, in eine entsprechende Zuerst-Ein-Zuerst-Aus-Reihe gesetzt, die dem Ziel- Kanal zugeordnet ist. Die Ziel-Reihe speichert deshalb eine geordnete Liste der nicht erfüllten Nachfragen für einen Zugriff auf den jeweiligen Kanal. Sobald der Kanal nicht länger belegt ist, wird der Kanal vorübergehend zum Erfüllen der ältesten Nachfrage am Kopf der Reihe reserviert. Die Nachfrage am Kopf der Reihe wird aus der Reihe entfernt, wenn die erneut gesendete Nachricht durchverbunden wird oder wenn ein vorgegebenes Zeitintervall abgelaufen ist.
  • Damit die durchverbindende Schaltung nicht durch das Bedienen von erneuten Übertragungen einer unberücksichtigten Nachricht vor dem Zeitpunkt belastet wird, bei dem der Ziel-Kanal verfügbar wird, und bevor frühere, nicht erfüllte Nachfragen bedient worden sind, überträgt die bevorzugte Ausführungsform auch ein "Fluß- Steuerung"- Signal zu der Datenverarbeitungseinrichtung des Quellenkanals, um eine erneute Sendung zu sperren, bis der Ziel- Kanal vorübergehend für den Quellenkanal reserviert wird, wenn die eingereihte Nachfrage von dem Quellenkanal am Kopf der Reihe auftritt.
  • Um einen Zugriff auf ausgewählte Kanäle einzuschränken und um zu ermöglichen, daß Nachrichten, die von vorherbestimmten Kanälen stammen, zu den Kanälen mit eingeschränktem Zugriff durchverbunden werden, speichert der Verbinder vordefinierte Sätze von Quellenkanälen und jeweilige Sätze von Zielkanälen. Das Durchverbinden der Nachricht von einem Quellenkanal, die für einen Ziel-Kanal adressiert ist, wird nur erlaubt, wenn der Quellenkanal in zumindest einem dieser Sätze von Quellenkanälen enthalten ist und wenn der adressierte Ziel-Kanal in einem entsprechenden Satz von Ziel-Kanälen enthalten ist. Dieses "virtuelle Stern-Koppeln" von Anschlüssen verhindert die Übertragung von inkorrekt adressierten oder nicht autorisierten Nachrichten und erhöht deshalb die Unversehrtheit, die Effizienz und die Sicherheit des Datenverarbeitungssystems.
  • Die Zuverlässigkeit des Computer-Verbinders wird stark erhöht, indem ein Paar von solchen Verbindern vorgesehen wird, die miteinander verbunden werden, um eine gegenseitige konsistente Definition des virtuellen Stern-Koppelns sicherzustellen und um auch Diagnoseinformationen über mögliche Fehlfunktionen der Datenverarbeitungseinrichtungen, die in dem System miteinander verbunden sind, gemeinsam zu benutzen. Die Zuverlässigkeit des Systems wird weiterhin dadurch erhöht, indem Diagnosemöglichkeiten in jedem der Verbinder vorgesehen werden, so daß interne Ausfälle schnell diagnostiziert und repariert werden können. Um den Reparaturprozeß zu erleichtern und um die Wahrscheinlichkeit dafür zu erhöhen, daß eine defekte Schaltung in geeigneter Weise repariert werden kann, bevor sie erneut installiert wird, werden zugehörige interne Diagnoseinformationen über die defekte Schaltung in einem nicht-flüchtigen Speicher auf der Leiterplatte für die defekte Schaltung gespeichert, so daß die Informationen physikalisch zu der Reparaturwerkstatt zusammen mit der defekten Schaltung befördert werden kann.
  • Weitere Aufgaben und Vorteile der Erfindung werden beim Lesen der nachfolgenden detaillierten Beschreibung und durch Bezug auf die Zeichnungen ersichtlich, in denen:
  • Figur 1 ein Bilddiagramm ist, das die Verwendung einer bevorzugten Ausführungsform der vorliegenden Erfindung zum Zwischenverbinden zahlreicher, herkömmlicher Datenverarbeitungseinrichtungen zeigt;
  • Figur 2 ein schematisches Diagramm ist, das illustriert, wie Nachrichten über einen Koppler von einem Quellenkanal zu einem Ziel-Kanal übertragen werden, und das weiterhin zeigt, wie interne Nachrichten über Koppler für Diagnosezwecke durchverbunden werden;
  • Figur 3 ein schematisches Diagramm ist, das den bevorzugten Weg zeigt, in dem die Schaltungen der exemplarischen Ausführungsform auf Leiterplatten angeordnet sind und wie die Leiterplatten durch gemeinsam benutzte Busse miteinander verbunden sind;
  • Figur 4 ein Funktionsblockdiagramm ist, das die Steuerwege illustriert, die zum Durchverbinden einer Nachricht von einem Quellenkanal zu einem Zielkanal verwendet werden, und das weiterhin die Verbindungen zwischen einem Diagnoseprozessor und der Schaltung zeigt, die die Nachricht durchverbindet;
  • Figur 5 ein Timing-Diagramm ist, das eine erfolgreiche Durchverbindung einer Nachricht von einem Ursprungsanschluß zu einem Ziel-Anschluß und die Rückgabe eines Anerkennungs-Codes von dem Ziel-Anschluß zeigt;
  • Figur 6 ein Funktionsblockdiagramm ist, das in größerem Detail die Steuerschaltungen, Steuersignale, den Speicher, der den vorliegenden Logikzustand und die Konfiguration des Verbinders speichert, und verschiedene Zeitgeber zeigt, die abnormale Betriebsbedingungen erfassen;
  • Figur 7 ein schematisches Diagramm ist, das ein hierarchisch rotierendes Prioritätsverteilungs-Schema illustriert, bei dem die Dienst-Nachfragen das gleiche Prioritätsniveau haben;
  • Figur 8 ein schematisches Diagramm ist, das die Logikschaltungen zum Implementieren eines Prioritätsschemas mit zwei Niveaus zeigt, bei dem Dienstnachfragen in einen Satz von Nachfragen mit hoher Priorität und in Nachfragen mit niedriger Priorität eingruppiert werden, und bei dem getrennte Prioritätsverteilungsschaltungen zum Prioritätsverteilen simultaner Nachfragen bereitgestellt sind, die innerhalb jeder Gruppe auftreten;
  • Figur 9 ein schematisches Diagramm eines Prioritäts-Ring-Codierers ist;
  • Figur 10 ein Venn-Diagramm ist, das zeigt, wie ein virtueller Stern-Koppler als ein Satz von Quellenkanälen definiert ist, die mit einem Satz von Zielkanälen verbunden sind;
  • Figur 11 die Speicher- und Logikschaltungen zeigt, die Definitionen für bis zu acht virtuelle Stern-Koppler bzw. Verbinder speichern und die ein Signal zum Freigeben des Durchverbindens einer Nachricht von einem spezifischen Quellenkanal aus zu einem bestimmten Ziel-Kanal erzeugen;
  • Figur 12 ein Beispiel eines spezifischen Formats für eine Nachricht ist, die durch einen Computer-Verbinder übertragen wird;
  • Figur 13 ein schematisches Diagramm eines Manchester-Codierers und eines Seriell-zu-Parallel-Wandlers mit Träger-Detektions- Logik ist;
  • Figur 14 ein schematisches Diagramm eines Nachrichtensynchronisierers und eines Zyklus-Zählers für eine Empfänger-Steuerlogik ist;
  • Figur 15 ein schematisches Diagramm einer Empfänger-Steuerlogik zum Erzeugen einer Nachfrage für das Durchverbinden einer Nachricht ist;
  • Figur 16 ein schematisches Diagramm einer Empfänger- und Senderlogik für ein Nachrichten-Einreihen ist;
  • Figur 17 ein schematisches Diagramm einer Logikschaltung für einen Zuerst-Ein-Zuerst-Aus-Puffer und zum Schnittstellenbilden zu einer Schaltmatrix ist;
  • Figur 18 ein schematisches Diagramm einer Logikschaltung für eine Schaltmatrix und zum Empfangen von Signalen ist, die den Sendern und Empfängern angeben, ob ein Koppler zugeordnet ist, und ihnen die Identifikationsnummer des zugeordneten Kopplers angeben;
  • Figur 19 ein schematisches Diagrainrn einer bevorzugten, schaltenden Schaltung zum Verbinden der Empfänger mit den Kopplern ist;
  • Figur 20 ein schematisches Diagramm einer bevorzugten Schaltung zum Verbinden der Koppler mit den Sendern ist;
  • Figur 21 ein schematisches Diagramm der Empfängerlogik zum Erzeugen von Dienst-Nachfragen zum Umkehren und Fallenlassen bzw. Trennen eines Kopplers ist;
  • Figur 22 ein schematisches Diagramm der Empfängerlogik zum Detektieren von Änderungen in der Zuordnung eines Kopplers zu dem Empfänger ist;
  • Figur 23 ein schematisches Diagramm einer Sender-Steuerlogik ist;
  • Figur 24 ein schematisches Diagramm der zentralen Schaltlogik ist, die Dienst-Nachfragen zum Durchverbinden von Nachrichten, zum Umkehren und Fallenlassen von Kopplern und zum Einreihen und Fallenlassen von Nachrichten-Durchverbindungsnachfragen verarbeitet;
  • Figur 25 ein schematisches Diagramm eines Nachfrage-Prioritäts- Decodierers ist, der in der zentralen Schaltlogik verwendet wird;
  • Figur 26 ein schematisches Diagramm einer zentralen Schaltlogik zum Bestimmen ist, ob eine Durchverbindungsnachfrage erlaubt werden kann;
  • Figur 27 ein schematisches Diagramm einer kombinatorischen Logik ist, die von der zentralen Schaltlogik zum Bedienen von Nachfragen für Umkehren und Fallenlassen von Kopplern verwendet wird;
  • Figur 28 ein schematisches Diagramm einer kombinatorischen Logik ist, die von der zentralen Schaltlogik zum Einreihen einer Nachrichten-Durchverbindungsnachfrage verwendet wird;
  • Figur 29 ein schematisches Diagramm einer kombinatorischen Logik ist, die von der Zentralschaltlogik zum Durchverbinden einer Nachricht verwendet wird; und
  • Figur 30 ein schematisches Diagramm einer kombinatorischen Logik ist, die von der zentralen Schaltlogik zum Fallenlassen von Nachrichten-Durchverbinden-Nachfragen verwendet wird.
  • Obwohl die Erfindung verschiedenen Modifikationen und alternativen Formen unterliegt, wurde eine spezielle Ausführungsform der Erfindung exemplarisch in den Zeichnungen gezeigt und wird nachfolgend im Detail beschrieben.
  • Man wende sich nun der Figur 1 zu, wo ein Piktogramm die Verwendung eines Computer-Verbinders illustriert, der allgemein mit 50 bezeichnet ist und verschiedene Aspekte der vorliegenden Erfindung umfaßt. Um eine erhöhte Zuverlässigkeit bereitzustellen, weist der Verbinder 50 zwei identische Verbinder 51 und 52 auf, die miteinander zum Beispiel durch eine faseroptische Verbindung 53 verbunden sind. Die Verbindung 53 stellt sicher, daß die Konfiguration der Verbinder 51 und 52 in identischen Zuständen aufrechterhalten wird, wenn der Zustand über eine Operator-Nachfrage geändert wird, die von einem der Verbinder 51, 52 empfangen wird. Die Verbinder 51, 52 können auch die Verbindung 53 verwenden, um Informationen über den Status und mögliche Fehlfunktionen diverser Datenverarbeitungseinrichtungen gemeinsam zu benutzen, die durch die Verbinder 51, 52 untereinander verbunden sind. Diese Datenverarbeitungseinrichtungen enthalten zentrale Verarbeitungseinheiten 54, 55, 56, 57, 58 und Server 59, 60 für Magnetbandlaufwerke 61, 62, 63 und Massendatenspeicher oder Plattenspeicher 64, 65, 66, 67, 68, 69. Im gewöhnlichen Fall sind die zentralen Verarbeitungseinheiten 54 bis 58 direkt mit Hochgeschwindigkeitsdruckern 70, 71 oder Druckern 72, 73 mit niedriger Geschwindigkeit und vielzähligen Timesharing-Terminals (nicht gezeigt), Kommunikationseinrichtungen (nicht gezeigt) und anwendungsspezifische Einrichtungen (nicht gezeigt) verbunden.
  • Die Computer-Verbinder 51, 52 erlauben den Datenverarbeitungseinrichtungen 54 bis 60, daß sie an unterschiedlichen Positionen, zum Beispiel an entgegengesetzten Enden eines Gebäudes, angeordnet sind. Desweiteren können die Verbinder 51 und 52 irgendeinem der Datenverarbeitungseinheiten in dem System erlauben, ein adressiertes Datenpaket zu irgendeiner anderen Datenverarbeitungseinheit in dem System zu senden. Desweiteren können die Verbinder 51, 52 konfiguriert und programmiert sein, um Nachrichtenübertragungen von einer Datenverarbeitungseinrichtung zu einer anderen nur freizugeben, wenn die jeweiligen Kanäle der Quellen-Datenverarbeitungseinrichtung und der Ziel-Datenverarbeitungseinrichtung jeweils in dem vordefinierten Quellen-Kanalsatz und Ziel-Kanalsatz enthalten sind, der zumindest mit einem "virtuellen Stern-Koppler" verbunden ist, der für das System definiert ist. Die Computer-Verbinder 51, 52 können dabei den Zugriff auf bestimmte Datenverarbeitungseinrichtungen unterbinden, können einen Datentransfer nur in gewisse Richtungen erlauben und können für Sicherheitszwecke erlauben, daß Nachrichten zu bestimmten Datenverarbeitungseinrichtungen nur durchverbunden werden, wenn die Nachrichten zuerst durch andere der Datenverarbeitungseinrichtungen hindurchgelangt sind.
  • In Übereinstimmung mit der spezifischen Ausführungstorm, die in den folgenden Zeichnungs-Figuren gezeigt wird, ist jeder der Verbinder 51, 52 ein zweistufiger, elektronischer Kreuzschienen- Schalter, der bevorzugterweise acht unabhängige, zwischenverbindende Kommunikations-Koppler bereitstellt. Bevorzugterweise ist jeder Koppler bidirektional und überträgt Daten mit 70 Megabit pro Sekunde. Jeder Verbinder 51, 52 ist bevorzugterweise dazu in der Lage, zumindest 64 Kanäle untereinander zu verbinden. Bevorzugterweise können die Kanäle, die mit den Verbindern 51, 52 verbunden sind, logisch in so viele wie acht virtuelle Stern-Koppler aufgeteilt werden, und die Datenverarbeitungseinrichtungen, die mit den Kanälen verbunden sind, können logisch von einem virtuellen Stern-Koppler zu einem anderen virtuellen Stern-Koppler ohne eine physikalische Neuverkabelung bewegt werden.
  • Man wende sich nun der Figur 2 zu, wo ein schematisches Diagramm gezeigt wird, das das Durchverbinden (routing) einer Nachricht von einem Quellenkanal X zu einem Ziel-Kanal Y illustriert. Der Kanal X ist durch ein Kommunikationskabel 81 definiert, das Schnittstellenschaltungen 82 mit einer Datenverarbeitungseinrichtung an einem entfernten Ort verbindet. Ähnlich hat der Kanal Y Schnittstellenschaltungen 83, die mit einer anderen, entfernten Datenverarbeitungseinrichtung über ein zweites Kommunikationskabel 85 verbunden sind.
  • Zum Zwecke der Illustration wird angenommen, daß die Schnittstellenschaltungen 82 für den Kanal X über das Kommunikationskabel 81 eine Nachricht empfangen, die ein Datenpaket enthält, das für den Kanal Y adressiert ist. Für die Zwecke dieser Nachricht ist der Kanal X ein Quellenkanal und der Kanal Y ist ein Ziel- Kanal. Zum Verarbeiten solcher Nachrichten ist der Kanal einer einzigartigen Kanalnummer zugeordnet.
  • Zum Durchverbinden der Nachricht wird der Anfangsabschnitt der Nachricht von den Schnittstellenschaltungen 82 zu den Empfängerlogikschaltungen 84 durchgelassen. Die Empfängerlogikschaltungen 84 erzeugen eine Durchverbinden-Nachfrage, die, wenn sie erfüllt wird, die Zuordnung eines Kopplers aus einer Vielzahl von Kopplern 86 zu den Empfänger-Logikschaltungen 84 verursacht. Die Zuordnung verursacht, daß ein entsprechender Schalter in der Schaltmatrix 87 geschlossen wird und die Empfänger-Logikschaltung 84 mit dem zugeordneten Koppler verbindet. Wie in Figur 2 gezeigt wird, sind die Empfänger-Logikschaltungen 84 zum Beispiel mit einem Koppler 88 durch das Schließen eines Schalters 89 verbunden.
  • Das Durchverbinden einer Nachricht zu ihrem adressierten Ziel- Kanal erfordert weiterhin, daß der zugeordnete Koppler 88 mit der Senderlogik 92 verbunden ist, die mit dem Ziel-Kanal verbunden ist. Für diesen Zweck sind die Sender-Logikschaltungen 92 mit den Kopplern 86 durch eine Schalt-Matrix 90 verbunden, die einen Schalter 91 enthält, der geschlossen wird, um den Koppler 88 mit den Sender-Logikschaltungen 92 zu verbinden. Die erforderlichen Zustände der Schalter in den Schalt-Matrizen 87, 90 werden durch Steuersignale gesetzt, die über einen Koppler-Steuerbus 93 gesendet werden. Die Steuersignale werden auch von den Sender-Logikschaltungen 92 empfangen, um anzuzeigen, daß eine Verbindung eingerichtet worden ist und daß eine Nachricht über einen der Koppler 86 gesendet worden ist. Nach dem Empfang der Nachricht schickt die Sender-Logik 92 die Nachricht zu den Kanal-Schnittstellenschaltungen 83 für die Übertragung über das Kommunikationskabel 85 zu der adressierten Datenverarbeitungseinrichtung.
  • Nach dem Empfang der Nachricht gibt die adressierte Datenverarbeitungseinrichtung eine Anerkennung zu der Datenverarbeitungseinrichtung zurück. Diese Anerkennung wird über das Kommunikationskabel 85 zurückgegeben, durchläuft die Schnittstellenschaltungen 83 und erreicht zugeordnete Empfänger-Logikschaltungen 94. Beim Erwarten des Empfangs der zurückgegebenen Anerkennung, verursachen die Empfänger-Logikschaltungen 84, wenn sie das Übertragen der Ursprungsnachricht beenden, daß ein Steuersignal über den Koppler-Steuerbus 93 erzeugt wird, das die Schalter 89 und 91 öffnet und die Schalter 95 und 96 schließt, um eine umgekehrte bzw. entgegengesetzte Verbindung zwischen den Empfänger-Logikschaltungen 94, die mit dem Kanal Y verbunden sind, und den Sender-Logikschaltungen 97 einzurichten, die mit dem Kanal X verbunden sind. Die zurückgegebene Anerkennung wird von den Sender-Logikschaltungen 97 zu den Schnittstellenschaltungen 82, die mit dem Kanal X verbunden sind, für die Rückgabe zu der Datenverarbeitungseinheit weitergeleitet, die anfänglich die Nachricht gesendet hat.
  • Um die Schaltungen im Verbinder 51 zu testen, enthält der Verbinder eine Steuer- und Diagnoselogik 98, die in der Lage dazu ist, Steuersignale zu erzeugen, welche über den Koppler-Steuerbus 93 übertragen werden, um eine "Wartungsschleife" durch die Empfänger- und Senderlogik eines ausgewählten der Kanäle einzurichten. Die Steuer- und Diagnoselogik 98 erzeugt eine Diagnosenachricht, die an einen der Koppler 86 über eine Diagnose-Schaltmatrix 99 angelegt wird. Für diesen Zweck sind z.B. die Schalter 89, 91 und 95 geöffnet und der Schalter 96 ist geschlossen. Desweiteren ist ein Schalter 100 geschlossen, um die Steuer- und Diagnoselogik 98 mit dem Koppler 88 zu verbinden und um dadurch einen Übertragungsweg zu der Senderlogik 97 einzurichten. Die Steuer- und Diagnoselogik 98 erzeugt ein Steuersignal über den Koppler-Steuerbus 93 zum Schließen eines Schalters 101 und eines Schalters 102, um einen Rückgabeweg von den Empfänger- Logikschaltungen 84 zur Diagnoselogik 98 einzurichten. Zudem wird eine komplette, interne Schaltung durch die Wartungsschleife 103 geschlossen, die einen Signalweg von der Senderlogik 97 zu der Empfängerlogik 84 bereitstellt. Die Senderlogik 97 und die Empfängerlogik 84 werden z.B. von den Schnittstellenschaltungen 82 abgetrennt und über die Wartungsschleife 103 immer dann miteinander verbunden, wenn die Empfängerlogik 84 und die Senderlogik 97 mit den Kopplern 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 ungeeigneten Betrieb der Schaltmatrix 87, der Empfängerlogik 84 oder der Senderlogik 97 detektieren. Alle diese Fehler werden dem System-Operator 104 über ein Steuer-Terminal 105 berichtet.
  • Man wende sich nun der Figur 3 zu, wo ein Diagramm verschiedener Leiterplatten gezeigt wird, die einen der Verbinder 51 oder 52 der Figur 1 bilden. Die Leiterplatten sind in einem herkömmlichen Kartenkäfig von der Art untergebracht, die für eine zentrale Verarbeitungseinheit verwendet wird, und die Leiterplatten werden durch eine herkömmliche Spannungsversorgung 111 mit Energie versorgt. In der exemplarischen Ausführungsform sind die Spannungsversorgung, der Kartenkäfig und der Lüfter ähnlich zu jenen, die für einen Digital Equipment Corporation "VAX 8600/8650" Zentralprozessor verwendet werden. Die "Rückwand" des Kartenkäfigs ist jedoch modifiziert, um die Leiterplatten durch eine Anzahl von Bussen, wie in Figur 3 gezeigt wird, untereinander zu verbinden.
  • Der exemplarische Computer-Zwischenverbindungsschalter, der allgemein mit 51 bezeichnet ist, enthält zumindest eine Leiterplatte 112 für einen Konsole- und Diagnose-Prozessor, der die Steuer- und Diagnoselogik 98, die in Figur 2 gezeigt wird, bereitstellt. Der Diagnose-Prozessor 112 ist z.B. ein auf der Digital Equipment Corporation "PDP-11" basierender Prozessor. Mit dem Diagnose- Prozessor ist ein Paar von Floppy-Disk-Laufwerken 113, die faseroptische Verbindung 53 und Verbindungen zum Steuerterminal, eine optionale, entfernte Einrichtung und ein Steuer-Paneel verbunden. Mit dem Diagnose-Prozessor 112 ist auch eine Speicher- Leiterplatte 114 verbunden, die einen Programmspeicher 115 und einen Datenspeicher 116 für den Diagnose-Prozessor enthält. Ein Programmbus 117 verbindet den Diagnose-Prozessor mit dem Programmspeicher 115 und ein Prozessordatenbus 118 verbindet den Diagnose-Prozessor mit dem Datenspeicher 116.
  • In Übereinstimmung mit einem Merkmal der vorliegenden Erfindung enthält die Speicher-Leiterplatte 114 weiterhin einen Schalter- Steuerspeicher 119, der Richtungs-Niveau-Informationen für eine geschaltete Durchverbindung speichert. Diese Informationen enthalten zum Beispiel eine Master-Kopie der Definitionen von virtuellen Stern-Kopplern für das System und können auch Daten enthalten, die Timing-Intervalle für verschiedene Zeitgeber definieren, die ungewöhnliche oder ungeeignete Betriebszustände für die Logikschaltungen in dem Computer-Verbinder detektieren. Ein Diagnose-Steuerbus 120 ist zum Verbinden des Schalt- Steuerspeichers 119 mit dem Diagnose-Prozessor 112 vorgesehen. Der Diagnose-Steuerbus 120 wird auch dazu verwendet, dem Diagnose-Prozessor zu erlauben, die Richtungs-Niveau-Informationen zu der zentralen Schaltlogik herunterzuladen, die die Nachrichten über ausgewählte Koppler durchverbindet, indem die Schaltmatrizen gesteuert werden. Die zentrale Schaltlogik ist auf einer Schalt-Steuerleiterplatte 121 enthalten, die auch die Diagnose-Schaltmatrix (99 in Figur 2) enthält. Zum Herunterladen der Richtungs-Niveau-Informationen und zum Setzen der Diagnose- Schaltmatrix kann der Diagnose-Prozessor 112 die zentrale Schaltlogik unterbrechen oder Steuer-Kommandos zur zentralen Schaltlogik senden, um den Speicher und die Register der zentralen Schaltlogik zu adressieren, wie weiter unten beschrieben wird.
  • Der Diagnose-Steuerbus 120 wird auch dazu verwendet, den Diagnose-Prozessor 112 mit einem elektrisch löschbaren und programmierbaren Speicher (EEPROM) zu verbinden, der auf der Schalt- Steuerleiterplatte 121, und auf Kanal-Schnittstellen- Leiterplatten 122, 123 für den Zweck enthalten ist, Diagnose- Informationen in eine fehlerhafte Leiterplatte einzuschreiben, bevor die fehlerhafte Leiterplatte für die Reparatur entfernt wird. Die Diagnose-Informationen, wie z.B. der Systemzustand und die Systemkonfiguration zum Zeitpunkt, als der Fehler detektiert wurde, und die Fehler-Zeichen, die zu der Diagnose führten, werden deshalb mit der defekten Leiterplatte zur Reparaturwerkstatt transportiert. Dies stellt sicher, daß eine vollständigere Reparatur bezüglich der Leiterplatte durchgeführt wird, so daß, wenn sie zurückgegeben wird, eine größere Wahrscheinlichkeit dafür besteht, daß alle Fehler auf der Leiterplatte in geeigneter Weise repariert worden sind. Zusammen mit den Diagnose-Informationen enthält der EEPROM für jede Leiterplatte bevorzugterweise Leiterplatten-Identifikationsinformationen, zum Beispiel den Typ oder die Funktion, die durch die Leiterplatte ausgeführt wird, die Seriennummer der Leiterplatte, das Herstellungsdatum und den Herstellungsort der Leiterplatte und die Reparatur-Historie der Leiterplatte.
  • Um eine stufenweise bzw. allmähliche Erweiterung des Computer- Verbinders 51 zu ermöglichen, um jede gewünschte Anzahl von Kanälen bis zu einer gewissen maximalen Anzahl unterzubringen, ist eine Kanal-Schnittstellen-Leiterplatte 122 für jede einer gewissen Anzahl von Datenverarbeitungseinrichtungen, die in dem Computersystem miteinander verbunden werden sollen, bereitgestellt. Bevorzugterweise enthält jede Kanal-Schnittstellen-Leiterplatte die Schnittstellen-Schaltungen für acht Kanäle zusammen mit der zugeordneten Empfängerlogik, Senderlogik und den Schaltmatrix-Schaltungen. Die Diagnose-Schaltmatrix in der Schalt-Steuerleiterplatte 121 ist mit den Schaltmatrizen auf der Kanal-Schnittstellen-Leiterplatte 122 über die Koppler 86 verbunden, die sich zu den Schaltmatrizen in allen anderen Kanal- Schnittstellen-Leiterplatten 123 erstrecken, die in dem System installiert werden können. Um die Schalter in den Schaltmatrizen zu setzen und zurückzusetzen, ist die Schalt-Steuer-Leiterplatte 121 mit den Kanal-Schnittstellen-Leiterplatten 122, 123 über den Koppler-Steuerbus 93 verbunden.
  • Damit die Kanal-Schnittstellen-Leiterplatten 122, 123 Durchverbinden- oder Einreihen-Nachfragen zu der Zentrallogik auf der Schaltsteuer-Leiterplatte 121 senden können, sind sie über einen Schalt-Steuerbus 124 verbunden. Der Schalt-Steuerbus 124 wird auch zum Zurückgeben von Anerkennungs-Signalen und zum Senden von Fluß-Steuerungs-Signalen von der Schalt-Steuer-Leiterplatte 121 zu den Kanal-Schnittstellen-Leiterplatten 122, 123 verwendet. Desweiteren sind die Kanal-Schnittstellen-Leiterplatten 122, 123 mit dem Diagnose-Steuerbus 120 verbunden, um dem Diagnose-Prozessor 112 zu erlauben, Informationen, wie zum Beispiel Zeitgeber-Intervalle, zu der Empfänger- und Senderlogik herunterzuladen, und um auch dem Diagnose-Prozessor zu erlauben, nach dem Status der Zähler und Register und der Sender- und Empfängerlogik nachzufragen.
  • Während des Betriebs des Computer-Verbinders können verschiedene Warn- oder Fehler-Konditionen durch die Schaltungen in der Schalt-Steuer-Leiterplatte 121 und den Kanal-Schnittstellen- Leiterplatten 122, 123 erzeugt werden. Um diesen Konditionen von Interesse zu erlauben, durch den Diagnose-Prozessor schnell erkannt zu werden, enthält der Diagnose-Steuerbus 120 eine zugeordnete Interrupt-Nachfrage-Leitung für die Schalt-Steuer- Leiterplatte 121 und für jede der Kanal-Schnittstellen-Leiterplatten. Wenn der Diagnose-Prozessor 112 unterbrochen ist, adressiert er ein Fehler-Zeichen-Register auf der Leiterplatte, die die Interrupt-Nachfrage erzeugt.
  • Um den Betrieb des Computer-Verbinders zu erleichtern, wenn die Leiterplatten 121, 122, 123 installiert oder entfernt werden, wird ein separater Status- und Lösch-Bus 125 bereitgestellt, der den Diagnose-Prozessor dafür freigibt, jeden der Schlitze in dem Kartenkäfig (nicht gezeigt) abzufragen (poll), um Informationen, die angeben, ob eine Leiterplatte installiert ist, zu erhalten, und wenn das der Fall ist, den Leiterplatten-Typ und die Kanalnummern, die der Leiterplatte zugeordnet sind, anzugeben. Der Status- und Lösch-Bus enthält zum Beispiel eine separate Freigabeleitung und eine separate Lösch-Leitung von dem Diagnose-Prozessor 112 aus zu jedem der Schlitze (slots) für die Leiterplatten. Die Freigabeleitungen werden sequentiell aktiviert, um die Leiterplatten dazu freizugeben, einen Status-Code über den Status-Bus von einem entsprechenden Status-Register aus zu übertragen. Die Lösch-Leitung erlaubt dem Diagnose-Prozessor, unabhängig jede der Leiterplatten 121, 122, 123 zurückzusetzen.
  • Der Computer-Verbinder kann weiterhin eine Verkehrsdaten-Sammelleiterplatte 126 enthalten, die mit dem Diagnose-Prozessor 112 über einen Verkehrsdaten-Steuerbus 127 verbunden ist. Die Verkehrsdaten-Sammelleiterplatte enthält zum Beispiel adressierbare Zähler, die die Häufigkeit von Nachrichten aufzeichnen, welche jeden der Koppler passieren und von jedem der Kanäle stammen oder für jeden der Kanäle bestimmt sind.
  • Man wende sich nun der Figur 4 zu, wo ein Funktions-Blockdiagramm des Computer-Verbinders gezeigt wird, das die wichtigen Steuerwege zwischen verschiedenen Schaltungsfunktionen enthält. Die Kanal-Schnittstellen-Schaltungen 82 enthalten einen Leitungsempfänger 132 und einen Leitungstreiber 133, die mit dem Kommunikationskabel 81 gekoppelt sind. Das Kommunikationskabel 81 besteht zum Beispiel aus einem Paar von Koaxialkabeln, die mit dem Leitungsempfänger 132 bzw. dem Leitungstreiber 133 über Isolationstransformatoren (nicht gezeigt) verbunden sind, oder das Kommunikationskabel kann alternativerweise aus einem Paar von faseroptischen Leitungen bestehen, die mit dem Leitungsempfänger 132 und dem Leitungstreiber 133 gekoppelt sind. Auf ähnliche Art und Weise enthalten die anderen Kanal-Schnittstellen-Schaltungen 83 einen Leitungsempfänger 136 und einen Leitungstreiber 137, die mit dem Kommunikationskabel 85 gekoppelt sind. Der Leitungsempfänger 132 und der Leitungstreiber 133 sind mit ihren jeweiligen Empfänger- und Sender-Logikschaltungen 84, 97 über einen Multiplexer 139 verbunden, der geschaltet werden kann, um die Wartungsschleife 103 bereit zustellen. Die anderen Kanal-Schnittstellen-Schaltungen 83 enthalten einen ähnlichen Multiplexer 140.
  • Die Daten, die auf dem Kommunikationskabel 81, 85 gesendet und empfangen werden, werden bevorzugterweise als serieller Bitstrom gesendet, der ein selbstmodulierendes oder selbsttaktendes Format, wie zum Beispiel eine Manchester-Codierung, verwendet. Die Datenrate beträgt zum Beispiel 70 Megabit pro Sekunde. Der Takt in dem seriellen Bitstrom wird zurückgewonnen und die Datenbits werden in Acht-Bit-Bytes durch einen Manchester-Decodierer und einen Seriell-zu-Parallel-Wandler 141 rahmenmäßig zusammengefaßt. Zur Vereinfachung der Schaltungsauslegung wird ein gemeinsamer interner Takt verwendet, um Daten von allen Kanälen zu verarbeiten. Ein Synchronisierer 142 wird deshalb verwendet, um selektiv den Datenbyte-Strom derart zu verzögern, daß die Datenbytes zu dem internen Takt synchronisiert sind. Die synchronisierten Bytes werden einem Zuerst-Ein-Zuerst-Aus-Puffer 143 zugeführt, um eine vorübergehende Speicherung während der Durchverbindung der Nachricht zu erzeugen. Die Empfänger- Steuerlogik 84 erhält die Ziel-Adresse von dem Nachrichten-Kopf. Die Empfänger-Steuerlogik 84 bestimmt auch, ob der Kopf einem vorgegebenen Format entspricht, und wenn das der Fall ist, sendet die Empfänger-Steuerlogik eine Dienst-Nachfrage an die zentrale Schaltlogik 144, um die Nachricht durchzuverbinden.
  • Um die Durchverbindung der Nachrichten nur in Übereinstimmung mit vorgegebenen virtuellen Stern-Kopplern zu erlauben, vergleicht die zentrale Schaltlogik 144 tatsächlich die Ziel-Adresse mit einem Satz von vorgegebenen, gültigen Ziel-Adressen, die für den Quellenkanal definiert sind und in einem zentralen Logik-Status- Speicher gespeichert sind. Wenn die Nachricht an eine unzulässige Adresse adressiert ist, weist die zentrale Schaltlogik 144 die Dienst-Nachfrage nach dem Durchverbinden der Nachricht zurück. Ansonsten bestimmt die zentrale Schaltlogik, ob ein Koppler frei ist, und bestimmt ferner auch, ob der Sender oder Empfänger am Ziel-Kanal belegt ist. Wenn ein Koppler verfügbar ist und das Ziel nicht belegt ist, wird die Nachricht durchverbunden. Ansonsten wird eine Nachrichten-Durchverbinden-Nachfrage in einer "Ziel-Reihe" plaziert, so daß die Nachfrage erfüllt werden kann, wenn der Ziel-Kanal nicht länger belegt ist.
  • Wenn eine Nachrichten-Nachfrage eingereiht ist, kann die Nachricht in dem Puffer 143 nicht gesendet werden und wird nicht berücksichtigt. Obwohl es möglich ist, einen ausreichenden Speicher dafür bereit zustellen, eine gesamte Nachricht zu speichern, bis die Nachricht übertragen werden kann, ist dies nicht notwendig und würde eine exzessive Speichermenge und zusätzliche Logikkomplexität erfordern. Des weiteren reduziert die Speicherung einer gesamten Nachricht für die Übertragung zu einem späteren Zeitpunkt die Unversehrtheit des Nachrichtenübertragungsprozesses, da der Empfang durch die Ziel- Datenverarbeitungseinrichtung nicht sofort anerkannt werden kann. Im Unterschied hierzu wird gemäß der bevorzugten Ausführungsform der Erfindung nur der Nachrichtenbeginn vorübergehend gespeichert und deshalb wird die Anerkennung des Nachrichten-Empfangs nur geringfügig verzögert und der Computer-Verbinder erscheint den Datenverarbeitungseinrichtungen relativ transparent.
  • Um zu verhindern, daß die Datenverarbeitungseinrichtung, die mit dem Quellen-Kanal verbunden ist, die Nachricht erneut sendet, wenn die Nachrichtennachfrage eingereiht ist, da der Ziel-Kanal belegt ist, wird ein Antwort-Fluß-Steuerungs-Signal zu dem Quellen-Kanal gesendet, um der Empfänger-Steuerlogik 84 anzuzeigen, daß die Nachricht eingereiht worden ist. Dieses Fluß-Steuerungs- Signal aktiviert auch den Sender, der dem Quellenkanal zugeordnet ist, ein Fluß-Steuerungs-Signal zurück zu der erzeugenden Datenverarbeitungseinrichtung zu senden. Nach dem Empfang sperrt das Fluß-Steuerungs-Signal die Datenverarbeitungseinrichtung für das erneute Senden, bis die zentrale Schaltlogik bestimmt, daß der Kanal an der Ziel-Adresse keine Nachricht überträgt, und die eingereihte Nachrichten-Nachfrage tritt am Kopf der Ziel-Reihe auf. Wenn diese Bedingungen erfüllt sind, schaltet die zentrale Schaltlogik 144 das Fluß-Steuerungs-Signal aus, so daß die Datenverarbeitungseinrichtung des Quellen-Kanals die Nachricht erneut sendet.
  • Wenn die Nachrichten-Durchverbinden-Nachfrage eingereiht ist, da kein Koppler verfügbar ist, wird kein Fluß-Steuerungs-Signal gesendet und die Datenverarbeitungseinrichtung des Quellen-Kanals ist dafür frei, die Nachricht erneut zu senden, sobald sie dazu in der Lage ist. Wenn die zentrale Schaltlogik 144 dazu in der Lage ist, die Nachricht durchzuverbinden, sendet sie ein Signal auf den Koppler-Steuerbus 93, um einen freien Koppler dem Quellen-Kanal-Empfänger und dem Ziel-Kanal-Sender zuzuordnen. Wenn der Koppler zugeordnet ist, werden die entsprechenden Schalter in den Schalt-Matrizen 87, 90 geschlossen und der Empfänger-Steuerlogik 84 und der Sender-Steuerlogik 92 wird signalisiert, daß eine Nachricht auf dem zugeordneten Koppler gesendet und empfangen werden kann. Vor der Sendung fügt die Empfänger-Steuerlogik 84 ein Kennzeichen dem Beginn der Nachricht hinzu, und nachdem das Kennzeichen über den zugeordneten Koppler übertragen ist, wird die Nachricht aus dem Puffer 143 herausgetaktet. Das Kennzeichen enthält Informationen, die den zugeordneten Koppler, die Quellen-Kanal-Nummer und die Ziel-Kanal-Nummer identifizieren. Die Sender-Steuer-Logik 92 überprüft das Kennzeichen und verhindert eine Übertragung der Nachricht, wenn das Kennzeichen nicht richtig ist. Ansonsten wird das Kennzeichen entfernt und ein Bitsynchronisations-Kopf wird ziemlich am Beginn der Nachricht hinzugefügt. Die Nachricht wird dann durch einen Fluß-Steuerung- und Datenmultiplexer 146 und einen Parallel-zu-Seriell-Wandler und Manchester-Codierer 147 für die Übertragung in serieller Form zu der Ziel-Datenverarbeitungseinrichtung übertragen.
  • Am Ende der Nachrichtenübertragung erfaßt die Empfänger-Steuerlogik 84, daß der Puffer 143 leer ist und sendet eine Nachfrage zur zentralen Schaltlogik 144, um den Zustand der Schalter in den Schaltmatrizen 87, 90 zu ändern, um den Datenfluß über den zugeordneten Koppler umzukehren. Dann wird eine Anerkennung von der Ziel-Datenverarbeitungseinrichtung über den zugeordneten Koppler zurückgegeben und zu der Quellen-Datenverarbeitungseinrichtung gesendet. Nach der Übertragung der Anerkennung wird der zugeordnete Koppler weggeschaltet.
  • Die Durchverbindung einer Diagnose-Nachricht tritt auf ähnliche Art und Weise auf, mit der Ausnahme, daß der Konsole- und Diagnose-Prozessor 112 die Diagnose-Nachricht über einen Puffer 148 sendet und empfängt, der mit einer Diagnose-Nachricht- Steuerlogik 149 gekoppelt ist, die eine Sende- und Empfangslogik enthält.
  • Man wende sich nun der Figur 5 zu, wo ein Timing-Diagramm der primären Steuersignale gezeigt wird, die auftreten, wenn eine Nachricht empfangen und durchverbunden wird und eine entsprechende Anerkennung zurückgegeben wird. Der Computer- Verbinder wird in einen ersten Zustand durch ein RESET Signal gesetzt. Nachdem das RESET Signal inaktiv wird, sucht der Empfänger des Quellen-Kanals X nach einem ankommenden Träger von dem Kommunikationskabel 81. Nach Auffinden eines Trägers sucht der Empfänger nach einem Zeichen-Synchronisationscode, der den Start einer Nachricht signalisiert, der durch ein INTERNAL MESSAGE Signal angezeigt wird. Nachdem der Empfänger des Kanals X den Anfangsabschnitt der Nachricht verarbeitet hat, sendet er ein ROUTE MESSAGE Signal zur zentralen Schaltlogik. Die zentrale Steuerlogik antwortet, indem sie einen Koppler mit dem Empfänger des Kanals X verbindet, wie durch das JUNCTOR ASSIGNED Signal angezeigt wird.
  • Von dem Zeitpunkt an, von dem an der Zeichen-Synchronisationscode empfangen wird, wird die Nachricht in den Puffer 143 eingetaktet. Sobald der Koppler zugeordnet ist, wird ein Vorsetz-Kennzeichen über den Koppler gesendet und dann wird die Nachricht aus dem Puffer 143 herausgetaktet. Eine Übertragung der Nachricht durch den Koppler wird auch dann fortgesetzt, nachdem die gesamte Nachricht durch den Empfänger des Kanals X empfangen worden ist, wie durch das INCOMING MESSAGE COMPLETE Signal angezeigt wird. Wenn der Puffer 143 leer wird, was signalisiert, daß die gesamte Nachricht über den Koppler übertragen wurde, sendet der Empfänger des Kanals X eine REVERSE PATH Nachfrage zu der zentralen Schaltlogik. Sobald der Weg über den Koppler umgekehrt worden ist, hat der Empfänger des Kanals X die Verarbeitung der Nachricht beendet.
  • Als Ergebnis des Umkehrens des Weges über den Koppler wird der Koppler dem Sender des Kanals X zugeordnet, wie durch das JUNCTOR ASSIGNED TO TX OF SOURCE Signal angezeigt wird. Wenn der Koppler dem Sender des Kanals X zugeordnet ist, wird der Sender aktiviert und der Empfänger des Kanals X wird für das Empfangen weiterer Nachrichten gesperrt. Auf ähnliche Art und Weise wird während der Übertragung einer Nachricht über den Koppler vom Empfänger des Kanals X zum Sender des Kanals Y der Sender des Kanals Y aktiviert, wenn der Koppler dem Sender des Kanals Y zugeordnet ist.
  • Der Anfangsabschnitt der Nachricht, die über den Koppler übertragen wird, enthält ein Kopf-Byte, das einen Code enthält, der den Nachrichtentyp angibt. Nach dem Empfang vom Koppler werden, wenn die Nachricht nicht eine positive (ACK) oder eine negative (NAK) Anerkennung ist, der Empfänger des Kanals Y und die Senderschaltungen in einen ACK/NAK-Modus gesetzt, der angibt, daß der Empfänger des Kanals Y nach der Übertragung des Signals eine Anerkennung von der Ziel-Datenverarbeitungseinrichtung erwarten sollte. Insbesondere zeigt er dem Empfänger des Kanals Y an, daß der Empfänger des Kanals Y für eine bestimmte Zeit nach der anfänglichen Übertragung der Nachricht von dem Sender des Kanals Y eine Anerkennung erwarten soll, und nach Empfang der Anerkennung braucht der Empfänger des Kanals Y keine Durchverbindung der Nachricht nachfragen, da der zuvor zugeordnete Koppler für die Rückgabe-Übertragung der Anerkennung reserviert worden ist. Der ACK/NAK-Modus zeigt dem Empfänger des Kanals Y an, daß er nach Beendigung der Nachrichtenverarbeitung eine DROP JUNCTOR Nachfrage anstatt einer REVERSE JUNCTOR Nachfrage an die Zentrallogik senden soll.
  • Wie in Figur 5 gezeigt wird, wird die Anerkennung durch das RX OF DESTINATION INTERNAL MESSAGE Signal des Empfängers des Kanals Y angezeigt. Die Rückgabe-Nachricht tritt einige Zeit danach auf, nachdem der Koppler dem Empfänger des Kanals Y zugeordnet wurde. Die Durchverbindung der Rückgabe-Anerkennung ist nicht erforderlich, und sehr kurz nach dem Ende der Nachricht sendet der Empfänger des Kanals Y eine DROP JUNCTOR Nachfrage an die zentrale Schaltlogik. Sobald die Verarbeitung der Nachricht und der Anerkennung beendet worden ist, wird der Koppler fallengelassen bzw. abgetrennt und die Empfängerschaltungen werden in ihren Anfangszustand für den Empfang weiterer Nachrichten zurückgebracht.
  • Man wende sich nun der Figur 6 zu, wo ein Funktionsblockdiagramm der Steuerlogik, der Steuersignale, des Steuerspeichers, der mit der Steuerlogik verbunden ist, und verschiedener Zeitgeber gezeigt wird, die sicherstellen, daß die Steuersignale innerhalb bestimmter, vorgegebener Zeitintervalle auftreten.
  • Für das Empfangen einer Nachricht sendet der Synchronisierer 142 ein NEW MESSAGE REQUEST Signal zum Manchester-Decodierer und zum Seriell-zu-Parallel-Wandler 141. Der Decodierer und der Wandler 141 antworten, indem sie ein RX MESSAGE Signal zurückgeben, das anzeigt, daß eine Nachricht empfangen wird. Zu gewissen weiteren Zeitpunkten sendet der Synchronisierer 142 ein RX CLEAR MESSAGE Signal zu dem Decodierer, um den Empfang einer Nachricht zu sperren. Das RX MESSAGE Signal wird mit einem internen Takt synchronisiert, um ein INTERNAL MESSAGE Signal zu der Empfänger-Steuerlogik 84 zu senden. Die Empfänger-Steuerlogik 84 gibt ein END MESSAGE PROCESSING Signal nach dem Verarbeiten einer Nachricht zurück, oder wenn die Länge der Nachricht eine gewisse Länge überschreitet, wie sie durch einen Zähler 151 für die maximale Nachrichtenlänge bestimmt wird. Die Empfänger- und Sender- Steuerlogik sendet auch ein TX BUSY Signal zu dem Synchronisierer 142, um den Empfang einer Nachricht zu sperren, wenn die Empfänger-Steuerlogik belegt ist, außer, wenn die Steuerlogik im Rückschleife-Modus ist.
  • Während der Nachrichtenverarbeitung sendet die Empfänger-Steuerlogik 84 eine Anzahl von unterschiedlichen Nachfragen zu der zentralen Schaltlogik 144. Diese Nachfragen sind gemäß zwei separaten Prioritäts-Niveaus eingruppiert. Die REVERSE PATH Nachfrage und die DROP JUNCTOR Nachfrage sind Nachfragen mit hoher Priorität, die den Weg entlang eines zugeordneten Kopplers umkehren bzw. einen zugeordneten Koppler fallenlassen. Die Nachfragen niedriger Priorität enthalten ROUTE MESSAGE and QUEUE MESSAGE. Die ROUTE MESSAGE Nachfrage verursacht, daß ein Koppler zugeordnet wird, wenn ein Koppler verfügbar ist und wenn der Ziel-Anschluß nicht belegt ist, ansonsten wird die Nachricht in der Reihe für den Ziel-Anschluß aufgezeichnet. Die QUEUE MESSAGE Nachfrage verursacht, daß eine ROUTE MESSAGE Nachfrage in der Reihe für einen spezifischen Ziel-Anschluß plaziert wird.
  • Zum Durchverbinden einer Nachricht nimmt die zentrale Schaltlogik 144 Bezug auf einen Zentrallogik-Status-Speicher 153, um den Zustand des Computer-Verbinders zu bestimmen. In der bevorzugten Ausführungsform befindet sich der Zentrallogik-Status-Speicher 153 mit der zentralen Schaltlogik 144 auf der Schalt-Steuer- Leiterplatte (121 in Figur 3). Um Kollisionen zwischen einer durchverbundenen Nachricht und einem Signal zu verhindern, das gerade von dem Empfänger des Ziel-Anschlußes empfangen wird, ist es für die zentrale Schaltlogik 144 wünschenswert, den Empfänger des Ziel-Anschlußes schnell vor einer Beendigung des Durchverbindungsvorgangs abzufragen. Deshalb wird ein Steuersignal EX CARRIER, das in dem Manchester-Decodierer erzeugt wird, von der Empfänger-Steuerlogik zur zentralen Schaltlogik gesendet, um anzuzeigen, daß der Empfänger belegt ist.
  • Da die Nachrichten von zahlreichen Kanälen auf einer asynchronen Basis empfangen werden, muß die Empfänger-Steuerlogik wissen, wenn und wann die zentrale Schaltlogik 144 dafür in der Lage ist, erfolgreich die Nachfragen zu verarbeiten. Die Empfänger-Steuerlogik kann z.B. die vorübergehend gespeicherte Nachricht in dem FIFO-Puffer 143 nicht übertragen, bis der Verbinder zugeordnet worden ist. Ähnlich muß die Sender-Steuerlogik 92 wissen, ob die Nachricht erfolgreich eingereiht worden ist, um die Fluß-Steuerung übertragen zu können, und sie muß ferner wissen, wenn eine eingereihte Nachrichten-Nachfrage den Kopf der jweiligen Ziel- Reihe erreicht hat, wobei der Sender in diesem Fall den Fluß- Steuerungs-Träger ausschalten muß. Für diese Zwecke empfängt die Empfänger- und Sender-Steuerlogik Signale von der zentralen Schaltlogik 144, die anzeigen, ob ein Verbinder zugeordnet worden ist oder mit den jeweiligen Empfänger- oder Sender-Schaltungen verbunden wurde, und auch ob die Flußsteuerung eingeschaltet oder ausgeschaltet werden soll. Die Zuordnung und das Fallenlassen des Verbinders kann aus Signalen bestimmt werden, die über den Koppler-Steuerbus übertragen werden. Zusätzlich kann die Verarbeitung der REVERSE PATH Nachfrage, der DROP JUNCTOR Nachfrage und der ROUTE MESSAGE Nachfrage durch Signale bestätigt werden, die über den Schaltsteuerbus 124 in (Figur 3) zurückgegeben werden. Die Flußsteuerung wird durch das FLOW- CONTROL-ON Signal und das FLOW-CONTROL-OFF Signal ein- bzw. ausgeschaltet, die über den Schaltsteuerbus übertragen werden.
  • Wenn eine Nachricht nicht vermag, innerhalb eines gewissen vorgegeben Zeitintervalls durchverbunden zu werden, fließt der FIFO-Puffer (143 in Figur 4) des jeweiligen Kanal-Empfängers über. Um zu bestimmen, ob diese Bedingung auftritt, enthält die Empfänger-Steuerlogik einen Nachrichten-Durchverbindungs- Zeitgeber 154. Wenn die Nachricht nicht innerhalb des vorgegebenen Zeitintervalls durchverbunden wird, wird sie nicht berücksichtigt, wird die ROUTE MESSAGE Nachfrage zurückgenommen und wird eine QUEUE MESSAGE Nachfrage zu der zentralen Schaltlogik gesendet. Zumindest ein Nachfrage-Anerkennungs- Zeitgeber 155 überprüft, ob die zentrale Schaltlogik auf die anderen Dienst-Nachfragen innerhalb eines angemessenen Zeitintervalls antwortet.
  • Nach der Übertragung einer Nachricht und der Umkehr des Weges über einen Koppler, wird der Koppler für eine gewisse Zeitdauer reserviert, während der Empfänger des Ziel-Kanals im ACK/NAK- Modus ist und auf eine Anerkennung wartet. Die Empfänger- und Sender-Steuerlogik 84, 92 enthält einen erwartenden ACK/NAK- Zeitgeber, der sicherstellt, daß die Empfänger-Steuerlogik 84 aus dem ACK/NAK-Modus nach einem vorgegebenen Zeitintervall herausgeht, und ferner auch sicherstellt, daß der Koppler, der der Empfänger-Steuerlogik zugeordnet ist, fallengelassen wird. Um weiterhin sicherzustellen, daß dieser Koppler fallengelassen wird, enthält die zentrale Schaltlogik 144 Koppler-Zeitgeber 161, die ablaufen, wenn ein Koppler für mehr als eine vorgegebene Zeitgrenze zugeordnet ist. Die zentrale Schaltlogik enthält eine Einrichtung zum Feststellen des Ablaufens der Koppler-Zeitgeber, zum Beispiel einen Koppler-Zähler 162 und einen Multiplexer 163. Wenn diese Schaltungen einen abgelaufenen Koppler-Zeitgeber finden, erzeugen sie ein Koppler-Zeitablauf-Signal (JT), das eine Dienst-Koppler-Zeitgeber-Nachfrage (SJT) verursacht, die von der zentralen Schaltlogik 144 bedient wird, um den jeweiligen Koppler fallenzulassen.
  • Wenn eine Nachrichten-Nachfrage eingereiht ist, wird die Flußsteuerung durch das FLOW-CONTROL-ON Signal eingeschaltet. Wenn die Nachrichten-Nachfrage den Kopf ihrer jeweiligen Ziel-Reihe erreicht, wird der Ziel-Kanal für eine erneute Übertragung der Nachricht reserviert. Ein Satz von Reihen-Zeitgebern 156 in der zentralen Schaltlogik stellt sicher, daß ein Ziel nicht für eine zu lange Zeitdauer reserviert wird. Der Beginn der bestimmten Zeitdauer wird durch das FLOW-CONTROL-OFF Signal signalisiert, das von der zentralen Schaltlogik 144 zum Empfänger und der Sender-Steuerlogik 84, 92 gesendet wird. Um sicherzustellen, daß die Flußsteuerung ausgeschaltet wird, wenn eine unangemessen lange Zeit abgelaufen ist, wird ein Flußsteuerungs-Zeitgeber 157 in der Sender-Steuerlogik 92 bereitgestellt. Die Sender-Steuerlogik 92 enthält weiterhin Schaltungen, die ein FLOW CONTROL Signal erzeugen, das an den Flußsteuerung/Daten-Multiplexer 145 angelegt wird. Auch die Sender-Steuerlogik erzeugt ein TRANSMIT ENABLE Signal, das durch den Flußsteuerung/Daten-Multiplexer 145 hindurchläuft und zu dem Parallel-zu-Seriell-Wandler und dem Manchester-Codierer 146 gelangt.
  • In Übereinstimmung mit einem wichtigen Aspekt der vorliegenden Erfindung wird das FLOW CONTROL Signal, das zum Flußsteuerung/Daten-Multiplexer 145 gesendet wird, vorübergehend gesperrt, wenn eine ankommende Nachricht über die Koppler zu der Sender- Steuerlogik 92 durchverbunden wird. Diese ankommende Nachricht (der eine Lücke oder Pause vorhergeht) wird in den Träger eingefügt, der durch den Flußsteuerung/Daten-Multiplexer 145 in Antwort auf das FLOW CONTROL Signal ausgewählt wird. Während der Zeit, während der eine Datenverarbeitungseinrichtung für das Senden einer Nachricht gesperrt ist, ist es ihr deshalb erlaubt, eine Nachricht zu empfangen. Desweiteren wird das Fluß Steuerungs-Signal für die Datenverarbeitungseinrichtung nach dem Empfang der ankommenden Nachricht und der Übertragung des entsprechenden ACK oder NAK wieder freigegeben.
  • Sobald die Empfänger- und Sender-Steuerlogik das FLOW-CONTROL-OFF Signal empfängt und der Fluß-Steuerungs-Träger durch den Fluß Steuerung/Daten-Multiplexer 145 ausgeschaltet wurde, sollte die zuvor gesperrte Datenverarbeitungseinrichtung ihre gewünschte Nachricht innerhalb einer gewissen Zeitgrenze erneut senden, die durch die Reihen-Zeitgeber 156 eingerichtet wurden. Wenn nicht, läuft der Reihen-Zeitgeber für die Reihe des gewünschten Ziels der Nachricht ab. Die zentrale Schaltlogik 144 enthält Schaltungen, wie zum Beispiel einen Reihen-Zähler 158 und einen Multiplexer 159, die periodisch die Reihen-Zeitgeber 156 abtasten und nach Auffinden eines abgelaufenen Reihen-Zeitgebers ein Reihen- Zeitablauf-Signal (QT) erzeugen, das eine Dienst-Reihen- Zeitgeber-Nachfrage (SQT) verursacht. Wenn sie durch die zentrale Schaltlogik 144 verarbeitet wird, verursacht die SQT Nachfrage, daß die Nachrichten-Nachfrage am Kopf der jeweiligen Reihe von der Reihe fallengelassen wird, so daß die Nachrichten-Nachfrage, die als nächstes in der Linie in der Reihe steht, bedient wird.
  • Um schnell eine Dienst-Nachfrage zu verarbeiten, ist der zentrale Logik-Status-Speicher 145 derart organisiert, daß die Informationen, die für die Verarbeitung der Nachfrage erforderlich sind, sehr schnell verfügbar sind. Um zu bestimmen, ob eine Durchverbinden-Nachfrage durch einen vordefinierten, virtuellen Stern-Koppler erlaubt wird, enthält z.B. der zentrale Logik- Statusspeicher einen Speicher 164 für erlaubte Quellensätze, der adressiert wird, indem die Nummer des Quellenkanals, der die ROUTE MESSAGE Nachfrage erzeugt, verwendet wird, und der Zentrallogik-Status-Speicher enthält weiterhin einen Speicher 165 für zugelassene Ziel-Sätze, der adressiert wird, indem die Ziel- Kanalnummer verwendet wird. Die spezifische Organisation und Verwendung der Informationen, die in diesen Speichern gespeichert werden, wird weiter unten in Verbindung mit den Figuren 10 und 11 beschrieben.
  • Um die zentrale Schaltlogik 144 dafür freizugeben, den Ziel- Kanalstatus oder Quellen-Kanalstatus, der mit dem spezifizierten Quellen-Kanal beziehungsweise Ziel-Kanal verbunden ist, zu bestimmen, enthält der Zentrallogik-Status-Speicher eine RX Statustabelle 166 und eine TX Statustabelle 167. Auf ähnliche Art und Weise wird eine Tabelle 168 zur Verfügung gestellt, die denjenigen Koppler anzeigt, der jedem Quellenkanal zugeordnet ist, und es wird eine Tabelle 169 zur Verfügung gestellt, die denjenigen Koppler anzeigt, der jedem Ziel-Kanal zugeordnet ist. Um einen Koppler in Antwort auf eine Dienst-Koppler-Zeitgeber- Nachfrage fallenzulassen und auch um leicht die Zustände der Koppler anzuzeigen, wird eine Koppler-Tabelle 170 bereitgestellt, die durch die Koppler-Nuinmer adressiert wird. Die Koppler-Tabelle spezifiziert für jeden Koppler, ob der Koppler zugeordnet ist, und wenn das der Fall ist, die Quelle und das Ziel, denen der Koppler zugeordnet ist.
  • Die Koppler-Tabelle 170 enthält auch einen Status-Eintrag, der dazu verwendet werden kann, einen Koppler z.B. für Wartungszwecke zu reservieren.
  • Um die zentrale Schaltlogik 144 in die Lage zu versetzen, schnell Nachrichten-Nachfragen in die Ziel-Reihen zu plazieren, hat der Zentrallogik-Status-Speicher separate Tabellen, die eine Tabelle 142, welche jeweilige Zeiger auf die Köpfe der Reihen spezifiziert, und eine Tabelle 173, die jeweilige Zeiger auf die Enden der Reihen spezifiziert, umfassen. Die Ausgänge der Kopf- und Ende-Tabellen 172, 173 sind zu den am wenigsten signifikanten Adreß-Eingängen des Speichers 174 gemultiplext, wo die Ziel- Reihen gespeichert sind. Normalerweise werden die am meisten signifikanten Adreß-Eingänge des Reihen-Speichers 174 und der Reihen-Zeiger-Tabellen 172 und 173 durch die Nummer des Ziel-Kanals adressiert, obwohl es in einem Fall, wie weiter unten beschrieben wird, erwünscht ist, den Reihen-Speicher und die Tabellen durch die Quellen-Kanal-Nummer zu adressieren. Die Auswahl der Quellen- Kanal-Nummer oder der Ziel-Kanal-Nummer wird durch ein Paar von Gattern 175, 176 bereitgestellt. Ähnlich wird der Kopf-Zeiger oder der Ende-Zeiger durch ein Paar von Gattern 177, 178 ausgewählt.
  • Wenn eine Nachrichten-Nachfrage eingereiht wird, ist es für die zentrale Schaltlogik 144 erwünscht, sicherzustellen, daß eine Quellen-Kanal-Nummer nur einmal in einer gegebenen Ziel-Reihe auftritt. Damit die zentrale Schaltlogik schnell bestimmen kann, ob eine gegebene Quellen-Kanal-Nummer bereits in einer gegebenen Ziel-Reihe gespeichert ist oder nicht, wird eine Reihen-Eintrags- Tabelle 179 zur Verfügung gestellt, die einen Einzelbit-Eintrag für jede Kombination aus Quellen- und Ziel-Kanal enthält. In der bevorzugten Ausführungsform, die vierundsechzig Kanäle enthält, ist die Reihen-Eintrags-Tabelle 179 als 64 x 64 Einzelbit-Matrix organsisiert. Ein entsprechendes Bit wird immer dann gesetzt, wenn eine Nachrichten-Nachfrage in der Reihe plaziert wird, und ein entsprechendes Bit wird gelöscht, wenn eine Nachrichten- Nachfrage aus der Reihe entnommen wird.
  • Man wende sich nun der Figur 7 zu, wo ein Diagramm gezeigt wird, das eine hierarchische, rotierende Prioritätsverteilungs- Schaltung zeigt, die bevorzugterweise zum Prioritätsverteilen simultaner Dienst-Nachfragen eingesetzt wird, die von der Empfänger- und Sender-Steuerlogik der zentralen Schaltlogik zugeführt werden. Die Figur 7 ist eine vereinfachte Schaltung und es ist verständlich, daß die Alternative, die in Figur 8 gezeigt wird, bevorzugt wird. Wie in Figur 7 gezeigt wird, enthält jede Kanal-Schnittstellen-Leiterplatte 122', 123' einen entsprechenden Ring-Kanal-Prioritätsverteiler 181', der eine Dienst-Nachfrage von einer bestimmten der entsprechenden Empfänger-Logik- Schaltungen 84' auswählt, die mit jedem Kanal der Kanal- Schnittstellen-Leiterplatte verbunden sind. Des weiteren hat jede Kanal-Schnittstellen-Leiterplatte 122', 123' eine entsprechende Nachfrage-Leitung 183', die den entsprechenden Ring-Kanal- Prioritätsverteiler 181' mit einem Ring-Leiterplatten- Prioritätsverteiler 184' auf der Schalt-Steuer-Leiterplatte 121' verbindet. Der Ring-Leiterplatte-Prioritätsverteiler 184' wählt die Nachfrage von einer bestimmten der Ring-Kanal-Prioritätsverteiler-Schaltungen 181' aus und leitet diese Nachfrage zur zentralen Schaltlogik weiter, die bedient werden soll. Der Ring- Leiterplatte-Prioritätsverteiler sendet auch die Leiterplatte- Nummer der ausgewählten Leiterplatte über den Schalt-Steuerbus 124' und legt sie an einen Leiterplatte-Auswahl-Decodierer 185' an, der auf jeder der Kanal-Schnittstellen-Leiterplatten 122', 123' vorgesehen ist. Der Leiterplatte-Auswahl-Decodierer 185' erkennt eine bestimmte Leiterplatte-Nummer, die durch den Ring- Leiterplatte-Prioritätsverteiler 184' ausgewählt wird, und erzeugt ein Signal, das die Gatter 186', 187', 188' freigibt, welche die Kanal-Nummer weitergeben, die durch den Ring-Kanal- Prioritätsverteiler 181' ausgewählt wird. Wie weiterhin durch den Kanal-Decodierer 189' und die Gatter 190', 191' ausgewählt, wird ein Nachfrage-Code von der Empfänger-Logik des ausgewählten Kanals der ausgewählten Leiterplatte über den Schalt-Steuerbus 124' zu der Schalt-Steuer-Leiterplatte 121' weitergegeben. Der Nachfrage-Code enthält z.B. eine Nachfrage-Identifikationsnummer, die die bestimmte Dienst-Nachfrage identifiziert, und eine Nummer, die den Ziel-Kanal identifiziert, der mit der Durchverbinden-Nachricht-Dienst-Nachfrage oder der Einreihen- Nachricht-Dienst-Nachfrage verbunden ist.
  • Ein wichtiger Vorteil der hierarchischen Prioritätsverteilungs- Schaltung der Figur 7 besteht darin, daß zusätzlich Kanal- Schnittstellen-Leiterplatten ohne Modifikation des Ring-Leiterplatte-Prioritätsverteilers 184' auf der Schalt-Steuer- Leiterplatte 121' oder des Ring-Kanal-Prioritätsverteilers 181' auf den anderen Kanal-Schnittstellen-Leiterplatten 122, 123' installiert werden können. Wenn eine Kanal-Schnittstellen- Leiterplatte entfernt wird, geht z.B. ihre verbundene Nachfrage- Leitung 183' auf niedrig, so daß keine Nachfrage dem Ring- Leiterplatte-Prioritätsverteiler 184' präsentiert wird. Folglich überspringt der Ring-Leiterplatte-Prioritätsverteiler 184' die fehlende Leiterplatte nur, wenn er unter den Nachfragen von den Kanal-Schnittstellen-Leiterplatten, die in dem Computer-Verbinder installiert sind, eine Prioritätsverteilung vornimmt. Wie in der Figur 7 gezeigt wird, verursacht jede Anerkennung einer Nachfrage, daß der Ring-Leiterplatte-Prioritätsverteiler und der jeweilige Ring-Kanal-Prioritätsverteiler zu den nächsten, aktiven Nachfragen fortschreitet. Insbesondere funktioniert ein Nachfrage-Anerkennungs-Signal (REQ. ACK.) als eine "Dienst-Gewährung", um den Ring-Leiterplatten-Prioriätsverteiler 184' und den Ring-Kanal-Prioritätsverteiler 181' der ausgewählten Leiterplatte dazu freizugeben, zu "takten", um die nächste Dienst- Nachfrage auszuwählen. In dieser Hinsicht sind die Takt-Freigabe- Eingaben (CE) bevorzugterweise voll synchrone Eingaben und funktionieren auf analoge Art und Weise zu den Daten-Freigabe- Eingaben des Standard-TTL-Teils Nr. 74173; anders ausgedrückt, wenn der Takt-Freigabe-Eingang (CE) niedrig ist, ändern die synchronen Logikschaltungen den Zustand aufgrund einer selektiven Rückkopplung nicht, auch dann, wenn die Register in den Logikschaltungen getaktet werden.
  • Ein weiterer Vorteil des hierarchischen Prioritätsschemas nach Figur 7 besteht darin, daß die gesamte Prioriätsverteilungslogik relativ einfach ist und die Prioritätsverteilungslogik nur für die Kanal-Schnittstellen-Leiterplatten 122', 123' verdoppelt sind. Des weiteren ist die Schaltung für den Ring-Leiterplatten- Prioriätsverteiler 184' im wesentlichen die gleiche, wie die Schaltung für den Ring-Kanal-Prioritätsverteiler 181.
  • Man wende sich nun der Figur 8 zu, wo die bevorzugte Kanal- Schnittstellen-Leiterplatte 122 in größerem Detail gezeigt wird, einschließlich einem zweiten Ring-Kanal-Prioritätsverteiler 201 zum Prioriätsverteilen von Nachfragen niedriger Priorität von den Empfänger-Logik-Schaltungen 84. In Übereinstimmung mit einem wichtigen Aspekt der vorliegenden Erfindung werden die Dienst- Nachfragen in Nachfragen mit niedriger Priorität und in Nachfragen mit hoher Priorität eingruppiert, und separate Ring-Prioriätsverteiler sind zum Prioritätsverteilen der Nachfragen innerhalb jeder Prioritäts-Gruppe vorgesehen. Mit dem Ring-Kanal- Prioriätsverteiler 201 für niedrige Priorität sind z.B. der Kanal-Decodierer 202 und die Gatter 203, 204 verbunden, die in Verbindung mit den Gattern 186, 187 zum Auswählen entweder der Kanalnummer, die von dem Ring-Kanal-Prioritätsverteiler 201 für niedrige Priorität bereitgestellt wird, oder der Kanalnummer, die von dem Ring-Kanal-Prioritätsverteiler 181 mit hoher Priorität zur Verfügung gestellt wird, arbeiten.
  • Das Dienst-Nachfrage-Signal hoher Priorität auf einer Leitung 205 wird einem Inverter 206 zugeführt, um entweder die Gatter 203, 204 oder die Gatter 186, 187 freizugeben, wenn der Leiterplatten- Auswahl-Decodierer 185 freigegeben ist. Anders ausgedrückt, wenn eine Dienst-Nachfrage von einer Leiterplatte gewährt wird, und wenn sowohl Nachfragen mit hoher Priorität als auch Nachfragen mit niedriger Priorität vorhanden sind, ist der nachfragende Kanal, der zu den Zentral-Leiterplatten-Prioritätsverteilern zurück geführt wird, der Kanal mit der Nachfrage hoher Priorität.
  • Wie weiterhin in der Figur 8 gezeigt wird, werden die Nachfragen niedriger Priorität von dem Ring-Kanal-Prioriätsverteilern niedriger Priorität dem Ring-Leiterplatten-Prioritätsverteiler 207 für niedrige Priorität auf der Schalt-Steuer-Leiterplatte 121 zugeführt, und die Nachfragen hoher Priorität von den Ring-Kanal- Prioritätsverteilern hoher Prioriät werden zu einem Ring- Leiterplatten-Prioritätsverteiler 208 für hohe Priorität, der auch auf der Schalt-Steuer-Leiterplatte 121 ist, zugeführt. Ein ODER-Gatter 218 kombiniert ein HIGH REQ. ACK. Signal und ein LOW REQ. ACK. Signal, um ein GRANT SERVICE REQUEST Signal für die Kanal-Schnittstellen-Leiterplatten 122, 123 zu erzeugen. Die Leiterplatten-Auswahl-Nummer des Kanals, dem die Priorität gewährt wird, wird von einem freigegebenen der zwei Tristate-Gatter 219, 220 bereitgestellt. Das Gatter 219 wird durch den HTGH REQ. Ausgang des hohen Ring-Leiterplatten-Prioritätsverteilers 208 gesperrt, und das Gatter 220 wird durch diesen HIGH REQ. Ausgang freigegeben.
  • Die Umkehren-Weg-Nachfrage und die Fallenlassen-Koppler-Nachfrage werden bevorzugterweise als Nachfragen hoher Priorität zusammen eingruppiert, und die Durchverbinden-Nachrichten-Nachfrage und die Einreihen-Nachrichten-Nachfrage werden als Nachfragen niedriger Priorität zusammen eingruppiert. In der Empfänger- Kanal-Logik 84 werden die Nachfragen hoher Priorität durch ein ODER-Gatter 210 kombiniert und die Nachfragen niedriger Priorität werden durch ein ODER-Gatter 211 kombiniert.
  • Man wende sich nun der Figur 9 zu, wo ein schematisches Diagramm einer bevorzugten Organisation eines Ring-Kanal-Prioritätsverteilers 181 gezeigt wird. Im wesentlichen wird die gleiche Schaltung für den Ring-Leiterplatten-Prioritätsverteiler 184 in der zentralen Schaltlogik verwendet. Der Ring-Prioritätsverteiler enthält ein Register 221, das die Nummer des Kanals speichert, dem zuletzt die Priorität gegeben wurde. Der Kanal, dem als nächstes die Priorität gegeben wird, wird durch die Kanal-Auswahl-Logik 222 bestimmt. Um die Realisierung dieser Kanal-Auswahl-Logik durch Verwendung eines programmierbaren Logik-Feldes zu vereinfachen, empfängt die Kanal-Auswahl-Logik die Ausgänge eines Kanal-Decodierers 223 und erzeugt individuelle Kanal-Auswahl-Ausgänge, die einem Codierer 224 zugeführt werden, der die codierte Kanalnummer des nächsten Kanals, dem die Priorität gegeben werden soll, bereitstellt. Die logischen Gleichungen für die Kanal- Auswahl-Logik 222 sind im Appendix 1 enthalten. Zusätzlich zu den Auswahlsignalen für den empfangenden Kanal von dem Decodierer 223 empfängt die Kanal-Auswahllogik 222 auch die individuellen Nachfragen von den Kanälen, die mit ihrer jeweiligen Kanal- Schnittstellen-Leiterplatte verbunden sind. Die Ausgänge der Kanal-Auswahl-Logik 222, von denen jeder angibt, ob die Priorität als nächstes einem entsprechendem Kanal gegeben wird, werden in einem logischen ODER-Gatter 225 kombiniert, um anzuzeigen, ob eine Nachfrage von einem der Kanäle vorhanden ist.
  • Man wende sich nun der Figur 10 zu, wo ein Venn-Diagramm gezeigt wird, das mit 230 bezeichnet ist und das die Definition eines virtuellen Stern-Kopplers als ein vordefinierter Satz von Quellen-Kanälen, verbunden mit einem entsprechenden Satz von Ziel-Kanälen, illustriert. Wie in Figur 10 gezeigt wird, kann der Satz von Quellen-Kanälen den Satz von Ziel-Kanälen überschneiden. In diesem Fall können die Kanäle in dem Schnittbereich frei miteinander kommunizieren. Ansonsten kann die Nachrichtenübertragung zwischen den Kanälen nur von den Quellen-Kanälen zu den Ziel-Kanälen fortschreiten. Bevorzugterweise kann eine Anzahl solcher virtueller Stern-Koppler für den Computer-Verbinder definiert werden. Jeder gegebene Kanal kann in mehr als einem der virtuellen Stern-Koppler enthalten sein.
  • Man wende sich nun der Figur 11 zu, wo die bevorzugte Art des Repräsentierens des virtuellen Stern-Kopplers in dem Speicher 164 für zugelassene Quellen-Sätze und in dem Speicher 165 für zugelassene Ziel-Sätze gezeigt wird. Der Speicher 164 für zugelassene Quellen-Sätze enthält vierundsechzig Byte, die durch die Kanalnummern 0 bis 63 adressiert werden. Jede Bit-Position in jedem der Bytes ist eine logische Eins oder Null, um wiederzugeben, ob der Quellen-Kanal, der das Byte adressiert, in einem virtuellen Stern-Koppler für die jeweilige Bit-Position enthalten ist oder nicht. Der Speicher 165 für die zugelassenen Ziel-Sätze ist ähnlich als ein Satz von 64 Byte organisiert, wobei jedes Bit des Bytes eine logische Eins oder Null ist, um anzuzeigen, ob die Ziel-Kanal-Nummer, die das Byte adressiert, in dem virtuellen Stern-Koppler, der durch die jeweilige Bit-Position repräsentiert wird, enthalten ist oder nicht.
  • Um zu bestimmen, ob die Nachricht von einem spezifizierten Quellen-Kanal zugelassenerweise zu einem spezifizierten Ziel-Kanal durchverbunden werden kann, werden die jeweiligen Bit-Ausgangs- Leitungen des Speichers 164 für die zugelassenen Quellen-Sätze mit den jeweiligen Bit-Ausgängen des Speichers 165 für zugelassene Ziel-Sätze logisch UND-verknüpft, indem logische UND-Gatter 241 verwendet werden. Deshalb hat jedes Gatter einen Ausgang, der angibt, ob die spezifizierte Quelle und das spezifizierte Ziel in dem jeweiligen Quellen-Kanal-Satz und dem jeweiligen Ziel-Kanal- Satz für einen bestimmten der acht möglichen virtuellen Koppler gefunden werden, die für den Computer-Verbinder definiert werden können. Da die Nachricht durchverbunden werden sollte, wenn ein Durchverbinden durch einen der acht virtuellen Stern-Koppler zugelassen ist, werden die Ausgänge der UND-Gatter 241 in einem logischen ODER-Gatter 242 kombiniert, um das Signal für die Freigabe des Nachrichten-Durchverbindens zu erzeugen.
  • Exemplarisch wurde die Programmierung des Speichers 164 für zugelassene Quellen-Sätze und des Speichers 165 für zugelassene Ziel- Sätze in Figur 11 gezeigt, um die speziellen Fälle eines virtuellen Stern-Kopplers zu illustrieren, um einer Einrichtung zu erlauben, nur Nachrichten zu empfangen, nur Nachrichten zu senden und Nachrichten zwischen einer kleinen ausgewählten Kanal-Gruppe auszutauschen. Der virtuelle Stern-Koppler, der für die 0 Bitposition definiert ist, enthält logische Einsen für alle Quellen-Kanäle in dem Speicher 164 für zugelassene Quellen-Sätze, hat aber eine logische Eins nur in der 0 Bitposition für die 0 Ziel- Kanal-Nummer. Der virtuelle Stern-Koppler, der durch die 0 Bitposition definiert ist, gibt deshalb die Datenverarbeitungseinrichtung frei, die mit dem Kanal 0 verbunden ist, nur zum Empfangen von Daten verwendet zu werden.
  • Der virtuelle Stern-Koppler, der durch die zweite Bitposition definiert ist, hat logische Einsen nur für die beiden Quellen-Kanäle 1 und 2 und die Ziel-Kanäle 1 und 2. Dieser virtuelle Stern- Koppler koppelt deshalb nur die Kanäle 1 und 2 für einen Datenaustausch in einer Richtung zwischen ihnen miteinander. Virtuelle Stern-Koppler dieser Art können für jeweilige Speicher- Server definiert werden, um ihre jeweiligen Zugriffs-Belastungen auszugleichen. Virtuelle Stern-Koppler dieser Art können auch dafür definiert werden, ein flexibles Lokalisieren oder logisches Bewegen von Zentral-Prozessor-Quellen von einer gekoppelten Gruppe von Prozessoren zur anderen freizugeben. Der virtuelle Stern-Koppler, der mit der Bit 2 Position verbunden ist, enthält eine logische Eins nur für den Quellen-Kanal 3, aber stellt logische Einsen für alle Ziel-Kanäle bereit. Dieser virtuelle Stern-Koppler, der mit dem Bit 2 verbunden ist, definiert deshalb die Datenverarbeitungseinrichtung, die mit dem Quellen-Kanal 3 verbunden ist, als in der Lage dazu seiend, nur Daten zu den anderen Datenverarbeitungseinrichtungen zu senden.
  • Man wende sich nun der Figur 12 zu, wo ein bevorzugtes Format für Nachrichten und Anerkennung gezeigt wird. Die Nachrichten und Anerkennungen werden asynchron übertragen und werden durch Intervalle getrennt, wo der Träger von dem Kanal abwesend ist, der die Nachricht überträgt. Jede Nachricht enthält in Sequenz einen Kopf, der den Wert von 55 Hexadezimal für den Zweck des Erleichterns einer Bitsynchronisation hat, ein Zeichen-Synchronisations- Byte, das den Wert von 96 Hexadezimal für eine Rahmensynchronisation hat, ein Byte, das anzeigt, ob eine Nachricht oder entweder eine positive oder negative Anerkennung (ACK/NAK) empfangen wird, ein Byte, das die Länge der Nachricht anzeigt, ein Byte, das die gewünschte Ziel-Kanal-Nummer angibt, ein Byte, das das Komplement der gewünschten Ziel-Kanal-Nummer anzeigt, ein Byte, das den Quellen-Kanal für die Nachricht anzeigt, eine Anzahl von Datenbytes, die zuvor durch die Länge der Nachricht spezifiziert wurde, eine zyklische Redundanz-Überprüfung (CRC), und einen Nachspann, der einen Wert von FF Hexadezimal hat. Es sollte beachtet werden, daß das Format für die positiven und negativen Anerkennungen (ACK/NAK) ähnlich zu der Form ist, die in Figur 12 gezeigt wird, mit der Ausnahme, daß in einem solchen Fall das Byte, das die Länge der Nachricht anzeigt, weggelassen ist und auch die Daten weggelassen sind.
  • Man wende sich nun der Figur 13 zu, wo ein schematisches Diagramm der Empfänger-Logik für ein anfängliches Detektieren einer Nachricht gemäß dem Nachrichtenformat, das in Figur 12 gezeigt wird, gezeigt wird. Die Nachricht, die von einer Datenverarbeitungseinrichtung gesendet wird, wird in einem Manchester- Decodierer 251 und einem Träger-Detektor 252 empfangen, wie weiter in dem US Patent Nr. 4,592,072 von Stuart usw. beschrieben wird, das hier durch Bezugnahme aufgenommen wird. Der Nachrichten-Decodierer in Figur 13 kann in einem von zwei primären Zuständen sein, wie durch das Flip-Flop 253 bestimmt wird. Der Nachrichten-Decodierer tritt in den Warte-Zustand ein, wenn er in Antwort auf ein NEW MESSAGE REQ. Signal zurückgesetzt wird, und wenn ein Träger von dem Träger-Detektor 252 nicht detektiert werden kann. Für diesen Zweck wird das Flip-Flop 253 durch das Vorhandensein des Trägers gesetzt, und wird bei Abwesenheit des Trägers durch ein Flip-Flop 254, einen Inverter 255 und ein Gatter 256 zurückgesetzt.
  • Wenn der Nachrichten-Decodierer von Figur 13 den Warte-Zustand verläßt und in Gegenwart eines Trägers belegt wird, werden die decodierten Daten in serieller Form von dem Manchester-Decodierer 251 in ein Seriell-zu-Parallel-Wandler-Register 257 eingetaktet. Wenn die Daten in dem Seriell-zu-Parallel-Wandler 257 eingetaktet werden, wird ein Kopf-Zeitablauf-Intervall überwacht, während der Nachrichten-Decodierer auf den Zeichen-Synchronisationswert von 96 Hexadezimal wartet. Das Vorhandensein dieser Zeichen- Synchronisation wird von dem Decodierer 258 detektiert. Wenn der Träger verschwindet oder das Kopf-Zeitablauf-Intervall abläuft, bevor das Synchronisations-Zeichen detektiert wird, wird ein Kopf-Zeitablauf-Zeichen durch das Flip-Flop 259 signalisiert. Das Timing-Intervall wird durch den Zähler 260 bestimmt, der durch ein ODER-Gatter 261 zurückgesetzt wird- wenn der Nachrichten- Decodierer im Wartezustand ist, wenn das Synchronisationszeichen detektiert wird oder wenn das Kopf-Zeitablauf-Zeichen gesetzt wird. Das Verschwinden des Trägers während dieses Kopf- Zeitablauf-Intervalls wird von einem UND-Gatter 262 detektiert, und die zwei Bedingungen zum Setzen des Kopf-Zeitablauf-Zeichens werden in dem ODER-Gater 263 kombiniert.
  • Um die Anwesenheit einer Nachricht zu signalisieren, wenn das Synchronisations-Zeichen gefunden wird, nachdem der Nachrichten- Decodierer belegt wurde, setzt ein UND-Gatter 264 ein Flip-Flop 265. Wenn dieses Flip-Flop gesetzt wird, beginnt ein 3-Bit-Binär- Zähler 266 zu zählen, um einen Takt für die Bytes zu erzeugen, die in dem Seriell-zu-Parallel-Wandler-Register 257 auftreten. Die rahmen-synchronisierten Bytes werden in ein Ausgangsregister 267 eingetastet, wenn der Zähler 266 einen Wert von sieben erreicht, was durch ein UND-Gatter 268 detektiert wird. Damit der Rahmen-Synchronisationscode auch in dem Ausgangsregister 267 empfangen wird, kombiniert ein ODER-Gatter 269 das NEXT BYTE Signal mit dem Ausgang eines UND-Gatters 270, um ein Takt-Freigabe- Signal für das Ausgangs-Register 267 zu erzeugen. Ein Byte-Takt für die Bytes, die von dem Ausgangsregister 267 aus auftreten, wird durch den Ausgang Q&sub2; des 3-Bit-Binär-Zählers 266 erzeugt. Um die Daten von dem Ausgangsregister 267 mit einem internen Takt zu synchronisieren, werden ein Paar von Gattern 271, 272 und ein Flip-Flop 273 verwendet, um einen Quadratur-Byte-Takt zu erzeugen, der bezüglich des Ausgangs Q&sub2; des 3-Bit-Binär-Zählers 266 voranschreitet.
  • Zum Verarbeiten der ankommenden Nachrichten ist es erwünscht, 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. empfängt, so daß eine Nachricht vollständig verarbeitet werden kann, bevor eine andere Nachricht durch den Decodierer erkannt wird. Für diesen Zweck wird das Ende einer Nachricht durch ein Flip-Flop 274 detektiert, das gesetzt wird, wenn das Flip-Flop 265 gesetzt ist und der Träger verloren ist, was durch ein UND-Gatter 275 detektiert wird. Das Flip-Flop 274 erzeugt deshalb ein INCOMING MESSAGE COMPLETE Signal. Ein UND-Gatter 276 kombiniert dem Q-Ausgang des Flip-Flops 265 mit dem Q-Komplement-Ausgang des Flip-Flops 274, um ein MESSAGE Signal zu erzeugen, das während des Auftretens einer Nachricht auf hoch ist.
  • Zu gewissen Zeitpunkten während des Betriebs des Computer-Verbinders der vorliegenden Erfindung ist es erwünscht, den Nachrichten-Decodierer für ankommende Nachrichten zu sperren oder zu löschen. Dies sollte z.B. dann ausgeführt werden, wenn ein Kanal- Sender aktiviert ist, so daß eine ankommende Nachricht, die simultan damit ist, nicht verursacht, daß Zeichen gesetzt werden, wenn die ankommende Nachricht beendet ist. Für diesen Zweck enthält der Nachrichten-Decodierer ein ODER-Gatter 276, das ein CLEAR MESSAGE Signal zum Setzen des Flip-Flops 273 empfängt, und dadurch das MESSAGE Signal auf niedrig zwingt, bis das CLEAR MESSAGE Signal entfernt wird und danach der Träger abwesend wird.
  • Man wende sich nun der Figur 14 zu, wo ein schematisches Diagramm eines Nachrichtensynchronisierers und eines zyklischen Zählers für die Kanal-Empfänger-Logik gezeigt wird. Um die empfangenen Datenbytes mit einem Byte-Takt 281 zu synchronisieren, werden ein Paar von Registern 282 und 283 bereitgestellt, die mit einer Phasendifferenz von 180' des Byte-Takts getaktet werden, wie er von dem Inverter 284 bereitgestellt wird. Für Nachrichten mit einer gewissen begrenzten Dauer entsprechend der maximal zugelassenen Nachrichtenlänge können die Ausgänge eines dieser zwei Register 282, 283 durch ein entsprechendes der zwei Gatter 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 soll, tastet ein Flip-Flop 287, das durch den internen Byte-Takt 281 getaktet wird, den quadraturmäßig fortschreitenden Byte-Takt von dem Nachrichten- Decodierer der Figur 13 ab. Desweiteren wird diese Entscheidung für die Dauer der Nachricht gehalten, indem das Verzögerungs- Flip-Flop 287 nur in Abwesenheit des MESSAGE Signals freigegeben wird. Ein Verzögerungs-Flip-Flop 288 stellt die notwendige Verzögerung zum Sperren des Takts zu dem Flip-Flop 287 bereit. Damit die Bytes präzise zu dem internen Byte-Takt synchronisiert sind, wird ein Ausgangsregister 289 bereitgestellt, das durch den internen Byte-Takt 281 getaktet wird. Ein Verzögerungs-Flip-Flop 290 erzeugt ein INTERNAL MESSAGE Signal, das angibt, wenn die Bytes, die durch das Flip-Flop 289 präsentiert werden, Bytes von einer empfangenen Nachricht wiedergeben.
  • Um jedes einzelne Byte in dem Nachrichtenformat der Figur 12 zu identifizieren, erzeugt ein Schiebe-Register-Zykluszähler 291 ein entsprechendes Abtastsignal, wenn die entsprechenden Bytes am Ausgang des Ausgangsregisters 289 auftreten. Dieser Schieberegister-Zykluszähler empfängt einen Anfangsimpuls, der von einem UND-Gatter 292 erzeugt wird, das die vorauseilende Flanke des INTERNAL MESSAGE Signals detektiert. Ähnlich erzeugt ein UND-Gatter 293 ein END MESSAGE Signal an der hinterhereilenden Flanke des INTERNAL MESSAGE Signals.
  • Es wird daran erinnert, daß das Format der Figur 12 das Format für eine Nachricht ist, und daß das Format für einen Rückgabe-Anerkennungs-Code ähnlich ist, mit der Ausnahme, daß das LENGTH Byte (Längenbyte) fehlt. Um dem zyklischen Schiebezähler 291 zu erlauben, zum Decodieren von Bytes für Nachrichten und Anerkennungen verwendet zu werden, wird ein Multiplexer bereitgestellt, der allgemein mit 294 bezeichnet ist und die Positionen der Abtastimpulse für das DEST Signal, das DEST Komplement-Signal und das SOURCE Abtastsignal verschiebt, wenn eine Anerkennung von der Kanal-Empfänger-Logik erwartet wird.
  • In der Figur 14 wird auch eine Logik zum Zuführen der Handshake- und Nachrichten-Löschsignale zu dem Nachrichten-Decodierer der Figur 13 gezeigt. Ein Flip-Flop 295 erzeugt ein NEW MESSAGE REQUEST Signal im üblichen Fall am Ende der Nachrichten-Verarbeitung. In Antwort auf ein System RESET Signal oder während der Zeit, während der der Kanal-Sender belegt ist, sollte jede vorhandene Nachricht gelöscht werden und eine neue Nachricht sollte nachgefragt werden. Für diesen Zweck kombiniert ein ODER- Gatter 296 ein RESET System-Signal und ein TX BUSY Signal, um ein CLEAR MESSAGE Signal für den Kanal-Empfänger zu erzeugen. Ein zweites ODER-Gatter 297 kombiniert auch dieses CLEAR MESSAGE Signal mit dem Ausgang des Flip-Flops 295, um ein NEW MESSAGE REQUEST Signal zu erzeugen, das zum Kanal-Empfänger der Figur 13 zurückgegeben wird. Noch ein weiteres ODER-Gatter 298 wird dazu verwendet, daß CLEAR MESSAGE Signal mit dem Ausgang des UND-Gatters 292 zu kombinieren, um ein INIT Signal für die Kanal-Empfänger-Logik bereit zustellen, so daß die Kanal-Empfänger-Logik zurückgesetzt wird, wann immer der Kanal-Sender belegt ist oder ein System-Reset auftritt oder kurz bevor eine detektierte Nachricht am Ausgang des Ausgangs-Registers 289 auftritt.
  • Man wende sich nun der Figur 15 zu1 wo ein schematisches Diagramm einer Kanal-Empfänger-Logik für das Durchverbinden einer Nachrichten-Nachfrage und für das Beenden einer Nachrichten-Verarbeitung gezeigt wird. Im allgemeinen erzeugt die Kanal-Empfänger- Logik eine Durchverbinden-Nachrichten-Nachfrage, wenn das Ziel und das Ziel-Komplement miteinander übereinstimmen, wenn die Quellennummer in der Nachricht der physikalischen Kanalnummer entspricht und wenn der Typ der Nachricht mit dem erwarteten Typ übereinstimmt und der erwartete Typ nicht ein ACK oder NAK Code ist.
  • Um zu überprüfen, ob das Ziel dem Ziel-Komplement entspricht, wird das Ziel in ein Register 301 eingetastet. Eine Bank aus Exclusiv-ODER-Gattern 302 mit zwei Eingängen und einem NAND Gatter 303 mit acht Eingängen vergleicht das Ziel, das in das Register 301 eingetastet wird, mit den Datenbytes in der empfangenen Nachricht. Ein Flip-Flop 304 überprüft, ob es einen Vergleich während der Zeit der DEST. Komplement-Abtastung gibt. Desweiteren wird ein Flip-Flop 306 dazu verwendet, ein Ziel-Fehlübereinstimmungs-Zeichen an den Diagnose-Prozessor dann aus zugeben, wenn das Ziel und das Ziel-Komplement nicht einander entsprechen. Auf ähnliche Art und Weise werden die Datenbytes durch den Quellen- Komparator überprüft, der einen Satz von Exklusiv-ODER-Gattern 307 und ein UND-Gatter 308 enthält, das auch die SOURCE Abtastung empfängt, um ein Signal an den Inverter 309 zum Erzeugen eines Freigabe-Signals aus zugeben, wenn die Quellen-Nummer in der Nachricht mit der Kanal-Nummer des Kanal-Empfängers übereinstimmt. Des weiteren erzeugt das Flip-Flop 310 ein Quellen- Fehlübereinstimmungs-Zeichen für den Diagnose-Prozessor. Ein solches Zeichen kann angeben, daß z.B. ein Kommunikationskabel falsch von einer bestimmten Datenverarbeitungseinheit aus zu ihrem zugeordneten Kanal des Computer-Verbinders verlegt worden ist.
  • Zum Zweck des Erfassens des Nachrichtentyps oder Codetyps werden die Daten-Bytes einem ACK-Decodierer 311 und einem NAK-Decodierer 312 zugeführt, die Ausgänge haben welche durch ein ODER-Gatter 313 kombiniert werden, um eine Anzeige dafür zu erzeugen, ob die Nachricht ein ACK-Code oder ein NAK-Code ist.
  • Damit die Kanal-Empfänger-Logik bestimmen kann, ob ein ACK-oder NAK-Code erwartet wird, wird ein Flip-Flop 314 durch ein System- Reset-Signal, durch das Fallenlassen eines Kopplers, der dem Empfänger zugeordnet ist, und durch das Ablaufen des Zeitgebers 160 für die erwartete Anerkennung zurückgesetzt. Die erforderliche Kombination dieser Signale wird durch ein ODER-Gatter 316 bereitgestellt. Der Zeitgeber 160 für die erwartete Anerkennung mißt bevorzugterweise die Zeit, während der ein Koppler für eine Rückgabe-Übertragung einer Anerkennung reserviert ist. Der Zeitgeber 315 für die erwartete Anerkennung sollte deshalb zählen, wenn eine Anerkennung erwartet wird, und zwar beginnend mit dem Zeitpunkt, bei dem ein Koppler dem Kanal-Empfänger hinzugefügt wird, und weiter fortfahrend bis zu dem Zeitpunkt, bei dem der Typ der Rückgabe-Anerkennung oder Nachricht bestimmt werden kann. Zum Steuern des Zeitgebers 160 für die erwartete Anerkennung ist ein Flip-Flop 317 vorgesehen, das durch ein UND-Gatter 318 gesetzt wird, wenn eine Anerkennung erwartet wird und wenn ein Koppler dem Kanal-Empfänger hinzugefügt wird, und das durch ein ODER-Gatter 319 zurückgesetzt wird, wenn eine Anerkennung nicht erwartet wird oder wenn eine TYPE Abtastung auftritt.
  • Um eine Nachricht oder Anerkennung des falschen Typs zurückzuweisen, vergleicht ein Exclusiv-ODER-Gatter 320 den erwarteten Typ von dem Flip-Flop 314 aus mit dem empfangenen Typ, der durch das ODER-Gatter 313 angegeben wird. Der Ausgang des Exclusiv-ODER- Gatters wird einem UND-Gatter 321 zugeführt, das durch eine TYPE Abtastung freigegeben wird, ein Flip-Flop 322 zu setzen, wenn der Typ der Nachricht nicht mit dem erwarteten Typ ubereinstimmt. Desweiteren setzt das UND-Gatter 321 ein Flip-Flop 323, um ein Zeichen bereitzustellen, das dem Diagnose-Prozessor angibt, daß eine Nachricht oder Anerkennung vom falschen Typ empfangen wurde.
  • Eine Nachfrage für das Durchverbinden einer Nachricht wird von einem UND-Gatter 324 und und von einem Flip-Flop 325 erzeugt. Wenn das Ziel und das Ziel-Komplement der Nachricht übereinstimmen, hat die Nachricht einen geeigneten Typ, der nicht ein Anerkennungs-Code ist, und die Quellen-Nummer der Nachricht stimmt mit der physikalischen Kanal-Nummer des Kanal-Empfängers überein. Wenn das Flip-Flop 325 gesetzt ist, ist der Nachrichten- Durchverbinden-Zeitgeber 154 auch freigegeben. Das Flip-Flop 325 wird durch ein ODER-Gatter 326 zurückgesetzt, wenn ein Koppler dem Kanal-Empfänger hinzugefügt wird, wenn der Kanal-Empfänger am Beginn des Empfangens einer Nachricht initialisiert wird, oder wenn das Durchverbinden der Nachricht durch das Flip-Flop 325 nachgefragt wurde und der Nachrichten-Durchverbinden-Zeitgeber 154 abläuft. Diese letzte Verbindung wird durch ein UND-Gatter 327 bestimmt. Das UND-Gatter 327 stellt deshalb ein MESSAGE ROUTING TIMEOUT Signal bereit, das anzeigt, daß die zentrale Schaltlogik nicht auf die Durchverbinden-Nachrichten-Nachfrage innerhalb einer gewissen, vorgegebenen Zeitgrenze antworten kann, die ausgewählt ist, um sicherzustellen, daß der Zuerst-Ein- Zuerst-Aus-Puffer (143 in Figur 4) zumindest den Anfangsabschnitt der Nachricht ohne ein Überfließen speichert.
  • Es wird in Erinnerung gerufen, daß die zentrale Schaltlogik (144 in Figur 4), wenn sie nicht dazu in der Lage ist, eine Nachricht durchzuverbinden, da der Ziel-Sender oder -Empfänger belegt ist oder ein wartender Koppler nicht verfügbar ist, die Nachrichten- Nachfrage dann in einer Ziel-Reihe plaziert und ein FLOW-CONTROL- ON Signal zurück zum Kanal-Empfänger und -Sender sendet. Wenn dies auftritt, wird das Flip-Flop 325 durch das INIT Signal zurückgesetzt.
  • In Figur 15 wird auch ein ODER-Gatter 328 gezeigt, das das END MES. PROC. Signal am Ende der Verarbeitung einer Nachricht erzeugt. Die Nachrichten-Verarbeitung wird beendet, wenn eine Ziel- Fehlübereinstiinrnung, eine Quellen-Fehlübereinstimmung, der Empfang einer Nachricht oder Anerkennung vom falschen Typ, ein Anerkennungs-Zeitablauf, eine Nachrichten-Länge, die eine gewisse vorgegebene maximale Nachrichten-Länge überschreitet, ein Koppler, der von dem Kanal-Empfänger fallengelassen wird, oder das Ende der Einreihung einer Nachricht vorliegt. Um zu bestimmen, ob die Nachricht eine gewisse maximale Nachrichtenlänge überschreitet, wird der Zähler 151 für die maximale Nachrichtenlänge auf einem vorgesetzten Zählwert bei Abwesenheit einer Nachricht gehalten, wie es durch einen Inverter 329 angegeben wird, und wenn ein Zeitablauf während einer Nachricht auftritt, wird ein Flip-Flop 330 gesetzt. Ein UND-Gatter 331 setzt zu diesem Zeitpunkt auch ein Flip-Flop 332, um ein Zeichen dem Diagnose-Prozessor bereitzustellen, um anzuzeigen, daß die Nachricht zu lang ist. Das UND-Gatter 331 stellt sicher, daß das Zeichen-Flip-Flop 332 nicht mehr als einmal pro Nachricht gesetzt wird.
  • Man wende sich nun der Figur 16 zu, wo ein schematisches Diagramm einer Kanal-Empfänger- und -Sender-Logik für Nachrichten-Einreihung gezeigt wird. Das MESSAGE ROUTING TIMEOUT Signal von Figur 15 setzt ein Flip-Flop 341, das eine Einreihen-Nachrichten- Nachfrage an die zentrale Schaltlogik sendet. Das MESSAGE ROUTING TIMEOUT Signal setzt auch einen Nachfrage-Anerkennung-Zeitgeber 342. Wenn dieser Zeitgeber abläuft, bevor die Einreihen- Nachrichten-Nachfrage erfüllt ist, was durch das UND-Gatter 343 detektiert wird, wird ein Flip-Flop 344 gesetzt, das dem Diagnose-Prozessor einen Einreihen-Nachfrage-Fehler anzeigt. Das Flip-Flop 341, das die Einreihen-Nachrichten-Nachfrage erzeugt, wird durch das INIT Signal von dem UND-Gatter 343 nach dem Auftreten eines Einreihen-Nachfrage-Fehlers, oder im üblichen Fall von dem FLOW-CONTROLL-ON Signal von der zentralen Schaltlogik zurückgesetzt. Die Kombination dieser Bedingungen wird durch ein ODER-Gatter 345 erzeugt. Das Ende der Einreihung wird durch ein weiteres ODER-Gatter 346 immer dann angezeigt, wenn der Einreihen-Nachfrage-Fehler auftritt oder die Fluß-Steuerung eingeschaltet ist.
  • Der Zustand der Fluß-Steuerung für den Sender wird durch das Flip-Flop 347 angezeigt, das durch das FLOW-CONTROL-ON Signal von der zentralen Schaltlogik gesetzt wird und das durch das RESET System-Signal, durch das FLOW-CONTROL-OFF Kommando von der zentralen Schaltlogik oder nach dem Ablauf des Fluß-Steuerungs- Zeitgebers 157 zurückgesetzt wird, wenn die Fluß-Steuerung ein ist. Die erforderliche Konjunktion und Disjunktion wird durch ein UND-Gatter 348 und ein ODER-Gatter 349 bereitgestellt. Das Ablaufen des Fluß-Steuerungs-Zeitgeber 157 setzt, wenn die Fluß- Steuerung ein ist, ein Flip-Flop 349, das ein Fluß-Steuerung- Zeitablauf-Zeichen für den Diagnose-Prozessor bereitstellt.
  • Der Kanal-Sender wird als belegt betrachtet, wenn das Fluß-Steuerungs-Flip-Flop 347 gesetzt ist oder wenn ein Koppler dem Kanal- Sender zugeordnet ist, aber nicht dem Kanal-Empfänger. Diese Bedingungen werden durch einen Inverter 350, ein UND-Gatter 351 und ein ODER-Gatter 352 analysiert. Wie oben beschrieben wurde, wird der Kanal-Empfänger gesperrt, wenn der Kanal-Sender als belegt betrachtet wird. Der Kanal-Sender und der Kanal-Empfänger können jedoch gleichzeitig im Wartungsmodus arbeiten, der auftritt, wenn Koppler sowohl dem Kanal-Sender als auch dem Kanal-Empfänger zugeordnet sind, was durch das UND-Gatter 353 detektiert wird.
  • Es ist wünschenswert, die Übertragung des Fluß-Steuerung-Trägers zu einer Datenverarbeitungseinrichtung zu verzögern, bis irgendein Träger, der von dieser Daten-Steuerung-Einrichtung gesendet wird, beendet ist, und insbesondere ist es erwünscht, eine Pause von ungefähr fünf Takt-Zyklen zwischen dem Zeitpunkt, bei dem der Träger, der von der Datenverarbeitungseinrichtung gesendet wird, verschwindet und dem Zeitpunkt zu haben, bei dem der Fluß-Steuerung-Träger eingeschaltet wird. Das FLOW CONTROL XMIT Signal wird deshalb durch ein Flip-Flop 354 erzeugt, das in der Abwesenheit der Fluß-Steuerung zurückgesetzt wird und fünf Taktzyklen danach gesetzt wird, nachdem der Träger, der durch den Kanal-Empfänger detektiert wird, verschwindet. Die erforderlichen Setz- und Rücksetz-Bedingungen für das Flip-Flop 354 werden durch einen 3-Bit-Binär-Zähler 355, ein UND-Gatter 356 und einen Inverter 357 bestimmt.
  • Man wende sich nun der Figur 17 zu, wo eine Kanal-Empfänger-Logik für den Zuerst-Ein-Zuerst-Aus-Puffer 143 und eine Schnittstelle zu der Schaltmatrix gezeigt werden. Wenn der Kanal-Empfänger keine Anerkennung erwartet, werden Informationen zu der Schaltmatrix gesendet, sobald ein Koppler einem Kanal-Empfänger zugeordnet ist, was durch einen Inverter 361 und ein UND-Gatter 362 detektiert wird. Wenn eine Anerkennung erwartet wird, beginnt die Übertragung zur Schaltmatrix, wenn ein Koppler dem Kanal-Empfänger zugeordnet wurde und die Rückgabe-Anerkennung empfangen wird. Diese Bedingungen werden durch das UND-Gatter 363 detektiert, und ein Sende-Signal wird von einem ODER-Gatter 364 erzeugt. Zuerst wird ein Kennzeichen zu der Schaltmatrix, z.B. die Identifikationsnummer des Kopplers, der dem Kanal-Empfänger zugeordnet ist, gesendet. Nach der Übertragung des Kennzeichens werden Daten vom Puffer 143 übertragen. Die Zeit für die Übertragung des Kennzeichens wird durch ein Verzögerungsregister oder Flip-Flop 365 und ein UND-Gatter 366 bestimmt. Entweder das Kennzeichen oder der Daten-Ausgang des Puffers 143 werden von Multiplexer- Gattern 367, 368 für die Übertragung zu der Schaltmatrix ausgewählt. Das Ende der Übertragung wird durch ein Signal END BUF XMIT angezeigt, das von einem UND-Gatter 369 während der Datenübertragung vom Puffer erzeugt wird, wenn der Puffer leer wird.
  • Zusätzlich zu den Daten-Bytes von dem Kennzeichen und von dem Puffer 143 werden ein Paritätsbit und ein Gültig-Daten-Bit über die Koppler übertragen. Das Paritätsbit wird durch einen Paritäts-Codierer 370 erzeugt. Ein Gültig-Daten-Signal wird immer dann erzeugt, wenn das Kennzeichen übertragen wird oder wenn der Puffer während der Übertragung nicht leer ist. Diese logischen Bedingungen werden von einem inverter 371, einem UND-Gatter 372 und einem ODER-Gatter 373 analysiert.
  • Man wende sich nun der Figur 18 zu, wo ein schematisches Diagramm der Diagnose-Schaltmatrix 99 und ihrer Steuerschaltungen gezeigt wird. Ursprungs- und Ziel-Decodierer 381, 382 und Zwischenspeicher (latches) 383, 384 erzeugen Signale, die angeben, ob ein Koppler einem Kanal-Empfänger oder dem Kanal-Sender zugeordnet ist, und wenn das der Fall ist, die Identifikationsnummern der so zugeordneten Koppler. Ahnliche Decodierer und Zwischenspeicher werden von den anderen Kanal-Sendern und -Empfängern verwendet. Der Koppler-Steuerbus 93 enthält Sätze von Leitungen zum Spezifizieren des Quellen-Empfängers, des Ziel-Senders, und des Kopplers, der zugeordnet werden oder fallengelassen werden soll, wenn ein Kommando-Impuls über den Koppler-Steuerbus übertragen wird. Eine einzelne Leitung spezifiziert, ob der Kommando-Impuls mit einer Koppler-Zuordnungs-Operation oder einer Koppler-Fallenlassen-Operation verbunden ist. Der Koppler-Steuerbus enthält auch eine Rücksetz-Leitung, um simultan alle Koppler fallenzulassen, die zugeordnet sind.
  • Zum Zuordnen oder Fallenlassen eines Koppler taktet der Kommandoimpuls die Zwischenspeicher 383, 384, die die Identifikationsnummer des zugeordneten Kopplers bzw. auch den abgetasteten Wert der Zuordnung/Fallenlassen-Leitung speichern, um ein Ausgangsbit bereitzustellen, das anzeigt, ob ein Koppler zugeordnet ist oder fallengelassen ist. Ein entsprechender Decodierer 385, 386 ist mit jedem der Zwischenspeicher 383 bzw. 384 verbunden. Der Auswahleingang jedes Decodierers empfängt den zwischengespeicherten Koppler-Identifikationscode. Jeder Decodierer hat auch einen Ausgangs-Freigabe-Eingang, der das Bit empfängt, das anzeigt, ob der Koppler zugeordnet ist. Die Ausgänge des Decodierers stellen deshalb einzelne Auswahlsignale zum Freigeben einer Verbindung zu jedem Koppler bereit. Die zu übertragenden Daten und zu empfangenden Daten von dem Koppler-Bus werden auf einen ausgewählten Koppler durch einen Satz von Gattern 387 gemultiplext und durch einen Satz von Gattern 388 gedemultiplext.
  • Aus der Figur 18 folgt, daß, wenn unidirektionale Gatter verwendet werden sollen, um Daten zu und von den Kopplern zu multiplexen, die Zwischenverbindungen der Gatter unterschiedlich sein müssen. Die Erfinder haben jedoch die überraschende Entdeckung gemacht, daß dies nicht notwendigerweise wahr ist und daß tatsächlich ein Multiplexer-Feld aufgebaut werden kann, das zwei Niveaus von UND-Gattern verwendet, um sowohl das Multiplexen als auch das Demultiplexen zu und von den Kopplern zu ermöglichen.
  • Man wende sich nun der Figur 19 zu, wo eine bevorzugte Schaltung für eine Schaltmatrix, die allgemein mit 391 bezeichnet wird, als Schnittstelle zwischen einem Kanal-Empfänger und dem Koppler-Bus gezeigt wird. In Übereinstimmung mit einem Merkmal der vorliegenden Erfindung sind die Kanal-Schnittstellen-Leiterplatten (122, 123 in Figur 3) frei austauschbar, ohne daß eine Reprogrammierung der Leiterplatten-Decodierer erforderlich ist. Stattdessen enthalten die unterschiedlichen Schlitze in dem Kartenkäfig einen Satz von Terminal-Verbindern, die fest-verdrahtet sind, um eine Schlitz-Nummer anzugeben. Wenn eine Schaltungs-Leiterplatte in einem bestimmten Schlitz eingesetzt wird, tritt deshalb die Schlitz-Nummer an einem Satz von Eingangs-Leitungen zu der Leiterplatte auf. Ein Leiterplatten-Decodierer wird durch einen Satz von Exclusiv-ODER-Gattern 392 ermöglicht, die Ausgänge haben, welche in einem UND-Gatter 393 kombiniert sind. Das UND- Gatter 393 erzeugt deshalb ein Leiterplatten-Auswahlsignal. Das Leiterplatten-Auswahlsignal wird dazu verwendet, die Ausgänge eines Koppler-Auswählers 394 freizugeben, der einzelne Ausgänge hat, die dazu verwendet werden, um den Takt eines Registers 395 freizugeben, das die Kanalnummer von den Quellen-Auswahlleitungen des Koppler-Steuerbusses empfängt und auch die Zuordnen-Fallenlassen-Leitung von dem Koppler-Steuerbus empfängt. Der Ausgang des Registers 395 wird den Eingängen eines Decodierers 396 zugeführt, der einzelne Ausgänge bereitstellt, um ein erstes Niveau von NAND-Multiplex-Gattern, die allgemein mit 397 bezeichnet sind, freizugeben. Die Ausgänge des ersten Niveaus der Gatter werden von einem zweiten Niveau von NAND-Gattern, das allgemein mit 398 bezeichnet ist, verknüpft. Das zweite Niveau der Gatter 398 wird durch das Zuordnen/Fallenlassen-Signal, das im Register 394 zwischengespeichert wird, drei-zustands-gesetzt (tri-stated). Anstatt Tri-State-Gatter 397 zu verwenden, können Gatter mit Open Collector verwendet werden, um eine Funktion mit verdrahteter ODER-Logik zusammen mit den Kopplern bereitzustellen.
  • Man wende sich nun der Figur 20 zu, wo ein schematisches Diagramm einer Schaltmatrix 399 für die Kanal-Sender gezeigt wird. Es ist offensichtlich, daß die gleichen Schaltungskomponenten verwendet werden können, wie sie in der Figur 19 gezeigt wurden; alles was erforderlich ist, ist, daß die Koppler-Auswahlleitungen mit den Kanal-Nummer-Auswahlleitungen geschaltet werden und daß die Koppler den Eingängen des ersten Niveaus des NAND-Gatters 397' zugeführt werden, anstatt den Ausgängen des zweiten Niveaus des NAND- Gatters 398. In dieser Hinsicht wird darauf aufmerksam gemacht, daß die Anzahl der Koppler gleich der Anzahl der Kanäle auf einer einzelnen Kanal-Schnittstellen-Leiterplatte ist. Die Komponenten, die in Figur 20 verwendet werden und die identisch zu den Komponenten in Figur 19 sind, werden mit den gleichen Bezugszeichen gezeigt; ähnliche Komponenten werden mit den gleichen, aber mit Strich versehenen Bezugszeichen gezeigt.
  • Man wende sich nun der Figur 21 zu, wo ein schematisches Diagramm einer Kanal-Empfänger-Logik zum Auslösen der Fallenlassen-Koppler- und der Umkehren-Koppler-Nachfragen gezeigt wird. Wie durch das UND-Gatter 401 analysiert wird, wird eine Fallenlassen- Koppler-Nachfrage ausgelöst, wenn der Kanal-Empfänger einem Koppler zugeordnet ist, eine anhängige, neue Nachrichten- Nachfrage vorliegt, eine Anerkennung nicht erwartet wird und kein hängender (stuck) Koppler zuvor festgestellt wurde. Wie durch ein Gatter 402 analysiert wird, wird eine Fallenlassen-Koppler-Nachfrage auch ausgelöst, wenn ein Koppler einem Kanal-Empfänger zugeordnet ist, eine Anerkennung erwartet wird, eine Übertragung vom FIFO-Puffer beendet ist und kein hängender Koppler zuvor festgestellt wurde. Die Ausgänge der Gatter 401 und 402 werden in einem ODER-Gatter 403 verknüpft und dafür verwendet, ein Flip- Flop 404 zu setzen, das die Fallenlassen-Koppler-Nachfrage anzeigt. Wie durch ein Gatter 405 analysiert wird, wird eine Umkehr-Koppler-Nachfrage am Ende der Übertragung von dem FIFO- Puffer ausgelöst, wenn eine Anerkennung nicht erwartet wird und wenn kein hängender Koppler zuvor detektiert wurde. Das Gatter 405 setzt ein Flip-Flop 406, das die Umkehren-Koppler-Nachfrage anzeigt.
  • Das Unvermögen eines Kopplers, innerhalb einer gewissen Zeitdauer fallengelassen zu werden oder umgekehrt zu werden, wird von dem Nachfrage-Anerkennungs-Zeitgeber 155 festgestellt. Dieser Zeitgeber wird immer dann gesetzt, wenn eine Fallenlassen-Koppler- oder Umkehren-Koppler-Nachfrage zuerst ausgelöst wird, wie durch die ODER-Gatter 407, 408, einen Inverter 409 und ein UND-Gatter 410 festgestellt wird. Ein hängender Koppler wird angezeigt, wenn der Nachfrage-Anerkennungs-Zeitgeber 115 abläuft und eine Fallenlassen-Koppler- oder Umgekehren-Koppler-Nachfrage aussteht. Diese Bedingung wird durch das UND-Gatter 411 analysiert. Beim Auftreten eines hängenden Kopplers wird ein Flip-Flop 412 gesetzt, um ein Zeichen für einen hängenden Koppler zu erzeugen, das zu dem Diagnose-Prozessor gesendet wird. Das Flip-Flop 412 erzeugt auch ein Nachfrage-Sperrsignal, das das Flip-Flop 404 über ein NAND-Gatter 413 sperrt und auch das Flip-Flop 406 über die NAND-Gatter 414, 415 und einen Inverter 416 sperrt.
  • Um dem Diagnose-Prozessor die Identifikationsnummer des hängenden Kopplers anzuzeigen, ist ein Register 417 vorgesehen, das in Antwort auf das Hängender-Koppler-Signal vom Gatter 411 geladen wird.
  • Man wende sich nun der Figur 22 zu, wo die Logik zum Detektieren der Änderung in der Zuordnung eines Kopplers zu einem Kanal-Empfänger gezeigt wird. Diese Logik enthält ein Verzögerungs-Flip- Flop 421, das das Signal für den dem Kanal-Empfänger zugeordneten Koppler abtastet, einen Inverter 422 und UND-Gatter 423 und 424.
  • Man wende sich nun der Figur 23 zu, wo ein schematisches Diagramm der Logik für einen Kanal-Sender gezeigt wird. Die Bytes, das Paritätssignal und das Gültigdaten-Signal von der Schaltmatrix 399 der Figur 20 werden in jeweilige Register und Flip-Flops 431, 432 und 433 eingetaktet. Das zwischengespeicherte Gültigdaten-Signal wird mit dem Signal für den dem Kanal-Sender zugeordneten Koppler in einem UND-Gatter 434 verknüpft, um den Start der Übertragung zu signalisieren. Ein Anfangsimpuls wird von einem Verzögerungs- Flip-Flop 435 und einem UND-Gatter 436 erzeugt. Dieser Anfangsimpuls wird einem seriellen Eingang eines Schieberegisters 437 zugeführt, um Abtastsignale für verschiedene Datenbytes am Beginn der Nachricht bereit zustellen, die über den zugeordneten Koppler übertragen wird. Ein Rücksetz-Signal für die Kanal- Sender-Logik wird von einem Inverter 438 und einem ODER-Gatter 439 erhalten, so daß die Sender-Schaltungen immer dann zurückgesetzt werden, wenn ein System-Zurücksetzen auftritt und auch wenn gültige Daten nicht länger von einem Koppler, der dem Kanal-Sender zugeordnet ist, empfangen werden.
  • Die Parität der Datenbytes von dem zugeordneten Koppler wird von einem Paritäts-Fehler-Detektor 440 überprüft. Ein NAND-Gatter 441 überprüft, ob ein Paritätsfehler auftritt, wenn von den Daten angenommen wird, daß sie gültig sind, und wenn das der Fall ist, setzt ein Flip-Flop 442 ein Paritätsfehler-Zeichen, das zum Diagnose-Prozessor gesendet wird.
  • Um die Datenübertragung zu sperren, wenn die Koppler-Identifikations-Nummer in dem Kennzeichen der Nachricht nicht mit der Identifikationsnummer des Kopplers, der tatsächlich dem Kanal- Sender zugeordnet ist, übereinstimmt, erzeugen ein Satz von Exclusiv-ODER-Gattern 243 und ein NAND-Gatter 244 und ein UND- Gatter 245 ein Signal, wenn eine Fehlübereinstimmung auftritt. Wenn das der Fall ist, setzt ein Flip-Flop 246 ein Zeichen, das zum Diagnose-Prozessor gesendet wird.
  • Um zu bestimmen, ob der Kanal-Empfänger eine Anerkennung erwarten sollte haben ein NAK-Decodierer 247 und ein ACK-Decodierer 248 Ausgänge, die in einem UND-Gatter 249 verknüpft werden, um ein Signal zu erzeugen, das anzeigt, ob die Bytes vom Koppler keine positiven oder negativen Anerkennungs-Code enthalten. Da der Kanal-Empfänger einen Anerkennungs-Code erwartet, wenn sein entsprechender Kanal-Sender zuvor eine Nachricht ohne einen Anerkennungs-Code sendet, hat der Schiebe-Register-Zyklus-Zähler 437 einen Ausgangs-Multiplexer 450, der die Abtast-Signale für eine Nachricht auswählt, wenn der Empfänger einen Anerkennungs-Code erwartet.
  • Um eine Übertragung zu sperren, wenn das Ziel-Byte nicht mit der Kanal-Nummer des Kanal-Senders übereinstimmt, ist ein Ziel-Decodierer 451 vorgesehen und sein Ausgang, der auf niedrig ausgegeben wird, wird in einem UND-Gatter 452 mit dem TX-DEST Abtastsignal eingetastet, um das Ziel-Byte mit der tatsächlichen Kanal-Nummer des Kanal-Senders zu vergleichen. Der Ausgang des UND-Gatters 452 setzt einen Flip-Flop 453, um ein Ziel-Fehler- Zeichen zu erzeugen, das zum Diagnose-Prozessor gesendet wird.
  • Im Falle eines Ziel-Fehlers ist es wünschenswert, sogar die Übertragung des allerersten Anfangsabschnitts der Nachricht oder Anerkennung zu verhindern. Für diesen Zweck ist es notwendig, vorübergehend den Anfangsabschnitt der Anerkennung oder Nachricht zu speichern, bis der Ziel-Code überprüft werden kann. Für diesen Zweck ist ein Fünf-Byte-Zuerst-Ein-Zuerst-Aus-Register 454 vorgesehen. Ein solches Register enthält ein Fünf-Bit-Seriell-Schieberegister für jedes der acht Bit in dem Byte.
  • Um ein Signal bereit zustellen, das die Übertragung im Falle sperrt, daß die Nachricht oder die Anerkennung von dem falschen Koppler kommt oder das falsche Ziel bezeichnet, wird ein Flip- Flop 455 durch das TX-RESET gesetzt und mit dem Auftreten von entweder einem Koppler-Fehler oder einem Ziel-Fehler zurückgesetzt, wie es durch das NOR-Gatter 456 angezeigt wird. Zudem ist, um den Anfangszeitpunkt der Übertragung zu bestimmen, ein weiteres Flip-Flop 457 vorgesehen, das durch ein TX-RESET Signal zurückgesetzt wird und das durch ein PRE-XMIT Signal gesetzt wird. Die Übertragung tritt deshalb, wenn überhaupt, mit dem Starten mit dem Zyklus nach der PRE-XMIT Abtastung auf. Während dieses Zyklus, der durch die CAR-XMIT Abtastung angegeben wird, wird ein 55 Hexadezimal Synchronisationscode 458 anstelle der Koppler-Identifikationsnummer in die Nachricht oder die Anerkennung wiedereingesetzt. Für diesen Zweck sind ein Paar von Multiplexer-Gattern 459, 460 vorgesehen. Das Gatter 460 wird durch ein UND-Gatter 461 freigegeben, das den Ausgang der Flip- Flops 455 und 457 verknüpft.
  • In Übereinstimmung mit einem wichtigen Aspekt der vorliegenden Erfindung kann eine ankommende Nachricht in das Fluß-Steuerungs- Träger-Signal eingefügt werden, das zu einer Ziel-Daten-Verarbeitungseinrichtung gesendet wird. In diesem Fall ist es jedoch erwünscht, eine Pause einzufügen, während der der Fluß-Steuerungs- Träger für eine gewisse Zeitdauer vor der Nachricht oder der Anerkennung abwesend ist. Des weiteren ist es am Ende der Übertragung der Nachricht oder der Anerkennung erwünscht, eine Pause nach der Nachricht einzufügen, und zwar in dem Fall, daß die Fluß-Steuerung noch zu diesem Zeitpunkt ein bzw. aktiv ist. Während dieser Pause kann z.B. die Daten-Verarbeitungseinrichtung eine Anerkennung auf die Nachricht hin senden.
  • Um den Fluß-Steuerung-Träger in diesen Fällen zu sperren, ist ein UND-Gatter 462 vorgesehen, das gesperrt wird, wenn der Sender belegt ist, wenn das TX-RESET-Signal auf niedrig ist oder wenn ein erster Zeitgeber, der allgemein mit 463 bezeichnet ist, oder ein zweiter Zeitgeber, der allgemein mit 464 bezeichnet ist, niedrige Logik-Signale erzeugt. Der erste Zeitgeber 463 erzeugt ein niedriges Logiksignal, wenn eine Anerkennung erwartet wird und für Fünftakt-Zyklen danach. Der zweite Zeitgeber 464 erzeugt ein niedriges Logiksignal, wenn die Nachricht oder der Anerkennungs- Code tatsächlich gesendet wird und für fünf Taktzyklen danach. Die Zeitgeber 463 und 464 weisen jeweils entsprechende Drei-Bit- Binär-Zähler 465 bzw. 466 und entsprechende UND-Gatter 467 bzw. 468 auf. Ein ODER-Gatter 469 verknüpft das CAR-XMIT Signal mit dem Ausgang des Gatters 462, um das Gatter 459 für die Übertragung des Trägers freizugeben. Ein ODER-Gatter 470 verknüpft die Freigabe-Signale mit den Multiplexer-Gattern 459 und 460, um ein Signal zum Freigeben der tatsächlichen Übertragung des Trägers entweder im Kopf einer Nachricht oder während der Übertragung von Daten zu erzeugen.
  • Der Parallel-zu-Seriell-Wandler im Manchester-Codierer 147 weist ein Parallel-Lade-Schiebe-Register 471 und ein Exclusiv-ODER-Gatter 472 auf, das den seriellen Datenausgang des Schieberegisters 471 mit dem Schiebetakt moduliert. Der Schiebetakt wird von einem Master-Takt 473 bereitgestellt, der mit der achtfachen Frequenz des internen Byte-Takts läuft. Der interne Byte-Takt 281 wird von einem Drei-Bit-Binär-Zähler bereitgestellt, der von dem Master- Takt getaktet wird. Der Byte-Takt wird von dem Q&sub2;-Ausgang des Zählers 281 erhalten. Um den Parallel-Freigabe-Eingang dem Schieberegister 471 zur Verfügung zu stellen, werden die Ausgänge Q&sub2;, Q&sub1; und Q&sub0; des Zahlers 281 durch ein UND-Gatter 473 verknüpft. Um die Übertragung des Trägers zu sperren, wenn die Fluß-Steuerung aus ist und wenn eine Nachricht oder Anerkennung nicht gesendet wird, wird der Ausgang des ODER-Gatters 470 als ein Gating-Signal dem UND-Gatter 474 zugeführt, das den Ausgang des Exclusiv-ODER- Gatters 472 auftastet.
  • Man wende sich nun der Figur 24 zu, wo ein schematisches Diagramm einer zentralen Schaltlogik zum Antworten auf Nachfragen von den Kanal-Schnittstellen-Leiterplatten gezeigt wird. Diese Logik empfängt die Informationen von Nachfragen niedriger Priorität und die Informationen von Nachfragen hoher Priorität von entsprechenden Ring-Leiterplatten-Prioritätsverteilern hoher bzw. niedriger Priorität, wie obenstehend in Verbindung mit den Figuren 7, 8 und 9 beschrieben wurde.
  • Zum Empfangen einer Nachfrage, die verarbeitet werden soll, enthält die zentrale Schaltlogik ein Eingangs-Register 491, das die Informationen der Nachfragen höherer Priorität empfängt, wenn eine Nachfrage höherer Priorität vorhanden ist, oder ansonsten alle Informationen von Nachfragen niedriger Priorität empfängt. Das Multiplexen der Informationen von Nachfragen mit hoher bzw. niedriger Priorität wird von einem Paar von Gattern 492 und 493 und einem Inverter 494 durchgeführt. Das Eingangs-Register 491 empfängt auch das Signal, das anzeigt, ob eine Nachfrage hoher Priorität vorhanden ist, das Signal, das anzeigt, ob eine Nachfrage niedriger Priorität vorhanden ist, das Signal JT, das anzeigt, ob ein Zeitablauf in den Koppler-Zeitgebern 161 aufgetreten ist, und ein Signal QT, das anzeigt, ob ein Zeitablauf von den Reihen-Zeitgebern 156 aufgetreten ist. Das Eingangs-Register 491 empfängt auch einen Interrupt-Eingang, der mit niedrig vom Diagnose-Prozessor ausgegeben wird.
  • Wenn der Interrupt-Eingang nicht auf niedrig ausgegeben ist und wenn eine neue Nachfrage in das Eingangs-Register 491 eingetastet wird, fängt ein zyklischer Schiebe-Zähler 396 mit dem Zählen an. Der zyklische Schiebe-Zähler gibt die decodierten Ausgänge P0, P1, P2 usw. wieder. Diese Ausgänge werden einer kombinatorischen Logik 497 zugeführt. Der kombinatorischen Logik werden auch einzelne, decodierte Signale von einem Prioritäts-Nachfrage-Decodierer 498 zugeführt, einschließlich der Signale, die eine Dienst- Koppler-Zeitgeber-Nachfrage (SJT), eine Umkehren-Weg-Nachfrage (RP), eine Fallenlassen-Koppler-Nachfrage (DJ), eine Durchverbinden-Nachrichten-Nachfrage (RM), eine Einreihen- Nachricht-Nachfrage (QM) und eine Dienst-Reihen-Zeitgeber-Nachfrage (SQT) einschließen.
  • Der Wert des Interrupt-Signals, der in dem Eingangs-Register 491 gehalten wird, stellt ein Freigabe-Signal (ENA) bereit, das den Diagnose-Steuerbus 120 in den Zentral-Logik-Status-Speicher 153 einmultiplext, indem eine bidirektionale Auftastschaltung verwendet wird, die allgemein mit 499 bezeichnet ist.
  • Der zyklische Schiebe-Zähler 496 zählt in Hintereinanderfolge von P0, P1, usw., bis eines von vielen Verarbeitungsende-Signalen anzeigt, daß die Verarbeitung für eine Nachfrage beendet ist. Die Verarbeitungs-Ende-Signale werden einem ODER-Gatter 500 zugeführt, das auch das RESET System-Signal empfängt. Der Ausgang des ODER-Gatters 500 verursacht, daß der zyklische Schiebe-Zähler auf einen Anfangswert von 1 zurückgesetzt wird, und gibt auch das Takten des Eingangs-Registers 491 frei, um dem Eingangs-Register zu erlauben, eine neue Nachfrage zu empfangen. Zusätzlich wird das Eingangs-Register 491 dafür freigegeben, eine neue Nachfrage zu empfangen, wenn keine Nachfrage in dem Eingangs-Register gespeichert ist. Diese Bedingungen werden von einem NOR-Gatter 502 und einem ODER-Gatter 503 analysiert. Das Signal von dem ODER- Gatter 503 stellt auch ein Ausgeführt- oder Nichtbelegt-Signal zur Verfügung, das als Handshake für das Interrupt-Signal verwenden werden kann.
  • Um ein Signal bereitzustellen, das eine Nachfrage mit hoher Priorität anerkennt, ist ein UND-Gatter 504 bereitgestellt, das das Signal von dem ODER-Gatter 503 durchläßt, wenn eine Nachfrage hoher Priorität verarbeitet wird. Auf ähnliche Art und Weise läßt das UND-Gatter 505 den Ausgang des ODER-Gatters 503 durch, wenn eine Nachfrage niedriger Priorität verarbeitet wird, um ein Anerkennungs-Signal für die Nachfrage niedriger Priorität bereitzustellen.
  • Die kombinatorische Logik 497 bestimmt Eingänge für die Zustands- Register 506, die Ausgänge haben, welche zu der kombinatorischen Logik zurückgeführt sind. Des weiteren kann die kombinatorische Logik den Zentral-Logik-Status-Speicher 153 lesen und auch in den Zentral-Logik-Status-Speicher einschreiben, was insbesondere die Operationen des Setzens einer Nachrichten-Nachfrage in eine Ziel- Reihe und das Entfernen einer Nachrichten-Nachfrage von der Ziel- Reihe umfaßt. Um schnell bestimmen zu können, ob eine Nachrichten-Nachfrage zulässig ist, enthält die kombinatorische Logik eine spezifische Logik 507 zum Bestimmen der zugelassenen Durchverbindung.
  • Man wende sich nun der Figur 25 zu, wo ein schematisches Diagramm des Nachfrage-Prioritäts-Decodierers 498 gezeigt wird. Die Nachfragen werden von jeweiligen UND-Gattern 511, 512, 513, 514, 515, und 516 erzeugt. Alle diese Gatter werden von der Ausgangs-Freigabe-Leitung (OE) aufgetastet.
  • Der Dienst-Koppler-Zeitgeber hat die höchste Priorität, was aus der Tatsache selbstverständlich ist, daß sein Gatter 511 nur zwei Eingänge hat, und der Q&sub4;-Eingang des Nachfrage-Priorität-Decodierers sperrt alle anderen UND-Gatter. Die Umkehren-Weg(RP)-Nachfrage und die Fallenlassen-Koppler(DJ)-Nachfrage haben die höchste Priorität, was aus der Tatsache heraus selbstverständlich ist, daß sie durch den Q&sub2;-Eingang freigegeben werden, der alle anderen UND-Gatter mit Ausnahme des Gatters 512 sperrt, das die Dienst-Koppler-Zeitgeber-Nachfrage erzeugt. Die Durchverbinden- Nachricht (RM) -Nachfrage und die Einreihen-Nachricht(QM)-Nachfrage haben die nächstniedrigere Priorität. Dies ist aus der Tatsache offensichtlich, daß sie durch den Q&sub1;-Eingang freigegeben werden, der nur das UND-Gatter 516 für den Dienst-Reihen-Zeitgeber (SQT) sperrt. Diese Dienst-Reihen-Zeitgeber-Nachfrage (SQT) hat die niedrigste Priorität, da sie durch die Anwesenheit einer der anderen Nachfragen gesperrt wird. Die Nachfrage mit niedriger Priorität verwendet einen Inverter 517, um die Dienst-Reihen- Zeitgeber-Nachfrage zu sperren. Die Nachfragen hoher Priorität verwenden einen Inverter 518, um die Nachfragen niedriger Priorität und die Dienst-Reihen-Zeitgeber-Nachfragen zu sperren. Die Dienst-Koppler-Zeitgeber-Nachfrage verwendet einen Inverter 519, um alle anderen Nachfragen zu sperren. Ein Inverter 520 wird dafür verwendet, zwischen zwei Nachfragen unterschiedlicher Priorität in jeder der Nachfrage-Gruppen hoher bzw. niedriger Priorität auszuwählen.
  • Man wende sich nun der Figur 26 zu, wo ein schematisches Diagramm der Logik, die allgemein mit 507 bezeichnet ist, zum Zulassen eines Durchverbindens gezeigt wird. Das ODER-Gatter 242 erzeugt ein Signal, das angibt, ob die spezifizierte Quelle und das spezifizierte Ziel in zumindest einem virtuellen Stern-Koppler enthalten sind, wie zuvor in Verbindung mit den Figuren 10 und 11 beschrieben wurde. Zudem wird das Durchverbinden nicht erlaubt, wenn das Ziel und die Quelle die gleichen sind oder wenn das Ziel in dem "Rückschleife"-Modus plaziert wurde, wie es durch die Ziel-Status-Tabelle 167 angegeben wird. Ein Zusammentreffen zwischen dem Ziel und der Quelle wird durch einen Satz aus Exclusiv-ODER-Gattern 541 und einem NOR-Gatter 542 detektiert. Ein Inverter 543 verhindert das Durchverbinden von der Quelle zum Ziel im Fall der Rückschleife. Das Durchverbinden wird auch gesperrt, wenn das Ziel nicht existiert.
  • Die Logik für zugelassenes Durchverbinden 507 wird während des P0 Zyklus der zentralen Schaltlogik freigegeben, und ist für sowohl die Durchverbinden-Nachricht-Dienst-Nachfrage als auch für die Einreihen-Nachrichten-Nachfrage freigegeben, wie durch ein ODER- Gatter 544 angegeben wird. Ein NAND-Gatter 545 analysiert das erforderliche Zusammentreffen für das Beenden der Verarbeitung eines Durchverbinden-Nachrichten-Kommandos oder eines Einreihen- Nachrichten-Kommandos. Wenn die Verarbeitung aufgrund eines nicht erlaubten Durchverbindens beendet wird, wird ein Nachrichten- Zurückweisungs-Zeichen gesetzt, um den Diagnose-Prozessor über das nicht erlaubte Durchverbinden zu informieren.
  • Man wende sich nun der Figur 27 zu, wo die kombinatorische Logik für die Nachfragen hoher Priorität gezeigt wird. Im ersten Zyklus der Umkehren-Weg-Nachfrage, wie sie durch ein UND-Gatter 521 analysiert wird, wird der Koppler, der gegenwärtig der Quelle zugeordnet ist, aus der Quellen-Tabelle (168 in Figur 6) gelesen und die Koppler-Identifikationsnummer wird in ein Koppler-Register eingetastet. Dieser Eintrag in der Quellen-Tabelle wird gelöscht, um das bevorstehende Fallenlassen des Kopplers von der Quelle aus anzuzeigen. Die Koppler-Zuordnung wird auch aus der Ziel-Tabelle (169 in Figur 6) gelöscht. Der entsprechende Eintrag in der Koppler-Tabelle (170 in Figur 6) wird auch gelöscht. Zudem wird ein Kommando zum Koppler-Steuerbus gesendet, um den Koppler vom Quellen-Empfänger und Ziel-Sender (ab)fallenzulassen.
  • Der zweite Zyklus der Verarbeitung für die Umkehren-Nachfrage wird von dem UND-Gatter 522 analysiert. Die Koppler-Identifikationsnummer, die in dem Koppler-Register aufbewahrt ist, wird in die Quellen-Tabelle (168 in Figur 6) eingeschrieben. Ähnlich wird diese Koppler-Identifikationsnummer in die Ziel-Tabelle (169 in Figur 6) eingeschrieben, und diese Koppler-Identifikationsnummer wird auch in die Koppler-Tabelle (170 in Figur 6) zusammen mit ihrem zugeordneten Ziel-Empfänger und Quellen-Sender eingeschrieben. Ein Kommando wird auch zum Koppler-Bus übertragen, um den Koppler dem Ziel-Empfänger und dem Quellen-Sender zuzuordnen, und der Umkehren-Koppler-Zeitgeber für den jeweiligen Koppler wird eingeschaltet. Zudem wird das Verarbeitungsende erreicht.
  • Im ersten Zyklus der Dienst-Koppler-Zeitgeber-Nachfrage werden die Quelle und das Ziel für den abgelaufenen Koppler-Zeitgeber in Antwort auf ein Gatter 523 erhalten. In Antwort auf die Gatter 524 und 525 in dem ersten Zyklus der Verarbeitung der Dienst- Koppler-Zeitgeber-Nachfrage oder der Fallenlassen-Koppler-Nachfrage werden die Reihen-Zeiger für die Reihe des nachfragenden Kanals von den Reihen-Zeitgeber-Tabellen (171, 172, 173 in Figur 6) erhalten. In dieser Hinsicht wird das Quellen-Auswahl-Signal (SRC) durch ein Gatter 526 bereitgestellt, und wenn dies ausgeführt wurde, wird das Ziel-Auswahl-Signal (DST) durch den Inverter 527 gesperrt. Es wird darauf aufmerksam gemacht, daß normalerweise der Reihen-Zeiger-Speicher durch eine Ziel-Kanal-Nummer adressiert wird.
  • Ein Inverter 528 und ein Gatter 529 verursachen, daß die Verarbeitung beendet wird, wenn die Quellen-Tabelle (168 in Figur 6) anzeigt, daß ein Koppler nicht zugeordnet ist. Ansonsten geben ein Gatter 530 und ein Inverter 531 die Verarbeitung zur Ausführung frei, wenn die Quellen-Reihe nicht leer ist. Insbesondere wird, um zu bestimmen, ob die Quellen-Reihe leer ist, der Zeiger auf den Kopf der Reihe (der Ausgang der Tabelle 173 in Figur 6) mit dem Zeiger auf das Ende der Reihe (dem Ausgang der Tabelle 173 in Figur 6) verglichen. Wenn der Zeiger auf den Kopf nicht gleich dem Zeiger auf das Ende ist, dann ist die Reihe nicht leer. In diesem Fall wird der Reihen-Zeitgeber für die Quellen- Kanal-Nummer zurückgesetzt und gestartet und ein Fluß-Steuerung- Aus-Kommando wird zum Sender der Kanal-Nummer gesendet, der in dem Kopf der Reihe angezeigt wird.
  • Bei dem zweiten Verarbeitungszyklus für die Dienst-Koppler-Nachfrage oder die Fallenlassen-Koppler-Nachfrage, wie es von einem Gatter 532 anlysiert wird, wird die Verarbeitung beendet, wenn kein Koppler dem Quellen-Kanal-Empfänger zugeordnet ist. Ansonsten wird, wie es von einem Gatter 534 analysiert wird, die Koppler-Status-Tabelle für den zugeordneten Koppler gelesen und die Koppler-Identifikationsnummer wird in ein Register eingetastet.
  • Während des dritten Verarbeitungszyklus für die Dienst-Koppler- Zeitgeber-Nachfrage oder die Fallenlassen-Koppler-Nachfrage, wie es von dem Gatter 535 analysiert wird, wird die Verarbeitung beendet und ein Diagnose-Dienst-Zeichen wird gesetzt, wenn der zugeordnete Koppler inaktiv ist. Der logische Zustand wird vom Inverter 536 und einem UND-Gatter 537 analysiert. Ansonsten werden, wie es von dem Gatter 538 bestimmt wird, die Koppler- Zuordnungs-Bits in den Quellen-Empfänger- und den Ziel-Sender- Status-Tabellen gelöscht, wird das Koppler-Aktiv-Bit aus der Koppler-Status-Tabelle gelöscht und der jeweilige Koppler-Zeitgeber wird gelöscht. Desweiteren wird ein Kommando über den Koppler-Steuerbus gesetzt, um die Verbindung des Kopplers mit dem Quellen-Empfänger und dem Ziel-Sender fallenzulassen, und die Verarbeitung ist beendet. Zudem, wie es von einem Inverter 539 und einem Gatter 540 analysiert wird, wird, wenn es irgendwelche Nachfragen in der Ziel-Nachrichten-Reihe gibt, der Reihen- Zeitgeber für diese Ziel-Reihe gestartet und ein Fluß-Steuerung- Aus-Kommando wird zu dem Kanal-Sender gesendet, der am Kopf der Reihe angezeigt wird.
  • Man wende sich nun der Figur 28 zu, wo die kombinatorische Logik (497 in Figur 24) für das Nachrichten-Einreihen gezeigt ist.
  • Ein Nachrichten-Einreihen kann während der Verarbeitung einer Durchverbinden-Nachrichten-Nachfrage und auch einer Einreihen- Nachrichten-Nachfrage auftreten, wie es durch das ODER-Gatter 551 angegeben wird. Im ersten Zyklus wird die Verarbeitung beendet, wenn das Ziel im Rückschleife-Modus ist, wie durch das Gatter 552 analysiert wird. Ansonsten wird für die Verarbeitung einer Durchverbinden-Nachrichten-Nachfrage der Ziel-Empfänger nach einem Träger-Status abgefragt, wenn die Nachricht nicht durch die Nachrichten-Zurückweisungs-Logik (507 in Figur 26) zurückgewiesen wird. Diese Bedingungen werden von den Invertern 553, 554 und dem Gatter 555 analysiert.
  • Beim zweiten Verarbeitungszyklus eines Durchverbinden- Nachrichten-Kommandos oder eines Einreihen-Nachrichten-Kommandos bestimmt ein ODER-Gatter 556, ob kein wartender Koppler vorhanden ist, eine Einreihen-Nachrichten-Nachfrage verarbeitet wird, der Ziel-Sender dem Koppler zugeordnet ist oder, ob der Ziel- Empfänger einen Träger detektiert hat. Wenn das der Fall ist, und wenn der Quellen-Kanal am Kopf der Ziel-Reihe ist, dann startet ein Gatter 557 den Reihen-Zeitgeber für die Ziel-Reihe erneut und die Verarbeitung wird beendet. Ansonsten wird, wie es von einem Inverter 558 und einem Gatter 559 analysiert wird, wenn die Reihen-Eintrags-Tabelle anzeigt, daß die Quelle in der Ziel-Reihe ist, ein Fluß-Steuerung-Ein-Kommando zu dem Quellen-Empfänger gesendet und die Verarbeitung wird beendet. Ansonsten veranlaßt, wenn die Quelle überhaupt nicht in der Ziel-Reihe ist, was durch den Inverter 560 angezeigt wird, und wenn ein Koppler dem Ziel- Sender zugeordnet ist oder die Reihe nicht leer ist, was von einem Inverter 561 und von einem Gatter 562 analysiert wird, ein Gatter 563, daß die Quellen-Kanal-Nummer in die Ziel-Reihe gesetzt wird. Zudem wird der Reihen-Zeiger aktualisiert und ein Eintrag wird in die Reihen-Eintrags-Tabelle gesetzt, um anzuzeigen, daß die Quellen-Kanal-Nummer in der Ziel-Reihe ist. Auch ein Fluß-Steuerung-Ein-Kommando wird zum Quellen-Kanal-Empfänger gesendet und die Verarbeitung wird beendet.
  • Ansonsten veranlaßt, wenn das Gatter 562 und ein Inverter 564 anzeigen, daß ein Koppler nicht dem Ziel-Sender zugeordnet ist und daß die Ziel-Reihe leer ist, ein Gatter 565, daß die Quellen- Nummer in die Ziel-Reihe gesetzt wird. Zudem wird der Reihen-Zeiger aktualisiert und die Reihen-Eintrags-Tabelle wird in Übereinstimmung mit dem Setzen der Quellen-Nummer in die Ziel-Reihe gesetzt. Auch wird der Zeitgeber für die Ziel-Reihe gestartet, und die Verarbeitung wird beendet.
  • Man wende sich nun der Figur 29 zu, wo eine zentrale, kombinatorische Schaltlogik für das Durchverbinden einer Nachricht gezeigt wird. Beim zweiten Verarbeitungszyklus für eine Durchverbinden- Nachrichten-Nachfrage tritt ein Durchverbinden auf, wenn der Ziel-Empfänger keinen Träger anzeigt, der Sender des Ziels nicht einem Koppler zugeordnet ist und ein Koppler im Wartezustand ist. Diese Bedingungen werden von dem Invertern 571, 572 und von einem Gatter 573 analysiert. Zudem, wenn der Quellen-Kanal in der Ziel- Reihe ist, was weiterhin durch ein Gatter 574 analysiert wird, wird die Quellen-Nummer aus der Ziel-Reihe entfernt, indem der Reihen-Zeiger aktualisiert wird und die Reihen-Eintrags-Tabelle gelöscht wird. Der Reihen-Zeitgeber, der dem Ziel entspricht, wird auch gelöscht.
  • Man wende sich nun der Figur 30 zu, wo ein schematisches Diagramm einer kombinatorischen Logik in der zentralen Schaltlogik zum Bedienen von Reihen gezeigt wird, die abgelaufene Zeitgeber haben. Beim ersten Zyklus, was durch das Gatter 581 analysiert wird, wird die Identifikationsnummer des abgelaufenen Reihen-Zeitgebers gesichert. Auch wird der Eintrag am Kopf der Reihe entsprechend dem abgelaufenen Zeitgeber entfernt, indem der Reihen-Zeiger aktualisiert wird und die Reihen-Eintrags-Tabelle gelöscht wird.
  • Die Verarbeitung einer Dienst-Reihen-Zeitgeber-Nachfrage wird im zweiten Zyklus beendet, wie es durch das Gatter 582 analysiert wird. Ein zusätzliches Gatter 583 bestimmt, ob die Reihe nicht leer ist, und wenn das der Fall ist, wird ein Fluß-Steuerung-Aus- Kommando zu dem Kanal-Empfänger gesendet, der eine Kanal-Nummer hat, die am Kopf der Ziel-Reihe entsprechend der Nummer des abgelaufenen Reihen-Zeitgebers gefunden wird. Der abgelauf ene Reihen-Zeitgeber wird auch zurückgesetzt und gestartet. Dies vervollständigt die Beschreibung der zentralen Schaltlogik.
  • Obenstehend wurde ein verbesserter Computer-Verbinder beschrieben, in dem ein Kanal-Sender und ein Kanal-Empfänger zu einem bestimmten aus einer Vielzahl von Kopplern geschaltet werden. Da eine Anzahl von Kopplern verfügbar ist, wird die Verbindbarkeit und die Bandbreite des Verbinders stark erhöht. Durch Speichern des Anfangsabschnitts der Nachrichten in einem Puffer, während die Nachrichten durchverbunden werden, können existierende Computergerätschaften für den Verbinder verwendet werden. Der Computer-Verbinder modifiziert die Nachrichten nicht, die durch ihn hindurchlaufen, mit der Ausnahme, daß eine leicht erhöhte Übertragungs-Verzögerung durch den Computer-Verbinder verursacht wird.
  • Der Computer-Verbinder kann so programmiert werden, daß er sich verhält, als bestünde er aus einer Anzahl von Stern-Kopplern, und der Satz von Einrichtungen, die mit den Stern-Kopplern verbunden sind, können ohne physikalisches Neuverkabeln alleine durch eine Wiederprogrammierung eines zentralen Logikstatus-Speichers geändert werden. Die Definitionen dieser virtuellen Stern-Koppler können in jedem einer redundanten Anzahl von Verbindern konsistent gemacht werden, indem die Definitionen für die virtuellen Stern-Koppler zwischen den Computer-Verbindern ausgetauscht werden.
  • Durch Verwenden eines rotierenden Prioritätsschemas und auch durch Übertragen der Schlitz-Nummer von der Rückwand zu den Kanal-Schnittstellen-Leiterplatten, kann der Computer-Verbinder stufenweise alleine durch Hinzufügen zusätzlicher Leiterplatten erweitert werden, und es gibt keine Notwendigkeit für eine Wiederprogrammierung, um eine gleiche Zugriffspriorität mit Bezug auf die Computereinrichtungen, die ursprünglich mit dem Verbinder verbunden waren, sicherzustellen. Die logischen Verbindungen und Signalverbindungen zum lmplementieren eines solchen rotierenden Prioritätsschemas werden erheblich vereinfacht, indem die Logik gemäß einer hierarchischen Anordnung unterteilt und dupliziert wird.
  • Da der Computer-Verbinder durch einen Diagnose-Prozessor überwacht wird und da es verschiedene Zeitgeber und Zeichen gibt, die Fehler-Bedingungen anzeigen, kann der Fehler stiftbezogen für eine bestimmte Schaltungs-Leiterplatte bestimmt werden und der Status des Systems zum Zeitpunkt der Diagnose kann in einem nicht-flüchtigen Speicher auf der Leiterplatte gespeichert werden, um dadurch den Reparaturprozeß zu beschleunigen und um gemäß einem höheren Grade sicherzustellen, daß Fehler auf der Leiterplatte repariert werden können, bevor die Leiterplatte wieder installiert wird.
  • Die Fähigkeit des Computer-Verbinders, hohe Belastungs-Zustände zu bewältigen, wird durch das Einreihen von Nachrichten-Nachfragen und durch das Verwenden einer Fluß-Steuerung erleichtert, um erneute Übertragungen zu sperren, bis die Nachrichten-Nachfrage am Kopf der Ziel-Reihe auftritt. Die Fluß-Steuerung ist durch das Einfügen von ankommenden Nachrichten in den Fluß-Steuerung-Träger mit Pausen und durch das Erlauben, daß die eingefügten Nachrichten unter Verwendung des üblichen Nachrichten-Anerkennungs- Protokolls anerkannt werden, effizienter ausgeführt. Nach einem solchen Austausch einer eingefügten Nachricht und ihrer Anerkennung kann die Fluß-Steuerung fortfahren, ohne daß eine erneute Wiederholung der ursprünglichen Nachrichten-Nachfrage erforderlich wäre. Das Einreihen und das Bedienen solcher Nachrichten- Nachfragen ist durch die Verwendung eines Satzes von Reihen- Zeitgebern sehr zuverlässig ausgeführt, die reservierte Kanäle in dem Fall freigeben, daß die Datenverarbeitungseinrichtungen ihre Nachrichten innerhalb einer angemessenen Zeitdauer nicht wiedersenden, nachdem die Fluß-Steuerung ausgeschaltet wurde. Das Gesamtschema des Nachrichten-Durchverbindens, der Einreihung und der Fluß-Steuerung wird noch effizienter, indem eine zentrale Logik bereitgestellt wird, die Dienst-Nachfragen gemäß einem Viel-Niveau-Prioritäts-Schema ausführt, bei dem bestimmte Nachfragen in das gleiche Prioritäts-Niveau eingruppiert sind. APPENDIX I Logische Gleichungen für Kanal-Auswahl-Logik (222 in Figur 9) [für N = 7, um einen von acht Kanälen auszuwählen] Ausgang [addiere 1, mit Modulo-8 Arithmetik, zu jeder Zahl in der obenstehenden Gleichung]

Claims (31)

1. Computer-Verbinder (51) zum Übertragen von Nachrichten zwischen vielen Datenverarbeitungseinrichtungen, von denen jede einen Kommunikationsanschluß hat, wobei die Nachrichten Zieladresse-Daten enthalten, die jeweilige der Datenverarbeitungseinrichtungen bezeichnen, um jeweilige der Nachrichten zu empfangen, wobei der Verbinder enthält: eine Vielzahl von elektronischen Kreuzschienen-Schaltern (87,90) von denen jeder mit einem jeweiligen Kommunikationsanschluß einer zugeordneten der Datenverarbeitungseinrichtungen verbunden ist, um einen Kommunikationskanal (81,85) zum Empfangen von Nachrichten von bzw. zum Senden von Nachrichten zu der zugeordneten der Datenverarbeitungseinrichtungen bereit zustellen, wobei die Kreuzschienen- Schalter eine separate Empfangseinrichtung (84,94) und eine Sendeeinrichtung (97,92) für jeden der Kanäle haben: und eine Vielzahl von Kopplern (86), die mit jedem der Kreuzschienen- Schalter zum Übertragen von Nachrichten zwischen den Kreuzschienen-Schaltern verbunden sind, dadurch gekennzeichnet, daß der Verbinder weiterhin enthält:
eine zentrale Schaltlogik-Einrichtung (144), die mit allen Kreuzschienen-Schaltern zum Zuordnen von Kopplern (86) verbunden ist, um Nachrichten, die an einem der Kreuzschienen-Schalter (87,90) von einer Quellen-Einrichtung aus ankommen, zu einem Kreuzschienen-Schalter (87,90) zu übertragen, der mit einer Ziel-Einrichtung verbunden ist, die durch die Nachrichten bezeichnet wird,
wobei jede der Empfangseinrichtungen (84,94) umfaßt eine jeweilige Einrichtung (301) zum Erhalten der Zieladresse-Daten aus Nachrichten, die über ihren jeweiligen Kanal von ihrer zugeordneten Datenverarbeitungseinrichtung empfangen werden, und eine jeweilige Einrichtung zum Senden einer Dienst-Nachfrage, die die so erhaltenen Zieladresse-Daten enthält, zu der zentralen Schaltlogik-Einrichtung (114), wenn eine Nachricht über ihren jeweiligen Kanal empfangen wird,
wobei die zentrale Schaltlogik-Einrichtung eine Einrichtung zum Annehmen der Zieladresse-Daten enthält, die zu ihr von dieser Einrichtung zum Senden zugesendet werden, die in der Empfangseinrichtung für jeden der Kanäle enthalten ist, wobei die zentrale Logikeinrichtung die Ziel-Einrichtungen, die durch die Nachrichten bezeichnet werden, zum Zuordnen der Koppler identifiziert,
wobei die zentrale Schaltlogik-Einrichtung (114) eine Einrichtung (121), die auf die Dienst-Nachfrage antwortet, zum Zuordnen eines ersten, verfügbaren der Koppler zum Übertragen der Nachricht enthält, und wobei die Einrichtung zum Zuordnen eine Einrichtung zum Anordnen der Dienst-Nachricht in einer Ziel-Reihe (174), wenn alle diese Koppler (86) belegt sind oder wenn ein Koppler verfügbar ist, aber der Ziel-Kanal belegt ist, und eine Einrichtung zum Bestimmen enthält, wann die Übertragung der Nachricht auftreten kann.
2. Computer-Verbinder nach Anspruch 1, wobei jede der Empfangseinrichtungen (84) eine jeweilige Puffereinrichtung (143) zum Speichern von Abschnitten der Nachrichten enthält, die den Zieladresse-Daten nachfolgen, während die jeweilige Sendeeinrichtung die Zieladresse-Daten zu der zentralen Schaltlogik- Einrichtung (144) sendet, wobei die gespeicherten Abschnitte der Nachrichten für die Übertragung verfügbar sind, wenn die zentrale Schaltlogik-Einrichtung jeweilige Koppler zum Übertragen der Nachrichten zuordnet.
3. Computer-Verbinder nach Anspruch 1, der einen Systemtakt enthält, wobei jede Empfangseinrichtung (84) eine jeweilige Einrichtung zum Synchronisieren (142) der Nachrichten mit dem Takt hat.
4. Computer-Verbinder nach Anspruch 1, der eine jeweilige Schaltmatrix (87,90) zum Verbinden der Empfangseinrichtung (84) und der Sendeeinrichtung (97) jedes Kanals mit Kopplern (86) enthält, die von der zentralen Schaltlogik-Einrichtung (144) zugeordnet werden.
5. Computer-Verbinder nach Anspruch 4, der umfaßt eine Einrichtung (406), die auf die Übertragung einer Nachricht an ihr Ziel antwortet, zum Umkehren der Zustände der Schaltmatrizen (87,90) des Nachrichten zuführenden Kanals und des Ziel- Kanals reagiert, so daß der Koppler (86), der für die Übertragung der Nachricht verwendet wird, dazu verwendet werden kann, sofort Daten in der entgegengesetzten Richtung zu übertragen, und
eine Einrichtung (522) zum Übertragen einer Bestätigung über den Koppler in der entgegengesetzten Richtung vom Ziel-Kanal aus zu dem Nachrichten zuführenden Kanal, um die Nachrichten erzeugende Einrichtung mit einer sofortigen Bestätigung zu versehen, daß die Nachricht erfolgreich übertragen wurde.
6. Computer-Verbinder nach Anspruch 1, wobei die zentrale Schaltlogik-Einrichtung eine Einrichtung (121) zum regellosen Empfangen von Nachrichteninformationen von mehreren Kanälen und zum Signalisieren den Empfangseinrichtungen (84) der Nachrichten zuführenden Kanäle aufweist, wenn die Koppler für die Übertragung ihrer jeweiligen Nachrichten zu den jeweiligen Ziel-Kanälen zugeordnet sind.
7. Computer-Verbinder nach Anspruch 1, der einen Zeitgeber (161) zum Trennen eines zugeordneten Kopplers von einem Nachrichten zuführenden Kanal enthält, wenn der Koppler mit dem Kanal über eine vorgegebenes Zeitintervall hinaus verbunden bleibt.
8. Computer-Verbinder nach Anspruch 1, der einen Diagnose-Prozessor (98) und eine Diagnose-Schaltmatrix (99) zum Verbinden des Diagnose-Prozessors mit den Kommunikationskanälen über die Koppler enthält.
9. Computer-Verbinder nach Anspruch 8, in dem die zentrale- Schaltlogik-Einrichtung (144) und jeder der Koordinaten-Schalter (87,90) ein Fehlerzeichen-Register (412) und eine Einrichtung zum Unterbrechen des Diagnose-Prozessors (98) enthält, wenn ein Fehler auftritt, und wobei der Diagnose-Prozessor eine Einrichtung zum Zugreifen auf das Fehlerzeichen-Register in Antwort auf eine solche Unterbrechung enthält.
10. Computer-Verbinder nach Anspruch 1, der aufweist eine Wartungsschleife (103) zum direkten Verbinden der Sendeeinrichtung (97) mit der Empfangseinrichtung (84) für den gleichen Kanal zu Diagnosezwecken, eine Einrichtung (98) zum Zuführen einer Diagnosenachricht zu der Sendeeinrichtung und über die Wartungsschleife zu der Empfangseinrichtung, und eine Einrichtung (98) zum Vergleichen der Diagnosenachricht, die von der Empfangseinrichtung empfangen wird, mit der Diagnosenachricht, die der Sendeeinrichtung zugeführt wird.
11. Computer-Verbinder nach Anspruch 1, der eine Einrichtung (367) zum Anhängen von Daten an jede Nachricht vor der Übertragung auf einem jeweiligen zugeordneten Koppler (86) enthält, die den zugeordneten Koppler identifizieren; und eine Einrichtung (243) zum Überprüfen der angehängten Daten jeder Nachricht enthält, die von einem Koppler aus empfangen wird, auf dem die Nachricht übertragen werden sollte.
12. Computer-Verbinder nach Anspruch 11, der eine Einrichtung (455,456) zum Verhindern der Übertragung aller Abschnitte der Nachrichten zu der Ziel-Einrichtung enthält, wenn die Einrichtung zum Überprüfen bestimmt, daß eine Nachricht von einem Koppler empfangen wird, der unterschiedlich zu dem Koppler ist, über den die Nachricht übertragen werden sollte.
13. Computer-Verbinder nach Anspruch 11, der eine Einrichtung (460) zum Herausholen der angehängten Daten aus jeder empfangenen Nachricht vor der Übertragung der empfangenen Nachricht zur Ziel-Einrichtung enthält.
14. Computer-Verbinder nach Anspruch 1, der für jede Sendeeinrichtung (97) eine Einrichtung (451) zum Detektieren des Vorhandenseins eines Fehlers enthält, indem jede Nachricht, die von einem Koppler (86) aus empfangen wird, überprüft wird, um zu bestimmen, ob die empfangene Nachricht die Ziel-Einrichtung bezeichnet, die mit dem Kanal der Sendeeinrichtung verbunden ist.
15. Computer-Verbinder nach Anspruch 14, der eine Einrichtung (455,456) zum Verhindern der Übertragung der Nachricht zu der Ziel-Einrichtung enthält, wenn die Einrichtung (97) zum Überprüfen bestimmt, daß die empfangene Nachricht die Ziel-Einrichtung nicht bezeichnet, die mit dem Kanal der Sendeeinrichtung (97) verbunden ist.
16. Computer-Verbinder nach Anspruch 1, der einen Koppler-Steuerbus (93) von der zentralen Schaltlogik-Einrichtung (144) aus enthält, der Steuereingänge der Kreuzschienen-Schalter (87,90) in paralleler Beziehung verbindet.
17. Computer-Verbinder nach Anspruch 16, wobei die Kreuzschienen-Schalter Steuereingänge haben, die eine dekodierte Nummer von dem Koppler-Steuerbus (93), die einen bestimmten Koppler bezeichnet, und Signale zum selektiven Schließen und Öffnen eines Schalters empfangen, der mit dem bezeichneten Koppler (86) verbunden ist.
18. Computer-Verbinder nach Anspruch 17, wobei die Signale zum selektiven Schließen und Öffnen ein Einzelbit-Befehlssignal und ein Einzelbit-Zuordnungs/Trenn-Signal enthalten, und wobei die Kreuzschienen-Schalter Register (383,384) enthalten, die von dem Befehlssignal angesteuert werden und die die kodierte Nummer und das Zuordnungs/Trenn-Signal zwischenspeichern.
19. Computer-Verbinder nach Anspruch 1, wobei die Kreuzschienen-Schalter (87,90) auf einer Vielzahl von unterschiedlichen gedruckten Leiterplatten (122,123) angeordnet sind und wobei die Anzahl der Kreuzschienen-Schalter (87,90) auf jeder der Leiterplatten gleich der Anzahl der Koppler (86) ist, die die Kreuzschienen-Schalter miteinander verbinden.
20. Computer-Verbinder nach Anspruch 19, wobei die Anzahl der Koppler gleich acht ist.
21. Computer-Verbinder nach Anspruch 1, wobei die Kreuzschienen-Schalter (87,90) in zumindest einer integrierten Schaltung vorgesehen sind, wobei die integrierte Schaltung schaltende Schaltungen für eine Anzahl von Kreuzschienen-Schaltern bereitstellt und wobei die schaltenden Schaltungen durch die gleiche Anzahl von Kopplern (86) miteinander verbunden sind.
22. Verfahren zum Übertragen von Nachrichten zwischen mehreren Datenverarbeitungseinrichtungen, von denen jede einen Kommunikationsanschluß hat, wobei die Nachrichten, die Zieladresse-Daten enthalten, jeweilige der Datenverarbeitungseinrichtungen bezeichnen, um jeweilige der Nachrichten zu empfangen, wobei jeder der Kommunikationsanschlüsse durch einen jeweiligen Kommunikationskanal (81,85) mit einer jeweiligen Empfangseinrichtung (84) und Sendeeinrichtung (97) eines jeweiligen aus der Vielzahl von elektronischen Kreuzschienen-Schaltern (87,90) verbunden ist, wobei die Kreuzschienen-Schalter durch eine Vielzahl von Kopplern (86) miteinander verbunden sind, wobei das Verfahren aufweist das Senden von Nachrichten über einen jeweiligen Kommunikationskanal (81,85) von dem Anschluß jeder Datenverarbeitungseinrichtung aus zu dem jeweiligen elektronischen Kreuzschienen-Schalter, der durch den jeweiligen Kommunikationskanal mit dem Anschluß der entsprechenden Datenverarbeitungseinrichtung verbunden ist, wobei jede der Nachrichten Adresse-Daten enthält, die das vorgesehene Ziel der Nachrichten identifizieren, und das Übertragen jeder Nachricht von dem Kreuzschienen-Schalter der Nachrichten erzeugenden Einrichtung über einen Koppler zu dem Kreuzschienen-Schalter der Einrichtung, die als das Ziel dieser Nachricht bezeichnet wird, und dann das Übertragen jeder Nachricht von der Sendeeinrichtung (97) des Kreuzschienen-Schalters der Ziel-Einrichtung zu der Ziel-Einrichtung, dadurch gekennzeichnet, daß das Verfahren weiterhin die Schritte aufweist:
Übertragen der Dienst-Nachfrage und der Adresse-Daten, die das vorgesehene Ziel jeder Nachricht identifizieren, von der Empfangseinrichtung des Kreuzschienen-Schalters, der mit der Quellen-Einrichtung verbunden ist, zu der zentralen Schaltlogik- Einrichtung (144) zum Durchverbinden jeder Nachricht durch Zuordnen eines ersten verfügbaren Kopplers der Koppler zum Übertragen jeder Nachricht, wobei die zentrale Schaltlogik-Einrichtung (144) die Dienst-Nachfrage in einer Ziel-Reihe (174) anordnet, wenn alle Koppler belegt sind oder wenn ein Koppler verfügbar ist, aber der Ziel-Kanal belegt ist, Zuordnen des verfügbaren Kopplers von den Kopplern, wenn der erste verfügbare Koppler der Koppler verfügbar wird und die Ziel-Einrichtung nicht belegt ist, und Bestimmen, wann die Übertragung dieser Nachricht auftreten kann,
Verbinden des zugeordneten Kopplers mit den Kreuzschienen- Schaltern der Einrichtung, die die Nachricht erzeugt, und der Einrichtung, die als das gewünschte Ziel der Nachricht identifiziert wird, und
Übertragen der Nachricht von dem Kreuzschienen-Schalter der Nachrichten erzeugenden Einrichtung aus über den zugeordneten Koppler zu der Sendeeinrichtung für die Ziel-Einrichtung.
23. Verfahren nach Anspruch 22, das das Speichern eines Abschnitts jeder Nachricht in einem Puffer (143) enthält, der den Zieladresse-Daten folgt, während die Zieladresse zu der zentralen Schaltlogik gesendet wird, wobei der gespeicherte Abschnitt der Nachricht für die Übertragung verfügbar ist, wenn die zentrale Schaltlogik (144) einen Koppler zum Übertragen jeder Nachricht zuordnet.
24. Verfahren nach Anspruch 22, wobei die Nachrichten asynchron von den vielen Datenverarbeitungseinrichtungen gesendet werden.
25. Verfahren nach Anspruch 22, wobei die Nachrichten, die an einer Empfangseinrichtung (84) ankommen, verzögert werden, um die Nachrichten mit einem Systemtakt zu synchronisieren.
26. Verfahren nach Anspruch 22, das den Schritt des Überprüfens des Formats von Kopfdaten in jeder Nachricht enthält, die von einer Empfangseinrichtung (84) empfangen wird, und das Auswählen eines Kopplers enthält, um diese Nachrichten nur zu senden, wenn das Format der Kopfdaten vorgegebene Eigenschaften erfüllt.
27. Verfahren nach Anspruch 22, das den Schritt des Identifizierens enthält, ob die Nachricht, die an der Empfangseinrichtung (84) ankommt, von der Datenverarbeitungseinrichtung stammt, von der angenommen wird, das sie mit der Empfangseinrichtung verbunden ist, bevor ein Koppler (86) zum Senden der Nachricht ausgewählt wird.
28. Verfahren nach Anspruch 22, das den Schritt des Verifizierens enthält, ob eine Nachricht die Sendeeinrichtung (97) für das gewünschte Ziel erreicht hat, bevor diese Nachricht an die Datenverarbeitungseinrichtung gesendet wird, die mit ihr verbunden ist.
29. Verfahren nach Anspruch 22, das die Schritte des Verbindens des ausgewählten Kopplers (86) mit der Empfangseinrichtung (84) der Nachrichten erzeugenden Einrichtung und der Sendeeinrichtung (97) der Ziel-Einrichtung zum Übertragen jeder Nachricht und dann des sofortige Verbindens des ausgewählten Kopplers mit der Empfangseinrichtung der Ziel-Einrichtung und mit der Sendeeinrichtung der Nachrichten erzeugenden Einrichtung enthält, so daß der Koppler der zum Senden der Nachricht verwendet wird, dazu verwendet werden kann, sofort Daten in der entgegengesetzten Richtung zu senden, und
des Übertragens eines Bestätigungscodes über den Koppler in der entgegengesetzten Richtung von der Ziel-Einrichtung zu der Nachrichten erzeugenden Einrichtung, um die Nachrichten erzeugende Einrichtung mit einer sofortigen Bestätigung zu versehen, daß die Nachricht erfolgreich gesendet wurde.
30. Verfahren nach Anspruch 22, das die Schritte des regellosen Empfangens von Nachrichteninformationen für mehrere Datenverarbeitungseinrichtungen und des Signalisierens den Empfangseinrichtungen (84) für die Nachrichten erzeugenden Einrichtungen enthält, wenn Koppler (86) für die Übertragung ihrer jeweiligen Nachrichten zu den entsprechenden Ziel-Einrichtungen ausgewählt sind.
31. Verfahren nach Anspruch 22, das den Schritt des Abtrennens eines ausgewählten Kopplers (86) von einer Nachrichten erzeugenden Einrichtung enthält, wenn der Koppler mit der Einrichtung über eine vorgegebenes Zeitintervall hinaus verbunden bleibt.
DE88910278T 1987-10-16 1988-10-13 Rechnerverbinder, der querbalkenschalter verwendet. Expired - Fee Related DE3882970T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/109,503 US4845722A (en) 1987-10-16 1987-10-16 Computer interconnect coupler employing crossbar switching
PCT/US1988/003571 WO1989003563A1 (en) 1987-10-16 1988-10-13 Computer interconnect coupler employing crossbar switching

Publications (2)

Publication Number Publication Date
DE3882970D1 DE3882970D1 (de) 1993-09-09
DE3882970T2 true DE3882970T2 (de) 1994-03-17

Family

ID=22328004

Family Applications (1)

Application Number Title Priority Date Filing Date
DE88910278T Expired - Fee Related DE3882970T2 (de) 1987-10-16 1988-10-13 Rechnerverbinder, der querbalkenschalter verwendet.

Country Status (6)

Country Link
US (1) US4845722A (de)
EP (1) EP0335968B1 (de)
JP (1) JP2801015B2 (de)
CA (1) CA1312677C (de)
DE (1) DE3882970T2 (de)
WO (1) WO1989003563A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19845248B4 (de) * 1997-10-02 2006-02-23 National Semiconductor Corp.(N.D.Ges.D.Staates Delaware), Santa Clara Hub für einen universellen seriellen Bus und Verfahren zum Durchführen einer universellen seriellen Busübertragung in demselben

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4985830A (en) * 1988-09-27 1991-01-15 Universities Research Association, Inc. Interprocessor bus switching system for simultaneous communication in plural bus parallel processing system
US4968977A (en) * 1989-02-03 1990-11-06 Digital Equipment Corporation Modular crossbar interconnection metwork for data transactions between system units in a multi-processor system
US4982187A (en) * 1989-11-28 1991-01-01 International Business Machines Corporation Low-end high-performance switch subsystem architecture
US5168570A (en) * 1989-12-29 1992-12-01 Supercomputer Systems Limited Partnership Method and apparatus for a multiple request toggling priority system
US5193187A (en) * 1989-12-29 1993-03-09 Supercomputer Systems Limited Partnership Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers
US5239629A (en) * 1989-12-29 1993-08-24 Supercomputer Systems Limited Partnership Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5024993A (en) * 1990-05-02 1991-06-18 Microelectronics & Computer Technology Corporation Superconducting-semiconducting circuits, devices and systems
JP2575557B2 (ja) * 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション スーパーコンピユータシステム
JP2770936B2 (ja) * 1990-12-18 1998-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション 通信ネットワークおよび通信チャンネルをつくる方法
US5185833A (en) * 1991-02-13 1993-02-09 International Business Machines Corporation Modular active fiber optic coupler system
US5131061A (en) * 1991-02-13 1992-07-14 International Business Machines Corp. Modular active fiber optic coupler system
US5321813A (en) 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
EP0597013B1 (de) * 1991-07-26 1998-12-23 Tandem Computers Incorporated Vorrichtung und verfahren zur vermittlung von datenblöcken
US5410300A (en) * 1991-09-06 1995-04-25 International Business Machines Corporation Distributed crossbar switch architecture
US5388099A (en) * 1992-10-22 1995-02-07 Digital Equipment Corporation Backplane wiring for hub in packet data communications system
US20020091850A1 (en) 1992-10-23 2002-07-11 Cybex Corporation System and method for remote monitoring and operation of personal computers
US5604487A (en) * 1993-07-30 1997-02-18 Lockheed Martin Tactical Systems, Inc. Apparatus and method for user-selective data communication with verification
DE4426123C2 (de) * 1994-07-22 1998-05-20 Siemens Nixdorf Inf Syst Arbitrierung bei verzögernder Buskopplung
DE4429953B4 (de) * 1994-08-24 2012-06-06 Wabco Gmbh Serielles Bussystem
US5721842A (en) 1995-08-25 1998-02-24 Apex Pc Solutions, Inc. Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch
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
US6009092A (en) * 1996-12-24 1999-12-28 International Business Machines Corporation LAN switch architecture
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6636932B1 (en) 1998-05-27 2003-10-21 Micron Technology, Inc. Crossbar switch and control for data networks switching
AU774003B2 (en) 1998-09-22 2004-06-10 Avocent Huntsville Corporation System for accessing personal computers remotely
US6765919B1 (en) * 1998-10-23 2004-07-20 Brocade Communications Systems, Inc. Method and system for creating and implementing zones within a fibre channel system
US6899137B2 (en) * 1999-06-28 2005-05-31 California Institute Of Technology Microfabricated elastomeric valve and pump systems
US6412002B1 (en) 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6418526B1 (en) 1999-11-15 2002-07-09 Ncr Corporation Method and apparatus for synchronizing nodes in massively parallel systems
US6745240B1 (en) 1999-11-15 2004-06-01 Ncr Corporation Method and apparatus for configuring massively parallel systems
US6519697B1 (en) 1999-11-15 2003-02-11 Ncr Corporation Method and apparatus for coordinating the configuration of massively parallel systems
US6628662B1 (en) 1999-11-29 2003-09-30 International Business Machines Corporation Method and system for multilevel arbitration in a non-blocking crossbar switch
US7333489B1 (en) * 2000-05-08 2008-02-19 Crossroads Systems, Inc. System and method for storing frame header data
US7151778B2 (en) 2001-04-18 2006-12-19 Brocade Communications Systems, Inc. Frame filtering of fibre channel packets
US7366194B2 (en) 2001-04-18 2008-04-29 Brocade Communications Systems, Inc. Fibre channel zoning by logical unit number in hardware
US7167472B2 (en) * 2001-04-18 2007-01-23 Brocade Communications Systems, Inc. Fibre channel zoning by device name in hardware
US6836815B1 (en) * 2001-07-11 2004-12-28 Pasternak Solutions Llc Layered crossbar for interconnection of multiple processors and shared memories
CN100454857C (zh) * 2001-08-09 2009-01-21 松下电器产业株式会社 传送装置和传送方法
US7688815B2 (en) * 2003-08-18 2010-03-30 BarracudaNetworks Inc Method and system for a multi-stage interconnect switch
JP4391178B2 (ja) 2003-09-17 2009-12-24 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
US7430203B2 (en) * 2004-01-29 2008-09-30 Brocade Communications Systems, Inc. Fibre channel zoning hardware for directing a data packet to an external processing device
GB0424628D0 (en) * 2004-11-08 2004-12-08 Nokia Corp Communication system
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
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
US7642933B2 (en) 2006-11-30 2010-01-05 Motorola, Inc. Methods and devices for keypress validation in a slider form factor device
US9176919B2 (en) * 2012-06-06 2015-11-03 Honeywell International Inc. Process controller having multi-channel serial communications link
US11349782B2 (en) * 2018-01-15 2022-05-31 Shenzhen Corerain Technologies Co., Ltd. Stream processing interface structure, electronic device and electronic apparatus

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979733A (en) * 1975-05-09 1976-09-07 Bell Telephone Laboratories, Incorporated Digital data communications system packet switch
DE3068177D1 (en) * 1980-06-19 1984-07-19 Ibm Flow control mechanism for block switching nodes
US4396984A (en) * 1981-03-06 1983-08-02 International Business Machines Corporation Peripheral systems employing multipathing, path and access grouping
DE3204900C2 (de) * 1982-02-12 1983-12-15 Siemens AG, 1000 Berlin und 8000 München Koppelanordnung
US4484030A (en) * 1982-04-19 1984-11-20 At&T Bell Laboratories Method and apparatus for identifying faulty communications circuits
US4450572A (en) * 1982-05-07 1984-05-22 Digital Equipment Corporation Interface for serial data communications link
EP0097351A3 (de) * 1982-06-21 1986-02-26 Nec Corporation Wegesucheinheit und Wegesuchnetz zur Bestimmung eines Ausgangsports durch Erkennung eines Teiles eines Eingangspakets
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
JPS59109966A (ja) * 1982-12-15 1984-06-25 Nec Corp クロスバ−スイツチを有する半導体集積回路装置
FR2538976A1 (fr) * 1982-12-29 1984-07-06 Servel Michel Systeme de commutation de paquets synchrones de longueur fixe
CA1199394A (en) * 1983-02-18 1986-01-14 Conrad Lewis Switching system with separate supervisory links
US4547880A (en) * 1983-05-13 1985-10-15 Able Computer Communication control apparatus for digital devices
JPS6016665A (ja) * 1983-07-06 1985-01-28 合資会社八代石油 振動装置付きコンクリ−トポンプホツパ−
DE3338341A1 (de) * 1983-10-21 1985-05-09 Siemens AG, 1000 Berlin und 8000 München Mehrfachbusanordnung fuer die verbindung von prozessoren und speichern in einem mehrprozessorsystem
DE3484101D1 (de) * 1984-01-05 1991-03-14 Ant Nachrichtentech Breitbandkoppelfeld in matrixform.
US4577308A (en) * 1984-04-06 1986-03-18 At&T Bell Laboratories Multiplexed interconnection of packet switching node packages
US4635250A (en) * 1984-04-13 1987-01-06 International Business Machines Corporation Full-duplex one-sided cross-point switch
US4695999A (en) * 1984-06-27 1987-09-22 International Business Machines Corporation Cross-point switch of multiple autonomous planes
US4706150A (en) * 1984-06-29 1987-11-10 International Business Machines Corporation Switching protocal for multiple autonomous switching planes
US4654842A (en) * 1984-08-02 1987-03-31 Coraluppi Giorgio L Rearrangeable full availability multistage switching network with redundant conductors
US4656622A (en) * 1984-09-26 1987-04-07 American Telephone And Telegraph Company Multiple paths in a self-routing packet and circuit switching network
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
US4653085A (en) * 1984-09-27 1987-03-24 At&T Company Telephone switching system adjunct call processing arrangement
US4630258A (en) * 1984-10-18 1986-12-16 Hughes Aircraft Company Packet switched multiport memory NXM switch node and processing method
US4613969A (en) * 1984-11-05 1986-09-23 Gte Communication Systems Corporation Method for controlling a multistage space switching 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
US4752777A (en) * 1985-03-18 1988-06-21 International Business Machines Corporation Delta network of a cross-point switch
JPS61290565A (ja) * 1985-06-19 1986-12-20 Yokogawa Electric Corp 多重プロセツサ結合回路
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
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
US4719459A (en) * 1986-03-06 1988-01-12 Grumman Aerospace Corporation Signal distribution system switching module
US4679190A (en) * 1986-04-28 1987-07-07 International Business Machines Corporation Distributed voice-data switching on multi-stage interconnection networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19845248B4 (de) * 1997-10-02 2006-02-23 National Semiconductor Corp.(N.D.Ges.D.Staates Delaware), Santa Clara Hub für einen universellen seriellen Bus und Verfahren zum Durchführen einer universellen seriellen Busübertragung in demselben

Also Published As

Publication number Publication date
EP0335968A1 (de) 1989-10-11
JPH02501792A (ja) 1990-06-14
EP0335968B1 (de) 1993-08-04
JP2801015B2 (ja) 1998-09-21
WO1989003563A1 (en) 1989-04-20
US4845722A (en) 1989-07-04
CA1312677C (en) 1993-01-12
DE3882970D1 (de) 1993-09-09

Similar Documents

Publication Publication Date Title
DE3882970T2 (de) Rechnerverbinder, der querbalkenschalter verwendet.
DE3850097T2 (de) Rechnerverbinder für gruppen von datenverarbeitungseinrichtungen.
DE69133518T2 (de) Kommunikationsschnittstelle
DE69228960T2 (de) Vermittlungsnetz für Prozessoren
DE69128133T2 (de) Fernmeldenetz
DE3382592T2 (de) Zweifachbusstruktur fuer die rechnerverbindung.
DE69221338T2 (de) Steuervorrichtung für Wiederholerschnittstelle
DE3788601T2 (de) Anordnung zur Datenflussregelung für ein lokales Netz.
DE69123104T2 (de) Melden und Verifizieren von Zustandswechseln in einem Datenverarbeitungsein- / -ausgabesystem
DE68927816T2 (de) Übertragungsprozessor für ein paketvermitteltes netzwerk
DE69735740T2 (de) Asynchrone paketvermittlung
DE69331053T2 (de) Faseroptisches speicherkupplungsystem.
EP0179936B1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
DE60126934T2 (de) Vermittlungssystem
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
EP0393071A1 (de) Hierarchisches arbitrationsystem
DE3506118A1 (de) Verfahren zum betreiben einer datenverarbeitungsanlage fuer kraftfahrzeuge
DE4023471A1 (de) Kommunikationsschnittstellenschaltung in einem steuerungssystem
DE69227996T2 (de) Vorrichtung und verfahren zur vermittlung von datenblöcken
DE68915768T2 (de) Kommunikationssystem.
DE69131997T2 (de) Kommunikationssysteme
EP1881413B1 (de) Kommunikationssystem für den flexiblen Einsatz in unterschiedlichen Einsatzfällen der Automatisierungstechnik
EP0447769A2 (de) Verfahren und Schaltungsanordnung zur Verwaltung gleicher Einheiten sowie Vermittlungselement
DE69030597T2 (de) Zweiweg-Rechnerverbindungssystem mit Steuerung eines Paketspeichers mit vier Anschlussstellen
DE3500254C2 (de) Hochgeschwindigkeits-Parallelbusstruktur und Verfahren zur Datenübertragung

Legal Events

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

Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN

8339 Ceased/non-payment of the annual fee
8370 Indication related to discontinuation of the patent is to be deleted
8339 Ceased/non-payment of the annual fee