[go: up one dir, main page]

DE69735546T2 - Paketvermittelte leitweglenkung-architektur für mehrere gleichzeitige verbindungen - Google Patents

Paketvermittelte leitweglenkung-architektur für mehrere gleichzeitige verbindungen Download PDF

Info

Publication number
DE69735546T2
DE69735546T2 DE69735546T DE69735546T DE69735546T2 DE 69735546 T2 DE69735546 T2 DE 69735546T2 DE 69735546 T DE69735546 T DE 69735546T DE 69735546 T DE69735546 T DE 69735546T DE 69735546 T2 DE69735546 T2 DE 69735546T2
Authority
DE
Germany
Prior art keywords
packet
data
switched routing
data packets
destination
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 - Lifetime
Application number
DE69735546T
Other languages
English (en)
Other versions
DE69735546D1 (de
Inventor
E. James Menlo Park TORNES
C. Steven Livermore MILLER
Daniel Los Altos YAU
Jamie Montara RIOTTO
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.)
Graphics Properties Holdings Inc
Original Assignee
Silicon Graphics Inc
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 Silicon Graphics Inc filed Critical Silicon Graphics Inc
Application granted granted Critical
Publication of DE69735546D1 publication Critical patent/DE69735546D1/de
Publication of DE69735546T2 publication Critical patent/DE69735546T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine neuartige paketvermittelte Leitweglenkung-Architektur, die äußerst hohe Bandbreite zur Verfügung stellt. Im Besonderen bezieht sich die vorliegende Erfindung auf eine Busarchitektur, die vermittlungstechnische Funktionen ausführt, um gleichzeitige Punkt-zu-Punkt Nachrichtenübermittlungen zwischen mehreren Anordnungen eines Rechnersystems zu ermöglichen.
  • Hintergrund der Erfindung
  • In der Vergangenheit wurden Computer in erster Linie dafür angewandt, ziemlich banale, sich wiederholende numerische und/oder Textaufgaben zu verarbeiten, die Zahlenverarbeitung, Verarbeitung von Tabellenkalkulationen und Textverarbeitung einschlossen. Diese einfachen Aufgaben brachten lediglich mit sich, Daten von einer Tastatur einzugeben, die Daten entsprechend irgendeines Computerprogramms zu verarbeiten und dann den entstehenden Text oder die Zahlen auf einem Computermonitor zu zeigen und dann eventuell später diese Ergebnisse auf einem magnetischen Plattenlaufwerk zu speichern. Jedoch sind die Rechnersysteme von heute sehr viel fortschrittlicher, vielseitiger und technisch ausgefeilt. Besonders seit dem Aufkommen von digitalen Medienanwendungen und dem Internet werden Computer heute üblicherweise dafür in Anspruch genommen, Daten von einer großen Vielfalt und von verschiedenen Formaten, die sich von Audio bis zu Video erstrecken und sogar realistische, computererzeugte dreidimensionale graphische Abbildungen umfassen zu akzeptieren und zu verarbeiten. Ein Ausschnitt aus einer Liste der Anwendungen, die diese digitalen Medienanwendungen einschließt, umfasst die Erzeugung von Spezialeffekten für Filme, Computeranimation, Echtzeitsimulationen, Videotelekonferenz, internetgebundene Anwendun gen, Computerspiele, Telearbeit, virtuelle Realität, Hochgeschwindigkeitsdatenbanken, interaktive Simulationen in Echtzeit, medizinisch Bildverarbeitung für die Diagnose, usw.
  • Der Grund hinter der Ausbreitung von digitalen Medienanwendungen liegt in der Tatsache begründet, dass sehr viel mehr Informationen mit Bildern und Klängen statt mit Text oder Zahlen übermittelt und leicht erfasst werden können. Video, Audio und dreidimensionale graphische Darstellungen machen ein Rechnersystem benutzerfreundlicher, dynamischer und realistischer. Jedoch ist der dadurch hinzugekommen Grad an Komplexität für den Entwurf neuer Generationen von Rechnersystemen, die notwendig sind, um diese digitalen Medienanwendungen zu verarbeiten, enorm. Die Fähigkeit, digitalisiertes Audio, Video und graphische Darstellungen zu handhaben, erfordert es, dass enorme Datenmengen mit äußerst hohen Geschwindigkeiten verarbeitet werden. Eine unglaubliche Menge an Daten muss jede Sekunde verarbeitet werden, um die Darstellung hoch auflösender, flüssiger und realistischer vollständiger Bewegungen auf einem Computerbildschirm zu erzeugen. Zusätzliche Geschwindigkeits- und Verarbeitungsleistung ist erforderlich, um das Rechnersystem mit der Befähigung zu Stereoklängen in Highfidelity und Echtzeitverarbeitung und mit interaktiven Fähigkeiten auszustatten. Andernfalls würden die wiedergegebenen Darstellungen dazu tendieren, klein, körnig und anderweitig verschwommen zu sein, wenn das Rechnersystem zu langsam ist, um die erforderliche Datenmenge zu verarbeiten. Weiterhin würden Bewegungen in diesen Darstellungen wahrscheinlich sprunghaft und unzusammenhängend sein, weil die Aktualisierungsrate des Rechnersystems zu langsam ist. Manchmal könnten ganze Videoframes ausgelassen werden. Daher ist Geschwindigkeit das Wesentliche beim Entwurf von modernen, neuesten Rechnersystemen nach dem Stand der Technik.
  • Einer der größeren Engpässe beim Entwurf von schnellen Hochleistungsrechnersystemen betrifft die gegenwärtige Busarchitektur. Ein "Bus" besteht aus einem Satz von Drähten, der verwendet wird, um die verschiedenen Halbleiterchips und Ein-/Ausgabegeräte des Rechnersystems elektrisch untereinander zu verbinden. Elektrische Signale werden über den Bus geleitet, so dass die verschiedenen Bauteile mit einander kommunizieren können. 1 zeigt eine typische Busarchitektur nach dem Stand der Technik. Praktisch alle der heutigen Rechnersysteme verwenden diese gleiche Art des Entwurfs von Bussystemen. Ein einzelner Bus 101 wird verwendet, um die zentrale Verarbeitungseinheit (CPU) 103 elektrisch mit dem Datenspeicher (zum Beispiel RAM) 107 über die Steuerungseinheit 102 zusammenzuschalten. Weiterhin werden verschiedene andere Anordnungen 104106 auch mit dem Bus 101 gekoppelt. Der Bus 101 umfasst eine Reihe von physischen Drähten, die verwendet werden, um digitale Daten, Adressinformation zur Bestimmung des Zielorts der Daten, Steuersignale und Zeitsteuerungs-/Taktsignale zu übermitteln. Zum Beispiel kann die CPU 103 eine Anforderung dafür erzeugen, bestimmte in Datenspeicher 107 abgelegte Daten abzurufen. Diese Leseanforderung wird dann über den Bus 101 an die Datenspeichersteuereinheit 102 geschickt. Beim Empfang dieser Leseanforderung holt die Datenspeichersteuereinheit 102 die gewünschten Daten von Datenspeicher 107 und sendet diese über den Bus 101 zurück an die CPU 103. Sobald die CPU damit fertig ist, die Daten zu verarbeiten, können diese über den Bus 101 gesandt werden, um sie durch eine der Anordnungen 104106 (zum Beispiel ein Fax, ein Modem, eine Netzwerksteuereinheit, Anordnungen zur Datenspeicherung, Audio-/Videotreibers, usw.) auszugeben.
  • Der größere Nachteil bei dieser Busarchitektur nach dem Stand der Technik ist die Tatsache, dass diese eine "gemeinsam genutzte" Anordnung ist. Alle der Komponenten 102106 teilen sich denselben Bus 101. Sie hängen alle von einem einzelnen Bus ab, um ihren individuellen Bedarf an Nachrichtenübermittlung zu decken. Jedoch kann der Bus 101 zu jedem gegebenen Zeitpunkt nur die Nachrichtenübermittlungen zwischen zweien dieser Anordnungen 102106 durchführen. Wenn der Bus 101 gegenwärtig damit beschäftigt ist, Sendesignale zwischen zweien der Anordnungen (zum Beispiel CPU 103 und Anordnung 105) zu übertragen, müssen daher dann all die anderen Anordnungen (zum Beispiel Datenspeicher 102, Anordnung 104 und Anordnung 106) auf ihren Zeitpunkt warten, bis dieser Arbeitsvorgang abgeschlossen ist und der Bus 101 wieder verfügbar wird. Wenn sich ein Konflikt ergibt, klärt eine Entscheidungsschaltung, die sich normalerweise in der Datenspeichersteuereinheit 102 befindet, welche der Anordnungen 102106 Priorität für den Zugriff auf den Bus 101 erhält. Im Grunde genommen ist der Bus 101 ähnlich einer Sammelanschlussnummer für eine Vielzahl von Teilnehmern, bei der jeweils nur ein einzelnes Gespräch zwischen zweien aus einer Menge von verschiedenen, durch diese Sammelanschlussnummer unterstützen Telefongeräten stattfinden kann. Wenn die Sammelanschlussnummer gegenwärtig beschäftigt ist, muss man warten, bis die vorherigen Parteien auflegen, bevor man seinen eigenen Anruf beginnen kann.
  • In der Vergangenheit stellte diese Art der Busarchitektur ein einfaches, effizientes und kosteneffektives Verfahren zur Übertragung von Daten dar. Für eine gewisse Zeit genügte es auch, den Bruchteil von Daten zu handhaben, der zwischen den verschiedenen Anordnungen floss, die sich innerhalb des Rechnersystems befanden. Als jedoch die Forderung nach gesteigerten Datenmengen in die Höhe geschossenen sind, mussten die Entwickler Wege finden, die Geschwindigkeit zu verbessern, mit der Bits von Daten übertragen werden können (das heißt Steigerung der "Bandbreite") über den Bus. Eine Zwischenlösung war es, die Breite des Busses zu steigern, in dem mehr Leitungen hinzugefügt wurden. Die Auswirkung ist analog derjenigen, wenn eine zweispurige Straße durch eine zehnspurige Superautobahn ersetzt wird. Die Zunahme der Busbreite verbraucht jedoch wertvollen Platz auf einer schon dicht gepackten und überfüllten gedruckten Leiterplatte. Weiterhin muss jeder der an den Bus angeschlossenen Halbleiterchips eine äquivalente Anzahl von Anschlüssen aufweisen, um zur der gesteigerten Busbreite für das Empfangen und das Ausgeben seiner Signale zu passen. Diese zusätzlichen Anschlüsse erhöhen die Größe der Chips bedeutend. Es wird daher schwieriger, diese Chips auf den gedruckten Leiterplatten unterzubringen. Weiterhin auferlegen die praktischen Beschränkungen für kosteneffiziente Chips und deren Gehäuse eine physische Beschränkung der allgemeinen Größe des Chips und seiner Anzahl an Anschlüssen. Die Busse von heute sind typischerweise auf eine Breite von 64 Bits beschränkt. Mit anderen Worten können 64 Bits an Daten oder Adressen simultan und parallel über 64 separate Leitungen gesandt werden. Der nächste Schritt, die Busbreite auf eine Breite von 128 Bits zu steigern, hat sich als unpraktisch erwiesen.
  • Eine andere Zwischenlösung zum Bandbreitenproblem war es, die Rate (das heißt die Häufigkeit) steigern, mit der Daten über den Bus geschickt werden. Jedoch erzeugt die Physik, die mit langen Reihen von parallelen Leitungen mit mehrfachen Lasten verbunden ist ein breites Spektrum an Problemen wie Impedanz, Fehlanpassungen, Reflektionen, Nebensprechen, Rauschen, Nichtlinearitäten, Dämpfungen, Verzerrungen, Zeitsteuerung, usw. Diese Probleme werden noch schwerwiegender, wenn die Frequenz zunimmt. Es ist zu einem Punkt gekommen, an dem die am höchsten erreichbare Frequenz etwa 33–50 MHz beträgt. Höhere Frequenzen können nicht ohne gute Optimierung, äußerst enge Toleranzen, exotische Mikrokontaktlayouts und umfangreiches Testen erreicht werden. Es ist äußerst schwierig, solche Hochfrequenzcomputer in einer Massenproduktion zuverlässig herzustellen.
  • Aus EP 443 672 ; EP 443 672 ; "Multiwavelength Networks and New Approaches to Packet Switching" in IEEE Communication Magazine 27(1989)October Seiten 27–35, IEEE Infocom '88 on "Networks: Evolution or Revolution", Seiten 30–34; "Analysis and implementation of a Priority Knockout Switch" von Joseph B. Evens et al. in IEEE, 1993, 28 March 93, p. 1099–1106; IEEE Infocom '93 proceedings vol. 3 on "Networking: Foundation for the Future", Seiten 1100–1106 und "The Knockout Switch", IEEE Vol. SAC-5, No. 8, October 1987, Seiten 1274–1283 sind Netzwerksysteme bekannt, die Arbeitsplatzstationen, Drucker, Server usw. durch eine Leitweglenkung untereinander verbinden. Solche Leitweglenkungen sind jedoch nicht innerhalb einer Computerarchitektur ausgeführt worden.
  • Geht man von einem 64-Bit Bus aus, der bei 50 MHz betrieben wird, beträgt die am höchsten erreichbare Übertragungsgeschwindigkeit für ein typisches Rechnersystem 400 MBytes pro Sekunde. Obwohl diese Übertragungsgeschwindigkeit ziemlich beeindruckend zu sein scheint, wird sie dennoch schnell unzureichend, um den von den zukünftigen neuen Anwendungen auferlegten Anforderungen zu entsprechen. Auf diese Weise ergibt sich ein großer Bedarf an einer Art einer Busarchitektur, die einen gesteigerten Durchsatz zur Verfügung stellt. Die vorliegende Erfindung bietet eine einzigartige Lösung für dieses Problem, in dem eine neuartige Busarchitektur zur Verfügung gestellt wird, die eine Bandbreite aufweist, die um ein Vielfaches größer ist als diejenige von typischen Bussen nach dem Stand der Technik. Weiterhin ist die Busarchitektur der vorliegenden Erfindung zuverlässig, kosteneffektiv und äußerst effizient. Ein grundlegender Unterschied besteht darin, dass die vorliegende Erfindung, anstatt eine gemeinsam genutzte Busanordnung aufzuweisen, Gebrauch macht von einem paktvermittelten Verbindungsschema, womit mehrfache Datenpakete gleichzeitig von verschiedenen Anordnungen zu verschiedenen Zielorten geschickt werden können. Daher ist die mit der paketvermittelten Leitweglenkung-Architektur der vorliegenden Erfindung verbundene Bandbreite bedeutend größer, weil vielfache Hochgeschwindigkeitsübertragungen von Datenpaketen simultan auftreten können.
  • Zusammenfassung der Erfindung
  • Es ist ein Ziel der vorliegenden Erfindung, eine flexiblere Rechnersystemarchitektur zur Verfügung zu stellen, die zum Beispiel vielfache unabhängige Nachrichtenübermittlungspfade ermöglicht. Dieses Ziel kann durch die Merkmale der unabhängigen Ansprüche erreicht werden.
  • Die vorliegende Erfindung betrifft eine neuartige Architektur für das Einführen von mehrfachen, gleichzeitigen Nachrichtenübermittlungen zwischen einer Vielzahl von Anordnungen. Eine beliebige Anzahl von Anordnungen ist an einzelne Ports einer zentralen paketvermittelten Leitweglenkung angeschlossen. Aufgrund der Natur der Verbindung zwischen der Anordnung und der paketvermittelten Leitweglenkung, können sehr hohe Übertragungsgeschwindigkeiten mit einer minimalen Anzahl von Anschlüssen erreicht werden. Die Anordnungen kommunizieren mit einander dadurch, dass sie Datenpakete von der erzeugenden Anordnung an die Zielanordnung senden. Jede Anordnung kann mit jeder anderen Anordnung durch die paketvermittelte Leitweglenkung kommunizieren. Die paketvermittelte Leitweglenkung weist die Fähigkeit auf, simultan eine Vielzahl von Datenpaketen von einer Vielzahl von erzeugenden Anordnungen zu einer Vielzahl von Zielanordnungen zu leiten. Daher können vielfache Hochgeschwindigkeitsdatenübermittlungen simultan auftreten, wodurch die gesamte Systembandbreite signifikant gesteigert wird.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird anhand von Beispielen und nicht anhand Einschränkung in den Figuren der begleitenden Zeichnungen veranschaulich, in denen sich gleiche Bezugszeichen auf gleiche Elemente beziehen, und in denen:
  • 1 eine typische Busarchitektur nach dem Stand der Technik zeigt.
  • 2 ein Blockdiagramm einer Ausführungsform der Busarchitektur entsprechend der vorliegenden Erfindung zeigt.
  • 3 ein detaillierteres Diagramm der zu der paketvermittelten Leitweglenkung gehörigen Grundblöcke zeigt.
  • 4 einen detaillierten Schaltplan einer Verbindungssteuereinheit zeigt.
  • 5 die gegenwärtig bevorzugte Ausführungsform für die Vermittlungsmatrix zeigt.
  • 6 einen beispielhaften Vermittlungsschaltkreis für das zur Verfügung stellen von gleichzeitigen Nachrichtenübermittlungen zeigt.
  • 7 ein beispielhaftes Rechnersystem zeigt, auf welchem die vorliegende Erfindung ausgeführt werden kann.
  • Detaillierte Beschreibung
  • Die vorliegende Erfindung einer neuartigen paketvermittelten Leitweglenkung-Architektur, die äußerst hohe Bandbreite aufweist, wird beschrieben. Die neuartige paketvermittelte Leitweglenkung-Architektur macht Gebrauch von einer zentralen paketvermittelten Leitweglenkung, um vielfache Verbindungen zwischen verschiedenen Komponenten eines Rechnersystems auszuwählen und herzustellen, wodurch vielfache Hochgeschwindigkeitsnachrichtenübermittlungen über diesen getrennten Verbindungen simultan auftreten können. In der folgenden Beschreibung werden zahlreiche spezifische Details zum Zweck Erläuterung dargestellt, um ein gründliches Verständnis der vorliegenden Erfindung zur Verfügung zu stellen. Es wird jedoch für jemanden, der in der Technik ausgebildet ist, offensichtlich sein, dass die vorliegende Erfindung auch ohne diese spezifischen Details ausgeführt werden kann. In anderen Fällen werden bekannte Strukturen und Anordnungen in Form von Blockdiagrammen gezeigt, um es zu vermeiden, die vorliegende Erfindung unklar zu machen.
  • 2 zeigt ein Blockdiagramm einer Ausführungsform der paketvermittelten Leitweglenkung-Architektur entsprechend der vorliegenden Erfindung. Mehrere Anordnungen 202209 sind an eine zentrale paketvermittelte Leitweglenkung 201 angeschlossen. Die Anordnungen 202209 können Subsysteme (zum Beispiel für Graphik, für Audio, für Video, Datenspeicher, usw.), gedruckte Leiterplatten, einzelne Halbleiterchips oder Chipsets (zum Beispiel RAM, ASICs, CPUs, DSPs, usw.) umfassen und verschiedene andere Komponenten (zum Beispiel Ein/Ausgabe-Anordnungen, Überbrückungen, Steuereinheiten, Schnittstellen, PCI-Anordnungen, usw.). Jede der Anordnungen 202209 weist ihre eigene dedizierte Sende- und Empfangseinheit für das Senden und das Empfangen von digitalen Daten auf. Acht solche Anordnungen 202209 sind dargestellt. Wie ebenfalls gezeigt, weist die paketvermittelte Leitweglenkung 201 acht Ports für die Kommunikation mit jeder der acht Anordnungen 202209 auf. In der vorliegenden Ausführungsform hat jeder Port die Fähigkeit, als entweder ein 16-Bit oder ein 8-Bit Port zu arbeiten. Jedoch können die Ports breiter sein als 16 Bits oder schmäler sein als 8 Bits. Jeder Port verwendet zwei Verbindungen: eine für das Senden (Quellverbindung) und eine für das Empfangen (Zielverbindung). Das System ist jedoch skalierbar, so dass es mehr oder weniger Anordnungen handhaben kann. Durch das Hinzufügen von weiteren Ports können zusätzliche Anordnungen über die paketvermittelte Leitweglenkung 201 in das Rechnersystem integriert werden. Jede dieser Anordnungen 202209 weist ihre eigene dedizierte Verbindung auf. Eine Verbindung ist dabei definiert als die physische Verbindung von der paketvermittelten Leitweglenkung 201 zu jeder der Anordnungen 202209. Eine Verbindung kann einseitig gerichtet oder bidirektional sein. Die gegenwärtig bevorzugte Ausführungsform jedoch hat die Einrichtung von unidirektionalen Punkt-zu-Punkt Verbindungen zur Folge, um eine geregelte Impedanzübertragungsleitung zur Verfügung zu stellen. Die Übertragungsgeschwindigkeit auf jeder der Verbindungen beträgt 400 MHz (2 Byte·400 MHz = 800 Megabytes pro Sekunde in jede Richtung = 1,6 Gigabyte pro Sekunde pro Port).
  • Die paketvermittelte Leitweglenkung 201 kann angewiesen werden, eine Verbindung zwischen zwei beliebigen gewünschten Anordnungen herzustellen. Daraufhin kann eine Quellanordnung ihr Paket von Daten über die Verbindung an die Zielanordnung senden. Sofort nachdem das Paket gesandt wurde, kann eine neue Verbindung eingerichtet werden, und die Quellanordnung kann die Übertragung eines anderen Pakets zu einer anderen Zielanordnung initiieren. Gleichzeitig kann eine andere Quellanordnung ihr Datenpaket über eine separate Verbindung an ihre beabsichtigte Zielanordnung senden. Zum Beispiel kann die Anordnung 202 mit der Anordnung 203 verbunden werden. Die Anordnung 202 sendet eine Paket an die Anordnung 203. Später kann die paketvermittelte Leitweglenkung 201 angewiesen werden, eine dedizierte Verbindung zwischen der Anordnung 202 und der Anordnung 203 herzustellen. Dann kann ein Paket von der Anordnung 202 zu der Anordnung 203 gesendet werden. Grundsätzlich ist die Anordnung 202 dazu in der Lage, mit jeder der mit der paketvermittelten Leitweglenkung 201 verbundenen anderen Anordnungen 203209 verbunden zu werden. In der vorliegenden Erfindung können eine oder mehrere Verbindungen zu jeder vorgegebenen Zeit hergestellt werden. Eine erste Verbindung kann zum Beispiel zwischen den Anordnungen 202 und 209 hergestellt werden während simultan eine zweite Verbindung zwischen den Anordnungen 203 und 205 hergestellt werden kann. Dadurch kann die Anordnung 202 ein Paket an die Anordnung 209 senden. Zu derselben Zeit kann die Anordnung 203 ihr Paket an die Anordnung 205 senden. Mit acht Anordnungen kann es bis zu vier separate Paketübertragungen geben, die zu derselben Zeit stattfinden. Zusätzliche 1,6 Gigabyte pro Sekunde an Bandbreite werden einfach durch Einführen einer zweiten Verbindung erreicht. Daher wird die Bandbreite bei der vorliegenden Erfindung lediglich dadurch auf den gewünschten Grad gesteigert, in dem zusätzliche Verbindungen hergestellt werden. Auf diese Weise macht die vorliegende Erfindung, anstatt ein gemeinsam genutztes Busschema mit nur einer Nachrichtenübermittlung über eine gemeinsam genutzte Sammellei tung aufzuweisen, Gebrauch von einer paketvermittelten Leitweglenkung-Architektur, um vielfache Verbindungen herzustellen, so dass vielfache Datenpakete gleichzeitig übermittelt werden können.
  • 3 zeigt ein detaillierteres Diagramm der wesentlichen, mit der paketvermittelten Leitweglenkung verbundenen Blöcke. Die gegenwärtig bevorzugte Implementierung der Architektur verwendet ein paketvermittelndes Protokoll hoher Geschwindigkeit. Ein Datenpaket bezieht sich auf eine Minimaleinheit des Datentransfers über eine der Verbindungen. Pakete können eine von mehreren festen Größen aufweisen, die sich von einer doppelten Wortlänge (das heißt 8 Byte) bis zu einer vollen Cacheleitung (das heißt 128 Byte) zuzüglich eines Anfangsblocks erstrecken. Die Datenpakete werden quellensynchron übertragene (das heißt das Taktsignal wird mit den Daten gesendet) bei Raten von bis zu 800 MB/Sekunde für 16-Bit Verbindungen und bis zu 400 MB/Sekunde für 8-Bit Verbindungen. Aufgeteilte Transaktionen werden verwendet, um Daten zu senden, wobei eine Initiatoranordnung 301 ein Anforderungspaket (zum Beispiel einen Lesebefehl oder einen Schreibbefehl plus Daten) zu einer Zielanordnung 302 sendet, die dann mit einem Antwortpaket antwortet (zum Beispiel Daten oder wahlweise einer Schreibbestätigung). Die paketvermittelte Leitweglenkung 303 führt die Funktionen einer Vermittlungsmatrix aus. Die Anordnung 301, die ein Paket zu einer anderen Anordnung 302 übertragen möchte, überträgt das Paket zuerst an ihren zugehörigen Eingangspaketpuffer. Sobald die Information zur Leitweglenkung des Pakets korrekt empfangen worden ist, beginnt die Entscheidung für die Zielverbindungssteuereinheit 308. Das Paket wird dann gespeichert, bis die entsprechende Quellverbindungssteuereinheit 304 erfolgreich Zugang zu der Zielverbindungssteuereinheit 308 erhalten kann. Sobald der Zugang gewährt ist, wird das Paket durch die Vermittlungsmatrix 313 zur Zielverbindungssteuereinheit 308 übertragen und wird anschließend an die Zielanordnung 302 übertragen.
  • Daher umfassen die wesentlichen funktionellen Blöcke, die der paketvermittelten Leitweglenkung 303 zugehörig sind, Verbindungssteuereinheiten 304311, eine interne Schnittstelle 312 und die Vermittlungsmatrix 313. Die Verbindungssteuereinheiten 304311 verarbeiten alle Paketübertragungen auf dem Verbindungsport zwischen einer Anordnung und der paketvermittelten Leitweglenkung. Die Verbindungssteuereinheiten 304311 bestehen aus zwei Subblöcken: der Quellenverbindungssteuereinheit und der Zielverbindungssteuereinheit. Die Quellenverbindungssteuereinheit steuert alle Paketbewegungen von einer Quellenverbindung an den internen Kreuzschienenverteiler 313. Umgekehrt steuert eine Zielverbindungssteuereinheit alle Paketbewegungen von der paketvermittelten Leitweglenkung zur Zielverbindung. Der Kreuzschienenverteiler 313 ist ein Schalter mit neun Ports, der die Quellenverbindungssteuereinheiten mit den Zielverbindungssteuereinheiten verbindet. Zusätzlich ist ein Port auf dem Kreuzschienenverteiler 313 für die interne Schnittstelle 312 reserviert. Die interne Schnittstelle 312 enthält die Schnittstelle zu allen der paketvermittelten Leitweglenkung 303 internen Registern und arbeitet auch während der Fehlerbehandlung in Verbindung mit den Verbindungssteuereinheiten. Jeder dieser wesentlichen Blöcke wird im Detail nachfolgend beschrieben.
  • 4 zeigt einen detaillierten Schaltplan einer Verbindungssteuereinheit. Die Verbindungssteuereinheit ist in zwei Abschnitte eingeteilt, eine Quellverbindungssteuereinheit 401 und eine Zielverbindungssteuereinheit 402. Die Quellenverbindungssteuereinheit 401 handhabt allen Verkehr zwischen der Quellenverbindung und der Vermittlungsmatrix 403. Die Pakete werden auf der Quellenverbindung übertragen und die Daten werden von dem quellensynchronen Empfänger (Source Synchronous Receiver SSR) 403 und das Link Level Protocol (LLP) Empfangsmodul 404 empfangen. Die Daten werden in Mikropaketen übertragen, um fehlerfreie Übertragung sicherzustellen. Jedes Mikropaket umfasst 128 Bits von Daten, 16 Prüfbits, 4 Bits einer Übertragungsreihenfolgennummer, 4 Bits einer Empfangs reihenfolgennummer und 8 Bits einer Seitenbandinformation. Das SSR 403 empfängt den schmalen, 400 MHz Datenstrom und das übertragene Taktsignal. Es verwendet das Taktsignal, um den Datenstrom in einen breiten, 100 MHz Datenstrom zurückzuwandeln. Daher ist der überwiegende Anteil der Logik der paketvermittelten Leitweglenkung von den Hochgeschwindigkeitsverbindungen isoliert und läuft bei einer 100 MHz Kerntaktfrequenz. Das LLP Modul erneuert die Fehlerprüfbits von den erhaltenen Daten und vergleicht sie mit den erhaltenen Prüfbits um sicherzustellen, dass keine Fehler aufgetreten sind.
  • Die Funktion des LLP Empfangsmoduls 404 ist es, die oberen Bereiche der Logik in der Verbindungssteuereinheit vom Link Level Protocol (LLP) zu isolieren. Im Wesentlichen entfernt das SSR 403 und das LLP Empfangsmodul 404 alle Verbindungsprotokollinformation und reicht die Daten an die nächsten Stufen der Logik weiter.
  • Danach durchsucht die Paketempfangssteuerungslogik 405 die Seitenbanddaten nach einem "Anfang des Pakets" Code. Wenn dieser Code empfangen wird, beginnt die Steuerungslogik 405, einen der 4 Paketeingangspuffer 406 zu füllen. Die Paketeingangspuffer 406 dienen zwei Zwecken. Erstens stellen sie einen Platz zur Verfügung, um ein Paket vorläufig zu speichern, wenn das Paketziel belegt ist. Und zweitens stellen sie einen Abgleich der Übertragungsraten zwischen den Datenströmen zur Verfügung, die vom LLP und von der Vermittlungsmatrix kommen. Die Paketempfangssteuerungslogik 405 extrahiert auch relevante Informationen aus den Befehlswortanteilen der Pakete und stellt diese in die Anforderungswarteschlange, die sich im Anforderungsmanager 407 befindet. Die in die Anforderungswarteschlange geschriebene Information definiert den Zielort, die Priorität und den Typ (das heißt Anforderung oder Antwort) des Pakets. Es ist die Aufgabe des Anforderungsmanager zu bestimmen, welche Pakete zur Entscheidung geeignet sind. Während das Paket empfangen wird und in einen der Paketeingangspuffer 406 übertragen wird, überprüft der Anforderungs manager 407 den Status des Zielports und die Prioritäten der Paket in der Warteschlange, um zu bestimmen, welches der Pakete im Pakteingangspuffer 406 die höchste Priorität aufweist. Wenn das Paket, das gerade in die Warteschlange gekommen ist die höchste Priorität aller gegenwärtig in der Schlange befindlicher Pakete aufweist, wird es an die Spitze der Warteschlange gestellt und die Entscheidungsphase beginnt mit diesem Paket. Wenn es in der Warteschlange bereits Verbindungsanforderungen mit höherer Priorität gibt, wartet das Paket, bis diese Anforderungen bedient wurden.
  • Während der Entscheidungsphase sendet der Anforderungsmanager 407 der mit dem Zielort dieses Pakets verbundenen Zielverbindungssteuereinheit eine Verbindungsanforderung (port_req) zu. Der Anforderungsmanager 407 alarmiert dann die Paketversandsteuerung 408, dass eine Verbindungsentscheidung im Gang ist. Wenn das Paket die Entscheidung gewinnt, wird ein port_grant Signal von der Zielverbindungssteuereinheit an die anfordernde Quelle zurückgeschickt. Daraufhin beginnt der Versandsteuerung 408 die Pakete aus dem Paketeingangspuffer 406 und in die Vermittlungsmatrix 409 zu übertragen. Der Anforderungsmanager 407 zieht dann den Eintrag aus der Anforderungswarteschlange zurück. Während die Versandsteuerung 408 die Pakete überträgt, überwacht sie auch, ob der Zielort gegenwärtig weitere Daten annehmen kann. Wenn sich die Übertragung der Pakete der Fertigstellung nähert, gibt die Versandsteuerung 408 die Steuerung des Zielports durch Bestätigung des Portfreigabesignals frei. Dies gibt den Verbindungsentscheider 410 frei, um mit einer neuen Entscheidungsphase zu beginnen und eine neue Verbindung herzustellen.
  • Immer noch in Bezug auf 4 handhabt die Zielverbindungssteuereinheit 402 allen Paketverkehr zwischen der Vermittlungsmatrix und der Zielverbindung. Zusätzlich dazu steuert sie allen Zugriff auf den Zielport durch den Verbindungsentscheider 410. Der Verbindungsentscheider 410 ist dafür verantwortlich, unter all den Quellenverbindungssteuereinheiten auszuwählen, die anfordern, eine Verbindung zu seinem Zielport herzustellen. Der Entscheidungsträger 410 durchsucht allen gegenwärtigen port_req Signale und schickt ein port_grant Signal an die ausgewählte Quellenverbindungssteuereinheit zurück. Er aktualisiert dann den Status des Zielports (port_status). Während die port_grant Bestätigung gesendet wird, legt der Verbindungsentscheider 410 auch die Schaltvorgänge der Vermittlungsmatrix, damit dies mit den ersten Daten zusammenzufallen, die am Zielport der Quellenverbindungssteuereinheit ankommen. Ein neuer Entscheidungslauf beginnt, wenn der Entscheider 410 ein Portfreigabesignal von der Quellenverbindungssteuereinheit empfängt.
  • Die Daten werden direkt von der Vermittlungsmatrix an das LLP Sendemodul 411 geleitet. Das LLP Sendemodul 411 enthält einen internen Puffer, der verwendet wird, um zwei Funktionen auszuführen. Zum Ersten wird ein Teil dieses Puffers für das Unterstützen des LLP Gleitfensterprotokolls verwendet. Während Daten über die Verbindung übertragen werden, werden sie auch in den Puffer geschrieben. Wenn der Erhalt der Daten vom Empfänger bestätigt wird, werden die Pufferplätze geräumt. Wenn jedoch eine Bestätigung nicht empfangen wird, werden die Daten nochmals übertragen. Im normalen Betrieb mit Paketen, die richtig empfangen werden, wird nur ein Teil des Puffers verwendet, um dieses Protokoll zu unterstützen. Zum Zweiten wird der übrige Platz im Puffer verwendet, um einen Abgleich zwischen der mit 800 MB/Sekunde arbeitenden Vermittlungsmatrix 409 und den 400 8-Bit MB/Sekunde Verbindungen herzustellen. Dieses Pufferung erlaubt es einer 16-Bit Quellenverbindungssteuereinheit oder einer 8-Bit Quellenverbindungssteuereinheit, die ein volle Paket angesammelt haben, mit der vollen Übertragungsgeschwindigkeit an eine 8-Bit Zielverbindung zu übertragen. Dadurch kann die Quellenverbindungssteuereinheit dann zur Bedienung eines anderen Zielortes übergehen, während die Übertragung auf der Zielverbindung geschieht.
  • Eine Beschreibung der internen Schnittstelle 312 wird nachfolgend dargestellt. Jeglicher Zugang zu den internen Registern in der paketvermittelten Leitweglenkung wird über diese interne Schnittstelle ausgeführt. Anordnungen, die eine Anforderung stellen, diese Register zu verändern, sollten ihre Anforderungspakete an das interne Schnittstellenziel richten. Die interne Schnittstelle arbeitet sehr ähnlich wie jede andere Ausführungsform von Verbindungssteuereinheiten. Quellenverbindungssteuereinheiten, die eine Verbindung mit der internen Schnittstelle wünschen, senden eine Verbindungsanfrage zu der internen Schnittstelle. Der Entscheider innerhalb der internen Schnittstelle sendet eine Bestätigung und empfängt dann die Pakete. Nachdem die interne Schnittstelle die Pakete erhalten hat, führt sie die entsprechenden Vorgänge auf den Registern der paketvermittelten Leitweglenkung aus. Wenn eine Antwort erforderlich ist, formt die interne Schnittstelle ein Antwortpaket aus und überträgt es über die Vermittlungsmatrix zurück auf die initiierende Anordnung.
  • Es gibt viele verschiedene Schaltungsentwürfe die verwendet werden können, um die Vermittlungsmatrix zu realisieren. Die gegenwärtig bevorzugte Ausführungsform für die Vermittlungsmatrix wird in 5 gezeigt. Die Vermittlungsmatrix 501 weist neun 68-Bit breite 8:1 Multiplexer auf. Jeder der Quellports kann gleichzeitig mit jedem der Zielports verbunden werden. Die Schalterverbindung wird in einem Kerntaktzyklus von den Daten durchquert. Daher ist es für Quellenverbindungssteuereinheiten notwendig, die Vermittlungsmatrix mit in Registern abgelegten Ausgaben anzusteuern und für die Zielverbindungssteuereinheiten ist es notwendig, die Daten in den Registern abzulegen. Zum Zweck der Darstellung wird ein Paar von diesen Multiplexern 502 und 503 für das Verbinden einer ersten Verbindungssteuereinheit 504 mit einer zweiten Verbindungssteuereinheit 505 gezeigt. Auf der Verbindung 506 erhaltene Daten werden durch den Quellenverbindungssteuereinheit 507 geleitet und in den Multiplexer 502 eingegeben. Der Multiplexer 502 wird angewiesen, die entsprechende Eingangslei tung zu wählen, die mit der Ausgabeleitung 508 verbunden werden soll. Dies bewirkt, dass die Daten schließlich in die Zielverbindungssteuereinheit 509 eingegeben und auf einen Port auf Verbindung 510 ausgegeben werden. Auf die gleiche Weise werden Daten in der Verbindung 511 in die Quellenverbindungssteuereinheit 512 eingegeben. Die Daten werden dann von der Quellenverbindungssteuereinheit 512 verarbeitet und als Eingangssignal auf Leitung 513 an den Multiplexer 503 gesandt. Der Multiplexer 503 wird angewiesen, die entsprechenden Eingangsleitungen 513 zu wählen und eine Verbindung zu den entsprechenden Leitungen 514 zur Eingabe in die Zielverbindungssteuereinheit 515 herzustellen. Dadurch verarbeitet die Zielverbindungssteuereinheit 515 die erhaltenen Daten und schickt diese über die Verbindung 516 hinaus an den Zielport. Es sollte beachtet werden, dass vielfache Gruppen von Eingangssignalen von jeder der Verbindungssteuereinheiten in jeden der neun Multiplexer eingegeben werden. Dadurch kann jeder Multiplexer wählen, welche dieser mehrfachen Eingangssignale mit seiner Zielverbindung verbunden werden soll.
  • 6 zeigt einen beispielhaften Vermittlungsschaltkreis, um gleichzeitige Nachrichtenübermittlungen zur Verfügung zu stellen. Vier separate Anordnungen 601604 sind mit der paketvermittelten Leitweglenkung 605 durch vier Paare von Verbindungen verbunden. Die paketvermittelte Leitweglenkung 605 weist vier Verbindungssteuereinheiten 606609 und die Vermittlungsmatrix 610 auf. Die Vermittlungsmatrix 610 weist vier Multiplexer 611614 auf. Jeder der Multiplexer 611614 akzeptiert Eingangssignale von drei Quellverbindungen und Ausgaben an eine Zielverbindung. Diese Multiplexer können so angewiesen werden, dass Verbindungen von einer bestimmten Anordnung zu jeder der anderen drei Anordnungen hergestellt werden können. Zum Beispiel kann die Ausgabeverbindung der Anordnung 601 mit der Zielanordnung 602 über den Multiplexer 611 verbunden werden; Zielanordnung 603 über den Multiplexer 612; oder Zielanordnung 604 über den Multiplexer 613. Ebenso kann die Ausgabeverbindung von Anordnung 603 mit der Zielan ordnung 601 über den Multiplexer 614 verbunden werden; Zielanordnung 602 über den Multiplexer 611; oder Zielanordnung 604 über den Multiplexer 613.
  • Außerden können Signalwege eingeführt werden, um mehrere gleichzeitige Paketübertragungen zur Verfügung zu stellen. Zum Beispiel kann die Anordnung 602 mit der Anordnung 604 über den Multiplexer 613 verbunden werden. Und die Anordnung 603 kann mit der Anordnung 601 über den Multiplexer 614 verbunden werden. Dadurch können drei separate Pakete von Daten gleichzeitig gesendet werden: packet1 von der Quellanordnung 601 zu der Zielanordnung 602, packet2 von der Quellanordnung 602 zu der Zielanordnung 604 und packet3 von der Quellanordnung 603 zu der Zielanordnung 601. In einer alternativen Ausführungsform können Verbindungen zwischen einer einzelnen Quellanordnung und mehreren Zielgeräten hergestellt werden. Zum Beispiel kann die Anordnung 601 Daten an beide Anordnungen 603 und 604 simultan senden. Umgekehrt können alle Quellanordnungen 602, 603 und 604 Pakete an 601 senden. Die Entscheidung wird bei der Verbindungssteuereinheit 606 für die vielfachen Quellen getroffen, die an Anordnung 601 senden. Natürlich kann die Schaltung skaliert werden, um zusätzliche Anordnungen durch Hinzufügen von mehr Verbindungen, Verbindungsstenereinheiten und Multiplexern unterzubringen.
  • Es gibt viele verschiedene Rechnersystemkonfigurationen, auf die die paketvermittelte Leitweglenkung-Architektur der vorliegenden Erfindung angewandt werden kann. Ein solches beispielhaftes Rechnersystem wird in 7 gezeigt. Die paketvermittelte Leitweglenkung 701 weist ein Paar von direkten Punkt-zu-Punkt Verbindungen zu der Datenspeichersteuereinheit 702 auf. Die Datenspeichersteuereinheit 702 erleichtert den Transfer von Daten zwischen einem oder mehreren Mikroprozessoren 703 und dem Hauptdatenspeicher 704. Eine Hochgeschwindigkeitscatenspeicherbus 705 (zum Beispiel 1 GByte/Sekunde) wird verwendet, um die Datenspeichersteuereinheit 702 mit dem eigentlichen Hauptdatenspeicher 704 zu verbinden. Um die Leistung zu verbessern, können die Mikroprozessoren 703 Daten vorübergehend im Cache 706 zwischenspeichern. Andere Anordnungen, die mit der paketvermittelten Leitweglenkung 701 verbunden sein können, umfassen ein oder mehrere graphische Subsysteme 707708. Die graphischen Subsysteme 707708 führen Funktionen wie Suchumwandlung, Texturierung, Anti-Aliasing usw. aus. Weiterhin kann eine Videobaugruppe 709, die Kompressions-/Dekompressionsfähigkeiten aufweist, mit der paketvermittelten Leitweglenkung 701 verbunden sein. Eine Brückenanordnung 710 kann ebenfalls mit der paketvermittelten Leitweglenkung 701 verbunden sein. Die Brücke 710 wirkt als Schnittstelle, so dass verschiedene Serien-PCI-Anordnungen (zum Beispiel Graphikcontroller, Modems, Plattencontroller usw.) über Standard-SCSI 711, IOC 712 mit dem Rechnersystem und mit Audioports 713 verbunden werden können. Eine zweite Brücke 714 kann hinzugefügt werden, um die Erweiterungs-PCI-Slots 715717 zur Verfügung zu stellen. Die Ports 718 und 719 werden verwendet, um zukünftiges Wachstum und Ausbaufähigkeit für das Rechnersystem zur Verfügung zu stellen.
  • Die vorangegangenen Beschreibungen von bestimmten Ausführungsformen der vorliegenden Erfindung sind zum Zweck der Illustration und Beschreibung gezeigt worden. Es ist nicht beabsichtigt, dass sie erschöpfend sind oder dass sie die Erfindung auf die exakten offenbarten Ausführungsformen beschränken und viele Änderungen und Abwandlungen sind möglich im Licht der oben dargestellten Lehre. Die Ausführungsformen wurden gewählt und beschrieben, um die Prinzipien des Erfindung und ihre praktische Anwendung am besten zu erklären, und um dadurch Anderen, die in der Technik ausgebildet sind, am besten zu ermöglichen Gebrauch von der Erfindung und den verschiedenen Ausführungsformen mit verschiedenen Änderungen zu machen, wie diese für die in Erwägung gezogene besondere Verwendung geeignet sind. Es ist beabsichtigt, dass der Schutzumfang der Erfindung durch die hierzu angehängten Ansprüche und ihre Entsprechungen definiert wird.

