-
Querverweise
auf verwandte Anmeldungen
-
Der
Gegenstand dieser Anmeldung ist mit dem Gegenstand der folgenden
Anmeldungen verwandt:
Anmeldung Seriennummer 08/605,677, US-5
959 995-A, mit dem Titel "ASYNCHRONOUS
PACKET SWITCHING",
eingereicht am 22. Februar 1996 von Thomas M. Wicki, Patrick J.
Helland, Takeshi Shimizu, Wolf-Dietrich Weber und Winfried W. Wilcke;
Anmeldung
Seriennummer 08/605,676, US-5 740 346-A, mit dem Titel "SYSTEM AND METHOD
FOR DYNAMIC NETWORK TOPOLOGY EXPLORATION", eingereicht am 22. Februar 1996 von
Thomas M. Wicki, Patrick J. Helland, Wolf-Dietrich Weber und Winfried
W. Wilcke;
Anmeldung Seriennummer 08/603,880, US-5 892 766-A,
mit dem Titel "METHOD
AND APPARATUS FOR COORDINATING ACCESS TO AN OUTPUT OF A ROUTING
DEVICE IN AN PACKET SWITCHING NETWORK", eingereicht am 22. Februar 1996 von
Jeffrey D. Larson, Albert Mu und Thomas M. Wicki;
Anmeldung
Seriennummer 08/604,920, US-6 003 064-A, mit dem Titel "CROSSBAR SWITCH AND METHOD
WITH REDUCED VOLTAGE SWING AND NO INTERNAL BLOCKING DATA PATH", eingereicht am
22. Februar 1996 von Albert Mu und Jeffrey D. Larson;
Anmeldung
Seriennummer 08/603,913, US-6 003 064-A, mit dem Titel "FLOW CONTROL PROTOCOL SYSTEM
AND METHOD", eingereicht
am 22. Februar 1996 von Thomas M. Wicki, Patrick J. Helland, Jeffrey
D. Larson, Albert Mu und Raghu Sastry und Richard L. Schober, Jr.;
Anmeldung
Seriennummer 08/603,911, US-5 768 300-A, mit dem Titel "INTERCONNECT FAULT
DETECTION AND LOCALIZATION METHOD AND APPARATUS", eingereicht am 22. Februar 1996 von Raghu
Sastry, Jeffrey D. Larson, Albert Mu, John R. Slice, Richard L.
Schober, Jr., und Thomas M. Wicki;
Anmeldung Seriennummer 08/603,923,
US-5 931 967-A, mit dem Titel "METHOD
AND APPARATUS FOR DETECTION OF ERRORS IN MULTIPLE-WORD COMMUNICATIONS", eingereicht am
22. Februar 1996 von Thomas M. Wicki, Patrick J. Helland und Takeshi
Shimizu;
Anmeldung Seriennummer 08/603,822, US-Patent 5 615
161, mit dem Titel "CLOCKED
SENSE AMPLIFIER WITH POSITIVE SOURCE FEEDBACK", von Albert Mu.
-
Technisches Gebiet der
Erfindung
-
Diese
Erfindung bezieht sich auf asynchrone und plesiochrone Kreuzschienenschaltsysteme
und -verfahren auf Paket-Basis.
-
Hintergrund
-
Besondere
bekannte Router-Systeme, die Knoten in einem Computernetz verbinden,
sind in der Latenz limitiert, da es erforderlich ist, dass jedes
Router-Element das Vorliegen eines gesamten Pakets vor der Initiierung
einer Ausgangstransmission auch nur eines ersten Abschnitts des
Pakets feststellen muss. Viele solche Router-Systeme werden ferner durch
eine Blockierung an Router-Ausgabe-Ports behindert, der durch die
Komplexität
der Entscheidung eines Zugriffs von ausgewählten Eingabepuffern auf bestimmte
Ausgabe-Ports verursacht wird.
-
Die
US-5 267 235-A betrifft beispielsweise das Erzielen von Übereinstimmungen
zwischen Anfordernden, die einen Dienst eines von einer Anzahl von
Servern entscheiden müssen,
beispielsweise in dem Kontext eines Datenpaketvermittlungssystems. Eine
Entscheidungsvorrichtung wird verwendet, die auf einem iterativen
Entscheidungsmechanismus basiert, wobei Übereinstimmungen über eine
Anzahl iterativer Entscheidungszyklen erzielt werden.
-
Ferner
enthalten viele Router-Systeme komplexe eine Latenz erzeugende Synchronisationssysteme,
die einen Transmissionsdurchsatz von Daten, Paketen und Rahmen reduzieren.
-
Bei
Halbleiter-Router-Chips, die Kopfinformationen enthaltende Datenpakete
senden, ist es zweckmäßig, die
Latenz zu minimieren, jene Zeit, die für die Transmission von Daten
durch einen einzelnen Chip in einem System mit einem Netz von Router-Chips
erforderlich ist.
-
Ferner
ist es zweckmäßig, ein
auf einem einzelnen Halbleiter-Chip residentes Router-System vorzusehen.
-
Zusammenfassung der Erfindung
-
Gemäß der vorliegenden
Erfindung sind eine Router-Schaltung
nach Anspruch 1 und ein Verfahren zum Senden von Informationen in
einer Router-Schaltung nach Anspruch 8 vorgesehen.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung stellt ein Router-System eine gegenseitige
Verbindung von durch eine Entscheidung ausgewählten Eingabepuffern mit einem
vorherbestimmten Ausgabe-Port durch einen Kreuzschienenschalter
her. Gemäß einer
Ausführungsform
der vorliegenden Erfindung hat jeder Ausgabe-Port einen dedizierten
Entscheider, um einen Eingabepuffer mit höchster Priorität für eine Verbindung
mit seinem Ausgabe-Port auszuwählen.
Gemäß einem
Verfahren der vorliegenden Erfindung werden Rahmenwörter unabhängig durch
ausgewählte
Eingabepuffer und Ausgabe-Ports durch einen Kreuzschienenschalter
einem Streaming unterworfen. Das Streaming gemäß der vorliegenden Erfindung
beginnt mit einer Wegdefinition, die durch die Analyse eines Rahmenkopfs
festgelegt wird. Ein paralleles Rahmenhüllkurvensignal beendet die
Dedizierung eines vorherbestimmten Ausgabe-Ports für einen
bestimmten Rahmen.
-
Die
Rahmentransmission gemäß Ausführungsformen
der vorliegenden Erfindung ist plesiochron, d.h. nahezu synchron.
Gemäß einer
Ausführungsform
der vorliegenden Erfindung ist die Rahmentransmission asynchron.
Einfach ausgedrückt, das
Router-System gemäß den Ausführungsformen der
vorliegenden Erfindung ist nicht synchron. Rahmen kommen mit einem
Takt an und werden mit einem anderen Takt ausgetaktet. Demgemäß kann angenommen
werden, dass die Transmission "plesioasynchron" ist, d.h. nahezu
synchron oder asynchron.
-
Gemäß Ausführungsformen
der vorliegenden Erfindung wird die Rahmentransmission mit einer
verteilten Synchronisationsarchitektur innerhalb des Routers erzielt,
in dem Eingabepuffer für
ein Auslesen und eine Nicht-Koinzidenz von Lese- und Schreibzeigern
geprüft
werden, in dem Ausgabe-Port-Identifikations-
und Prioritätsstufeninformationen
in mehrfachen Registern gespeichert werden, und in dem Pufferstatusmeldungen
ODER-akkumuliert werden.
-
Gemäß Ausführungsformen
der vorliegenden Erfindung enthält
ein Halbleiter-Router-Chip-System eine rationelle Architektur mit
einer hohen Taktfrequenz und geringen Latenz bei der Transmission
von Daten. Eine geringe Latenz wird gemäß der vorliegenden Erfindung
durch das Reduzieren von Operationen erzielt, die an jedem Paket vorgenommen
werden, einschließlich
der Eliminierung ausgewählter
Fehlerprüfungen,
die nicht von einer Fehlerkorrektur begleitet werden. Die vorliegende
Erfindung enthält
ein Synchronisationsverfahren, das die Latenz minimiert. Gemäß Ausführungsformen
der vorliegenden Erfindung wird eine interne Chip-Datenverarbeitung
auf einem Datenweg erzielt, der zweimal so breit ist wie eine externe
Kommunikation zwischen Router-Chips. Der Datenweg gemäß der vorliegenden
Erfindung enthält
einen voll angeschlossenen Kreuzschienenschalter ohne interne Blockierung,
der eine dedizierte Verbindung mit der Kreuz schiene für jedes
Pufferelement der Eingabepuffer vorsieht. Dies entkoppelt die Entscheidungseinheiten
für Ausgabe-Ports
voneinander. Andere Merkmale verwenden ein Flusssteuerprotokoll,
dass außerhalb
des kritischen Wegs bearbeitet wird, und ein unterstützendes
virtuelles Cut-Through-Routing gemäß der vorliegenden Erfindung.
Ferner enthält gemäß der vorliegenden
Erfindung der Datenweg eine Außerband-Signalisierung,
um den Anfang und das Ende von Datenpakten zu markieren, wodurch die
Decodierung des Datenstroms signifikant reduziert wird. Zusätzlich wird
gemäß der vorliegenden Erfindung
die Weglänge
in jeder der Pipeline-Stufen minimiert, indem vorgenommene Operationen
reduziert werden, wodurch eine Hochfrequenz-Chip-Operation ermöglicht wird.
-
Das
Router-System gemäß einer
Ausführungsform
der vorliegenden Erfindung ist auf einem einzelnen Halbleiter-Chip
resident.
-
Kurze Beschreibung der
Zeichnungen
-
1 ist
ein Blockbild eines Router-Chips gemäß der vorliegenden Erfindung;
-
2 ist
eine Darstellung eines mehrstufigen Pipeline-Verfahrens gemäß der vorliegenden
Erfindung, das eine Ein-Zyklus-Entscheidung enthält;
-
3A ist
eine Darstellung einer Eingabepufferelement-Synchronisationsarchitektur
gemäß der vorliegenden
Erfindung;
-
3B ist
eine Darstellung einer Steuersynchronisations- und Rahmenkopf-Decoderarchitektur gemäß der vorliegenden
Erfindung;
-
3C ist
eine Darstellung einer Pufferstatus- und Akkumulationsschaltungs-Synchronisationsarchitektur
gemäß der vorliegenden
Erfindung;
-
3D ist
ein Flussdiagramm des Betriebs des Router- Systems gemäß der vorliegenden Erfindung;
-
4A ist
ein Schaltbild eines Kreuzschienenschalters gemäß der vorliegenden Erfindung, welcher
einen Schaltbus enthält,
der seinerseits Metall- und Koppelpunktschalter enthält;
-
4B ist
ein Datenweg-Blockbild gemäß der vorliegenden
Erfindung;
-
5A ist
ein Blockbild eines ersten Abschnitts eines Flusssteuerwegs gemäß der vorliegenden
Erfindung;
-
5B ist
ein Blockbild eines zweiten Abschnitts eines Flusssteuerwegs gemäß der vorliegenden
Erfindung;
-
5C ist
ein Flussdiagramm eines ersten Abschnitts eines Flusssteuerwegs
gemäß der vorliegenden
Erfindung;
-
5D ist
ein Flussdiagramm eines zweiten Abschnitts eines Flusssteuerwegs
gemäß der vorliegenden
Erfindung;
-
6 ist
ein Blockbild des Router-Chip-Systems gemäß der vorliegenden Erfindung;
-
7A ist
ein Blockbild eines gemäß der vorliegenden
Erfindung gesendeten Rahmens;
-
7B ist
ein Flussdiagramm eines Verfahrens gemäß der vorliegenden Erfindung;
-
7C ist
ein Flussdiagramm einer Entscheiderfunktionalität gemäß der vorliegenden Erfindung;
-
7D ist
ein Zeitdiagramm eines Rahmenhüllkurvensignals
gemäß der vorliegenden
Erfindung; und
-
7E ist
ein Zeitdiagramm eines virtuellen Paket-Cut-Through gemäß der vorliegenden Erfindung,
wobei die Transmission von Kopf- und Dateninformationen in unabhängigen Informationswörtern gestaffelt
ist.
-
Detaillierte Beschreibung
der Erfindung
-
1 ist
ein Blockbild eines Router-Systems 3 gemäß einer
Ausführungsform
der vorliegenden Erfindung, das auf einem einzelnen Halbleiter-Chip resident
ist. Das Router-System 3 enthält einen
virtuellen Cut-Through-Paketschalter, der eine Vielzahl von Eingabe-Ports 104 enthält, von
denen einer in 1 gezeigt ist.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung ist jeder Eingabe-Port 34 Bits
breit. Daten werden an einem Eingabe-Port sowohl an Anstieg- als
auch Abfalleingangstaktkanten empfangen. Jeder Port 104 ist
symmetrisch. Jeder Port 104 ist mit einer Eingabepuffereinheit 135 mit
mehrfachen Eingängen
durch einen Demultiplexer 400 verbunden, der ein Register 107 und
ein erstes und ein zweites paralleles Register 108a bzw. 108b enthält. Das
Register 107 empfängt
ein Halbwort an einem ersten Abschnitt eines Taktzyklus, und während des
nächsten
Abschnitts eines Taktzyklus werden die Inhalte des Registers 107 in
das erste parallele Register 108a eingegeben, wohingegen
das verbleibende Halbwort direkt von dem Port 104 in das
zweite parallele Register 108b eingegeben wird. Die Inhalte
der parallelen Register 108a und 108b werden dann
in den Demultiplexer 130' für ein Einfügen in das
geeignete Pufferelement 135 eingegeben. Das Router-System 3 enthält eine
Warteschlangenentscheidereinheit 146 und eine Flusssteuereinheit 147,
die ein erstes und ein zweites Flusssteuersystem 147a bzw. 147b enthält. Das
Router-System 3 enthält
ferner ein Eingaberegister 105, das mit einer Rahmenhüllkurven
(F_ENV)-Eingangsleitung 102 und einer Daten-Nicht-Status
(D/NS)-Eingangsleitung 103 verbunden ist. Das Eingaberegister 105 ist
seinerseits verbunden mit einer Eingangssteuerschaltung 106, die
Rahmenhüllkurven- und D/NS-Signale
liefert, um die Synchronisation zu steuern, und einer Rahmenkopf-Decoderschaltung 128,
mit einer Pufferstatus- und Akkumlatorschaltung 129, und
einer Eingabepuffer-Steuerschaltung 130. Die Flusssteuer-Empfängerschaltung 147 ist
mit der Pufferstatus- und Akkumlatorschaltung 147a verbunden,
um Pufferstatussignale und Informationen von der Pufferstatus- und Akkumlatorschaltung 147a zu
empfangen, wie im Nachstehenden detaillierter diskutiert wird. Die Flusssteuer-Empfängerschaltung 147 empfängt Informationen
vom Entscheider 146 in Bezug auf seinen Status, und liefert
Informationen an die Rahmenkopf-Modifikatorschaltung 150 und
den Entscheider 146. Die Eingangssteuerschaltung 106 liefert
Signal an die Schreibsteuerschaltung 131, die ihrerseits Schreiboperationen
in Bezug auf die Eingabepufferelemente 135 steuert. Der
Entscheider 146 steuert den Kreuzschienenschalter 144' und steuert
die Lesesteuerschaltung 136, um das Lesen von Eingabepufferelement 135-Rahmenabschnitten
in das Register 138 zu ermöglichen. Das Register 149 empfängt Rahmenabschnitte
von dem Kreuzschienenschalter 144' und liefert diese an den Rahmenkopfmodifikator 150.
Das Register 138 liefert zusätzlich Informationen an die
Ausgangssteuerschaltung 148, die Rahmenhüllkurven
(F_ENV)- und (D/NS)-Signale an einen benachbarten Router oder Knoten
eines Netzes von Router-Chips und Knoten liefert. Der Multiplexer 151 empfängt Rahmen
mit modifizierten Köpfen
vom Rahmenkopfmodifikator 150 und von der Flusssteuer-Senderschaltung 147b.
Der Multiplexer 151 empfängt Wort-breite Rahmenabschnitte
in jedem Taktzyklus und erzeugt Halbwort-breite Rahmenabschnitte sowohl
an Anstieg- als auch Abfalltaktkanten. Das Router-System 3 enthält ferner
eine Netzverknüpfungs-Taktdomäne 110 pro
Eingabewort und eine lokale Taktdomäne 109. Die Netzverknüpfungs-Taktdomäne 110 ist
gemäß einem
Eingangstakt 103' getaktet.
Die lokale Taktdomäne 109 ist
gemäß dem lokalen
Takt 203 getaktet.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung kann das Router-System 3 mit
einer Taktfrequenz von 200 MHz und darüber für gegenseitige Mehrprozessorverbindungen
operieren. Mit einer Latenz-toleranten Verknüpfungspegel-Fluss steuerung
und flexiblen Mehrfachtaktdomänen-Plesiochronkommunikation
unterstützt
das Router-System 3 die gegenseitige Verbindung von Verarbeitungsknoten,
die durch Distanzen in der Größenordnung
von einigen Metern getrennt sind. Eine Vielzahl von Router-Chips 3 kann
skalierbar miteinander verbunden werden.
-
2 ist
eine Darstellung eines mehrstufigen Pipeline-Verfahrens gemäß der vorliegenden
Erfindung, das eine Ein-Zyklus-Entscheidung enthält. Das Verfahren der vorliegenden
Erfindung, wie in 2 gezeigt, enthält die Synchronisation
von Informationen von der Netzverknüpfungs-Taktdomäne 110 mit der lokalen
Taktdomäne 109.
Zusätzlich
enthält
das Verfahren der vorliegenden Erfindung das Durchführen einer
Adressenpropagation und -decodierung. Leitweginformationen, die
an einem Eingabe-Port empfangen werden, werden zu Warteschlangenentscheidereinheiten 106 übertragen.
Das Verfahren der vorliegenden Erfindung enthält ferner eine Entscheidung.
Das Verfahren der vorliegenden Erfindung enthält ferner eine Datenpropagation
durch den Kreuzschienenschalter 144. Das Verfahren der
vorliegenden Erfindung enthält
ferner eine Rahmenkopfmodifikation.
-
Gemäß der vorliegenden
Erfindung kommen Daten-, Takt- und
Außerband-Steuersignale
an einem von n Eingabe-Ports an. Die Daten werden an beiden Kanten
des ankommenden Takts verriegelt, um die Verknüpfungsbandbreite zu optimieren.
Die Daten werden auf eine Datenwegbreite demultiplext, die der Schalteinheit
eigen ist. Die verbreiterte Datenwegbreite ermöglicht interne Logikoperationen
bei der Hälfte
der Taktrate. Die Daten werden in Rahmen, die einen Kopf- und einen
Datenabschnitt enthalten, in Strömen
durch ein ausgewähltes
von m Eingabepufferelementen kommuniziert. Der Sender wählt das
bestimmte der m Eingabepufferelemente auf der Basis von Flusssteuerinformationen
aus, die er vor der Transmission empfängt. Jedes Pufferelement ist
mit einem dedizierten Weg in einer Kreuzschienenmatrix verbunden,
wodurch die Blockierung von Rahmen von einem Eingabe-Port eliminiert
wird, der für
bestimmte Ausgabe-Ports bestimmt ist, in dem Fall, in dem diese
Ausgabe-Ports untätig
sind. Jedes Pufferelement ist groß genug, um einen Rahmen mit
maximaler Größe im Fall
einer Konkurrenz zu speichern. Die Schalteinheit unterstützt ein
virtuelles Cut-Through-Routing. Der Eingabepuffer synchronisiert
Daten von der ankommenden zur lokalen Taktdomäne, indem Eingabedaten gemäß einem Eingangstaktsignal
empfangen werden, und indem Daten mit einem Ausgangstaktsignal erzeugt
werden. Leitweginformationen in jedem Rahmenkopf werden an einen
Rahmenkopfdecoder 128 geliefert. Nach der Evaluierung der
Leitweginformationen wird eine Eingabepufferelementadresse in einer
Entscheidereinheit 146 gespeichert, die einem ausgewählten von
n Ausgabe-Ports entspricht. Jedes Pufferelement hat einen dedizierten
Weg zur Kreuzschienenmatrix, wodurch ermöglicht wird, dass der Rahmen zu
einem ausgewählten
Ausgabe-Port geschaltet wird. Eine Rahmenkopfmodifikation wird erzielt,
indem der aktuelle Leitwegschritt entfernt und eine neue Eingabepufferelementadresse
für den
nächsten
stromabwärtigen
Nachbar eingefügt
wird. Die geeigneten Eingabepufferelemente 135, die verfügbar sind,
werden aus Flusssteuerinformationen extrahiert, die von dem nächsten stromabwärtigen Nachbar
ankommen. Daten werden von dem doppelt breiten internen Weg zu einer
externen Wegbreite gemultiplext. Takt- und Außerband-Steuersignale werden
hinzugefügt
und parallel mit den Daten gesendet.
-
Ein
Flusssteuerverfahren gemäß der vorliegenden
Erfindung basiert auf der kreditbasierten Flusssteueroperation des
Router-Systems 3, wie detailliert in den Querverweis-Patentanmeldungen
beschrieben ist, auf die hier Bezug genommen wird. Router-Chips 3 senden
Rahmen nur dann, wenn leere Puffer für den Empfang eines Informationsrahmens
verfügbar
sind. Ein empfangender Router-Chip oder Knoten informiert demgemäß einen
sendenden Router-Chip, wie viele Puffer verfügbar sind, indem Pufferstatusmeldungen
gesendet werden. Diese Meldungen werden mit regulären Datenrahmen
verschachtelt und sind Standardverkehr auf einer ungenutzten Verknüpfung. Die
Flusssteuerung folgt einem robusten, selbstheilenden Protokoll,
das sicher gegen Übergangsfehler
ist. Das Router-System 3 gemäß der vorliegenden Erfindung
enthält
einen Zeitablaufmechanismus, um Eingabepuffer nach einem permanenten
Verlust aufgrund von Transmissionsfehlern wiederherzustellen. Um
eine Blockierung von Pufferstatusmeldungen zu verhindern, erhält die Transmission
von Pufferstatusmeldungen Priorität gegenüber Datenrahmen, wenn eine
out-of-sync-Bedingung
existiert, wie in den angegebenen Patentanmeldungen detailliert
ausgeführt.
-
3A ist
eine Darstellung der Synchronisationsarchitektur einer Eingabepufferelementschaltung 135 gemäß der vorliegenden
Erfindung, die einen Rahmen hält.
Insbesondere enthält
die Eingabepufferelementschaltung 135 einen Gray-Lesezeiger 135a,
der an einer lokalen Taktdomäne
operiert, einen Gray-Schreibzeiger 135b, der an einer ankommenden
Taktdomäne
operiert, und ein Vergleichselement, das prüft um zu bestimmen, ob ein
bestimmtes FIFO-Pufferelement zum Halten von einem Rahmen oder Rahmenabschnitten
leer ist oder nicht. Die Synchronisation ist eine Bedingung, die
erfüllt
ist, wenn stabile Daten ausgelesen wurden, und der Schreibzeiger
vorgesetzt wird. Unter Verwendung des Gray-Codes bei den Zeigern 135a und 135b für eine Zeigerkompression
werden Fehler vermieden. Ein Pufferelement wird gemäß der vorliegenden
Erfindung für
leer gehalten, wenn sowohl der Gray-Lesezeiger als auch der Gray-Schreibzeiger
gleich sind, was anzeigt, dass sowohl Lese- als auch Schreibope rationen
in Bezug auf den bestimmten Puffer vollendet wurden, und dazu führt, dass
die Leseoperation gestoppt wird. Die Vollendung von sowohl Lese- als
auch Schreiboperationen zeigt eine erfolgreiche Datensynchronisation
an.
-
3B ist
eine Darstellung der Synchronisationsarchitektur einer Steuersynchronisations-
und Rahmenkopf-Decoderschaltung 128.
Insbesondere enthält
die Steuersynchronisations- und Rahmenkopf-Decoderschaltung 128 ein
erstes und ein zweites Ausgabe-Port-Informations- und Prioritätsstufen-Informations-FIFO 128a bzw. 128b,
um ein einziges FIFO zu konstruieren. Wenn eines dieser Register
in einem vollen Zustand ist, können
der Schreibzeiger 128c und der Lesezeiger 128d auf
das eine oder das andere der Register zeigen, um eine Lese- oder
Schreiboperation zu erzielen. Die Synchronisation tritt auf, da
der Puffer weiterhin für
stabile Lese- und Schreiboperationen verfügbar bleibt, d.h. der Akkumulator
ist offen, damit Pufferstatusmeldungen kontinuierlich gelesen und
geschrieben werden.
-
3C ist
eine Darstellung der Architektur der Pufferstatus- und Akkumulationsschaltung 129. Insbesondere
enthält
die Status- und Akkumulationsschaltung 129 einen Akkumulier-ODER-Puffer,
der in Bit-Positionen erweitert ist und Meldungen oder Meldungsanzeigen
an ausgewählten
Bitstellen durch das Akkumulieren von Meldungen in einer ODER-Funktionssynchronisation
empfangen kann.
-
3D ist
ein Flussdiagramm des Betriebs des Router-Systems 3 gemäß der vorliegenden
Erfindung. Insbesondere ist jedes Router-System 3 gemäß der vorliegenden
Erfindung über
Schnittstellen mit sechs unabhängigen
ankommenden Taktdomänen
gekoppelt, die von einem Taktsignal getrieben werden, das mit einem
Datenrahmen ankommt. Daten-, Takt- und Steuersignale werden an n
Eingabe-Ports empfangen 300. Jedes Router-System 3 hat
eine lokale Taktdomäne,
die von der glo balen Logik und der Vielzahl von Ausgabe-Ports gemeinsam genutzt
wird. Eine FIFO-Synchronisation wird durch jeden Router-Chip für Rahmendaten
implementiert. Miteinander verbundene Router-Chips haben jeweils eine
unabhängige
Taktquelle. Demgemäß nehmen miteinander
verbundene Router-Chips gemäß der vorliegenden
Erfindung eine geringe Frequenzvielfalt zwischen empfangenden und
sendenden Takten auf. Gemäß der vorliegenden
Erfindung werden Daten demultiplext 301 und an ein ausgewähltes von
m Eingabepufferelementen angelegt, die jeweils einen dedizierten
Weg zu einer Kreuzschienenmatrix haben. Die Synchronisation zwischen
Eingangs- und lokalen Taktdomänen
wird an einem Eingabepufferelement erzielt, das eine Synchronisation
von Rahmendaten vornimmt und einen Speicher für eine Ausgabe-Port-Konkurrenz
vorsieht. Die Synchronisation von Eingabepufferelementflaggen wird
erzielt, indem Gray-codierte Zeiger verglichen werden, die asynchron
durch eine Metastabilität
gehärtete
Verriegelung abgetastet werden. Zusätzlich enthält gemäß der vorliegenden Erfindung
ein Kopf Informationen, die einen Ziel-Port anzeigen. Insbesondere
werden aktuelle Rahmenkopf-Leitweginformationen
an einen Rahmenkopfdecoder geliefert 302, um eine Eingabepufferelementadresse
zu bestimmen, wodurch es einem geeigneten Entscheider, der einem
gewünschten
von n Ausgabe-Ports entspricht, ermöglicht wird, ein bestimmtes
Eingabepufferelement und die darin enthaltenen Informationen auszuwählen. Der
Kopf liefert zusätzlich
Informationen, die eine Priorität
anzeigen. Gemäß der vorliegenden
Erfindung wird der Kopf in einem FIFO mit zwei Eingängen synchronisiert.
Da Köpfe
nicht antiparallel in konsekutiven Zyklen ankommen können, kann
kein FIFO-Überlauf auftreten,
bevor die Daten sicher gelesen werden können. Da nur Pufferstatusmeldungen
bei einer ausreichenden Rate ankommen können, um FIFO-Überläufe zu verursachen,
werden ferner gemäß der vorliegenden
Erfindung Pufferstatusmeldungen zum Abtasten in die lokale Taktdomäne akkumuliert,
wodurch die Verwendung eines FIFO vermieden wird. Gemäß der vorliegenden
Erfindung enthält
das Router-System 3 eine Kreuzschienenstruktur, auf die jedes
gespeicherte Paket einen dedizierten Eingabe-Port-Zugriff hat. Für einen
Eingang in die Kreuzschiene ist keine Konkurrenz möglich. Ein
dedizierter Entscheider 146 pro Port entscheidet seinen
eigenen Ausgabe-Port.
Als Ergebnis der vorliegenden Erfindung wird eine interne Blockierung
eliminiert, und eine Entscheidung kann in einem Taktzyklus erzielt werden.
Insbesondere erteilt der Entscheider 303 ein Bewilligungssignal
auf der Basis von Prioritäten
im Eingabepufferinhalt. Ein Entscheider 146 pro Ausgabe-Port
mit drei alternden FIFOs für
drei Warteschlangenklassen, d.h. Prioritäten, wird verwendet, um eine
Aushungerung innerhalb einer gegebenen Priorität zu vermeiden. Eine FIFO-Reihenfolge
gemäß der vorliegenden
Erfindung wird implementiert, um Rahmen aus Puffern zu begünstigen,
die relativ voll sind.
-
Das
Router-System 3 gemäß der vorliegenden
Erfindung nimmt einen Rahmenverkehr in mehrfachen Prioritätsstufen
auf, wodurch Strategien ermöglicht
werden, die eine Protokollblockierung ohne unendliche Pufferressourcen
am Sende- oder Empfangsknoten
verhindern. Das Router-System 3 gemäß der vorliegenden Erfindung
adaptiert und überwindet
Schwierigkeiten, wie Transmissionsfehler an Verknüpfungen
oder weiche RAM-Fehler. Da jeder Entscheider 146 einen
RAM zum Speichern von Anforderungen verwendet, können RAM-Fehler die Generierung
falscher Anforderungen, einen Verlust tatsächlicher Anforderungen oder
die Bewilligung einer inkorrekten Anforderung verursachen. Demgemäß sind Konsistenzselbstprüfmechanismen
in dem Router-System 3 gemäß der vorliegenden Erfindung
enthalten. Insbesondere wird gemäß der vorliegen den Erfindung
das Router-System 3 zurückgesetzt,
wenn die Entscheidereinheit 146 einen Rahmen an einen falschen
Ausgabe-Port sendet. Gemäß einer
Ausführungsform
der vorliegenden Erfindung wird das Router-System 3 zurückgesetzt,
wenn ein Rahmen für eine übermäßige Zeitlänge in einem
Eingabepuffer bleibt.
-
4A ist
ein Schaltbild eines Abschnitts eines Kreuzschienenschalters 144 gemäß der vorliegenden
Erfindung, welcher einen Schaltbus enthält, der seinerseits Metall-
und Differenziallogik-Koppelpunktschalter enthält. Insbesondere zeigt 4A einen
Kreuzschienenschalterabschnitt, welcher einen Schaltbus 11 mit
einer ersten und einer zweiten Busseite 11a bzw. 11b enthält, die
ihrerseits, gemäß einer
Ausführungsform,
10 mm Metall- und 36 Koppelpunktschalter enthalten. Der
Kreuzschienenschalter 11 wird durch ein Signal PC (Vorladen)
vorgeladen, das an die Gates von Vorladetransistoren 41 und 42 angelegt
wird, die mit VDD verbunden sind. Das Schalten wird in Bezug auf
empfangene DATA durch die Transistorschaltung 43 ansprechend
auf vom Transistor 43a empfangene GRANT-Signale erzielt. Ein
GRANT-Signal wird
simultan an das Gate der Transistoren 43a und 44a angelegt.
Nach der Freigabe durch ein GRANT-Signal können DATA durch den Transistor 43a angelegt
werden, und das Komplement der DATA wird gleichzeitig an den Transistor 44b angelegt.
Ein Inverter 45 ändert
DATA auf ihr Komplement. Der Kreuzschienenschalter 11 enthält ferner
eine Differenzialschaltung mit reduzierter Schwingung, um die Signalpropagation
zu beschleunigen. Gemäß einer
Ausführungsform
der vorliegenden Erfindung wird die Bitleitungsschwingung eingestellt,
um in der Größenordnung
von 500 mV zu liegen. Der Kreuzschienenschalter 11 enthält einen
Leseverstärker 46,
der gemäß einer
Ausführungsform der
vorliegenden Erfindung ausgebildet ist, eine Lesezeit von 0,2 ns
aufzu weisen.
-
4B ist
ein Datenweg-Blockbild gemäß der vorliegenden
Erfindung. Insbesondere enthält das
Router-System 3 einen Eingabe-Port 3a, einen Ausgabe-Port 3b und
eine Kreuzschienenmatrix 144'.
Der Eingabe-Port 3a enthält einen Demultiplexer 400,
einen Multiplexer 130',
einen Rahmenkopfdecoder 128 und Eingabepufferelemente 135,
die Pufferelemente 5a–5m enthalten.
Der Ausgabe-Port 3b enthält den Entscheider 146,
den Rahmenkopfmodifikator 150 und den Multiplexer 151.
-
Am
Eingabe-Port 104 empfangene Daten gehen durch die Demultiplexer 400 und 130' zu einem ausgewählten der
Eingabepuffer 5a–5m.
Jeder Eingabepuffer hat eine dedizierte Leitung direkt zur Kreuzschienenmatrix 144', ohne dass
irgendeine Entscheidung notwendig ist, um eine Verbindung eines
beliebigen der Eingabepuffer 135 mit der Kreuzschienenmatrix 144' auszuwählen. Ein
Entscheider 146 ist für
jeden Ausgabe-Port
der Kreuzschienenmatrix 144' vorgesehen,
um einen der Eingabepuffer 5a–5m für eine Verbindung
mit dem assoziierten Ausgabe-Port auszuwählen. Steuersignale werden an
Eingabe-Ports 102, 103 vom
Demultiplexer 400 an den Rahmenkopfdecoder 128 geliefert,
um das Vorliegen eines Rahmenkopfs anzuzeigen. Dies ermöglicht die
Extraktion einer Eingabepufferadresse durch die Kreuzschiene 144' unter der Steuerung
des Entscheiders 146. Nach der Ausgangstransmission von
der Kreuzschiene 144' werden
Rahmenköpfe modifiziert,
um folgende Zielorte zu verschieben, und um den Zielort des aktuellen
Router-Systems 3 zu löschen.
Nach der Ausgabe aus dem Rahmenkopfmodifikator 150 werden
Rahmen vom Multiplexer 151 gemultiplext, um von einem N-breiten
Wort, das in jedem Taktzyklus gesendet wird, in das Vorsehen eines N/2-breiten
Halbworts in jedem halben Taktzyklus konvertiert zu werden, der
sowohl an Anstieg- als auch Abfallkanten ausgelöst wird.
-
5A ist
ein Blockbild eines ersten Flusssteuerwegsystems 490 zum
Empfangen von Daten-, Takt- und Steuersignalen von einer benachbarten Schalteinheit
gemäß der vorliegenden
Erfindung. Insbesondere wird eine Flusssteuerung in einer ausgewählten Schalteinheit
erzielt, indem Flusssteuerinformationen auf einem Weg, der n/2 breit
ist, für
eine vorherbestimmte (n) Anzahl von Bits empfangen werden. Die Flusssteuerinformationen
werden auf demselben Weg wie Daten zeit-gemultiplext, die an der Schalteinheit
ankommen. Die Flusssteuerinformationen, wie in 5A gezeigt,
werden von einem Demultiplexer 501 (DEMUX) zu einem internen
Weg mit doppelter Breite demultiplext, der n Bits breit ist. Zur Synchronisation
ankommender Informationen von einer Eingangstaktdomäne werden
Flusssteuerinformationen in einem Flusssteuer (FC)-Akkumulator 502 (FC_ACCUM)
akkumuliert, um Informationsverluste während der Synchronisation zu
vermeiden. Das erste Flusssteuerwegsystem 490 enthält ferner einen
Flusssteuerempfänger 503,
der die empfangenen Informationen evaluiert und Steuersignale zu
einer Entscheidungseinheit 504 weiterleitet. Zusätzlich leitet
der Flusssteuerempfänger 503 verfügbare Pufferelementadressen
zu einem Rahmenkopfmodifikator 505 weiter.
-
5B ist
ein Flussdiagramm des Betriebs des ersten Flusssteuerwegsystems 490.
Insbesondere werden Flusssteuerinformationen empfangen 510,
demultiplext 511, akkumuliert 512 (und dadurch auch
synchronisiert), evaluiert 513 und an die Entscheidungseinheit 504 geliefert 514,
die mit einem bestimmten Ausgabe-Port assoziiert ist. Zusätzlich werden
die Informationen an einen Paketkopfmodifikator 505 geliefert.
-
5C ist
ein Blockbild eines zweiten Flusssteuerwegsystems 491 gemäß der vorliegenden
Erfindung. Insbesondere enthält
das zweite Flusssteuerwegsystem 491 ein Eingabepuf ferstatus-Bestimmungselement 506,
einen Flusssteuersender 507 und einen Multiplexer 508.
-
5D ist
ein Flussdiagramm eines zweiten Abschnitts eines Flusssteuerwegs
gemäß der vorliegenden
Erfindung. Insbesondere ist 5D ein Flussdiagramm
des Betriebs des zweiten Flusssteuerwegsystems 491. Das
erste Flusssteuerwegsystem 491 bestimmt 520 den
Eingabepufferstatus, sendet 521 Eingabepufferstatus-Informationen
vom Flusssteuersender 507 und multiplext 522 eine Flusssteuermeldung
mit Eingabepufferstatusinformationen für eine N-Bit-Kommunikation
zu einem nächsten
Knoten von dem internen N-Bit-breiten weg zu dem externen Weg mit
N/2 Bits.
-
6 ist
ein Blockbild eines Abschnitts eines Router-Chip-Systems 3 gemäß der vorliegenden
Erfindung. Das Router-Chip-System 3 gemäß der vorliegenden Erfindung
enthält
einen virtuellen Cut-Through-Paketschalter mit einer Vielzahl von
Eingabe-Ports 604, von denen einer in 1 gezeigt
ist. Jeder Eingabe-Port 604i ist mit einer Vielzahl von Pufferelementen 605i assoziiert,
von denen jedes mit einer entsprechenden Kreuzschieneneingangsleitung 615i(j)
verbunden ist, die mit einer beliebigen ausgewählten von Ausgangsleitungen 616a–616f verbunden
werden kann. Jeder Eingabe-Port 604 ist symmetrisch und
ist mit einem zentralen Kreuzschienenschalter 144' assoziiert.
Jeder Port 604 enthält
K Eingangsleitungen und ist mit einer Eingabepuffereinheit 605 mit
mehrfachen Eingängen
und einem Entscheider 606 verbunden.
-
Der
Entscheider 606 enthält
eine Vielzahl von Entscheidereinheiten 606a–606f,
die jeweils mit Kreuzschienenausgangseinheiten 610a–610f verbunden
sind. Jede Kreuzschienenausgangseinheit 610i enthält eine
assoziierte Ausgangsleitung 616i, welche mit einer Kopfmodifikationsschaltung 607 verbunden
ist, die eine Vielzahl von Kopfmodifikationsein heiten 607i enthält. Die
Kopfmodifikationsschaltung 607 ist mit einer Treiberschaltung 608 verbunden,
die eine Vielzahl von Treiberelementen 608i enthält. Jedes
Treiberelement 608i empfängt Daten von einer entsprechenden
Kopfmodifikationseinheit 607i. Ausgabedaten werden demgemäß an Ausgangsleitungen 609 gemäß einem
Takt 606 erzeugt.
-
7A ist
ein Blockbild eines gemäß der vorliegenden
Erfindung gesendeten Rahmens 670. Insbesondere enthält der Rahmen 670 einen
Rahmenkopf 671 und ein Paket 672. Der Rahmenkopf 671 enthält Felder
für die
Ausgabe-Port-Nummer, ein Prioritätsfeld
und eine Eingabepufferadresse. Das Paket 672 enthält ferner
einen Paketkopf 673, einen Fehlerdetektionscode (EDC) 674 und
Daten 675.
-
7B ist
ein Flussdiagramm eines Verfahrens gemäß der vorliegenden Erfindung.
Gemäß dem in 7B gezeigten
Verfahren wird ein Rahmenkopf 671 von einem Router-System 3 empfangen 700.
Zusätzlich
empfängt
das Router-System 3 ein Rahmenhüllkurvensignal parallel mit
dem Rahmen 670, um die Ankunft des Rahmens 670 und
zusätzlich
seine bevorstehende vollendete Transmission anzuzeigen. Gemäß einer
Ausführungsform
der vorliegenden Erfindung enthält
das Rahmenhüllkurvensignal
eine Kerbe, wie im Nachstehenden in Verbindung mit 7D detailliert
beschrieben wird. Gemäß der vorliegenden
Erfindung werden die Rahmenkopf-Ausgabe-Port-Nummer, das Prioritätsfeld und
die Eingabepufferadresse kopiert 701. Als Nächstes kommt
es zu einem Streaming 702 des Rahmens 670 in einen
ausgewählten
Eingabepuffer an Eingangstakt-Anstiegkanten. Die Ausgabe-Port werden
separat plesiochron getaktet. Zusätzlich ist der Multiplexer 128' entlang einer
der Leitungen 128'' mit einem dedizierten
der Entscheider 146 gemäß dem in
den Rahmenköpfen
ausgewählten
Ausgabe-Port verbunden, wodurch der Eingang der Eingabepufferadresse
in ein korrektes Prioritäts-FIFO
des dedizierten der Entscheider 146 ermöglicht wird, die über eine
Wahl von Verbindungen entscheiden, und wählt dann einen bestimmten Eingabepuffer
aus, um Port-Verbindungen auszugeben, und sendet dann ein "GRANT"-Signal. Ferner wird
eine Kreuzschienenverbindung zwischen dem ausgewählten Ausgabe-Port und dem
ausgewählten
Eingabepuffer hergestellt 704. Dann beginnen 705 der
Rahmenkopf 671, der EDC 674, der Paketkopf 673 und
Daten 675 das Streaming aus dem Router-System 3 durch
seinen ausgewählten
Ausgabe-Port an den Anstiegkanten des Ausgangs- oder lokalen Takts
gemäß dem plesiochronen
Betrieb, der keine präzise
Synchronisation von Eingangs- und Ausgangstakten erfordert.
-
Schließlich wird
die Rahmenendkerbe detektiert 706, wodurch die Datentransmission
vom Ausgabe-Port angehalten wird, und die Kreuzschienenverbindung
zwischen einem bestimmten Eingabepuffer und Ausgabe-Port aufgehoben
wird.
-
7C ist
ein Flussdiagramm der Entscheiderfunktionalität 770 gemäß der vorliegenden
Erfindung. Insbesondere beschreibt das Flussdiagramm von 7C Merkmale
von Entscheidern 146 gemäß der vorliegenden Erfindung.
Das Verfahren gemäß der vorliegenden
Erfindung enthält
das Füllen 771 eines
bestimmten First-in-first-out (FIFO)-Puffers von Entscheidern 146 mit
der Adresse eines ausgewählten
Eingabepuffers, mit dem der Ausgabe-Port zu verbinden ist, der mit
dem ausgewählten
der Entscheider 146 assoziiert ist. Als Nächstes wird
das bestimmte FIFO gelesen 722, um einen bestimmten Koppelpunkt
des Koppelpunktschalters 144' auszuwählen, wodurch
die Verbindung zwischen dem assoziierten Ausgabe-Port und dem ausgewählten Eingabepuffer
bewirkt wird.
-
7D ist
ein Zeitdiagramm eines Rahmenhüllkurvensignals 102 (F-ENV)
gemäß der vorliegenden
Erfindung. Das Rahmenhüllkurvensignal 102 wird
an den Puffer 105 parallel mit Daten geliefert, wie in 1 gezeigt. 7D zeigt
das Rahmenhüllkurvensignal 102 mit
einem ersten und einem zweiten Logikzustand, 1 bzw. 0. Gemäß einer
Ausführungsform
der vorliegenden Erfindung wird das Rahmenhüllkurvensignal 102 auf
0 eingestellt, wenn parallele nicht parallel geliefert werden. Das
Rahmenhüllkurvensignal 102 steigt
auf einen Logikzustand 1 zur Zeit t0, wenn parallele Daten geliefert
werden. Parallele Daten werden zur Zeit t3 nicht mehr geliefert,
zu welcher Zeit der Logikzustand des Rahmenhüllkurvensignals 102 auf
Null, 0, zurückkehren kann.
Gemäß der vorliegenden
Erfindung wird die Rückkehr
auf Null durch eine Kerbe in dem Signalpegel des Rahmenhüllkurvensignals 102 zwischen
vorherbestimmten Zeiten t1 und t2 antizipiert, während welches Intervalls der
Logikpegel des Rahmenhüllkurvensignals 102 weiterhin
auf einem Logikpegel von Null bleibt. Eine solche Antizipation erleichtert
die zeitgerechte Freigabe des Kreuzschienenschalters 144 aus
seinem dedizierten Zustand, der einen ausgewählten Eingabepuffer mit einem
bestimmten Ausgabe-Port verbindet.
-
7E ist
ein Zeitdiagramm eines virtuellen Rahmen-Cut-Through gemäß der vorliegenden Erfindung,
wobei die Transmission von Kopf- und Dateninformationen in unabhängigen Informationswörtern gestaffelt
ist. Zwischen t0 und t3 des Rahmenhüllkurvensignals 102,
wie in 7D angezeigt, werden Kopf- und
Dateninformationen durch den ausgewählten Router-Chip gesendet.
Insbesondere werden Wörter
von Kopf- und Dateninformationen
in unabhängigen
Wörtern
gesendet, und die Transmission beginnt unmittelbar mit dem Empfang
in einem Kopf in einem ausgewählten
Eingabepuffer, ohne zu prüfen,
ob alle Daten durch vorherige ausgewählte Eingabe-Port-Puffer empfangen
wurden. So wird der Kopf eines bestimmten Rahmens bereits zu einem nächsten Router-Chip
gesendet worden sein, ohne jede Einschränkung zu prüfen, ob alle Wörter des
bestimmten Rahmens an einem beliebigen bezeichneten Eingabepuffer
empfangen wurden.