-
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 50–58 aufweist.
Die Knoten 50–58 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.