Claims (19)

  1. Paketvermittelte Leitweglenkung (201) zur Herstellung der Datenkommunikation zwischen einer Vielzahl von Vorrichtungen (202209), die sich in einem Computer befinden, wobei mindestens zwei gleichzeitige Datenkommunikationen zwischen den Vorrichtungen (202209) durch die Paketvermittelte Leitweglenkung (201) übermittelt werden, wobei die paketvermittelte Leitweglenkung (201) umfasst: eine Vielzahl von Verbindungssteuerungen (304311), die mit der Vielzahl von Vorrichtungen (202209) verbunden sind; eine Vielzahl von Schaltelementen (313; 409), um ein Paket von Daten von einer als Quelle gewählten Vorrichtung zu einer als Ziel gewählten Vorrichtung weiterzuleiten, indem ein Datenkommunikationspfad hergestellt wird von der als Quelle gewählten Vorrichtung zu der als Ziel gewählten Vorrichtung und der Datenkommunikationspfad danach für ein nachfolgendes Datenpaket zu einer anderen als Ziel gewählten Vorrichtung geschaltet wird, wobei die Vielzahl der Schaltelemente (313; 409) eine Vielzahl von Datenkommunikationspfaden simultan herstellen, um das gleichzeitige Auftreten vieler Datenkommunikationen zwischen einer Vielzahl von Vorrichtungen (202209) zu ermöglichen; und eine Schnittstellen-Schaltungsanordnung (411) die dazu ausgelegt ist festzustellen, ob Datenpakete erfolgreich an der als Ziel gewählten Vorrichtung empfangen wurden, wobei die Schnittstellen-Schaltungsanordnung (411) dazu ausgelegt ist, als Reaktion auf nicht an der als Ziel gewählten Vorrichtung empfangenen Datenpaketen diese Datenpakete über einen internen Pufferspeicher erneut zu versenden und wobei die Schnittstellen-Schaltungsanordnung dazu ausgelegt ist Datenpakete zur ordnungsgemäßen Ausgabe über den Pufferspeicher in der Frequenz anzugleichen.
  2. Paketvermittelte Leitweglenkung nach Anspruch 1, wobei die Vielzahl der Datenkommunikationspfade Punkt-zu-Punkt Verbindungen sind.
  3. Paketvermittelte Leitweglenkung nach Anspruch 1 oder 2, wobei die Vielzahl der Verbindungssteuerungen (304311) korrespondieren mit jedem aus der Vielzahl von Vorrichtungen (202209), um Pakete aus Daten zwischen den Vorrichtungen (202209) und der Vielzahl von Schaltelementen (313; 409) zu bewegen.
  4. Paketvermittelte Leitweglenkung nach Anspruch 3, bei der jede Verbindungssteuerung (401) eine erste Frequenz empfangener Daten in eine zweite Frequenz umwandelt, wobei die zweite Frequenz niedriger ist als die erste Frequenz.
  5. Paketvermittelte Leitweglenkung nach einem der vorangehenden Ansprüche, wobei die Vielzahl der Schaltelemente (313; 409; 501) eine Vielzahl von Multiplexern (502; 503) umfasst, die mehrere Eingänge zur Aufnahme von Daten von der Vielzahl der mit der paketvermittelten Leitweglenkung verbundenen Vorrichtungen (202209) aufweisen und einen der Eingänge als Ausgang für eine der mit der paketvermittelten Leitweglenkung verbundenen Vorrichtungen auswählen.
  6. Paketvermittelte Leitweglenkung nach einem der vorangehenden Ansprüche, der weiterhin einen Speicher zur temporären Speicherung von Daten aufweist, wenn deren beabsichtigte Zieladresse gerade belegt ist.
  7. In ein Computersystem eingebaute paketvermittelte Leitweglenkung nach Anspruch 1 zur gleichzeitigen Übertragung mehrerer Datenübertragungen zwischen der Vielzahl von Vorrichtungen, die weiterhin aufweist: eine erste im Computersystem untergebrachte Vorrichtung (601), die eine zugeordnete erste Quellenverbindung (606) zur Übertragung von Datenpaketen durch die erste Vorrichtung (601) und eine zugeordnete erste Zielverbindung (606) zum Empfang von Datenpaketen durch die erste Vorrichtung (601) aufweist, wobei die zugeordnete erste Quellenverbindung (606) und die zugeordnete erste Zielverbindung (606) ein erstes Paar von unidirektionalen Punkt-zu-Punkt-Datenkommunikationspfaden (615; 618) aufweisen; eine zweite im Computersystem untergebrachte Vorrichtung (602), die eine zugeordnete zweite Quellenverbindung (607) zur Übertragung von Datenpaketen durch die zweite Vorrichtung (602) und eine zugeordnete zweite Zielverbindung (607) zum Empfang von Datenpaketen durch die zweite Vorrichtung (602) aufweist, wobei die zugeordnete zweite Quellenverbindung (607) und die zugeordnete zweite Zielverbindung (607) ein zweites Paar von unidirektionalen Punkt-zu-Punkt-Datenkommunikationspfaden (619; 622) aufweisen; eine dritte im Computersystem untergebrachte Vorrichtung (603), die eine zugeordnete dritte Quellenverbindung (608) zur Übertragung von Datenpaketen durch die dritte Vorrichtung (603) und eine zugeordnete dritte Zielverbindung (608) zum Empfang von Datenpaketen durch die dritte Vorrichtung (603) aufweist, wobei die zugeordnete dritte Quellenverbindung (608) und die zugeordnete dritte Zielverbindung (608) ein drittes Paar von unidirektionalen Punkt-zu-Punkt-Datenkommunikationspfaden (616; 617) aufweisen; und wobei die paketvermittelte Leitweglenkung in dem Computersystem untergebracht ist mit dem die ersten, zweiten und dritten Quellenverbindungen (606; 607; 608) und die ersten, zweiten und dritten Zielverbindungen (606; 607; 608) verbunden sind, wobei die paketvermittelte Leitweglenkung es ermöglicht, dass Datenpakete durch das erste, zweite und dritte Paar von unidirektionalen Punkt-zu-Punkt-Datenkommunikationspfaden (615; 618, 619; 622, 616; 617) von der ersten Vorrichtung (601) an die zweite Vorrichtung (602) übermittelt werden, während Datenpakete von der zweiten Vorrichtung (602) an die dritte Vorrichtung (603) übermittelt werden und während Datenpakete von der dritten Vorrichtung (603) an die erste Vorrichtung (601) übermittelt werden, wobei die paketvermittelte Leitweglenkung die Funktionalität aufweist, zu bestimmen, ob Datenpakete erfolgreich bei einer als Empfänger gewählten Vorrichtung empfangen wurden und die paketvermittelte Leitweglenkung die Funktionalität aufweist, Datenpakete als Reaktion auf nicht bei einer als Empfänger gewählten Vorrichtung empfangene Datenpakete erneut zu versenden, wobei die paketvermittelte Leitweglenkung einen internen Pufferspeicher zur Aufbewahrung von Datenpaketen für das erneute Verschicken aufweist, wobei der interne Pufferspeicher auch die Funktionalität aufweist, einen Frequenzangleichung für die ordnungsgemäße Ausgabe der Datenpakete durchzuführen.
  8. Paketvermittelte Leitweglenkung nach Anspruch 7, wobei die Übertragung von Daten Pakete von digitalen Bits fester Länge umfasst, die Datenbits, Fehlerbits und Informationsbits einschließen.
  9. Paketvermittelte Leitweglenkung nach Anspruch 7 oder 8, wobei eine Vielzahl von Verbindungssteuerungen (606608), die mit jedem der ersten, zweiten und dritten Vorrichtungen (601; 602; 603) korrespondieren, zur Verfügung gestellt werden, um die Übertragung von Datenpaketen zwischen einem der Verbindungen und der paketvermittelten Leitweglenkung zu koppeln.
  10. Paketvermittelte Leitweglenkung nach einem der Ansprüche 7 bis 9 der weiterhin einen Schaltkreis zum Schalten beinhaltet, der eine Vielzahl von Multiplexern (611; 612; 613; 614) aufweist, die mehrere Eingänge zum Empfang von Daten von Quellenverbindungen und einen Ausgang zu einem der Zielverbindungen an einer der Vorrichtungen (601; 602; 603; 604) haben.
  11. Paketvermittelte Leitweglenkung nach Anspruch 10, wobei der Schaltkreis zum Schalten eine Schnittstellen-Schaltungsanordnung zur Steuerung der Vielzahl von Multiplexern umfasst.
  12. Paketvermittelte Leitweglenkung nach einem der Ansprüche 7 bis 11, wobei das Computersystem weiterhin einen Speicher zum temporären Speichern von Datenpaketen aufweist, wenn deren beabsichtigte Zieladresse gerade belegt ist.
  13. Paketvermittelte Leitweglenkung nach einem der Ansprüche 7 bis 12, wobei die erste Vorrichtung (601) die Funktionalität aufweist, eine Kommunikationsverbindung mit entweder der zweiten oder der dritten Vorrichtung (602, 603) herzustellen, die zweite Vorrichtung (602) die Funktionalität aufweist, eine Kommunikationsverbindung mit entweder der ersten oder der dritten Vorrichtung (601, 603) herzustellen und die dritte Vorrichtung (603) die Funktionalität aufweist, eine Kommunikationsverbindung mit entweder der ersten oder der zweiten Vorrichtung (601, 602) herzustellen.
  14. Paketvermittelte Leitweglenkung nach einem der Ansprüche 7 bis 11, wobei das Computersystem weiterhin einen Entscheidungsschaltkreis (410) aufweist, um zu entscheiden dass Datenpakete von der dritten Vorrichtung empfangen werden, wenn die paketvermittelte Leitweglenkung sowohl die erste und die zweite Vorrichtung (601, 602) dazu in die Lage versetzt Daten an die dritte Vorrichtung zu übertragen (603).
  15. Paketvermittelte Leitweglenkung nach einem der Ansprüche 7 bis 14, wobei das Computersystem weiterhin die Übertragung von Daten von der dritten Vorrichtung (603) an die erste Vorrichtung (601) aufweist, während die erste Vorrichtung (601) Daten an die zweite Vorrichtung (602) überträgt und die zweite Vorrichtung (602) Daten an die dritte Vorrichtung (603) überträgt.
  16. Verfahren zur Übertragung mehrerer Datenpakete zwischen einer Vielzahl von Vorrichtungen (601604) innerhalb des Computersystems, so dass mehrere Kommunikationsvorgänge zwischen einer Vielzahl ausgewählter Vorrichtungen gleichzeitig auftreten, die die Schritte umfassen: Erkennen einer ersten Vorrichtung (601), einer zweiten Vorrichtung (602) und einer dritten Vorrichtung (603), die sich im Computersystem befinden; Übertragen paketierter Daten von der ersten Vorrichtung (601), der zweiten Vorrichtung (602) und der dritten Vorrichtung (603) auf eine paketvermittelte Leitweglenkung durch zugeordnete Quellen- und Zielverbindungen (606609), die Paare von unidirektionalen Punkt-zu-Punkt-Datenpfaden (615609) bilden, wobei sich die paketvermittelte Leitweglenkung im Computersystem befindet; Übertragen paketierter Daten von der ersten Vorrichtung (601) über die paketvermittelte Leitweglenkung auf die zweite Vorrichtung (602), während die zweite Vorrichtung (602) paketierte Daten auf die dritte Vorrichtung (603) überträgt; Bestimmung an der paketvermittelten Leitweglenkung, ob ein Datenpaket erfolgreich an einer als Ziel vorgesehenen Vorrichtung empfangen wurde; erneutes Senden von Datenpaketen aus einem internen Puf ferspeicher der paketvermittelten Leitweglenkung als Reaktion auf Datenpakete, die an einer als Ziel vorgesehenen Vorrichtung nicht empfangen wurden; Frequenzangleichung der Datenpakete im internen Pufferspeicher um ordnungsgemäße Ausgabe zu erzielen
  17. Verfahren nach Anspruch 16, weiterhin aufweisend den Arbeitsschritt, die paketvermittelte Leitweglenkung anzuweisen, eine neue Verbindung zwischen der dritten Vorrichtung (603) und entweder der ersten Vorrichtung (601) oder der zweiten Vorrichtung (602) herzustellen.
  18. Verfahren nach Anspruch 16 oder 17, weiterhin aufweisend den Arbeitsschritt, eine Vielzahl von Multiplexern (611614) anzuweisen, mehrere Eingänge zum Empfang von Daten von einer Vielzahl der Vorrichtungen (601604) zur Verfügung zu stellen und einen der Eingänge als Ausgang zu einer der Vorrichtungen (601604) auszuwählen.
  19. Verfahren nach einem der Ansprüche 16 bis 18, weiterhin aufweisend den Arbeitsschritt Datenpakete festzulegen, die von der ersten Vorrichtung (601) oder der zweiten Vorrichtung (602) an die dritte Vorrichtung (603) geschickt werden.
