DE10057794B4 - Verfahren für Datentransaktionen zwischen Steuerchipsätzen - Google Patents

Verfahren für Datentransaktionen zwischen Steuerchipsätzen Download PDF

Info

Publication number
DE10057794B4
DE10057794B4 DE10057794A DE10057794A DE10057794B4 DE 10057794 B4 DE10057794 B4 DE 10057794B4 DE 10057794 A DE10057794 A DE 10057794A DE 10057794 A DE10057794 A DE 10057794A DE 10057794 B4 DE10057794 B4 DE 10057794B4
Authority
DE
Germany
Prior art keywords
read
write
data
signal line
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE10057794A
Other languages
English (en)
Other versions
DE10057794A1 (de
Inventor
Jiin Lai
Chau-Chad Tsai
Sheng-Chang Peng
Chi-Che Tsai
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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of DE10057794A1 publication Critical patent/DE10057794A1/de
Application granted granted Critical
Publication of DE10057794B4 publication Critical patent/DE10057794B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

Steuerchipsatz, umfassend:
einen Bus;
einen ersten Steuerchip, umfassend:
einen ersten Daten-Sendeempfänger (510), der zum Empfangen und Versenden von Datensignalen mit dem Bus verbunden ist, um Lese/Schreibvorgänge zu erledigen;
eine Lese/Schreib-Datenwarteschlange, die mit dem ersten Daten-Sendeempfänger (510) verbunden ist, um Daten der Lese/Schreibvorgänge vorübergehend zu speichern;
eine Lese/Schreibvorgang-Datenwarteschlange, die mit dem ersten Daten-Sendeempfänger (510) verbunden ist, um Datenlängen und Datenadressen der Lese/Schreibvorgänge vorübergehend zu speichern;
eine Zielsteuerung (520), die mit der Lese-/Schreib-Datenwarteschlange und der Lese/Schreibvorgang-Datenwarteschlange verbunden ist, wobei die Zielsteuerung (520), gemäß den in der Lese/Schreibvorgang-Datenwarteschlange gespeicherten Lese-/Schreibadressen und gemäß den in der Lese/Schreib-Datenwarteschlange gespeicherten Daten entsprechend dem ersten gespeicherten Lese/Schreibvorgang Daten zu einer Zielvorrichtung sendet; wobei sodann der erste Daten-Sendeempfänger (510) ein Lese/Schreibbestätigungs-Signal erklärt; und die Lese/Schreibadressen und die den Lese/Schreibadressen entsprechende Lese/Schreib-Datenwarteschlange freigegeben werden; und
einen zweiten Steuerchip, der mit dem Bus verbunden ist, umfassend:
ein Lese/Schreib-Puffer-Größenregister, zum Speichern einer Maximalanzahl...

Description

  • Diese Anmeldung beansprucht die Priorität der am 15. Dezember eingereichten Taiwanesischen Anmeldung mit der Seriennummer 88121972 .
  • Die vorliegende Erfindung betrifft ein Verfahren für Busvorgänge, und betrifft insbesondere ein Verfahren für Datentransaktionen zwischen den Steuerchipsätzen in einem Computersystem und ein Verfahren zur Arbitration bzw. Zugriffsregelung zwischen den Steuerchipsätzen.
  • 1 zeigt ein PCI-Bussystem, das verschiedene Komponenten eines herkömmlichen Computersystems verbindet. Wie in 1 gezeigt, ist eine Zentraleinheit 10 mit dem PCI-Bus 14 über eine Hostbrücke 12 verbunden. Das Leitsteuergerät von PCI-kompatiblen Peripheriegeräten, wie ein Graphikadapter 16a, eine Expansionsbusbrücke 16b, einen LAN-Adapter 16c und einen SCSI-Rostbus-Adapter 16d, ist ebenfalls mit dem PCI-Bus 14 verbunden. Jedes Leitsteuergerät sendet ein Anforderungssignal (RST), das die Verwendung des PCI-Busses 14 fordert, aus. Die Hostbrücke 12 dient als Arbitrator, der Bewilligungssignale GNT zu dem Steuergerät sendet, wenn der PCI-Bus 14 verfügbar ist.
  • Datenübertragungen zwischen PCI-kompatiblen Vorrichtungen (so wie die Leitsteuergeräte oder die obere Brücke) werden durch wenige Schnittstellen-Steuerungssignale gesteuert. Ein Taktrahmen (FRAME) wird von einem Initiator (das Leitsteuergerät oder die obere Brücke) erklärt, und zeigt den Beginn einer Datenzugriffsoperation und dessen Dauer an. Sobald das FRAME-Signal abgeschickt ist, beginnt die Datentransaktion über den PCI-Bus. Ein tiefes FRAME-Signal zeigt an, dass eine Übertragung stattfindet. Nach dem Beginn der Datentransaktion verschickt der Adressbus AD während des Adresstaktes eine gültige Adresse. in der Zwischenzeit senden die Befehl/Byte-einschalt-(CBE[3:0])Signalleitungen einen (gemäß der PCI-Spezifikation) gültigen Busbefehl ab, um die Zielvorrichtung über den von dem Initiator verlangten Datentransaktionsmodus zu informieren. Im Allgemeinen codieren die vier Bits der Befehl/Byte-Signalleitungen bis zu maximal 16 verschiedene Befehle, und jeder Befehl ist im Detail in der PCI-Spezifikation definiert. Nachdem die gültige Adresse ausgesendet wurde, beginnt ein Datentakt, in dem Daten durch den Adressbus AD übertragen werden. In der Zwischenzeit werden Byte/Einschaltsignale versendet, so dass Daten übertragen werden können. Wenn die Übertragung des FRAME-Signals aufhört, ist der letzte Satz Daten übertragen, und es gibt keinen Vorgang mehr. Ein „Initiator bereit"-(IRDY)Signal und ein „Ziel bereit"-(TRDY)Signal werden paarweise durch das System verwendet, um die Bereitschaft der beginnenden Vorrichtung und der Zielvorrichtung in der Datentransaktion anzuzeigen. In einer Datenleseoperation zeigt das IRDY-Signal an, dass der Initiator bereit ist, die verlangten Daten zu empfangen. In einer Datenschreiboperation zeigt das TRDY-Signal an, dass die Zielvorrichtung bereit ist, die verlangten Daten zu empfangen. Ein Stopp-(STOP)Signal wird durch die Zielvorrichtung verwendet, um ein Beenden der Datentransaktion von dem Initiator zu fordern.
  • 2 ist ein Zeitdiagramm, das die verschiedenen Signale in der PCI-Busschnittstelle während einer Leseoperation zeigt. Der Zeitabschnitt, in dem Daten über den PCI-Bus übertragen werden, ist als ein Busvorgangstakt 20 bekannt. Der Busvorgangstakt 20 umfasst einen Adresstakt 22 und verschiedene Datentakte, beispielsweise 24a, 24b und 24c. Jeder Datentakt 24a/b/c kann weiter in einen Wartetakt 26a/b/c und in einen Datenübertragungstakt 28a/b/c unterteilt werden. Das folgende ist eine kurze Beschreibung der PCI-Busschnittstelle während einer Leseoperation, um die PCI-Spezifikationgemäßen Steuersignale zu verdeutlichen.
  • Bei Takt T1, versendet ein Initiator (Leiter) ein Anforderungssignal REQ, um auf den PCI-Bus zuzugreifen. Zu dieser Zeit, falls keine andere Vorrichtung mit hoher Priorität einen Zugriff auf den PCI-Bus anfordert, wird während des Taktes T2 die Hauptbrücke (Arbitrator) ein Bewilligungssignal GNT senden, um dem Initiator den Buszugriff zu gewähren. Während des Taktes T3 wird durch den Initiator ein FRAME-Signal gesendet, um den Beginn einer Datentransaktion anzuzeigen, während eine Startadresse auf die Adressbus-AD Leitungen gesetzt wird, um die Zielvorrichtung des Vorgangs zu ermitteln. In der Zwischenzeit wird ein Lesebefehl durch die CBE-Leitungen übertragen. Nach der Zustellung des Lesebefehls wird ein Byte/Einschaltsignal auf die CBE-Leitungen gesetzt. Die Byte/Einschaltsignale werden während der Datentakte (umfassend 24a, 24b und 24c) gesendet. Während des Taktes T4, legt der Initiator ein Initiator-bereit-Signal IRDY vor, um Bereitschaft zur Datenübertragung anzuzeigen. Die Zielvorrichtung ist jedoch bislang noch nicht bereit. Daher fährt die Zielvorrichtung fort, Daten vorzubereiten, während der Initiator in dem Wartetakt 26a des Datentaktes 24a leerläuft. Während des Taktes T5 bereitet die Zielvorrichtung bereits alle notwendigen Daten zur Übertragung vor, und sendet dabei das Ziel-bereit-Signal TRDY aus.
  • Deshalb wird im Datentakt 28a sowohl IRDY als auch TRDY ausgegeben, und der Initiator beginnt Daten von der Zielvorrichtung zu lesen. Während des Datentaktes T6, gibt die Zielvorrichtung nicht mehr das Ziel-bereit-Signal TRDY aus, und die Übertragung des ersten Datensatzes ist erledigt. In der Zwischenzeit wird ein anderer Datensatz durch die Zielvorrichtung vorbereitet. Wieder läuft der Initiator in einem Wartetakt 26b des Datentaktes 24b leer. Während des Taktes T7 wird das Ziel-bereit-Signal TRDY erneut ausgegeben, um anzuzeigen, dass der zweite Datensatz bereit ist. In Takt 28b werden sowohl das IRDY als auch das TRDY ausgegeben und der Initiator beginnt Daten von der Zielvorrichtung zu lesen. Falls der Initiator nicht ausreichend Zeit hat, alle Daten der Zeilvorrichtung zu lesen, endet das IRDY-Signal. Wenn das TRDY-Signal weiter ausgegeben wird, wird der Wartetakt 26c durch den Initiator aktiviert. Sobald der Initiator wieder, wie in Takt T9, bereit ist, wird das IRDY-Signal wieder ausgegeben. Während des Datentaktes 28c liest der Initiator Daten von der Zielvorrichtung, wenn sowohl das IRDY- als auch das TRDY-Signal ausgegeben werden, und dadurch eine einzelne Leseoperation erledigt wird.
  • Um ordentliche Datentransaktionen gemäß der herkömmlichen PCI-Spezifikation auszuführen, müssen komplizierte Steuersignale, Wartezustände und Arbitrationsschritte verwendet werden. Gewöhnlich werden gemäß der PCI-Spezifikation etwa 45 bis 50 Signalstifte benötigt. Im Allgemeinen ist ein kompliziertes Verfahren für interne Vorgänge zwischen Steuerchipsätzen nicht notwendig. Folglich wird ein vereinfachtes Transaktionsverfahren, das sich an die herkömmliche PCI-Spezifikation hält, benötigt, um die internen Vorgänge zwischen Steuerchipsätzen zu beschleunigen.
  • Jedoch, verwenden im Allgemeinen die Vorgänge zwischen den Steuerchips eines PCs nicht alle der komplizierten Funktionen, die durch die PCI-Spezifikation bereitgestellt werden. Die Leistung zwischen den Steuerchips wird gewöhnlich durch unnötige Vorgänge herabgesetzt. Mit der zunehmenden Integration der Vorrichtungen können die Steuerchips auf einem einzelnen Chip integriert und mehrere Funktionen bereitgestellt werden. Beispielsweise werden die CPU, die obere und die untere Brücke auf einem einzelnen Chip integriert gebildet. Dadurch werden die einzelnen Stifte der Chippackung wichtiger. Um die Geschwindigkeit der Vorgänge zwischen den Steuerchips zu steigern, wird eine vereinfachte und besondere Spezifikation zur Verwendung zwischen den Steuerchips benötigt.
  • US 5,815,677 offenbart ein Verfahren zur Datenübertragung über eine Bus-Brücke. Die Bus-Brücke beinhaltet eine Anzahl Datenbuffer zum Speichern von Daten. Eine Vorrichtung, die mit der Busbrücke in Verbindung steht kann einen Buffer durch einen der beiden Resevierungsmechanismen reservieren. Der Reservierungsmechanismus stellt eine Busbrücke mit Adresse und Byte-Zähler bereit.
  • EP 0 953 916 offenbart ein Computersystem, umfassend: verschaltete Chips, wobei jeder eine On-Chip-Adresse und einen Datenpfad aufweist, eine CPU, die eingerichtet ist adressierte Bit-Packete auf dem Pfad zu senden und zu empfangen, und Module mit Ereignisschaltung, um adressierte Ereignisanfragepakete zur Verteilung auf dem Pfad (15) zu erzeugen. Die beiden Chips sind über jeweilige externe Ports verschaltet.
  • Es ist die Aufgabe der vorliegenden Erfindung, das Datenübertragungsverfahren der internen Vorgänge zwischen Steuerchipsätzen zu beschleunigen und gleichzeitig dabei die herkömmlichen PCI-Spezifikationen einzuhalten.
  • Diese Aufgabe wird gelöst durch einen Steuerchipsatz und ein Verfahren gemäß den Ansprüchen 1, 5 und 9, wobei der erfindungsgemäße Steuerchipsatz nach Anspruch 1 folgendes umfasst: einen Bus; einen ersten Steuerchip, umfassend: einen ersten Daten-Sendeempfänger, der zum Empfangen und Versenden von Datensignalen mit dem Bus verbunden ist, um Lese/Schreibvorgänge zu erledigen; eine Lese/Schreib-Datenwarteschlange, die mit dem ersten Daten-Sendeempfänger verbunden ist, um Daten der Lese/Schreibvorgänge vorübergehend zu speichern; eine Lese/Schreibvorgang-Datenwarteschlange, die mit dem ersten Daten-Sendeempfänger verbunden ist, um Datenlängen und Datenadressen der Lese/Schreibvorgänge vorübergehend zu speichern; eine Zielsteuerung, die mit der Lese-/Schreib-Datenwarteschlange und der Lese/Schreibvorgang-Datenwarteschlange verbunden ist, wobei die Zielsteuerung, gemäß den in der Lese/Schreibvorgang-Datenwarteschlange gespeicherten Lese-/Schreibadressen und gemäß den in der Lese/Schreib-Datenwarteschlange gespeicherten Daten entsprechend dem ersten gespeicherten Lese/Schreibvorgang Daten zu einer Zielvorrichtung sendet; wobei sodann der erste Daten-Sendeempfänger ein Lese/Schreibbestätigungs-Signal erklärt; und die Lese/Schreibadressen und die den Lese/Schreibadressen entsprechende Lese/Schreib-Datenwarteschlange freigegeben werden; und einen zweiten Steuerchip, der mit dem Bus verbunden ist, umfassend: ein Lese/Schreib-Puffer-Größenregister, zum Speichern einer Maximalanzahl von Daten die in der Lese/Schreib-Datenwarteschlange möglich sind;
    ein Lese/Schreib-Puffer-Zählregister zum Speichern einer Maximalanzahl an Vorgängen, die in der Lese/Schreibvorgang-Warteschlange möglich sind; einen zweiten Daten-Sendeempfänger, der mit dem Bus verbunden ist, um Datensignale durch den Bus zu empfangen und zu versenden, um die Lese/Schreibvorgänge zu erledigen und um ein freigebendes Puffersignal zu erklären, wenn er das Lese/Schreibbestätigungs-Signal empfängt; einen Lese/Schreibvorgang-Erzeugungsmittel, der mit dem zweiten Daten-Sendeempfänger zum Erzeugen von Datenlänge der Lese/Schreibvorgänge, der Lese/Schreibadressen und Daten verbunden ist; eine Lese/Schreib-Aufzeichnungs-Schaltung, die mit dem zweiten Daten-Sendeempfänger und mit dem Lese/Schreibvorgang-Erzeugungsmittel verbunden ist, um die Datenlänge der Lese/Schreibvorgänge vorübergehend zu speichern und um eine Anzahl nutzbarer Daten der Lese/Schreib-Datenwarteschlange, und eine Anzahl zulässiger Vorgänge in der Lese/Schreib-Datenwarteschlange gemäß dem freigebenden Puffersignal zu berechnen; und
    einen Lese/Schreibkomparator, der mit den dem zweiten Daten-Sendeempfänger, dem Lese/Schreib-Puffer-Größenregister, dem Lese/Schreib-Puffer-Zählregister und der Lese/Schreib-Aufzeichnungs-Schaltung verbunden ist, um den zweiten Daten-Sendeempfänger über Daten entsprechend eines nächsten Lese/Schreibvorgangs zu informieren.
  • Weiter umfasst der erfindungsgemäße Steuerchipsatz nach Anspruch 5 folgendes: einen ersten Chip, umfassend eine Lese/Schreib-Transaktions-Warteschlange mit einer Tiefe n und eine Lese/Schreib-Daten-Warteschlange mit einer Tiefe m; einen zweiten Chip zum Aufzeichnen des Zustands der Lese/Schreib-Transaktions-Warteschlange und der Lese/Schreib-Daten-Warteschlange, wobei eine nächste Lese/Schreib-Transaktion eingeleitet wird, wenn eine Menge des ausstehenden Vorgangs kleiner als n ist und eine Datenmenge geringer als m ist; und eine Signalübertragungsvorrichtung, um zwischen dem ersten und dem zweiten Chip zu verbinden, umfassend: eine Abwärtsstrecken-Signalleitung (DNCMD) zum Bestimmen von Datentransaktionsarten einer Vielzahl von Abwärtsstrecken-Befehlen;
    eine Abwärtsstrecken-Strobesignalleitung (DNSTB) zum Eintakten der Abwärtsstrecken-Befehlssignalleitung; eine Aufwärtsstrecken-Befehlssignalleitung (UPCMD) zum Bestimmen von Datentransaktionsarten einer Vielzahl von Aufwärtsstrecken-Befehlen;
    eine Aufwärtsstrecken-Strobesignalleitung (UPSTB) zum Eintakten der Aufwärtsstrecken-Befehlssignalleitung; eine Byte-Einschalt-Signalleitung (BE), die eine Zweiweg-Byte-Einschalt-Signalleitung ist; eine Adress/Datenleitung (AD) zum Erklären eines Adress/Datensignals; und eine Taktsignalleitung (CLK) zum Bereitstellen eines Betriebstaktsignals
  • Die vorliegende Erfindung stellt ein Steuerchip-Datentransaktionsverfahren gemäß Anspruch 9 zwischen Steuerchips innerhalb des Steuerchipsatzes und ein Busarbitrationsverfahren zwischen den Steuerchips innerhalb des Steuerchipsatzes bereit. Daher steigt die Leistung des Steuerchipsatzes und die Art und Anzahl der Signalleitungen zwischen den Steuerchips wird reduziert.
  • Die vorliegende Erfindung stellt ein Datentransaktionsverfahren zwischen Steuerchips bereit. Die Daten oder Befehle werden ohne irgendein Warten, Stoppen, oder Neuversuch fortwährend übertragen.
  • Die vorliegende Erfindung stellt ein Datentransaktionsverfahren zwischen Steuerchips innerhalb eines Steuerchipsatzes bereit, wobei die Warte-, Stopp- und Neuversuchs-Takte verringert werden.
  • Die vorliegende Erfindung liefert ein Busarbitratiosverfahren zwischen den Steuerchips das die Arbitrations- und Bewilligungszeit verringert.
  • Erfindungsgemäß weisen Datenpuffer der Steuerchips des Chipsatzes feste Größe und Betrag auf. Zusätzlich werden Lese/Schreib-Bestätigungsbefehle in Folge mit Lese/Schreib-Befehlen erklärt, durch die die Steuerchips den Zustand der Puffer innerhalb anderer Steuerchips feststellen können. Wenn ein Steuerchip einen Befehl erklärt, müssen die entsprechenden Daten vorher vorbereitet werden. Deshalb kann die Signalleitung zum Bereitstellen des Wartezustands, des Datentransaktionstaktes und des Stop/Neuversuchs-Protokolls weggelassen werden. Folglich können Befehle oder Daten andauernd ohne Warten, Stop oder Neuversuch übertragen werden, und die Leistung wird verbessert.
  • Es ist klar, dass sowohl die vorstehende allgemeine Beschreibung als auch die nachstehende detaillierte Beschreibung nur beispielhaft sind und sie nur eine weitere Erläuterung der beanspruchten Erfindung bereitstellen.
  • Die begleitenden Zeichnungen wurden aufgenommen, um ein weiteres Verstehen der Erfindung bereitzustellen und sind in einen Teil dieser Spezifikation aufgenommen und bilden einen Teil dieser Spezifikation. Die Zeichnungen stellen Ausführungsformen der Erfindung dar dienen zusammen mit der Beschreibung dazu die Grundsätze der Erfindung zu erläutern. In den Zeichnungen,
  • ist 1 ein Blockdiagramm, das ein PCI-Bussystem zeigt, dass verschiedene Bausteine eines herkömmlichen Computersystems verbindet;
  • ist 2 ein Zeitverlaufsdiagramm, dass die verschiedenen Signale in der PCI- Busschnittstelle während einer Leseoperation zeigt;
  • ist 3 ein Blockdiagramm, das die Steuersignale zeigt, die gemäß der Ausführungsform dieser Erfindung in einem Datentransaktion zwischen Steuerchipsätzen innerhalb eines Steuerchipsatz-Moduls verwendet werden;
  • ist 4 ein Zeitverlaufsdiagramm, dass einen erfindungsgemäßen Taktzyklus der 4 Bitzeiten zur Befehlscodierung enthält zeigt;
  • stellt 5A schematisch ein Blockdiagramm eines Steuerchipsatzes gemäß einer bevorzugten Ausführungsform für erfindungsgemäße Schreiboperationen dar;
  • zeigt 5B ein Beispiel eines Zeitverlaufsdiagramms eines erfindungsgemäßen Schreibvorgangs;
  • stellt 6A ein Blockdiagramm eines Steuerchipsatzes gemäß einer bevorzugten Ausführungsform für erfindungsgemäße Lesevorgange dar; und
  • zeigt 6B ein Beispiel eines Zeitverlaufsdiagramms eines erfindungsgemäßen Lesevorgangs.
  • Die vorliegende Erfindung liefert ein Transaktionsverfahren und ein Arbitrationsverfahren zwischen Steuerchipsätzen oder zwischen Chipsätzen innerhalb eine Steuerchipsatzes, die die Datentransaktionseffizienz zwischen den Steuerchips steigern kann. Der Busvorgangsprozess wird nämlich zwischen Steuerchipsätzen vereinfacht. Die Steuerchipsätze, beispielsweise eine obere Brücke und eine untere Brücke innerhalb eines Computersystems, werden als Beispiel zum Beschreiben der bevorzugten erfindungsgemäßen Ausführungsform verwendet. Wie in der herkömmlichen PCI-Spezifikation definiert, werden 45 Signalleitungen zum Kommunizieren zwischen der oberen Brücke und der unteren Brücke benötigt. Es werden in der bevorzugten Ausführungsform der vorliegenden Erfindung jedoch nur 16 Signale, das heißt 16 Signalleitungen, benötigt. Die neu definierten 16 Befehle der vorliegenden Erfindung werden VLINK-Befehle genannt.
  • Unter Bezugnahme auf 3 und Tabelle 1. Zeigt 3 schematisch ein Blockdiagramm eines Steuerchipsatzes gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung, in dem Steuersignalleitungen zwischen einer oberen Brücke und einer unteren Brücke im Detail dargestellt sind. In Tabelle 1 wird jede der in 3 gezeigten Steuersignalleitungen aufgelistet. Der Steuerchipsatz umfasst beispielsweise die unter Brücke 30 und die obere Brücke 32. In der vorliegenden Erfindung sind die Signalleitungen (Signale) zwischen der unteren Brücke 30 und der oberen Brücke 32, von 45 Signalleitungen (Signalen) auf 16 Signalleitungen (Signalen) verringert. Deshalb können andere Stifte für andere Aufgaben verwendet werden, um die Funktionen des Chipsatzes zu unterstützen.
  • In der vorliegenden Erfindung umfassen die 16 Signale: Taktsignal (CLK), AD [7:0], DNSTB, UPSTB, DNCMD, BE, VREF, und COMP. Wie in 3 und Tabelle 1 gezeigt, bleibt der durch die ursprüngliche PCI-Spezifikation definierte Daten- und Adressbus (AD-Bus) erhalten wird aber auf 8 Zweiweg-Signalleitungen reduziert. CBE-, FRAME-, IRDY-, TRDY-, STOP-, DEVSEL-, REQ- und GNT-Signalleitungen werden vereinfacht zu einer Zweiweg-Byte-einschalt-Signalleitung (BE), einer Aufwärtsstrecken-Befehlssignalleitung UPCMD, und einer Aufwärtsstrecken-Strobesignalleitung UPSTB, die beide von der unteren Brücke getrieben werden, und einer Abwärtsstrecken-Befehlssignalleitung DNCMD und einer Abwärtsstrecken-Strobesignalleitung DNSTB, die beide von der oberen Brücke getrieben werden. Das VREF-Signal bezieht sich auf eine Referenzspannung und das COMP-Signal bezieht sich auf einen Impedanzvergleich. Das CLK-Signal ist ein 66 MHz Taktsignal, das weder von der oberen Brücke noch von der unteren Brücke gestartet wird. Sowohl die obere Brücke 32 als auch die untere Brücke 30 treiben jeweils eine unabhängige Befehlssignalleitung DNCMD und UPCMD die beide Busbefehle erklären können. Zusätzlich, falls ein Busbefehl erklärt ist, und die Busberechtigung durch irgendeinen Steuerchip erlangt ist, kann der Steuerchip Adressen auf dem AD-Bus senden und Datenlängen entsprechend des aktuellen Befehls auf der BE-Signalleitung senden oder Daten auf dem AD-Bus und ein Byte-einschalt-Signal um die Daten auf der BE-Signalleitung senden. Tabelle 1
    Signale Gestartet von Bemerkung
    CLK 66 MHz Taktsignal
    DNSTB oberer Brücke Abwärts-Strobe
    UPSTB unterer Brücke Aufwärts-Strobe
    DNCMD oberer Brücke Abwärts-Befehl
    UPCMD unterer Brücke Aufwärts-Befehl
    BE oberer Brücke/unterer Brücke Byte-Einschalten
    AD [7:0] oberer Brücke/unterer Brücke Adress/Datenbus
    VREF Referenzspannung
    COMP Impedanzvergleich
  • 4 stellt den Zeitlichen Zusammenhang zwischen einem Taktsignal (CLK), einem Strobesignal (STB) und Bitzeiten der Datenleitungen zur erfindungsgemäßen Datenübertragung dar. Wie in 4 gezeigt, ist eine Taktperiode gleich zwei Strobetaktperioden. Die Frequenz des Aufwärtsstrobesignals/Abwärtsstrobesignals hat nämlich die doppelte Frequenz des Bustaktsignals. Es gibt 4 Bitzeiten 0–3, die durch die steigenden und fallenden Flanken des Strobesignals definiert sind. Folglich werden 4 Datenbit durch die Verwendung der vier Bitzeiten 0–3 auf jeder Datenleitung erhalten und Busbefehle werden durch die vier Bitzeiten 0–3 codiert. Entsprechend werden durch die Verwendung der 8 Datenleitungen während jeder Taktperiode 32 Bit Daten erhalten, was gleich den Daten ist, die durch die Verwendung von 32 Datenleitungen in der herkömmlichen PCI-Spezifikation übertragen werden. Zusätzlich wird, falls die BE-Signalleitung eine Datenlänge überträgt, 1–16 (4 Bit) Datenlängeninformation innerhalb einer Taktperiode erhalten. Verschiedene Arten von Datentransaktionen werden durch den Aufwärtsbefehl UPCMD und den Abwärtsbefehl DNCMD definiert. Der von der unteren Brücke getriebene Aufwärtsbefehl UPCMD umfasst einen Lesebestätigungs-Befehl (NB nach SB) C2PRA, einen Schreibbestätigungs-Befehl (NB nach SB) C2PWA, einen Lesebefehl P2CR (SB nach NB) und einen Schreibbefehl (SB nach NB) P2CW usw. Die Verhältnisse zwischen Aufwärtsbefehlen und den Bitzeiten sind in Tabelle 2 aufgelistet. Das Anforderungssignal REQ wird zu der Bitzeit 0 erklärt und nicht von den anderen Busbefehlen überlappt. Deshalb kann das REQ-Signal zu jeder Zeit gesendet werden, sogar während der gleichen Taktperiode, während eine Busanforderung erklärt wird. Der durch die obere Brücke getriebene Abwärtsstrecken-Befehl DNCMD umfasst einen Eingabe/Ausgabe-Lesebefehl (NB nach SB) C2PIOR, einen Speicher-Lesebefehl (NB nach SB) C2PMR, einen Eingabe/Ausgabe-Schreibbefehl (NB nach SB) C2PIOW, einen Speicher-Schreibbefehl (NB nach SB) C2PMW, einen Lesebestätigungs-Befehl (SB nach NB) P2CRA und einen Schreibbestätigungs-Befehl (SB nach NB) P2CWA usw. Die Verhältnisse zwischen den Abwärtsstrecken-Befehlen und der Bitzeitcodierung sind in Tabelle 3 aufgelistet. Es wird kein Bewilligungssignal GNT in der vorliegenden Erfindung definiert oder erfordert.
  • Die durch die obere Brücke und die untere Brücke erklärten Signale entsprechen einander. Wenn die untere Brücke nacheinander eine Anzahl P2CR und/oder P2CW erklärt, muss die obere Brücke die entsprechenden P2CRA- und/oder P2CWA-Befehle als Antwort zu den P2CR und/oder P2CW Befehlen erklären. Gleichfalls muss, wenn die obere Brücke nacheinander eine Anzahl von C2PIOR-, C2PMR-, C2PIOW- und C2 PMW-Befehlen erklärt, muss die untere Brücke nacheinander die entsprechenden C2PRA- und C2PWA-Befehle als Antwort zu den P2CR- und/oder P2CW-Befehlen erklären. Zusätzlich, wie in der bevorzugten Ausführungsform beschrieben, müssen die jedem, durch den Steuerchip erklärten, Befehl entsprechenden Daten durch die obere Brücke/untere Brücke vorher vorbereitet werden. Zum Beispiel müssen in den Speicher geschriebene Daten bereit sein, bevor die obere Brücke einen P2CW-Befehl erklärt, und Daten zum Übertragen der Lesedaten von dem Speicher zu der unteren Brücke müssen bereit sein, bevor die obere Brücke ein P2CRA-Befehl erklärt. Entsprechend gibt es kein Unterbrechen der Datenübertragung und es existiert kein Wartezustand. Tabelle 2 (Aufwärtsstrecken-Befehl UPCMD)
    Bitzeit 0 REQ Bitzeit 1 PMSTR Bitzeit 2 MIO Bitzeit 3 WR Erklärung
    - 0 - 0 C2PRA
    - 0 - 1 C2PWA
    - 0 0 0 P2CR
    - 0 0 1 P2CW
    - 1 1 0 NOP
    0 - - - REQ
    Tabelle 3 (Abwärtsstrecken-Befehl DNCMD)
    Bitzeit 0 Bitzeit 1 PMSTR Bitzeit 2 MIO Bitzeit 3 WR Erklärung
    - 0 0 0 C2PIOR
    - 0 0 1 C2PIOW
    - 0 1 0 C2PMR
    - 0 1 1 C2PMW
    - 1 0 0 P2CRA
    - 1 0 1 P2CWA
    - 1 1 1 NOP
  • 5A stellt schematisch ein Blockdiagramm eines Steuerchipsatzes für Schreibvorgänge gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung dar. Der Steuerchipsatz umfasst beispielsweise einen ersten Steuerchip und einen zweiten Steuerchip. Allgemein kann der erste und zweite Steuerchip die obere Brücke 500 und die untere Brücke 600 sein. Der erste Steuerchip (obere Brücke) 500 und der zweite Steuerchip (untere Brücke) 600 sind durch einen speziellen Bus, VLINK, miteinander verbunden. Die obere Brücke 500 umfasst einen Daten-Sendeempfänger 510, eine Zielsteuerung 520 (beispielsweise eine Speichersteuerung), eine Schreib-Datenwarteschlange 525 und eine Datentransaktions-Warteschlange 540. Die untere Brücke 600 umfasst einen Daten-Sendeempfänger 610, ein Schreib-Puffer-Größenregister 535, ein Schreib-Puffer-Zählregister 540, einen Schreibvorgangs-Erzeugungsmittel 545 eine Schreibvorgangs-Aufzeichnungs-Warteschlangenschaltung 550 und einen Schreibkomperator 555.
  • Der Daten-Sendeempfänger 510 der die VLINK-Spezifikation der vorliegenden Erfindung erfüllt ist direkt mit dem VLINK-Bus verbunden. Durch den VLINK-Bus kann der Daten-Sendeempfänger 510 Daten empfangen und übertragen, um eine Anzahl von Schreibvorgängen zu erledigen. Ein Schreibvorgang wird dadurch definiert, dass die untere Brücke 600 ein P2CW-Befehl und dem P2CW-Befehl entsprechende Daten sendet und dann die obere Brücke 500 ein P2CWA-Befehl zum beantworten des P2CW-Befehls erklärt. Die Schreib-Datenwarteschlange 530 speichert vorübergehend die entsprechende Datenlänge und Schreibadressen aller Schreibvorgänge nacheinander. Die Tiefe der Schreib-Datenwarteschlange 530 bestimmt die Gesamtanzahl der, der oberen Brücke 500 möglichen, Schreibvorgänge. Die Schreib-Datenwarteschlange 525 speichert alle die Nachschreibdaten der untere Brücke 600. Die Tiefe der Schreib-Datenwarteschlange bestimmt die Maximalanzahl der, der oberen Brücke 500 möglichen Schreibdaten. Nachdem die Zielsteuerung 520 Daten an das Ziel beispielsweise einem externen Speicher sendet, werden Daten gemäß einer Schreibadresse und Datenlänge zuerst in der Schreibvorgangs-Datenwarteschlange 530, und Daten in der Schreib-Datenwarteschlange 525 entsprechend zu der Schreibadresse und Datenlange gespeichert. Der erste Daten-Sendeempfänger 510 sendet ein Schreibbestätigungs-Signal (den P2CWA-Befehl), um die untere Brücke 600 zu informieren, dass der Schreibvorgang erledigt ist, und alle Schreibdaten in der Zielvorrichtung sind. Die entsprechenden, in der Schreib-Datenwarteschlange 525 gespeicherten Daten werden dann freigegeben.
  • Das Schreib-Puffer-Zählregister 540 speichert die Maximalanzahl der Schreibvorgänge die, die Schreibvorgangs-Warteschlange 530 der oberen Brücke 500 abwickeln kann, das heißt deren Tiefe. Das Schreib-Puffer-Größenregister 535 speichert die Maximalanzahl der Schreibvorgänge die, die Schreib-Datenwarteschlange 525 der oberen Brücke 500 abwickeln kann, das heißt deren Tiefe. Beispielsweise ist das Schreib-Puffer-Zählregister 540 auf 4 und das Schreib-Puffer-Größenregister 535 auf 16 gesetzt. Deshalb weiss die untere Brücke 600, dass die obere Brücke 500 bis zu 4 Schreibvorgänge akzeptieren kann und die Maximalanzahl der Daten in der Schreibvorgangs-Warteschlange 16 DW (Datenworte) nicht überschreiten kann. Die zwei Parameter, die Maximalanzahl der Schreibvorgänge und Daten kann durch eine BIOS (basic input Output system) Konfiguration während des Bootens angelegt werden.
  • Der mit dem VLINK-Bus verbundene Daten-Sendeempfänger 610, empfängt und überträgt Daten durch den VLINK-Bus um alle Schreibvorgänge zu erledigen. Wenn der Daten-Sendeempfänger 610 einen P2CWA-Befehl empfängt, sendet der Daten-Sendeempfänger 610 ein Signal, dass eine erfolgreiche Schreib- und Pufferfreigabe an die Schreibvorgangs-Aufzeichnungs-Warteschlangen-Schaltung 550 anzeigt, um den Raum freizugeben der die Datenlänge entsprechend des momentanen Schreibvorgangs speichert. Wenn eine neue Datenlänge, eine Schreibadresse und Daten des nächsten Schreibvorgangs durch das Schreibvorgangs-Erzeugungsmittel 545 erzeugt werden, wird dann die neue Datenlänge zu der Schreibvorgangs-Aufzeichnungs-Warteschlangen-Schaltung 550 gesendet.
  • Die Schreibvorgangs-Aufzeichnungs-Schaltung 550 ist in der Lage die in der Schreib-Datenwarteschlange 525 mögliche Datenanzahl und die in der Schreibvorgangs-Warteschlange 530 mögliche Schreibvorgangsanzahl zu berechnen. Dieses ist so, da die Schreibvorgangs-Aufzeichnungs-Schaltung 550 nacheinander die Datenlängen aller Schreibvorgänge speichert, und der durch die obere Brücke 500 erklärte P2CWA in Übereinstimmung der Sequenz der durch die untere Brücke 600 erklärten P2CW-Befehle beantwortet. Deshalb kann die untere Brücke 600 den Zustand der Puffer in den Warteschlangen in der oberen Brücke 500 erkennen.
  • Die Schreibvorgangsschaltung 550 kann die in der Schreib-Datenwarteschlange 525 mögliche Datenanzahl und die in der Schreibvorgangs-Warteschlange 530 mögliche Schreibvorgangsanzahl an den Schreibkomparator 555 senden. Der Schreibkomparator 555 vergleicht dann jeweils die empfangenen Daten mit der Maximalanzahl der in dem Schreibpuffer-Größenregister 535 Schreibdaten und der Maximalanzahl der in dem Schreib-Puffer-Zählregister 540 gespeicherten Schreibvorgänge. Wenn die durch den Schreibkomparator 555 empfangen Daten weniger sind als die Daten- und Vorgangsmaximalanzahl, bestätigt der Schreibkomparator 555 dem Daten-Sendeempfänger 610 eine weitere Schreibvorgangsinformaiton zu schicken. Im anderen Fall kann die untere Brücke 600 keine weiteren Schreibvorgänge zu der obere Brücke 500 schicken.
  • 5B zeigt ein Beispiel eines Zeitverlaufsdiagramm eines erfindungsgemäßen Schreibvorgangs. Beispielsweise wird es vorausgesetzt, dass die untere Brücke 600 die Berechtigung erhält, den Datenbus zu verwenden und einen ersten Schreibvorgang bei T1 startet. Die untere Brücke 600 erklärt einen Schreibbefehl P2CW auf der Aufwärtsstrecken-Befehlsleitung UPCMD, eine Schreibadresse ADDR auf dem Adress/Daten-(AD)Bus und eine Datenlänge (beispielsweise) LEN = 2 aus, die auf die Byte-einschalt-(BE)Signalleitung geschrieben werden soll. Bei dem Takt T2 sendet die untere Brücke 600 erste Daten auf den AD-Bus und einen BE-Befehl der ersten Daten auf die BE-Signalleitung. Bei dem Takt T3 werden zweite Daten durch die untere Brücke 600 gesendet. Zu der Zeit läuft immer noch ein unbeendeter Schreibvorgang in der oberen Brücke 500. Die untere Brücke 600 ist in der Lage die Maximalanzahl der Schreibvorgänge und die Maximalgröße der Schreib-Datenwarteschlange zu erkennen, die gleichzeitig der oberen Brücke 500 möglich sind, deshalb bestimmt die untere Brücke 600 ob die obere Brücke 500 neue Schreibvorgänge empfängt oder nicht. Falls noch leerer Raum in der Schreibvorgangs-Warteschlange 530 und in der Schreib-Datenwarteschlange 525 ist, startet die untere Brücke 600 einen zweiten Schreibvorgang bei Takt T4. Zu dieser Zeit befinden sich zwei unbeendete Schreibvorgänge in der oberen Brücke 500. Bei Takt T9 bestimmt die untere Brücke ob ein dritter Schreibvorgang gestartet werden kann oder nicht. Wenn die untere Brücke feststellt, dass das Starten eines dritten Schreibvorgangs eine Kapazitätsüberschreitung der Schreibvorgangs-Warteschlange 530 oder der Schreib-Datenwarteschlange 525 verursachen würde, startet die untere Brücke dann bei Takt T9 den dritten Schreibvorgang nicht. Wenn die obere Brücke 500 Daten entsprechend des ersten Schreibvorgangs in den Speicher schreibt, erklärt die obere Brücke 500 bei Takt T9 ein Schreibbestätigungs-Signal durch die Abwärtsstrecken-Signalleitung DNCMD um der unteren Brücke 600 zu Bestätigen, dass der erste Schreibvorgang (der Länge LEN = 2) beendet ist. Dann kann die untere Brücke 600 feststellen, dass ein Raum der Schreibvorgangs-Warteschlange 530 und zwei Räume der Schreib-Datenwarteschlange 525 der obere Brücke 500 freigegeben sind. Die untere Brücke 600 weiss Nämlich; dass der erste Schreibvorgang beendet wurde nachdem die untere Brücke 600 den Schreibbestätigungs-Befehl empfängt. Die Räume der Schreibvorgangs-Warteschlange 530 und der Schreib-Datenwarteschlange 525 gemäß des ersten Schreibvorgangs werden freigegeben. Dann bestimmt die untere Brücke 600, dass die obere Brücke 500 den dritten Schreibvorgang bearbeiten kann. Und dann beginnt bei Takt T12 der dritte Schreibvorgang.
  • 6A zeigt schematisch ein Blockdiagramm eines Steuerchipsatzes für Schreibvorgänge gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Der Steuerchipsatz umfasst beispielsweise einen ersten Steuerchip und einen zweiten Steuerchip. Im Allgemeinen können der erste und der zweite Steuerchip die obere Brücke 500 und die untere Brücke 600 sein. Der erste Steuerchip (obere Brücke) 500 und der zweite Steuerchip (untere Brücke) 600 sind durch einen speziell ausgelegten Bus VLINK verbunden. Die obere Brücke 500 umfasst einen Daten-Sendeempfänger 510, eine Datensteuerung 520 (Beispielsweise eine Speichersteuerung), Lese-Datenwarteschlange 625 und eine Lesevorgangs-Warteschlange 630. Die untere Brücke 600 umfasst einen Daten-Sendeempfänger 610, ein Puffer-Größenregister 635 ein Puffer-Zählregister 640, einen Lesevorgang-Erzeugungsmittel 645, eine Lesevorgangs-Aufzeichnungs-Schaltung 650 und einen Lesekomparator 655.
  • Der die VLINK-Spezifikationen der vorliegenden Erfindung erfüllende Daten-Sendeempfänger 510 ist direkt mit dem VLINK-Bus verbunden. Durch den VLINK-Bus kann der Daten-Sendeempfänger 510 Daten empfangen und übertragen, um Lesevorgänge zu erledigen. Ein Lesevorgang wird dadurch bestimmt, dass die untere Brücke 600 ein P2CR-Befehl sendet, und dann die obere Brücke 500 ein P2CRA-Befehl und entsprechende Daten zum Beantworten des P2CR-Befehls sendet. Die Lesevorgangs-Warteschlange 630 speichert vorübergehend Datenlängen und Datenadressen aller Lesevorgänge nacheinander. Die Tiefe der Lesevorgangs-Warteschlange 630 bestimmt eine Gesamtzahl von Lesevorgängen die durch die obere Brücke 500 möglich sind. Die Lese-Datenwarteschlange 625 speichert alle die Lesedaten der Zielsteuerung 520, die später zu der unteren Brücke 600 gesendet werden. Die Tiefe der Lese-Datenwarteschlange bestimmt die Maximalanzahl der Lesedaten die durch die obere Brücke 500 möglich sind. Die Zielsteuerung 520 liest Daten von einem Ziel, beispielsweise einem externen Speicher, gemäß einer Leseadresse und einer Datenlänge die zuerst in der Lesevorgangs-Warteschlange 630 gespeichert sind. Der erste Daten-Sendeempfänger 510 sendet ein Lese-Bestätigungssignal (den P2CRA-Befehl). Zur gleichen Zeit, werden entsprechende, in der Lese-Datenwarteschlange 625 gespeicherte Daten durch den VLINK-Bus zu der unteren Brücke 600 gesendet, und der freigegebene Raum kann andere Daten für den nächsten Lesevorgang speichern.
  • Das Lese-Puffer-Zählregister 640 und der Lese-Puffer-Größenregister 635 der untere Brücke 600 speichern jeweils die Maximalanzahl der Lesevorgänge die die Lesevorgangs-Warteschlange 625 bearbeiten kann, und die Maximalanzahl von Daten, die die Lese-Datenwarteschlange 630 speichern kann. Beispielsweise ist die Maximalanzahl der Lesevorgänge die die Lesevorgangs-Warteschlange 630 bearbeiten kann (die Lesepufferzahl) 4 und die Maximalanzahl der Daten die die Lese-Datenwarteschlange 625 speichern kann (die Lesepuffergröße) ist 16 DW. Die zwei Parameter, die Lesepuffergröße und die Lesepufferzahl kann während des Bootes durch BIOS-(basic input output system)Konfiguration während angelegt oder während der Chipsatzauslegung festgelegt werden.
  • Der Daten-Sendeempfänger 610 ist mit dem VLINK-Bus verbunden um Daten durch den VLINK-Bus zu empfangen und zu versenden, um alle Lesevorgänge zu erledigen. Wenn der Daten-Sendeempfänger 610 einen P2CRA-Befehl empfängt, sendet der Daten-Sendeempfänger 610 ein Signal das erfolgreiches Lesen und erfolgreiche Pufferfreigabe zur Lese-Aufzeichnungs-Schaltung 650 zum Freigeben des Raumes anzeigt, der die Datenlänge des entsprechenden momentanen Lesevorgangs speichert. Wenn eine neue Datenlänge und eine neue Leseadresse des nächsten Lesevorgangs durch den Lesevorgangs-Erzeugungsmittel 645 erzeugt werden, wird die neue Datenlänge dann zu der Lese-Aufzeichnungs-Schaltung 650 gesendet.
  • Die Lese-Aufzeichnungs-Wartschlangen-Schaltung 650 ist in der Lage die in der Lese-Datenwarteschlange 630 mögliche Datenanzahl und die in der Lesevorgangs-Warteschlange 625 mögliche Lesevorgangsanzahl zu berechnen. Dies erfolgt, da die Lesevorgangs-Aufzeichnungs-Warteschlangen-Schaltung 650 nacheinander die Datenlängen aller Lesevorgänge speichert, und der durch die obere Brücke 500 erklärte P2CRA gemäß der Sequenz, der durch die untere Brücke 600 erklärten P2CR-Befehle beantwortet wird. Deshalb kann die untere Brücke 600 den Zustand der Puffer in den Warteschlangen in der obere Brücke 500 erkennen.
  • Die Lesevorgangs-Aufzeichnungs-Schaltung 650 kann die in der Lese-Datenwarteschlange 630 mögliche Datenanzahl und die in der Lesevorgangs-Warteschlange 625 mögliche Lesevorgangsanzahl zu dem Lesekomparator 655 senden. Der Lesekomparator 655 vergleicht dann jeweils die empfangenen Daten mit der Datenmaximalanzahl der Lese-Datenwarteschlange 625 die in dem Lesedaten-Puffer-Größenregister 635 gespeichert sind und der Lesevorgangsmaximalanzahl der Lesevorgangs-Warteschlange 630, die in dem Lese-Puffer-Zählregister 640 gespeichert sind. Wenn die durch den Lesekomparator 655 empfangenen Daten weniger sind als die Datenmaximalanzahlen und die Lesevorgangsmaximalanzahlen, bestätigt der Lesekomparator 655 dem Daten-Sendeempfänger 610, dass er eine weitere Lesevorgangsinformation senden kann.
  • 6B zeigt ein Beispiel eines Zeitverlaufsdiagramm eines erfindungsgemäßen Lesevorgangs. Beispielsweise wird es zuerst vorausgesetzt, dass die untere Brücke 600 die Berechtigung erhält, den Datenbus zu verwenden und einen ersten Lesevorgang bei T1 startet. Die untere Brücke 600 erklärt einen Lesebefehl P2CR auf der Aufwärtsstrecken-Befehlsleitung UPCMD, eine Schreibadresse ADDR auf dem Adress/Daten-(AD)Bus und sendet eine Datenlänge (beispielsweise) LEN = 2, die auf die Byte/einschalt-(BE)Signalleitung gelesen werden soll. Zu der Zeit läuft immer noch ein unbeendeter Schreibvorgang in der oberen Brücke 500. Die untere Brücke 600 ist in der Lage die Anzahl der Lesevorgänge und die Größe der Datenwarteschlangen zu erkennen, die der oberen Brücke möglich sind, und deshalb kann die untere Brücke bestimmen, ob die obere Brücke neue Lesevorgänge empfangen kann oder nicht. Falls noch leerer Raum in der Lesevorgangs-Warteschlange 630 und in der Lese-Datenwarteschlange 625 ist, kann die untere Brücke 600 einen zweiten Lesevorgang bei Takt T2 (beispielsweise LEN = 3) starten. Zu dieser Zeit befinden sich zwei unbeendete Lesevorgänge in der oberen Brücke 500. Bei Takt T3 stellt die untere Brücke fest, dass das Starten eines dritten Lesevorgangs eine Kapazitätsüberschreitung der Lesevorgangs-Warteschlange 630 oder der Lese-Datenwarteschlange 625 verursacht, und dann startet die untere Brücke bei Takt T3 den dritten Vorgang nicht. Wenn die obere Brücke 500 die, dem ersten Lesevorgang einer Speichersteuerung 520 entsprechenden Daten bekommt, und dann die Daten in der Lese-Datenwarteschlange 625 speichert, erklärt die obere Brücke 500 ein Lese-Bestätigungsbefehl um Daten an die untere Brücke 600 zu senden. Bei Takt T7 erhält die obere Brücke die Berechtigung den Bus zu verwenden und schickt dann den Lese-Bestätigungsbefehl P2CRA auf der Abwärtsstrecken-Befehlssignalleitung DNCMD und Daten des ersten Doppelwortes des ersten Lesevorgangs auf den AD-Bus. Bei Takt T8 wird das zweite Doppelwort des ersten Lesevorgangs abgeschickt. Zu dieser Zeit erkennt die untere Brücke 600, dass die Räume der Lesevorgangs-Warteschlange 630 und der Lese-Datenwarteschlange 625 entsprechend des ersten Lesevorgangs freigegeben werden. Dann bestimmt die untere Brücke 600 ob ein dritter Lesevorgang gestartet werden kann oder nicht. Die untere Brücke 600 muss die Berechtigung den VLINK-Bus zu verwenden vor dem Starten des dritten Lesevorgangs erhalten. Deshalb erklärt die untere Brücke 600 zum Zeitpunkt T10 ein Anforderungsbefehl REQ durch die Aufwärtsstrecken-Befehlssignalleitung UPCMD, um die Berechtigung den VLINK-Bus zu verwenden anzufordern. Während der Takte T9–T10–T11, sendet die obere Brücke 500 den Lese-Bestätigungsbefehl um die Daten des zweiten Lesevorgangs zu der unteren Brücke 600 zu senden, und dann erhält die untere Brücke 600 die Berechtigung den Bus bei Takt T13 zu verwenden. Dann wird der dritte Lesevorgang durch die untere Brücke 600 gestartet.
  • Die obere Brücke und die untere Brücke sind jeweils der erste Steuerchipsatz und der zweite Steuerchipsatz, und die Befehle werden durch die untere Brücke verschickt, um die obere Brücke zu steuern um Daten zu lesen, oder zu schreiben. (Es ist) jedoch, dem Fachmann (klar), dass sowohl die obere als auch die untere Brücke entsprechende Strukturen aufweisen können, und deshalb die Befehle nicht darauf beschränkt sind durch die untere Brücke oder die obere Brücke versendet zu werden. Es können nämlich die untere und die obere Brücke jeweils der erste Steuerchipsatz und der zweite Steuerchipsatz sein.
  • Die Beschreibung entsprechend den 5A, 5B und 6A, 6B sind lediglich Beispiele, die nicht zur Beschränkung des Schutzumfangs der Erfindung verwendet werden. Die Merkmale der vorliegenden Erfindung umfassen mindestens:
    • 1. Wenn ein Schreib- oder Lesevorgang gestartet wird, wird zusätzlich zu den Adressen und Befehl, auch die Datenlänge entsprechend des Schreib- oder Lesevorgangs gesendet, und deshalb wird kein FRAME-Signal benötigt, um die Beendung des Datentransaktions mitzuteilen.
    • 2. Wenn eine Anzahl auszuführender Schreib- oder Lesevorgänge vorhanden ist, wird eine Anzahl Schreib- oder Lesebestätigungs-Befehle entsprechend zu den Schreib- oder Lesevorgängen nacheinander geschickt und ausgetauscht und deshalb können die Chipsätze voneinander den Zustand der internen Warteschlangen der Chipsätze kennen.
    • 3. Die Anwendung ist nicht auf die obere und untere Brücke eines PCs beschränkt, sondern kann für jegliche Datentransaktion zwischen zwei Chips verwendet werden.

Claims (9)

  1. Steuerchipsatz, umfassend: einen Bus; einen ersten Steuerchip, umfassend: einen ersten Daten-Sendeempfänger (510), der zum Empfangen und Versenden von Datensignalen mit dem Bus verbunden ist, um Lese/Schreibvorgänge zu erledigen; eine Lese/Schreib-Datenwarteschlange, die mit dem ersten Daten-Sendeempfänger (510) verbunden ist, um Daten der Lese/Schreibvorgänge vorübergehend zu speichern; eine Lese/Schreibvorgang-Datenwarteschlange, die mit dem ersten Daten-Sendeempfänger (510) verbunden ist, um Datenlängen und Datenadressen der Lese/Schreibvorgänge vorübergehend zu speichern; eine Zielsteuerung (520), die mit der Lese-/Schreib-Datenwarteschlange und der Lese/Schreibvorgang-Datenwarteschlange verbunden ist, wobei die Zielsteuerung (520), gemäß den in der Lese/Schreibvorgang-Datenwarteschlange gespeicherten Lese-/Schreibadressen und gemäß den in der Lese/Schreib-Datenwarteschlange gespeicherten Daten entsprechend dem ersten gespeicherten Lese/Schreibvorgang Daten zu einer Zielvorrichtung sendet; wobei sodann der erste Daten-Sendeempfänger (510) ein Lese/Schreibbestätigungs-Signal erklärt; und die Lese/Schreibadressen und die den Lese/Schreibadressen entsprechende Lese/Schreib-Datenwarteschlange freigegeben werden; und einen zweiten Steuerchip, der mit dem Bus verbunden ist, umfassend: ein Lese/Schreib-Puffer-Größenregister, zum Speichern einer Maximalanzahl von Daten die in der Lese/Schreib-Datenwarteschlange möglich sind; ein Lese/Schreib-Puffer-Zählregister zum Speichern einer Maximalanzahl an Vorgängen, die in der Lese/Schreibvorgang-Warteschlange möglich sind; einen zweiten Daten-Sendeempfänger (610), der mit dem Bus verbunden ist, um Datensignale durch den Bus zu empfangen und zu versenden, um die Lese/Schreibvorgänge zu erledigen und um ein freigebendes Puffersignal zu erklären, wenn er das Lese/Schreibbestätigungs-Signal empfängt; einen Lese/Schreibvorgang-Erzeugungsmittel, der mit dem zweiten Daten- Sendeempfänger (610) zum Erzeugen von Datenlänge der Lese/Schreibvorgänge, der Lese/Schreibadressen und Daten verbunden ist; eine Lese/Schreib-Aufzeichnungs-Schaltung, die mit dem zweiten Daten-Sendeempfänger (610) und mit dem Lese/Schreibvorgang-Erzeugungsmittel verbunden ist, um die Datenlänge der Lese/Schreibvorgänge vorübergehend zu speichern und um eine Anzahl nutzbarer Daten der Lese/Schreib-Datenwarteschlange, und eine Anzahl zulässiger Vorgänge in der Lese/Schreib-Datenwarteschlange gemäß dem freigebenden Puffersignal zu berechnen; und einen Lese/Schreibkomparator, der mit den dem zweiten Daten-Sendeempfänger (610), dem Lese/Schreib-Puffer-Größenregister, dem Lese/Schreib-Puffer-Zählregister und der Lese/Schreib-Aufzeichnungs-Schaltung verbunden ist, um den zweiten Daten-Sendeempfänger (610) über Daten entsprechend eines nächsten Lese/Schreibvorgangs zu informieren.
  2. Steuerchipsatz gemäß Anspruch 1, wobei der Bus eine Referenzspannungs-Signalleitung, eine Impedanzvergleichs-Signalleitung, einen Adress/Datenbus, eine Längen/Byte-Einschalt-Signalleitung, eine Aufwärtsstrecken-Befehlssignalleitung, eine Aufwärtsstrecken-Strobesignalleitung, eine Abwärtsstrecken Befehlssignalleitung, eine Abwärtsstrecken-Strobesignalleitung und eine Taktsignalleitung umfasst.
  3. Steuerchipsatz gemäß Anspruch 1, wobei die Frequenzen sowohl der Aufwärtsstrecken-Strobesignalleitung als auch der Abwärtsstrecken Strobesignalleitung doppelt so groß sind wie die Frequenz des Taktsignals.
  4. Steuerchipsatz gemäß Anspruch 1, wobei der erste und der zweite Steuerchip entsprechend der obere Brückenchip und der untere Brückenchip sind, die Zielsteuerung (520) eine Speichersteuerung ist und der Bus ein VLINK-Bus ist.
  5. Steuerchipsatz, umfassend: einen ersten Chip umfassend eine Lese/Schreib-Transaktions-Warteschlange mit einer Tiefe n und eine Lese/Schreib-Daten-Warteschlange mit einer Tiefe m; einen zweiten Chip zum Aufzeichnen des Zustands der Lese/Schreib-Transaktions-Warteschlange und der Lese/Schreib-Daten-Warteschlange, wobei eine nächste Lese/Schreib-Transaktion eingeleitet wird, wenn eine Menge des ausstehenden Vorgangs kleiner als n ist und eine Datenmenge geringer als m ist; und eine Signalübertragungsvorrichtung, um zwischen dem ersten und dem zweiten Chip zu verbinden, umfassend: eine Abwärtsstrecken-Signalleitung (DNCMD) zum Bestimmen von Datentransaktionsarten einer Vielzahl von Abwärtsstrecken-Befehlen; eine Abwärtsstrecken-Strobesignalleitung (DNSTB) zum Eintakten der Abwärtsstrecken-Befehlssignalleitung; eine Aufwärtsstrecken-Befehlssignalleitung (UPCMD) zum Bestimmen von Datentransaktionsarten einer Vielzahl von Aufwärtsstrecken-Befehlen; eine Aufwärtsstrecken-Strobesignalleitung (UPSTB) zum Eintakten der Aufwärtsstrecken-Befehlssignalleitung; eine Byte-Einschalt-Signalleitung (BE), die eine Zweiweg-Byte-Einschalt-Signalleitung ist; eine Adress/Datenleitung (AD) zum Erklären eines Adress/Datensignals; und eine Taktsignalleitung (CLK) zum Bereitstellen eines Betriebstaktsignals.
  6. Steuerchipsatz nach Anspruch 5, wobei der erste und der zweite Steuerchip North- bzw. Southbridge einer Computerhauptplatine sind.
  7. Steuerchipsatz nach Anspruch 5, wobei die Abwärtsstrecken-Strobesignalleitung und die Aufwärtsstrecken-Strobesignalleitung einseitig gerichtet sind.
  8. Steuerchipsatz nach Anspruch 5, wobei die Frequenzen sowohl der Abwärtsstrecken-Strobesignalleitung als auch der Aufwärtsstrecken-Strobesignalleitung doppelt so groß wie die Frequenz des Betriebstaktsignals sind.
  9. Datenübertragungsverfahren zum Erledigen einer Vielzahl von Lese/Schreibvorgängen zwischen einer ersten Vorrichtung und einer zweiten Vorrichtung, die durch einen Bus verbunden sind, umfassend die Schritte: Bereitstellen einer Maximalanzahl zum Ausführen der Lese/Schreibvorgänge und einer Datenmaximallänge die durch jeden der Lese/Schreibvorgänge übertragen wird; Durchführen eines Lese/Schreibvorganges, wenn eine Lese/Schreibadresse entsprechend des Lese/Schreibvorganges erklärt ist, um Daten entsprechen zu dem Lese/Schreibvorgang zu lesen/schreiben, der nicht die Datenmaximallänge von Daten überschreitet; Erklären eines Lese/Schreibbestätigungs-Signals; Freigeben der Lese/Schreibadresse entsprechend zu dem Lese/Schreibvorgang und den in der Lese/Schreib-Datenwarteschlange gespeicherten Daten; Erzeugen einer Datenlänge eines nächsten Lese/Schreibvorgangs, von Lese/Schreibadressen und von entsprechenden Daten; Berechnen einer Datenpufferanzahl der Lese/Schreibdaten und einer Lese/Schreibvorgangsanzahl des Lese/Schreibvorgangs gemäß des Lese/Schreibbestätigungs-Signals; und Bestimmen der Datenlänge, des Lese/Schreibvorgangs, der Lese/Schreibadressen und der entsprechenden Daten des nächsten Lese/Schreibvorgangs gemäß der Datenpufferanzahl, der Lese/Schreibvorgangsanzahl, der Gesamtvorgangsanzahl des Lese/Schreibvorgangs und der Datenmaximalanzahl der Lese/Schreibdaten.
DE10057794A 1999-12-15 2000-11-22 Verfahren für Datentransaktionen zwischen Steuerchipsätzen Expired - Lifetime DE10057794B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW088121972 1999-12-15
TW088121972A TW449698B (en) 1999-12-15 1999-12-15 Control chipsets and data exchange method among them

Publications (2)

Publication Number Publication Date
DE10057794A1 DE10057794A1 (de) 2001-06-28
DE10057794B4 true DE10057794B4 (de) 2009-08-06

Family

ID=21643385

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10057794A Expired - Lifetime DE10057794B4 (de) 1999-12-15 2000-11-22 Verfahren für Datentransaktionen zwischen Steuerchipsätzen

Country Status (4)

Country Link
US (1) US6684284B1 (de)
JP (2) JP3602435B2 (de)
DE (1) DE10057794B4 (de)
TW (1) TW449698B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW594490B (en) * 2003-03-20 2004-06-21 Via Tech Inc Bus for control chipset and the arbitration method
DE102004002004A1 (de) 2004-01-14 2005-08-11 Schifferle, René Kaffeemaschine zum Aufbrühen von in einer Kapsel abgepacktem Pulverkaffee
US20060271718A1 (en) * 2005-05-27 2006-11-30 Diplacido Bruno Jr Method of preventing error propagation in a PCI / PCI-X / PCI express link
FR2887661B1 (fr) * 2005-06-27 2007-10-05 Giga Byte Tech Co Ltd Dispositif et procede de transmission de donnees
US7698493B2 (en) * 2005-08-31 2010-04-13 Ati Technologies, Inc. Methods and apparatus for translating write request messages in a computing system
US7805560B2 (en) * 2005-08-31 2010-09-28 Ati Technologies Inc. Methods and apparatus for translating messages in a computing system
CN100461148C (zh) * 2007-07-30 2009-02-11 威盛电子股份有限公司 芯片组的数据链结层及用于其处理包的方法
US20140223051A1 (en) * 2013-02-07 2014-08-07 Andes Technology Corporation Information collection system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815677A (en) * 1996-12-31 1998-09-29 Compaq Computer Corporation Buffer reservation method for a bus bridge system
EP0953916A1 (de) * 1998-04-29 1999-11-03 STMicroelectronics Limited Mikrorechner-Chip mit untereinander verbundenen Address- und Datenwegen

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049223A (en) * 1995-03-22 2000-04-11 Altera Corporation Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
US5867672A (en) * 1996-05-21 1999-02-02 Integrated Device Technology, Inc. Triple-bus FIFO buffers that can be chained together to increase buffer depth
US5867724A (en) * 1997-05-30 1999-02-02 National Semiconductor Corporation Integrated routing and shifting circuit and method of operation
US6209068B1 (en) * 1997-12-29 2001-03-27 Intel Corporation Read line buffer and signaling protocol for processor
US6230228B1 (en) * 1999-04-01 2001-05-08 Intel Corporation Efficient bridge architecture for handling multiple write transactions simultaneously
US6385676B1 (en) * 1999-07-12 2002-05-07 Hewlett-Packard Company Coherent ordering queue for computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815677A (en) * 1996-12-31 1998-09-29 Compaq Computer Corporation Buffer reservation method for a bus bridge system
EP0953916A1 (de) * 1998-04-29 1999-11-03 STMicroelectronics Limited Mikrorechner-Chip mit untereinander verbundenen Address- und Datenwegen

Also Published As

Publication number Publication date
JP4037788B2 (ja) 2008-01-23
TW449698B (en) 2001-08-11
US6684284B1 (en) 2004-01-27
JP2001209610A (ja) 2001-08-03
DE10057794A1 (de) 2001-06-28
JP2003316724A (ja) 2003-11-07
JP3602435B2 (ja) 2004-12-15

Similar Documents

Publication Publication Date Title
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE19900325B4 (de) Vorrichtung und Verfahren zum Senden und Empfangen von Daten in eine und aus einer universellen seriellen Buseinrichtung
DE3909948C2 (de)
DE60309391T2 (de) Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren
DE102005009174B4 (de) Bussystem, zugehöriges Busbelegungszuteilverfahren und Datenübertragungsverfahren
DE19882696B4 (de) Speichertransaktionen auf einem Bus geringer Leitungsanzahl
DE60013470T2 (de) Gerät zur initialisierung einer rechnerschnittstelle
DE19580990C2 (de) Verfahren und Einrichtung zum Ausführen verzögerter Transaktionen
DE4142756A1 (de) Datenweg-einrichtung zur kopplung zweier busse
DE69825915T2 (de) Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system
DE69828074T2 (de) Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl
DE4003759C2 (de) Verfahren und Anordnung zur Übertragung von Daten über einen Bus zwischen selektiv ankoppelbaren Stationen
DE3146356A1 (de) Datenverarbeitungssystem
DE4018481C2 (de)
EP0929041A2 (de) Verfahren und Anordnung zum Betreiben eines Bussystems
DE10234934A1 (de) Antwortreihenwiederherstellungsmechanismus
DE10255937B4 (de) Ordnungsregelgesteuerte Befehlsspeicherung
DE10314175A1 (de) Bussystem sowie Informationsverarbeitungssystem, das ein Bussystem einschliesst
DE10061770B4 (de) Zugriffsregelung für Steuerchipsätzen bei Bustransaktion
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE10057794B4 (de) Verfahren für Datentransaktionen zwischen Steuerchipsätzen
DE10214067B4 (de) Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
DE60017774T2 (de) Verfahren und vorrichtung zur unterstützung von mehrtaktübertragung in einem rechnersystem mit einer punkt-zu-punkt halb-duplex verbindung
DE10224163A1 (de) Transaktionsdauermanagement in einem USB-Hostcontroller

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R071 Expiry of right