DE4134012B4 - Computersystem mit mehreren Knoten und Verfahren zum Übermitteln von Informationen in einem Computersystem mit mehreren Knoten - Google Patents

Computersystem mit mehreren Knoten und Verfahren zum Übermitteln von Informationen in einem Computersystem mit mehreren Knoten Download PDF

Info

Publication number
DE4134012B4
DE4134012B4 DE19914134012 DE4134012A DE4134012B4 DE 4134012 B4 DE4134012 B4 DE 4134012B4 DE 19914134012 DE19914134012 DE 19914134012 DE 4134012 A DE4134012 A DE 4134012A DE 4134012 B4 DE4134012 B4 DE 4134012B4
Authority
DE
Germany
Prior art keywords
strobe signal
data
odd
node
numbered
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19914134012
Other languages
English (en)
Other versions
DE4134012A1 (de
Inventor
Steven F. Portland Nugent
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE4134012A1 publication Critical patent/DE4134012A1/de
Application granted granted Critical
Publication of DE4134012B4 publication Critical patent/DE4134012B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Computersystem mit mehreren Knoten, wobei wenigstens ein Quellknoten über wenigstens einen Zwischenknoten mit einem Bestimmungsknoten gekoppelt ist, wobei zumindest der wenigstens eine Zwischenknoten einen Vermittler (2A) zum Vermitteln von zwischen den Knoten ausgetauschten Nachrichten aufweist,
wobei der Vermittler eine Datenkommunikationseinrichtung zum Empfangen und erneuten Senden von Daten zu einem mit dem Vermittler gekoppelten nächsten Vermittler eines nächsten Knotens sowie eine mit der Datenkommunikationseinrichtung gekoppelte Strobe-Signal-Übermittlungseinrichtung zum Empfangen und erneuten Aussenden eines zusammen mit den Daten übertragenen Strobe-Signals aufweist,
wobei das Strobe-Signal dem Vermittler als Taktquelle zum Bestätigen und Takten der Daten dient, wobei jedes Strobe-Signal geradzahlige und ungeradzahlige Flanken aufweist,
dadurch gekennzeichnet,
daß die Strobe-Signal-Übermittlungseinrichtung (1003) ein modifiziertes Strobe-Signal (1212) erzeugt und dem nächsten Vermittler übersendet,
wobei die Strobe-Signal-Übermittlungseinrichtung jede geradzahlige Flanke (1306) des modifizierten Strobe-Signals (1212) neu erzeugt, indem sie die vorausgehende ungeradzahlige Flanke (1302) verzögert.

Description

  • Die Erfindung betrifft ein Computersystem mit mehreren Knoten nach dem Oberbegriff des Patentanspruchs 1 bzw. ein Verfahren zum Übermitteln von Informationen in einem Computersystem mit mehreren Knoten.
  • Im Stande der Technik ist eine Anzahl von Computersystemen mit paralleler Verarbeitung bekannt. Im allgemeinen sind in solchen Systemen viele Prozessoren in einem Netzwerk miteinander verbunden. In einem solchen Netzwerk können alle Prozessoren Befehle parallel verarbeiten. Solche Computersysteme mit paralleler Verarbeitung können generell in zwei Kategorien eingeteilt werden: (1). Systeme mit einem Einzelbefehlsstrom und Mehrfachdatenstrom (SIMD – single instruction multiple data) und (2). Systeme mit Mehrfachbefehlsstrom und Mehrfachdatenstrom (MIMD – multiple instruction multiple data). In einem SIMD-System führen alle Prozessoren gleichzeitig den gleichen Befehl an verschiedenen Daten aus. In MIMD-Systemen kann jeder der Prozessoren einen anderen Befehl an verschiedenen Daten ausführen.
  • Sowohl in SIMD- als auch MIMD-Systemen sind Mittel erforderlich, die eine Kommunikation zwischen den Prozessoren im Computersystem erlauben. Es ist bekannt, daß in solchen Systemen die Prozessoren logisch in einem n-Kubus organisiert werden können. Solche n-Kubus-Systeme sind diskutiert in Herbert Sullivan und T.R. Bashkow, A Large Scale Homogeneous, Fully Distributed Parallel Machine, Proceedings of the 4th Annual Symposium on Computer Architecture, Seiten 105-117, 1977. Sullivan u.a. erörtern eine Anzahl von Zusammenschaltungsstrukturen einschließlich der Zusammenschaltung von Prozessoren in einem Bool'schen n-Kubus. Der beschriebene Bool'sche n-Kubus ist eine Zusammenschaltung von N (N=2n) Prozessoren, welche an den Ecken eines N-dimensionalen Kubus angeordnet gedacht sein können. Sullivan u.a. offenbaren die Lagebestimmung eines Prozessors, welche beschrieben werden kann durch die Kennzeichnung eines Prozessors als Koordinatenursprung mit einer binären Adresse (0,0,...0) von n Bits. Die Positionen der anderen Prozessoren können dann als Binärzahl von n Bits ausgedrückt wer den, in welcher jede Bitposition als eine Koordinate entlang einer der n Dimensionen angesehen wird. Wenn ein Prozessor direkt mit einem anderen verbunden ist, so unterscheiden sich ihre Adressen in einem solchen System nur durch ein Bit. Die Lage dieses Bits zeigt die Richtung im n-Raum an, entlang welcher die Kommunikation zwischen den Prozessoren stattfindet. Folglich unterscheidet sich die Adresse eines Prozessors in Bezug auf einen benachbarten Prozessor nur durch ein Bit.
  • Nach dieser Druckschrift kann in einem solchen System eine relative Adresse durch eine Bit-für-Bit-Summation (modulo 2) der Adressen der zwei Prozessoren berechnet werden. Diese Bit-für-Bit-Summation ist äquivalent zur Exklusiv-ODER-Operation der beiden Adressen. Die Anzahl der Bits ungleich Null in der resultierenden relativen Adresse repräsentiert die Anzahl der Verbindungen, welche zu durchlaufen sind, um von einem Prozessor zu einem anderen zu gelangen.
  • In der US-PS 4 598 400 (Hillis) ist ein ähnliches n-Kubus-Parallelverarbeitungs-Computersystem beschrieben. Dabei ist eine Matrix von Knoten zu einem Muster von zwei oder mehr Dimensionen zusammengeschaltet, und die Kommunikation wird zwischen den Knoten durch Adressen gelenkt, die die Verschiebung der Knoten anzeigen. Insbesondere offenbart Hillis ein System, in welchem ein Nachrichtenpaket von einem Knoten zu einem anderen in einem n-Kubus-Netzwerk geleitet werden kann. Das Nachrichtenpaket enthält eine relative Adreßinformation und zwischen den Knoten auszutauschende Informationen.
  • Viele bekannte Computersysteme mit paralleler Verarbeitung benutzen einen Speicher-und-Weiterleitungs-Mechanismus zum Übermitteln von Nachrichten von einem Knoten zu einem anderen. Das System von Hillis macht von einem solchen Speicher-und-Weiterleitungs-Mechanismus Gebrauch. Speicher-und-Weiterleitungs-Mechanismen sind deutlicher beschrieben in Parviz Kermani und Leonard Kleinrock, Virtual Cut-Through: A new Computer Communication Switching Technique, Computer Networks, Bd. 3, 1979, Seiten 267-268. Kermani u.a. unterscheiden Speicher-und-Weiterleitungs-Systeme von leitungsvermittelten Systemen. Insbesondere wird ein leitungsvermitteltes System beschrieben als ein System, in welchem ein vollständiger Leitweg zur Kommunikation zwischen zwei Knoten errichtet wird, bevor die Kommunikation beginnt. Der Kommunikationsleitweg wird dann während der gesamten Dauer der Kommunikation zwischen den zwei Knoten aufrechterhalten. In Speicher-und Weiterleitungs-(oder Paket-)Vermittlungssystemen werden die Nachrichten zu einem Bestimmungsknoten weitergeleitet, ohne zuvor einen Leitweg zu erstellen. In solchen Systemen wir der Leitweg dynamisch während der Nachrichtenübertragung erstellt, was generell auf der Adreßinformation in der Nachricht basiert. Grundsätzlich werden Nachrichten an Zwischenknoten gespeichert, bevor sie zu einem ausgewählten nächsten Knoten weitergeschickt werden. Kermani u.a. erörtern ferner die Idee der paketvermittelten Systeme. Ein paketvermitteltes System erkennt eine verbesserte Ausnutzung von Resourcen, und eine Reduzierung der Netzwerkverzögerung kann in einigen Netzwerksystemen durch Unterteilung einer Nachricht in kleinere, Pakete genannte Einheiten erreicht werden. In solchen Systemen trägt jedes Paket (anstelle der Nachricht) seine eigene Adreßinformation.
  • Kermani u.a. stellten fest, daß eine zusätzliche Verzögerung in bekannten Systemen hinzutritt, weil eine Nachricht (oder ein Paket) erst nach vollständigem Empfang zur Übersendung von einem Knoten zum nächsten zugelassen wird. Deshalb schlugen Kermani u.a. eine "virtuelles Durchschalten" genannte Möglichkeit zum Errichten eines Kommunikationsleitwegs vor. Das virtuelle Durchschaltsystem ist ein Hybrid aus Leitungsvermittlungs- und Paketvermittlungstechnik, in welchem eine Nachricht die Übertragung über einen hinausführenden Kanal beginnen kann bei Empfang der Leitweg-Information im Nachrichtenpaket und Auswahl eines hinausführenden Kanals. Wenn alle dazwischenliegenden Kanäle besetzt sind, führt dieses System zu Durchsatz zeiten, die exakt die gleichen sind wie in einem Speicher-und-Weiterleitungs-System. Wenn alle dazwischenliegenden Knoten unbesetzt sind, führt dieses System zu Durchsatzzeiten, die ähnlich denen eines leitungsvermittelten Systems sind. Jedoch erfordert das von Kermani u.a. offenbarte System noch eine ausreichende Pufferung, um die Speicherung einer gesamten Nachricht an jedem Knoten zu ermöglichen, wenn alle Kanäle besetzt sind.
  • In "A VLSI Architecture for Concurrent Data Structures", Ph.D. Thesis, Department of Computer Science, California Institut of Technology, Technical Report 5209, März 1986, beschreibt W.J. Dally eine Architektur mit gleichzeitig durchlaufenden Nachrichten, um eine verringerte Nachrichtendurchlaufverzögerung zu erreichen. In Kapitel 3 beschreibt Dally eine symmetrische binäre n-Kubus-Architektur.
  • In Kapitel 5 beschreibt Dally eine Anwendung zur Verringerung der Nachrichtenverzögerung. Grundsätzlich offenbart Dally die Anwendung eines "Wormhole"-Vermittlungsverfahrens, anstelle eines Speicher-und-Weiterleitungs-Verfahrens. Ein "Wormhole"-Vermittlungsverfahren ist durch einen Knoten charakterisiert, der mit dem Weiterleiten jedes Bytes einer Nachricht zum nächsten Knoten bereits beginnt, wenn die Bytes der Nachricht ankommen, und nicht erst auf die Ankunft des gesamten Pakets wartet, bevor die Übertragung zum nächsten Knoten beginnt. Das "Wormhole"-Vermitteln ergibt somit als Nachrichtenverzögerungszeit die Summe von zwei Termen, von denen einer von der Länge L der Nachricht und der andere von der Anzahl D der zu überbrückenden Kommunikationskanäle abhängt. Das Speicher-und-Weiterleitungs-Vermitteln bewirkt Verzögerungen, die von dem Produkt von L und D abhängen (siehe Dally auf Seite 153).
  • Ein weiterer Vorteil eines "Wormhole"-Vermittlungsverfahrens ist, daß die Kommunikation nicht die Speicherbandbreite der zwischenliegenden Knoten aufbraucht. Im Dally-System treten die Pakete nicht mit dem Prozessor oder Speicher der entlang des Leitwegs durchlaufenen Zwischenknoten in Wechselwirkung, sondern verbleiben exakt innerhalb eines Netzwerks von Vermittlungschips bis sie ihr Ziel erreichen.
  • Dally offenbart ein selbstgetaktetes System, das jedem Prozessorknoten das Arbeiten bei seiner eigenen Rate ohne globale Synchronisation ermöglicht (siehe Dally Seite 153).
  • Auf den Seiten 154-157 beschreibt Dally ferner ein Nachrichtenpaket, das Felder mit der relativen X- und Y-Adresse, ein Datenfeld variabler Größe mit einer Mehrzahl von Datenbytes, die nicht gleich Null sind, und ein Abschlußbyte enthält.
  • Ein Computersystem mit den Merkmalen des Oberbegriffs des Patentanspruchs 1 ist aus der GB 2 227 341 A bekannt.
  • Ein System, das durch ein mit den Daten übermitteltes (Strobe-)Signal gesteuert wird, hat eine nur begrenzt erweiterbare Systemtopologie. Diese Begrenzung tritt infolge des Umstandes auf, daß das Taktsignal nicht regeneriert wird, wenn es durch jeden Knoten eines Pfades geleitet wird, wie das bei den Daten der Fall ist. Da das Taktsignal nicht regeneriert wird, ist es für sogenannten Impulsschwund anfällig.
  • Der Impulsschwund tritt auf, wenn ein Signal durch Bauelemente zwischengespeichert wird, die ungleiche Signal-Anstiegs- und Abklingzeiten haben. Der Impulsschwund kann eine schwere Asymmetrie in dem Taktsignal hervorrufen und schließlich zu Datenfehlern führen.
  • Datenfehler können auftreten, wenn die Datenhaltezeiten infolge von Impulsschwund nicht eingehalten werden. Bei der Erfindung wird die Datenhaltezeit durch die Frequenz des Taktgebers garantiert. Niedrigere Frequenzen führen zu mehr Haltezeit. Da die Daten an beiden Flanken des Taktsignals bestätigt werden, erhöht jede Unsymmetrie in diesem Signal die effektive Frequenz und reduziert die verfügbare Datenhaltezeit. Mit wachsender Länge des Leitwegs werden die Wirkungen des Impulsschwunds ausgeprägter und können ggf. Fehler hervorrufen.
  • Aufgabe der Erfindung ist es, ein System zur Verfügung zu stellen, bei dem der Impulsschwund des Taktsignals eliminiert ist.
  • Diese Aufgabe wird erfindungsgemäß durch ein Computersystem mit den Merkmalen des Patentanspruchs 1 bzw. ein Verfahren mit den Merkmalen des Patentanspruchs 7 gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen gekennzeichnet.
  • Die Erfindung sieht in bevorzugter Ausführungsform ein Computersystem vor, das mehrere in einem binären n-Kubus zusammengeschaltete Verarbeitungsknoten aufweist. Jeder Knoten weist Verarbeitungsmittel zur Informationsverarbeitung und Vermittlungsmittel zum Weiterleiten von Informationen zwischen den Knoten in dem n-Kubus auf.
  • Die Erfindung gestattet die Informationsübertragung zwischen Knoten unter der Steuerung eines Taktsignals (clock strobe), das mit den Informationen gesendet wird. Jeder Kanal weist Mittel zur Übertragung von Dateninformationen (sowohl aktueller Nachrichtendaten als auch von Status- und Steuerinformationen) und zur Übertragung von Taktinformationen zum Steuern des Sendens und Empfangens der Dateninformationen auf. Eine Schaltung zum Regenerieren des Flankenwechsels beseitigt die Gefahr des Impulsschwunds durch Regenerieren jeder zweiter Flanke des Taktsignals bei seinem Weiterleiten durch jeden Knoten des Leitwegs. Alle ungeradzahligen Flanken des Taktsignals werden durch die weiterleitende Hardware unverändert gelassen. Sie werden benutzt, um die an jedem Vermittler (Router) empfangenen Daten zu bestätigen und um die Daten zum nächsten Vermittler durchzutakten. Die gepufferten ungeradzahligen Taktflanken werden dann zum nächsten Vermittler gesendet. Bei Empfang einer Nachricht bestätigen die geradzahligen Flanken des Taktsignals die Daten, so daß sie in einem Empfangsregister gespeichert werden können. Dies ist ebenso wie bei den ungeradzahligen Flanken. Jedoch werden die geradzahligen Flanken anders behandelt. Nachdem die Daten in dem Empfangsregister gehalten werden, werden sie zum nächsten Register des Vermittlers mit Hilfe einer modifizierten oder "synthetischen" Taktflanke anstelle der empfangenen geradzahligen Taktflanke weitergetaktet. Die synthetische Taktflanke wird durch Verzögerung der ungeradzahligen Taktflanke um einen Betrag, der etwa der halben Periodendauer des Taktsignals entspricht, erzeugt. Dies ergibt eine ideale zeitliche Anordnung der geradzahligen Flanken und kompensiert jeglichen Impulsschwund, der in der empfangenen Wellenform des Taktsignals vorhanden sein könnte. Im Resultat ist das Taktsignal "regeneriert" und seine Übertragungssymmetrie stimmt von einem Vermittler zum nächsten überein.
  • Im folgenden wird die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. In der Zeichnung zeigen:
  • 1 eine grafische Darstellung eines bei der Erfindung benutzbaren n-Kubus-Netzwerks von Prozessoren;
  • 2A ein Blockschaltbild, das eine erfindungsgemäße Vermittler-Architektur veranschaulicht;
  • 2B ein Blockschaltbild, das die Organisation eines von der Erfindung benutzbaren Status-Leitwegs veranschaulicht;
  • 3 ein Blockschaltbild, das einen physikalischen Kanal zwischen Knoten darstellt;
  • 4A ein Zeitablaufdiagramm, das das Zeitverhalten eines Kanals bei einem Ausführungsbeispiel der Erfindung darstellt;
  • 4B eine Darstellung des Datenformats für das Senden von Daten und Statusinformationen des Ausführungsbeispiels;
  • 4C eine Darstellung eines Formats für das Senden von Statusinformationen bei dem Ausführungsbeispiel;
  • 5 eine grafische Darstellung, die das Errichten eines Nachrichtenleitwegs in einem vernetzten Computersystem veranschaulicht, wie es durch die Erfindung ausgeführt werden kann;
  • 6 eine Veranschaulichung der Bestätigung des Errichtens eines Leitwegs in einem vernetzten Computersystem, wie sie durch die Erfindung ausgeführt werden kann;
  • 7 eine Veranschaulichung der Nachrichtenübertragung in einem vernetzten Computersystem, wie sie durch die Erfindung ausgeführt werden kann;
  • 8 eine Veranschaulichung der Freigabe eines Leitwegs in einem vernetzten Computersystem bei der Erfindung;
  • 9 eine Datenhalte- bzw. Latch-Schaltung in einem typischen Vermittler der Erfindung;
  • 10 ein erstes Ausführungsbeispiel eines erfindungsgemäßen Vermittlers einschließlich einer Taktgeneratorschaltung zur Erzeugung eines Strobe-Signals;
  • 11 ein zweites Ausführungsbeispiel eines Vermittlers mit einer Taktgeneratorschaltung zur Regenerierung des Taktsignals;
  • 12 ein bevorzugtes Ausführungsbeispiel der Taktgeneratorschaltung;
  • 13 ein Zeitablaufdiagramm der Taktgeneratorschaltung.
  • Es wird ein Computersystem mit paralleler Verarbeitung beschrieben. In der folgenden Beschreibung werden zahlreiche spezielle Details angegeben, um das Verständnis für die Erfindung zu erleichtern. Für den Fachmann ist es jedoch offensichtlich, daß die Erfindung auch ohne diese speziellen Details ausführbar ist. In anderen Fällen werden bekannte Schaltungen, Strukturen und Techniken nicht im Detail gezeigt, um die Erfindung nicht mit unnötigen Einzelheiten zu belasten.
  • Beschrieben wird ein direkt verbindendes Vermittlungs- bzw. Routing-System welches für eine verbesserte Leistungsfähigkeit bei bekannten Parallelverarbeitungscomputersystemen sorgt. Der Direktverbindungsmechanismus erhöht die Leistungsfähigkeit in Parallelverarbeitungscomputersystemen durch Verringerung der Nachrichtendurchlaufverzögerung und Steigerung der Knoten-zu-Knoten-Bandbreite und ermöglicht einen gleichzeitigen bidirektionalen Nachrichtenverkehr zwischen zwei beliebigen Knoten.
  • Das Direktverbindungs-Vermittlungssystem ist ein Hardwaregesteuertes Nachrichtensystem, das eine Mehrzahl von Vermittlern aufweist, wobei jeder Vermittler mit einem Verarbeitungsknoten gekoppelt ist. Die Vermittler gestatten einen Austausch von Nachrichten beliebiger Größe zwischen Paaren der Verarbei tungsknoten.
  • Die Vermittler bilden ein leitungsvermitteltes Netzwerk, das dynamisch einen Leitweg (Route) von einem Quellknoten zu einem Bestimmungsknoten erstellt. Der Leitweg bleibt für die Dauer der Nachricht geöffnet. Der Leitweg weist eine Serie von Kanälen auf, die einen einzigen Leitweg vom Quellknoten zum Bestimmungsknoten bilden. Der Leitweg kann durch eine Anzahl von den Leitweg definierenden Zwischenknoten hindurchlaufen. Der Leitweg gestattet die Übertragung von Daten und eines die Übertragung der Daten steuernden Taktes über den gleichen Leitweg.
  • Die Kanäle des bevorzugten Ausführungsbeispiels der Erfindung sind bit-serielle Duplex-Kanäle und schaffen eine Verbindung von einem Knoten zu seinem nächsten Nachbarknoten in einem n-Raum. Im bevorzugten Ausführungsbeispiel unterstützt ein Vermittler Verbindungen für bis zu acht Duplex-Kanäle und kann zur Bildung eines Netzwerks von bis zu sieben Dimensionen mit 128 Knoten zusammengeschaltet werden. Für den Fachmann ist es klar, daß andere Ausführungsbeispiele mit einer größeren oder geringeren Anzahl von Dimensionen und/oder Knoten konstruiert werden können.
  • Jeder der acht Kanäle wird unabhängig vermittelt, was die Vermittlung von bis zu acht Nachrichten gleichzeitig gestattet. In dem bevorzugten Ausführungsbeispiel dient ein ausgewählter Kanal je Vermittler als externer Leitweg in das Netzwerk und gestattet entfernten Geräten, auf die volle Vermittlungsfähigkeit des Netzwerks zuzugreifen.
  • Der Vermittler kommuniziert mit seinen Verarbeitungsknoten über zwei gerichtete parallele Busse.
  • In bevorzugten Ausführungsbeispielen basiert die Vermittlung auf dem von Sullivan u.a. erörterten n-Kubus-Vermittlungsalgorithmus. Dieser Algorithmus garantiert ein von Blockierungen freies Netzwerk. Wie weiter unten detaillierter beschrieben werden wird, werden in der Erfindung die Leitwege dynamisch für jede Nachricht vor ihrer Übertragung konstruiert. Ein komplet ter Leitweg wird in einem schrittweisen Verfahren aufgebaut, in welchem die Abschnitte des Leitwegs ausgehend von dem jeweiligen Vermittler ausgewählt werden. Nachdem ein Leitweg definiert wurde, werden die Kanäle, welche den Leitweg bilden, für die Dauer der Nachricht gehalten. Die Übertragung einer Nachricht beginnt, wenn der Bestimmungsknoten bereit ist, mit dem Empfangen der Nachricht zu beginnen, und die Kanäle werden freigegeben, wenn das Ende der Nachricht die durch den Kanal verbundenen Vermittler passiert.
  • Das Direktverbindungs-Vermittlungssystem der Erfindung ist eine Variante der durch Dally erörterten "Wormhole"-Vermittlung. Erfindungsgemäß wird die Nachricht übertragen, nachdem der Leitweg erstellt ist, im Gegensatz zur Erstellung des Leitwegs als Teil der Übertragung der Nachricht, wie es von Dally erörtert wurde. Dieser Aspekt der Erfindung gestattet es dem System, vollständig synchron zu arbeiten, und reduziert oder eliminiert die Notwendigkeit zur Pufferung für die Durchflußsteuerung in Zwischenvermittlern.
  • In der Erfindung wird ein Vermittlungssondiersignal, das eine relative Adreßinformation enthält, zunächst von Vermittler zu Vermittler im Netzwerk übertragen, um einen Leitweg zwischen einem Ursprungsknoten und einem Bestimmungsknoten zu erstellen. Nachdem der Leitweg erstellt wurde, wird die Nachricht zwischen den beiden Knoten ausgetauscht. Ferner beschreibt die Erfindung eine von der Verarbeitungsschaltung eines Knotens zu unterscheidende separate Schaltung zur Steuerung der Vermittlung. Unter Benutzung dieser Aspekte der Erfindung wird die Nachrichtendurchlaufverzögerung signifikant gegenüber bekannten Systemen reduziert. Wie bereits weiter oben erörtert, benutzen solche bekannten Systeme weitgehend Speicher-und-Weiterleitungs-Paketvermittlungs-Netzwerke.
  • Unter Benutzung der oben beschriebenen Techniken werden die Nachrichten von einem Ursprungsknoten zu einem Bestimmungsknoten mit minimalen Verzögerungen der Vermittlung durch Zwischen knoten weitergeleitet. Ferner erfordert die Weiterleitung der Nachrichten durch Zwischenknoten keine Unterbrechung von Prozessen auf diesen Knoten oder Zwischenspeicherungen zur Durchflußsteuerung an den Zwischenknoten.
  • Das bevorzugte Ausführungsbeispiel der Erfindung implementiert die Vermittler mit Hilfe programmierbarer Gate-Arrays.
  • Das bevorzugte Ausführungsbeispiel weist eine Anzahl von Einplatinenprozessoren oder Knoten auf, die mit bit-seriellen Duplex-Kanälen zu einem Kubus zusammengeschaltet sind, bei dem jeder Knoten N nächste Nachbarknoten hat. Das System hat dann die Dimension N. Das bevorzugte Ausführungsbeispiel weist 128 Knoten auf, wobei N = 7 ist. 1 stellt die hierbei verwendeten Kanal- und Knoten-Benennungen dar. 1 stellt einen Kubus der dritten Dimension dar.
  • Im bevorzugten Ausführungsbeispiel sind den Knoten einmalige Adressen derart zugewiesen, daß sich die Adressen von zwei beliebigen nächsten Nachbarknoten durch ein Bit unterscheiden. Die Adresse des Knotens 0 100 ist 000. Die Adresse des Knotens 1 101, eines nächsten Nachbarns des Knotens 0 100, ist 001.
  • Folglich differieren die Adressen der beiden Knoten nur in einem Bit.
  • Die Erfindung definiert die Dimension des Kanals zwischen zwei Knoten durch Berechnen der binären Exklusiv-ODER-Operation der Adressen der beiden Knoten. Nach Berechnung der binären Exklusiv-ODER-Operation ist die Bitposition, an der eine 1 verbleibt (Bitposition 0, 1 oder 2 im Fall der 1), die Kanalnummer. Beispielsweise ist das Ergebnis der Exklusiv-ODER-Operation von 000 und 001, der Adresse des Knotens 0 100 bzw. der Adresse des Knotens 1 101, gleich 001. Wie man an dem Ergebnis sieht, steht an der Bitposition 0 eine 1. Folglich sind diese beiden Knoten durch einen Kanal verbunden, der als Kanal 0 102 gekennzeichnet ist, weil er die Dimension 0 hat.
  • Obwohl im bevorzugten Ausführungsbeispiel eine relative Adresse am Ursprungsknoten berechnet wird und die relative Adresse zum Erstellen des Leitwegs von Knoten zu Knoten übertragen wird, sind alternative Ausführungsbeispiele denkbar. Beispielsweise kann in einem anderen Ausführungsbeispiel die absolute Adresse des Bestimmungsknotens von Knoten zu Knoten weitergeleitet werden. An jedem Knoten wird dann die relative Adresse auf der Grundlage der absoluten Adresse des Bestimmungsknotens und der Adresse des aktuellen Knotens berechnet. Diese relative Adresse wird benutzt, um den Kanal zu bestimmen, auf welchem zum nächsten Knoten gesendet werden soll.
  • ARCHITEKTUR DES VERMITTLERS
  • 2A veranschaulicht einen Vermittler der Erfindung. Der Vermittler des bevorzugten Ausführungsbeispiels enthält acht unabhängige Vermittlungselemente 201 bis 208 für jeweils einen von acht Eingangskanälen (numeriert von 0 bis 7) 211 bis 218. Die Vermittlungselemente 201 bis 208 erstellen dynamisch Nachrichtenleitwege durch Module des erfindungsgemäßen Computersystems. Jedes Vermittlungselement 201 bis 208 kann jeweils einen von sieben Ausgangskanälen 221 bis 228 treiben. Da mehrere Vermittlungselemente 201 bis 208 denselben Ausgangskanal 221 bis 228 gleichzeitig anfordern können, ist ein Entscheidungsmechanismus 230 zur Lösung von Konflikten vorgesehen.
  • Der Vermittler des bevorzugten Ausführungsbeispiels weist ferner zwei gerichtete parallele Kanäle auf, einen Knotenquellenkanal 231 und einen Knotensenkenkanal 232. Jedes der Vermittlungselemente 201 bis 208 kann den Knotensenkenkanal 232 zur Ausgabe anfordern, und in gleicher Weise kann der Knotenquellenkanal 231 auf alle Ausgangskanäle 221 bis 228 zugreifen.
  • Im bevorzugten Ausführungsbeispiel arbeitet das Vermittlungselement 208 des Kanals 7 als I/O-Port für externe Geräte. Damit wird ein I/O-Gateway in das bzw. aus dem Netzwerk für entfernt liegende Geräte, wie beispielsweise Diskettenantriebe, Grafikgeräte und Echtzeit-I/O-Baugruppen zur Verfügung gestellt. Im bevorzugten Ausführungsbeispiel dient Kanal 7 des Knotens 0 als Schnittstelle zum Leitrechner. Der Kanal 7 der anderen Knoten dient allgemeinen Zwecken und wird im gegenwärtig bevorzugten Ausführungsbeispiel als I/O-Gateway zu Diskettentreibern benutzt.
  • Wie weiter unten detaillierter beschrieben werden wird dient die Erfindung der Vermittlung eines Vermittlungssondiersignals von einem Ursprungsknoten zu einem Bestimmungsknoten. Die Vermittlung des Vermittlungssondiersignals dient der Reservierung eines Leitwegs für die nachfolgende Übertragung einer Nachricht. Dieser reservierte Leitweg kann als ein primärer Nachrichtenleitweg bezeichnet werden.
  • STATUSLEITWEGE
  • Zusätzlich zu den primären Nachrichtenleitwegen liefert das bevorzugte Ausführungsbeispiel einen als Statusleitweg bezeichneten sekundären Leitweg, welcher Statusinformationen vom Bestimmungsknoten zum Quellknoten jeder Nachricht weiterleitet. Im bevorzugten Ausführungsbeispiel wird der Statusleitweg benutzt, um die Flußsteuerung für Nachrichten zu sichern. Um die Statusinformation zwischen den Vermittlern auszutauschen, erfolgt ein Multiplexen der Statusinformationen auf die Kanäle während der Nachrichtenübertragung. In der Abwesenheit von Nachrichten laufen die Statusinformationen kontinuierlich durch.
  • Um das Aufstellen von Statusleitwegen zu unterstützen, weisen die Vermittler des bevorzugten Ausführungsbeispiels eine "Sende-Status"-Logik auf. Diese Statuslogik ist in 2B veranschaulicht. Die "Sende-Status"-Logik gestattet das Zurückleiten von Statusinformationen, die die Bereitschaft des Bestimmungsknotens zum Empfang einer Nachricht anzeigen, vom Bestimmungsknoten über die Zwischenknoten zum Ursprungsknoten. Jeder Vermittler ist in der Lage, Statusinformationen für acht gleichzeitige Nachrichten zu vermitteln. Die "Bestimmungsort bereit"-Statusinformation wird vom Bestimmungsknoten zurück zum Ursprungsknoten über dieselben Zwischenknoten in der der Nachricht entgegengesetzten Richtung weitergegeben.
  • Wie bereits oben erörtert, wird die Statusinformation im bevorzugten Ausführungsbeispiel mit den Daten während der Nachrichtenübertragung zeitlich verschachtelt (Multiplex). Wie man mit Blick auf 2B sieht, wird die "Sende-Status"-Information vom Statusschalter 256 über die Statussendeleitungen 257 zu den Ausgangskanälen 258 geliefert. Diese Statusinformation wird mit den Daten auf den Datenausgangsleitungen Ch0 bis Ch7 251 zeitlich verschachtelt.
  • Wenn kein Nachrichtenverkehr stattfindet, liefert der Statusgenerator 250 die über die Leitungen Ch0 bis Ch7 251 auszusendenden Statusinformationen. Der Statusgenerator 250 liefert das gleiche "Sende-Status"-Signal, wie es an den Vermittler über die Eingangskanäle 259 angelegt wurde, für alle unbesetzten Kanäle. Diese Statusinformationen werden dem Statusgenerator 250 über die "Sende-Status"-Leitungen 254 zur Verfügung gestellt.
  • Für den Fachmann ist es offensichtlich, daß andere Techniken für die Kommunikation der Statusinformationen benutzt werden können. Beispielsweise kann eine direkte Verdrahtung der Knoten zur Kommunikationen der Statusinformationen benutzt werden. Andererseits können explizite Statusnachrichten übertragen werden. Jede dieser Techniken hat verschiedene Vor- und Nachteile.
  • Als Antwort auf den Empfang eines Vermittlungssondiersignals am Bestimmungsknoten sendet der Bestimmungsknoten das "Bestimmungsort fertig"-Signal, indem es durch den Deserialisierer erzeugt und über die Leitung 252 ausgegeben wird. Nachdem es einige Zwischenvermittler durchlaufen hat, trifft das Signal am Serialisierer des Quellvermittlers als ein "Gestatte-Daten"-Steuersignal auf Leitung 253 ein. Das "Gestatte-Daten"-Signal steuert, wie der Name sagt, die Übertragung der Daten vom Serialisierer des Quellvermittlers.
  • BESCHREIBUNG DER KANÄLE
  • Die Kanäle des bevorzugten Ausführungsbeispiels verbinden einen mit einem Knoten gekoppelten Vermittler mit jedem der Vermittler der nächsten Nachbarknoten. Im bevorzugten Ausführungsbeispiel weist jeder Kanal vier Leiter 301 bis 304 auf, wie es in 3 gezeigt ist. Die Benennung der Leitungen in 3 kann mit Bezugnahme auf den Knoten 0 verstanden werden. Die "Strobe-hinaus"-Leitung 301 überträgt das Strobe-Signal aus dem Knoten 0. Die "Daten hinaus"-Leitungen 303 übertragen Datensignale vom Knoten 0. Die "Strobe-hinein"-Leitung 303 ist angekoppelt, um dem Knoten 0 den Empfang des Strobe-Signals zu ermöglichen. Die "Daten-hinein"-Leitungen 304 sind angekoppelt, um den Knoten 0 den Empfang der Datensignale zu ermöglichen. Folglich sind die Leitungen 301 bis 304 als zwei Paare von Leitern für jeden Kanal denkbar; ein erstes Paar aus dem "Strobe-hinaus"-Leiter 301 und den "Daten-hinaus"-Leitern 302 und ein zweites Paar aus dem "Strobe-hinein"-Leiter 303 und den "Daten-hinein"-Leitern 304. Die Paare arbeiten unabhängig voneinander.
  • Die seriellen Daten und die Steuerungs- und Status-Bits werden über die Datenleitungen übertragen. Die Strobe-Leitungen werden benutzt, um die Datenleitungen zu bestätigen, und auch, um eine Taktquelle für die nachfolgenden Vermittler zur Verfügung zu stellen. Wie man mit Blick auf 4A sieht, werden sowohl die ansteigenden Flanken, wie beispielsweise die Flanken 411 und 421, als auch die fallenden Flanken, wie beispielsweise die Flanken 412 und 422, der Strobe-Signale 401 und 403 benutzt, um die Datenleitungen 402 und 404 zu bestätigen.
  • In der Erfindung wird das über die Leitungen 301 und 303 übermittelte Taktsignal benutzt, um die entsprechenden Daten auf den Leitungen 302 bzw. 304 zu takten. Dieses Taktsignal wird mit den Daten über den gesamten Nachrichtenleitweg übertragen. Benutzt man diese Technik des Übertragens eines Taktsignals gemeinsam mit einem Datensignal, so können die Daten stets durch ein einzelnes Taktsignal gesteuert werden, während jeder Knoten (und der dem Knoten zugeordnete Vermittler) mit seinem eigenen Taktsignal arbeiten kann. An einem vorgegebenen Knoten wird ein Kanal durch das mit den empfangenen Daten übermittelte Taktsignal gesteuert.
  • Mit Blick auf 1 sei beispielsweise angenommen, daß Daten vom Knoten 4 (Adresse 100) zum Knoten 1 (Adresse 001) übermittelt werden sollen. Führt man die Exklusiv-ODER-Operation von 100 und 001 aus, ergibt dies eine relative Adresse von 101. Folglich werden die Daten vom Serialisierer des Knotens 4 zum Kanal-0-Vermittlerelement des Knotens 5 weitergeleitet. Dann werden die Daten aus dem Kanal-0-Vermittlungselement des Knotens 5 über den Kanal 2 zum Kanal-2-Vermittlungselement des Knotens 1 weitergeleitet.
  • Während dieses Verfahrens wird ein Taktsignal durch den Serialisierer des Knotens 4 erzeugt, welches mit den Daten über die "Strobe-hinaus"-Leitung 301 gemäß 3 übertragen wird. Dieses Taktsignal wird durch das Kanal-0-Vermittlungselement des Knotens 5 empfangen und benutzt, um das Kanal-0-Vermittlungselement zu steuern. Der Takt wird mit den Daten über Kanal 2 vom Kanal-0-Vermittlungselement weiter übertragen und durch das Kanal-2-Vermittlungselement des Knotens 1 empfangen. Folglich folgt der Takt den Daten während ihrer gesamten Übertragung entlang des Leitwegs.
  • Ein Vorteil der erfindungsgemäßen Vermittlungstechnik gegenüber vollständigen Handshake-Protokollen ist, daß die Technik der Erfindung eine generell höhere Datentransferrate gestattet. Die Transferraten von Handshake-Protokollen sind generell geringer aufgrund der durch die erforderlichen Bestätigungen von Knoten zu Knoten hervorgerufenen Verzögerung und aufgrund der Geschwindigkeitsverringerung durch die physikalisch längeren Kanäle. In der Erfindung eliminiert die Benutzung von FIFO-Pufferspeichern an den Nachrichtenbestimmungsorten und die den Datensignalen durch die Datenübertragung folgenden Taktsignale die Notwendigkeit für Handshake-Protokolle. Folglich ist der Durchsatz keine Funktion der Kanallänge oder der Bestätigungsverzögerung. Die Datenbandbreite des bevorzugten Ausfüh rungsbeispiels beträgt 2,8 Mbytes/s.
  • In der Erfindung werden zwei Status/Steuerungs-Bits auf einer kontinuierlichen, wiederholenden Grundlage zwischen den nächsten Nachbarknoten unabhängig davon, ob eine Nachrichtenübertragung stattfindet, ausgetauscht. Diese Bits sind das "Ende der Nachricht"-Bit (EOM) und das "Status-fertig"-Bit (RDY). Das EOM-Bit zeigt an, daß das letzte Wort der Nachricht übertragen wurde. Dieses Bit wird ignoriert, wenn nicht eine Nachricht in der Ausführung begriffen ist. Das RDY-Bit repräsentiert den Zustand der Bereitschaft des Bestimmungsknotens eines erstellten Leitwegs.
  • Die EOM- und RDY-Bits werden in einem von zwei Formaten ausgetauscht: (1). ein erstes, in 4B dargestelltes Format ermöglicht das Einstreuen des EOM-Bits 431 und des RDY-Bits 432 in eine Datennachricht 430 und (2). ein zweites, in 4C dargestelltes Format ermöglicht die Übertragung des EOM-Bits 441 und des RDY-Bits 442 in Abwesenheit eines Nachrichtenverkehrs.
  • Das erste Format enthält zusätzlich zu den oben erwähnten EOM-Bit 431 und RDY-Bit 432 zwei Bits 433 und 434 zum Anzeigen einer stattfindenden Datennachrichtübertragung und sechzehn Datenbits 435. Im bevorzugten Ausführungsbeispiel sind die zwei Bits 433 und 434 auf 0 gesetzt, um anzuzeigen, daß die Nachricht eine Datenübertragungsnachricht ist.
  • Das zweite, als "status nibble" oder Statuskurzwort bezeichnete Format weist vier Bits auf, das EOM-Bit 441, das RDY-Bit 442 und zwei Bits 443 und 444, die eine Nur-Status-Übertragung anzeigen. Im bevorzugten Ausführungsbeispiel sind diese beiden Bits 443 und 443 auf 1 gesetzt. Während der Übertragung des Statuskurzworts wird das EOM-Bit ignoriert. Statuskurzworte werden von allen Vermittlern bei fehlender Datenübertragung wiederholend übertragen.
  • Das RDY-Bit wird, wenn es empfangen wird, in jedem Vermittler in einem "Bestimmungsort-fertig"-Register gespeichert und für die Flußsteuerung des Systems wie oben beschrieben benutzt.
  • Wie oben gesagt, benutzt die Erfindung zwei "Startbits", 433 und 434 oder 443 und 444, sowohl im Nur-Status- als auch im Datenformat. Zwei Bits werden benutzt, weil die Nachricht in zwei Hälften durch den Vermittler verarbeitet wird. Ungeradzahlige Bits werden unabhängig von den geradzahligen Bits im Vermittler verarbeitet. Dies erlaubt höhere Datentransferraten, als sie anderenfalls im Gate-Array des bevorzugten Ausführungsbeispiels möglich wären.
  • Als ein Vorteil der Einstreuung von Statusinformationen zwischen die Datennachrichten in dem erfindungsgemäßen Nachrichtenformat erweist es sich, daß das Ende einer Nachricht leicht durch Vermittler im Fluge erkannt werden kann. Das eliminiert die Notwendigkeit eines Nachrichtengrößenzählers im Vermittler und entfernt dabei jegliche Begrenzungen für eine maximale Nachrichtengröße. Folglich können die Nachrichten in der Erfindung von jeder beliebigen Größe sein.
  • Jede Nachricht in der Erfindung schließt einen sendenden Knoten und einen empfangenden Knoten ein. Zwischen zwei Knoten existiert nur ein Leitweg für Nachrichten durch das Netzwerk. Die Kombination von Kanälen, die einen Leitweg bilden, wird definiert durch den Binär-Kubus-Vermittlungsalgorithmus, wie er durch Herbert Sullivan und T.R. Bashkow in "A Large Scale Homogeneous, Fully Distributed Parallel Machine", Proceedings of the 4th Annual Symposium on Computer Architecture, Seiten 105-117, 1977, beschrieben ist. Dieser Algorithmus ist ferner beschrieben bei C.R. Lang, Jr., "The Extension of Object-Oriented Languages to a Homogeneous, Concurrent Architecture", Department of Computer Science, California Institute of Technology, Technical Report No. 5014, Mai 1982. Die Benutzung eines solchen Binär-Kubus-Algorithmus garantiert, daß keine ringförmigen Leitwege bei der Nachrichtenvermittlung auftreten und verhindert so ein Auftreten von Blockierungen.
  • Der Algorithmus besagt, daß, um Blockierungen zu vermeiden, Nachrichten in einem binären Kubus in zunehmend höheren Dimensionen weitergeleitet werden, bis der Bestimmungsort erreicht ist. Die oben definierte Kanalnumerierung korrespondiert mit diesen Dimensionen. Die Leitwege können aus zunehmend höher numerierten, aber nicht notwendigerweise angrenzenden Kanälen bestehen. Eine Weiterleitung von Nachrichten von höher numerierten Kanälen zu niedriger numerierten Kanälen (oder Kanälen der gleichen Dimension) ist nicht gestattet. Beispielsweise kann ein Leitweg aus Kanal 0, Kanal 2, Kanal 3 bestehen, was die Vermittler der Knoten 0, 1, 5 und 13 einschließt. In diesem Fall ist der Quellvermittler am Knoten 0, die Zwischenvermittler an den Knoten 1 und 5 und der Bestimmungsortvermittler am Knoten 13.
  • Die erfindungsgemäße Vermittlungsoperation kann in vier Phasen eingeteilt werden: Aufstellen eines Leitwegs, Bestätigung der Bereitschaft des Bestimmungsknotens zum Empfangen einer Nachricht, Nachrichtenübertragung und Lösen der Verbindungen. Um die Vermittlung einer Nachricht zu initiieren, überträgt der Quellknoten mindestens ein 32-Bit-Wort zu seinem Vermittler. Die 16 Bits geringerer Ordnung des ersten 32-Bit-Worts enthalten ein Vermittlungssondiersignal. Das Vermittlungssondiersignal weist Adreßinformationen auf und wird benutzt, um die den Nachrichtenleitweg bildenden Verbindungen durch die Zwischenvermittler zu erstellen. Im bevorzugten Ausführungsbeispiel sind die höherwertigen acht Bits des Vermittlungssondiersignals auf 0 gesetzt.
  • Die niederwertigen acht Bits des Vermittlungssondiersignals werden durch eine Exklusiv-ODER-Operation der binären Adressen des Bestimmungsknotens und des Quellknotens berechnet. Jedes Bit des Vermittlungssondiersignals korrespondiert mit einem Kanal, über welchen die Nachricht vermittelt wird. (Das bevorzugte Ausführungsbeispiel enthält einen binären Kubus der siebten Dimension; das achte Bit wird zur Adressierung des externen I/O-Kanals benutzt.)
  • Das erste Segment des Leitwegs wird erstellt, wenn der Serialisierer im Vermittler der Quelle den Ausgangskanal anfordert, der mit dem Bit niedrigster Ordnung in dem Vermittlungssondiersignal korrespondiert. Durch die Entscheidungslogik wird zwischen Anforderungen für den gleichen Kanal durch verschiedene lokale Anforderer entschieden. Die Entscheidungslogik gestattet jeweils eine Anforderung zu einem Zeitpunkt, wobei sie ein "round robin"-Zuteilungsschema benutzt. Wenn der Kanal bewilligt wird, wird das Vermittlungssondiersignal durch den Quellvermittler ausgesendet, bevor eine Nachrichtenübertragung stattfindet.
  • Wenn beispielsweise zu einem Vermittler ein Vermittlungssondiersignal übertragen wird, in welchem das Bit N das geringwertigste gesetzte Bit ist, wird der Kanal N angefordert. Wenn die Entscheidungslogik den Kanal N bewilligt, wird das Vermittlungssondiersignal zu dem Zwischenvermittler übertragen, der der nächste Nachbar des Quellknotens auf dem Kanal N ist.
  • Im bevorzugten Ausführungsbeispiel speichert der Zwischenvermittler beim Empfangen des Vermittlungssondiersignals dieses Signal und sondert die höherwertigen acht Bits (welche alle gleich 0 sind) aus, wodurch ein kurzes Vermittlungssondiersignal entsteht. Die ausgesonderten Bits werden am Bestimmungsortvermittler rekonstruiert. Das kurze Vermittlungssondiersignal wird zwischen den Zwischenvermittlern ausgetauscht, wobei zusätzliche Segmente des Leitwegs reserviert werden.
  • Die Zwischenvermittler überprüfen die Bits N+1 bis 7 des kurzen Vermittlungssondiersignals zur Bestimmung des geringwertigsten gesetzten Bits. Der mit dem ersten gesetzten Bit korrespondierende Ausgangskanal wird angefordert, während das kurze Vermittlungssondiersignal wartet. Wenn der Ausgangskanal bewilligt ist, wird das kurze Vermittlungssondiersignal zum nächsten Vermittler des Leitwegs übertragen. Wie in 5 dargestellt, wiederholt sich dieses Verfahren, bis das Vermittlungssondiersignal durch den Bestimmungsortvermittler empfangen wird.
  • Bezugnehmend auf 5 soll eine Nachricht vom Quellknoten 2 (binäre Adresse 10) 501 zum Bestimmungsknoten 1 (binäre Adresse 01) 503 eines zweidimensionalen Kubus übertragen werden. Der Quellknoten 501 überträgt ein Vermittlungssondiersignal zu seinem Vermittler 511. Wie oben beschrieben enthält das Vermittlungssondiersignal die relative Adresse von Quell- und Bestimmungsknoten; folglich enthält das Vermittlungssondiersignal in dem Beispiel gemäß 5 die Adresse 11 (10 XOR 01 = 11). In diesem Fall korrespondiert das Bit 0, was gleich 1 ist, mit dem Kanal 0. Folglich fordert wie oben beschrieben das vermittelte Sondiersignal den Kanal 0 zur Übertragung an.
  • Wenn dem Vermittlungssondiersignal der Zugriff zum Kanal 0 bewilligt wird, wird das Vermittlungssondiersignal über Kanal 0 zu dem mit dem Zwischenknoten 502 in Verbindung stehenden Vermittler 512 gesendet. Wie oben beschrieben fordert der erfindungsgemäße Vermittlungsalgorithmus den Vermittler 512 auf, das Vermittlungssondiersignal auf einem Kanal einer höheren Ordnung als der des Kanals, auf dem es empfangen wurde, auszusenden. Folglich beginnt der Vermittler 512 die bitweise Überprüfung der Bits des Vermittlungssondiersignals mit dem Bit in der Bitposition 1 (das Vermittlungssondiersignal wurde durch den Vermittler 512 auf Kanal 0 empfangen). Nach dem Auffinden des ersten auf 1 gesetzten Bits erfolgt eine Anforderung des dem auf 1 gesetzten Bit entsprechenden Kanals. In diesem besonderen Beispiel ist das erste auf 1 gesetzte Bit in der Bitposition 1 und eine Anforderung erfolgt für den Kanal 1.
  • Das Vermittlungssondiersignal wird über den Kanal 1 zu dem mit dem Bestimmungsknoten 503 in Verbindung stehenden Vermittler 513 übertragen. Der Vermittler 513 überprüft das Vermittlungssondiersignal beginnend mit den Bits von höherer Dimension als der des Kanals, auf dem das Vermittlungssondiersignal empfangen wurde. Im dargestellten Beispiel sind alle verbleibenden Bits gleich 0. Folglich erkennt der Vermittler 513, daß das Vermittlungssondiersignal seinen Endbestimmungsort erreicht hat.
  • Der Vermittler 513 erweitert das Vermittlungssondiersignal um acht auf 0 gesetzte Bits, um dessen Originalzustand wiederherzustellen. Wenn der Vermittler am Bestimmungsort eine Nachricht aufnehmen kann, signalisiert er ein Bestätigungssignal (das RDY-Bit).
  • Damit beginnt die Bestätigungsphase der Vermittlungsoperation. Die Bestätigungsphase erfordert, daß eine determinierte Verbindung vom Bestimmungsortvermittler zurück zu dem Quellvermittler zum Zwecke der Übertragung der Flußsteuerungsinformationen hergestellt wird. Diese wird der "Statusleitweg" genannt und folgt exakt durch die gleichen Zwischenknoten wie der Nachrichtenleitweg, allerdings in der entgegengesetzten Richtung vom Bestimmungsknoten zum Quellknoten.
  • Wenn beispielsweise bei einem Zwischenvermittler eine Nachricht vom Eingangskanal 2 zum Ausgangskanal 4 geleitet wird, so wird für den Statusleitweg eine Verbindung vom Eingangskanal 4 zum Ausgangskanal 2 hergestellt. Die Verbindungen des Statusleitwegs werden ebenso wie die des Nachrichtenleitwegs für die Dauer der Nachricht aufrechterhalten.
  • 6 veranschaulicht die Bestätigungsphase der erfindungsgemäßen Vermittlungsoperation. In 6 entspricht der Knoten 601 dem Knoten 501 von 5; der Vermittler 611 entspricht dem Vermittler 511; der Knoten 602 dem Knoten 502 usw.. Die 7 und 8 weisen ähnliche Benennungskorrespondenzen auf.
  • Wie in 6 gezeigt, wird eine Bestätigung vom Vermittler 613 (entspricht Bestimmungsknoten 1 603) über Kanal 1 zum Zwischenvermittler 612 gesendet. Der Zwischenvermittler 612 schickt die Bestätigung zum Ursprungsvermittler 611 über Kanal 0 weiter, wo sie durch Knoten 2 601 empfangen wird. Für den Fachmann ist es klar, daß die RDY-Statusinformation in einem der oben erörterten Formate übertragen wird. Folglich können Nachrichteninformationen von einem anderen Ursprungsknoten gleichzeitig mit den Statusinformationen über den gleichen Kanal übertragen werden. Wenn es keine Anforderungen zur Benutzung des gleichen Kanals gibt, wird ein Statuskurzwort (wie oben erörtert) übertragen.
  • Wenn das RDY-Bit schließlich den Quellknoten 611 erreicht, beginnt die Nachrichtenübertragungsphase. Der Quellvermittler kann die Daten kontinuierlich in das Netzwerk (in dem oben beschriebenen Format) übertragen, bis das Ende der Nachricht gesendet oder eine "Nicht-bereit"-Anzeige über den Statusleitweg empfangen wird. Im bevorzugten Ausführungsbeispiel werden die Nachrichten in den Zwischenvermittlern nicht gepuffert.
  • Wie man mit Blick auf 7 sieht, wird die Nachrichteninformation vom Knoten 2 701 zum Vermittler 711 und dann aus dem Serialisierer des Vermittlers 711 gesendet. Die Machrichteninformation wird dann über den reservierten Leitweg (Kanal 0 bis zum Zwischenvermittler 712, Kanal 1 bis zum Bestimmungsortvermittler 713) übertragen. Am Vermittler 713 wird die Nachricht dann deserialisiert und zum Bestimmungsknoten 703 übertragen.
  • Wenn der Quellvermittler 711 während der Übertragung der Nachricht eine "Nicht-bereit"-Anzeige über den Eingangskanal 0 empfängt, bricht er die Übertragung der Nachricht ab und überträgt Statuskurzworte. Wenn wieder eine Bereitschaftsanzeige auf dem Eingangskanal 0 empfangen wird, beginnt der Quellvermittler erneut die Übertragung der Nachricht. Im bevorzugten Ausführungsbeispiel speichert der Vermittler des Bestimmungsorts alle Nachrichteninformationen, welche zu der Zeit unterwegs sind, zu der die "Nicht-bereit"-Anzeige aktiv ist. Folglich bleiben, wenn eine Nachricht durch eine "Nicht-bereit"-Anzeige gedrosselt wird, keine Datenbits im Netzwerk gespeichert, sondern in dem FIFO-Pufferspeicher des Vermittlers am Bestimmungsort. Dieses Verfahren der Drosselung der Nachrichtenübertragung durch Empfangen einer Anzeige, daß der Bestimmungsknoten nicht bereit ist, und durch Unterbrechen der Übertragung der Nachricht in Antwort auf eine solche Anzeige sichert die Flußsteuerung im erfindungsgemäßen Netzwerk.
  • Nach Abschluß der Übertragung einer Nachricht hängt der Quellvermittler ein Prüfsummenwort an die Botschaft an. Das Datenformat, welches das Prüfsummenwort enthält, weist ein gesetztes EOM-Bit auf. Die Prüfsumme liefert ein Mittel zum Überprüfen der Vollständigkeit der Nachricht, um ggf. auftretende Hardwarefehler zu erkennen.
  • Wie in 8 gezeigt, veranlaßt die Übertragung eines Wortes mit gesetztem EOM-Bit den Quellvermittler 811 den für die Nachricht reservierten Ausgangskanal (Kanal 0) freizugeben. An jedem Zwischenvermittler im Leitweg (Vermittler 812 im dargestellten Beispiel) wird der für die Nachrichten reservierte Kanal freigegeben, wenn das Wort mit dem gesetzten EOM-Bit übertragen wurde. Diese Kanäle sind dann für die Verwendung für andere Nachrichten frei.
  • Wenn ein Wort mit gesetztem EOM-Bit am Vermittler 813 des Bestimmungsorts empfangen wird, wird angenommen, daß die begleitende Dateninformation die Prüfsumme für die Nachricht ist. Die Prüfsummeninformation wird zum Überprüfen der Vollständigkeit der Nachricht benutzt. Da die Prüfsummeninformation kein Teil der Originalnachricht ist, wird sie durch den Vermittler 813 am Bestimmungsort abgeschält. Das Ergebnis wird für weitere Untersuchungen am Bestimmungsknoten 803 gespeichert.
  • Wie weiter oben beschrieben, werden die Strobe-Leitungen benutzt, um die Datenleitungen zu bestätigen, und auch, um eine Taktquelle für einen nachfolgenden Vermittler zur Verfügung zu stellen. Sowohl die ansteigenden als auch die fallenden Flanken werden benutzt, um die Daten zu bestätigen. Die ansteigenden und fallenden Flanken können als geradzahlige und ungeradzahlige Flanken bezeichnet werden, da die Richtung der Übertragung des Strobe-Signals äquivalent in beiden Richtungen realisiert werden kann. 9 stellt ein System dar, das ein Strobe-Signal in dieser Weise benutzt. In 9 ist eine Mehrzahl von Latch-Schaltungen oder Auffangspeichern (901, 902), dargestellt. Diese Speicher werden benutzt, um das Vermittlungssondiersignal so zu halten, wie es durch den Vermittler empfangen wurde. Jede Latch-Schaltung ist, wie in 9 gezeigt, mit einer Strobe-Leitung 903 und einer Datenleitung 904 gekoppelt. Die Vielzahl der Latch-Schaltungen (901, 902) ist logisch in zwei Reihen eingeteilt; eine ungeradzahlige Reihe 901, die durch eine ungeradzahlige Flanke des auf der Strobe-Leitung 903 erscheinenden Strobe-Signals getriggert wird, und eine geradzahlige Reihe 902, die auf eine geradzahlige Flanke des Strobe-Signals getriggert wird. Auf diese Weise können die Bits des Vermittlungssondiersignals sowohl bei ansteigenden als auch fallenden Flanken des Strobe-Signals gehalten und gespeichert werden. Das Strobe-Signal auf Strobe-Leitung 903 wird verstärkt, um ein Strobe-Ausgangssignal 905 herzustellen, welches mit jedem der Vermittler des Netzwerks gekoppelt ist. Dieses gemeinsame Strobe-Signal wird benutzt, um eine synchrone Datenübertragung zwischen den Vermittlern zu schaffen.
  • Das System zum Verbinden einer Vielzahl von Vermittlern mit einer gemeinsamen Strobe-Leitung, wie es in 9 dargestellt ist, kann Anlaß für eine Einschränkung der Anzahl der so verbundenen Vermittler sein. Nachdem das Strobe-Signal auf Strobe-Leitung 903 an eine Anzahl von Vermittlern angelegt und durch sie verstärkt wurde, kann das Strobe-Signal dem Impulsschwund unterworfen sein. Der Impulsschwund tritt auf, wenn ein Signal durch Geräte zwischengespeichert wurde, welche unterschiedliche Anstiegs- und Abfallzeiten haben. Der Impulsschwund kann eine schwere Asymmetrie in dem Strobe-Signal hervorrufen und schließlich Datenfehler bewirken.
  • In den 10 und 11 ist ein verbessertes Verfahren zur Lieferung eines gemeinsamen Strobe-Signals für eine Vielzahl von Vermittlern dargestellt. Diese verbesserten Mittel und Verfahren werden hier als Strobe-Flankenwechsel-Regenerierung bezeichnet. Die Schaltung zur Regenerierung der wechselnden Flan ken beseitigt das Problem des Impulsschwunds durch Regenerierung jeder zweiten Flanke des Strobe-Signals beim Durchlaufen jedes Vermittlers. Alle geradzahligen Flanken des Strobe-Signals werden modifiziert durch die Vermittler-Hardware, während die ungeradzahligen Flanken des Strobe-Signals unverändert zum nächsten Vermittler weitergesendet werden. Für den Fachmann ist es klar, daß die ungeradzahligen Flanken mit den ansteigenden Flanken eines Signals zusammenfallen können, während die geradzahligen Flanken mit den fallenden Flanken eines Signals korrespondieren. In ähnlicher Weise kann die umgekehrte Konfiguration äquivalent realisiert werden; d.h., geradzahlige Flanken können mit ansteigenden Flanken eines Signals zusammenfallen, während ungeradzahlige Flanken mit den fallenden Flanken eines Signals korrespondieren.
  • 10 stellt ein erstes Ausführungsbeispiel der Strobe-Flankenwechsel-Regenerierung dar. 11 stellt ein zweites alternatives Ausführungsbeispiel dar.
  • In 10 ist eine Vielzahl von Latch-Schaltungen 1001, 1002 gezeigt. Diese Latch-Schaltungen sind ähnlich den in 9 dargestellten und werden zum Empfangen und Speichern des Vermittlungssondiersignals benutzt. Wie auch in 9 ist die Datenleitung 904 mit jeder Latch-Schaltung gekoppelt.
  • Die Strobe-Leitung 903 ist mit den Latch-Schaltungen 1001 und 1002 und mit einer Generatorschaltung für einen synthetischen Takt 1003 in zwei äquivalenten Weisen, wie sie in einem ersten Ausführungsbeispiel in 10 und in einem zweiten Ausführungsbeispiel in 11 dargestellt sind, verbunden. Das verbesserte System weist eine Generatorschaltung für einen synthetischen Takt 1003 auf, die zum Modifizieren des über Strobe-Leitung 903 übertragenen Strobe-Signals benutzt wird. Der Aufbau und die Arbeitsweise des synthetischen Taktgenerators 1003 ist unten beschrieben und in 12 dargestellt.
  • Im folgenden wird wieder auf 10 Bezug genommen. Die Strobe-Leitung 903 ist direkt mit den ungeradzahligen Latch- Schaltungen 1001 und direkt mit dem synthetischen Taktgenerator 1003 gekoppelt. Die Strobe-Leitung 903 ist auch direkt verbunden mit der ersten geradzahligen Latch-Schaltung des Satzes von geradzahligen Latch-Schaltungen 1002. Die verbleibenden geradzahligen Latch-Schaltungen 1002 sind mit der Ausgangsseite 1004 der synthetischen Taktgeneratorschaltung 1003 gekoppelt. Durch Koppeln der Latch-Schaltungen mit der Strobe-Leitung 903, wie es in in 10 dargestellt ist, treiben die ungeradzahligen Flanken des Strobe-Signals die Latch-Schaltungen 1001 direkt (wie sie auf der Strobe-Leitung 903 empfangen wurden) an, während die modifizierten geradzahligen Flanken, die durch den synthetischen Taktgenerator 1003 hergestellt wurden, alle außer der ersten der geradzahligen Latch-Schaltungen 1002 antreiben. In ähnlicher Weise werden die modifizierten geradzahligen Flanken des Strobe-Signals, wie sie durch den synthetischen Taktgenerator 1003 ausgegeben werden, verstärkt, um ein Strobe-Ausgangssignal 1005 herzustellen, welches dann zum nächsten Vermittler gesendet wird. Dieses Verfahren der Modifizierung des Strobe-Signals benutzt eine wechselnde Flankenregeneration, die den Impulsschwund eliminiert.
  • In 11 ist ein zweites Ausführungsbeispiel der Strobe-Schaltung dargestellt. In 11 ist die Strobe-Leitung 903 direkt mit dem synthetischen Taktgenerator 1003 verbunden. Zusätzlich ist die Strobe-Leitung direkt mit der ersten ungeradzahligen Latch-Schaltung des Satzes von ungeradzahligen Latch-Schaltungen 1001 und der ersten geradzahligen Latch-Schaltung des Satzes der geradzahligen Latch-Schaltungen 1002 verbunden. Anschließend sind alle Latch-Schaltungen auf der ungeradzahligen Seite 1001 und auf der geradzahligen Seite 1002 mit der Ausgangsseite 1004 des synthetischen Taktgenerators 1003 verbunden. Wie es in diesem zweiten Ausführungsbeispiel konfiguriert und in 11 dargestellt ist, wird sowohl die unmodifizierte, ungeradzahlige Flanke des Strobe-Signals als auch die modifizierte, geradzahlige Flanke des Strobe-Signals durch die Ausgangsseite 1004 des synthetischen Taktgenerators 1003 angelegt. Dieses zweite Ausführungsbeispiel ist funktionell dem ersten in 10 gezeigten Ausführungsbeispiel äquivalent. Das modifizierte Strobe-Signal wird verstärkt, um ein Strobe-Ausgangssignal 1005 herzustellen, welches zum nächsten Vermittler weitergeleitet wird. Bei Benutzung entweder der Konfiguration des ersten oder der des zweiten Ausführungsbeispiels verhindert der synthetische Taktgenerator 1003 eine Verfälschung der durch die Latch-Schaltungen 1001 und 1002 empfangenen Daten durch einen Impulsschwund des Strobe-Signals in den Vermittlern des Netzwerks.
  • In 12 ist ein bevorzugtes Ausführungsbeispiel des Generators des synthetischen Taktes 1003 dargestellt. Die Schaltung 1003 schließt Verzögerungsbauelemente, Flipflop-Bauelemente und logische Bauelemente ein, welche jeweils unabhängig voneinander bekannt sind. Die Strobe-Leitung 903 liefert das einzige Eingangssignal für den synthetischen Taktgenerator 1003. Im bevorzugten Ausführungsbeispiel der Erfindung ist das auf der Strobe-Leitung 903 anliegende Strobe-Signal ein low-aktives Signal, welches einen aktiven Impuls bei Auftreten einer fallenden Flanke initiiert. Für den Fachmann ist es klar, daß ein äquivalentes alternatives Ausführungsbeispiel realisiert werden kann, bei dem das Strobe-Signal ein high-aktives Signal ist, das einen aktiven Impuls durch eine fallende Flanke initiiert.
  • Anfänglich sind die Flipflop-Bauelemente FF1 1203 und FF2 1204 im zurückgesetzten Zustand nachdem ein Rücksetzsignal 1320 an den Löscheingang der beiden Flipflops 1203 und 1204 angelegt wurde. Sowohl FF1 als auch FF2 gibt ein auf low gesetztes Q-Signal aus, wenn es zurückgesetzt ist. Da der Q-Ausgang 1215 des FF2 1204 low ist und das Signal auf Leitung 1211 anfänglich high ist, ist der Ausgang des Gatters 1205 low. Wenn das Reset-Signal 1320 entfernt wird (auf low geht), wird folglich der Löscheingang 1216 des FF1 1203 inaktiv. Ein Zeitablaufdiagramm des Rücksetzsignals 1320 ist in 13 dargestellt.
  • Wiederum bezugnehmend auf 12 und 13 ist das Strobe-Signal auf der Strobe-Leitung 903 anfänglich in einem high-Zustand. Folglich verbleibt, nachdem das Strobe-Signal am Takteingang von FF1 1203 invertiert wurde, der Ausgang Q 1212 des FF1 1203 in einem zurückgesetzten Zustand. Die Verzögerungskomponenten 1201 und 1202 werden zur Verzögerung sowohl der ansteigenden als auch der fallenden (ungeradzahligen und geradzahligen) Flanken des Signals benutzt, wenn sie durch diese Komponenten hindurchgehen. Die Verzögerungskomponenten 1201 und 1202 sind dem Fachmann gut bekannt.
  • Wenn eine fallende Flanke 1302 auf der Strobe-Leitung 903 auftritt, empfangen beide Verzögerungskomponenten 1201 und 1202 die fallende Flanke etwa zur gleichen Zeit. Nach einer Verzögerung von j Nanosekunden (j und k sind positive Zahlen) wechselt das an FF1 1203 angelegte Taktsignal 1210 in einen aktiven Zustand, was den Q-Ausgang 1212 von FF1 1203 zu einem Wechsel in den high-Zustand veranlaßt, wie das durch die ansteigende Flanke 1304 in 13 gezeigt ist.
  • Wiederum bezugnehmend auf 12 wird das Ausgangssignal Q 1212 des FF1 1203 ebenfalls invertiert und durch den Takteingang von FF2 1204 empfangen. Wenn der Ausgang Q 1212 des FF1 1203 in einen low-Zustand geht, wird der Takteingang 1212 für FF2 1204 aktiv. Wenn jedoch der Löscheingang 1211 zum FF2 1204 high ist, verbleibt der Ausgang Q 1215 des FF2 1204 low.
  • Nach einer Verzögerung von j + k Nanosekunden in bezug auf den Zeitpunkt der fallenden Flanke 1302 des Strobe-Signals 903 erscheint eine fallende Flanke auf der Ausgangsseite 1211 des Verzögerungsgliedes 1202. Dieses Signal mit fallender Flanke auf Leitung 1211 wird sowohl an das Gatter 1205 als auch an den Löscheingang des FF2 1204 angelegt. Wenn das Signal auf Leitung 1211 in einen low-Zustand wechselt, sind beide Eingänge des Gatters 1205 low. Da beide Eingänge des Gatters 1205 low sind, wechselt das durch das Gatter 1205 erzeugte Ausgangssignal 1214 in einen high-Zustand. Dieser high-Zustand auf Leitung 1214 wird durch Gatter 1241 weitergeleitet und dient zur Löschung des FF1 1203, wobei ein Wechsel des Q-Ausgangssignals 1212 des FF1 1203 von einem high-Zustand zu einem low-Zustand bewirkt wird. Folglich erscheint eine fallende Flanke am Ausgang 1213 des synthetischen Taktgenerators. Diese synthetische fallende Flanke 1306 ist in 13 dargestellt. Da der Löscheingang des FF2 1204 inaktiv ist und der Takteingang 1212 jetzt aktiv, wechselt der Q-Ausgang 1215 des FF2 1204 in einen high-Zustand. Dieser Wechsel dient dazu, das Löschsignal 1216 des FF1 1203 inaktiv zu machen, so daß es nicht aktiv ist, wenn der nächste ansteigende Wechsel auf Leitung 1210 empfangen wird.
  • Faßt man die Arbeitsweise der in 12 dargestellten Schaltung zusammen, bewirkt folglich eine fallende Flanke auf Strobe-Leitung 903 ein Ansteigen des Ausgangssignals Q 1212 des FF1 1203 nach j Nanosekunden. Dies kann auftreten, weil der Löscheingang des FF1 1203 gesperrt ist. Nach j+k Nanosekunden wechselt das auf Leitung 1211 an das Gatter 1205 angelegte Signal in einen low-Zustand, wobei der Löscheingang 1216 des FF1 1203 gesetzt wird. Dieses Löschsignal dient zum Rücksetzen von FF1 1203, was das Erscheinen der synthetischen fallenden Flanke auf der synthetischen Strobe-Ausgangsleitung 1213 hervorruft. FF2 1204 entfernt dann das Löschsignal von FF1 1203, was sichert, daß FF1 1203 auf den nächsten Wechsel des Strobe-Signals von low nach high antworten kann.
  • Unter Benutzung eines bevorzugten Ausführungsbeispiels der in 12 dargestellten und oben beschriebenen synthetischen Taktgeneratorschaltung kann ein synchrones Strobe-Signal an eine unbegrenzte Anzahl von Vermittlern in einem Netzwerk mit paralleler Verarbeitung ohne die Gefahr eines Datenverlustes infolge einer auf der Strobe-Leitung auftretenden Impulsschwundbedingung angelegt werden.
  • Somit wurde ein verbessertes Parallelverarbeitungscomputersystem mit einer Takt-Flankenwechsel-Regenerierung beschrieben.

Claims (11)

  1. Computersystem mit mehreren Knoten, wobei wenigstens ein Quellknoten über wenigstens einen Zwischenknoten mit einem Bestimmungsknoten gekoppelt ist, wobei zumindest der wenigstens eine Zwischenknoten einen Vermittler (2A) zum Vermitteln von zwischen den Knoten ausgetauschten Nachrichten aufweist, wobei der Vermittler eine Datenkommunikationseinrichtung zum Empfangen und erneuten Senden von Daten zu einem mit dem Vermittler gekoppelten nächsten Vermittler eines nächsten Knotens sowie eine mit der Datenkommunikationseinrichtung gekoppelte Strobe-Signal-Übermittlungseinrichtung zum Empfangen und erneuten Aussenden eines zusammen mit den Daten übertragenen Strobe-Signals aufweist, wobei das Strobe-Signal dem Vermittler als Taktquelle zum Bestätigen und Takten der Daten dient, wobei jedes Strobe-Signal geradzahlige und ungeradzahlige Flanken aufweist, dadurch gekennzeichnet, daß die Strobe-Signal-Übermittlungseinrichtung (1003) ein modifiziertes Strobe-Signal (1212) erzeugt und dem nächsten Vermittler übersendet, wobei die Strobe-Signal-Übermittlungseinrichtung jede geradzahlige Flanke (1306) des modifizierten Strobe-Signals (1212) neu erzeugt, indem sie die vorausgehende ungeradzahlige Flanke (1302) verzögert.
  2. Computersystem nach Anspruch 1, dadurch gekennzeichnet, daß die Strobe-Signal-Übermittlungseinrichtung die ungeradzahlige Flanke (1302) derart verzögert und invertiert, daß sie die neu erzeugte geradzahlige Flanke (1306) etwa in der Mitte zwischen zwei benachbarten ungeradzahligen Flanken (1304, 1309) erzeugt.
  3. Computersystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein ungeradzahliger Teil der Daten (auf 904) von ungeradzahligen Flanken des eingehenden Strobe-Signals (auf 903) und ein geradzahliger Teil der Daten von den geradzahligen Flanken des modifizierten Strobe-Signals (auf 1004) getaktet wird.
  4. Computersystem nach Anspruch 3, dadurch gekennzeichnet, daß die Datenkommunikationseinrichtung (10) aufweist: erste Latch-Speicher (1002) zum Empfangen eines geradzahligen Teils der Daten und des modifizierten Strobe-Signals, wobei die ersten Latch-Speicher (1002) von den geradzahligen Flanken des modifizierten Strobe-Signals getaktet werden und mit der Strobe-Signal-Übermittlungseinrichtung gekoppelt sind; und zweite Latch-Speicher (1001) zum Empfangen des ungeradzahligen Teils der Daten und des eingehenden Strobe-Signals, wobei die zweiten Latch-Speicher (1001) von den ungeradzahligen Flanken des eingehenden Strobe-Signals getaktet werden.
  5. Computersystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Daten sowohl an den ungeradzahligen als auch an den geradzahligen Flanken des modifizierten Strobe-Signals getaktet werden, wobei jede ungeradzahlige Flanke des modizierten Strobe-Signals im wesentlichen einer zugehörigen ungeradzahligen Flanke des eingehenden Strobe-Signals entspricht, wobei die Strobe-Signal-Übermittlungseinrichtung eine Einrichtung zum Erzeugen jeder geradzahligen Flanke des modifizierten Strobe-Signals durch Verzögern der zugehörigen ungeradzahligen Flanke des eingehenden Strobe-Signals aufweist.
  6. Computersystem nach Anspruch 5, dadurch gekennzeichnet, daß die Datenkommunikationseinrichtung (11) aufweist: erste Latch-Speicher (1002) zum Empfangen eines geradzahligen Teils der Daten und des modifizierten Strobe-Signals, wobei die ersten Latch-Speicher (1002) von den geradzahligen Flanken des modifizierten Strobe-Signals getaktet werden und mit der Strobe-Signal-Übermittlungseinrichtung gekoppelt sind; und zweite Latch-Speicher (1001) zum Empfangen eines ungeradzahligen Teils der Daten und des modifizierten Strobe-Signals, wobei die zweiten Latch-Speicher (1001) von den ungeradzahligen Flanken des modifizierten Strobe-Signals getaktet werden und mit der Strobe-Signal-Übermittlungseinrichtung gekoppelt sind.
  7. Verfahren zum Übermitteln von Informationen in einem Computersystem mit mehreren Knoten von wenigstens einem Quellknoten über wenigstens einen Zwischenknoten zu einem Bestimmungsknoten, wobei jeder Knoten einen Vermittler zum Vermitteln von Informationen zwischen den Knoten aufweist, wobei jeder Vermittler eine Taktregenerierungsschaltung (1003) zum Modifizieren von Taktsignalen mit geradzahligen und ungeradzahligen Flanken aufweist, wobei (a) Daten und Taktsignale von einem ersten benachbarten Vermittler zu einem Zwischenvermittler des wenigstens einen Zwischenknotens übertragen werden; (b) jede ungeradzahlige Flanke des eingehenden Taktsignals verzögert wird, um eine zugehörige geradzahlige Flanke eines modifizierten Taktsignals zu erzeugen; und (c) die von wenigstens einer Flanke des modifizierten Taktsignals getakteten Daten an einen zweiten benachbarten Vermittler eines zweiten benachbarten Knotens übertragen werden.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß ein geradzahliger Teil der an den Zwischenvermittler übermittelten Daten unter Verwendung jeder geradzahligen Flanke des modifizierten Taktsignals latch-gespeichert wird; und daß ein ungeradzahliger Teil der an den Zwischenvermittler übermittelten Daten unter Verwendung jeder ungeradzahligen Flanke des eingehenden Taktsignals latch-gespeichert wird.
  9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß ein geradzahliger Teil der an den Zwischenvermittler übermittelten Daten unter Verwendung jeder geradzahligen Flanke des modifizierten Taktsignals latch-gespeichert wird; und daß ein ungeradzahliger Teil der an den Zwischenvermittler übermittelten Daten unter Verwendung jeder ungeradzahligen Flanke des modifizierten Taktsignals latch-gespeichert wird.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß als ungeradzahlige Flanke des modifizierten Taktsignals eine im wesentlichen unveränderte Version der zugehörigen ungeradzahligen Flanke des eingehenden Taktsignals verwendet wird.
  11. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß jede geradzahlige Flanke des modifizierten Taktsignals durch eine Strobe-Signal-Schaltung als verzögerte Version jeder ungeradzahligen Flanke des eingehenden Taktsignals erzeugt wird.
DE19914134012 1990-10-15 1991-10-14 Computersystem mit mehreren Knoten und Verfahren zum Übermitteln von Informationen in einem Computersystem mit mehreren Knoten Expired - Fee Related DE4134012B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59707390A 1990-10-15 1990-10-15
US597073 1990-10-15

Publications (2)

Publication Number Publication Date
DE4134012A1 DE4134012A1 (de) 1992-04-16
DE4134012B4 true DE4134012B4 (de) 2005-10-27

Family

ID=24389979

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19914134012 Expired - Fee Related DE4134012B4 (de) 1990-10-15 1991-10-14 Computersystem mit mehreren Knoten und Verfahren zum Übermitteln von Informationen in einem Computersystem mit mehreren Knoten

Country Status (4)

Country Link
DE (1) DE4134012B4 (de)
GB (1) GB2249243B (de)
HK (1) HK56595A (de)
SG (1) SG10795G (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329855C (zh) * 2003-11-14 2007-08-01 华为技术有限公司 针对包转发引擎的微内核

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US4783791A (en) * 1986-04-16 1988-11-08 Hitachi, Ltd. Multiple reproducing repeater station system
GB2227341A (en) * 1989-01-18 1990-07-25 Intel Corp Message routing in a multiprocessor computer system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PH21918A (en) * 1983-07-25 1988-04-08 Ciba Geigy Ag N-(2-nitrophenyl)-5-aminopyrimidine derivatives,the preparation and use thereof
US4670871A (en) * 1985-06-27 1987-06-02 American Telephone And Telegraph Company, At&T Bell Laboratories Reliable synchronous inter-node communication in a self-routing network
US4933933A (en) * 1986-12-19 1990-06-12 The California Institute Of Technology Torus routing chip

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
US4783791A (en) * 1986-04-16 1988-11-08 Hitachi, Ltd. Multiple reproducing repeater station system
GB2227341A (en) * 1989-01-18 1990-07-25 Intel Corp Message routing in a multiprocessor computer system

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
DALLY, W.J.:" A VLSI Architecture for Concurrent Data Structures", Ph.D. Thesis, Department of Computer Science, California Institut of Technolo- gy, Technical Report 5209, März 1986
DALLY, W.J.:" A VLSI Architecture for Concurrent Data Structures", Ph.D. Thesis, Department of Computer Science, California Institut of Technolo-gy, Technical Report 5209, März 1986 *
KERMANI, P., KLEINROCK, L.: "Virtual Cut-Throuh: A new Computer Communication Switching Technique", Computer Networks, Bd.3, S. 267-268, 1979
KERMANI, P., KLEINROCK, L.: "Virtual Cut-Throuh: A new Computer Communication Switching Technique",Computer Networks, Bd.3, S. 267-268, 1979 *
LANG, C.R.Jr.:" The Extension of Object-Oriented Languages to a Homogeneous, Concurrent Architectu- re", Department of Computer Science, California Institute of Technology, Technical Report No.5014, Mai 1982
LANG, C.R.Jr.:" The Extension of Object-Oriented Languages to a Homogeneous, Concurrent Architectu-re", Department of Computer Science, California Institute of Technology, Technical Report No.5014,Mai 1982 *
SULLIVAN, H., BASHIKOW, T.R.: "A Large Scale Homogeneous, Fully Distributed Parallel Machine", Proceedings of the 4th Annual Symposium on Compu- ter Architecture, S. 105-117, 1977 *

Also Published As

Publication number Publication date
GB2249243A (en) 1992-04-29
GB9118463D0 (en) 1991-10-16
HK56595A (en) 1995-04-21
DE4134012A1 (de) 1992-04-16
GB2249243B (en) 1994-10-05
SG10795G (en) 1995-09-01

Similar Documents

Publication Publication Date Title
DE69735740T2 (de) Asynchrone paketvermittlung
DE602006000516T2 (de) Architektur eines Kommunikationsknoten in einem global asynchronen Netzwerk on-chip-System
DE3533847C2 (de) Weglenkendes Paketvermittlungs-Koppelfeld mit stufeninterner Paketübertragung
DE69832884T2 (de) Wegesucheinheit mit zuteilung von virtuellen kanälen
DE60126934T2 (de) Vermittlungssystem
DE3533845C2 (de) Weglenkende Paket-Vermittlungsanlage mit Mehrfachwegen
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
DE3752370T2 (de) Vermittlungssystem
DE602006000515T2 (de) Global asynchrone Kommunikationsarchitektur für ein System auf einem integrierten Schaltkreis
EP1941674B1 (de) Teilnehmer und kommunikationscontroller eines kommunikationssystems und verfahren zur realisierung einer gateway-funktionalität in einem teilnehmer eines kommunikationssystems
DE69133518T2 (de) Kommunikationsschnittstelle
DE60111551T2 (de) Mechanismus zur vervollständigung von nachrichten im speicher
DE60119068T2 (de) Warteschlangen-resynchronisation: synchrone aktualisierung eines verteilten vermittlungssystems in echtzeit
DE3700492C2 (de)
EP2127329B1 (de) Filterung von redundanten frames in einem netzwerkknoten
DE69837609T2 (de) Kommunikationsnetz
DE102005048581B4 (de) Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
DE102007017835A1 (de) Paketvermittlungsvorrichtung und lokales Kommunikationsnetz mit einer solchen Paketvermittlungsvorrichtung
EP0351014B1 (de) Koppelfeld für ein Vermittlungssystem
EP3151474B1 (de) Verfahren zur datenkommunikation mit reduziertem overhead in einem echtzeitfähigen ethernet-datennetzwerk
DE60118385T2 (de) Verfahren und vorrichtung zur übertragung von paketen in einem speicher
DE69921360T2 (de) Verteilung von nachrichten durch fluten
DE60014178T2 (de) Vorrichtung und verfahren zur speicherteilung in einer konfiguration mit einzelring-datenbusverbindung
DE4134012B4 (de) Computersystem mit mehreren Knoten und Verfahren zum Übermitteln von Informationen in einem Computersystem mit mehreren Knoten
DE69735546T2 (de) Paketvermittelte leitweglenkung-architektur für mehrere gleichzeitige verbindungen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20110502