DE69735546T 1996-09-23 1997-08-14 Paketvermittelte leitweglenkung-architektur für mehrere gleichzeitige verbindungen Expired - Lifetime DE69735546T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US717580 1996-09-23
US08/717,580 US6683876B1 (en) 1996-09-23 1996-09-23 Packet switched router architecture for providing multiple simultaneous communications
PCT/US1997/014321 WO1998012845A1 (en) 1996-09-23 1997-08-14 Packet switched router architecture for providing multiple simultaneous communications

Publications (2)

Publication Number Publication Date
DE69735546D1 DE69735546D1 (de) 2006-08-17
DE69735546T2 true DE69735546T2 (de) 2006-12-14

Family

ID=24882613

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69735546T Expired - Lifetime DE69735546T2 (de) 1996-09-23 1997-08-14 Paketvermittelte leitweglenkung-architektur für mehrere gleichzeitige verbindungen

Country Status (6)

Country Link
US (1) US6683876B1 (de)
EP (1) EP0927477B1 (de)
JP (1) JP2001500705A (de)
AU (1) AU3981197A (de)
DE (1) DE69735546T2 (de)
WO (1) WO1998012845A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL142400A0 (en) * 1998-09-18 2002-03-10 Harris Corp Distributed trunking mechanism for vhf networking
US6810211B1 (en) * 1999-09-08 2004-10-26 Alcatel Preferred WDM packet-switched router architecture and method for generating same
US6553446B1 (en) 1999-09-29 2003-04-22 Silicon Graphics Inc. Modular input/output controller capable of routing packets over busses operating at different speeds
US6967950B2 (en) * 2000-08-11 2005-11-22 Texas Instruments Incorporated Pull transfers and transfer receipt confirmation in a datapipe routing bridge
GB2370380B (en) * 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
US20030005154A1 (en) * 2001-06-29 2003-01-02 Thurman Robert W. Shared routing in a measurement system
TW552511B (en) * 2002-04-04 2003-09-11 Via Tech Inc Bus for supporting plural signal line states and its switching method
TW594490B (en) * 2003-03-20 2004-06-21 Via Tech Inc Bus for control chipset and the arbitration method
EP2083632A2 (de) * 2006-11-21 2009-08-05 Mitam Ltd. Formulierungen von entomopathogenen pilzen für die insektenbekämpfung
US12112165B2 (en) * 2022-09-29 2024-10-08 Macronix International Co., Ltd. Managing status information of logic units

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885739A (en) * 1987-11-13 1989-12-05 Dsc Communications Corporation Interprocessor switching network
US5179669A (en) * 1988-08-22 1993-01-12 At&T Bell Laboratories Multiprocessor interconnection and access arbitration arrangement
US5088091A (en) * 1989-06-22 1992-02-11 Digital Equipment Corporation High-speed mesh connected local area network
US5051982A (en) * 1989-07-27 1991-09-24 Data General Corporation Methods and apparatus for implementing switched virtual connections (SVCs) in a digital communications switching system
DE4004956A1 (de) * 1990-02-19 1991-08-22 Philips Patentverwaltung Koppelelement fuer ein asynchrones zeitvielfachuebermittlungssystem
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5274631A (en) * 1991-03-11 1993-12-28 Kalpana, Inc. Computer network switching system
US5218602A (en) * 1991-04-04 1993-06-08 Dsc Communications Corporation Interprocessor switching network
US5361255A (en) * 1991-04-29 1994-11-01 Dsc Communications Corporation Method and apparatus for a high speed asynchronous transfer mode switch
CA2068056C (en) * 1991-05-07 1998-06-16 Kazuo Sakagawa Switching node in label multiplexing type switching network
US5537142A (en) * 1993-10-20 1996-07-16 Videolan Technologies, Inc. Local area network for simultaneous, bi-directional transmission of video bandwidth signals, including a switching matrix which defines user connections, upstream connections, and downstream connections and has an efficient configuration to minimize the
US5519704A (en) * 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing
US5541927A (en) * 1994-08-24 1996-07-30 At&T Corp. Method of multicasting
KR0126848B1 (ko) * 1994-12-16 1998-04-01 양승택 다중화기와 역다중화기를 이용한 고정길이 패킷 스위칭 장치
US5555543A (en) * 1995-01-03 1996-09-10 International Business Machines Corporation Crossbar switch apparatus and protocol
US5959995A (en) * 1996-02-22 1999-09-28 Fujitsu, Ltd. Asynchronous packet switching
US5793768A (en) * 1996-08-13 1998-08-11 At&T Corp Method and apparatus for collapsing TCP ACKs on asymmetrical connections

