DE69827879T2 - Zeitmultiplexschema zur Verklemmungsauflösung in distribuierter Arbitrierung - Google Patents

Zeitmultiplexschema zur Verklemmungsauflösung in distribuierter Arbitrierung Download PDF

Info

Publication number
DE69827879T2
DE69827879T2 DE69827879T DE69827879T DE69827879T2 DE 69827879 T2 DE69827879 T2 DE 69827879T2 DE 69827879 T DE69827879 T DE 69827879T DE 69827879 T DE69827879 T DE 69827879T DE 69827879 T2 DE69827879 T2 DE 69827879T2
Authority
DE
Germany
Prior art keywords
bus
access
arbiter
free
data
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
DE69827879T
Other languages
English (en)
Other versions
DE69827879D1 (de
Inventor
Jiu An
Shashank Merchant
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.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Application granted granted Critical
Publication of DE69827879D1 publication Critical patent/DE69827879D1/de
Publication of DE69827879T2 publication Critical patent/DE69827879T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine Arbitrierung und insbesondere eine Bus-Arbitrierung zwischen einem Netz-Interface und einem Host-Computer, der Daten zu dem Netz-Interface sendet und von diesem empfängt, um Bus-Konkurrenz-Probleme zu vermeiden.
  • HINTERGRUND DER ERFINDUNG
  • Moderne Computersysteme weisen häufig Kontroller, Prozessoren, Speicher und Peripherievorrichtungen auf. Es ist häufig erforderlich, Daten über Busse zu übertragen, die diese Komponenten miteinander verbinden. Ein Beispiel für ein solches System ist ein Lokalnetz, das eine Anzahl von Netzstationen aufweist. Die Netzstation weist typischerweise ein Medienzugriffssteuer- (MAC-) Schicht-Netz-Interface auf, das Daten über ein Peripheriekomponentenverbindungs- (PCI-) Interface an einen Host-Prozessor sendet und von diesem empfängt.
  • Einige Netz-Interfaces weisen ein Erweiterungsbus-Interface zum Puffern von Daten zwischen dem PCI-Interface und den MAC-Übertragungs- und Empfangs-FIFOs auf. Dieses Interface kann insbesondere zum Zugreifen auf eine gemeinsam genutzte Externspeichervorrichtung zum Speichern zusätzlicher Übertragungs- und Empfangsdaten verwendet werden. Versuche zum Zugreifen auf das Erweiterungsbus-Interface zum Speichern oder Wiedergewinnen von Übertragungsdaten oder Empfangsdaten können jedoch unabhängig voneinander erfolgen. Somit führen Versuche zum gleichzeitigen Zugreifen auf dieselbe Ressource zu Bus-Konkurrenz-Problemen oder Bus-Blockier-Proble men, da hinsichtlich zweier voneinander unabhängiger Aktivitäten der Versuch unternommen wird, über denselben Bus auf dieselbe Ressource zuzugreifen.
  • ZUSAMMENFASSENDER ÜBERBLICK ÜBER DIE ERFINDUNG
  • Es besteht Bedarf an einer Anordnung, die Anforderungen hinsichtlich gemeinsam genutzter Ressourcen arbitriert, wenn die Anforderungen hinsichtlich derselben Ressource gleichzeitig auftreten.
  • Es besteht ferner Bedarf an einer Anordnung, die Anforderungen hinsichtlich gemeinsam genutzter Ressourcen arbitriert, wobei einige der Anforderungen den Zugriff auf mehr als eine Ressource erforderlich machen.
  • Diese und weitere Erfordernisse werden von der vorliegenden Erfindung erfüllt, wobei ein erster und ein zweiter Arbiter Zugriffs-Anforderungen hinsichtlich eines ersten Busses oder eines zweiten Busses während jeweiliger exklusiver Teile eines Taktsignals gewähren.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung weist ein System zum Arbitrieren von Bus-Zugriffs-Anforderungen einen ersten und einen zweiten Arbiter auf. Der erste Arbiter gewährt einem ersten Anforderer Zugriff auf einen ersten Bus während eines ersten Teils eines Taktsignals auf der Basis einer Verfügbarkeit eines zweiten Busses. Der zweite Arbiter gewährt einem zweiten Anforderer Zugriff auf einen zweiten Bus während eines zweiten Teils des Taktsignals auf der Basis einer Verfügbarkeit des zweiten Busses, wobei der erste Anforderer Zugriff auf die ersten und zweiten Busse fordert. Das Gewähren von Zugriff durch die ersten und zweiten Arbiter während der jeweiligen Teile des Taktsignals gewährleistet, dass die Arbiter beim Versuch des Zugriffs auf eine gemeinsam genutzte Ressource keinen Blockier- oder Konkurrenzfall erleben. Ferner gewährleistet die Verwendung unterschiedlicher Taktsignalteile eine zuverlässige Arbitrierung mit minimaler Logik.
  • In EP 0 774 717 ist ein generisches Input/Output-Interface zwischen einem IO-Block und einem System- und ATM-Schicht-Kern in einer Netz-Interface-Schaltung beschrieben. Das GIO-Interface weist parallel verlaufende DM-Lese- und Schreib-Steuer-Handshake-Signalleitungen, parallel verlaufende DMA-Lese- und Schreib-Daten-Handshake-Signalleitungen, die unabhängig von den Lese- und Schreib-Steuer-Handshake-Signalleitungen arbeiten, parallel verlaufende DM-Lese- und Schreib-Datensignalleitungen und eine einzelne Taktsignalleitung auf.
  • Die vorliegende Erfindung schafft ein Arbitrier-System mit einem ersten Arbiter, der einem ersten Anforderer während eines ersten Teils eines Taktsignals auf der Basis einer Verfügbarkeit eines zweiten Busses (S) Zugriff auf einen ersten Bus (A) gewährt; und einem zweiten Arbiter, der einem zweiten Anforderer während eines zweiten Teils des Taktsignals auf der Basis einer Verfügbarkeit des zweiten Busses (S) Zugriff auf den zweiten Bus (S) gewährt, wobei der erste Anforderer gleichzeitigen Zugriff auf den ersten und den zweiten Bus fordert.
  • Weitere Aufgaben und Vorteile der vorliegenden Erfindung werden für Fachleute auf dem Sachgebiet anhand der nachfolgenden detaillierten Beschreibung offensichtlich. Die dargestellten und beschriebenen Ausführungsformen erläutern die beste Art zum Durchführen der Erfindung. Die Erfindung ist in verschiedenen offensichtlichen Aspekten modifizierbar, ohne dass dadurch vom Umfang der Erfindung abgewichen wird. Entsprechend dürfen die Zeichnungen und die Beschreibung nur als Erläuterung und nicht als Einschränkung angesehen werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockschaltbild einer Anordnung zum Transferieren von Daten zwischen einem Netz-Interface und einem Host-Prozessor gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 2 zeigt ein Blockschaltbild eines Datenflusses zwischen dem Netz-Interface und dem PCI-Interface aus 1;
  • 3 zeigt ein Blockschaltbild des Daten-Kontrollers aus 1;
  • 4 zeigt ein Zeitdiagramm eines Blockierfalls, bei dem die erfindungsgemäße Arbitrier-Anordnung nicht verwendet wird;
  • 5 zeigt ein alternatives Zeitdiagramm eines Konkurrenzfalls, bei dem die erfindungsgemäße Arbitrier-Anordnung nicht verwendet wird;
  • 6 zeigt ein Zeitdiagramm eines zeitlich gemultiplexten Arbitrier-Schemas für das System aus 1;
  • 7 zeigt ein Ablaufdiagramm des Verfahrens zum Arbitrieren von Zugriff gemäß einer Ausführungsform der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG VON DARGESTELLTEN AUSFÜHRUNGSFORMEN
  • 1 zeigt ein Blockschaltbild eines typischen Systems in einer Netzstation, bei dem das erfindungsgemäße Arbitrier-Schema zur Anwendung kommt. Es ist jedoch offensichtlich, dass die vorliegende Erfindung auch auf andere Systeme anwendbar ist, bei denen eine Ressourcen-Arbitrierung erforderlich ist.
  • 1 zeigt einen Daten-Kontroller 10, der Datentransfers zwischen einem Netz-Interface und einem Host-Kontroller in einer Netzstation steuert. Das System weist ein Peripheriekomponentenverbindungs- (PCI-) Interface 12 auf, das die Kommunikation über einen ersten Datenbus, der als "A-Bus" bezeichnet wird, zwischen einem PCI-Bus und dem Daten-Kontroller 10 unterstützt. Ein Medienzugriffssteuer- (MAC-) Netz-Interface 16 transferiert Daten zwischen dem Daten-Kontroller 10 über einen zweiten Datenbus, der als "M-Bus" bezeichnet wird. Das MAC-Netz-Interface 16 gibt Datenpakete auf einem Netz aus, beispielsweise einem Ethernet (IEEE 802.3), das von dem Daten-Kontroller 10 gelieferte Daten transportiert. Das System weist ferner einen Externspeicher 14 auf, der vorzugsweise als statischer RAM (SRAM) implementiert ist und der Daten zwischen dem Daten-Kontroller 10 über einen Datenbus, der als "S-Bus" bezeichnet wird, transferiert. Der Externspeicher 14 sorgt für die temporäre Speicherung von über das Netz zwischen dem Host-Kontroller und angeschlossenen Arbeitsstationen transferierten Daten und ergänzt interne Puffer in dem PCI-Interface 12 und dem MAC 16.
  • 2 zeigt ein Datenflussdiagramm mit Darstellung von vier Einrichtungen, die von dem Daten-Kontroller 10 ausgeführt werden. Die Einrichtungen umfassen eine Übertragungs-Direktspeicherzugriffs- (Tx DMA-) Einrichtung 26, eine Empfangs-Direktspeicherzugriffs- (Rx DMA-) Einrichtung 28, eine Übertragungs-MAC- (Tx MAC-) Einrichtung 30 und eine Empfangs-MAC- (Rx MAC-) Einrichtung 32. Die Einrichtungen können beispielsweise als logische Zustandsmaschinen implementiert sein. Die Einrichtungen 26 und 30 steuern den Datentransfer (d. h. den Datenfluss) über den SRAM 14 von dem PCI-Interface 12 zu dem MAC 16 (d. h. den Datenübertragungsweg), und die Einrichtungen 28 und 32 steuern den Datentransfer von dem MAC 16 zu dem PCI-Interface 12 (d. h. den Empfangsweg). Somit nutzen die Datenübertragungs- und -empfangswege den SRAM 14 gemeinsam. Wie beschrieben, bildet der Daten-Kontroller 10 einen Mechanismus zum Zugreifen der vier konkurrierenden Einrichtungen auf den SRAM 14.
  • Die Übertragungs-DMA-Einrichtung 26 koordiniert sämtliche Aktivitäten zum Bewegen von Frames von dem PCI-Interface 12 zu dem SRAM 14. Diese Aktivitäten umfassen Lesen eines Descriptor, Datentransfer von dem PCI-Bus zu dem SRAM 14, Schreiben des Status, und die gesamte für die oben beschriebenen DMA-Aktivitäten benötigte Initialisierung.
  • Die Tx-DMA-Einrichtung 26 bewegt Frames über den A-Bus und den S-Bus von dem PCI-Interface-Eingabe-FIFO 18 zu dem SRAM 14. Wenn ein vollständiges Übertragungs-Frame in dem SRAM 14 empfangen wird, bewegt die TX-MAC-Einrichtung 30 Daten über den S-Bus zu dem MAC-Übertragungs-FIFO 22. Insbesondere wenn die Übertragungs-MAC-Einrichtung 30 einen Bereit-Zustand des MAC-Übertragungs-FIFO 22 detektiert, führt die Übertragungs-MAC-Einrichtung 30 eine Überprüfung hinsichtlich eines kompletten Übertragungs-Frame in dem SRAM 14 durch und aktiviert ein Anforderungssignal an einen Arbiter, wie nachstehend beschrieben. Alternativ kann die Übertragungs-MAC-Einrichtung 30 prüfen, ob die Übertragungs-FIFO-Speicherkapazität einen vorgeschriebenen Schwellenwert erreicht. Nach Empfang eines Gewährungssignals von dem Arbiter ruft die Übertragungs-MAC-Einrichtung 30 ein Niedrigpegel-Modul zum Durchführen eines Datentransfer von bis zu acht Wörtern in den MAC-Übertragungs-FIFO 22 auf.
  • Die Empfangs-MAC-Einrichtung 32 bewegt Frames über den S-Bus von dem MAC-Empfangs-FIFO 24 zu dem SRAM 14. Der SRAM 14 weist ein Warteschlangenschema auf, das zum Halten von 64 Frames ohne Bewirken eines Empfangs-Überlaufs vorgesehen ist. Eine 64×32 Bit lange Warteschlange hält die Frame-Länge und Empfangs-Statusinformationen für jeden von dem MAC 16 erhaltenen Normal-Frame.
  • Die Empfangs-MAC-Einrichtung 32 prüft zuerst, ob ein Ausnahmezustand besteht, der das Verwerfen eines Empfangs-Frame und ein Leeren des Empfangs-FIFO bewirken kann. Wenn ein solcher Zustand besteht, leert die Empfangs-MAC-Einrichtung 32 den SRAM 14. Wenn Daten von dem Empfangs- FIFO 24 zur Verfügung stehen, sendet die Empfangs-MAC-Einrichtung 32 eine Anforderung an den Arbiter und wartet auf die Gewährung. Die Empfangs-MAC-Einrichtung 32 ruft anschließend ein Niedrigpegel-Modul zum Durchführen eines Transfers von bis zu acht Wörtern von dem MAC-Empfangs-FIFO 24 zu dem SRAM 14 auf.
  • Die Empfangs-DMA-Einrichtung 28 koordiniert sämtliche Aktivitäten zum Bewegen von Frames von dem SRAM 14 zu dem PCI-Bus. Diese Aktivitäten umfassen Lesen eines Descriptor, Datentransfer von dem SRAM 14 zu dem PCI-Bus, Schreiben des Status und die gesamte für die oben beschriebenen DMA-Aktivitäten benötigte Initialisierung.
  • Die gesamten DMA-Aktivitäten umfassen das Durchführen folgender Schritte durch die entsprechenden DMA-Einrichtungen 26 oder 28:
    • – Senden eines Anforderungssignals an einen (nicht gezeigte) Arbiter und Warten auf ein Gewährungssignal von dem Arbiter.
    • – Im Falle des Lesens eines Descriptor, Aufrufen eines Niedrigpegel-Moduls zum Bewegen des Descriptor von dem PCI-Bus zu den internen Descriptor-Halte-Registern.
    • – Im Falle des Lesens von Daten, Aufrufen eines Niedrigpegel-Moduls zum Bewegen von acht Wörtern von dem PCI-Bus zu dem SRAM 14.
    • – Im Falle des Schreibens von Daten, Aufrufen eines Niedrigpegel-Moduls zum Bewegen von acht Wörtern von dem SRAM 14 zu dem PCI-Bus.
    • – Im Falle des Status-Schreibens, Aufrufen eines Niedrigpegel-Moduls zum Bewegen des Status von einem internen Status-Halte-Register zu dem PCI-Bus.
    • – Deaktivieren des Anforderungssignals zu dem Arbiter.
  • Ein Descriptor-Kontroller ist in dem Daten-Kontroller 10 enthalten. Die Descriptor-Kontroller-Aktivitäten umfassen Empfangen von Status-Schreiben (Rx Stat Wr), Übertragen von Status-Schreiben (Tx Stat Wr), Empfangen von Descriptor-Lesen (Rx Desc Rd) und Übertragen von Descriptor-Lesen (Tx Desc Rd). Ein Slave-Kontroller ist ebenfalls in dem Daten-Kontroller 10 enthalten, und die Aktivitäten des Slave-Kontrollers umfassen Slave-Lesen/Schreiben (Slv RW). Alle diese Aktivitäten des Descriptor-Kontrollers und des Slave-Kontrollers machen einen Zugriff auf den A-Bus erforderlich.
  • 3 zeigt ein Blockschaltbild des Daten-Kontrollers 10 gemäß einer Ausführungsform der vorliegenden Erfindung. Wie oben beschrieben, weist der Daten-Kontroller 10 ausführbare Einrichtungen zum Durchführen spezifischer Operationen auf. Wie oben beschrieben, greift eine erst Gruppe von Einrichtungen (26, 28, 30 und 32) gemeinsam auf den SRAM 14 zu und muss somit auch gemeinsam auf den S-Bus zugreifen. Die DMA-Einrichtungen 26 und 28 fordern beide ferner gleichzeitigen (d. h. simultanen) Zugriff sowohl auf den A-Bus als auch auf den S-Bus für Transfers zwischen dem PCI-Interface 12 und dem SRAM 14. Eine zweite Gruppe von Einrichtungen (Slv RW 34, Rx Stat Wr 36, Tx Stat Wr 38, Rx Desc Rd 40 und Tx Desc Rd 42) greift gemeinsam auf den A-Bus zu. Da die Einrichtungen in jeder Gruppe nicht sequentiell eingeplant sind, weist der Daten-Kontroller 10 einen Arbiter S 44 und einen Arbiter A 46 auf, die den Zugriff für den Bus S bzw. den Bus A steuern. Die Arbiter 44 und 46 führen eine Arbitrierung unter Verwendung von Anforderungs- (REQ-) und Gewährungs- (GNT-) Handshaking-Signalen, eines Bus-Frei-Signals und eines Taktsignals durch.
  • Beispielsweise ist eine Übertragungs-MAC-Anforderung (TX MAC REQ) eine von der Übertragungs-MAC-Einrichtung 30 erzeugte Anforderung an den Arbiter S 44 bezüglich Zugriff auf den S-Bus. Der Arbiter S 44 empfängt diese Anforderung und gewährt Zugriff auf die Übertragungs-MAC-Einrichtung 30 durch Senden eines Übertragungs-MAC-Gewährungs- (TX MAC GNT-) Signals an die Übertragungs-MAC-Einrichtung 30. Ähnlich werden die anderen Zugriffs-Anforderungen an die Arbiter S 44 bzw. A 46 auf die gleiche Weise durchgeführt. Es kann immer nur einer Einrichtung Zugriff auf eine gemeinsam genutzte Ressource (z. B. den A-Bus) gewährt werden.
  • Wie oben beschrieben, transferieren der Übertragungs-DMA 25 und der Empfangs-DMA 28 Daten zwischen dem PCI-Bus und dem SRAM 14 und fordern gleichzeitig Zugriff auf den A-Bus und den S-Bus. Um zu gewährleisten, dass sowohl der A-Bus als auch der S-Bus verfügbar ist, wenn diese beiden Einrichtungen Zugriff fordern, übermitteln der Arbiter A 46 und der Arbiter S 44 den Status ihrer jeweiligen Busse mittels Signalen A FREE und S FREE.
  • Der Arbiter A 46 erzeugt und sendet das Signal A FREE an den Arbiter S 44, wenn der A-Bus verfügbar ist. Auf im wesentlichen gleiche Weise erzeugt und sendet der Arbiter S 44 S FREE an den Arbiter A 46. Das Signal S FREE ist normalerweise aktiviert, ist jedoch deaktiviert, wenn der Arbiter S 44 beabsichtigt, entweder der Übertragungs-DMA-Einrichtung 26 oder der Empfangs-DMA-Einrichtung 28 Zugriff sowohl auf den S-Bus als auch auf den A-Bus zu gewähren. Somit ist S-FREE nur deaktiviert, wenn sowohl der S-Bus als auch der A-Bus nicht verfügbar sind. Das Signal A FREE ist normalerweise aktiviert, ist jedoch deaktiviert, wenn der Arbiter A 46 beabsichtigt, eine Gewährung nur einer der Einrichtungen aus der zweiten Gruppe zu erteilen. Eine Gewährung wird von dem Arbiter S 44 erst dann der Übertragungs-DMA-Einrichtung 26 oder der Empfangs-DMA-Einrichtung 28 erteilt, wenn A FREE aktiviert ist, und zwar aufgrund der Tatsache, dass diese beiden Einrichtungen Zugriff sowohl auf den A-Bus als auch auf den S-Bus benötigen. Auf im wesentlichen gleiche Weise wird eine Gewährung von dem Arbiter A 46 erst dann einer der Einrichtungen aus der zweiten Gruppe erteilt, wenn S FREE aktiviert ist.
  • 4 zeigt ein potentielles Problem, das bei dem in 3 gezeigten Arbitrier-Schema auftreten kann, wenn die erfindungsgemäße Arbitrier-Anordnung nicht verwendet wird. In 4 repräsentiert REQ S eine von der Übertragungs-DMA-Einrichtung 26 oder der Empfangs-DMA-Einrichtung 28 erzeugte Anforderung bezüglich Zugriff auf die S- und A-Busse, und REQ A repräsentiert eine von einer der Einrichtungen aus der zweiten Gruppe (z. B. Einrichtungen 34, 36, 38, 40 oder 42) erzeugte Anforderung bezüglich Zugriff auf den A-Bus. GNT S repräsentiert nur eine Gewährung entweder für die Übertragungs-DMA-Einrichtung 26 oder die Empfangs-DMA-Einrichtung 28, während GNT A nur eine Gewährung für eine der Einrichtungen aus der zweiten Gruppe repräsentiert.
  • In Reaktion auf die Aktivierung von REQ S bei Ereignis 62 deaktiviert der Arbiter S 44 S FREE bei Ereignis 66, um den Arbiter A 46 bei dem zweiten Takt darüber zu informieren, dass der S-Bus nicht länger verfügbar ist. Bei dem dritten Takt ist GNT S aktiviert, wenn A FREE aktiviert ist. Der Arbiter A 46 arbeitet auf die gleiche Weise und zur gleichen Zeit auf REQ A. Das heißt, dass der Arbiter A 46 bei Ereignis 60 durch Deaktivieren von A FREE bei Ereignis 64 auf REQ A anspricht, um den Arbiter S 44 bei dem zweiten Takt darüber zu informieren, dass der S-Bus und der A-Bus nicht länger verfügbar sind. Bei dem dritten Takt ist GNT A aktiviert, wenn S FREE aktiviert ist. Bei diesem Beispiel erfolgt eine Blockierung bei dem dritten Taktzyklus, da jeder Arbiter 44 und 46 denkt, dass der gemeinsam genutzte A-Bus belegt ist und keines der Gewährungssignale bei Ereignissen 68 und 69 aktiviert ist. Somit wird der Zugriff auf den A-Bus fordernden Einrichtungen der Zugriff verweigert und der Zugriff auf den S-Bus fordernden ebenfalls der Zugriff verweigert.
  • 5 zeigt ein weiteres potentielles Problem, das bei dem in 3 gezeigten Arbitrier-Schema auftreten kann, wenn die erfindungsgemäße Arbitrier-Anordnung nicht angewendet wird. In 5 informiert der Arbiter S 44 in Reaktion auf die Aktivierung von REQ S bei Ereignis 82 den Arbiter A 46 darüber, dass der S-Bus und der A-Bus bei dem zweiten Takt nicht verfügbar sind, und zwar durch Deaktivieren von S FREE bei Ereignis 86 und Aktivieren von GNT S bei Ereignis 89, um Zugriff auf den S-Bus und den A-Bus zu gewähren. Der Arbiter A 46 spricht dadurch auf REQ A bei Ereignis 80 an, dass er den Arbiter S 44 darüber informiert, dass der A-Bus bei dem zweiten Takt nicht verfügbar ist, und zwar durch Deaktivieren von A FREE bei Ereignis 84 und Aktivieren von GNT A bei Ereignis 88, um Zugriff auf den A-Bus zu gewähren. Somit tritt eine Konkurrenz bei dem zweiten Takt hinsichtlich des gemeinsam genutzten A-Busses auf, da sowohl GNT A als auch GNT S bei den Ereignissen 88 und 89 aktiviert werden, wodurch bewirkt wird, dass die beiden anfordernden Einrichtungen gleichzeitig auf denselben A-Bus zugreifen. Dies ist darauf zurückzuführen, dass GNT S bewirkt, dass entweder die Übertragungs-DMA-Einrichtung 26 oder die Empfangs-DMA-Einrichtung 28 auf den S-Bus und den A-Bus zugreift, und zwar zu der gleichen Zeit, zu der eine Einrichtung aus der zweiten Gruppe auf den A-Bus zugreift.
  • Zum Lösen des oben beschriebenen Konkurrenz/Blockier-Problems wird ein zeitlich gemultiplextes Schema angewandt.
  • 7 zeigt ein Ablaufdiagramm des Verfahrens zum Arbitrieren des Zugangs gemäß einer Ausführungsform der vorliegenden Erfindung. Das offenbarte Verfahren kann parallel (z. B. in Form einer Zustandsmaschine) implementiert sein. Das Verfahren beginnt mit Schritt 201 durch Unterteilen des Takts in N Teile, wobei N der Anzahl von Arbitern entspricht, die um eine gemeinsam genutzte Ressource konkurrieren, in diesem Fall um den A-Bus. In diesem Fall ist N = 2 für die Arbiter 44 und 46. Gemäß 6 erzeugt der Daten-Kontroller 10 ein PHASE-Signal als ein von dem Systemtakt CLK abgeleiteter durch zwei dividierter Takt. Die Hochphase bei 101, 103, 105, 107 und 109 (PHA) ist als erster exklusiver Teil des Systemtaktsignals für den Arbiter A 46 reserviert, während die Niedrigphase bei 100, 102, 104, 106, 108 und 110 (PHS) als zweiter exklusiver Teil für den Arbiter S 44 reserviert ist. Der Systemtakt CLK ist bei dem beispielhaften System ein 33 MHz-Kristall-Referenztakt. Es kann jedoch ein beliebiges bekanntes Referenzsignal, das ein stabiles Taktsignal bildet, verwendet werden. Ferner werden die Details zum Erzeugen eines von einem Referenztakt abgeleiteten, durch zwei dividierten Takts für die vorliegende Erfindung nicht benötigt. Eine beliebige, auf dem Sachgebiet bekannte typische Vorrichtung zum Empfangen eines Eingangs-Taktsignals und Erzeugen eines neuen Taktsignals, das die durch zwei dividierte Version des Referenztakts ist, ist für die Erfindung geeignet.
  • Bei dem erfindungsgemäßen zeitlich gemultiplexten Arbitrier-System deaktiviert der Arbiter A 46 A FREE und aktiviert GNT A nur während des entsprechenden exklusiven Teils PHA in Reaktion auf REQ A in Schritte 202 und deaktiviert der Arbiter S 44 S FREE und aktiviert GNT S nur während des entsprechenden exklusiven Teils PHS in Reaktion auf REQ S in Schritt 203. Sowohl S FREE als auch A FREE müssen jedoch für die Gewährung beider Anforderungen aktiviert sein (d. h. der A-Bus muss frei sein), und zwar unabhängig davon, in welcher Phase sich der Takt befindet. Da der Arbiter A 46 und der Arbiter S 44 niemals eine Entscheidung in derselben Phase treffen, werden Blockier- und Konkurrenzfälle vermieden.
  • Gemäß 6 sind bei Aktivierung von REQ A bei Ereignis 112 beide Signale A FREE und S FREE aktiviert. Daher prüft der Arbiter A 46 in Schritt 204, ob sowohl S FREE als auch A FREE aktiviert sind und aktiviert GNT A bei Ereignis 124 während des exklusiven Teils PHA in Schritten 205 und 206 und deaktiviert A FREE bei Ereignis 118. Daher wird Zugriff auf den A-Bus einer Einrichtung aus der zweiten Gruppe (z. B. Einrichtung 34, 36, 38, 40 oder 42) gewährt, welche Zugriff auf den A-Bus fordert. Dabei lehnt der Arbiter S Anforderungen in Schritt 204 ab. Wenn REQ A bei Ereignis 114 deaktiviert wird, wird A FREE bei Ereignis 120 erneut aktiviert. In Reaktion auf die Aktivierung von REQ S, S FREE und A FREE bei Zyklus 107 aktiviert der Arbiter S GNT S bei PHS bei Ereignis 128 in Schritten 207 und 208 und deaktiviert S FREE bei Ereignis 122. Daher wird Zugriff auf den S-Bus und den A-Bus entweder der Übertragungs-DMA-Einrichtung 26 oder der Empfangs-DMA-Einrichtung 28 gewährt. Da der Arbiter S 44 und der Arbiter A 46 A FREE und S FREE niemals in derselben Phase deaktivieren, werden durch Anforderungen hinsichtlich der System-Ressourcen sowohl Blockier- als auch Konkurrenz-Probleme vermieden.
  • Bei dem in dem Ausführungsbeispiel beschriebenen zeitlich gemultiplexten Arbitrier-System werden zwei Arbiter verwendet und das Taktsignal in zwei Phasen unterteilt, und zwar eine für jeden Arbiter. Das gemultiplexte Arbitrier-System ist jedoch gleichfalls auf Systeme anwendbar, die mehr als zwei Arbiter aufweisen. Beispielsweise kann ein System drei Arbiter zum Arbitrieren von Zugriff auf drei separate Busse verwenden. Bei einem solchen System wird, wenn für eine der Aktivitäten Zugriff auf jeden der drei Busse benötigt wird oder für mehr als eine Aktivität Zugriff auf mehr als einen dieser Busse benötigt wird, das Taktsignal in drei Phasen unterteilt, und zwar eine Phase für jeden Arbiter. Auf diese Weise wird die erste Phase zum Gewähren von Zugriff auf die erste Aktivität, die zweite Phase für die zweite Aktivität und die dritte Phase für die dritte Aktivität verwendet. Auf im wesentlichen gleiche Weise wird in Fällen, in denen vier Arbiter verwendet werden, das Taktsignal in vier Phasen unterteilt.
  • Bei dem Ausführungsbeispiel des zeitlich gemultiplexten Arbitrier-Systems wird ferner angenommen, dass die Taktphasen von gleicher Dauer sind. Alternativ kann die Erfindung unterschiedliche Teile des Taktsignals oder Zeitanteile unterschiedlichen Arbitern zuweisen. Beispielsweise kann, wenn bekannt ist, dass eine erste Aktivität häufiger auftritt als eine zweite Aktivität, der erste Teil des Taktsignals länger sein als ein zweiter Teil des Taktsignals. Auf diese Weise ist es wahrscheinlicher, dass die Anforderung von einer ersten Aktivität bei einem vorgegebenen Zeitanteil erfüllt wird, da der Zeitraum, in dem der erste Arbiter die Anforderung erfüllen kann, länger ist als der Zeitraum, in dem der zweite Arbiter die Anforderung erfüllen kann.
  • Das Ausführungsbeispiel der Erfindung zeigt ferner außerhalb des Chips befindliche Busse. Alternativ ist die Erfindung in einem System verwendbar, in dem die Busse in dem Chip angeordnet sind. Ferner ist die offenbarte Anord nung auf Systeme mit mehreren Arbitern anwendbar, die mehrere Busse gemeinsam nutzen. Somit können unterschiedliche Varianten von Arbitern und Bussen verwendet werden.
  • Es sind ein System und ein Verfahren zur zeitlich gemultiplexten Arbitrierung beschrieben worden, bei denen Blockierung und Konkurrenz vermieden werden. Ein Vorteil der Erfindung liegt darin, dass es das Arbitrier-System ermöglicht, dass das System Datentransfers rechtzeitig verarbeitet, ohne dass komplexe Arbitrier-Algorithmen zum Bestimmen, wie die Daten transferiert werden sollen, erforderlich sind. Ein weiterer Vorteil der Erfindung besteht darin, dass das angewendete Arbitrier-Schema keine Arbiter-Hierarchie zum Auflösen von Konkurrenz hinsichtlich der Ressourcen erforderlich macht. Dadurch wird Verarbeitungszeit gespart, und es ist möglich, durch den Wegfall einer komplexen Logik Chip-Platz bei den Arbitern einzusparen.
  • In dieser Offenbarung sind nur die bevorzugten Ausführungsformen der Erfindung dargestellt und beschrieben worden, es sei jedoch, wie oben erwähnt, darauf hingewiesen, dass die Erfindung in verschiedenen anderen Kombinationen und Umgebungen anwendbar ist und innerhalb des Umfangs des erfindungsgemäßen Konzepts, wie es hier beschrieben ist, veränderbar und modifizierbar ist.
  • Industrielle Anwendbarkeit
  • Die offenbarte Ausführungsform ist in Interface-Vorrichtungen und Bus-Arbitrier-Kontrollern in vernetzten Computern und Netzsteuersystemen anwendbar.

Claims (9)

  1. Arbitrier-System (10) mit: einem ersten Arbiter (44), der einem ersten Anforderer während eines ersten Teils eines Taktsignals auf der Basis einer Verfügbarkeit eines zweiten Busses (S) Zugriff auf einen ersten Bus (A) gewährt; und einem zweiten Arbiter (46), der einem zweiten Anforderer während eines zweiten Teils des Taktsignals auf der Basis einer Verfügbarkeit des zweiten Busses (S) Zugriff auf den zweiten Bus (S) gewährt, wobei der erste Anforderer gleichzeitigen Zugriff auf den ersten und den zweiten Bus fordert.
  2. Arbitrier-System nach Anspruch 1, bei dem der erste Arbiter zum Senden eines ersten Bus-Frei-Signals (S_FREE) an den zweiten Arbiter vorgesehen ist, wodurch eine gleichzeitige Verfügbarkeit des ersten Busses und des zweiten Busses angezeigt wird.
  3. Arbitrier-System nach Anspruch 2, bei dem der zweite Arbiter zum Senden eines zweiten Bus-Frei-Signals (A_FREE) an den ersten Arbiter vorgesehen ist, wodurch eine Verfügbarkeit des zweiten Busses angezeigt wird.
  4. Arbitrier-System nach Anspruch 2, bei dem der erste Arbiter dem ersten Anforderer nur dann Zugriff auf den ersten Bus gewährt, wenn sowohl der erste Bus als auch der zweite Bus frei sind, wobei der erste Anforderer in Reaktion auf das Gewähren von Zugriff auf den ersten Bus Daten auf dem ersten Bus und dem zweiten Bus transferiert.
  5. Arbitrier-System nach Anspruch 2, bei dem der zweite Arbiter dem zweiten Anforderer auf der Basis des ersten Bus-Frei-Signals Zugriff auf den zweiten Bus gewährt, wobei der zweite Anforderer in Reaktion auf das Gewähren von Zugriff auf den zweiten Bus Daten auf dem zweiten Bus transferiert.
  6. Arbitrier-System nach Anspruch 5, bei dem der erste Anforderer Daten zwischen einem mit dem ersten Bus gekoppelten PCI-Interface (12) und einer mit dem zweiten Bus gekoppelten Speichervorrichtung (14) transferiert.
  7. Verfahren zum in einem Daten-Kontroller (10) erfolgenden Arbitrieren von Zugriff auf einen ersten Bus (A) und/oder einen zweiten Bus (S), mit folgenden Schritten: a) Unterteilen eines Taktsignals (CLK) in mindestens zwei exklusive Teile (PHS und PHA); b) Erzeugen von ersten (A_FREE) und zweiten (S_FREE) Signalen, die die Verfügbarkeit des ersten Busses (A) bzw. die gleichzeitige Verfügbarkeit des ersten und des zweiten Busses anzeigen; c) Gewähren eines ersten Bus-Zugriffs (GNT A) für eine erste Aktivität (REQ A), die während eines ersten exklusiven Teils (PHA) des Taktsignals auf der Basis des zweiten Taktsignals (S_FREE) Zugriff auf den ersten Bus fordert; und d) Gewähren eines zweiten Bus-Zugriffs (GNT S) für eine zweite Aktivität (REQ S), die während eines zweiten exklusiven Teils (PHS) des Taktsignals auf der Basis der Verfügbarkeit des zweiten Busses (S) und des ersten Signals (A_FREE) Zugriff auf den ersten und den zweiten Bus fordert.
  8. Verfahren nach Anspruch 7, bei dem Schritt c) ferner umfasst: Gewähren des ersten Bus-Zugriffs für die erste Aktivität nur dann, wenn der erste Bus frei ist.
  9. Verfahren nach Anspruch 7, bei dem Schritt d) ferner umfasst: Gewähren des zweiten Bus-Zugriffs für die zweite Aktivität nur dann, wenn sowohl der zweite Bus als auch der erste Bus frei sind.
