DE10030148A1 - Brückenvorrichtung - Google Patents
BrückenvorrichtungInfo
- Publication number
- DE10030148A1 DE10030148A1 DE10030148A DE10030148A DE10030148A1 DE 10030148 A1 DE10030148 A1 DE 10030148A1 DE 10030148 A DE10030148 A DE 10030148A DE 10030148 A DE10030148 A DE 10030148A DE 10030148 A1 DE10030148 A1 DE 10030148A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- port
- ports
- protocol
- agp
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
Abstract
Eine Brücke weist einen ersten Anschluß, der mit einem primären Bus verbunden ist, und zweite Anschlüsse, die entsprechend mit zweiten Bussen verbunden sind, auf. Der erste Anschluß weist einen PCI-Master, einen PCI-Slave und einen AGP-Master auf. Jeder der zweiten Anschlüsse weist einen PCI-Master, einen PCI-Target und ein AGP-Target auf. Die Brücke weist weiter eine Mehrzahl von First-In-First-Qut-Speichern, die asynchrone Datenwege zwischen dem ersten Anschluß und den zweiten Anschlüssen bilden, und Entscheidungseinheiten zum Entscheiden eines Konfliktes zwischen den Übertragungen auf den Datenwegen, die durch die First-In-First-Out-Speicher gebildet werden, auf der Basis der Protokolle, die mit den Übertragungen verbunden sind, auf.
Description
Die vorliegende Erfindung bezieht sich auf eine Brückenvorrich
tung. Insbesondere bezieht sich die vorliegende Erfindung auf
die Implementierung bzw. auf den Einbau von Punkt-zu-Punkt-
Anschlußprotokollen, wie beispielsweise AGP (Accelerated Gra
phics Port, schnelle Grafikschnittstelle) in einem Computer, und
weiter insbesondere auf Hardware-Verbesserungen, welche zu Ver
besserungen in auf diesen Protokollen basierenden Systemen und
zum Vergrößern der zugehörigen Anwendungsgebiete beitragen.
Der AGP-Standard wird durch Intel Corporation vorgeschlagen und
ist als ein Punkt-Punkt-Anschlußprotokoll definiert, d. h. nur
einer einzelnen AGP-Vorrichtung wird es ermöglicht, mit dem AGP-
Steckplatz auf der Grundplatine (Motherboard) eines PC
(Personalcomputer) verbunden zu sein. Die Vorrichtung gemäß die
ses AGP-Standards (AGP-Vorrichtung) wird benutzt, um 3D/2D
(dreidimensionale/zweidimensionale) Grafikverarbeitung oder der
gleichen auszuführen, und die Nachfrage nach AGP-Vorrichtungen
war kürzlich im Gebiet der Personalcomputer groß.
Da der AGP-Standard jedoch als ein Punkt-zu-Punkt-
Anschlußprotokoll definiert ist, trat folgendes Problem auf. Es
wird auf Fig. 43 Bezug genommen; zum Beispiel kann, falls eine
herkömmliche Grundplatine (Motherboard) 600, die in einem Perso
nalcomputer benutzt wird, nur einen AGP-Steckplatz 610 besitzt,
nur eine Zusatzplatine (AIB) 602 mit einer AGP-Vorrichtung 612
in diesem AGP-Steckplatz 610 natürlich eingebaut werden. Als ei
ne Folge kann eine zusätzliche AGP-Vorrichtung desselben Typs
wie die AGP-Vorrichtung 612 nicht einfach vorgesehen werden.
Falls eine Grundplatine 620 einen AGP-Steckplatz 630 und einen
PCI-Steckplatz 632 wie in Fig. 44 gezeigt besitzt, kann die Zu
satzplatine 602 in dem AGP-Steckplatz 630 eingebaut werden und
eine andere Zusatzplatine 624 mit einer PCI-Vorrichtung 642 oder
dergleichen kann indem PCI-Steckplatz 632 eingebaut werden.
Jedoch gibt es zwei Hauptanwendungen, die erfordern, daß mehrfa
che Vorrichtungen mit dem AGP-Anschluß verbunden werden. Zuerst
wird ein Grafikkarten-Verkäufer gerne zwei oder mehr seiner Wie
dergabecontroller (Rendering Controller, RC) mit dem einzelnen
AGP-Steckplatz verbinden, entweder um die Füllrate zu vergrö
ßern, oder eine Vielfachanzeige-Ausstattung zu ermöglichen. Die
in Fig. 43 oder Fig. 44 gezeigte Konfiguration kann diese Not
wendigkeit nicht beantworten.
Zweitens sind in dem in Fig. 44 gezeigten Beispiel zwei Steck
plätze AGP-Steckplatz 630 und PCI-Steckplatz 632 auf der Grund
platine 620 vorgesehen, und beide Steckplätze müssen benutzt
werden. Da eine Vielzahl von peripheren Vorrichtungen als Zu
satzplatinen heutzutage vorgesehen werden, muß die Anzahl von
notwendigen Steckplätzen so klein wie möglich sein. Es wird des
halb bevorzugt, beide durch AGP-Vorrichtungen und durch PCI-
Vorrichtungen auf der Grundplatine implementierte Fähigkeiten zu
ermöglichen, unter Verwenden zum Beispiel nur eines einzelnen
Steckplatzes.
Ein Beispiel sind videoeditierende Platinen (Video Editing
Boards), die zusätzlich zu videoaufbereitenden Fähigkeiten (über
PCI-Vorrichtung) auch 3D/2D-Fähigkeiten als eine Einzelplatinen
lösung anbieten. Derartige Fähigkeiten entsprechen den Funktio
nen einer sogenannten Brücke (Brückenschaltung), aber es gibt
keine derartige Brücke, die Kombinationen in einem derart weiten
Bereich wie oben beschrieben vorsehen.
Außerdem kann, falls eine Schaltung zum Anbieten einer speziel
len Funktion, wie beispielsweise ein Kern bzw. ein Speicher für
einen geometrischen Betrieb auf einer Brücke vorgesehen ist, die
Brücke Kombinationen von Fähigkeiten in einem weiteren Bereich
vorsehen, aber wiederum gibt es keine derartige Brücke.
Es ist deshalb Aufgabe der vorliegenden Erfindung, eine Brücken
vorrichtung vorzusehen, welche verschiedene funktionelle Vor
richtungen einschließlich einer AGP-Vorrichtung unter Verwenden
eines einzelnen Steckplatzes vorsehen kann, und verschiedene
funktionelle Vorrichtungen einschließlich AGP-Vorrichtungen und
eine spezielle Kernschaltung (Kernspeicherschaltung) unter Ver
wenden eines einzelnen Steckplatzes vorsehen kann.
Diese Aufgabe wird gelöst durch eine Brückenvorrichtung nach An
spruch 1 oder 19.
Weiterbildungen der Erfindung sind in den Unteransprüchen ange
geben.
Eine Brückenvorrichtung gemäß der Erfindung weist folgendes auf:
einen ersten Anschluß, der mit einem ersten Bus verbunden ist,
und eine Mehrzahl von zweiten Anschlüssen, die entsprechend mit
einer Mehrzahl von zweiten Bussen verbunden sind, wobei der er
ste Anschluß ein Mastermodul und ein Slavemodul gemäß eines er
sten Protokolls und ein Mastermodul gemäß eines zweiten Proto
kolls aufweist, und das zweite Protokoll ein Punkt-zu-Punkt-
Anschlußprotokoll ist, wobei jeder der zweiten Anschlüsse ein
Mastermodul und ein Slavemodul gemäß des ersten Protokolls und
ein Slavemodul gemäß des zweiten Protokolls aufweist. Die Brük
kenvorrichtung weist ferner auf: eine Mehrzahl von First-In-
First-Out-Speichern, die asynchrone Datenwege zwischen dem er
sten Anschluß und der Mehrzahl von zweiten Anschlüssen bilden,
und eine Entscheidungseinheit zum Entscheiden zwischen Übertra
gungen in einem Konflikt, der in den von den First-In-First-Out-
Speichern gebildeten Datenwegen erzeugt wird, auf der Basis der
Protokolle, die auf die Übertragungen bezogen sind.
Da die Datenwege zwischen dem ersten Anschluß und der Mehrzahl
von zweiten Anschlüssen gebildet sind, und ein Konflikt zwischen
Übertragungen gelöst werden kann auf der Basis des benutzten
Protokolls, kann eine Mehrzahl von Vorrichtungen unter Verwen
dung eines einzigen Steckplatzes auf einer Hauptplatine verbun
den werden. Als eine Folge kann, während verhindert wird, daß
die Anzahl von in der Hauptplatine benutzten Steckplätzen an
steigt, eine Mehrzahl von Vorrichtungen derselben Art verbunden
werden, um die Verarbeitungsfähigkeit zu erweitern, oder eine
Mehrzahl von Vorrichtungen verschiedener Art kann verbunden wer
den, um verschiedene Arten von Fähigkeiten vorzusehen.
Vorzugsweise fügt jedes der Module zu einer Übertragungsanfrage
ein Attribut, das ein Protokoll repräsentiert, und eine Datenra
te, die sich auf die Übertragung bezieht, hinzu, und jeder der
First-In-First-Out-Speicher weist einen Speicher zum Speichern
einer Übertragung und einen Attributspeicher zum Speichern eines
Attributs entsprechend jeder Übertragung auf. Die Brückenvor
richtung weist ferner einen programmierbaren Transformierer auf
zum Ausführen eines Protokolls oder einer Datenratentransforma
tion, die auf der Basis eines durch den Attributspeicher gespei
cherten Attributs für jeden der Datenwege ausgeführt werden.
Diese Brückenvorrichtung führt ein Protokoll oder eine Datenra
tentransformation für Übertragungen aus, und daher können ver
schiedene Kombinationen von Vorrichtungen und Hosts
(Hauptcomputer) erreicht werden.
Mehr vorzugsweise ist das erste Protokoll ein PCI-Protokoll, und
das zweite Protokoll ist ein AGP-Protokoll, die Mehrzahl von
First-In-First-Out-Speicher weist einen ersten First-In-First-
Out-Speicher auf, der einen Datenweg zu jedem der Mehrzahl der
zweiten Anschlüsse von dem ersten Anschluß bildet.
Die AGP-Vorrichtung ist im wesentlichen angepaßt, um mit dem
Host nur auf einer Eins-zu-Eins-Basis zu kommunizieren und kann
nicht funktionell in einer leichten Weise erweitert werden, aber
da die AGP-Vorrichtungen zu der Mehrzahl von zweiten Anschlüssen
verbunden werden können, können die Funktion und die Verarbei
tungsfähigkeiten leicht erweitert werden.
Mehr vorzugsweise weist der erste First-In-First-Out-Speicher
eine Mehrzahl von Speicherbänken, welche jeweils einen Eingang,
der mit dem ersten Anschluß gekoppelt ist, und einen Ausgang,
der mit jedem der Mehrzahl von zweiten Anschlüssen gekoppelt
ist, besitzt, und eine Mehrzahl von Warteschlangen auf, die ent
sprechend der Mehrzahl von zweiten Anschlüssen vorgesehen sind,
und jede der Mehrzahl von Warteschlangen hält Information, um
eine Speicherbank zu spezifizieren, die Daten speichert, die auf
einen entsprechenden der zweiten Anschlüsse gerichtet ist.
Der erste First-In-First-Out-Speicher muß Daten richtig zu der
Mehrzahl von zweiten Anschlüssen richten bzw. weiterleiten. Da
ten zu jedem der zweiten Anschlüsse sind in einer allgemeinen
Speicherbank gespeichert, und Daten, die auf jeden der zweiten
Anschlüsse gerichtet ist, werden durch die Warteschlange verwal
tet. Die Schaltungsskala kann verringert werden im Vergleich zum
Vorsehen von Sätze von Speicherbänken für entsprechende Bestim
mungsorte.
Gemäß eines weiteren Aspektes der vorliegenden Erfindung weist
der erste First-In-First-Out-Speicher weiter eine Empfangsschal
tung auf, welche Daten empfängt, die von dem ersten Anschluß zu
der Mehrzahl von zweiten Anschluß übertragen werden, Duplikate
in einer Zahl, die derjenigen der Mehrzahl von zweiten Anschlüs
sen in den Speicherbänken entspricht, speichert und Information
liefert, um eine entsprechende Bank zu spezifizieren, die die zu
jeder der Mehrzahl von Warteschlangen für die Speicherung zu
übertragenden Daten speichert.
Da die Daten dupliziert werden bzw. kopiert werden und in der
Mehrzahl von Speicherbänken gespeichert werden, und die Informa
tion zum Spezifizieren der Speicherbänke in die Warteschlange
für die Mehrzahl von zweiten Anschlüssen eingegeben wird, können
dieselben Daten zu jedem der zweiten Anschlüsse übertragen wer
den. Insbesondere können die Daten auf einfache Weise unter Ver
wenden des First-In-First-Out-Speichers übertragen werden.
Vorzugsweise weist die Brückenvorrichtung gemäß einer weiteren
Ausführungsform weiter folgendes auf: eine SBA-Einheit zum Anle
gen einer SBA-Anfrage, die als ein Seitenbandsignal von der
Mehrzahl von zweiten Anschlüssen zu dem ersten Anschluß ausgege
ben werden, wobei der zweite First-In-First-Out-Speicher eine
Mehrzahl von Speicherbänken aufweist, welche jeweils einen Ein
gang, der mit der Mehrzahl von zweiten Anschlüssen verbunden
ist, und einen Ausgang besitzt, der mit dem ersten Anschluß zum
Speichern von Übertragungsdaten, die von der Mehrzahl von zwei
ten Anschlüssen ausgegeben werden, verbunden ist, besitzt, eine
AGP-Warteschlange zum Halten von Information, um eine Speicher
bank zu spezifizieren, die Daten gemäß einer AGP-Anfrage spei
chert, die von der Mehrzahl von zweiten Anschlüssen innerhalb
der Warteschlange ausgegeben werden, und eine PCI-Warteschlange
zum Erhalten von Information, um eine Speicherbank zu spezifi
zieren, die PCI-Übertragungsdaten, die von den zweiten Anschlüs
sen ausgegeben werden, innerhalb der Warteschlange speichert,
und der erste Anschluß weist eine Schaltung zum Übernehmen von
Daten von einer Speicherbank auf, die durch die von einer
Kopfeingabe der AGP-Warteschlange oder PCI-Warteschlange ausge
lesene Information abhängig von der Art der auszulesenden Daten
spezifiziert.
Falls eine Mehrzahl von Arten von Anfragen vorhanden ist, wird
die Reihenfolge der Daten getrennt durch eine entsprechende War
teschlange 50 so verwaltet (die AGP-Warteschlange und die PCI-
Warteschlange), daß Daten in einer richtigen Reihenfolge für je
de der Arten ausgelesen werden können.
Vorzugsweise weist der erste Anschluß weiter ein Modul für einen
direkten Speicherzugriff auf, und die SBA-Einheit weist eine
Entscheidungsschaltung zum Entscheiden zwischen einer SBA-
Anfrage von der Mehrzahl von zweiten Anschlüssen und einer SBA-
Anfrage von dem Modul für den direkten Speicherzugriff für die
Anwendung auf den ersten Anschluß auf.
Da die SBA-Anfragen von drei Quellen entschieden bzw. zugewiesen
werden und an den ersten Anschluß angelegt werden, können der
direkte Speicherzugriff und Übertragungen zwischen den Betriebs
mitteln, die mit der Mehrzahl von zweiten Anschlüssen verbunden
sind, und der erste Speicher reibungslos verarbeitet werden.
Vorzugsweise weist die Brückenvorrichtung weiter einen Betriebs
kern zum Ausführen einer vorgeschriebenen Betriebsverarbeitung
auf. Die Mehrzahl von First-In-First-Out-Speichern bilden asyn
chrone Datenwege zwischen dem Betriebskern und dem ersten An
schluß und der Mehrzahl von zweiten Anschlüssen zusätzlich zu
den asynchronen Datenwegen zwischen dem ersten Anschluß und der
Mehrzahl von zweiten Anschlüssen.
Da der Betriebskern in der Brückenvorrichtung eingebaut ist,
kann eine größere Anzahl von Kombinationen von Funktionen auf
einfache Weise implementiert werden. Zusätzlich kann, falls ein
Betriebskern für einen bestimmten Zweck in die Brückenvorrich
tung eingebaut ist, das System mit geringeren Kosten im Ver
gleich zur Benutzung einer Mehrzahl von Zusatzplatinen erweitert
werden.
Gemäß eines anderen Aspektes der vorliegenden Erfindung weist
eine Brückenvorrichtung folgendes auf: einen ersten Anschluß,
der mit einem ersten Bus verbunden ist; eine Mehrzahl von zwei
ten Anschlüssen, die mit einer Mehrzahl von zweiten Bussen ver
bunden sind; eine Mehrzahl von First-In-First-Out-Speichern zum
Bilden asynchroner Datenwege zwischen dem ersten Anschluß und
der Mehrzahl von zweiten Anschlüssen; und einer Entscheidungs
schaltung zum Entscheiden von Konflikten, die auf den durch die
Mehrzahl von First-In-First-Out-Speichern gebildeten Datenwegen
verursacht werden. Die Entscheidungsschaltung entscheidet die
Konflikte auf der Basis von Protokollen, die mit entsprechenden
Übertragungen verbunden sind bzw. in Zusammenhang stehen. Der
erste Anschluß besitzt ein Modul, das ein Kommando zum Initiie
ren einer Datenübertragung zu einer ersten Vorrichtung, die mit
dem ersten Bus verbunden ist, gibt, oder ein Kommando zum Initi
ieren einer Datenübertragung von der ersten Vorrichtung emp
fängt. Jeder der Mehrzahl von zweiten Anschlüssen besitzt ein
Modul, das ein Kommando gibt zum Initiieren einer Datenübertra
gung zu einer zweiten Vorrichtung, die mit einem entsprechenden
der zweien Ansprüche verbunden sind, oder empfängt ein Kommando
zum Initiieren einer Datenübertragung von der zweiten Vorrich
tung.
Weitere Merkmale und Zweckmäßigkeiten ergeben sich aus der fol
genden Beschreibung von Ausführungsformen der vorliegenden Er
findung anhand der beigefügten Figuren. Von diesen zeigen:
Fig. 1 eine Blockdarstellung eines Systems, das eine
Brücke 68 gemäß einer ersten Ausführungsform
der vorliegenden Erfindung aufweist;
Fig. 2 ein Diagramm, das eine allgemeine Konfigurati
on einer Zusatzplatine zeigt, welche die Brücke
68 aufweist;
Fig. 3 ein Diagramm, das eine allgemeine Konfigurati
on einer anderen Zusatzplatine zeigt, welche
die Brücke 68 aufweist;
Fig. 4 eine Blockdarstellung der Brücke 68 gemäß der
ersten Ausführungsform;
Fig. 5 eine Darstellung von Modulen (Baueinheiten),
die auf der Primärseite in der Brücke 68 gemäß
der ersten Ausführungsform vorhanden sind;
Fig. 6 eine Darstellung von Modulen, die auf der Se
kundärseite in der Brücke 68 gemäß der ersten
Ausführungsform vorhanden sind;
Fig. 7 eine Darstellung einer allgemeinen Konfigura
tion eines FIFO, das in der Brücke 68 gemäß
der ersten Ausführungsform benutzt wird;
Fig. 8 eine Darstellung, die die Konstruktion (Auf
bau) jeden Wortes in einem RAM zeigt, das in
einem FIFO enthalten ist;
Fig. 9 eine Darstellung der Beziehung zwischen Byte
Enable in jedem in einem FIFO enthaltenen Wort
und jedem Datenwort;
Fig. 10 eine Darstellung von Datenströmen, die mit P2X
FIFO zusammenhängen bzw. darauf bezogen sind;
Fig. 11 ein Diagramm von Datenströmen zu zwei Sekun
däranschlüssen (Sekundäranschlußleisten), die
mit P2X FIFO zusammenhängen;
Fig. 12 eine Darstellung einer herkömmlichen Konfigu
ration die mit P2X FIFO zusammenhängen und ei
ner Konfiguration gemäß einer Ausführungsform
der vorliegenden Erfindung;
Fig. 13 eine Darstellung der Konfiguration von P2X
FIFO 124;
Fig. 14 eine Darstellung des Betriebs des P2X FIFO
124;
Fig. 15 eine Darstellung des Betriebs einer P2A Queue
(P2A Warteschlange) 242 und P2B Queue (P2B
Warteschlange) 244;
Fig. 16 eine Darstellung eines Algorithmus zum Bestim
men der nächsten Bank (Datenbank), um Daten im
P2X FIFO 124 zu speichern;
Fig. 17 ein Diagramm des Betriebs des P2X FIFO 124,
wenn es eine Übermittlung ausführt;
Fig. 18 einen Speicherplan zum Übermitteln;
Fig. 19 eine Darstellung von Datenströmen, die mit ei
nem A2P FIFO 122 zusammenhängen;
Fig. 20 eine Darstellung einer allgemeinen Konfigura
tion eines X2P FIFO;
Fig. 21 eine Darstellung des Betriebs des X2P FIFOs;
Fig. 22 eine Darstellung von Datenströmen, die mit ei
nem S2S FIFO 128 zusammenhängen;
Fig. 23 eine Darstellung einer allgemeinen Konfigura
tion einer primären SBA-Einheit;
Fig. 24 eine Darstellung der Konstruktion (des Auf
baus) einer Schreib/Lese-Warteschlange inner
halb einer primären SBA-Einheit;
Fig. 25 eine Darstellung der Konstruktion jeder Einga
be in einer primären SBA-Einheit;
Fig. 26 eine Darstellung von Datenströmen, die mit ei
ner X2P-Entscheidungseinheit 111 zusammenhän
gen;
Fig. 27 eine Darstellung einer allgemeinen Konfigura
tion der X2P-Entscheidungseinheit 111;
Fig. 28 eine Darstellung von Datenströmen von der Pri
märseite zu der Sekundärseite gemäß der ersten
Ausführungsform;
Fig. 29 eine Darstellung der Konfiguration einer Ein
gabe-Warteschlange (Entry Queue) 310 innerhalb
einer sekundären SBA-Einheit;
Fig. 30 eine Darstellung der Konstruktion jeder Einga
be in der Eingabe-Schlange 310;
Fig. 31 eine Darstellung, die das Maskie
ren/Ungültigmachen eines vollen Signals durch
eine SBA-Warteschlange und einen damit in Zu
sammenhang stehenden Datenstrom zeigt;
Fig. 32 eine Darstellung des Voranschreitens von SBA-
Anforderungen;
Fig. 33 eine schematische Darstellung einer Entschei
dungseinheit 120;
Fig. 34 eine Zustandsübergangsgrafik, die das Verfah
ren der Entscheidung bzw. der Zuweisung durch
die Entscheidungseinheit 120 zeigt;
Fig. 35 eine Darstellung zur Benutzung in der Darstel
lung, wie eine SBA-Einheit SBA-Anforderungen
verarbeitet;
Fig. 36 eine Blockdarstellung einer Brücke 450 gemäß
einer zweiten Ausführungsform der vorliegenden
Erfindung;
Fig. 37 eine Darstellung der Konfiguration eines P2X
FIFO gemäß der zweiten Ausführungsform;
Fig. 38 ein Diagramm eines Datenstromes, der mit einer
X2P-Entscheidungseinheit 462 gemäß der zweiten
Ausführungsform zusammenhängt;
Fig. 39 eine Darstellung des Betriebs einer SBA-
Entscheidungseinheit 490 gemäß der zweiten
Ausführungsform;
Fig. 40 eine Darstellung, die Stromabwärts-Daten
(Abwärtsdaten) vom Verarbeitungskern 468 gemäß
der zweiten Ausführungsform zeigt;
Fig. 41 eine Darstellung für die Benutzung in der Dar
stellung des Betriebs eines A2C FIFO 472 und
B2C FIFO 474 und einer S2C-
Entscheidungseinheit 540 gemäß der zweiten
Ausführungsform;
Fig. 42 eine Darstellung für die Benutzung in der Dar
stellung des Betriebs von S2X-
Entscheidungseinheiten 550 und 560;
Fig. 43 eine Darstellung einer ersten Verbindungsweise
einer herkömmlichen AGP-Vorrichtung; und
Fig. 44 eine Darstellung einer zweiten Verbindungswei
se der herkömmlichen AGP-Vorrichtung.
In der folgenden Beschreibung wird die Bezeichnung eines "A zu P
(Primär)"-FIFO zum Übertragen von Daten von dem Anschluß (von
der Anschlußleiste) A zu der Primärseite als "A2P" zum Zwecke
der Einfachheit bezeichnet werden. Auch werden ein FIFO zu "P zu
A" und ein FIFO zu "P zu B" kollektiv als "P2X" bezeichnet. Man
beachte, daß ein anderes FIFO in derselben Weise abgekürzt wer
den wird.
Es wird auf Fig. 1 Bezug genommen; eine Brücke 69 gemäß einer
ersten Ausführungsform der vorliegenden Erfindung wird benutzt,
um einen Host (Hauptrechner) 60 und zwei Sekundärbusse 70 und
72, welche innerhalb eines Personalcomputer-Systems 50 vorgese
hen ist, zu verbinden. In der folgenden Beschreibung werden die
Sekundärbusse 70 und 72 als "Sekundärbus A70" bzw. "Sekundärbus
B72" bezeichnet werden. In der Beschreibung dieser Ausführungs
form werden zwei Sekundärbusse benutzt, aber eine allgemeine
Konfiguration wird dieselbe sein wie die folgende Brücke 68,
welche drei oder mehr Busse benutzt, mit Ausnahme der Entschei
dung zwischen Daten (bzw. Zuweisung von Daten).
Es wird auf Fig. 1 Bezug genommen; der Host 60 weist einen Pri
märbus 66, mit dem die Brücke 68 verbunden werden wird, eine
Kernlogik 62, die mit dem Primärbus 66 verbunden ist, und einen
Systemspeicher 64, der mit der Kernlogik 62 durch einen Chip
satz, welcher nicht gezeigt ist, verbunden ist, auf. Falls eine
Grafikverarbeitung unter Verwenden einer AGP-Vorrichtung ausge
führt wird, werden die Zieldaten in dem Systemspeicher 64 gehal
ten, und die Daten werden an eine geeignete Vorrichtung, wie
beispielsweise eine AGP-Vorrichtung durch den Primärbus 66 und
die Brücke 68 geliefert. Die durch die AGP-Vorrichtung verarbei
teten Daten werden an den Systemspeicher 64 wieder durch die
Brücke 68 und den Primärbus 66 geliefert.
Die Brücke 68 hat zwei Arten von Eingaben/Ausgaben. Eine ist für
die Eingabe/Ausgabe an/von dem Primärbus 66 und wird als die
"Primärseite" bezeichnet. Die anderen ist für die Einga
be/Ausgabe mit dem Sekundärbus A70 und dem Sekundärbus B72 und
wird als die "Sekundärseite" bezeichnet.
Die Brücke 68 ist mit dem Sekundärbus A70 bzw. dem Sekundärbus
B72 durch zwei Anschlüsse (Anschlußleisten), welche nicht ge
zeigt sind, verbunden. Der Sekundärbus A70 ist mit einer AGP-
Vorrichtung 74 oder einer PCI-Vorrichtung 76 verbunden. Der Se
kundärbus B72 ist mit einer AGP-Vorrichtung 78 oder einer PCI-
Vorrichtung 80 verbunden. Es kann möglich sein, die AGP-
Vorrichtungen 74 und 78, und die PCI-Vorrichtungen 76 und 80 mit
den Sekundärbus A70 und dem Sekundärbus B72 zu verbinden, solan
ge sie normal unter einigen elektrischen Beschränkungen arbeiten
können. Man beachte, daß die AGP-Vorrichtung und die PCI-
Vorrichtung daher mit einem allgemeinen bzw. gemeinsamen Bus wie
in diesem Beispiel verbunden sein können, weil die Brücke 68 da
zu dient, die Protokolltransformation zwischen dem AG'-Protokoll
und dem PCI-Protokoll und eine Transmissionsraten-Transformation
(Übermittlungsraten-Transformation) wie beschrieben werden wird
auszuführen.
Unter Verwenden der Brücke 68 können die zwei AGP-Vorrichtungen,
die AGP-Vorrichtung 74 und die AGP-Vorrichtung 78 mit einer
Hauptplatine (Motherboard) 90 verbunden werden, welche nur einen
AGP-Steckplatz 72 wie in Fig. 2 gezeigt besitzt.
Wie in Fig. 3 gezeigt ist, kann die AGP-Vorrichtung 74 mit einer
Hauptplatine (Motherboard) 100 durch die Brücke 68 und den Se
kundärbus A70 und eine PCI-Vorrichtung 80 durch die Brücke 68
und den Sekundärbus B72 verbunden sein. In dieser Konfiguration
können zum Beispiel Videoaufbereitungsfähigkeiten der PCI-
Vorrichtung 80 und Grafikdarstellungsfähigkeiten der AGP-
Vorrichtung 74 beide unter Verwenden einer einzelnen Hauptplati
ne 100 vorgesehen sein.
Die Brücke 68 wirkt als ein AGP-Master auf der Primärseite und
als ein AGP-Target (AGP-Ziel) auf der Sekundärseite. Diese Funk
tionalität ist in der offenen AGP-Spezifikation definiert. Au
ßerdem enthält die Brücke 68 voll-vergrößerte PCI-Master-AGP-
Ziel und -Target-Fähigkeiten auf allen Anschlüssen (Anschlußlei
sten).
Der Schlüsselpunkt eine AGP-zu-AGP-Brücke zu bilden, ist die Fä
higkeit, die AGP/PCI-Module zu entkoppeln und die Transformation
von Protokoll-Modi und Datentransferraten über die Pri
mär/Sekundärseite der Brückenvorrichtung zu ermöglichen. Diese
wird durch die flexiblen FIFOs möglich gemacht, wie im folgenden
beschrieben werden wird, welche zwischen den AGP/PCI-Modulen ge
keilt bzw. gebondet sind. Die FIFOs wirken als ein Puffer, der
nicht nur zwischen den zwei Taktdomänen synchronisiert, wodurch
die Brücke vollständig asynchron gemacht wird, sondern sie wir
ken als auch ein Transformer zwischen Protokolldomänen und Da
tentransferraten. Die Seitenband-Anforderungsschlangen (Seiten
bandanforderungswarteschlangen) unterstützten auch die Protokol
lübersetzung. Der Datenstrom innerhalb der Brücke wird durch
verschiedene Entscheidungseinheiten (Zuweisungsentscheidungsein
heiten bzw. Prioritätsentscheidungseinheiten) gesteuert, welche
programmiert werden können, um verschiedene Entscheidungsalgo
rithmen (Zuweisungsalgorithmen) auszuführen.
Es wird auf Fig. 4 Bezug genommen; die Brücke 68 weist folgendes
auf: ein primäres I/O 110, das mit dem primären Bus 66 verbunden
ist, einen Konfigurationsplatz 112, das mit dem primären I/O 110
zum Speichern von Konfigurationsinformation von Peripheriegerä
ten, die mit dem Host 60 durch die Brücke 68 verbunden sind, ei
nen Speicherplanregisterplatz 114, der mit dem primären I/O 110
zum Speichern von Speicherplänen verbunden ist, die mit den Pe
ripheriegeräten zugeordneten Speicherbereichen zusammenhängen,
einen Anschluß A134, der mit dem sekundären Bus A70 verbunden
ist, ein Anschluß B136, der mit dem sekundären Bus B72 verbunden
ist, ein A2P FIFO 122, ein B2P FIFO 126, ein P2X FIFO 124 und
ein S2S FIFO 128, um Datenströme zwischen diesen Anschlüssen 134
und 136 zu bilden, eine X2P-Entscheidungseinheit 111, um zwi
schen Daten zu entscheiden bzw. diese zuzuweisen, welche von dem
A2P FIFO 122 und dem B2P FIFO 126 an das primäre I/O 110 ange
legt werden, sekundäre Entscheidungseinheiten A130 und B132,
SBA-Einheiten A116 und B118 für Anforderungen bzw. Anfragen
(SBA), die von einer Vorrichtung (Agent), die mit den Anschlüs
sen A134 und B136 verbunden sind zur Host-Seite als ein Seiten
bandsignal übermittelt werden, und eine Entscheidungseinheit 120
zum Entscheiden zwischen Anforderungen bzw. Anfragen (zum Zuwei
sen von Anforderungen) von der SBA-Einheit A116 und der SBA-
Einheit B118 und Liefern von entschiedenen bzw. zugewiesenen An
forderungen an den Host 60 durch das primäre I/O 110.
Es wird auf Fig. 5 Bezug genommen; die Brücke 68, die mit dem
Host 60 durch den primären Bus 66 verbunden ist, kann als ein
PCI-Target (PCI-Ziel) 140, ein PCI-Master 142, ein SBA-Master
144, ein AGP-Master 146 und ein FW(Fast Write, Schnellschreib)-
Target (Ziel) 148 zum Host 60 arbeiten. Man beachte, daß sich
"Master" auf eine der zwei Vorrichtungen für die Datenübertra
gung (Datentransaktion) bezieht, welche die Datenübertragung in
itiiert und "Target" bezieht sich auf die andere, welche einen
Datenübertragung nicht initiiert.
Fig. 5 zeigt den Inhalt von Verarbeitungen, die in jeder Über
tragung ausgeführt werden, und die Stelle der Vorrichtung
(Initiator) zum Initiieren der Datenübertragung zu dem Zeit
punkt. Man beachte, daß 1x, 2x und 4x in SBA-Master 144 und AGP-
Master 146 in Fig. 5 drei Arten von Datentransferraten in AGP-
Protokollen darstellt. Die Bezeichnungen 2x und 4x im FW-Target
148 stellen ein Schreiben dar, daß "Fast Write
(Schnellschreiben)" genannt wird. Man beachte, daß das PCI-
Schreiben im wesentlichen ein Fast Write mit nur einer unter
schiedlichen Rate ist. Weiter insbesondere bezieht sich das PCI
im wesentlichen auf ein Fast Write bei 1x.
Es wird auf Fig. 6 Bezug genommen; auf der Sekundärseite arbei
tet die Brücke 68 als ein PCI-Target 168, ein PCI-Master 162,
ein SBA-Target 164 und ein AGP-Target 166 und ein FW-Master 168.
Auch sind in Fig. 6 der Initiator jeder Übertragung und der In
halt der Verarbeitung gezeigt.
Es gibt zwei Hauptdatenstromrichtungen, stromabwärts, stromauf
wärts und stromseitwärts. Mögliche Protokollmodi für Stromab
wärtsübertragungen auf der primären Seite sind in Tabelle 1 ge
zeigt.
Grundsätzlich gibt es zwei Hauptmechanismen (Eingeben und AGP
Read, d. h. AGP Lesen), mit drei Datenraten (1x, 2x, 4x) für je
des Protokoll. Man beachte, daß das PCI-Write (PCI-Schreiben) im
wesentlichen ein Fast Write 1x ist. Die PCI Reads (PCI-Lesen)
können nur in der 1x-Datenrate ausgeführt werden, weil es kein
derartiges wie ein "Fast Read (Schnellesen)" gibt.
Mögliche Protokollmodi für Stromabwärtsübertragungen auf die Se
kundärseite sind in Tabelle 2 gezeigt.
Wieder gibt es zwei Hauptmechanismen (Eingeben und AGP Read,
d. h. AGP-Lesen), mit drei Datenraten (1x, 2x, 4x) für jedes Pro
tokoll. Eine PCI-Vorrichtung unterstützt nur PCI Writes und
Reads (PCI-Schreiben und PCI-Lesen) und unterstützt nicht Fast
Write oder AGP Write/Reads (AGP-Schreiben/Lesen).
Mögliche Protokollmodi für Stromaufwärtsübertragungen auf der
Primärseite sind in Tabelle 3 gezeigt.
Es gibt nicht derartiges wie ein Fast Read (Schnellesen), so daß
die Anzahl von Kombinationen für Stromaufwärtsübertragungen
kleiner ist als für den Stromabwärts-Fall.
Mögliche Protokollmodi für Stromaufwärtsübertragungen auf der
Sekundärseite sind in Tabelle 4 gezeigt.
Wieder gibt es nichts derartiges wie ein Fast Read, sondern nur
PCI-Reads (1x) und AGP-Reads.
Somit ist die tatsächliche Flexibilität in der Brücke dieser
Ausführungsform die Fähigkeit, all diese Protokollmodi und Ge
schwindigkeitsraten zu kombinieren und alle möglichen Transfor
mationen über die Busse zu ermöglichen.
Die Brücke der vorliegenden Erfindung implementiert verschiedene
Register (d. h. baut verschiedene Register ein), um das Transfor
mationsverfahren zu programmieren. Fast alle Übertragungen kön
nen wie im folgenden gezeigt transformiert werden. Die einzigen
Ausnahmen sind die AGP Reads, die durch die sekundären AGP-
Agenten induziert werden. Da jene Agenten Anforderungen bzw. An
fragen über die Seitenbandsignale (SBA) ausgeben, erwarten sie,
daß die zurückkehrenden Lesedaten im genau demselben Protokoll
format, d. h. in AGP Reads sind.
Außerdem können die Datenraten nicht für die AGP-Übertragungen,
die durch einen sekundären AGP-Agenten induziert werden, geän
dert werden, da sie nicht die Datenratenfähigkeit fliegend, d. h.
von einem Moment auf den anderen schalten können. Daher werden
die Protokollformate der sekundären SBA Anforderungen und die
Protokollformate der Rückkehrdaten auf einem sekundären Anschluß
wie in Tabelle 5 gezeigt sein.
Ein Register "Hast_Down_Sec_Mode" (nicht gezeigt) im primären
I/O 110 kann programmiert werden, um den Ausgabemodus auf der
Sekundätseite der Brücke 68 für durch den Host induzierte Zyklen
auszuwählen. Der Eingabemodus kann entweder PCI Writes oder Fast
Writes sein. Wenn die Daten durch das primäre PCI/FW-Modul der
Brücke 68 empfangen werden, werden die Daten an das P2X FIFO 124
gesandt. Für jeden gesandten Block wird eine Protokollmarkierung
(Protokollidentifizierung) angehängt, die den Ausgabemodus des
Datenblockes spezifiziert. Die Markierungen und ihre entspre
chenden Bedeutungen sind in Tabelle 6 gezeigt.
Falls die Protokollmarkierung "AGP Read" ist, ist die Aufgabe
des Vorrichtungstreibers zu sichern, daß der empfangende AGP-
Agent sich in einem Zustand zum genauen Handhaben der Rückkehr
daten befindet (d. h. er hat schon die entsprechende SBA-
Anforderung gesandt oder ist programmiert auf dem Weg die AGP-
Read-Daten zu akzeptieren, ohne daß eine SBA-Anforderung gesandt
wurde). Dies kann nützlich sein, falls ein hoher Durchsatz er
forderlich ist, aber die sekundäre AGP-Vorrichtung implementier
te nicht das Fast Write.
Wie zuvor erwähnt gibt es nicht etwas wie ein "Fast Read", so
daß PCI Reads das einzige Eingabeprotokoll ist, das durch den
Host 60 induziert wird (d. h. induziert auf der Primärseite). Da
die 1x-Datenrate auf der Primärseite den Flaschenhals darstellt,
macht es keinen Sinn, eine Transformationsoption für durch den
Host induzierte Stromaufwärtszyklen zu implementieren. Daher
werden die PCI Reads auf der Primärseite weiter geführt wie sie
sind, d. h. als PCI-Reads auf der Sekundärseite.
Ein Register "User_Up_Prim_Mode" (nicht gezeigt) im primären I/O
110 kann programmiert werden, um den Ausgabemodus auf der Pri
märseite der Brücke 68 für durch einen Benutzer induzierten Zy
klen auszuwählen. Der Eingabemodus kann entweder PCI Writes oder
AGP-Writes sein. Wenn die Daten durch das sekundäre PCI/AGP-
Modul der Brücke 68 empfangen werden, werden die Daten an A2P
FIFO 122 oder B2P FIFO 126 gesandt. Für jeden gesandten Block
wird eine Protokollmarkierung angehängt, die den Ausgabemodus
des Datenblocks spezifiziert. Die Markierungen und ihre entspre
chenden Bedeutungen sind in Tabelle 7 gezeigt.
Da in diesem Fall die Brücke 68 die SBA-Anforderungen auf der
Primärseite sendet, ist keine Software-Beeinflussung erforder
lich. So kann als ein Beispiel PCI-Writes (1x) zu AGP 4x Writes
befördert werden. Dies kann nützlich sein, falls beide sekundäre
Anschlüsse ihren entsprechenden Anschluß so unterstützen, daß
der primäre Anschluß ein Flaschenhals werden würde, falls er mit
derselben Datenrate übermitteln würde. Falls die Brücke 68 in
einen PCI-Steckplatz gesteckt wird, kann es erforderlich sein,
Hochdatenraten-AGP Writes zu PCI Writes zu degradieren (auf die
se herabzusetzen).
Ein Register "User_Down_Prim_Mode" (nicht gezeigt) im primären
I/O 110 kann programmiert werden, um den Anforderungs/Holmodus
auf der Primärseite der Brücke 68 für durch Benutzer induzierte
Zyklen auszuwählen. Der Anforderungs/Holmodus und auf der Sekun
därseite kann entweder PCI Reads oder AGP Reads sein. Im Gegen
satz zu den Stromaufwärtszyklen, bei denen die Daten zusammen
mit der Anforderung bzw. Anfrage geliefert werden, werden die
tatsächlichen Anforderungen fortgepflanzt bzw. weitergelei
tet/transformiert. Die Inhalte in dem Register und ihre entspre
chenden Bedeutungen sind in Tabelle 8 gezeigt.
Falls PCI-Read-Anforderungen empfangen werden, werden sie als
verzögerte Übertragungen wie durch die PCI-Spezifikation defi
niert behandelt, d. h. wiederversucht bis die Rückkehrdaten an
kommen. Die PCI Read-Anforderungen können entweder wie sie sind
über den Brückendatenweg fortgepflanzt bzw. weitergeleitet wer
den, oder können in AGP Read-Anforderungen dadurch transformiert
werden, daß sie in die sekundäre SBA-Warteschlange, welche spä
ter beschrieben werden wird, eingereiht werden. Im Gegensatz da
zu können AGP Read-Anforderungen, die über die Seitenbanksignale
empfangen werden, entweder wie sie sind durch sie Einreihen in
die sekundäre SBA-Warteschlange weitergeleitet werden oder sie
können in PCI-Reads transformiert werden durch Triggern des
Brückendatenweges, in dem die SBA-Anforderungen nicht in einer
Schlange eingereiht werden.
Es wird auf Fig. 7 Bezug genommen; jeder der FIFOs 180, strom
aufwärts, stromabwärts und stromseitwärts weist n Speicherbanken
182, welche jeweils aus einem Speicher mit wahlfreiem Zugriff
(Random Access Memory, RAM) oder einem Registerfeld (RA) beste
hen, ein 30 Bit-Register 184 zum Speichern einer Adresse für PCI
Write oder Fast Write-Zyklen, ein 3 Bit-Register 186 zum Spei
chern der Anzahl von gültigen Zeilen bzw. Leitungen, ein 3 Bit-
Register 188 zum Speichern eines Modusindikators und ein 3 Bit-
Register 189 zum Speichern einer Datenratenanzeige. Jede Bank
182 ist 144 Bits weit und m Worte tief. Die Information, die in
den Registern 184, 186 und 188 gespeichert ist, bildet einen
Satz von Eigenschaften (Attributen), die das Protokoll und die
Datenratentransformation vereinfachen.
Es wird auf Fig. 8 Bezug genommen; jedes Wort in der Speicher
bank 182 wird in vier 32 Bit-D Worte von Daten (4 × 32 Bits = 128
Bits) 210, 212, 214 und 216 und vier Sätze von Byte Enables (BE,
Bytefreigaben) (4 × 4 Bits = 16 Bits) 220, 222, 224 und 226 unter
gliedert. Dies ist die maximale Menge von Daten pro Zyklus, die
durch den AGP 4x-Modus gegeben werden soll. Alle anderen Modi
erfordern nur einen Untersatz, d. h. eine Untergruppe jener 144
Bits und die BEs werden benutzt, um gültige/ungültige Daten in
nerhalb desselben Zeile 144 Bits) anzuzeigen.
Es wird auf Fig. 9 Bezug genommen; jeder der BEs 220, 222, 224
und 226 zeigt an, daß sein entsprechendes DWort 210, 212, 214
oder 216 benutzt wird oder nicht. Es wird auf Fig. 9(A) Bezug
genommen; zum Beispiel speichern BEs 220, 222 und 224 "Oh" bzw.
"OH", um anzuzeigen, daß ihre entsprechenden DWorte 210, 212 und
214 gültige Daten enthalten, während das BE 226 "Fh" bzw. "FH"
enthält, um anzuzeigen, daß sein entsprechendes DWort 216 ungül
tig ist. Es wird auf Fig. 9(B) Bezug genommen; ähnlich enthalten
die BEs 220 und 222 "Oh" bzw. "OH" um anzuzeigen, daß sie ihren
entsprechenden DWorte 210 und 220 gültige Daten enthalten, wäh
rend die BEs 224 und 226 "Fh" bzw. "FH" enthalten, um anzuzei
gen, daß ihre entsprechenden DWorte 214 und 216 ungültig sind.
Unabhängig von der Datenrate wird die gesamte RAM-Zeile benutzt,
d. h. 4 DWorte pro Zeile werden gespeichert. Zum Beispiel sind,
falls 10 DWorte in der Speicherbank 182 gespeichert sind, zwei
Zeilen voll benutzt und die BEs für diese Zeilen betragen alle
"0", und die dritte Zeile ist nur halb benutzt (d. h., die oberen
zwei BEs betragen "Fh" bzw. "FH" wie in Fig. 9(B) gezeigt ist).
Um die Implementierung zu vereinfachen, wird immer eine voll
ständige Zeile ausgegeben, unabhängig von dem Protokoll. Zum
Beispiel beträgt die Ausgabe immer 4 DWorte 210, 212, 214 und
216, falls ein PCI-Write mit 3 DWorten auf einer Seite wie in
Fig. 9(A) gezeigt ist, empfangen wird, ob es ein PCI Write oder
ein AGP Write ist. Das verbleibende DWort 216 wird weg
"maskiert" durch Zwingen des entsprechenden BE 226 auf "Fh" bzw.
"FH", was während des Schreibzugriffs durchgeführt wurde.
Hier werden die FIFOs, die den Datenstrom von der Primärseite
(P) zu A oder B (als "X" bezeichnet) auf der Sekundärseite bil
den als "P2X" FIFO, z. B. P2X FIFO 124 wie in Fig. 4 gezeigt be
zeichnet. Das P2X FIFO 124 muß die Primärseite (Schreibanschluß,
Write Port) mit der Sekundärseite (Leseanschluß, Read Port)
überbrücken. Daher ist der Schreibanschluß in der
"P_CLK"(Primärseitentakt)-Taktdomäne und der Leseanschluß ist in
der "S_CLK"(Sekundärseitentakt)-Taktdomäne. Das bedeutet, daß
das P2X FIFO 124 asynchrone Handshakingfähigkeiten wie in Fig.
10 gezeigt liefern bzw. vorsehen muß.
Es wird auf Fig. 10 Bezug genommen; das primäre I/O 110 enthält
drei Module (Baueinheiten), die auf den Schreibanschluß des P2X
FIFO 124, einschließlich dem PCI-Target 140, einschließlich dem
Fast Write(FW)-Target, dem PCI-Master 142 und dem AGP-Master 146
zugreifen. Der Anschluß A134 und der Anschluß B136, d. h. die Le
seanschlüsse, enthalten drei Module, die auf den Leseanschluß
des P2X FIFO 124, einschließlich einem PCI-Target 160, einem
PCI-Master 162 einschließlich einem FW-Master und das AGP-Target
166 zugreifen.
Es wird auf Fig. 12(A) Bezug genommen; da es zwei reservierte
bzw. zweckbestimmte sekundäre Anschlüsse in der Brücke 68 gibt,
wären zwei Eingabepuffer 232 und 234 ("P2A" und "P2B") erforder
lich. Jedoch, da es nur einen einzelnen primären Anschluß gibt,
würde nur auf einen der Eingabepuffer zu einem Zeitpunkt zuge
griffen, während der andere im Wartezustand (Idle) ist. Das P2X
FIFO 124 kombiniert alle Eingabepuffer, z. B. den P2A-Puffer 232
und den P2B-Puffer 234, wie in Fig. 12(A) gezeigt, in einen ein
zelnen großen Eingabepuffer, der von allen Module geteilt werden
kann, welche eine Stromabwärtsdatenübertragung wie in Fig. 12(B)
gezeigt erfordert. Dies verbessert die Ausnutzung und den Durch
satz aller Datenwege und verringert die Gatterzahl des erforder
lichen Schaltkreises.
In diesem Zusammenhang, muß, wie in Fig. 11 gezeigt, das Zusam
menwirken garantiert sein. In anderen Worten müssen Daten in
derselben Reihenfolge wie sie eingegeben werden im Hinblick auf
den ausgewählten Bestimmungsort ausgegeben werden. Daten, die
für den Anschluß A134 bestimmt sind, werden von dem P2X FIFO 124
an den Anschluß A134 in derselben Reihenfolge wie sie in das P2X
FIFO 124 vom primären I/O 110 eingegeben werden ausgegeben. Die
Daten, die für den Anschluß B136 bestimmt sind, werden von dem
P2X FIFO 124 an den Anschluß B136 in derselben Reihenfolge aus
gegeben, wie sie in das P2X FIFO 124 vom primären I/O 110 einge
geben werden. Zu diesem Zweck hat jeder Datenweg eine reservier
te Bestimmungsort-Queue (Bestimmungsort-Warteschlange), die den
Gleichlauf der Daten und ihren Bestimmungsort hält, was im fol
genden beschrieben werden wird.
Es wird auf Fig. 13 Bezug genommen; das P2X FIFO 124 enthält ein
Feld 240 von Speicherbänken 250-1, 250-2, . . ., 250-n, eine P2A-
Queue (P2A-Warteschlange) 242 und eine P2B-Queue (P2B-
Warteschlange) 244 zum im Gleichlauf halten der für den Anschluß
A134 bzw. den Anschluß B136 bestimmten Daten. Die Queues 242 und
244 geben Signale Empty_R_P2A bzw. Empty_R_P2B an den Anschluß
A134 und den Anschluß B136 aus. Wenn Empty_R_P2A aktiv ist, hört
der Anschluß A134 auf, von dex P2A-Queue 142 Daten zu lesen, und
wenn Empty_R_P2A inaktiv wird, beginnt es Daten von der P2A-
Queue 242 zu lesen. Dasselbe ist der Fall für Empty_R_P2B und
den Anschluß B136. Die Speicherbänke 250-1, 250-2, . . ., 250-n
entsprechen Speicherbänken 182 wie in Fig. 7 gezeigt.
Es wird angenommen, daß Daten in der in dem oberen Teil der Fig.
14 gezeigten Reihenfolge (in der Reihenfolge der Daten 260-1,
260-2, . . ., 260-5, . . .) von dem primären I/O 110 an das P2X FIFO
124 eingegeben werden. Hier wird jeder Datenblock "P2A" oder
"P2B" den Bestimmungsort darstellend bezeichnet und zeigt die
Anzahl in der Reihenfolge des Datenblocks für jeden Bestimmungs
ort an. Zum Beispiel ist der Block 260-1, der "T2A 1" genannt
ist, die ersten an den Anschluß A134 auszugebenden Daten, der
Block 260-2 ist die zweiten an den Anschluß A134 auszugebenden
Daten, der Block 260-3, der "P2B 2" genannt ist, ist die ersten
an den Anschluß B136 auszugebenden Daten und so weiter.
Die Daten in diesen Blöcken werden in einer vorgeschriebenen
Reihenfolge in einer zur Verfügung stehenden (leeren) der Spei
cherbänke 250-1 bis 250-n gespeichert. Unter diesen Blöcken gibt
für jene, die auf den Anschluß A134 gerichtet sind, die P2A-
Queue 242 die Speicherbank-Nummern für die Daten an die Eingabe
252-1 der Warteschlange (Queue) ein, und der Eingang der P2A-
Queue 242 wird der Reihe nach von dem Eingang von der Eingabe
252-1 zu 252-2 und dann zu 252-3 übertragen. Daher wird die Rei
henfolge der Blöcke, die auf den Anschluß A134 gerichtet sind,
durch die P2A-Queue 242 gehalten. Weiterhin wird die Reihenfolge
der Blöcke, die auf den Anschluß B136 gerichtet sind, ähnlich
durch die P2B-Queue 244 gehalten.
Weiter insbesondere wird, wie in Fig. 15 gezeigt ist nach jedem
vervollständigtem Schreibzugriff eine Speicherbank gesandt, d. h.
das entsprechende Schreibflag wird gesetzt und eine Eingabe in
die entsprechenden P2X Gleichlaufeinheit wird durchgeführt. Die
P2A-Queue 242 besitzt Speicherbereiche 252-1, 2, 3, 4, . . . ent
sprechend einer Mehrzahl von Eingaben und eine Adressenverweis-
Queue_P2A_W, die eine Schreibposition darstellt, und eine Adres
senverweis-Queue_P2A_R, die eine Leseposition darstellt. Ähnlich
besitzt die P2B-Queue 244 Speicherbereiche 254-1, 2, 3. . . und ei
ne Adressenverweis-Queue_P2A_W und eine Adressenverweis-
Queue_P2A_R. Jedesmal wenn ein Datenblock in die Speicherbänke
250-1, 2, 3, . . . geschrieben wird, wird die Nummer der Bank, die
den Datenblock speichert, in die Position geschrieben, auf die
durch den Schreibadressenverweis der Queue (Warteschlange) ent
sprechend des Bestimmungsortes des Datenblockes verwiesen wird,
und der Schreibadressenverweis wird erhöht bzw. um eins erhöht.
Falls die Position, auf die durch den Leseadressenverweis ver
wiesen wird, gleich der Position ist, auf die durch den Schreib
adressenverweis verwiesen wird, ist die Queue (Warteschlange)
leer, und beispielsweise in dem Fall der P2A-Queue 242 wird ein
entsprechendes Signal Empty_R_P2A aktiviert. Falls der Schreib
adressenverweis und der Leseadressenverweis verschieden sind,
wird Empty_R_P2A inaktiviert. Der Anschluß A134 liest die Bank
nummer von der Position aus, auf die durch die Leseadressenver
weis-Queue_P2A_R verwiesen wird, wenn Empty_R_P2A inaktiviert
ist, liest Daten von der durch die Bankzahl repräsentierte Posi
tion aus und erhöht den Leseadressenverweis um eins. Für auf den
Anschluß B136 gerichtete Datenblöcke wird eine ähnliche Verar
beitung durch die P2B-Queue 244 ausgeführt.
Das interne Signal "Next_Bank_W" zeigt die nächste verfügbare
leere Speicherbank an, in die geschrieben werden kann. Das in
terne Signal "Current_Bank_W" zeigt die Bank an, auf die momen
tan zugegriffen wird, und wird benutzt, um die Eigenschaften der
momentanen Bank mehrfach auszunutzen. Jede der Speicherbanken
250-1 bis 250-n kann übersprungen werden, falls sie voll ist. In
anderen Worten muß die Schreibabfolge nicht streng inkremental,
z. B. Bank_1, Bank_2, Bank_3 . . ., sein, sondern kann nicht fort
laufend sein (z. B. Bank_1, Bank_4, Bank_6). Beispielsweise wird
angenommen, daß es acht Speicherbanken gibt (Bank_1 bis Bank_8).
Wie in Fig. 16A gezeigt ist wird, falls das interne Signal
Next_Bank_W auf die Bank_1 verweist, wird die Bank, die durch
das Signal Next_Bank_W verwiesen wird, wie folgt bestimmt wer
den. Zuerst wird bestimmt, ob die Bank_2 belegt oder leer ist.
Falls sie leer ist, ist die nächste Bank, auf die durch
Next_Bank_W verwiesen werden soll, die Bank_2. Falls die Bank_2
belegt ist, wird dann bestimmt, ob die Bank_3 belegt oder leer
ist. Falls sie leer ist, ist die nächste Bank, auf die durch
Next_Bank_W verwiesen werden soll, die Bank_3. Falls die Bank_3
belegt ist, wird die Bank_4 geprüft. Danach werden die Banken
bis zur Bank_8 geprüft, und der Wert der Next_Bank_W wird geän
dert, so daß sie auf eine leere Bank verweist. Falls alle Banken
belegt sind, kehrt der Prozeß zur Bank_1 zurück und wartet, bis
die Bank_1 leer wird.
Es wird auf Fig. 16(B) Bezug genommen; falls Next_Bank_W auf die
Bank_2 verweist, ist die Bank_3 die erste zu prüfende, und dann
werden die Banken in der Reihenfolge von Bank_4, Bank_5, . . . bis
zur Bank_8 geprüft, falls keine leere Bank gefunden wird, kehrt
der Prozeß zur Bank_1 zurück und falls die Bank_1 geprüft wird,
falls sie leer ist. Obwohl der Prüfprozeß von der Bank_2 be
ginnt, wird der Wert von Next_Bank_W bestimmt in derselben Weise
wie in dem in Fig. 10(A) gezeigten Fall.
Fig. 16(C) zeigt die Reihenfolge des Prüfens, ob die Bank, auf
die durch Next_Bank_W verwiesen wird, die Bank_8 ist. Auch in
diesem Fall beginnt der Prüfprozeß von der Bank_8, und andern
falls ist der Prozeß derselbe wie in dem Fall in Fig. 16(A) und
16 (B).
Jedoch wird Daten desselben Bestimmungsortes nicht erlaubt, äl
tere Daten mit demselben Bestimmungsort zu umgehen. Andernfalls
würde die Datenkohärenz zerstört. Die reservierte P2A-Queue 242
und P2B-Queue 244 hält den Gleichlauf der Schreib/Lese-
Reihenfolge.
Die Übermittlung an beide sekundäre Anschlüsse 134 und 136 wird
einfach erreicht durch simultanes Schreiben in zwei Bänke (durch
Sichern von zwei Enable Write-Signalen mit denselben Schreibda
tensignalen, die mit allen Bänken verbunden sind) und Senden der
zwei Banken sowohl an P2A-Queue 242 als auch P2B-Queue 244. Der
Vorrichtungstreiber muß den Übermittelungsmodus über ein inter
nes Register (nicht gezeigt) aktivieren vor dem tatsächlichen
Schreibzugriff und ihn nachher ausschalten, falls der normale
Betrieb erwünscht wird. Falls das Register aktiviert ist, muß
die interne Logik, die die nächste leere Bank ermittelt, zwei
leere Banken anstelle nur einer einzelnen ermitteln. Sie meldet
dann die zwei Banken derart, daß die Schreibanschlußzustandsma
schine die entsprechenden Write Enable-Signale
(Schreibfreigabesignale) für die Speicherbanken aktivieren kann.
Zum Beispiel zeigt Fig. 17 zwei aufeinanderfolgende Übermittlun
gen an den Anschluß A134 und den Anschluß B136. Im ersten Zyklus
ist der Datenblock 270-1 auf beide Anschlüsse gerichtet. Durch
Aktivieren von Enable Write Signalen für die Bänke 250-1 und
250-2 mit denselben Schreibdatensignalen, werden Daten im Block
270-1 in beide Speicherbanken 250-1 und 250-2 geschrieben. Diese
Speicherbanken 250-1 und 250-2 werden dann an die P2A-Queue 242
und P2B-Queue 244 gesandt. Daher werden Daten im Block 270-1 an
den Anschluß A134 und den Anschluß B136 übermittelt. Der nächste
Block 270-2 wird auch an die Anschlüsse 134 und 136 übermittelt,
mit den Daten, die in den Speicherbänken 250-3 und 250-4 ge
schrieben sind.
Die Übermittlung zu diesem Zeitpunkt wird aktiviert durch Spezi
fizieren einer Adresse zum Übermitteln als eine Bestimmungsort
adresse. Weiter insbesondere wird, wie in Fig. 18 gezeigt ist,
in einem Speicherplan 270, zum Beispiel zusätzlich zu einem RC A
Bereich 272 für eine Wiedergabesteuereinheit (Rendering Control
ler), die mit dem Anschluß A134 verbunden ist, und einem RC B
Bereich 274 für eine Wiedergabesteuereinheit, die mit dem An
schluß B136 verbunden ist, einen RC A+B Bereich 276, ein Spei
cherbereich, der spezifiziert werden muß, um an beide zu über
mitteln, vorgesehen. Falls die Bestimmungsortadresse der Daten
sich innerhalb des RC A+B Bereiches 276 befindet, wie oben be
schrieben wurde, muß der Vorrichtungstreiber den Übermittlungs
modus über ein internes Register (nicht gezeigt) vor dem aktuel
len Schreibzugriff freigeben bzw. aktivieren.
Das "X2P" FIFO "A2P FIFO 122 und B2P FIFO 126, muß die Sekundär
seite (Schreibanschluß) mit bzw. und die Primärseite
(Leseanschluß) überbrücken. Daher ist der Schreibanschluß in der
"S_CLK"-Taktdomäne und der Leseanschluß ist in der "P_CLK"-
Taktdomäne. Deshalb muß das "X2P" FIFO asynchrone Handshakingfä
higkeiten wie in Fig. 19 gezeigt vorsehen.
Das primäre I/O 110 enthält drei Module, die auf den Lesean
schluß des "X2P" FIFO zugreifen, einschließlich dem PCI-Target
140, dem PCI-Master 142 und dem AGP-Master 146. Das sekundäre
I/O enthält drei Module, die auf den Schreibanschluß des "X2P"
FIFO zugreifen, einschließlich PCI-Target 160, PCI-Master 162
und SBA-Target 164.
Aufgrund der Tatsache, daß es zwei gänzlich unabhängige Agenten
(Vermittler) mit Schreibzugriff gibt (d. h. den Anschluß A134 und
den Anschluß B136), wird das "X2P" FIFO in zwei getrennte FTFOs
A2P FIFO 122 und B2P FIFO 126 geklont bzw. aufgeteilt. Es gibt
100% identische, aber die Schreibanschlüsse sind mit den ent
sprechenden sekundären Anschlüssen verbunden und die Lesean
schlüsse sind gemeinsam mit der X2P Entscheidungseinheit 111
verbunden. Im folgenden wird die "X2P" FIFO-Architektur be
schrieben. Die Beschreibung trifft sowohl das A2P FIFO 122 als
auch das P2X FIFO 124.
Auf der Sekundärseite gibt es zwei Schreibzugriff-"Agenten"
(Schreibzugriff-Vermittler) für jeden Anschluß. Der erste Agent
ist das PCI-Target 160 innerhalb der Brücke 68, welches mit dem
PCI-Master der externen AGP/PCI-Vorrichtung, die mit der Sekun
därseite der Brücke 68 verbunden ist, kommuniziert. Der zweite
Agent ist das AGP-Target 166 innerhalb der Brücke 68, welche mit
dem AGP-Master der externen AGP-Vorrichtung, die mit der Sekun
därseite der Brücke 68 verbunden ist, kommuniziert. Als eine
Folge präsentiert der Schreibanschluß von A2P FIFO 122 und 124
zwei Sätze von Signalen für jeden Schreibzugriffs-Agenten, bzw.
weist diese auf.
Jeder Schreibzugriffsagent kann den Ausgabemodus der Daten, die
er liefert, auswählen. Die Brücke 68 weist zwei separate Sätze
von Registern (nicht gezeigt) auf, welche durch den Vorrich
tungstreiber während der Initialisierung programmiert werden
kann. Die spezifischen Bits der Register und ihre entsprechenden
Bedeutungen sind in Tabelle 9 gezeigt.
Da "Fast Write" nur für Stromabwärtsübertragungen unterstützt
wird, d. h. von einem AGP-Target zu einem AGP-Master, können
"Fast Writes" nicht als ein Ausgabemodus auf der Primärseite
ausgewählt werden. Man beachte, daß der Ausgabemodus nicht dyna
misch geändert werden kann, d. h. er kann nur während der Initia
lisierung ausgewählt werden.
Zum Beispiel kann die sekundäre PCI Write-Übertragung in eine
AGP Write 2x Übertragung auf der Primärseite transformiert wer
den, oder die AGP 2x Übertragung auf der Sekundärseite kann in
eine AGP 4x Übertragung auf der Primärseite transformiert wer
den.
Es gibt mehrere Punkte, die zu berücksichtigen sind, wenn der
primäre Ausgabemodus ausgewählt wird. Falls die Brücke 68 sich
in einem PCI-Steckplatz befindet, sind PCI Writes die einzigen
unterstützten Modi. Die meisten der Stromerzeugungs-Wiedergabe-
Steuereinheiten präsentieren keine PCI-unterstützende Schnitt
stelle (elektrische und logische Gesichtspunkte) bzw. weisen
diese nicht auf, und daher vereinfacht die Brücke 68, daß diese
Vorrichtung mit einem PCI-Steckplatz verbunden wird und richtet
sich noch nach den Spezifikationen und vice versa, falls die
Brücke 68 in einem AGP-Steckplatz ist. Es gibt viele PCI-
Vorrichtungen, die nicht mit einem AGP-Steckplatz aus elektri
schen Gründen verbunden werden können, und daher vereinfacht die
Brücke 68, daß diese Vorrichtung mit einem AGP-Steckplatz ver
bunden wird. Auch können einige AGP-Vorrichtungen nicht den AGP-
Steckplatz (1,5 V oder 3,3 V) elektrisch unterstützen, und können
nicht die höchstmögliche Datenrate (d. h. 4x-Datenrate) präsen
tieren bzw. aufweisen. Daher kann, da der AGP-Steckplatz eine
viel höhere Bandbreite (bis zu 8x) und mit zwei entkoppelten se
kundären Anschlüssen vorsieht, die Primärseite ein Flaschenhals
werden, falls die auf derselben Geschwindigkeit wie zwei Über
tragungs-Agenten auf der Sekundärseite wäre. So ist mit den AGP
4x-Übertragungen, die auf der Primärseite ausgewählt sind, die
Primärseite fähig, mit den Daten, die von der Sekundärseite ein
gegeben werden, in den meisten der Fälle Schritt zu halten.
A2P FIFO 122 und B2P FIFO 126 besitzen dieselbe Struktur, wie
die in Fig. 7 und Fig. 8 gezeigte. Daher besitzt jede Speicher
bank innerhalb A2P FIFO 122 und B2P FIFO 126 einen Satz von At
tributen bzw. Eigenschaften. Der ausgewählte Ausgabemodus ist
einer dieser Attribute. Während des Schreibzugriffs wird die
Ausgabe von einer Speicherbank in dem Modus ausgeführt, der
durch die Attribute der der Speicherbank entsprechenden ange
zeigt wird.
Es wird auf Fig. 20 Bezug genommen; A2P FIFO 122 und B2P FIFO
126 sind jeweils in der folgenden Struktur organisiert. Das FIFO
(A2P FIFO 122 oder B2P FIFO 126) weist ein Feld 280 von Spei
cherbänken 290-1 bis 290-n, eine AGP-Queue (AGP-Warteschlange)
282 und eine PCI-Queue (PCI-Warteschlange) 284 auf.
Daten in einem AGP-Ausgabemodus und in einem PCI-Ausgabemodus
sind alle im Feld 180 gespeichert. Wenn AGP- und PCI-Ausgabemodi
im Feld 280 gemischt werden, tauchen die folgenden Probleme auf.
Die Brücke 68 hält die Reihenfolge innerhalb desselben Proto
kollmodus in der folgenden Weise aufrecht. Falls AGP-Writes für
den Ausgabemodus ausgewählt werden, werden die Anforderungen
bzw. Anfragen in die primäre SBA-Queue in genau derselben Rei
henfolge wie empfangen eingereiht. Aufgrund der AGP-
Spezifikationen werden die Daten gesammelt (d. h. GNT# wird durch
die Kernlogik ausgegeben), in derselben Reihenfolge wie durch
die Brücke 68 ausgegeben. Falls PCI-Writes für den Ausgabemodus
ausgewählt werden, wird ein primäres REQ# durch den primären
PCI-Master 142 ausgegeben, welches die Daten von A2P FIFO 122
und B2P FIFO 126 ("X2P" FIFO) holt. So ist es tatsächlich das
FIFO selbst, das die Ausgabereihenfolge der PCI-Writes bestimmt.
Jedoch sind die AGP/PCI-Ausgabemodi gemischt, und es ist in der
Steuerung bzw. es ist Sache der primären Bus-
Entscheidungseinheit, das Aneinanderreihen der Schreibzyklen zu
bestimmen. Da sich diese Entscheidungseinheit in der Kernlogik
62 wie in Fig. 1 gezeigt extern an der Brücke 68 befindet, kann
das Aneinanderreihen innerhalb des "X2P" FIFO nicht zu der An
einanderreihung der Ausgabe der Primärseite passen. Daher ist
die Datenausgabe nicht sequentiell. Als eine Folge muß eine War
teschlange-Steuerungslogik (Queue-Steuerungslogik) für zwei un
abhängige Lese-Warteschlangen innerhalb des "X2P" FIFO implemen
tiert werden, eine für den AGP-Ausgabemodus und einen für den
PCI-Ausgabemodus. So wird während des Schreibzugriffs eine "Mar
kierung" in die entsprechende Warteschlange, die die Bank an
zeigt, in der die Daten gespeichert werden, eingereiht.
Es wird auf Fig. 20 Bezug genommen; die AGP-Queue 282 enthält
Markierungen, die die Bank 290-1, 290-2, . . ., 290-n im Feld 280,
in dem die Daten, die mit der AGP-Anforderung zusammenhängen,
gespeichert wird, anzeigen, und die PCI-Queue 284 enthält Mar
kierungen, die die Bank 290-1, 290-2, . . ., 290-n im Feld 280, in
dem die Daten, die mit der PCI-Anforderung zusammenhängen, ge
speichert werden, anzeigt. Daher werden die AGP-Anforderung und
PCI-Anforderungen entsprechend in Reihenfolge gehalten.
Es wird auf Fig. 21 Bezug genommen; zum Beispiel wird angenom
men, daß die Daten 300-1, 300-2, 300-3, 300-4, 300-5, . . . in das
"X2P" FIFO (A2P FIFO 122 und B2P FIFO 126) eingegeben werden.
Diese Blöcke enthalten AGP_1-, AGP_2-, PCI_1-, AGP_3- bzw.
PCI 2-Anforderungen. Diese Anforderungen bzw. Anfragen werden in
den Banken 290-1, 290-2, 290-3, 290-4 bzw. 290-5 gespeichert.
Weil die AGP-Queue 282 Markierungen für AGP-Anfragen einreiht,
speichert sie "Bank_1"-, "Bank_2"- und "Bank_4"-Markierungen.
Ähnlich reiht die PCI-Queue 284 Markierungen für PCI-Anfragen
ein, sie speichert "Bank_3"- und "Bank_5"-Markierungen. Wenn die
AGP-Queue 282 nicht leer ist, gibt sie Full_R_AGP ein, um anzu
zeigen, daß sie eine gültige AGP-Anforderung enthält. Ähnlich
gibt sie, wenn die PCI-Queue 284 nicht leer ist, Full_R_PCI aus,
um anzuzeigen, daß sie eine gültige PCI-Anforderung enthält.
Das "S2S" FIFO (S2S FIFO 128) muß die zwei sekundären Anschlüs
se, d. h. den Anschluß A134 und den Anschluß B136 überbrücken. Es
gibt zwei grundlegende Implementierungen, die erste ist ein
vollständig synchrones FIFO und die zweite ist ein vollständig
asynchrones FIFO. Falls die Anwendung, auf die abgezielt wird,
zwei identische Vorrichtungen auf beiden Anschlüssen bzw. An
schlußleisten verwendet, z. B. zwei AGP-Wiedergabe-
Steuereinheiten, gibt es keine Notwendigkeit, zwei separate
Taktdomänen aufrechtzuerhalten, da sie beide mit demselben Takt
laufen können. Daher befindet sich der Schreibanschluß in der
"S_CLK"-Taktdomäne und der Leseanschluß ist in derselben
"S_CLK"-Taktdomäne. Die Implementierung ist weniger komplex und
weniger Verzögerung wird eingebracht aufgrund der fehlenden
asynchronen Handshake-Strafe. Jedoch, falls verschiedene Taktge
schwindigkeiten erforderlich sind, zum Beispiel wird eine ältere
33 MHz-Nur-PCI-Vorrichtung in eine Anschlußseite gesteckt, müssen
die zwei sekundären Anschlüsse asynchron sein. Daher ist der
Schreibanschluß in der "S_A_CLK"-Taktdomäne.
Es wird auf Fig. 22 Bezug genommen; jeder sekundäre Anschluß
enthält zwei Module, die auf den Schreibanschluß von S2S FIFO
128, einschließlich PCI Target 160 (PCI Write) und AGP Target
166 zugreifen. Jeder sekundäre Anschluß enthält zwei Module, die
auf den Leseanschluß des "S2S" FIFO, einschließlich PCI/FS Ma
ster 12 und 168 (PCI Write oder Fast Write) und AGP Target 166
zugreifen.
Da die externen Vorrichtungen einen Lese- und Schreib-Zugriff
nicht zur selben Zeit handhaben können, gibt es keine Notwendig
keit für ein gleichzeitiges bidirektionales FIFO.
Ein sequentielles bidirektionales FIFO wird ausreichen. Das soll
heißen, beide Richtungen für die Datenübermittlung werden unter
stützt, und beide sekundäre Anschlüsse können entweder Schreib-
oder Lese-Agenten sein, aber S2S FIFO 128 weist nur eine einzige
Schreib- und Lese-Anschlußzustandsmaschine auf.
Wie in Fig. 22 gezeigt ist, weist der Anschluß A134 weiter ein
SBA Target 164 und die Eingabewarteschlange (Entry Queue) 310
zum Einreihen von SBA Anforderungen von dem SBA Target 164 auf.
Ähnlich weist der Anschluß B136 weiter ein SBA Target und eine
SBA-Warteschlange 320 auf. Da die Richtung der Übertragung zwi
schen den Agenten (Vermittlern), die mit dem Anschluß AI34 und
dem Anschluß B136 verbunden sind, unter der Kontrolle bzw.
Steuerung des Hosts stehen, ist eine Entscheidung bzw. Zuweisung
für S2S FIFO 128 nicht nötig.
Wie in Fig. 26 gezeigt ist, muß, da es nur einen einzelnen pri
mären Anschluß (primäres I/O 110), aber zwei unabhängige sekun
däre Anschlüsse (Anschluß A134 und Anschluß B136) gibt, eine
X2P-Entscheidungseinheit (X2P-Zuweisungsentscheidungseinheit)
111 implementiert werden, die Anforderungen von/zu jedem der
zwei "X2P" FIFOs auswählt/zuordnet. Soweit AGP Write-
Anforderungen betroffen sind, führt die SBA-Entscheidungseinheit
120 diese Aufgabe aus, die "X2P"-Entscheidungseinheit liefert
nur die entsprechenden Schreibdaten.
Es wird auf Fig. 23 Bezug genommen; eine primäre SBA-Einheit,
die sich im primären I/O 110 befindet, weist zwei separate War
teschlangen (Queue) 350 und 352 zum Speichern und Weiterleiten
von Lese-Anforderungen niedriger Priorität und Schreibanforde
rungen niedriger Priorität, die vom SBA-Master 144 empfangen
werden, und einen Warteschlangenzähler (Queue-Counter) 354 auf.
Jedesmal, wenn der SBA-Master 144 eine Anforderung bzw. Anfrage
einreiht, erhöht sie den Warteschlangenzähler 354 um eins. Je
desmal, wenn der AGP-Master 146 eine Anforderung verarbeitet,
vermindert der AGP-Master 146 den Warteschlangenzähler 354 um
eins. Daher hält der Warteschlangenzähler 344 die Anzahl von An
forderungen in den Warteschlangen 350 und 352 im Gleichlauf. Der
Zähler in dem Warteschlangenzähler 354 besitzt eine obere Grenze
Max_Queue.
Es wird auf Fig. 24 Bezug genommen; die Lese-Warteschlange 350
zum Beispiel enthält n Eingaben 360-1 bis 360-n. Es wird auf
Fig. 25 Bezug genommen; jede Eingabe 360, Eingabe 360-n zum Bei
spiel, weist einen freien Steckplatz 370 und eine Länge 372 der
zu lesenden oder zu schreibenden Daten auf. Der freie Steckplatz
372 stellt eine Quelle der Anforderung dar, d. h. der freie
Steckplatz A (Anschluß A134), der freie Platz B (Anschluß B136)
und der freie Steckplatz B (DMA). Die Lese-Warteschlange 350
liefert die Anzahl der freien Steckplätze (Read_SLOT) an die
X2P-Entscheidungseinheit 111, und liefert die Länge an den AGP-
Master 146. Ähnlich liefert die Schreib-Warteschlange 352 die
Länge an den AGP-Master 146 und liefert Write_SLOT an die X2P-
Entscheidungseinheit 111.
Es wird auf Fig. 27 Bezug genommen; falls die X2P-
Entscheidungseinheit 111 die Erlaubnis zum Liefern der AGP-Write
von der Kernlogik 62 erfaßt, d. h. B_GNT, das die Erlaubnis des
primären Busses 66 anzeigt, wird aktiviert, und die P_ST-Zeilen,
welche die Art der Anforderung darstellen, d. h. PCI oder AGP,
Read or Write, zeigen ein Schreiben niedriger Priorität an,
wählt sie die Quelldaten abhängig von der "SBA_SLOT"-Information
(Read_SLOT oder Write_SLOT) von der primären SBA-Warteschlange
aus. Falls sie den freien Steckplatz A, d. h. den A2P FIFO 122,
anzeigt, wird der "A2P"-Kanal durchgeschaltet und der "B2P"-
Kanal wird durch MUX 362 und MUX 364 unter der Steuerung von FSM
360 blockiert. Falls sie den freien Steckplatz anzeigt, dann ist
das Schalten vice versa.
Soweit PCI-Write-Anforderungen betroffen sind, gibt der primäre
PCI-Master 142 Anforderungen an die Kernlogik 162 über seine
REQ#-Leitung aus. Daher weist sie keine Reihungs-Logik auf. Die
"X2P"-Entscheidungseinheit nimmt dann die "leeren" Flags von
beiden FIFOs zu dem PCI-Master hinzu. Um genauen Zugriff zu dem
PCI-Master zu erteilen, wird einfach ein genaues Entscheidungs
schema implementiert, in dem die Eigentümerschaft zwischen den
zwei FIFOs umgeschaltet wird, falls durch sie hindurchgeleitet
wird. Falls erwünscht, kann ein auf Priorität basierendes Zuwei
sungsschema auch angewendet werden.
Es wird auf Fig. 28 Bezug genommen; jeder zweite Anschluß 134
oder 136 weist zwei Quellen für stromabwärts auf. Die erste ist
das P2X FIFO 124, d. h. Stromabwärtsdaten. Die zweite ist das S2S
FIFO 128, d. h. seitwärts bzw. Stromseitwärts-Daten. Daher weist
der Anschluß A134 eine X2S-Entscheidungseinheit 370, um die Ein
gaben zuzuweisen, und einen Anschluß A372 auf, welcher Daten von
der X2S-Entscheidungseinheit 370 empfängt. Ähnlich weist der An
schluß B136 eine X2S-Entscheidungseinheit 380 und einen Anschluß
B382 auf.
Der sekundäre Anschluß 134 oder 136 zeigt jedes beendete Burst-
via-"Rotate"-Signal an. Jedesmal, wenn dieses Signal hoch emp
fangen wird durch die X2S-Entscheidungseinheit 370 oder 380, be
wertet es die Eigentümerschaft des entsprechenden Anschlusses
wieder. Zwei Algorithmen können im Bewerten der Eigentümerschaft
ausgewählt werden. Der erste ist ein genauer, bei dem die Eigen
tümerschaft auf einer Eins-zu-Eins-Basis umschaltet. Falls zwei
Schreibzugriffs-Anforderungen empfangen werden, schaltet die Ei
gentümerschaft von dem gegenwärtigen Eigentümer zu dem anderen
um. Falls keine andere Anforderung empfangen wird, kann die ge
genwärtige die Eigentümerschaft halten, d. h. "parked o last".
Der zweite Algorithmus ist ein "fast lane"-Algorithmus. Da das
P2X FIFO OS induzierte Daten enthalten kann mit Echtzeitanforde
rung, wie beispielsweise Cursor-Updates, kann es vorzuziehen
sein, dem "P2X"-Datenweg fast unbeschränkten Zugriff zu dem se
kundären Anschluß zu geben. Jedoch wechselt die Eigentümerschaft
nur, falls das "Rotate" Signal als hoch empfangen wird, d. h. dem
"S2S"-Datenweg wird ermöglicht, seinen gegenwärtigen Burst (sein
gegenwärtiges Signal) zu vervollständigen.
Wie in Fig. 22 gezeigt ist, weist jeder sekundäre Anschluß A134
und 136 eine getrennte und entkoppelte SBA-Einheit auf, welche
jeweils zum Beispiel die Eingabe-Warteschlange 310 und den SBA-
Target 164 aufweist. Es wird auf Fig. 29 Bezug genommen; die
Eingabe-Warteschlange 310 weist n-Eingaben 380-1 bis 380-n auf,
d. h. die Eingabe-Warteschlange 310-Tiefe beträgt n Eingaben.
Das SBA-Target 164 dekodiert die Seitenbandsignale gemäß der
AGP-Spezifikationen. Die SBA-Warteschlangen-Handhabung ist ein
zigartig für die vorliegende Ausführungsform und wird im folgen
den beschrieben.
Alle Anforderungen werden weitergeleitet in ihrer Reihenfolge,
d. h. in der wahren FIFO-Weise. Dies vereinfacht das Design ohne
Leistungsstoß. Die Anforderungen werden durch den sekundären An
schluß eingereiht. Deshalb befindet sich der Schreibanschluß der
Eingabe-Warteschlange in der S_CLK-Taktdomäne. Die Anforderungen
werden durch die SBA-Entscheidungseinheit 120 auf der Primärsei
te geholt. Deshalb befindet sich der Leseanschluß der Eingabe-
Warteschlange in der P_CLK-Taktdomäne. Daher ist ein asynchrones
REQ/ACK-Handshake-Paar für jede Eingabe erforderlich.
Es wird auf Fig. 30 Bezug genommen; jede Eingabe 380 enthält die
Information, die von dem SBA-Anschluß akquiriert wurde, ein
schließlich einer Steuerinformation 390, dem Kommandotyp 392 und
der Adressenlänge 394. Zusätzlich besitzt jede Eingabe 380 ein
"Typ"-Attribut, welches wie folgt definiert ist:
Alle Lese-Anforderungen einschließlich "Flush" werden wie sind
weitergeleitet. Für die Schreib-Anforderung müssen die entspre
chenden Schreibdaten beansprucht werden, bevor die Anforderung
auf die Primärseite weitergeleitet werden kann. Andernfalls
könnte die AGP-Spezifikation verletzt werden. Falls die Anforde
rung auf der Primärseite ausgegeben wird, bevor die Schreibdaten
komplett in dem "X2P"-FIFO sind, kann die Brücke 68 nicht fähig
sein, die Daten für das entsprechende GNT#-Signal zu liefern. Um
dies zu vermeiden, wird die Anforderungseingabe mit einem "01b"-
Typ markiert, welcher die Anforderung auf die Primärseite mas
kiert, d. h. sie ist unsichtbar und kann nicht durch den Lesean
schluß der SBA-Einheit A116 oder der SBA-Einheit B118 geholt
werden. Sie blockiert auch alle Anforderungen "dahinter", um die
Reihenfolge aufrechtzuerhalten. Als eine Folge wird eine Lesean
forderung, die nach einer Schreibanforderung eingereiht wird,
für die primäre SBA-Einheit unsichtbar sein, bis die Schreiban
forderung vollständig verarbeitet ist.
Es wird auf Fig. 31 Bezug genommen; damit dieses passieren kann,
gibt die SBA-Einheit A116 oder die SBA-Einheit B118 eine Anfor
derung an das AGP-Target 166 desselben Anschlusses aus, wobei
sie anzeigt, daß sie eine abhängige AGP-Write-Anforderung ent
hält. Das AGP-Target 166 gibt GNT#/ST-Signale aus und holt die
Schreibdaten gemäß der Spezifikation und gibt die Daten an das
A2P FIFO 122 oder das P2C FIFO 124 weiter. Sobald die Daten
vollständig entsandt sind, d. h. das gesamte Signalbündel (wie
durch die Anforderungsgröße definiert ist) zeigt das AGP-Target
166 der SBA-Einheit an, daß die SBA-Einheit die maskierte Einga
be freigeben kann. Als eine Folge wird die SBA-Eingabe in der
Eingabe-Warteschlange 310 auf die Primärseite (AGP-Master 146)
weitergeleitet und die nächste Eingabe wird sichtbar gemacht.
Ein spezieller Fall sind Stromseitwärts-Übertragungen, bei denen
der Bestimmungsort eines AGP Write nicht der Systemspeicher ist,
d. h. die Primärseite, aber der entgegengesetzt Anschluß auf der
Sekundärseite. In diesem Fall wird die Eingabe auch durch die
SBA-Einheit markiert und eine Anforderung wird an das AGP-Target
166 desselben Anschlusses gemacht. Daten werden in derselben
Weise geholt, aber in diesem Fall werden die Daten in dem S2S
FIFO 128 gespeichert. Sobald die Daten vollständig gesandt sind,
gibt die SBA-Einheit die Eingabe nicht frei, sondern macht sie
ungültig, da sie nicht an den anderen Anschluß ausgegeben wird.
Schließlich wird nicht nur dem SBA-Target 164 erlaubt, Anforde
rungen in die Eingabe-Warteschlange 310 einzureihen, sondern
auch dem PCT-Target 160 desselben Anschlusses wird dies ermög
licht, um die PCI-zu-AGP-Protokolltransformation zu ermöglichen.
Daher weist die SBA-Einheit zwei verschiedene Schreibanschlüsse
auf. Das PCT-Target 160 liefert dieselbe Information wie das
SBA-Target 164, d. h. Länge, Kommando bzw. Befehl und Adresse.
Die primäre SBA-Entscheidungseinheit 120 muß drei Anforderungs-
Steckplätze verwalten. Der erste, Steckplatz A, wird durch den
Anschluß A134 betrieben. Der zweite, Steckplatz B, wird durch
den Anschluß B136 betrieben. Der dritte, Steckplatz D, wird
durch eine primäre DMA-Maschine 400 betrieben, wie in Fig. 32
gezeigt ist. All die Quellen sind vollständig entkoppelt und
können eine SBA-Anforderung unabhängig voneinander ausgeben. Ein
Prioritätsbasis-Zuweisungsschema (Prioritätsbasis-
Entscheidungsschema) wird implementiert, daß ermöglicht, jeder
Anforderungsquelle ein Gewicht zuzuweisen. Ein höheres Gewicht
ermöglicht dem momentan aktiven Agenten, die Potentiallokalität
auszukundschaften, durch wiederholtes Aussenden von Typ1-
Anforderungen, d. h. Typ3 und Typ2 sind nicht erforderlich, falls
derselbe Agent Vielfach-Anforderungen ausführt. Dies vergrößert
den Durchsatz am SBA-Anschluß.
Es wird auf Fig. 33 Bezug genommen; die Entscheidungseinheit 120
weist drei MUXs 412, 414 und 416 und ein FSM 410 zum Steuern der
MUXs 412, 414 und 416 auf der Basis der Gewichte für die Steck
plätze A, B und D und als Reaktion auf Anforderungen von den
Steckplätzen A, B und D. MUX 412 wählt eine der Adreßeingaben
von den Steckplätzen A, B und D aus (422A, 422B und 422D) und
legt den ausgewählten an dem SBA-Master 144 an. MUX 414 wählt
eine der Längen von den Steckplätzen A, B und D (424A, 424B und
424D) aus und legt die ausgewählte an den SBA-Master 144 an. MUX
416 wählt eine der Kommandos (Befehle) von den Steckplätzen A, B
und D (426A, 426B und 426D) aus und legt den ausgewählten an dem
SBA-Master 144 an.
Es wird auf Fig. 34 Bezug genommen; das Gewicht ist definiert
als die Anzahl von Anforderungen, die der Quelle einzureihen er
laubt sind, bevor sie den Zugriff auf andere Quellen im Fall ei
ner anderen Anhängeanforderung liefert. Das Gewicht kann von 1
bis 15 in dieser Ausführungsform reichen. In Fig. 34 stellen die
Zustände 320, 322 und 324 den Steckplatz A, den Steckplatz B
bzw. den Steckplatz D dar, der die Priorität besitzt. Jeder
Steckplatz hat einen reservierten Prioritätszähler 330, 332 oder
334, der für jede eingereihte Anforderung um 1 erhöht wird. Auch
hat jeder Steckplatz ein Register 340, 342 oder 344 zum Spei
chern des Gewichts. Falls der Zähler 330, 332 oder 334 dem Ge
wicht 340, 342 oder 344 gleich ist, prüft die Entscheidungsein
heit 120 anhängige Anforderungen von den anderen zwei Steckplät
zen. Falls keine Anforderung anhängig ist, wird der gegenwärtige
Prioritätszähler 330, 332 oder 334 gesperrt und nicht um 1 er
höht, sogar falls eine neue Anforderung eingeleitet wird. Dies
zwingt die Entscheidungseinheit 120, die anderen zwei Quellen
konstant zu prüfen und die Erlaubnis zu liefern, sobald irgend
eine andere Anfrage ausgegeben wird. Wenn die Eigentümerschaft
wechselt, wird der vorige Prioritätszähler 330, 332 oder 334 zu
rückgesetzt und der neue (nun momentane) Prioritätszähler 330,
332 oder 334 wird aktiviert, d. h. um 1 erhöht, falls Anforderun
gen durch den neuen (momentanen) Steckplatzeigentümer eingereiht
werden.
Falls der Prioritätszähler 330, 332 oder 334 dem Gewicht 340,
342 oder 344 gleich ist und beide anderen Steckplätze anhängige
Anforderungen aufweisen, erteilt die Entscheidungseinheit 120
der vorliegenden Ausführungsform die Eigentümerschaft gemäß ei
ner taktweisen, kreisförmigen Zuordnung, d. h. Anschluß A320 -<
Anschluß B322 -< Anschluß D324 -< Anschluß A320.
Falls ein vollständig genaues Zuweisungsschema erwünscht ist,
müssen die Gewichte für alle drei Steckplätze auf "1" gesetzt
sein. Falls das Gewicht auf "0" gesetzt ist, erhält in dieser
Ausführungsform der entsprechende Steckplatz den exklusiven
Zugriff auf dem primären SBA-Anschluß, d. h. der Prioritätszähler
330, 332 oder 334 wird inaktiviert und alle anderen Steckplätze
werden ignoriert, bis das Gewicht auf einen nicht-"0"-Wert geän
dert ist. Dieses Merkmal ist nützlich zur Fehlerbeseitigung und
zu Analysezwecken.
Es wird auf Fig. 35 Bezug genommen; die SBA-Einheit A116, SBA-
Einheit B118, Entscheidungseinheit 120, SBA-Master 144 arbeiten
wie folgt. Es wird angenommen, daß drei Anfragen W (Schreibe), R
(Lese) und W mit entsprechenden Längen 2, 4, 6 durch die SBA-
Einheit A116 in Folge ausgegeben werden. Ähnlich wird angenom
men, daß drei Anforderungen R (Länge 2), W (Länge 4) und R
(Länge 6) durch die SBA-Einheit B118 in Folge ausgesandt werden.
Diese Anforderungen werden durch die Entscheidungseinheit 120
entschieden bzw. zugewiesen und von der Entscheidungseinheit 120
in der Reihenfolge von W(A), R(A), R(B), W(A), W(B) und R(B)
ausgegeben. Ihre entsprechenden Längen betragen 2, 4, 2, 6, 4
und 6. Diese Anforderungen werden in den SBA-Master 144 eingege
ben, welcher die Anforderungen an den Host 60 weitergibt und ih
re entsprechende Anschluß- und Längen-Information in eine Lese-
Warteschlange 350 und eine Schreib-Warteschlange 352 einreiht.
In diesem Fall erhält die Lesewarteschlange 350 drei Eingaben.
Die erste Eingabe speichert den Anschluß A und die Länge 4. Die
zweite Eingabe speichert den Anschluß B und die Länge 2. Die
dritte Eingabe speichert den Anschluß B und die Länge 6. Die
Schreib-Warteschlange 352 erhält auch drei Eingaben. Die erste
Eingabe speichert den Anschluß A und die Länge 2. Die zweite
Eingabe speichert den Anschluß A und die Länge 6. Die dritte
Eingabe speichert den Anschluß B und die Länge 4.
Der Host 60 verarbeitet die Anforderungen und gibt eine Antwort
aus. Die Reihenfo 10909 00070 552 001000280000000200012000285911079800040 0002010030148 00004 10790lge der Antwort kann verschieden sein von der
jenigen der Eingabe. Daher kann der Host 60 die Antwort in der
Reihenfolge von W(A), R(A), W(A), R(B), W(B) und R(B) ausgeben.
Der AGP-Master 146 empfängt die Antwort von dem Host 60, und
falls sie eine W-Antwort ist, findet sie eine Eingabe am Kopf
der Schreib-Warteschlange 352 wieder. Falls sie eine R-Antwort
ist, findet der AGP-Master 146 eine Eingabe an dem Kopf der Le
se-Warteschlange 350 wieder. Daher gibt in diesem Fall der AGP-
Master 146 Daten aus, die W(A,2), R(A,4), W(A,6), R(B,2),
W(B,4), und R(W,6), in dieser Reihenfolge aus. In dieser Weise
werden die Reihenfolgen der R- und W-Sequenzen wie eingegeben in
den SBA-Master 144 entsprechend bei der Ausgabe des AGP-Masters
146 aufrechterhalten.
Durch die Brücke 68 gemäß dieser Ausführungsform können zwei
oder mehr AGP- und PCI-Vorrichtungen insgesamt mit einem einzel
nen AGP-Steckplatz der Hauptplatine für Punkt-Punkt-Protokolle
verbunden werden. Daten können auf der Basis eines geeigneten
Protokolls zwischen dem Host 60 und jeder der Vorrichtungen
übertragen werden. Zu diesem Zeitpunkt kann die Protokoll-
Transformation und die Datenratentransformation zwischen den
Vorrichtungen erreicht werden. Außerdem können Daten zwischen
Vorrichtungen übertragen werden, die mit der Brücke 68 verbunden
sind, unter Verwenden des S2S FIFO 128. Zusätzlich können durch
Anheben der Anzahl von verbundenen Vorrichtungen anzubietende
Dienste skalierbar vorgesehen werden.
Deshalb kann der Steckplatz der Hauptplatine effektiv benutzt
werden, um eine Mehrzahl von Vorrichtungen mit dem Host 60 zu
verbinden, so daß Funktionen, die auf die Vorrichtungen vorgese
hen werden, verbessert werden können. Ähnlich werden verschiede
ne Kombinationen von Diensten unter Verwenden des einzelnen
Steckplatzes ermöglicht.
Die Brücke 68 gemäß der ersten Ausführungsform, die oben be
schrieben wurde, führt Datenzuordnung, Protokoll- und Datenra
ten-Transformation und die nötige Zuweisung für diese Zwecke
aus, und das Verarbeiten der Daten selbst wird durch Vorrichtun
gen außerhalb der Brücke 68 erreicht. Jedoch kann ein Verarbei
tungskern zum Ausführen von Datenverarbeitungen (wie zum Bei
spiel geometrische Betriebe und Videoverarbeitung) innerhalb der
Brücke vorgesehen sein. Daher kann die Brücke eine größere An
zahl von Funktionen für den Host vorsehen. Die folgende Brücke
gemäß einer zweiten Ausführungsform wird als ein Beispiel be
schrieben werden, welches einen derartigen Verarbeitungskern
einbaut.
Es wird auf Fig. 36 Bezug genommen; eine Brücke 450 gemäß der
zweiten Ausführungsform ist von der in Fig. 4 gezeigten Brücke
68 darin verschieden, daß sie zusätzlich ein C2P FIFO 466, einen
Verarbeitungskern 468, ein C2S FIFO 470, ein A2C FIFO 472 und
B2C FIFO 474 aufweist, und daß sie ein primäres I/O 460, ein
X2P-Entscheidungseinheit 462, ein P2X FIFO 464, eine SBA-
Entscheidungseinheit 490, einen sekundären Anschluß A476 und ei
ner sekundären Anschluß B478 anstelle des primären I/O 110, der
X2P-Entscheidungseinheit, des P2X FIFO 124, der Entscheidungs
einheit 120, des Anschlusses A134 bzw. des Anschlusses B136 auf
weist. Entsprechende Elemente zwischen Fig. 4 und Fig. 36, zum
Beispiel die X2P-Entscheidungseinheit 111 und X2P-
Entscheidungseinheit 462 sind nur darin verschieden, daß die
letztere eine größere Anzahl von Eingängen bzw. Eingaben
oder/und Ausgängen bzw. Ausgaben verbunden mit dem zusätzlich
vorgesehenen Verarbeitungskern 468 besitzt. Neu hinzugefügte FI-
FOs 466, 470, 472 und 474 besitzen im Grunde dieselben Konfigu
ration wie die FIFOs gemäß der ersten oben beschriebenen Ausfüh
rungsform. Deshalb wird die detaillierte Beschreibung der Ele
mente hier nicht vorgesehen. Ähnlich werden in den folgenden Fi
guren, dieselben Teile wie diejenigen die in Verbindung mit der
Brücke 68 gemäß der ersten Ausführungsform beschrieben wurden,
mit denselben Bezugszeichen bezeichnet und durch dieselben Namen
repräsentiert. Ihre Funktionen sind auch ähnlich, und deshalb
wird die detaillierte Beschreibung davon ebenfalls nicht vorge
sehen.
In diesem Fall kann das P2X FIFO 464 von mehr Betriebsmitteln
geteilt werden und sogar höhere Benutzungsraten für geteilte Be
triebsmittel können erreicht werden. Es wird auf Fig. 37 Bezug
genommen; das P2X FIFO 464 besitzt drei Bestimmungsort-
Warteschlangen, d. h. P2A-Queue 242 und P2B-Queue 244, wie auch
P2C-Queue 480. Die P2C-Queue 480 reiht Markierungen für Daten
blöcke ein, die für den Verarbeitungskern 468 bestimmt sind.
Auch muß ein neuer Leseanschluß von einem der "P2X"-
Leseanschlüsse geklont bzw. abgeteilt werden und mit der geteil
ten Logik innerhalb des P2X-FIFO 464 verbunden werden. Grund
sätzlich muß alles, was von der P2A/B Logik geteilt wird auf ei
ne dritte Dimension, das P2C erweitert werden.
Es wird auf Fig. 37 Bezug genommen; es wird angenommen, daß die
Datenblöcke 500-1 bis 500-5 vom primären Bus an das primäre I/O
460 eingegeben werden und dann an das P2X FIFO 464. Diese Blöcke
sind bestimmt für das P2A-, P2C-, P2B-, P2C- bzw. P2B-FIFO. Die
se Datenblöcke werden entsprechend in Bank_1 (250-1) bis Bank_5
(250-5) gespeichert. Dann wird die P2A-Queue 242 eine Markierung
"Bank_1" in dieser ersten Eingabe 252-1 speichern. Die P2B-Queue
244 wird die Markierungen "Bank_3" und "Bank_5" in seine ersten
und zweiten Eingabe 254-1, 254-2, speichern. Die P2C-Queue 480
speichert die Markierungen "Bank_2" und "Bank_4" in seinen er
sten und zweiten Eingaben 482-1, 482-2. Entsprechende Bestim
mungsort-FIFOs werden die Markierungen von entsprechenden Warte
schlangen als Reaktion auf die Signale Empty_R_P2A, Empty_R_P2B
und Empty_R_P2C lesen.
Es wird auf Fig. 38 Bezug genommen; das C2P FIFO 466 ist ein
vollständiger "Klon" des "X2P" FIFOs (A2P FIFO 122 und P2P FIFO
126) mit identischen Architekturen. Falls nur AGP- oder nur PCI-
Übertragungen durch den Verarbeitungskern 468 ausgegeben werden,
kann das Warteschlangensystem für das C2P FIFO 466 entfernt wer
den. Die X2P Entscheidungseinheit 462 ist eine erweiterte Versi
on der Entscheidungseinheit 120, um einen dritten Steckplatz zu
ermöglichen.
Es wird auf Fig. 39 Bezug genommen; die SBA-Entscheidungseinheit
490 muß erweitert werden, um einen "Kern"-Steckplatz
("Steckplatz C") zu ermöglichen. Die SBA-Entscheidungseinheit
490 muß nämlich eine Fähigkeit aufweisen, um Anforderungen 504
vom Kern I/O 500 innerhalb des Verarbeitungskerns 468 zu handha
ben.
Es wird auf Fig. 40 Bezug genommen; das P2X-FIFO 464 ist ein
vollständiger Klon des in Fig. 4 gezeigten P2X FIFOs 124. Die
P2A-Queue 442 und die P2B-Queue 244, wie in Fig. 13 gezeigt wer
den in "C2A" bzw. "C2B" umbenannt. Abhängig von den Kernerfor
dernissen kann die Architektur durch Entfernen unbenutzter Ab
schnitte vereinfacht werden. Höchstwahrscheinlich besitzt der
Verarbeitungskern 468 einen einzelnen Schreibanschluß (obwohl
auf einer hohen Frequenz). Schließlich muß die X2S-
Entscheidungseinheit 370 und die X2S-Entscheidungseinheit 380
wie in Fig. 28 gezeigt erweitert werden in die X2S-
Entscheidungseinheit 420 bzw. in die X2S-Entscheidungseinheit
530, um zu ermöglichen, daß ein dritter Steckplatz (Steckplatz
C) mit dem Anschluß-A-Schaltkreis 522 bzw. dem Anschluß-B-
Schaltkreis 532 verbunden wird.
Es wird auf Fig. 41 Bezug genommen; A2C FIFO 472 und B2C FIFO
474 sind vollständige Klone von A2P FIFO 122 oder B2P FIFO 126,
wie in Fig. 4 gezeigt. Da die Zuweisung für den Leseanschluß
durch den Verarbeitungskern 468 gesteuert wird, d. h. intern,
gibt es keine Notwendigkeit für die zwei AGP/PCI-Warteschlangen
(Queues) wie in Fig. 23 gezeigt. Eine vereinfachte FIFO-
Struktur, zum Beispiel ein einfaches Rotationssystem für den
Bank-Zugriff wird ausreichen, was die Fläche und die Komplexität
des A2C FIFO 472 und des B2C FIFO 474 verringert.
Auch, wie in Fig. 41 gezeigt, weist der Verarbeitungskern 468
einen internen Kernschaltkreis 502 und eine S2C-
Entscheidungseinheit 540 zum Entscheiden bzw. Zuweisen zwischen
dem A2C FIFO 472 und dem B2C FIFO 474. Die S2C-
Entscheidungseinheit 540 ist ein vollständiger Klon der X2P-
Entscheidungseinheit 111, wie sie in Fig. 4 gezeigt ist.
Es wird auf Fig. 42 Bezug genommen; der sekundäre Anschluß A476
weist ferner eine S2X-Entscheidungseinheit [A2X] 550 zum Zuwei
sen zwischen drei Steckplätzen auf, d. h. A2P FIFO 122
(Steckplatz A), A2C FIFO 472 (Steckplatz C) und S2S FIFO 128
(S2S) für die Ausgabe des Anschluß A-Schaltkreises 522. Ähnlich
weist der sekundäre Anschluß B478 weiter eine S2X-
Entscheidungseinheit [B2X] 560 für die Zuweisung zwischen drei
Steckplätzen auf, d. h. P2P FIFO 126 (Steckplatz B), B2C FIFO 474
(Steckplatz C) und S2S FIFO 128.
Der Vorteil der "X2P/X2S/X2X"-Entscheidungseinheiten-Anordnung
wie in Fig. 38 und Fig. 40 gezeigt liegt darin, daß sie die An
zahl von Zugriffsquellen für die sekundären/primären AGP/PCI-
Module transparent macht. Auf diese Weise wird die allgemeine
Architektur einfach skalierbar und erweiterbar.
Claims (20)
1. Brückenvorrichtung mit
einem ersten Anschluß (110), der mit einem ersten Bus (66) ver bunden ist, wobei der erste Anschluß (110) ein Mastermodul und ein Slavemodul gemäß eines ersten Protokolls und ein Mastermodul gemäß eines zweiten Protokolls aufweist, wobei das Protokoll ein Punkt-zu-Punkt-Protokoll ist;
einer Mehrzahl von zweiten Anschlüssen (134, 136), die mit einer Mehrzahl von zweiten Bussen (70, 72) verbunden sind, wobei jeder der zweiten Anschlüsse (134, 136) ein Mastermodul und ein Slave modul gemäß eines ersten Protokolls und einem Slavemodul gemäß eines zweiten Protokolls aufweist;
einer Mehrzahl von First-In-First-Out-Speichern (122, 124, 126), die asynchrone Datenwege zwischen dem ersten Anschluß (110) und der Mehrzahl von zweiten Anschlüssen (134, 136) bilden; und einer Entscheidungseinheit (111) zum Entscheiden zwischen Über tragungen in einem Konflikt, der in einem durch die First-In- First-Out-Speicher (122, 124, 126) gebildeten Datenweg erzeugt wird, auf der Basis der Protokolle, die auf die Übertragungen bezogen sind.
einem ersten Anschluß (110), der mit einem ersten Bus (66) ver bunden ist, wobei der erste Anschluß (110) ein Mastermodul und ein Slavemodul gemäß eines ersten Protokolls und ein Mastermodul gemäß eines zweiten Protokolls aufweist, wobei das Protokoll ein Punkt-zu-Punkt-Protokoll ist;
einer Mehrzahl von zweiten Anschlüssen (134, 136), die mit einer Mehrzahl von zweiten Bussen (70, 72) verbunden sind, wobei jeder der zweiten Anschlüsse (134, 136) ein Mastermodul und ein Slave modul gemäß eines ersten Protokolls und einem Slavemodul gemäß eines zweiten Protokolls aufweist;
einer Mehrzahl von First-In-First-Out-Speichern (122, 124, 126), die asynchrone Datenwege zwischen dem ersten Anschluß (110) und der Mehrzahl von zweiten Anschlüssen (134, 136) bilden; und einer Entscheidungseinheit (111) zum Entscheiden zwischen Über tragungen in einem Konflikt, der in einem durch die First-In- First-Out-Speicher (122, 124, 126) gebildeten Datenweg erzeugt wird, auf der Basis der Protokolle, die auf die Übertragungen bezogen sind.
2. Brückenvorrichtung nach Anspruch 1, bei der
jedes Modul zu einer Übertragungsanfrage ein Attribut, das ein
Protokoll darstellt, und eine Datenrate, die auf die Übertragung
bezogen ist, hinzufügt,
wobei jeder First-In-First-Out-Speicher aufweist:
eine Speicherschaltung zum Speichern einer Übertragung; und
einen Attribut-Speicher zum Speichern eines Attributs gemäß je der Übertragung,
wobei die Brückenvorrichtung weiter eine programmierbare Trans formationsschaltung zum Ausführen des Protokolls oder der Daten ratentransformation aufweist, die auf der Basis eines in dem At tribut-Speicher gespeicherten Attributs für jeden der Datenwege ausgeführt werden.
wobei jeder First-In-First-Out-Speicher aufweist:
eine Speicherschaltung zum Speichern einer Übertragung; und
einen Attribut-Speicher zum Speichern eines Attributs gemäß je der Übertragung,
wobei die Brückenvorrichtung weiter eine programmierbare Trans formationsschaltung zum Ausführen des Protokolls oder der Daten ratentransformation aufweist, die auf der Basis eines in dem At tribut-Speicher gespeicherten Attributs für jeden der Datenwege ausgeführt werden.
3. Brückenvorrichtung nach Anspruch 1 oder 2, bei der
das erste Protokoll ein PCI-Protokoll, das zweite Protokoll ein
AGP-Protokoll ist, und
die Mehrzahl von First-In-First-Out-Speichern (122, 124, 126)
einen ersten First-In-First-Out-Speicher aufweist, der einen Da
tenweg von dem ersten Anschluß 110 zu jedem der Mehrzahl von
zweiten Anschlüssen (134, 136) bildet.
4. Brückenvorrichtung nach einem der Ansprüche 1 bis 3, bei
der
der erste First-In-First-Out-Speicher aufweist:
eine Mehrzahl von Speicherbanken, welche jeweils einen Eingang, der mit dem ersten Anschluß gekoppelt ist, und einen Ausgang, der mit jeder der Mehrzahl von zweiten Anschlüssen gekoppelt ist, aufweisen; und
eine Mehrzahl von Warteschlangen, die entsprechend der Mehrzahl von zweien Anschlüssen vorgesehen sind, wobei die Mehrzahl von Warteschlangen jeweils Information erhält, um die Speicherbank zu spezifizieren, die Daten speichert, die auf die entsprechen den zweiten Anschlüsse gerichtet sind.
der erste First-In-First-Out-Speicher aufweist:
eine Mehrzahl von Speicherbanken, welche jeweils einen Eingang, der mit dem ersten Anschluß gekoppelt ist, und einen Ausgang, der mit jeder der Mehrzahl von zweiten Anschlüssen gekoppelt ist, aufweisen; und
eine Mehrzahl von Warteschlangen, die entsprechend der Mehrzahl von zweien Anschlüssen vorgesehen sind, wobei die Mehrzahl von Warteschlangen jeweils Information erhält, um die Speicherbank zu spezifizieren, die Daten speichert, die auf die entsprechen den zweiten Anschlüsse gerichtet sind.
5. Speichervorrichtung nach einem der Ansprüche 1 bis 4, bei
der
der erste First-In-First-Out-Speicher weiter eine Empfangsschal
tung zum Empfangen von Daten aufweist, die von dem ersten An
schluß zu der Mehrzahl von zweiten Anschlüssen übermittelt wer
den, zum Speichern von Duplikaten in einer Zahl, die derjenigen
der Mehrzahl von zweiten Anschlüssen entspricht, in den Spei
cherbänken, und zum Liefern von Information zum Spezifizieren
einer entsprechenden Bank, die die an jede der Mehrzahl von War
teschlangen zum Speichern zu übermittelnden Daten speichert.
6. Brückenvorrichtung nach einem der Ansprüche 1 bis 5, bei
der
die Mehrzahl von First-In-First-Out-Speicher einen zweiten
First-In-First-Out-Speicher aufweist, der einen Datenweg von der
Mehrzahl von zweiten Anschlüssen zu dem ersten Anschluß bildet.
7. Brückenvorrichtung nach einem der Ansprüche 1 bis 6, mit
einer SBA-Einheit zum Anlegen einer SBA-Anfrage, die als ein
Seitenbandsignal von der Mehrzahl von zweiten Anschlüssen an den
ersten Anschluß ausgegeben werden,
wobei der zweite First-In-First-Out-Speicher aufweist:
eine Mehrzahl von Speicherbänken, die jeweils einen Eingang, der mit der Mehrzahl von zweiten Anschlüssen verbunden ist, und ei nen Ausgang aufweisen, der mit dem ersten Anschluß verbunden ist, und zum Speichern von Übertragungsdaten, die von der Mehr zahl der zweiten Anschlüsse ausgegeben werden;
einer AGP-Warteschlange zum Halten von Information, um eine Speicherbank zu spezifizieren, die Daten speichert, die einer AGP-Anfrage entsprechen, die von der ersten Mehrzahl von zweiten Anschlüssen ausgegeben wird, innerhalb der Warteschlange; und einer PCI-Warteschlange zum Halten von Information, um eine Speicherbank zu spezifizieren, die PCI-Übertragungsdaten spei chert, die von den zweiten Anschlüssen ausgegeben werden, inner halb der Warteschlange und
wobei der erste Anschluß eine Schaltung zum Entnehmen von Daten von einer Speicherbank aufweist, die durch Information spezifi ziert ist, die von dem Kopf der AGP-Warteschlange oder der PCI- Warteschlange gelesen wird, abhängig von der Art von auszulesen den Daten.
wobei der zweite First-In-First-Out-Speicher aufweist:
eine Mehrzahl von Speicherbänken, die jeweils einen Eingang, der mit der Mehrzahl von zweiten Anschlüssen verbunden ist, und ei nen Ausgang aufweisen, der mit dem ersten Anschluß verbunden ist, und zum Speichern von Übertragungsdaten, die von der Mehr zahl der zweiten Anschlüsse ausgegeben werden;
einer AGP-Warteschlange zum Halten von Information, um eine Speicherbank zu spezifizieren, die Daten speichert, die einer AGP-Anfrage entsprechen, die von der ersten Mehrzahl von zweiten Anschlüssen ausgegeben wird, innerhalb der Warteschlange; und einer PCI-Warteschlange zum Halten von Information, um eine Speicherbank zu spezifizieren, die PCI-Übertragungsdaten spei chert, die von den zweiten Anschlüssen ausgegeben werden, inner halb der Warteschlange und
wobei der erste Anschluß eine Schaltung zum Entnehmen von Daten von einer Speicherbank aufweist, die durch Information spezifi ziert ist, die von dem Kopf der AGP-Warteschlange oder der PCI- Warteschlange gelesen wird, abhängig von der Art von auszulesen den Daten.
8. Brückenvorrichtung nach einem der Ansprüche 1 bis 7, bei
der
die Mehrzahl von zweiten Anschlüssen zwei sekundäre Anschlüsse aufweist,
die Mehrzahl von First-In-First-Out-Speichern einen FIFO- Speicher aufweisen, der einen bidirektionalen Datenweg zwischen einem der zwei Anschlüsse und dem anderen der zweiten Anschlüsse bildet.
die Mehrzahl von zweiten Anschlüssen zwei sekundäre Anschlüsse aufweist,
die Mehrzahl von First-In-First-Out-Speichern einen FIFO- Speicher aufweisen, der einen bidirektionalen Datenweg zwischen einem der zwei Anschlüsse und dem anderen der zweiten Anschlüsse bildet.
9. Brückenvorrichtung nach einem der Ansprüche 1 bis 8, bei
der
die zwei sekundären Anschlüsse jeweils eine Warteschlange mit einer Mehrzahl von Eingaben zum Speichern einer Leseanfrage oder einer Schreibanfrage, die von dem entsprechenden zweiten An schluß ausgegeben wird, und zum Halten und Speichern der Reihen folge der Leseanfrage oder Schreibanfragen aufweist, wobei die Eingabe eine Typ-Information aufweist, die den Typ ei ner Anfrage repräsentiert,
die Brückenvorrichtung weiter einen Ausgabecontroller zum Steu ern der Ausgabe von entsprechenden Daten an den ersten Anschluß auf der Basis der Typ-Information, die von einer Kopfeingabe der Warteschlange ausgelesen wird,
der Ausgabecontroller eine Anfrage wie sie ist an den ersten An schluß anlegt, falls die Anfrage eine Leseanfrage ist, während, falls die Anfrage eine Schreibanfrage an den ersten Anschluß ist, der Ausgabecontroller die Ausgabe der Schreibanfrage an den ersten Anschluß maskiert, bis das Speichern von entsprechenden Daten an einen geeignetes First-In-First-Out-Speicher vollstän dig ist, und dann die Ausgabe demaskiert, und falls die Anfrage eine Schreibanfrage an den anderen zweiten Anschluß ist, der Ausgabecontroller die Ausgabe der Schreibanfrage an den ersten Anschluß maskiert, bis das Speichern von entsprechenden Daten in einen geeigneten First-In-First-Out-Speicher vollständig ist, und dann die Anfrage abgibt.
die zwei sekundären Anschlüsse jeweils eine Warteschlange mit einer Mehrzahl von Eingaben zum Speichern einer Leseanfrage oder einer Schreibanfrage, die von dem entsprechenden zweiten An schluß ausgegeben wird, und zum Halten und Speichern der Reihen folge der Leseanfrage oder Schreibanfragen aufweist, wobei die Eingabe eine Typ-Information aufweist, die den Typ ei ner Anfrage repräsentiert,
die Brückenvorrichtung weiter einen Ausgabecontroller zum Steu ern der Ausgabe von entsprechenden Daten an den ersten Anschluß auf der Basis der Typ-Information, die von einer Kopfeingabe der Warteschlange ausgelesen wird,
der Ausgabecontroller eine Anfrage wie sie ist an den ersten An schluß anlegt, falls die Anfrage eine Leseanfrage ist, während, falls die Anfrage eine Schreibanfrage an den ersten Anschluß ist, der Ausgabecontroller die Ausgabe der Schreibanfrage an den ersten Anschluß maskiert, bis das Speichern von entsprechenden Daten an einen geeignetes First-In-First-Out-Speicher vollstän dig ist, und dann die Ausgabe demaskiert, und falls die Anfrage eine Schreibanfrage an den anderen zweiten Anschluß ist, der Ausgabecontroller die Ausgabe der Schreibanfrage an den ersten Anschluß maskiert, bis das Speichern von entsprechenden Daten in einen geeigneten First-In-First-Out-Speicher vollständig ist, und dann die Anfrage abgibt.
10. Brückenvorrichtung nach einem der Ansprüche 1 bis 9, bei
der
die zwei sekundären Anschlüsse jeweils aufweisen:
eine Entscheidungsschaltung zum Entscheiden zwischen einer Ein gabe von dem anderen sekundären Anschluß und einer Übertragung auf der Basis des ersten Protokolls oder des zweiten Protokolls, das von dem ersten Anschluß angelegt wird; und
einer Schaltung zum Priorisieren einer Eingabe/Ausgabe-Anfrage beim Verarbeiten, die von dem ersten Anschluß an die Einga be/Ausgabe-Vorrichtung geliefert wird, die mit den zwei sekundä ren Anschlüssen über die Entscheidungsschaltung verbunden ist.
die zwei sekundären Anschlüsse jeweils aufweisen:
eine Entscheidungsschaltung zum Entscheiden zwischen einer Ein gabe von dem anderen sekundären Anschluß und einer Übertragung auf der Basis des ersten Protokolls oder des zweiten Protokolls, das von dem ersten Anschluß angelegt wird; und
einer Schaltung zum Priorisieren einer Eingabe/Ausgabe-Anfrage beim Verarbeiten, die von dem ersten Anschluß an die Einga be/Ausgabe-Vorrichtung geliefert wird, die mit den zwei sekundä ren Anschlüssen über die Entscheidungsschaltung verbunden ist.
11. Brückenvorrichtung nach einem der Ansprüche 1 bis 9, bei
der
der erste Anschluß weiter ein Modul für einen direkten Speicher zugriff aufweist, und
die SBA-Einheit eine Entscheidungsschaltung aufweist zum Ent scheiden zwischen einer SBA-Anfrage von der Mehrzahl von zweiten Anschlüssen und einer SBA-Anfrage von dem Modul für den direkten Speicherzugriff und zum Anlegen einer davon an den ersten An schluß.
der erste Anschluß weiter ein Modul für einen direkten Speicher zugriff aufweist, und
die SBA-Einheit eine Entscheidungsschaltung aufweist zum Ent scheiden zwischen einer SBA-Anfrage von der Mehrzahl von zweiten Anschlüssen und einer SBA-Anfrage von dem Modul für den direkten Speicherzugriff und zum Anlegen einer davon an den ersten An schluß.
12. Brückenvorrichtung nach einem der Ansprüche 1 bis 11, bei
der
die Entscheidungsschaltung zwischen Anfragen entscheidet auf der
Basis einer vorbestimmten Priorität unter einer Mehrzahl von
zweiten Anschlüssen und dem Modul für den direkten Speicher
zugriff.
13. Brückenvorrichtung nach einem der Ansprüche 1 bis 12, wei
ter mit einer Entscheidungsschaltungsvorrichtung mit einer Ein
gabe, die mit all den Datenwegen von der Mehrzahl von zweiten
Anschlüssen an den ersten Anschluß gekoppelt ist und einem Aus
gang, der mit dem ersten Anschluß gekoppelt ist, und zum Ent
scheiden zwischen Übertragungsdaten von der Mehrzahl von zweiten
Anschlüssen an den ersten Anschluß.
14. Brückenvorrichtung nach einem der Ansprüche 1 bis 13, bei
der
das erste Protokoll ein PCI-Protokoll ist,
die Brückenvorrichtung weiter eine Schaltung zum Umschalten der
Eigentümerschaft eines Busses, mit dem der erste Anschluß ver
bunden ist, von einem der Mehrzahl von Mastermodule des ersten
Protokolls zu einem anderen, jedesmal wenn ein Datentransfersi
gnalbündel durch das eine der Mehrzahl von Mastermodulen des er
sten Protokolls, das innerhalb des ersten Anschlusses vorhanden
ist, vollständig ist.
15. Brückenvorrichtung nach einem der Ansprüche 1 bis 14, wei
ter mit einem Betriebskern zum Ausführen einer vorgeschriebenen
Betriebsverarbeitung,
wobei die Mehrzahl von First-In-First-Out-Speichern asynchrone
Datenwege zwischen dem Betriebskern und dem ersten Anschluß und
der Mehrzahl von zweiten Anschlüssen zusätzlich zu dem asynchro
nen Datenwegen zwischen dem ersten Anschluß und der Mehrzahl von
zweiten Anschlüsse bildet.
16. Brückenvorrichtung nach einem der Ansprüche 1 bis 15, bei
der
die Mehrzahl von First-In-First-Out-Speichern einen ersten First-In-First-Out-Speicher, der Datenwege von dem ersten An schluß zu jeder der Mehrzahl von zweiten Anschlüssen und dem Be triebskern bildet, aufweist,
wobei der erste First-In-First-Out-Speicher aufweist:
eine Mehrzahl von Speicherbänken, die jeweils einen Eingang, der mit dem ersten Anschluß gekoppelt ist, und einen Ausgang, der mit jeder der Mehrzahl von zweiten Anschlüssen und dem Betriebs kern gekoppelt ist, aufweist; und
eine Mehrzahl von Warteschlangen, die entsprechend der Mehrzahl von zweiten Anschlüssen und dem Betriebskern vorgesehen sind, wobei die Mehrzahl von Warteschlangen jeweils Informationen hält, um die Speicherbank zu spezifizieren, die Daten speichert, die auf die entsprechenden zweiten Anschlüsse oder den Betriebs kern gerichtet sind.
die Mehrzahl von First-In-First-Out-Speichern einen ersten First-In-First-Out-Speicher, der Datenwege von dem ersten An schluß zu jeder der Mehrzahl von zweiten Anschlüssen und dem Be triebskern bildet, aufweist,
wobei der erste First-In-First-Out-Speicher aufweist:
eine Mehrzahl von Speicherbänken, die jeweils einen Eingang, der mit dem ersten Anschluß gekoppelt ist, und einen Ausgang, der mit jeder der Mehrzahl von zweiten Anschlüssen und dem Betriebs kern gekoppelt ist, aufweist; und
eine Mehrzahl von Warteschlangen, die entsprechend der Mehrzahl von zweiten Anschlüssen und dem Betriebskern vorgesehen sind, wobei die Mehrzahl von Warteschlangen jeweils Informationen hält, um die Speicherbank zu spezifizieren, die Daten speichert, die auf die entsprechenden zweiten Anschlüsse oder den Betriebs kern gerichtet sind.
17. Brückenvorrichtung nach einem der Ansprüche 1 bis 16, bei
der
die Mehrzahl von First-In-First-Out-Speichern aufweist:
eine Mehrzahl von zweiten First-In-First-Out-Speichern, die ent sprechend der Mehrzahl von zweiten Anschlüssen vorgesehen sind und jeweils einen Datenweg von dem entsprechenden zweiten An schluß zu dem ersten Anschluß bildet;
eine erste Anschluß-Entscheidungsschaltung zum Entscheiden von Übertragungen, die an den ersten Anschluß durch die Mehrzahl von zweiten First-In-First-Out-Speichern angelegt werden;
eine Mehrzahl von dritten First-In-First-Out-Speichern, die ent sprechend der Mehrzahl von zweiten Anschlüssen vorgesehen sind und einen Datenweg von dem entsprechenden zweiten Anschluß zu dem Betriebskern bilden; und
einer Kern-Entscheidungsschaltung zum Entscheiden zwischen Über tragungen, die an dem Betriebskern durch die Mehrzahl von drit ten First-In-First-Out-Speichern angelegt werden.
die Mehrzahl von First-In-First-Out-Speichern aufweist:
eine Mehrzahl von zweiten First-In-First-Out-Speichern, die ent sprechend der Mehrzahl von zweiten Anschlüssen vorgesehen sind und jeweils einen Datenweg von dem entsprechenden zweiten An schluß zu dem ersten Anschluß bildet;
eine erste Anschluß-Entscheidungsschaltung zum Entscheiden von Übertragungen, die an den ersten Anschluß durch die Mehrzahl von zweiten First-In-First-Out-Speichern angelegt werden;
eine Mehrzahl von dritten First-In-First-Out-Speichern, die ent sprechend der Mehrzahl von zweiten Anschlüssen vorgesehen sind und einen Datenweg von dem entsprechenden zweiten Anschluß zu dem Betriebskern bilden; und
einer Kern-Entscheidungsschaltung zum Entscheiden zwischen Über tragungen, die an dem Betriebskern durch die Mehrzahl von drit ten First-In-First-Out-Speichern angelegt werden.
18. Brückenvorrichtung nach einem der Ansprüche 1 bis 16, bei
der
die Mehrzahl von First-In-First-Out-Speichern weiter eine Mehr zahl von zweiten First-In-First-Out-Speichern aufweist, die ei nen Datenweg von dem Betriebskern zu der Mehrzahl von zweiten Anschlüssen bildet,
wobei die zweiten First-In-First-Out-Speicher jeweils aufweisen:
eine Mehrzahl von Speicherbänken, die jeweils einen Eingang, der mit dem Betriebskern gekoppelt ist, und einem Ausgang, der mit der Mehrzahl von zweiten Anschlüssen gekoppelt ist, aufweisen; und
eine Mehrzahl von Warteschlangen, die entsprechend der Mehrzahl von zweiten Anschlüssen vorgesehen sind, wobei die Mehrzahl von Warteschlangen jeweils Informationen hält, um die Speicherbank zu spezifizieren, die Daten speichert, die auf die entsprechen den zweiten Anschlüsse gerichtet sind.
die Mehrzahl von First-In-First-Out-Speichern weiter eine Mehr zahl von zweiten First-In-First-Out-Speichern aufweist, die ei nen Datenweg von dem Betriebskern zu der Mehrzahl von zweiten Anschlüssen bildet,
wobei die zweiten First-In-First-Out-Speicher jeweils aufweisen:
eine Mehrzahl von Speicherbänken, die jeweils einen Eingang, der mit dem Betriebskern gekoppelt ist, und einem Ausgang, der mit der Mehrzahl von zweiten Anschlüssen gekoppelt ist, aufweisen; und
eine Mehrzahl von Warteschlangen, die entsprechend der Mehrzahl von zweiten Anschlüssen vorgesehen sind, wobei die Mehrzahl von Warteschlangen jeweils Informationen hält, um die Speicherbank zu spezifizieren, die Daten speichert, die auf die entsprechen den zweiten Anschlüsse gerichtet sind.
19. Brückenvorrichtung mit
einem ersten Anschluß, der mit einem ersten Bus verbunden ist;
einer Mehrzahl von zweiten Anschlüssen, die mit einer Mehrzahl von zweiten Bussen verbunden sind;
einer Mehrzahl von First-In-First-Out-Speichern zum Bilden von asynchronen Datenwegen zwischen dem ersten Anschluß und der Mehrzahl von zweiten Anschlüssen; und
einer Entscheidungsschaltung zum Entscheiden von Konflikten, die auf den Datenwegen, die durch die Mehrzahl von First-In-First- Out-Speichern gebildet werden, verursacht werden, wobei die Ent scheidungsschaltung die Konflikte auf der Basis von Protokollen entscheidet, die mit den entsprechenden Übertragungen verbunden sind;
wobei der erste Anschluß ein Modul aufweist, welches ein Komman do zum Initiieren einer Datenübertragung an eine erste Vorrich tung gibt, die mit dem ersten Bus verbunden ist, oder ein Kom mando zum Initiieren von Datenübertragungen von der ersten Vor richtung empfängt, und
jeder der Mehrzahl von zweiten Anschlüssen ein Modul aufweist, welches ein Kommando zum Initiieren einer Datenübertragung an eine zweite Vorrichtung gibt, die mit einem entsprechenden der zweiten Anschlüsse verbunden ist, oder ein Kommando zum Initiie ren einer Datenübertragung von der zweiten Vorrichtung empfängt.
einem ersten Anschluß, der mit einem ersten Bus verbunden ist;
einer Mehrzahl von zweiten Anschlüssen, die mit einer Mehrzahl von zweiten Bussen verbunden sind;
einer Mehrzahl von First-In-First-Out-Speichern zum Bilden von asynchronen Datenwegen zwischen dem ersten Anschluß und der Mehrzahl von zweiten Anschlüssen; und
einer Entscheidungsschaltung zum Entscheiden von Konflikten, die auf den Datenwegen, die durch die Mehrzahl von First-In-First- Out-Speichern gebildet werden, verursacht werden, wobei die Ent scheidungsschaltung die Konflikte auf der Basis von Protokollen entscheidet, die mit den entsprechenden Übertragungen verbunden sind;
wobei der erste Anschluß ein Modul aufweist, welches ein Komman do zum Initiieren einer Datenübertragung an eine erste Vorrich tung gibt, die mit dem ersten Bus verbunden ist, oder ein Kom mando zum Initiieren von Datenübertragungen von der ersten Vor richtung empfängt, und
jeder der Mehrzahl von zweiten Anschlüssen ein Modul aufweist, welches ein Kommando zum Initiieren einer Datenübertragung an eine zweite Vorrichtung gibt, die mit einem entsprechenden der zweiten Anschlüsse verbunden ist, oder ein Kommando zum Initiie ren einer Datenübertragung von der zweiten Vorrichtung empfängt.
20. Brückenvorrichtung nach einem der Ansprüche 1 bis 19, bei
der die Brückenvorrichtung auf einem einzelnen Halbleiterchip
gebildet ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000068945A JP2001256176A (ja) | 2000-03-13 | 2000-03-13 | ブリッジ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10030148A1 true DE10030148A1 (de) | 2001-09-27 |
Family
ID=18587919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10030148A Ceased DE10030148A1 (de) | 2000-03-13 | 2000-06-20 | Brückenvorrichtung |
Country Status (3)
Country | Link |
---|---|
US (1) | US6675251B1 (de) |
JP (1) | JP2001256176A (de) |
DE (1) | DE10030148A1 (de) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002207688A (ja) * | 2001-01-05 | 2002-07-26 | Mitsubishi Electric Corp | コンフィギュレーションアクセスを複数個のセカンダリポートに経路制御するための方法および装置 |
TW499795B (en) * | 2001-03-19 | 2002-08-21 | Realtek Semiconductor Corp | PCI extended function interface and the PCI device using the same |
US7079149B2 (en) * | 2001-10-09 | 2006-07-18 | Texas Instruments Incorporated | System, method, and device for accelerated graphics port linking |
US6918001B2 (en) * | 2002-01-02 | 2005-07-12 | Intel Corporation | Point-to-point busing and arrangement |
US6928026B2 (en) | 2002-03-19 | 2005-08-09 | Broadcom Corporation | Synchronous global controller for enhanced pipelining |
US7069365B2 (en) * | 2002-04-01 | 2006-06-27 | Sun Microsystems, Inc. | System and method for controlling multiple devices via general purpose input/output (GPIO) hardware |
TW569123B (en) * | 2002-05-15 | 2004-01-01 | Via Tech Inc | Integrated graphics chip structure with multiple display functions |
US7454555B2 (en) * | 2003-06-12 | 2008-11-18 | Rambus Inc. | Apparatus and method including a memory device having multiple sets of memory banks with duplicated data emulating a fast access time, fixed latency memory device |
KR100604835B1 (ko) * | 2004-02-24 | 2006-07-26 | 삼성전자주식회사 | 프로토콜 변환중재회로, 이를 구비하는 시스템과 신호변환중재방법 |
US7284082B2 (en) * | 2004-08-19 | 2007-10-16 | Lsi Corporation | Controller apparatus and method for improved data transfer |
DE102004048477A1 (de) * | 2004-10-05 | 2006-04-13 | Giga-Byte Technology Co., Ltd., Hsin-Tien | Verfahren zum Bereitstellen einer AGP-Karte in einem PCI-Bus-Steckplatz |
US7366943B1 (en) * | 2005-01-18 | 2008-04-29 | Advanced Micro Devices, Inc. | Low-latency synchronous-mode sync buffer circuitry having programmable margin |
JP4785637B2 (ja) * | 2006-06-16 | 2011-10-05 | キヤノン株式会社 | データ転送装置及びその制御方法 |
JP5168541B2 (ja) * | 2007-09-14 | 2013-03-21 | 株式会社リコー | データ転送装置 |
JP2010278897A (ja) * | 2009-05-29 | 2010-12-09 | Renesas Electronics Corp | 通信データ処理回路及び通信データ処理方法 |
WO2011030070A1 (fr) * | 2009-09-11 | 2011-03-17 | Commissariat à l'énergie atomique et aux énergies alternatives | Controleur d'acces direct en memoire, procede et programme d'ordinateur correspondants |
JP5906625B2 (ja) * | 2011-09-15 | 2016-04-20 | 株式会社リコー | アクセス制御装置、画像形成装置およびアクセス制御方法 |
US8825915B2 (en) | 2012-03-12 | 2014-09-02 | International Business Machines Corporation | Input/output port rotation in a storage area network device |
WO2018105029A1 (ja) * | 2016-12-06 | 2018-06-14 | 三菱電機株式会社 | ブリッジ装置及び設備ネットワーク |
CN111078609B (zh) * | 2019-11-13 | 2023-04-25 | 南京航空航天大学 | 一种基于FPGA的PCIe转三总线接口及方法 |
US11720404B2 (en) * | 2020-07-16 | 2023-08-08 | Samsung Electronics Co., Ltd. | Systems and methods for arbitrating access to a shared resource |
TWI806736B (zh) * | 2022-03-01 | 2023-06-21 | 威盛電子股份有限公司 | 橋接裝置及在匯流排之間傳遞資料的方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287346A (en) * | 1991-10-16 | 1994-02-15 | Carnegie Mellon University | Packet switch |
US5799161A (en) * | 1993-06-25 | 1998-08-25 | Intel Corporation | Method and apparatus for concurrent data routing |
US5859988A (en) * | 1995-09-29 | 1999-01-12 | Intel Corporation | Triple-port bus bridge |
US5712986A (en) | 1995-12-19 | 1998-01-27 | Ncr Corporation | Asynchronous PCI-to-PCI Bridge |
US5828865A (en) * | 1995-12-27 | 1998-10-27 | Intel Corporation | Dual mode bus bridge for interfacing a host bus and a personal computer interface bus |
US6175888B1 (en) * | 1996-04-10 | 2001-01-16 | International Business Machines Corporation | Dual host bridge with peer to peer support |
US5857086A (en) | 1997-05-13 | 1999-01-05 | Compaq Computer Corp. | Apparatus method and system for peripheral component interconnect bus using accelerated graphics port logic circuits |
US5935233A (en) * | 1997-05-21 | 1999-08-10 | Micron Electronics, Inc. | Computer system with a switch interconnector for computer devices |
US6425033B1 (en) * | 1997-06-20 | 2002-07-23 | National Instruments Corporation | System and method for connecting peripheral buses through a serial bus |
US6279087B1 (en) * | 1997-12-22 | 2001-08-21 | Compaq Computer Corporation | System and method for maintaining coherency and improving performance in a bus bridge supporting write posting operations |
US6247102B1 (en) * | 1998-03-25 | 2001-06-12 | Compaq Computer Corporation | Computer system employing memory controller and bridge interface permitting concurrent operation |
US6377581B1 (en) * | 1998-05-14 | 2002-04-23 | Vlsi Technology, Inc. | Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks |
US6282589B1 (en) * | 1998-07-30 | 2001-08-28 | Micron Technology, Inc. | System for sharing data buffers from a buffer pool |
US6167476A (en) * | 1998-09-24 | 2000-12-26 | Compaq Computer Corporation | Apparatus, method and system for accelerated graphics port bus bridges |
US6202101B1 (en) * | 1998-09-30 | 2001-03-13 | Compaq Computer Corporation | System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom |
US6275885B1 (en) * | 1998-09-30 | 2001-08-14 | Compaq Computer Corp. | System and method for maintaining ownership of a processor bus while sending a programmed number of snoop cycles to the processor cache |
-
2000
- 2000-03-13 JP JP2000068945A patent/JP2001256176A/ja active Pending
- 2000-04-18 US US09/551,841 patent/US6675251B1/en not_active Expired - Lifetime
- 2000-06-20 DE DE10030148A patent/DE10030148A1/de not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
JP2001256176A (ja) | 2001-09-21 |
US6675251B1 (en) | 2004-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10030148A1 (de) | Brückenvorrichtung | |
DE69837377T2 (de) | Datenübertragungssystem und verfahren | |
DE69834739T2 (de) | Ausgleichen von daten die zwischen verschiedenen leitern fliessen die auf unterschiedlichen frequenzen operieren | |
DE10234934A1 (de) | Antwortreihenwiederherstellungsmechanismus | |
DE60217221T2 (de) | Ein-Chip System zur Paketverarbeitung | |
DE69628609T2 (de) | Distribuiertes Pipeline-Busarbitrierungssystem | |
DE69936060T2 (de) | Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten | |
DE69132652T2 (de) | Rechnerdatenleitweglenkungssystem | |
DE19580990C2 (de) | Verfahren und Einrichtung zum Ausführen verzögerter Transaktionen | |
DE60013470T2 (de) | Gerät zur initialisierung einer rechnerschnittstelle | |
DE60037174T2 (de) | Puffersystem für externen speicherzugriff | |
DE60222175T2 (de) | Bildverarbeitungsvorrichtung und dazugehöriges verfahren | |
DE60026539T2 (de) | Ein-/ausgabeadressübersetzung in einer brücke in unmittelbarer nähe eines lokalen ein-/ausgabebuses | |
DE4226052C2 (de) | Drucksteuerungsverfahren und -gerät, die eine Vielzahl von Prozessoren verwenden | |
DE4121446C2 (de) | Terminal-Server-Architektur | |
DE19983745B9 (de) | Verwendung von Seitenetikettregistern um einen Zustand von physikalischen Seiten in einer Speichervorrichtung zu verfolgen | |
DE10234933A1 (de) | Pufferung von Non-Posted-Lesebefehlen und Antworten | |
DE10234992A1 (de) | Retry-Mechanismus für blockierende Schnittstellen | |
EP0179936A1 (de) | Verfahren und Einrichtung zur Steuerung einer Sammelleitung | |
DE112006001167T5 (de) | Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken | |
DE10255937A1 (de) | Ordnungsregelgesteuerte Befehlsspeicherung | |
DE60026068T2 (de) | System für externe transaktionen mit dynamischen prioritäten | |
DE112007001135T5 (de) | Gemeinschaftliche Nutzung von Daten durch Partitionen in einem partitionierbaren System | |
DE602005006338T2 (de) | Vorrichtung und Verfahren zur Datenübertragungsverarbeitung | |
DE10214067B4 (de) | Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |