DE69932603T2 - Frühere zuteilung eines vollen zweiweg busses - Google Patents

Frühere zuteilung eines vollen zweiweg busses Download PDF

Info

Publication number
DE69932603T2
DE69932603T2 DE69932603T DE69932603T DE69932603T2 DE 69932603 T2 DE69932603 T2 DE 69932603T2 DE 69932603 T DE69932603 T DE 69932603T DE 69932603 T DE69932603 T DE 69932603T DE 69932603 T2 DE69932603 T2 DE 69932603T2
Authority
DE
Germany
Prior art keywords
fairness interval
arbitration
node
request
interval
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
DE69932603T
Other languages
English (en)
Other versions
DE69932603D1 (de
Inventor
David W. Sunnyvale Lafollette
V. Jerrold Fremont HAUCK
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of DE69932603D1 publication Critical patent/DE69932603D1/de
Publication of DE69932603T2 publication Critical patent/DE69932603T2/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40078Bus configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40084Bus arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bus Control (AREA)

Description

  • STAND DER TECHNIK
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Datenübertragungssysteme. Im Besonderen betrifft die vorliegende Erfindung die Arbitrierung auf einem Vollduplex-Bus.
  • 2. Beschreibung des Stands der Technik
  • Für Datenübertragungen mit hoher Geschwindigkeit über eine gewisse Entfernung bzw. Strecke wurden verschiedene serielle Datenübertragungsmechanismen mit hoher Geschwindigkeit entwickelt. Der IEEE-Standard für einen High Performance Serial Bus (serieller Hochleistungsbus), IEEE Standard 1394–1995, veröffentlicht am 30. August 1996 (1394–1995 Standard) und dessen Nachkömmlinge stellen ein serielles Hochgeschwindigkeitsprotokoll bereit, das die Implementierung von Hochgeschwindigkeits-Datenübertragungen ermöglicht. Zu den existierenden Nachkömmlingen bzw. Abkömmlingen zählen der P1394a Draft Standard for a High Performance Serial Bus (1394a Standard) und der P1394b Draft Standard for a High Performance Serial Bus (1394b Standard). Allgemein werden Systeme, die 1394–1995, 1394a, 1394b oder spätere überarbeitete Versionen und Modifikationen dieser implementieren, hierin als 1394-Systeme bezeichnet.
  • In 1394-Systemen sind mehrere Knoten in einer Baumtopologie angeordnet. Darüber hinaus gelten alle Knoten ursprünglich als Peer-to-Peer, wobei ein Knoten bei einem Zurücksetzen des Busses jedoch einen Stammstatus annimmt, während die anderen Knoten zu Zweigen und Blättern der Topologie werden. Sowohl 1394–1995 als auch 1394a sind Halbduplex-Protokolle. Somit können Daten zu einem bestimmten Zeitpunkt nur in eine Richtung fließen. Diese beiden Protokolle verwenden eine diskrete Arbitrierungsphase, während der alle Knoten, die versuchen, auf den Bus zuzugreifen, Arbitrierungsanforderungen an den Stammknoten senden. Der Stammknoten löst die Arbitrierung in der Folge auf und räumt für den Bus einen der Arbitrierungsknoten ein. Während der diskreten Arbitrierungsphase können keine anderen nützlichen Arbeiten an dem Bus ausgeführt werden. Der Wunsch zur Eliminierung der diskreten Arbitrierungsphase hat verschiedene Ansätze mit integriertem Token hervorgebracht, in denen Arbitrierungsanforderungen als Token in dem Datenpaket selbst eingebettet sind.
  • Der Standard 1394b stellt ein serielles Busprotokoll in Vollduplex bereit. Dies hat eine Kombination aus eingebettetem Token und der Ausbreitung von Anforderungen auf der unbenutzten bzw. freien Signalleitung ermöglicht, um die diskrete Arbitrierungsphase zu eliminieren. Wenn das Paket im Besonderen durch einen Mutterknoten übermittelt wird, können sich Anforderungen von Tochterknoten frei auf der unbenutzten bzw. freien Signalleitung zurück zu dem Mutterknoten ausbreiten. Wenn das Paket jedoch an einen Mutterknoten gerichtet ist, muss die Anforderung in den Datenstrom eingebettet sein. Alle Anforderungen werden weiterhin durch den einzigen Stammknoten behandelt, der nach der Systeminitialisierung fest bzw, unverändert bleibt. Folglich tritt bei nahezu allen Transaktionen auf mindestens einigen Bussegmenten eine Token-Einbettung auf. Die Einbettung von Token erfordert es, dass der Elastizitätspuffer jeder PHY (physikalische Schicht) zusätzliche Kapazität aufweist, so dass das zusätzliche Symbol in den Datenstrom eingefügt werden kann. Der größere Elastizitätspuffer erhöht die Latenz der Wiederholung durch jede PHY und erhöht somit die Latenz des Bussystems insgesamt. Da Arbitrierungs-Tokens ferner häufig in das Paket eingebettet werden müssen, ist eine praktische Grenze bzw. Begrenzung in Bezug auf die Größe und die Anzahl der Tokens gegeben, die für die Arbitrierung eingesetzt werden können.
  • Der Standard 1394a definiert ein Fairnessintervall als einen Zeitraum, der durch Arbitrierungs-Rücksetz-Abstände begrenzt ist. Innerhalb eines Fairnessintervalls ist die Anzahl der asynchronen Pakete insgesamt begrenzt, die durch einen Knoten übertragen werden können. Die Grenze jedes Knotens kann explizit durch den Busmanager erzeugt werden oder implizit sein. Arbitrierungs-Rücksetz-Abstände stellen lange Zeiträume des Leerlaufs bzw. der Inaktivität ohne Arbitrierungsanforderung oder Busverkehr dar, die allen Knoten signalisieren, dass sie in eine diskrete Arbitrierungsphase des nächsten Fairnessintervalls eintreten können. Somit wird signifikante Busbandbreite bei dem Übergang zwischen. Fairnessintervallen verschwendet. Der hierin verwendete Begriff Fairnessintervall betrifft einen Zeitraum, während dem ein Knoten eine begrenzte Anzahl von asynchronen Paketen übertragen kann. Somit wird gemäß der Verwendung des Begriffs hierin jede explizite Anforderung einer Unteraktionslücke zur Begrenzung des Fairnessintervalls eliminiert.
  • In Anbetracht der vorstehenden Ausführungen wäre es wünschenswert, die durch Fairnessintervallübergänge negativen Auswirkungen auf die Busbandbreite reduzieren zu können.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Vorgesehen ist gemäß einem ersten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen Anspruch 1.
  • Vorgesehen ist gemäß einem zweiten Aspekt der vorliegenden Erfindung ein System gemäß dem gegenständlichen Anspruch 3.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den Zeichnungen zeigen:
  • 1 ein Blockdiagramm einer physikalischen Schicht eines Ausführungsbeispiels der vorliegenden Erfindung;
  • 2 ein Flussdiagramm der Arbitrierung in einem nominalen Stammknoten eines Ausführungsbeispiels der vorliegenden Erfindung;
  • 3 ein Flussdiagramm der Erzeugung von Arbitrierungsanforderungen in einem Knoten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 ein Blockdiagramm einer Baumtopologie eines Ausführungsbeispiels der Erfindung zu einer ersten Zeiteinheit;
  • 5 ein Blockdiagramm der Baumtopologie aus 4 zu einer folgenden Zeiteinheit;
  • 6 ein Blockdiagramm einer Baumtopologie eines Ausführungsbeispiels der vorliegenden Erfindung während einer Zeiteinheit, wenn keine Arbitrierungsanforderungen von einem nominalen Stamm empfangen werden; und
  • 7 ein Flussdiagramm einer Fehlerbehandlungsprozedur eines physikalischen Stammknotens eines Ausführungsbeispiels der vorliegenden Erfindung.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Die frühzeitige Arbitrierung in einem seriellen Bussystem mit verteilter Arbitrierung ermöglicht die Auflösung von Anforderungen für ein nächstes Fairnessintervall während einem aktuellen Fairnessintervall, so dass die Gewährung der Anforderung mit der höchsten Priorität in dem nächsten Fairnessintervall unmittelbar auf ein letztes Paket einer letzten Unteraktion in einem aktuellen Fairnessintervall folgen kann. Auf diese Weise kann die Bandbreite im Wesentlichen eliminiert werden, die vorher verschwendet wurde, um einen Arbitrierungs-Rücksetz-Token auszubreiten und auf Arbitrierungsanforderungen zu warten.
  • In folgendem Bezug auf die Abbildung aus 1 weist eine physikalische Schicht (PHY) 10 einen oder mehrere Ports bzw. Anschlüsse auf, die gemäß der Abbildung mit einem seriellen Bus verbunden werden können. Für jeden derartigen Port ist eine Logik für jeden Port bzw. eine „Per-Port-Logik" 12 als Teil der PHY 10 vorgesehen. Die PHY 10 empfängt ein Empfangssignal 32 und übermittelt ein Sendesignal 34 über jeden aktiven Port. Die Per-Port-Logik 12 weist einen Decodierer 22 auf, um das eingehende Empfangssignal 32 zu decodieren und zu entscrambeln. In einem Ausführungsbeispiel handelt es sich bei dem Decodierer 22 um einen 8B10B-Decodierer und Entscrambler, der eine 8-Bit-10-Bit-Decodierung ausführt. Dies bedeutet, dass jeder 10-Bit-Wert, der als das Empfangssignal 32 eingeht, in einen 8-Bit-Wert decodiert wird. Der Decodierer 22 ist mit einer Port-Zustandsmaschine 26 gekoppelt, die einen Steuerwert empfängt, der durch den Decodierer decodiert wird. In ähnlicher Weise wird ein Codierer 24 eingesetzt, um das abgehende Sendesignal 34 zu codieren und zu verwürfeln bzw. verscrambeln. in einem Ausführungsbeispiel der Erfindung führt der Codierer eine 8B10B-Codierung aus. Analog zu der Decodierungssituation wird jedes zu übertragende Datenbyte als ein 10-Bit-Wert codiert. Somit existiert eine Reihe von Codierungen, die nicht für die normale Datencodierung verwendet werden.
  • Darüber hinaus ist der Decodierer 22 mit einem Elastizitätspuffer 18 gekoppelt. Der Elastizitätspuffer 18 puffert die aus dem empfangenen Signal 32 decodierten Daten, während die Daten auf die Übertragung zu dem Link bzw. dem Übermittlungsabschnitt und/oder die Wiederholung an einem oder mehreren Ports der PHY 10 als das Sendesignal 34 warten. Die PHY-Zustandsmaschine 14 und die Arbitrierungs-Zustandsmaschine 16 können zu einer Zustandsmaschine kombiniert oder als zwei getrennte Zustandsmaschinen implementiert werden. Die PHY-Zustandsmaschine 14 stellt die Intelligenz für die PHY bereit, einschließlich der Erzeugung etwaiger durch die PHY erzeugter Pakete. Die Arbitrierungs-Zustandsmaschine 16 beurteilt bzw. bewertet eingehende Arbitrierungsdaten und stellt abgehende Arbitrierungsanforderungen bereit. Wenn der Knoten al Paket an dem Bus originiert, so handelt es sich um den nominalen Stammknoten. Der nominale Stammknoten weist die vollständigen Arbitrierungszustandsdaten für die Topologie auf. Auf der Basis dieser Daten gewährt die Arbitrierungszustandsmaschine 16 des nominalen Stammknotens die Arbitrierungsanforderung eines Zweigs mit der höchsten Priorität. Da der nominale Stammstatus mit der Einräumung bzw. Gewährung des Busses vergeht, sollte jeder Knoten in der Lage sein, als Arbitrator für die Topologie zu fungieren. Das U.S. Patent US-A-6.411.628 beschreibt mindestens ein geeignetes Ausführungsbeispiel eines verteilten Arbitrierungssystems.
  • Die PHY 10 in dem nominalen Stammknoten empfängt Arbitrierungsanforderungen von dem Rest der Topologie. Im Gegensatz zu den dem Stand der Technik entsprechenden Techniken mit eingebettetem Token ermöglichen die reduzierten Einschränkungen in Bezug auf die Bandbreitennutzung für die Arbitrierung es, dass die Knoten Arbitrierungsanforderungen für ein nächstes Fairnessintervall stellen können. Wenn somit in einem Beispiel ein Knoten den Zugriff auf den Bus für ein aktuelles Fairnessintervall anfordert, so kann diese Arbitrierungsanforderung als Priorität 1 gekennzeichnet werden, während bei einer Arbitrierung für ein nächstes Fairnessintervall die Anforderung als Priorität 0 gekennzeichnet werden kann.
  • Wenn in folgendem Bezug auf die Abbildung aus 2 der nominale Stamm sich auf das Senden einer Gewährung vorbereitet, bestimmt er in dem Entscheidungsblock 150, ob etwaige Anforderungen mit Priorität 1 ausstehen. Wenn Anforderungen mit der Priorität 1 ausstehen, so wird in dem Funktionsblock 152 die Anforderung mit der höchsten Priorität aus den Anforderungen des aktuellen Fairnessintervalls gewährt. Es ist möglich, dass Arbitrierungsanforderungen ein Prioritätsbitfeld aufweisen, das eine Mehrzahl von Bits aufweist. Das werthöchste Bit des Prioritätsbitfelds kann eine Fairnessintervallpriorität darstellen, wie zum Beispiel 1, die das aktuelle Fairnessintervall anzeigt, und 0, was das nächste Fairnessintervall anzeigt; und wobei die verbleibenden Bits die Priorität in dem entsprechenden Fairnessintervall darstellen.
  • Wenn in dem Entscheidungsblock 150 keine Anforderungen mit der Priorität 1 ausstehen, sendet der nominale Stamm den Arbitrierungs-Rücksetz-Token in dem Funktionsblock 154. Dieser Token breitet sich über den Bus aus, wobei ein Übergang in das nächste Fairnessintervall bewirkt wird. Somit sollten die vorher als Anforderungen mit der Priorität 0 angezeigten Prioritätsanforderungen als Anforderungen mit der Priorität 1 aktualisiert werden, da sie jetzt für das aktuelle Fairnessintervall ausstehen. In dem Entscheidungsblock 156 wird eine Entscheidung getroffen, ob Anforderungen mit einer Priorität 0 ausstehen. Wenn dies der Fall ist, wird die Anforderung mit der höchsten Priorität unter den Anforderungen des nächsten Fairnessintervalls in dem Funktionsblock 158 gewährt bzw. eingeräumt. Wenn dies nicht der Fall ist, wird die Gewährung in dem Funktionsblock 160 zu dem physikalischen Mutter-Port gesendet bzw. übermittelt. Nachdem die Gewährung gesendet worden ist, steuert der vorherige nominale Stamm nicht mehr die Arbitrierung und sendet lediglich Arbitrierungsanforderungen über den Bus. Es ist gemäß dem Umfang und dem Gedanken der Erfindung möglich, dass der Arbitrierungs-Rücksetz-Token und die Gewährung in einem Token kombiniert werden. Wobei zum Beispiel ein gesetztes Bit des Arbitrierungs-Rücksetz-Tokens eine Gewährung anzeigen kann. In diesem Fall würde das Übermitteln des Arbitrierungs-Rücksetz-Tokens in dem Funktionsblock 154 stattdessen als Teil des Funktionsblocks 158 oder 160 zusammengefasst. Die Gewährungsanzeige würde im Besonderen nur an einen Zweig bzw. eine Verzweigung mit der höchsten Priorität oder den Mutter-Port übermittelt, während der Arbitrierungs-Rücksetz-Token an alle Zweige übermittelt werden sollte.
  • Wenn in folgendem Bezug auf die Abbildung aus 3 ein Knoten nicht den nominalen Stammknoten darstellt, und in dem Entscheidungsblock 120 keine Gewährung empfangen wird, so wird in dem Entscheidungsblock 122 bestimmt, ob Arbitrierungsanforderungen ausstehen. Ausstehende Arbitrierungsanforderungen können von jedem Downstream-Knoten oder angebrachtem Vermittlungsabschnitt bzw. Link stammen. Wenn keine Arbitrierungsanforderungen ausstehen, achtet der Knoten weiterhin auf die Gewährung oder die Ankunft von Arbitrierungsanforderungen. Wenn die Gewährung bzw. die Einräumung in dem Entscheidungsblock 120 empfangen wird, so wird der Knoten zu dem nominalen Stamm und verlässt den Ablauf aus 3. Wenn in dem Entscheidungsblock 122 Arbitrierungsanforderungen ausstehen, so identifiziert der Knoten in dem Entscheidungsblock 124, ob etwaige Anforderungen für das aktuelle Fairnessintervall ausstehen. Wenn Anforderungen für das aktuelle Fairnessintervall ausstehen, wählt der Knoten aus den Anforderungen für das aktuelle Fairnessintervall in dem Funktionsblock 128 die Anforderung mit der höchsten Priorität aus. Wenn für das aktuelle Fairnessintervall keine Anforderungen ausstehen, identifiziert der Knoten in dem Funktionsblock 126 die Anforderung mit der höchsten Priorität für das nächste Fairnessintervall. In jedem Fall wird die Anforderung mit der höchsten identifizierten Priorität in dem nachgelagerten Funktionsblock 130 gesendet. Danach wird in dem Entscheidungsblock 132 bestimmt, ob der Arbitrierungs-Rücksetz-Token empfangen worden ist. Wenn der Arbitrierungs-Rücksetz-Token empfangen worden ist, wird er zu Downstream-Knoten ausgebreitet, und die Priorität jeder lokalen Anforderung für das nächste Fairnessintervall (dh.h. eine Anforderung mit Ursprung an dem Knoten, der den Arbitrierungs-Rücksetz-Token ausbreitet) wird in dem Funktionsblock 134 so aktualisiert, dass das aktuelle Fairnessintervall reflektiert wird. Ein Knoten aktualisiert nicht die Priorität von von anderen Knoten empfangenen Anforderungen, wobei die anderen Knoten die Anforderungen aktualisieren, die sie senden; und zwar nach dem Empfang des Arbitrierungs-Rücksetz-Tokens. Wenn der Arbitrierungs-Rücksetz-Token nicht empfangen worden ist oder nach der Aktualisierung etwaiger Anforderungen des nächsten Fairnessintervalls, kehrt der Knoten wieder zurück zu der Identifikation in dem Entscheidungsblock 120, ob eine Gewährung empfangen worden ist oder nicht.
  • An Stelle der Aktualisierung weiterer Arbitrierungsanforderungen, so dass die Arbitrierungsanforderungen für das aktuelle Fairnessintervall stets zum Beispiel die Priorität 1 aufweisen, wechselt das System in einem Ausführungsbeispiel seine Interpretation einer Anforderung für das aktuelle Fairnessintervall von z.B. Eins auf Null. Während einem ersten Fairnessintervall gilt eine Anforderung mit Priorität 1 somit als höchste Priorität, während in einem zweiten Fairnessintervall eine Anforderung mit einer Priorität 0 als höchste Priorität gilt. Dieser Ansatz weist den Vorteil auf, dass er es überflüssig macht, die Anforderungspriorität zu aktualisieren, wobei er es in bestimmten Fällen bewirken kann, dass eine spät eintreffende Anforderung für ein vorheriges Fairnessintervall als eine Anforderung für das nächste Fairnessintervall ausgelegt bzw. interpretiert wird.
  • Die Abbildung aus 4 zeigt ein System, das eine Mehrzahl von Knoten 5058 aufweist. Die Knoten 5058 sind in einer Baumtopologie angeordnet. In dieser Topologie ist der Knoten 560 der physikalische Stammknoten. Unter Einsatz der verteilten Arbitrierungstechnik ist die Tatsache, welcher Knoten für den nominalen Stamm, nominale Zweige und nominale Blätter steht, jedoch abhängig davon, welcher Knoten berechtigt ist, ein Paket auf dem Bus zu originieren. Die Knoten sind alle durch einen seriellen Vollduplex-Bus 100 miteinander verbunden. In einem Ausführungsbeispiel folgt der serielle Bus 100 dem 1394b-Protokoll. Jeder Knoten weist einen oder mehrere Ports 30 auf, über welche die Kommunikation zwischen dem seriellen Bus 100 und der PHY 10 übertragen wird. Die PHY 10 kommuniziert mit einer Vermittlungsschicht 36, die wiederum mit einer Transaktionsschicht 40 kommuniziert. Eine Vermittlungsschicht 36 weist einen Subaktionsendenbezeichner (SEID als englische Abkürzung von Subaction End Identifier) 38 für die Identifikation auf, welche durch Vermittlung erzeugten Pakete die letzten Pakete von Subaktionen sind. Der SEID 38 kann mit der PHY-Zustandsmaschine oder direkt mit dem Codierer kommunizieren. Folglich weist der Sender, wenn es sich bei dem übertragenen Paket um ein letztes Paket einer Sub- oder Teilaktion handelt. Dieses Wissen ermöglicht es, dass der Sender entsprechend einen GNT-Token ausgibt.
  • In der Abbildung aus 4 überträgt ein Knoten 50 ein letztes Paket einer Teilaktion (PAKETA) aus beiden Ports des Knoten. Der Knoten 50 ist somit der nominale Stammknoten und empfängt Arbitrierungsdaten von einem Tochterknoten, so dass der Knoten 50 den vollständigen Arbitrierungszustand der Topologie zur Verfügung hat. In diesem Fall gibt der Knoten 54 eine Arbitrierungsanforderung mit der Priorität 1 aus. Der Knoten 52 gibt keine Anforderung aus, da ihm keine Daten für die Übertragung zur Verfügung stehen. Die Knoten 56 und 58 senden jeweils Arbitrierzungszustandsdaten direkt zu dem Knoten 54. Der Knoten 54 empfängt die Arbitrierungsanforderungen von den Knoten 56 und 58. Er löst die Priorität der Arbitrierungsanforderungen auf und leitet die Anforderung mit der höchsten Priorität (in diesem Fall die Anforderung des Knotens 56) an den nominalen Stammknoten 50. Wenn der Knoten 50 die Übermittlung von PAKETA abgeschlossen hat, behandelt er die empfangenen Arbitrierungsanforderungen. In diesem Fall wird ein Grant-Token bzw. Gewährungs-Token, der nur die Anforderung der Priorität 1 von dem Knoten 54 empfangen hat, entlang dem Zweig zu dem Knoten 54 gesendet. Wenn der Knoten 54 die Gewährung empfangen hat, muss er sich entscheiden, ob er diese für sich behält oder an den Knoten 56 oder den Knoten 58 weiterleitet. Da in diesem Fall angenommen worden ist, dass der angebrachte Übermittlungsabschnitt keine Arbitrierungsanforderung ausgibt, wird der Grant-Token zu dem Knoten 56 weitergeleitet, der die Anforderung mit der Priorität 1 ausgibt. Auf den Grant-Token folgt direkt die einzige verbliebene Arbitrierungsanforderung in der Topologie, im Besonderen die durch den Knoten 58 geltend gemachte Anforderung mit der Priorität 0.
  • In folgendem Bezug auf die Abbildung aus 5 zeigt diese die Topologie in Bezug auf eine Zeiteinheit, wenn der Knoten 56 die Gewährung empfangen hat und somit den nominalen Stamm darstellt. Er übermittelt PAKETB an den Knoten 54 und empfängt die Anforderung des Arbitrierungszustands mit der Priorität 0, weitergeleitet durch den Knoten 54, mit Ursprung in dem Knoten 58. Wenn angenommen wird, dass PAKETB ein Ende eines Subaktionspakets ist, da keine Anforderungen mit der Priorität 1 empfangen worden sind, folgt auf PAKETB ein Arbitrierungs-Rücksetz-Token und eine Gewährung der einen Anforderung mit der Priorität 0. In der nächsten Zeiteinheit empfängt der Knoten 54 somit die Arbitrierungs-Zurücksetzung und die Gewährung. Er leitet den Arbitrierungs-Rücksetz-Token an den Knoten 50 weiter und den Arbitrierungs-Rücksetz-Token und die Gewährung an den Knoten 58. Der Knoten 58 beginnt danach mit der Übermittlung seines Pakets für das nächste Fairnessintervall, und die verbleibenden Knoten in dem Netzwerk können Prioritätsanforderungen für das aktuelle Fairnessintervall (vorher das nächste Fairnessintervall) und das unmittelbar folgende Fairnessintervall geltend machen.
  • In folgendem Bezug auf die Abbildung aus 6 zeigt diese eine Zeiteinheit, in welcher der Knoten 54 den nominalen Stamm darstellt und keine Arbitrierungsanforderungen in der Topologie ausstehen. Somit übermittelt der Knoten 54 PAKETA an allen seinen Ports und sendet die Gewährung nach dem Paket A an dessen physikalischen Mutter-Port, z.B. an den Knoten 50. Wenn der Knoten 50 in ähnlicher Weise nicht den physikalischen Stamm darstellt, so würde der PAKETA und den GNT-Token empfangen und keine ausstehenden Arbitrierungsanforderungen aufweisen, wobei er den GNT-Token an dessen Mutter-Port weiterleiten würde. Die Gewährung bzw. Einräumung erreicht schließlich den physikalischen Stamm, wenn keine Arbitrierungsanforderungen ausstehen. In ähnlicher Weise nimmt der physikalische Stamm beim Zurücksetzen des Busses den anfänglichen nominalen Stammstatus an.
  • In folgendem Bezug auf die Abbildung aus 7 wird in dem Funktionsblock 208 ein Timeout-Zähler zurückgesetzt. Danach bestimmt der physikalische Stamm in dem Entscheidungsblock 210, ob Paketverkehr auf dem Bus aufgetreten ist. Wenn dies der Fall ist, setzt er den Timeout-Zähler in dem Funktionsblock 208 zurück und achtet weiterhin auf zusätzlichen Busverkehr. Wenn dies nicht der Fall ist, wird geprüft, ob eine Gewährung in dem Entscheidungsblock 214 empfangen worden ist. Wenn dies der Fall ist, wird der Zählwert zurückgesetzt und der Bus weiter auf Verkehr überwacht. Wenn dies nicht der Fall ist, achtet der physikalische Stamme weiter auf Busverkehr, setzt den Zählwert jedoch nicht zurück. Wenn dies der Fall ist, nimmt der physikalische Stamm in dem Funktionsblock 216 den nominalen Stammstatus an, wobei er danach mit der Arbitrierung beginnt und dem Bus in dem Funktionsblock 218 den Sieger gewährt bzw. zuweist. Der Sieger wird zum nominalen Stamm.
  • Auf diese Weise sorgt der physikalische Stamm für die Fehlerprüfung und verhindert Probleme in Bezug auf einen korrumpierten Grant-Token, der den Bus in einem unbestimmten Zustand verlässt. Da sobald ein Knoten den gewährten bzw. Grant-Token sendet, er den nominalen Stammstatus verliert, wird kein neuer nominaler Stamm erzeugt, wenn der Grant-Token korrumpiert ist (oder verloren gegangen ist). Somit können existierende Arbitrierungsanforderungen unbehandelt bzw. unbearbeitet bleiben. Zur Wiederherstellung aus diesem Zustand beobachtet der physikalische Stamm den Bus und ist mit einem Timeout-Mechanismus versehen, der es ermöglicht, nach einem vorbestimmten Zeitraum selbst den nominalen Stamm zu erklären.
  • Durch die Bereitstellung von Arbitrierungsanforderungen für ein nächstes Fairnessintervall für die Übermittlung während einem aktuellen Fairnessintervall können Lücken bzw. Abstände der Arbitrierungsrücksetzung reduziert oder eliminiert werden. Wenn ferner lediglich Arbitrierungsanforderungen für ein folgendes Fairnessintervall oder keine Arbitrierungsanforderungen ausstehen oder während einem Mindestzeitraum für ein Fairnessintervall empfangen werden, kann der nominale Stamm einen Übergang zu dem nächsten Fairnessintervall einleiten, und wenn Anforderungen für das nächste Fairnessintervall ausstehen, kann eine dieser Anforderungen im Wesentlichen gleichzeitig gewährt werden, ohne auf einen Arbitrierungs-Rücksetz-Abstand zu warten. In einem Ausführungsbeispiel entspricht eine Mindestzeit für ein Fairnessintervall der Umlaufzeit für die Ausbreitungsverzögerung und die Arbitrierungsantwort.
  • In der vorstehenden Beschreibung wurde die vorliegende Erfindung in Bezug auf besondere Ausführungsbeispiele der Erfindung beschrieben. Es ist jedoch ersichtlich, dass diesbezüglich verschiedene Modifikationen und Abänderungen vorgenommen werden können, ohne dabei vom Umfang der Erfindung abzuweichen, der in den anhängigen Ansprüchen ausgeführt ist. Die Beschreibung und die Zeichnungen dienen somit der Veranschaulichung und haben keine einschränkende Funktion. Der Umfang der Erfindung ist somit ausschließlich durch die anhängigen Ansprüche beschränkt.

Claims (5)

  1. Verfahren zum Arbitrieren eines Vollduplex-Busses, wobei der Bus eine Mehrzahl von Knoten in eine Baumtopologie koppelt, wobei das Verfahren folgendes umfasst: die Annahme einer Arbitrierungsanforderung mit der höchsten Priorität in einem nominalen Stammknoten jedes mit dem nominalen Stammknoten (152) verbundenen Zweigs, wobei der nominale Stammknoten so angeordnet ist, dass er Arbitrierungsanforderungen während einem aktuellen Fairnessintervall für sowohl ein aktuelles Fairnessintervall als auch für ein nächstes Fairnessintervall empfängt; das Identifizieren, ob eine Anforderung ein aktuelles Fairnessintervall (150) betrifft; und wenn keine Anforderung für das aktuelle Fairnessintervall vorliegt und ein Mindestzeitraum für das Fairnessintervall abgelaufen ist, das Senden eines Arbitrierungs-Rücksetz-Tokens (154) entlang aller Zweige, um den Übergang zu den nächsten Fairnessintervall einzuleiten, und eines Gewährungs-Tokens (160) entlang eines Zweigs mit einer Anforderung mit höchster Priorität für ein nächstes Fairnessintervall und das Einleiten eines Übergangs in ein nächstes Fairnessintervall.
  2. Verfahren nach Anspruch 1, wobei dieses ferner die folgenden Schritte umfasst: wenn keine Anforderung für das aktuelle Fairnessintervall oder für das nächste Fairnessintervall empfangen wird, das Weiterleiten des Grant-Tokens (160) in Richtung eines Knotens mit der Fähigkeit zum Erfassen des nominalen Stammstatus, wenn ein Timeout (214) auftritt.
  3. System, das folgendes umfasst: einen seriellen Vollduplex-Bus; eine Mehrzahl von Knoten (5058), die durch den Bus in eine Baumtopologie gekoppelt sind, wobei ein Knoten (50) als nominaler Stammknoten der Mehrzahl von Knoten ein Recht zur Übermittlung aufweist, wobei der nominale Stammknoten so angeordnet ist, dass er Arbitrierungsanforderungen während einem aktuellen Fairnessintervall sowohl für ein aktuelles Fairnessintervall als auch für ein nächstes Fairnessintervall empfängt; wobei für den Fall, dass keine Anforderung für ein aktuelles Fairnessintervall ansteht und ein Mindestzeitraum für das Fairnessintervall abgelaufen ist, der nominale Stammknoten eine Anforderung mit höchster Priorität für das nächste Fairnessintervall gewährt und einen Übergang in ein nächstes Fairnessintervall einleitet; und wobei der nominale Stammknoten einen Arbitrierungs-Rücksetz-Token (154) an allen aktiven Ports (30) sendet, um den Übergang in das nächste Fairnessintervall einzuleiten.
  4. System nach Anspruch 3, wobei die Gewährung als Teil des Arbitrierungs-Rücksetz-Tokens codiert ist, der entlang eines Zweigs mit der höchsten Priorität gesendet worden ist.
  5. System nach Anspruch 3, wobei wenn keine Anforderungen für das aktuelle Fairnessintervall oder für das nächste Fairnessintervall empfangen werden, sendet der nominale Stammknoten die Gewährung (160) in Richtung eines Knotens der Baumtopologie mit der Fähigkeit zur Erfassung des nominalen Stammknotens, wenn ein Timeout eintritt (214).
DE69932603T 1998-02-02 1999-01-28 Frühere zuteilung eines vollen zweiweg busses Expired - Lifetime DE69932603T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US18028 1998-02-02
US09/018,028 US6038234A (en) 1998-02-02 1998-02-02 Early arbitration on a full duplex bus
PCT/US1999/002041 WO1999039461A1 (en) 1998-02-02 1999-01-28 Early arbitration on a full duplex bus

Publications (2)

Publication Number Publication Date
DE69932603D1 DE69932603D1 (de) 2006-09-14
DE69932603T2 true DE69932603T2 (de) 2007-08-02

Family

ID=21785853

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69932603T Expired - Lifetime DE69932603T2 (de) 1998-02-02 1999-01-28 Frühere zuteilung eines vollen zweiweg busses

Country Status (5)

Country Link
US (2) US6038234A (de)
EP (1) EP1060576B1 (de)
AU (1) AU2350999A (de)
DE (1) DE69932603T2 (de)
WO (1) WO1999039461A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076716B1 (en) * 1998-04-13 2006-07-11 Intel Corporation Early acknowledgement of primary packets
WO2000044126A1 (fr) * 1999-01-19 2000-07-27 Sharp Kabushiki Kaisha Procede et dispositif de transmission
JP3289706B2 (ja) * 1999-06-23 2002-06-10 日本電気株式会社 送受信回路及び送受信方法並びに記録媒体
US6628607B1 (en) 1999-07-09 2003-09-30 Apple Computer, Inc. Method and apparatus for loop breaking on a serial bus
US6453376B1 (en) * 1999-10-21 2002-09-17 Sony Corporation Method for implementing scheduling mechanisms with selectable resource modes
EP1224561A1 (de) * 1999-10-21 2002-07-24 Sony Electronics Inc. Verfahren zur quantisierung zu verfügung stehender systemressourcen in einem elektronischen gerät
US6691096B1 (en) 1999-10-28 2004-02-10 Apple Computer, Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US6671768B1 (en) 1999-11-01 2003-12-30 Apple Computer, Inc. System and method for providing dynamic configuration ROM using double image buffers for use with serial bus devices
US6813663B1 (en) 1999-11-02 2004-11-02 Apple Computer, Inc. Method and apparatus for supporting and presenting multiple serial bus nodes using distinct configuration ROM images
US6618750B1 (en) 1999-11-02 2003-09-09 Apple Computer, Inc. Method and apparatus for determining communication paths
US6587904B1 (en) 1999-11-05 2003-07-01 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
US6636914B1 (en) 1999-11-05 2003-10-21 Apple Computer, Inc. Method and apparatus for arbitration and fairness on a full-duplex bus using dual phases
US6457086B1 (en) * 1999-11-16 2002-09-24 Apple Computers, Inc. Method and apparatus for accelerating detection of serial bus device speed signals
US6639918B1 (en) 2000-01-18 2003-10-28 Apple Computer, Inc. Method and apparatus for border node behavior on a full-duplex bus
US7266617B1 (en) * 2000-01-18 2007-09-04 Apple Inc. Method and apparatus for border node behavior on a full-duplex bus
US7050453B1 (en) 2000-02-17 2006-05-23 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US6831928B1 (en) * 2000-02-17 2004-12-14 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US6618785B1 (en) 2000-04-21 2003-09-09 Apple Computer, Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US6718497B1 (en) 2000-04-21 2004-04-06 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
US7035277B1 (en) * 2000-08-31 2006-04-25 Cisco Technology, Inc. Priority-based arbitration system for context switching applications
JP2002118558A (ja) * 2000-10-10 2002-04-19 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP3575419B2 (ja) * 2000-10-24 2004-10-13 日本電気株式会社 装置状態制御回路、及び装置状態制御方法
KR100441606B1 (ko) * 2001-10-05 2004-07-23 삼성전자주식회사 복수의 모듈들간의 데이터 송수신 시스템 및 송수신제어방법
US20040210696A1 (en) * 2003-04-18 2004-10-21 Meyer Michael J. Method and apparatus for round robin resource arbitration
EP1623421A1 (de) * 2003-05-09 2006-02-08 LG Electronics Inc. Aufzeichnungsmedium mit einer datenstruktur zur verwaltung mindestens eines datenbereichs des aufzeichnungsmediums und aufzeichnungs- und wiedergabeverfahren und vorrichtungen
US7353284B2 (en) 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US7668099B2 (en) * 2003-06-13 2010-02-23 Apple Inc. Synthesis of vertical blanking signal
US20040255338A1 (en) * 2003-06-13 2004-12-16 Apple Computer, Inc. Interface for sending synchronized audio and video data
US8275910B1 (en) 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
US7788567B1 (en) 2003-11-18 2010-08-31 Apple Inc. Symbol encoding for tolerance to single byte errors
US7995606B1 (en) 2003-12-03 2011-08-09 Apple Inc. Fly-by and ack-accelerated arbitration for broadcast packets
US7237135B1 (en) 2003-12-29 2007-06-26 Apple Inc. Cyclemaster synchronization in a distributed bridge
US7308517B1 (en) * 2003-12-29 2007-12-11 Apple Inc. Gap count analysis for a high speed serialized bus
US7739436B2 (en) * 2004-11-01 2010-06-15 Sonics, Inc. Method and apparatus for round robin resource arbitration with a fast request to grant response
US7792137B2 (en) * 2006-07-05 2010-09-07 Abidanet, Llc Self-organized and self-managed ad hoc communications network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926419A (en) * 1985-03-15 1990-05-15 Wang Laboratories, Inc. Priority apparatus
US5142682A (en) * 1987-03-26 1992-08-25 Bull Hn Information Systems Inc. Two-level priority arbiter generating a request to the second level before first-level arbitration is completed
US5434861A (en) * 1989-02-02 1995-07-18 Pritty; David Deterministic timed bus access method
US5027342A (en) * 1989-05-03 1991-06-25 The University Of Toronto Innovations Foundation Local area network
US5276887A (en) * 1991-06-06 1994-01-04 Commodore Electronics Limited Bus arbitration system for granting bus access to devices following two-wire bus arbitration protocol and devices following three-wire bus arbitration protocol
US5495481A (en) * 1994-09-30 1996-02-27 Apple Computer, Inc. Method and apparatus for accelerating arbitration in a serial bus by detection of acknowledge packets
US5629685A (en) * 1995-02-23 1997-05-13 International Business Machines Corporation Segmentable addressable modular communication network hubs

Also Published As

Publication number Publication date
WO1999039461A1 (en) 1999-08-05
EP1060576A4 (de) 2002-08-21
EP1060576A1 (de) 2000-12-20
US6765923B1 (en) 2004-07-20
DE69932603D1 (de) 2006-09-14
AU2350999A (en) 1999-08-16
EP1060576B1 (de) 2006-08-02
US6038234A (en) 2000-03-14

Similar Documents

Publication Publication Date Title
DE69932603T2 (de) Frühere zuteilung eines vollen zweiweg busses
DE69636382T2 (de) Vollduplexflusssteuerung für Ethernet-Netze
DE60024794T2 (de) Vorrichtung für ethernet phy/mac-kommunikation
EP1554839B1 (de) Verfahren und knoten zur parallelen nutzung eines kommunikationsnetzwerkes für echtzeitanwendungen und nicht-echtzeitanwendungen
DE60219047T2 (de) Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zum aufbau virtueller kanäle darin
DE69133518T2 (de) Kommunikationsschnittstelle
DE69829840T2 (de) Medienzugriffskontroller und Medienunabhängige Schnittstelle(MII) zum Verbinden an eine physikalische Schicht Vorrichtung
DE4426123A1 (de) Arbitrierung bei verzögernder Buskopplung
DE69928603T2 (de) Medienzugriffssteuerung
EP2137893B1 (de) Paketvermittlungsvorrichtung und lokales kommunikationsnetz mit einer solchen paketvermittlungsvorrichtung
DE3506118A1 (de) Verfahren zum betreiben einer datenverarbeitungsanlage fuer kraftfahrzeuge
DE60125611T2 (de) Verfahren und Vorrichtung zur Kommunikation zwischen einem ersten und einem zweiten Netz
DE60110934T2 (de) Modularer und skalierbarer switch und verfahren zum verteilen schneller ethernet-datenrahmen
DE102019201230A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zum Senden einer Nachricht in einem seriellen Bussystem
EP3729738B1 (de) Verfahren zum senden von datenpaketen, steuergerät und system mit steuergerät
DE102018219292A1 (de) Fehlerrahmenabschirmeinheit für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
WO2004071025A1 (de) Kopplung von einem netzwerk mit ringtopologie und einem ethernetbasierten netzwerk
DE60204794T2 (de) Mechanismus zur kennzeichnung und arbitrierung in einem eingabe/ausgabe knoten eines rechnersystems
EP1884851B1 (de) Verfahren, Knoten und Netzwek zum zyklischen Versenden von Ethernet-Telegrammen
DE69838663T2 (de) Vorrichtung und verfahren zum übertragen von digitalen daten
EP2538618A1 (de) Verfahren zur Übertragung von Datenpaketen
DE60210521T2 (de) Datenübertragungs-Datenempfangssystem, Verfahren zur Wiederherstellung einer Verbindung und Nachrichtenübertragungs-/Nachrichtenempfangsvorrichtung
DE60021355T2 (de) Verfahren und vorrichtung zur übertragung von daten über einen bus zu oder von einem gerät das von diesem bus gesteuert werden soll
DE10322950A1 (de) Verfahren zur Einstellung konsistenter Werte für einen Parameter in einem Netzwerk verteilter Stationen sowie Netzwerkteilnehmerstation für die Durchführung des Verfahrens
DE10231424B4 (de) Vorrichtung und Verfahren zur Datenkommunikation

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: HEYER, V., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 806