Also Published As

Publication number Publication date
AU3981197A (en) 1998-04-14
EP0927477B1 (de) 2006-03-22
JP2001500705A (ja) 2001-01-16
DE69735546D1 (de) 2006-08-17
US6683876B1 (en) 2004-01-27
WO1998012845A1 (en) 1998-03-26
EP0927477A1 (de) 1999-07-07

Similar Documents

Publication Publication Date Title
DE60033529T2 (de) Netzprozessor, speicherorganisation und verfahren
DE68924235T2 (de) Hochgeschwindigkeitsvermittlungssystem mit flexibler Protokollmöglichkeit.
DE3855925T2 (de) Nachrichtenübertragung in einem multiplexsystem
DE60111551T2 (de) Mechanismus zur vervollständigung von nachrichten im speicher
DE68926650T2 (de) Hochgeschwindigkeitspaketvermittlungsknotenentwurf
DE69624183T2 (de) Serielle Hochgeschwindigkeitsdatenübertragungsverbindung für Tischperipheriegeräte
DE69936225T2 (de) Gleichzeitige serielle verbindung zur integrierung von funktionellen blöcken in eine integrierte schaltungsvorrichtung
DE69430945T2 (de) Schnelle Paketvermittlungsnetze
DE3850351T2 (de) Vermittlungsnetz zwischen Prozessoren.
DE2953444C2 (de) Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk
DE68921312T2 (de) Aufbau für selbstleitweglenkendes Paketvermittlungsnetz.
DE60303026T2 (de) System, verfahren und produkt zur verwaltung des datenverkehrs in einem netzwerk
DE60130011T2 (de) Http-multiplexer/demultiplexer
DE69833708T2 (de) Kommunikationsverfahren für eine medienunabhängige Schnittstelle (MII) für ein hochintegriertes Ethernet-Netzelement
DE68923951T2 (de) Hochgeschwindigkeits-Kombinierschalter mit Einzelfifo.
DE69413740T2 (de) Arbitrierungsverfahren zur Datenflusssteuerung durch ein E/A-Steuergerät
DE69428885T2 (de) Ein kommunikationsknotenpunkt mit einer ersten buskonfiguration für arbitrierung und einer zweiten buskonfiguration für datenübertragung
DE60222191T2 (de) Übermittlung von Transaktionstypen zwischen Agenten eines Computersystems unter Verwendung von Paketköpfen mit erweitertem Typen-/erweitertem Längenfeld
DE69210243T2 (de) Kommunikationseinrichtung und bilddatenübertragungsverfahren von einem sender zu einem oder mehreren empfängern
DE69021790T2 (de) Mehrstufiges Netz mit verteilter Steuerung.
DE69028266T2 (de) Paketvermittlungsnetzwerk für unterschiedliche Typen von Paketen
DE19950822A1 (de) Verfahren und Vorrichtung für das Verteilen von Paketen über parallele Kommunikationsverbindungen
DE3587336T2 (de) Ringuebertragungssystem mit variabler verbindungsreihenfolge der stationen.
DE60133685T2 (de) Kommunikationszwischenstelle zwischen Uhrtaktbereichen mit minimaler Latenz
DE69735546T2 (de) Paketvermittelte leitweglenkung-architektur für mehrere gleichzeitige verbindungen

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication of lapse of patent is to be deleted
8364 No opposition during term of opposition