-
Gebiet
-
Diese
Erfindung bezieht sich auf ein System und ein Verfahren zur effektiven
Bewegung von Daten von einem Datenbus zu einem anderen Datenbus in
einer Netzwerk-Vermittlung.
-
Allgemeiner
Hintergrund
-
Netzwerk-Vermittlungen
(Netzwerk-Switches) und Router werden überwiegend in Daten-Netzwerken
verwendet, um Datenpakete in diesen Netzwerken weiterzuleiten. Die
Daten-Netzwerke sollten so effektiv wie möglich arbeiten, um so viele
Benutzer wie möglich
zu unterstützen,
weil ein höheres
Benutzer-Volumen zu mehr erzeugten Einkünften führt. Als Ergebnis sollten Netzwerk-Vermittlungen
und Router die Datenpakete so effizient und so schnell wie möglich verarbeiten.
-
Ein
Verfahren, um dies zu erzielen, ist in der europäischen Patentanmeldung 0905629
beschrieben, die ein Verfahren zur Kommunikation von Daten von einer
Befehls-Paket-Architektur und einer verteilten Burst-Maschine zu
einem I/O-Gerät
ohne die Verwendung einer Speicherabbildungs-I/O- oder Host-Prozessor-Synchronisation beschreibt.
Bei dieser Anwendung ist die Brücke
jedoch lediglich mit zwei Busleitungen verbunden und kann in zwei
getrennten Pfaden betrachtet werden. Sie ist nicht zur Verbindung
von mehr als zwei Busleitungen konfiguriert und kann daher keinen
Steuereingang von einem andere Bus empfangen.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Netzwerk-Vermittlung,
wie sie im Anspruch 1 beansprucht ist, und ein Verfahren, wie es
im Anspruch 7 beansprucht ist. Sie ergibt ein System und Verfahren
zur effizienten Bewegung von Daten von einem Datenbus zu einem anderen
Datenbus in einer Netzwerk-Vermittlung. Das Verfahren schließt die Erzeugung
eines Paket-Zyklus auf einem ersten Datenbus ein. Das Verfahren
schließt
außerdem
das Erzeugen eines Steuerdaten-Zyklus auf einem zweiten Datenbus
ein. Das Verfahren schließt
weiterhin die Verarbeitung des Paket-Zyklus auf dem ersten Datenbus nach
der Verarbeitung des Steuerdaten-Zyklus
auf dem zweiten Datenbus ein.
-
Der
Steuerdaten-Zyklus auf dem zweiten Datenbus wird dazu verwendet,
die Verarbeitung eines Paket-Zyklus auf dem ersten Datenbus einzuleiten
oder anzufordern, bevor der Paket-Zyklus vollständig auf den ersten Datenbus
aufgelegt wird. Als Ergebnis werden Daten auf dem ersten Datenbus
im Allgemeinen schneller und effizienter verarbeitet.
-
Weitere
Gesichtspunkte und Merkmale der vorliegenden Erfindung werden für den Fachmann bei
Betrachtung der folgenden Beschreibung spezieller Ausführungsformen
der Erfindung in Verbindung mit den beigefügten Ansprüchen und Figuren ersichtlich.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Diagramm eines Beispiels eines Systems gemäß einer Ausführungsform
der vorliegenden Erfindung;
-
2 ist
ein Blockschaltbild eines Beispiels einer Netzwerk-Vermittlung oder
eines Routers gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
3A ist
ein Beispiel eines Zeitsteuer-Diagramms, das einen Paket-Zyklus
zeigt, der auf einem Pipeline-Datenbus erzeugt und auf diesen aufgelegt wird;
-
3B ist
ein Beispiel eines Zeitsteuer-Diagramms, das einen Paket-Zyklus
zeigt, der auf einem Nicht-Pipeline-Datenbus erzeugt und auf diesen
aufgelegt wird;
-
4 ist
ein Beispiel eines Zeitsteuer-Diagramms, das Betriebszyklen zeigt,
die unter bestimmten Zeitperioden auf einem Pipeline-Datenbus, einen
Hilfs-Datenbus und einem Nicht-Pipeline-Datenbus erzeugt und auf
diese aufgelegt werden;
-
5 ist
ein Beispiel eines Ablaufdiagramms, das einen Prozess 500 zur
Erzeugung eines Steuerdaten-Zyklus auf dem Hilfs-Datenbus umreist,
um die Verarbeitung von Daten auf dem Pipeline-Datenbus auszulösen; und
-
6 ist
ein Beispiel eines Ablaufdiagramms, das einen Prozess zur Erzeugung
eines Steuerdaten-Zyklus und eines optionalen Steuerdaten-Zyklus
auf den Hilfs-Datenbus
umreist, um die Verarbeitung von Daten auf dem Pipeline-Datenbus auszulösen.
-
Ausführliche
Beschreibung
-
Die
vorliegende Erfindung bezieht sich auf ein System und Verfahren
zur effizienten Bewegung von Daten von einem Datenbus zu einem anderen Datenbus
in einer Netzwerk-Vermittlung.
-
1 ist
ein Beispiel eines Diagramms eines Systems 100 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Das System 100 schließt Netzwerk-Vermittlungen (Switches)
oder Router 102, 104 ein, die betriebsmäßig miteinander über Netzwerk-Verbindungsstrecken 106, 108 und
ein Netzwerk 110 miteinander gekoppelt sind. Die Netzwerk-Vermittlung
oder der Router 102 ist mit einer Vielzahl von Netzwerk-Geräten 112, 114, 116, 118, 120 gekoppelt.
Netzwerk-Geräte
sind allgemein Computergeräte,
die eine Netzwerk-Fähigkeit
aufweisen. Wie dies in 1 gezeigt ist, können Beispiele
von Netzwerk-Geräten
einen Laptop-Computer 112, einen Desktop-Computer 114,
einen Netzwerk-Drucker 116, ein Netzwerk-Speichergerät 118 und
einen Server 120 einschließen. In der Praxis kann ein
Netzwerk-Gerät
eine Aufsatz-Box, ein handgehaltenes Gerät oder irgendein Computer-Gerät mit Netzwerk-Fähigkeiten
sein.
-
Die
Netzwerk-Vermittlung oder der Router 104 ist mit einer
Vielzahl von Netzwerk-Geräten unter Einschluss
eines Servers 122, eines Netzwerk-Speichersgerätes 124,
eines Netzwerk-Druckers 126 und eines Desktop 128 gekoppelt.
Die Netzwerk-Vermittlung oder der Router ist weiterhin mit einem
privaten Nebenstellen-(PBX-)System 130 gekoppelt. Das PBX-System 130 ist
mit Telefonen 132, 134 und einer Fax-Maschine 136 gekoppelt.
-
2 ist
ein Blockschaltbild eines Beispiels einer Netzwerk-Vermittlung oder
eines Routers 200 (der auch in 1 gezeigt
ist) gemäß einer
Ausführungsform
der vorliegenden Erfindung. Die Netzwerk-Vermittlung oder der Router 200 schließt ein Vermittlungs-Modul 202 ein.
Bei einer Ausführungsform
ist das Vermittlungs-Modul 202 ein Chip-Satz, der allgemein
Informationen liefert, die zum Vermitteln oder Weiterleiten von
Datenpaketen an passende Ziele erforderlich sind.
-
Um
Datenpakete zu vermitteln oder weiterzuleiten, legt das Vermittlungs-Modul 200 allgemein die
Pakete auf den Pipeline-Datenbus 204 auf. Bei einer Ausführungsform
ist der Pipeline-Datenbus 204 ein 64-Bit-Bus, der mit 40
MHz getaktet wird und eine maximale Daten-Breite von 2,56 Gbps ergibt.
Eine ausführlichere
Beschreibung der Betriebszyklen des Pipeline-Datenbus 204 wird
nachfolgend anhand der 3A und des die Figur beschreibenden
Textes gegeben.
-
Die
Netzwerk-Vermittlung oder der Router 200 schließt weiterhin
ein Brücken-Modul 206 ein. Bei
einer Ausführungsform
ist das Brücken-Modul 206 ein
Chip-Satz, der allgemein
Datenpakete, die auf dem Pipeline-Datenbus 204 verfügbar sind,
zurückgewinnt,
diese Datenpakete verarbeitet und die Pakete auf den Nicht-Pipeline-Datenbus 208 für Medien-abhängige Adapter 2101 , ..., 210N (MDA1 bis MDAN, worin „N" eine positive Zahl
ist) zur Verarbeitung auflegt.
-
Die
Medien-abhängigen
Adapter 2101 , ..., 210N ergeben allgemein Kommunikations-Ports
zur Herstellung einer Verbindung zu unterschiedlichen Arten von
physikalischen Medien außerhalb
der Netzwerk-Vermittlung oder des Routers, unter Einschluss der
asynchronen Übertragungsbetriebsart (ATM),
Ethernet (10/100 Mbps), Gigabit-Ethernet, Kurzwellen-Gigabit-Lichtleitfaser,
Langwellen-Gigabit-Lichtleitfaser,
und dergleichen.
-
Jeder
MDA 2101 , ..., 210N überwacht
den Nicht-Pipeline-Datenbus 208 auf Pakete, die an die MDA 2101 , ..., 210N gerichtet
sind. Wenn ein MDA 2101 , ..., 210N an ihn adressierte Pakete findet,
gewinnt der MDA 2101 , ..., 210N die Pakete von dem Nicht-Pipeline-Datenbus 208 und
verarbeitet sie.
-
Das
Vermittlungs-Modul 202 sendet weiterhin Daten über den
Hilfs-Datenbus 212 an das Brücken-Modul 206. Die
Daten, die das Vermittlungs-Modul 202 über den Hilfs-Datenbus 212 sendet,
sind allgemein Steuerdaten, um dem Brücken-Modul 206 Anweisungen
zu liefern, wie das Brücken-Modul 206 Daten
auf den Pipeline-Datenbus 204 verarbeiten
sollte.
-
Das
Vermittlungs-Modul 202 sendet Steuerdaten über den
Hilfs-Datenbus 212 an das Brücken-Modul 206, um
das Brücken-Modul 206 allgemein
aufzufordern, Paketdaten zu verarbeiten, was zu einer schnelleren
Verarbeitung von Paketdaten führt.
Zusätzliche
Einzelheiten hinsichtlich des Inhaltes von Daten, die über den
Hilfs-Datenbus ausgesandt werden, werden nachfolgend anhand der 4 und
dem die Figur beschreibenden Text gegeben.
-
Die
Netzwerk-Vermittlung oder der Router 200 schließt weiterhin
einen System-Takt 214 ein,
der betriebsmäßig mit
dem Vermittlungs-Modul 202, dem Brücken-Modul 206 und dem Medien-Abhängigen Adaptern 2101 , ..., 210N verbunden
ist. Der System-Takt 214 liefert allgemein Zeitzyklus-Perioden mit
gleicher Dauer, während
deren die Module 202, 206 2101 ,
..., 210N in der Netzwerk-Vermittlung
oder dem Router 200 einen Zugriff auf die Daten-Busse 204, 208, 212 ausführen können.
-
3A ist
Beispiel eines Zeitsteuer-Diagramms, das einen Paket-Zyklus 300 erläutert, der auf
dem Datenbus 302 erzeugt und auf diesen aufgelegt wird.
Es sei bemerkt, dass der Pipeline-Datenbus 302 allgemein äquivalent
zu dem Datenbus 204 in 2 ist.
-
Allgemein
muss ein Paket-Zyklus 300 erzeugt werden, um ein Datenpaket
auszusenden. Jeder Paket-Zyklus 300 schließt die folgenden
Betriebszyklen ein: Paket-Kopffeld-Zyklus 304, Paket-Datenzyklus 306,
Ausführungs-Zyklus 308,
Steuerdaten-Zyklus 310, optionaler Steuerdaten-Zyklus 312 und
Ausführungs-Zyklus 314.
-
Jeder
Paket-Zyklus 300 schließt einen Paket-Kopffeld-Zyklus 304 ein.
Der Paket-Kopffeld-Zyklus 304 tritt
auf dem Pipeline-Datenbus 302 vor dem Paket-Datenzyklus 306 auf.
In jedem Paket-Kopffeld-Zyklus 304 wird Information ausgesandt,
die zur Verarbeitung eines Paketes benötigt wird. Beispielsweise kann
die Information, die während
eines Paket-Kopffeld-Zyklus 304 ausgesandt wird, eine virtuelle
Ortsbereichs-Netzwerk-Identifikation (VID), Priorätsbits,
wie sie in der IEEE-Norm 802.1p spezifiziert sind, den Quellen-Port,
die Länge
der Paket-Daten, und Fehler-Bits einschließen. Bei einer Ausführungsform,
bei der der Pipeline-Datenbus
ein 64-Bit-Bus ist, wird der Paket-Kopffeld-Zyklus 304 dazu
verwendet, einen 64-Bit-Wert zu übertragen
und belegt daher den Pipeline-Datenbus 302 für einen
Systemtakt-Zyklus.
-
Jeder
Paket-Zyklus 300 schließt weiterhin einen Paketdaten-Zyklus 306 ein.
Bei einer Ausführungsform
wird ein Ethernet-Paket in jedem Paketdaten-Zyklus 306 übertragen.
Ein Ethernet-Paket kann eine Länge
zwischen 64 und 1522 Bytes aufweisen. Wenn die Länge des Ethernet-Paketes nicht
gerade durch acht teilbar ist, so wird das Paket in geeigneter Weise
aufgefüllt,
bevor es auf den Pipeline-Datenbus 302 aufgelegt
wird. Bei einer Ausführungsform,
bei der der Pipeline-Datenbus 302 eine
Breite von 64-Bit aufweist, kann jeder Paketdaten-Zyklus 306 den Pipeline-Datenbus 302 für acht (8)
bis zweihundertdreiundzwanzig (223) System-Taktzyklen belegen, um
ein Ethernet-Paket zu übertragen.
-
Jeder
Paket-Zyklus 300 auf dem Pipeline-Datenbus 302 schließt weiterhin
Ausfürungs-Zyklen 308, 314 ein.
Jeder Ausführungs-Zyklus 308, 314 bietet
allgemein eine konkurrenzfreie Möglichkeit für ein an
dem Pipeline-Datenbus 302 angeordnetes Gerät, die Ansteuerung
des Datenbusses 302 zu stoppen, und ermöglicht es einem anderen Gerät, das an
dem Datenbus 302 angeordnet ist, den Datenbus 302 anzusteuern.
-
Der
erste Ausführungs-Zyklus 308 tritt
zwischen dem Paketdaten-Zyklus 306 und dem Steuerdaten-Zyklus 310 auf.
Während
des ersten Ausführungs-Zyklus 308 schaltet
das Brücken-Modul 206 (das
in 2 gezeigt ist) seine Schaltungen ab, die den Pipeline-Datenbus 302 ansteuern,
während
das Vermittlungs-Modul 202 (ebenfalls in 2 gezeigt) seine
Schaltungen einschaltet, die den Pipeline-Datenbus 302 ansteuern.
-
Der
zweite Ausführungs-Zyklus 314 tritt
nach dem Steuerdaten-Zyklus 310 und auch nach dem optionalen
Daten-Zyklus 312 auf, wenn dieser vorhanden ist.
-
Während des
zweiten Ausführungs-Zyklus 314 schaltet
das (in 2 gezeigte) Vermittlungs-Modul 202 seine
Schaltungen ab, die den Pipeline-Datenbus 302 ansteuern,
während
das Brücken-Modul 206 (das
ebenfalls in 2 gezeigt ist) seine Schaltungen
einschaltet, die den Pipeline-Datenbus 302 ansteuern.
-
Bei
einer Ausführungsform
wird jeder Ausführungs-Zyklus 308, 314 dazu
verwendet, einen 64-Bit-Wert zu übertragen.
Bei dieser Ausführungsform
würde jeder
Ausführungs-Zyklus 308, 314 einen Pipeline-Datenbus 302,
der eine Breite von 64 Bit hat, für einen Systemtakt-Zyklus belegen.
-
Der
Steuerdaten-Zyklus 310 ist der erste Zyklus, in dem Steuerdaten
auf den Pipeline-Datenbus 302 zur Aussendung aufgelegt
werden. Der Steuerdaten-Zyklus 310 wird im allgemeinen
zum Aussenden eines M-Bit-(worin „M" eine positive ganze Zahl ist)Wertes 316 verwendet,
der Paket-Weiterleitungs-Informationen enthält, beispielsweise Austrittsports,
Flutungs-, Filterungs- und Überwachungs-Bits
oder dergleichen.
-
Bei
einer Ausführungsform
wird der Steuerdaten-Zyklus 310 zur Aussendung eines 64-Bit-Wertes
verwendet. Bei dieser Ausführungsform
würde der
Steuerdaten-Zyklus 310 einen
Pipeline-Datenbus 302 mit einer Breite von 64 Bit für einen
Systemtakt-Zyklus belegen.
-
Ein „MORE"-(MEHR-)Bit 318 ist
in dem während
des Steuerdaten-Zyklus 310 ausgesandten M-Bit-Wert 316 enthalten,
um anzuzeigen, ob ein optionaler Steuerdaten-Zyklus 312 auf
den Steuerdaten-Zyklus 310 folgt. In der Ausführungsform,
bei der ein 64-Bit-Wert während
des Steuerdaten-Zyklus 310 ausgesandt wird und das Bit
0 das niedrigstbewertete Bit und das Bit 63 das höchstbewertete
Bit des 64-Bit-Wertes ist, würde
das „MORE"-Bit 318 das
Bit 62 des 64-Bit-Wertes sein.
-
Bei
einer Ausführungsform
würde ein
Wert von eins (1) in dem „MORE"-Bit 318 anzeigen,
das es einen optionalen Steuerdaten-Zyklus 312 gibt, der auf
den Steuerdaten-Zyklus 310 folgt. Bei dieser Ausführungsform
würde ein
Wert von Null (0) in dem „MORE"-Bit 318 anzeigen,
das es zu keinen auf den Steuerdaten-Zyklus 310 folgenden
optionalen Steuerdaten-Zyklus 312 gibt.
-
Der
optionale Steuerdaten-Zyklus 312 wird allgemein zur Aussendung
von Paket-Modifikations-Befehlen
und Datenfeldern verwendet. Bei einer Ausführungsform wird ein 64-Bit-Wert
in dem optionalen Steuerdaten-Zyklus 312 ausgesandt: bei
dieser Ausführungsform
würde der
optionale Steuerdaten-Zyklus 312 einen Pipeline-Datenbus
mit einer Breite von 64 Bit für
einen Systemtakt-Zyklus belegen.
-
3B ist
ein Beispiel eines Zeitsteuer-Diagramms, das einen Paket-Zyklus 350 zeigt,
der erzeugt und auf den Pipeline-Datenbus 352 aufgelegt wird.
Es sei bemerkt, dass der Pipeline-Datenbus 352 allgemein äquivalent
zu dem Bus 208 in 2 ist.
-
Allgemein
muss ein Paket-Zyklus 350 auf einen Nicht-Pipeline-Datenbus 352 aufgelegt
werden, um ein Paket auszusenden. Jeder Paket-Zyklus 305 schließt die folgenden
Betriebs-Zyklen ein: Paket-Kopffeld-Zyklus 354, Paket-Daten-Zyklus 356, Ausführungs-Zyklus 358,
Steuerdaten-Zyklus 360, Ausführungs-Zyklus 362 und
Leerlauf-Zyklus 364 (der optional ist).
-
Wie
dies in 2 gezeigt und in den dieser Figur
entsprechenden Text beschrieben ist, gewinnt das Brücken-Modul 206 allgemein
Daten zurück,
die auf dem Pipeline-Datenbus 204 verfügbar sind, verarbeitet die
Daten und legt die Daten auf dem Nicht-Pipeline-Datenbus 208 zur
Verarbeitung durch die Medien-Abhängigen Adapter 2101 , ..., 210N auf.
-
Bei
der Überprüfung der 3B in
Verbindung mit 3A ist zu erkennen, dass das
Daten die während
der Paket-Zyklen 350 des Nicht-Pipeline-Datenbus 352 übertragen
werden, allgemein ähnlich
zu den Daten sind, die während
der Paket-Zyklen 300 des
Pipeline-Datenbus 302 übertragen
werden. Ein Paket-Zyklus 350 des Nicht-Pipeline-Datenbus 352 schließt jedoch
keinen optionalen Steuerdaten-Zyklus
ein. Für
jeden auf dem Pipeline-Datenbus 302 erzeugten optionalen
Steuerdaten-Zyklus 300 wird ein Leerlauf-Zyklus 364 erzeugt und
auf den Nicht-Pipeline-Datenbus 352 nach
dem zweiten Ausführungs-Zyklus 362 aufgelegt.
Ein Leerlauf-Zyklus 364 auf dem Nicht-Pipeline-Datenbus 352 ist
allgemein eine Zeitperiode, während
deren keines der an den Datenbus 352 angeordneten Geräte den Datenbus 352 ansteuert.
-
Wie
dies oben erwähnt
wurde, wird ein M-Bit-Wert 316 während des Steuerdaten-Zyklus 310 auf
dem Pipeline-Datenbus 302 erzeugt und ausgesandt. Der M-Bit-Wert 316 enthält ein „MORE"-Bit 318,
um anzuzeigen, ob ein optionaler Steuerdaten-Zyklus 312 auf
den Steuerdaten-Zyklus 310 auf den Pipeline-Datenbus 302 folgt.
-
Der
während
des Steuerdaten-Zyklus 310 auf den Pipeline-Datenbus 302 ausgesandte M-Bit-Wert 318 wird
allgemein dupliziert und während
des Steuerdaten-Zyklus 360 auf den Nicht-Pipeline-Datenbus 352 ausgesandt.
Das „MORE"-Bit 318, das
in dem M-Bit-Wert 316 enthalten ist, hat jedoch auf dem
Nicht-Pipeline-Datenbus 352 keine
Bedeutung, weil ein Paket-Zyklus 350 auf dem Nicht-Pipeline-Datenbus 352 keinen
optionalen Steuerdaten-Zyklus einschließt.
-
4 ist
ein Beispiel eines Zeitsteuer-Diagramms, das Betriebs-Zyklen zeigt,
die zu bestimmten Zeitperioden auf dem Pipeline-Datenbus 406, dem
Hilfs-Datenbus 428 und dem Nicht-Pipeline-Datenbus 438 erzeugt
und aufgelegt werden. Der Pipeline-Datenbus 406 ist allgemein äquivalent
zu dem Bus 204 in 2 und dem
Bus 302 in 3A; der Hilfs-Datenbus 428 ist
allgemein äquivalent
zu dem Bus 212 in 2; und der
Nicht-Pipeline-Datenbus 438 ist allgemein äquivalent
zu dem Bus 208 in 2 und dem
Bus 352 in 3B.
-
Es
sei bemerkt, dass tP (worin „P" eine positive ganze
Zahl ist) in dem Zeitsteuer-Diagramm nach 4 verwendet
wird, um Punkte auf der Zeitlinie 405 zu bezeichnen.
-
Das
Diagramm zeigt zwei Paket-Zyklen 402, 404, die
auf dem Pipeline-Datenbus 406 erzeugt und auf diesen aufgelegt
werden. Zum Zeitpunkt tP 408, beginnt
das Vermittlungs-Modul, Betriebs-Zyklen 410, 412, 414, 416, 418, 420 für den ersten
Paket-Zyklus 402 auf dem Pipeline-Datenbus zu erzeugen und
auf diesen aufzulegen.
-
Zum
Zeitpunkt t2 422 nach „X" Systemtakt-Zyklen,
die auf die Zeit t1 folgen, beginnt das
Vermittlungs-Modul, den Steuerdaten-Zyklus 424 und den
optionalen Steuerdaten-Zyklus 426 (wenn benötigt) auf
den Hilfs-Datenbus 428 aufzulegen.
-
Bei
einer Ausführungsform
beträgt
der Unterschied zwischen der Zeit t2 422 und
der Zeit t1 408 oder X vierunddreißig (34)
Systemtakt-Zyklen.
-
Es
sei bemerkt, dass Daten, die während
des Steuerdaten-Zyklus 424 und des optionalen Steuerdaten-Zyklus 426 auf
dem Hilfs-Datenbus 428 übertragen
werden, identisch zu Daten sind, die während des Steuerdaten-Zyklus 416 und
des optionalen Steuerdaten-Zyklus 418 des ersten Paket-Zyklus 402 auf
dem Pipeline-Datenbus 406 übertragen
werden.
-
Zum
Zeitpunkt t3 430, nach „Y" Systemtakt-Zyklen,
die auf die Zeit t2 422 folgen,
beendet das Vermittlungs-Modul das Auflegen des Steuerdaten-Zyklus 424 und
des wahlweisen Steuerdaten-Zyklus 426 (falls benötigt) auf
den Hilfs-Datenbus 428. Bei einer Ausführungsform wird der Steuerdaten-Zyklus 424 zur Übertragung
eines 64-Bit-Wertes
verwendet, der optionale Daten-Zyklus 426 wird zur Übertragung
eines 64-Bit-Wertes verwendet, und der Hilfs-Datenbus 428 ist
ein Datenbus mit einer Breite von 16 Bit. Bei dieser Ausführungsform
ist Y gleich acht (8) Systemtakt-Zyklen.
Mit anderen Worten heißt
dies, das der Steuerdaten-Zyklus 424 und der optionale
Steuerdaten-Zyklus 426 zusammen den Hilfs-Datenbus 428 für acht (8)
Systemtakt-Zyklen belegen.
-
Das
Diagramm nach 4 zeigt zwei Paket-Zyklen 430, 432 auf
dem Nicht-Pipeline-Datenbus 434.
Die Paket-Zyklen 432, 434 auf dem Nicht-Pipeline-Datenbus 436 entsprechen
den Paket-Zyklen 402, 404 auf dem Pipeline-Datenbus 406.
-
Zum
Zeitpunkt t4 436 nach „Z" Systemtakt-Zyklen,
die auf die Zeit t3 430 folgen,
beginnt das Brücken-Modul
mit der Erzeugung der Betriebs-Zyklen 440, 442, 444, 446, 448, 450 für den ersten
Paket-Zyklus 432 auf dem Nicht-Pipeline-Datenbus 436.
Vor der Erzeugung des ersten Paket-Zyklus auf dem Nicht-Pipeline-Datenbus 436 benötigt das
Brücken-Modul
Z Systemtakt-Zyklen, um Steuerdaten zu überprüfen, die zusammen während des
Steuerdaten-Zyklus 424 und des optionalen Daten-Zyklus (falls
benötigt) 426 auf
den Hilfs-Datenbus 428 ausgesandt werden. Bei einer Ausführungsform
beträgt Z
oder die Zeit, die das Brücken-Modul
benötigt,
um die über
den Hilfs-Datenbus 428 ausgesandten Steuerdaten zu überprüfen, sechs
(6) Systemtakt-Zyklen.
-
Es
sei bemerkt, das die optionalen Steuerdaten-Zyklen 418, 452 auf
dem Pipeline-Datenbus 406 durch
Leerlauf-Zyklen 450, 454 auf dem Nicht-Pipeline-Datenbus 438 ersetzt
werden, weil die Paket-Zyklen 432, 434 keine optionalen
Steuerdaten-Zyklen einschließen.
-
Durch
die Erzeugung und das Auflegen des Steuerdaten-Zyklus 424 und
des optionalen Steuerdaten-Zyklus (falls benötigt) 426 auf den
Hilfs-Datenbus 428 fordert das Vermittlungs-Modul das Brücken-Modul
auf, die Paket-Zyklen 402, 404 auf den Pipeline-Datenbus 406 zu
verarbeiten, bevor das Vermittlungs-Modul die Erzeugung dieser Paket-Zyklen 402, 404 beendet.
Als Ergebnis werden Daten auf den Pipeline-Datenbus 406 schneller
verarbeitet. Weiterhin muss das Brücken-Modul keine Daten puffern oder speichern,
die das Brücken-Modul
von dem Pipeline-Datenbus 406 zurückgewinnt. Als Ergebnis wird
die funktionelle Kompliziertheit des Brücken-Moduls verringert.
-
5 ist
ein Beispiel eines Ablaufdiagramms, das den Prozess 500 der
Erzeugung eines Steuerdaten-Zyklus auf dem Hilfs-Datenbus umreißt, um die
Verarbeitung von Daten auf dem Pipeline-Datenbus hervorzurufen.
Im Block 505 wird ein Paket-Zyklus erzeugt und auf den
Pipeline-Datenbus aufgelegt.
-
Wie
dies in 3A und den die Figur beschreibenden
Text gezeigt ist, schließt
jeder Paket-Zyklus 300 einen Steuerdaten-Zyklus 310 ein, der
allgemein Paket-Weiterleitungs-Information
enthält.
Beispiele von Paket-Weiterleitungs-Information können Austritts-Port-Identifikationen,
Flutungs-Bits, Filterungs-Bits oder Überwachungs-Bits einschließen.
-
Im
Block 510 nach 5 wird ein Steuerdaten-Zyklus
erzeugt und auf den Hilfs-Datenbus
aufgelegt. Nachdem der Steuerdaten-Zyklus auf dem Hilfs-Datenbus
zurückgewonnen
und verarbeitet wurde, wird der Paket-Zyklus auf dem Pipeline-Datenbus zurückgewonnen
und verarbeitet (Block 515).
-
6 ist
ein Beispiel eines Ablaufdiagramms, das einen Prozess 600 der
Erzeugung eines Steuerdaten-Zyklus und eines optionalen Steuerdaten-Zyklus
auf dem Hilfs-Datenbus zeigt, um die Verarbeitung von Daten auf
dem Pipeline- Datenbus auszulösen. Im
Block 605 wird ein Paket-Zyklus erzeugt und auf den Pipeline-Datenbus
aufgelegt.
-
Wie
dies in 3A und den die Figur beschreibenden
Text gezeigt ist, schließt
jeder Paket-Zyklus 300 einen Steuerdaten-Zyklus 310 und
einen optionalen Steuerdaten-Zyklus 312 ein. Der Steuerdaten-Zyklus 310 enthält allgemein
Paket-Weiterleitungs-Information,
wie zum Beispiel Austritts-Ports, Flutungs-, Filterungs- und Überwachungs-Bits
oder dergleichen. Der optionale Steuerdaten-Zyklus 312 enthält allgemein
Paket-Modifikations-Befehle und Datenfelder.
-
Im
Steuerblock 610 nach 6 wird ein Steuerdaten-Zyklus
erzeugt und auf den Hilfs-Datenbus aufgelegt. Im Block 615 wird
ein optionaler Steuerdaten-Zyklus ebenfalls erzeugt und auf den Hilfs-Datenbus
aufgelegt. Nachdem der Steuerdaten-Zyklus und der optionale Steuerdaten-Zyklus
auf dem Hilfs-Datenbus zurückgewonnen
und verarbeitet wurden, wird der Paket-Zyklus auf dem Pipeline-Datenbus zurückgewonnen
und verarbeitet (Block 620).
-
Obwohl
bestimmte Ausführungsbeispiele
beschrieben und in den beigefügten
Zeichnungen gezeigt wurden, ist es verständlich, dass diese Ausführungsformen
lediglich erläuternd
sind und die umfassende Erfindung nicht beschränken, und dass diese Erfindung
nicht auf die speziellen Konstruktionen und Anordnungen beschränkt ist,
die gezeigt und beschrieben wurden, weil verschiedene andere Modifikationen
dem Fachmann ersichtlich sind.
-
Zusätzlich ist
es möglich,
die vorliegende Erfindung oder einige ihrer Merkmale in Hardware, Firmware,
Software oder einer Kombination hiervon zu Implementieren, wobei
die Software in einem maschinenlesbaren Speichermedium bereitgestellt
wird, wie zum Beispiel einem magnetischen, optischen oder Halbleiter-Speichermedium. Wenn
die vorliegende Erfindung oder einige ihrer Merkmale in Firmware
oder Software-Codesegmenten implementiert wird, würde jedes
der Codesegmente einen oder mehrere Programmierbefehle einschließen.