DE69827879T 1997-06-19 1998-01-29 Zeitmultiplexschema zur Verklemmungsauflösung in distribuierter Arbitrierung Expired - Lifetime DE69827879T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US879202 1997-06-19
US08/879,202 US6061361A (en) 1997-06-19 1997-06-19 Time multiplexed scheme for deadlock resolution in distributed arbitration

Publications (2)

Publication Number Publication Date
DE69827879D1 DE69827879D1 (de) 2005-01-05
DE69827879T2 true DE69827879T2 (de) 2005-11-03

Family

ID=25373631

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69827879T Expired - Lifetime DE69827879T2 (de) 1997-06-19 1998-01-29 Zeitmultiplexschema zur Verklemmungsauflösung in distribuierter Arbitrierung

Country Status (4)

Country Link
US (1) US6061361A (de)
EP (1) EP0886218B1 (de)
JP (1) JP4625549B2 (de)
DE (1) DE69827879T2 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738845B1 (en) 1999-11-05 2004-05-18 Analog Devices, Inc. Bus architecture and shared bus arbitration method for a communication device
DE19961124A1 (de) * 1999-12-17 2001-06-21 Infineon Technologies Ag Schnittstelle
US6778548B1 (en) * 2000-06-26 2004-08-17 Intel Corporation Device to receive, buffer, and transmit packets of data in a packet switching network
US7035277B1 (en) * 2000-08-31 2006-04-25 Cisco Technology, Inc. Priority-based arbitration system for context switching applications
ES2405354T3 (es) 2006-02-20 2013-05-30 Robert Bosch Gmbh Dispositivo de detección de obstrucción
FR3087982B1 (fr) * 2018-10-31 2020-12-04 Commissariat Energie Atomique Procede et circuit de multiplexage temporel d'acces concurrents a une ressource informatique
TWI739556B (zh) * 2020-08-19 2021-09-11 瑞昱半導體股份有限公司 時脈死結檢測系統、方法以及非暫態電腦可讀取媒體

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1229667B (it) * 1989-04-24 1991-09-06 Bull Hn Information Syst Sistema di elaborazione dati con arbitratore duale di accesso a bus di sistema.
BR9404437A (pt) * 1993-03-12 1999-06-15 Motorola Inc Controlador de comunicações unidade remota e processo para reduzir a probabilidade de contenção de tráfego de solicitaç es e alocação errada de recurso de multiplexação por divisão de tempo (mdt)
US5713025A (en) * 1993-10-21 1998-01-27 Sun Microsystems, Inc. Asynchronous arbiter using multiple arbiter elements to enhance speed
US5787265A (en) * 1995-09-28 1998-07-28 Emc Corporation Bus arbitration system having a pair of logic networks to control data transfer between a memory and a pair of buses
US5745684A (en) * 1995-11-06 1998-04-28 Sun Microsystems, Inc. Apparatus and method for providing a generic interface between a host system and an asynchronous transfer mode core functional block
US5797018A (en) * 1995-12-07 1998-08-18 Compaq Computer Corporation Apparatus and method of preventing a deadlock condition in a computer system

Also Published As

Publication number Publication date
JP4625549B2 (ja) 2011-02-02
EP0886218A3 (de) 2003-04-09
EP0886218B1 (de) 2004-12-01
DE69827879D1 (de) 2005-01-05
JPH1125036A (ja) 1999-01-29
US6061361A (en) 2000-05-09
EP0886218A2 (de) 1998-12-23

Similar Documents

Publication Publication Date Title
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
EP0179936B1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
DE3909948C2 (de)
DE69628609T2 (de) Distribuiertes Pipeline-Busarbitrierungssystem
DE69834519T2 (de) Bussteuerungssystem und -verfahren
DE69735575T2 (de) Verfahren und Vorrichtung zur Unterbrechungsverteilung in einem skalierbaren symmetrischen Mehrprozessorsystem ohne die Busbreite oder das Busprotokoll zu verändern
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
EP2030118B1 (de) Mehrprozessor-gateway
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE3732798A1 (de) Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet
DE4129614A1 (de) System und verfahren zur datenverarbeitung in einer mehrzahl von betriebsarten entsprechend programminterner parallelverarbeitungseigenschaften unter verwendung eines cachespeichers
DE19983506B3 (de) Verfahren zum Betreiben eines zeitlich gemultiplexten Adress- und Datenbusses in einem Computersystem und Busschnittstelle hierfür
DE4018481C2 (de)
DE69726302T2 (de) Busschnittstellensteuerungsschaltung
DE3049774C2 (de)
DE3837699A1 (de) Systembuserweiterung zur kopplung multimasterfaehiger mehrrechnersysteme
DE69827879T2 (de) Zeitmultiplexschema zur Verklemmungsauflösung in distribuierter Arbitrierung
DE102006012659A1 (de) System und Verfahren zum Reduzieren der Speicherlatenz bei mit einem Bus verbundenen Mikroprozessorsystemen
DE102006009034B3 (de) Verfahren zum Betreiben eines Bussystems sowie Halbleiter-Bauelement, insbesondere Mikroprozessor- bzw. Mikrocontroller
DE10056152B4 (de) Verfahren zur Durchführung von Busarbitration zwischen Steuerchips eines Chipsatzes mit preemptiver Fähigkeit
DE60211874T2 (de) Anordnung von zwei Geräten, verbunden durch einen Kreuzvermittlungsschalter
DE10085501B3 (de) Ein Verfahren und eine Einrichtung für einen isochronen Datentransport über einen asynchronen Bus
DE112020005466T5 (de) Bussystem und verfahren zum betrieb eines bussystems
DE60038172T2 (de) Verfahren um Daten in einem Verarbeitungsystem zu übertragen
DE60022952T2 (de) Verteilter Bus für Dienstanforderungen mit Token zur Auflösung von Kollisionen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: GLOBALFOUNDRIES INC. MAPLES CORPORATE SERVICES, KY