-
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.