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
Links
- 238000012545 processing Methods 0.000 claims description 128
- 230000005540 biological transmission Effects 0.000 claims description 59
- 238000004891 communication Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 12
- 230000011664 signaling Effects 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 56
- 238000010586 diagram Methods 0.000 description 48
- 238000012546 transfer Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 230000000295 complement effect Effects 0.000 description 8
- 125000004122 cyclic group Chemical group 0.000 description 8
- 230000008439 repair process Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000002950 deficient Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 230000008672 reprogramming Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- 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.
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)
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)
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)
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 |
-
1987
- 1987-10-16 US US07/109,503 patent/US4845722A/en not_active Expired - Lifetime
-
1988
- 1988-10-13 DE DE88910278T patent/DE3882970T2/de not_active Expired - Fee Related
- 1988-10-13 EP EP88910278A patent/EP0335968B1/de not_active Expired - Lifetime
- 1988-10-13 WO PCT/US1988/003571 patent/WO1989003563A1/en active IP Right Grant
- 1988-10-13 JP JP63509346A patent/JP2801015B2/ja not_active Expired - Fee Related
- 1988-10-14 CA CA000580155A patent/CA1312677C/en not_active Expired - Fee Related
Cited By (1)
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 |