DE10030148A1 - Brückenvorrichtung - Google Patents

Brückenvorrichtung

Info

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
Application number
DE10030148A
Other languages
English (en)
Inventor
Robert Streitenberger
Hiroyuki Kawai
Yoshitsugu Inoue
Junko Kobara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE10030148A1 publication Critical patent/DE10030148A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling 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.
Erste Ausführungsform
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.
Architektur bzw. Aufbau
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.
Protokoll/Datenratentransformation
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.
Tabelle 1
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.
Tabelle 2
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.
Tabelle 3
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.
Tabelle 4
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.
Transformationsverfahren
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.
Tabelle 5
Vom Host induzierte Übertragungen (stromabwärts)
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.
Tabelle 6
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.
Vom Host induzierte Übertragungen (Stromaufwärts)
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.
Durch den Benutzer induzierte Übertragungen (stromaufwärts)
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.
Tabelle 7
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).
Benutzerinduzierte Übertragungen (stromabwärts)
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.
Tabelle 8
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.
FIFO Architektur
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.
"X2P" FIFO Architektur
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.
Tabelle 9
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.
"S2S" FIFO Architektur
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.
X2P Entscheidungseinheit 111
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.
"X2S"-Entscheidungseinheit
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.
Sekundäre SBA-Einheiten
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:
Tabelle 10
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.
SBA-Entscheidungseinheit 120
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.
Zweite Ausführungsform
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.
Primär-zu-Kern-Datenweg
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.
Kern-zu-Primärdatenweg
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.
Kern-zu-Sekundärdatenweg
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.
Sekundär-zu-Kern-Datenweg
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.
S2X-Entscheidungseinheiten
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.
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.
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.
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.
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.
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.
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.
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ß.
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.
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.
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.
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.
20. Brückenvorrichtung nach einem der Ansprüche 1 bis 19, bei der die Brückenvorrichtung auf einem einzelnen Halbleiterchip gebildet ist.
DE10030148A 2000-03-13 2000-06-20 Brückenvorrichtung Ceased DE10030148A1 (de)

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)

* Cited by examiner, † Cited by third party
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
JP6490321B2 (ja) * 2016-12-06 2019-03-27 三菱電機株式会社 ブリッジ装置及び設備ネットワーク
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)

* Cited by examiner, † Cited by third party
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
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
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

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
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
DE10255937A1 (de) Ordnungsregelgesteuerte Befehlsspeicherung
DE60026068T2 (de) System für externe transaktionen mit dynamischen prioritäten
DE10045915A1 (de) Verfahren und System zum Steuern von Datenübertragungen mit physikalischer Trennung der Datenfunktionalität von der Adressen- und Steuerfunktionalität in einem verteilten Multi-Bus-Mehrprozessorsystem
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
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE60029118T2 (de) Asynchrone zentralisierte multikanal-dma-steuerung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection