DE10234934A1 - Antwortreihenwiederherstellungsmechanismus - Google Patents

Antwortreihenwiederherstellungsmechanismus Download PDF

Info

Publication number
DE10234934A1
DE10234934A1 DE10234934A DE10234934A DE10234934A1 DE 10234934 A1 DE10234934 A1 DE 10234934A1 DE 10234934 A DE10234934 A DE 10234934A DE 10234934 A DE10234934 A DE 10234934A DE 10234934 A1 DE10234934 A1 DE 10234934A1
Authority
DE
Germany
Prior art keywords
response
southbridge
response data
buffer
read requests
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.)
Withdrawn
Application number
DE10234934A
Other languages
English (en)
Inventor
Joerg Winkler
Frank Barth
Larry Austin Hewitt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to DE10234934A priority Critical patent/DE10234934A1/de
Priority to US10/285,939 priority patent/US20040024948A1/en
Publication of DE10234934A1 publication Critical patent/DE10234934A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Landscapes

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

Abstract

Eine verbesserte Antwortreihenfolgenwiederherstellungstechnik zur Verwendung in einem Southbridgeelement oder I/O-Hub oder einem ähnlichen Gerät wird bereitgestellt. Non-Posted-Leseanforderungen werden von wenigstens einer anfordernden Einheit empfangen und Upstream-Befehle auf Grundlage der Non-Posted-Leseanforderungen gesendet. Jeder der Upstream-Befehle wird durch eine Befehlsmarkierung eindeutig identifiziert. Wenn Antwortdaten in Erwiderung auf zuvor gesendete Befehle empfangen werden, werden Antworten an die wenigstens eine anfordernde Einheit auf Grundlage der Antwortdaten gesendet. Das Senden der Antworten umfasst das Neuordnen der empfangenen Antwortdaten durch Zugreifen auf einen Puffer des Southbridgebauelements. Der Puffer speichert die empfangenen Antwortdaten und weist eine Vielzahl von Pufferelementen auf, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Endung
  • Die Erfindung betrifft allgemein integrierte Schaltkreischips wie etwa Southbridges oder I/O-Hubs in Computersystemen und insbesondere die Reihenfolgenwiederherstellung (Neuordnung) von Antworten, die in Erwiderung auf vorherige Leseanforderungen ungeordnet empfangen worden sind.
  • 2. Beschreibung des Standes der Technik
  • Integrierte Schaltkreischips werden oft zur Datenverarbeitung verwendet und umfassen bekanntermaßen eine Anzahl verschiedener Schaltkreiseinheiten. Im Allgemeinen dient jede Schaltkreiseinheit der Durchführung einer speziellen Funktion und natürlich können verschiedene Schaltkreiseinheiten auf einem Chip zur Durchführung derselben Funktion oder zur Durchführung verschiedener Funktionen bereitgestellt sein. Die Schaltkreiseinheiten können zeitlich sequentiell oder simultan arbeiten und sie können voneinander unabhängig oder abhängig von dem Betrieb anderer Schaltkreiseinheiten funktionieren.
  • In dem letzteren Fall sind die Schaltkreiseinheiten üblicherweise über eine Schnittstelle miteinander verbunden, um es den Schaltkreiseinheiten zu ermöglichen, Daten auszutauschen, die benötigt werden, um den Betrieb einer Schaltkreiseinheit abhängig von dem Betrieb der anderen Schaltkreiseinheit zu machen. Der Datenaustausch wird oft dadurch bewerkstelligt, dass Transaktionen von einer Schaltkreiseinheit zu der anderen Schaltkreiseinheit gesandt werden. Eine Transaktion ist eine Abfolge von Paketen, die zwischen den Schaltkreiseinheiten ausgetauscht werden und zu einem Informationstransfer führen. Die Schaltkreiseinheit, die eine Transaktion veranlasst, wird Source (oder Master) genannt und die Schaltkreiseinheit, die die Transaktion für die Source ultimativ bedient, wird Target genannt. Es ist anzumerken, dass es auch zwischenliegende Einheiten zwischen der Source und dem Target geben kann.
  • Transaktionen können verwendet werden, um einen Request (eine Anforderung, Anfrage) zu plazieren oder auf eine empfangene Anforderung zu antworten. Nimmt man die Anforderungen, so können Posted Requests von Non-Posted Requests unterschieden werden, abhängig davon, ob die Anforderung eine Antwort erfordert. Genauer gesagt ist ein Non-Posted Request eine Anforderung, die eine Antwort erfordert, während ein Posted Request eine Antwort nicht erfordert.
  • Bei näherer Betrachtung der Funktionen, die von den miteinander verbundenen Schaltkreiseinheiten durchgeführt werden, so können die Schaltkreiseinheiten oft in Hosts und Devices aufgeteilt werden. Der Begriff Host bedeutet dann eine Schaltkreiseinheit, die Dienste für das abhängige Device bereitstellt. Eine Transaktion vom Host zum Device wird als downstream bezeichnet, während eine Transaktion in der anderen Richtung upstream genannt wird. In bidirektionalen Konfigurationen können sowohl der Host als auch das Device Anforderungen und Antworten senden und empfangen, so dass ein Gerät Source sowie Target sein kann und auch der Host als Source sowie als Device funktionieren kann.
  • Ein Gebiet, auf dem solche integrierten Schaltkreischips häufig verwendet werden, sind Personalcomputer. Wird auf 1 Bezug genommen, so sind die Hardwarekomponenten eines gewöhnlichen Motherboardlayouts dargestellt. Es ist anzumerken, dass diese Figur nur ein Beispiel eines Motherboardlayouts zeigt und andere Konfigurationen ebenso existieren. Die Basiselemente, die auf dem Motherboard in 1 zu finden sind, können die CPU (Central Processing Unit, zentrale Verarbeitungseinheit) 100, eine Northbridge 105, eine Southbridge 110 und den Systemspeicher 115 enthalten.
  • Die Northbridge 105 ist gewöhnlich ein einzelner Chip in einem Core-Logic-Chipsatz, der den Prozessor 100 mit dem Systemspeicher 115 und z.B. mit dem AGP-Bus (AGP: Accelerated Graphic Port) und PCI-Bus (PCI: Peripheral Component Intertace) verbindet. Der PCI-Bus wird in Personalcomputer gewöhnlich verwendet, um einen Datenpfad zwischen dem Prozessor 100 und Peripheriegeräten bereitzustellen, wie etwa Videokarten, Soundkarten, Netzwerkschnittstellenkarten und Modems. Der AGP-Bus ist ein Hochgeschwindigkeitsgraphikerweiterungsbus, der den Displayadapter mit dem Systemspeicher 115 direkt verbindet. AGP arbeitet unabhängig von dem PCI-Bus. Es ist anzumerken, dass andere Motherboardlayouts existieren, die keine Northbridge enthalten oder eine Northbridge ohne AGP- oder PCI-Optionen.
  • Die Southbridge 110 ist üblicherweise der Chip in einem System-Core-Logic-Chipsatz, der den IDE-Bus (IDE: Integrated Drive Electronics) oder EIDE-Bus (EIDE: Enhanced IDE) steuert, den USB-Bus (USB: Universal Serial Bus) steuert, der plug-and-play unterstützt, eine PCI-ISA-Brücke (ISA: Industry Standard Architecture) steuert, den Tastatur/Maus-Controller verwaltet, Powermanagementfeatures bereitstellt und andere Peripheriegeräte steuert.
  • Somit enthalten gewöhnliche Personalcomputer Southbridges 110, die integrierte Schaltkreischips im wesentlichen wie oben beschrieben sind. Herkömmlicherweise sind die Southbridge 110 und die Northbridge 105 durch den PCI-Bus miteinander verbunden, der als Systembus agiert, so dass die Northbridge 105 als Host-zu-PCI-Brücke arbeitet, die eine Verbindung zwischen dem Host-Bus, der zum Prozessor 100 hin verbindet, und dem PCI-Bus bildet, wohingegen die Southbridge 110 als z.B. PCI-zu-ISA-Bus arbeitet, wobei der ISA-Bus (ISA: Industry Standard Architecture) der I/O-Bus ist. Jedoch existieren andere Chipsatzanordnungen, in denen die Northbridge 105 als Speichercontrollerhub arbeitet und die Southbridge 110 als I/O-Controllerhub. In solchen Strukturen sind die Nordbridge 105 und die Southbridge 110 nicht länger durch einen Systembus miteinander verbunden, sondern durch eine spezielle Hubschnittstelle.
  • Um den Bedürfnissen nach einer Hochgeschwindigkeits-Chip-zu-Chip-Kommunikation in solchen Hubschnittstellen zu begegnen, wurde die HyperTransportTM-Technologie entwickelt, die eine hochperformante Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung auf dem Board bereitstellt, um integrierte Schaltkreise auf einem Motherboard miteinander zu verbinden. Sie kann signifikant schneller als ein PCI-Bus bei einer äquivalenten Anzahl von Pins sein. Die HyperTransport-Technologie wurde entworfen, um signifikant mehr Bandbreite als aktuelle Technologien bereitzustellen, um Antworten mit geringen Latenzen zu verwenden, um eine niedrige' Pinzahl bereitzustellen, um kompatibel zu Legacy-Computerbussen zu sein, um auf neue Systemnetzwerkarchitekturbusse erweiterbar zu sein, um für Betriebssysteme transparent zu sein und um geringe Auswirkungen auf Peripherietreiber zu haben.
  • Die Hardwarekomponenten eines HyperTransport-gemäßen Southbridgebauelements (oder I/O-Hubs) sind in 2 dargestellt. Eine Anzahl von Busmastern 230–260 werden bereitgestellt zum Steuern peripherer Systemkomponenten. Die Controller schließen einen Festplattencontroller 230, einen Ethernetcontroller 240, einen USB-Controller (USB: Universal Serial Bus) 250 und einen AC'97-Controller (AC: Audio Codec) 260 ein. Diese Controller arbeiten als Busmaster, um mit einer Sendeeinrichtung 220 und einer Empfangseinrichtung 210 des Bauelements zu interagieren. Die Sendeeinrichtung 220 empfängt Anforderungen von den Controllern 230–260 und führt eine Arbitrierung durch, um zu jeder beliebigen Zeit eine der anfordernden Einheiten 230–260 auszuwählen. Auf Grundlage der empfangenen Anforderungen sendet die Sendeeinrichtung 220 Befehle an die HyperTransport-Schnittstelleneinrichtung 200, die eine Schnittstelle zu einer HyperTransport-gemäßen Verbindung ausbildet. Empfangene Antworten werden von der HyperTransport-Schnittstelleneinrichtung 200 an die Empfangseinrichtung 210 geliefert, wo die Antworten an diejenigen Controller 230–260 weitergeleitet werden, die die Ursprungseinheiten der Anforderungen waren.
  • Somit ist die HyperTransport-Schnittstelle eine Split-Transaktion-Schnittstelle, d.h. Anforderungen und Antworten werden auf dem Bus als vollständig entkoppeλte und unabhängige Transaktionen übertragen. Alle HyperTransport-I/O-Geräte müssen imstande sein, Antworten ungeordnet anzunehmen oder sieh auf einen ausstehenden Non-Posted Request zu beschränken. Eine Brücke, die zwischen einem HyperTransport-Technologiegerät und einem I/O-Protokoll befindet, das es erfordert, dass Antworten geordnet zurückkommen, muss eine ausreichende Pufferung bereitstellen, um so viele Antworten neu ordnen zu können, wie sie ausstehende Anforderungen haben kann.
  • Die HyperTransport-Technologie unterstützt mehrere ausstehende Leseanforderungen und erfordert in solchen Fällen die Pufferung von Antworten. Wenn jedoch das Bauelement von 2 konfiguriert ist, um mehrere ausstehende Anforderungen nicht zu unterstützten, so kann das gesamte Bauelement blockiert werden, wenn einmal eine Anforderung plaziert worden ist, bis die jeweilige Antwort empfangen und ausgeliefert worden ist. Dies ist in 3 verdeutlicht, wo zu jeder Zeit nur eine Anforderung aktiv ist. Dies reduziert signifikant den Datendurchsatz, da kein Datenverkehr stattfindet, wenn eine Anforderung plaziert aber eine Antwort noch nicht verfügbar ist.
  • Beim Anschluss von Peripheriegeräten an HyperTransport-gemäße Systeme kann die Antwortreihenfolgenwiederherstellung ein entscheidender Punkt werden. Beispielsweise erfordern IDE-Geräte (IDE: Integrated Drive Electronics), dass Antwortdaten geordnet sind. Somit müssen die Antworten gemäß der Reihenfolge der Anforderungen geordnet sein, um die Datenkohärenz aufrechtzuerhalten. In PCI- und EHCI-Schnittstellen (EHCI: Enhanced Host Controller Interface) sind Antworten ungeordnet verfügbar und die Daten müssen an die PCI-Geräte auf Anfrage und auf die EHCI-Geräte bei Ankunft ausgegeben werden.
  • Somit müssen Leseantworten, insbesondere solche auf Split-Transaktion-Leseanforderungen, geordnet werden, um die beste Systemperformance aufrechtzuerhalten. Jedoch mangelt es herkömmlichen Antwortreihenfolgenwiederherstellungsschemata an Zuverlässigkeit und Effizienz.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • Eine verbesserte Antwortreihenfolgenwiederherstellungstechnik wird bereitgestellt, die die Betriebsgeschwindigkeit erhöhen und die Zuverlässigkeit und Effizienz verbessern kann.
  • In einer Ausgestaltung wird ein Southbridgebauelement bereitgestellt, das eine Sendeeinrichtung umfasst, die angepasst ist zum Empfangen von Non-Posted-Leseanforderungen von wenigstens einer anfordernden Einheit und zum Senden von Upstream-Befehlen auf Grundlage der Non-Posted-Leseanforderungen. Jeder der Upstream-Befehle wird durch eine Befehlsmarkierung eindeutig identifiziert. Das Southbridgebauelement umfasst ferner eine Empfangseinrichtung, die angepasst ist zum Empfangen von Antwortdaten in Erwiderung auf die Befehle, die von der Sendeeinrichtung zuvor gesendet worden sind. Die Empfangseinrichtung ist weiterhin angepasst zum Senden von Antworten auf die wenigstens eine anfordernde Einheit auf Grundlage der Antwortdaten. Das Southbridgebauelement umfasst ferner einen Antworfreihenfolgenwiederherstellungsmechanismus, der angepasst ist zum Steuern der Empfangseinrichtung, um die Antworten in der richtigen Reihenfolge zu senden. Der Antwortreihenfolgenwiederherstellungsmechanismus umfasst eine Puffereinrichtung zum Speichern empfangener Antwortdaten. Die Puffereinrichtung weist eine Vielzahl von Pufferelementen auf, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.
  • (n einer anderen Ausgestaltung umfasst ein integrierter Schaltkreischip eine Sendeschaltung, die angepasst ist zum Empfangen von Non-Posted-Leseanforderungen von wenigstens einer anfordernden Einheit und zum Senden von Upstream-Befehlen auf Grundlage der Non-Posted-Leseanforderungen. Jeder der Upstream-Befehle wird durch eine Befehlsmarkierung eindeutig identifiziert. Der integrierte Schaltkreischip umfasst ferner eine Empfangsschaltung, die angepasst ist zum Empfangen von Antwortdaten in Erwiderung auf die Befehle, die zuvor von der Sendeschaltung gesendet worden sind, und zum Senden von Antworten an die wenigstens eine anfordernde Einheit auf Grundlage der Antwortdaten. Der integrierte Schaltkreischip umfasst ferner einen Antwortreihenfolgenwiederherstellungsmechanismus, der angepasst ist zum Steuern der Empfangsschaltung, um die Antworten in der richtigen Reihenfolge zu senden. Der Antwortreihenfolgenwiederherstellungsmechanismus umfasst eine Puffereinrichtung zum Speichern empfangener Antwortdaten. Die Puffereinrichtung weist eine Vielzahl von Pufferelementen auf, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.
  • In noch einer anderen Ausgestaltung kann ein Computersystem bereitgestellt werden, das wenigstens eine Peripheriekomponente und eine Southbridge umfasst. Die Southbridge umfasst eine Sendeeinrichtung, die angepasst ist zum Empfangen von Non-Posted-Leseanforderungen von wenigstens einem Peripheriekomponentencontroller und zum Senden von Upstream-Befehlen auf Grundlage der Non-Posted Leseanforderungen. Jeder der Upstream-Befehle wird durch eine Befehlsmarkierung eindeutig identifiziert. Die Southbridge umfasst ferner eine Leseeinrichtung, die angepasst ist zum Empfangen von Antwortdaten in Erwiderung auf die Befehle, die zuvor von der Sendeeinrichtung gesendet worden sind, und zum Senden von Antworten an den wenigstens einen Peripheriekomponentencontroller auf Grundlage der Antwortdaten. Die Southbridge umfasst ferner einen Antwortreihenfolgenwiederherstellungsmechanismus, der angepasst ist zum Steuern der Empfangseinrichtung, um die Antworten in der richtigen Reihenfolge zu senden.
  • Der Antwortreihenfolgenwiederherstellungsmechanismus umfasst eine Puffereinrichtung zum Speichern empfangener Antwortdaten. Die Puffereinrichtung weist eine Vielzahl von Pufferelementen auf, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.
  • In einer weiteren Ausgestaltung wird ein Verfahren zum Betreiben eines Southbridgebauelements bereitgestellt. Das Verfahren umfasst das Empfangen von Non-Posted-Leseanforderungen von wenigstens einer anfordernden Einheit, das Senden von Upstream-Befehlen auf Grundlage der Non-Posted-Leseanforderungen, wobei jeder Upstream-Befehl durch eine Befehlsmarkierung eindeutig identifiziert wird, das Empfangen von Antwortdaten in Erwiderung auf zuvor gesendete Befehle und das Senden von Antworten an die wenigstens eine anfordernde Einheit auf Grundlage der Antwortdaten. Das Senden der Antworten umfasst das Neuordnen der empfangenen Antwortdaten durch Zugreifen auf einen Puffer des Southbridgebauelements. Der Puffer speichert die empfangenen Antwortdaten und weist eine Vielzahl von Pufferelementen auf, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Zeichnungen sind in die Beschreibung eingefügt und bilden einen Teil derselben zum Zwecke der Erläuterung der Prinzipien der Erfindung. Die Zeichnungen sind nicht als die Erfindung nur auf die verdeutlichten und beschriebenen Beispiele beschränkend zu verstehen, wie die Erfindung gemacht und verwendet werden kann. Weitere Merkmale und Vorteile werden aus der folgenden und genaueren Beschreibung der Erfindung ersichtlich werden, wie in den beigefügten Zeichnungen erläutert, in denen:
  • 1 ein Blockdiagramm ist, das die Hardwarekomponenten eines herkömmlichen Computersystems schematisch verdeutlicht;
  • 2 die Komponenten einer konventionellen Southbridge oder eines I/O-Hubs verdeutlicht;
  • 3 ein Timingdiagramm ist, das die Sende- und Empfangszeit von Anforderungen und Antworten in einem herkömmlichen System verdeutlicht, in dem mehrfache ausstehende Anforderungen nicht unterstützt werden;
  • 4 die Komponenten eines Southbridgebauelements oder I/O-Hubs gemäß einer Ausgestaltung verdeutlicht;
  • 5 die Puffereinrichtung in weiteren Einzelheiten verdeutlicht, die eine Komponente der Anordnung von 4 ist;
  • 6 ein Timingdiagramm ist, das die Sende- und Empfangszeit von Anforderungen und Antworten gemäß einer Ausgestaltung verdeutlicht;
  • 7 ein Timingdiagramm ähnlich dem der 6 ist, das jedoch den Fall betrifft, in dem Antworten neu geordnet werden;
  • 8 ein Flussdiagramm ist, das den Anforderungssendeprozess gemäß einer Ausgestaltung verdeutlicht;
  • 9 ein Flussdiagramm ist, das die Prozessierung von Antworten gemäß einer Ausgestaltung verdeutlicht; und
  • 10 ein Flussdiagramm ist, das den Antwortordnungsprozess gemäß einer Ausgestaltung verdeutlicht.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die verdeutlichten Ausgestaltungen der vorliegenden Erfindung werden unter Bezugnahme auf die Zeichnungen beschrieben werden, in denen gleiche Elemente und Strukturen mit gleichen Bezugszeichen angegeben sind.
  • Wird nun auf die Zeichnungen und insbesondere auf 4 Bezug genommen, so werden die Hardwarekomponenten eines Southbridgebauelements wie etwa eines I/O-Hubs gemäß einer Ausgestaltung gezeigt. Vergleicht man die Anordnung von 4 mit der von 2, so wird eine Puffereinrichtung 420 bereitgestellt, die mit der Sendeeinrichtung 410 und der Empfangseinrichtung 400 verbunden ist. Weiterhin umfasst das Bauelement eine Antwortreihenfolgenwiederherstellungseinrichtung 430, die mit der Sendeeinrichtung 410, der Empfangseinrichtung 400 und der Puffereinrichtung 420 verbunden ist. Die Funktion dieser Einheiten wird unten in weiteren Einzelheiten erläutert werden.
  • In der vorliegenden Ausgestaltung ist die Puffereinrichtung 420, die mit der Sendeeinrichtung 410 und der Empfangseinrichtung 400 verbunden ist, angepasst zum Speichern von Befehlsidentifikationsdaten, die Befehle identifizieren, die von der Sendeeinrichtung 410 gesendet worden oder zu senden sind, sowie Antwortverfügbarkeitsdaten, die Antwortdaten spezifizieren, die von der Empfangseinrichtung 400 empfangen worden sind. Die Puffereinrichtung 420 der vorliegenden Ausgestaltung ist in dem Blockdiagramm von 5 in weiteren Einzelheiten gezeigt.
  • Wie aus dieser Figur ersichtlich ist, umfasst die Puffereinrichtung 420 einen Antwortpuffer 510 und einen Befehlspuffer 520. Beide Puffer sind mit einer Steuerlogik 500 zum Empfangen von Steuersignalen von der Steuerlogik verbunden. Die Steuerlogik 500 kann Statusinformationen an die Sendeeinrichtung 410 und ein Antwortvertügbarkeitssignal an die Empfangseinrichtung 400 herausgeben. Weiterhin kann die Steuerlogik 500 ein Antwortlöschsignal von der Empfangseinrichtung 400 empfangen. Darüber hinaus kann die Steuerlogik 500 mit der Antwortreihenfolgenwiederherstellungseinrichtung 430 verbunden sein.
  • Der Antwortpuffer 510 kann eine Vielzahl von Pufferelementen umfassen, die jeweils einer Befehlsmarkierung (Befehls-Tag) eindeutig zugeordnet sind. Befehlsmarkierungen sind Datenelemente, die verwendet werden, um Upstream-Befehle eindeutig zu identifizieren. Befehlsmarkierungen können Transaktionstags wie in der HyperTransport-Spezifikation spezifiziert sein, die verwendet werden, um alle im Lauf befindlichen Transaktionen, die von einer einzelnen anfordernden Einheit veranlasst worden sind, eindeutig zu identifizieren. Es kann eine vordefinierte Anzahl möglicher Werte geben, die die Befehlsmarkierungen annehmen können. Beispielsweise können die Befehle durch acht verschiedene Tag-Werte markiert werden. In diesem Fall wird es in dem Antwortpuffer 510 acht Pufferelemente zum Speichern entsprechender Antworten geben.
  • Wie aus der Figur ersichtlich ist, kann jedes Pufferelement ein Markierungsfeld zum Speichern der Markierung (Tag) und ein Antwortfeld zum Speichern der Antwort umfassen. Es ist jedoch anzumerken, dass in einer anderen Ausgestaltung das Markierungsfeld weggelassen werden kann. In diesem Fall werden die Markierungen verwendet, um das Pufferelement zu adressieren.
  • Es ist ferner anzumerken, dass der Antwortpuffer 510 der vorliegenden Ausgestaltung die Antwortdaten in der Form speichert, wie diese Daten von der Empfangseinrichtung 400 von der HyperTransport-Schnittstelleneinrichtung 200 empfangen worden sind. In einer anderen Ausgestaltung kann der Antwortpuffer 510 Antworten in der Form speichern, in der sie von der Empfangseinrichtung 400 an den jeweiligen Peripheriekomponentencontroller 230–260 geliefert werden.
  • Beide Arten von Antwortdaten können als Antwortvertügbarkeitsdaten verstanden werden, da sie Antwortdaten spezifizieren, die von der Empfangseinrichtung 400 empfangen worden sind. In einer anderen Ausgestaltung kann der Antwortpuffer 510 Antwortverfügbarkeitsdaten speichern, die von den Antworten selbst verschieden sind. Beispielsweise können die Antwortverfügbarkeitsdaten Zeiger auf Antworten oder Adressen umfassen.
  • Der Befehlspuffer 520 der Puffereinrichtung 420 kann Befehle in im wesentlichen der gleichen Weise speichern wie der Antwortpuffer 510 Antworten speichert. Die Befehle, die in dem Befehlspuffer 520 gespeichert sind, können Befehle sein, die von der Sendeeinrichtung 410 bereits gesendet worden sind. In einer anderen Ausgestaltung sind die gepufferten Befehle Befehle, die noch von der Sendeeinrichtung 410 zu senden sind. Der Befehlspuffer 520 kann auch beides speichern: Befehle, die schon gesendet worden sind, sowie Befehle, die noch zu senden sind. In einer weiteren Ausgestaltung kann der Befehlspuffer 520 Befehlsidentifikationsdaten speichern, die von den Befehlen selbst verschieden sind, jedoch die Befehle identifizieren.
  • Mittels der Puffereinrichtung 420 ermöglicht es das Southbridgebauelement oder der I/O-Hub den Busmastern 230–260, mehr als eine ausstehende Leseanforderung zu starten, d.h. weitere Anforderungen zu starten, obwohl eine zuvor plazierte Anforderung noch nicht durch eine entsprechende Antwort beantwortet worden ist. Dies kann aus 6 ersehen werden, die ein Timingdiagramm ähnlich dem der 3 ist und die Möglichkeit der Plazierung mehrerer ausstehender Anforderungen verdeutlicht. In dem Beispiel von 6 werden vier Anforderungen zeitlich eng beieinander plaziert. Die zweite, dritte und vierte Anforderung werden plaziert, obwohl die erste Anforderung noch nicht bedient worden ist. Nach einer gegebenen Zeit wird die Antwort auf die erste Anforderung empfangen. Bevor die zweite Antwort empfangen wird, wird in dem Beispiel von 6 eine fünfte Anforderung plaziert. Die Abfolge von Anforderungen und Antworten in dem Beispiel von 6 fährt mit einer zweiten und dritten Antwort, einer sechsten und siebten Anforderung usw. fort.
  • Somit können Anforderungen unabhängig davon plaziert werden, ob Antworten auf zuvor gesendete Anforderungen verfügbar sind. Darüber hinaus können Anforderungen in der Form von Bursts plaziert werden. Ein Burst ist eine Abfolge von Anforderungen, die durch aufeinanderfolgende Befehlsmarkierungen eindeutig identifiziert werden. In dem Beispiel von 6 bilden die erste bis vierte Anforderung solch einen Burst.
  • Wird nun zu 7 übergegangen, so wird ein anderes Timingdiagramm bereitgestellt, das ein Beispiel der Plazierung mehrerer ausstehender Anforderungen gibt, wobei die Antworten ungeordnet empfangen werden. Nachdem ein Burst von vier Anforderungen plaziert worden ist, wird eine Antwort auf die dritte Anforderung in dem Burst empfangen. Das bedeutet, dass die Antworten auf die erste und zweite Anforderung später als die Antwort auf die dritte Anforderung empfangen werden. Darüber hinaus kann gesehen werden, dass Antworten auf Anforderungen, die nicht in dem Burst enthalten sind, eher ankommen können als die späteste Antwort, die zu dem Burst gehört. In dem Beispiel von 7 ist die fünfte Antwort eine Antwort auf eine Anforderung, die nicht Teil des Bursts ist, jedoch wird sie früher empfangen als die vierte Antwort, die zum Burst gehört.
  • Der Prozess der Plazierung von Anforderungen wird nun unter Bezugnahme auf 8 beschrieben werden. Diese Figur zeigt ein Flussdiagramm, das mit Schritt 800 des Empfangens einer Leseanforderung von einem der Busmaster 230–260 beginnt. Die Sendeeinrichtung 410, die die Anforderung empfängt, wählt in Schritt 810 einen Befehlsmarkierungswert aus und sendet in Schritt 820 einen Upstream-Befehl auf Grundlage der empfangenen Leseanforderung an die HyperTransport-Schnittstelleneinrichtung 200. Die Sendeeinrichtung 410 puffert dann im Schritt 830 den Befehl oder irgendwelche geeigneten Befehlsidentifikationsdaten in dem Befehlspuffer 520.
  • 9 ist ein Flussdiagramm, das die Schritte verdeutlicht, die bei der Verarbeitung empfangener Antworten durchgeführt werden. In Schritt 900 empfängt die Empfangseinrichtung 400 Antwortdaten von der HyperTransporf-Schnittstelleneinrichtung 200. Die Empfangseinrichtung 400 bestimmt dann den entsprechenden Markierungswert in Schritt 910 und puffert die Antwortdaten in dem Antwortpuffer 510 im Schritt 920. Wie oben erwähnt wurde, kann die Empfangseinrichtung 400 im Puffer 510 die Antwort in anderen Formaten oder sogar irgendeine andere Art von Antworfverfügbarkeitsdaten speichern.
  • Die Empfangseinrichtung 400 kann dann im Schritt 930 feststellen, ob eine auslieferbare Antwort verfügbar ist. Obwohl der Schritt 930 in dem Flussdiagramm von 9 als nach dem Schritt 920 durchgeführt gezeigt wird, ist anzumerken, dass der Prozessfluss der Schritte 930 bis 950 vollständig unabhängig davon durchgeführt werden kann, sogar parallel zu den Schritten 900 bis 920.
  • Wenn eine auslieferbare Antwort unter Verwendung der Antwortvertügbarkeitsdaten in dem Antwortpuffer 510 als vertügbar festgestellt worden ist, sendet die Empfangseinrichtung 400 eine entsprechende Antwort downstream zu dem jeweiligen Busmaster 230–260 in Schritt 940 und löscht im Schritt 950 die Antwortverfügbarkeitsdaten in dem Puffer 510.
  • Zum Durchführen der Schritte 930 bis 950 kann die Empfangseinrichtung 400 Signale mit der Steuerlogik 500 der Puffereinrichtung 420 austauschen, wie etwa das oben erwähnte Antwortverfügbarkeitssignal und das Antwortlöschsignal.
  • Wird nun zu 10 übergegangen, so verdeutlicht das gezeigte Flussdiagramm den Prozess, mit dem die empfangenen Antworten in Reihenfolge gebracht werden. Wie oben in Bezug auf 7 diskutiert worden ist, können Antworten auf plazierte Anforderungen ungeordnet ankommen. Unter Verwendung der Puffereinrichtung 420 und der Antwortreihenfolgen wiederherstellungseinrichtung 430 ist das Bauelement von 4 mit einem Antwortreihenfolgenwiederherstellungsmechanismus ausgestattet, der angepasst ist zum Steuern der Empfangseinrichtung 400, um die Antworten in der richtigen Reihenfolge zu senden. Die Antwortreihenfolgenwiederherstellung gemäß der vorliegenden Ausgestaltung kann von dem Umstand Gebrauch machen, dass die Puffereinrichtung 420 eine Vielzahl von Pufferelementen umfasst, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.
  • Im Schritt 1000 überprüft die Empfangseinrichtung 400, ob alle miteinander in Bezug stehenden Antworten verfügbar sind. Miteinander in Bezug stehende Antworten können eine Antwort auf eine Speicherleseanforderung sein, mit der mehr als sechszehn Doppelwörter vom Speicher angefordert werden. Die Maximalzahl angeforderter Lesedaten für einen Lesebefehl wird durch das HyperTransport-Protokoll auf sechszehn Doppelwörter, d.h. 32 Bits, beschränkt. Das bedeutet, dass ein Burst von Lesebefehlen plaziert werden muss, wenn mehr Daten als 32 Bits angefordert werden. Antworten, die zu Anforderungen in ein und demselben Burst gehören, können als miteinander in Bezug stehende Antworten verstanden werden.
  • Wenn die Empfangseinrichtung 400 in Schritt 1000 feststellt, dass alle miteinander in Bezug stehenden Antworten auf eine gegebene Leseanforderung verfügbar sind, so bestimmt sie die Abfolge von Befehlsmarkierungswerten im Schritt 1010 zum Lesen der entsprechenden Antwortdaten aus dem Antwortpuffer 510 im Schritt 1020. Die Antworten werden dann im Schritt 1030 downstream gesendet und die gepufferten Antwortdaten gelöscht (Schritt 1040).
  • Wie aus der vorhergehenden Beschreibung der Ausgestaltungen ersichtlich ist, können die Ausgestaltungen von einem Markierungsfeld Gebrauch machen, das gemäß dem HyperTransport-Protokoll für jeden Non-Posted-Upstream-Befehl definiert wird. Die Ausgestaltungen stellen für jede der verwendeten Markierungen ein geeignetes Antwortpufferelement bereit, d. h. es können z. B.
  • acht Pufferelemente in den Ausgestaltungen bereitgestellt werden. Die Antworten können durch dieses Markierungsfeld geordnet werden. Die Busmaster müssen die verfügbaren Antworten und die Reihenfolge ausgesendeter Markierungen für die Lesebefehle berücksichtigen.
  • Dadurch, dass die Vielzahl von Pufferelementen der Puffereinrichtung einer der Befehlsmarkierungen eindeutig zugewiesen sind, kann die Systempertormance signifikant verbessert werden, indem die Betriebsgeschwindigkeit erhöht und die Zuverlässigkeit und Effizienz verbessert werden.
  • Wenn IDE-Geräte angeschlossen sind, werden die Antworten in dem Puffer temporär gespeichert, und wenn alle führenden Anforderungen Antworten erhalten haben, werden sie an das Gerät herausgegeben. Bei PCI werden Antworten in dem Puffer gespeichert, bis das Ursprungsgerät ein Wiederholungssignal (Retrysignal) sendet. Bei EHCI mag es keine Zwischenpufterung geben, da die EHCI-Schnittstellenarchitektur die Fähigkeit sicherstellt, Antworten bei ihrer Ankunft anzunehmen.
  • Während die Erfindung unter Bezugnahme auf die physikalischen Ausgestaltungen, die in Übereinstimmung damit konstruiert worden sind, beschrieben worden ist, wird Fachleuten ersichtlich sein, dass verschiedene Modifikationen, Variationen und Verbesserungen der vorliegenden Erfindung im Lichte der obigen Lehren und innerhalb des Umfangs der beigefügten Ansprüche gemacht werden können, ohne von der Idee und dem beabsichtigen Umfang der Erfindung abzuweichen. Zusätzlich sind solche Bereiche, in denen davon ausgegangen wird, dass sich Fachleute auskennen, hier nicht beschrieben worden, um die hier beschriebene Erfindung nicht unnötig zu verschleiern. Es ist demgemäß zu verstehen, dass die Erfindung nicht durch die spezifisch verdeutlichten Ausgestaltungen sondern nur durch den Umfang der beigefügten Ansprüche beschränkt wird.

Claims (38)

  1. Southbridgebauelement umfassend: eine Sendeeinrichtung (410), die angepasst ist zum Empfangen von Non-Posted-Leseanforderungen von wenigstens einer anfordernden Einheit und zum Senden von Upstream-Befehlen auf Grundlage der Non-Posted-Leseanforderungen, wobei jeder der Upstream-Befehle durch eine Befehlsmarkierung eindeutig identifiziert wird; eine Empfangseinrichtung (400), die angepasst ist zum Empfangen von Antwortdaten in Erwiderung auf Befehle, die zuvor von der Sendeeinrichtung gesendet worden sind, und zum Senden von Antworten an die wenigstens eine anfordernde Einheit auf Grundlage der Antwortdaten; und einen Antwortreihenfolgenwiederherstellunysmechanismus (420, 430), der angepasst ist zum Steuern der Empfangseinrichtung, um die Antworten in der richtigen Reihenfolge zu senden, wobei der Antwortreihenfolgenwiederherstellungsmechanismus eine Puffereinrichtung (420, 510) zum Speichern empfangener Antwortdaten umfasst, wobei die Puffereinrichtung eine Vielzahl von Pufferelementen aufweist, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.
  2. Southbridgebauelement nach Anspruch 1, wobei die Sendeeinrichtung imstande ist, Upstream-Befehle auf Grundlage mehrerer Non-Posted-Leseanforderungen von einer anfordernden Einheit zu senden, unabhängig von dem Vorhandensein von Antworten auf diese Anforderungen.
  3. Southbridgebauelement nach Anspruch 2, wobei die Sendeeinrichtung imstande ist, Upstream-Befehle auf Grundlage von Bursts aus Non-Posted-Leseanforderungen zu senden.
  4. Southbridgebauelement nach Anspruch 3, wobei die Upstream-Befehle, die auf einem Burst aus Non-Posted-Leseanforderungen basieren, durch aufeinanderfolgende Befehlsmarkierungen eindeutig identifiziert werden.
  5. Southbridgebauelement nach Anspruch 1, wobei die Non-Posted-Leseanforderungen Speicherleseanforderungen sind.
  6. Southbridgebauelement nach Anspruch 1, weiterhin umfassend: eine Schnittstelleneinrichtung (200), die mit der Sendeeinrichtung und der Empfangseinrichtung verbunden ist, zum Senden der Upstream-Befehle und Empfangen der Antwortdaten über eine Datenverbindung, die Split-Transaktionen unterstützt.
  7. Southbridgebauelement nach Anspruch 6, wobei die Datenverbindung, die Split-Transaktionen unterstützt, eine HyperTransport-gemäße Datenverbindung ist.
  8. Southbridgebauelement nach Anspruch 1, wobei die Antwortdaten, die in Erwiderung auf einen der Upstream-Befehle empfangen werden, sechszehn Doppelwörter breit sind.
  9. Southbridgebauelement nach Anspruch 1, wobei die Maximalzahl verschiedener Befehlsmarkierungen acht beträgt.
  10. Southbridgebauelement nach Anspruch 1, wenigstens eine anfordernde Einheit umfassend.
  11. Southbridgebauelement nach Anspruch 1, wobei die wenigstens eine anfordernde Einheit ein Festplattencontroller (230) ist.
  12. Southbridgebauelement nach Anspruch 1, wobei die wenigstens eine anfordernde Einheit ein Ethernetcontroller (240) ist.
  13. Southbridgebauelement nach Anspruch 1, wobei die wenigstens eine anfordernde Einheit ein USB-Controller (USB: Universal Serial Bus) (250) ist.
  14. Southbridgebauelement nach Anspruch 1, wobei die wenigstens eine anfordernde Einheit ein Audiocodec-Controller (260) ist.
  15. Southbridgebauelement nach Anspruch 1, wobei die Sendeeinrichtung angepasst ist zum Empfangen von Non-Posted-Leseanforderungen von wenigstens zwei anfordernden Einheiten und wobei die Sendeeinrichtung angepasst ist, um zwischen den wenigstens zwei anfordernden Einheiten bei dem Senden von Upstream-Befehlen zu arbitrieren.
  16. Southbridgebauelement nach Anspruch 1, wobei der Antwortreihenfolgenwiederherstellungsmechanismus angepasst ist zum Bereitstellen eines Antwortverfügbarkeitssignals, das die Vertügbarkeit spezifischer Antwortdaten in der Puffereinrichtung angibt.
  17. Southbridgebauelement nach Anspruch 1, wobei die Empfangseinrichtung angepasst ist, um ein Antwortlöschsignal für den Antwortreihenfolgenwiederherstellungsmechanismus bereitzustellen, um spezifische Antwortdaten in der Puffereinrichtung bei dem Senden der entsprechenden Antwort zu löschen.
  18. Southbridgebauelement nach Anspruch 1, wobei das Southbridgebauelement ein I/O-Hub (I/O: Input/Output) ist.
  19. Integrierter Schaltkreischip, umfassend: eine Sendeschaltung (410), die angepasst ist zum Empfangen von Non-Posted-Leseanforderungen von wenigstens einer anfordernden Einheit und zum Senden von Upstream-Befehlen auf Grundlage der Non-Posted-Leseanforderungen, wobei jeder der Upstream-Befehle durch eine Befehlsmarkierung eindeutig identifiziert wird; eine Empfangsschaltung (400), die angepasst ist zum Empfangen von Antwortdaten in Erwiderung auf Befehle, die von der Sendeschaltung zuvor gesendet worden sind, und zum Senden von Antworten an die wenigstens eine anfordernde Einheit auf Grundlage der Antwortdaten; und einen Antwortreihenfolgenwiederherstellungsmechanismus (420, 430), der angepasst ist zum Steuern der Empfangsschaltung, um die Antworten in der richtigen Reihenfolge zu senden, wobei der Antwortreihenfolgenwiederherstellungsmechanismus eine Puffereinrichtung (420, 510) zum Speichern empfangener Antwortdaten umfasst, wobei die Puffereinrichtung eine Vielzahl von Pufferelementen aufweist, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.
  20. Computersystem umfassend: wenigstens eine Peripheriekomponente; und eine Southbridge, die eine Sendeeinrichtung (410) umfasst, die angepasst ist zum Empfangen von Non-Posted-Leseanforderungen von wenigstens einem Peripheriekomponentencontroller und zum Senden von Upstream-Befehlen auf Grundlage der Non-Posted-Leseanforderungen, wobei jeder der Upstream-Befehle von einer Befehlsmarkierung eindeutig identifiziert wird; und wobei die Southbridge eine Empfangseinrichtung (410) umfasst, die angepasst ist zum Empfangen von Antwortdaten in Erwiderung auf Befehle, die von der Sendeeinrichtung zuvor gesendet worden sind, und zum Senden von Antworten an den wenigstens einen Peripheriekomponentencontroller auf Grundlage der Antwortdaten; wobei die Southbridge weiterhin einen Antwortreihenfolgenwiederherstellungsmechanismus (420, 430) umfasst, der angepasst ist zum Steuern der Empfangseinrichtung, um die Antworten in der richtigen Reihenfolge zu senden, wobei der Antwortreihenfolgenwiederherstellungsmechanismus eine Puffereinrichtung (420, 510) zum Speichern empfangener Antwortdaten umfasst, wobei die Puffereinrichtung eine Vielzahl von Pufferelementen aufweist, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.
  21. Verfahren zum Betreiben eines Southbrigebauelements, wobei das Verfahren umfasst: Empfangen (800) von Non-Posted-Leseanforderungen von wenigstens einer anfordernden Einheit; Senden (820) von Upstream-Befehlen auf Grundlage der Non-Posted-Leseanforderungen, wobei jeder der Upstream-Befehle von einer Befehlsmarkierung eindeutig identifiziert wird; Empfangen (900) von Antwortdaten in Erwiderung auf zuvor gesendete Befehle; und Senden (940) von Antworten an die wenigstens eine anfordernde Einheit auf Grundlage der Antwortdaten; wobei das Senden der Antworten umfasst: Neuordnen (1000–1040) der empfangenen Antwortdaten durch Zugreifen auf einen Puffer des Southbridgebauelemenis, wobei der Puffer die empfangenen Antwortdaten speichert und eine Vielzahl von Pufferelementen aufweist, die jeweils einer der Befehlsmarkierungen eindeutig zugeordnet sind.
  22. Verfahren nach Anspruch 21, wobei die Upstream-Befehle auf Grundlage mehrerer Non-Posted-Leseanforderungen von einer anfordernden Einheit gesendet werden, unabhängig von der Verfügbarkeit von Antworten auf diese Anforderungen.
  23. Verfahren nach Anspruch 22, wobei die Upstream-Befehle auf Grundlage von Bursts aus Non-Posted-Leseanforderungen gesendet werden.
  24. Verfahren nach Anspruch 23, wobei die Upstream-Befehle, die auf einem Burst aus Non-Posted-Leseanforderungen basieren, durch aufeinanderfolgende Befehlsmarkierungen eindeutig identifiziert werden.
  25. Verfahren nach Anspruch 21, wobei die Non-Posted-Leseanforderungen Speicherleseanforderungen sind.
  26. Verfahren nach Anspruch 21, wobei das Senden der Upstream-Befehle und das Empfangen der Antwortdaten über eine Datenverbindung durchgeführt werden, die Split-Transaktionen unterstützt.
  27. Verfahren nach Anspruch 26, wobei die Datenverbindung, die Split-Transaktionen unterstützt, eine HyperTransport-gemäße Datenverbindung ist.
  28. Verfahren nach Anspruch 21, wobei die Antwortdaten, die in Erwiderung auf einen der Upstream-Befehle empfangen werden, sechszehn Doppelwörter breit sind.
  29. Verfahren nach Anspruch 21, wobei die Maximalzahl verschiedener Befehlsmarkierungen acht beträgt.
  30. Verfahren nach Anspruch 21, wobei das Empfangen der Non-Posted-Leseanforderung und das Senden der Antworten von und zu anfordernden Einheiten durchgeführt werden, die in dem Southbridgebauelement enthalten sind.
  31. Verfahren nach Anspruch 21, wobei die wenigstens eine anfordernde Einheit ein Festplattencontroller ist.
  32. Verfahren nach Anspruch 21, wobei die wenigstens eine anfordernde Einheit ein Ethernetcontroller ist.
  33. Verfahren nach Anspruch 21, wobei die wenigstens eine anfordernde Einheit ein USB-Controller (USB: Universal Serial Bus) ist.
  34. Verfahren nach Anspruch 21, wobei die wenigstens eine anfordernde Einheit ein Audiocodec-Controller ist.
  35. Verfahren nach Anspruch 21, wobei die Non-Posted-Leseanforderungen von wenigstens zwei anfordernden Einheiten empfangen werden und das Verfahren weiterhin umfasst: Arbitrieren zwischen den wenigstens zwei anfordernden Einheiten beim Senden der Upstream-Befehle.
  36. Verfahren nach Anspruch 21, wobei das Neuordnen der empfangenen Antwortdaten umfasst: Bereitstellen eines Antwortverfügbarkeitssignals, das die Verfügbarkeit spezifischer Antwortdaten in dem Puffer angibt.
  37. Verfahren nach Anspruch 21, wobei das Senden der Antworten weiterhin umfasst: Bereitstellen (950, 1040) eines Antwortlöschsignals zum Löschen von Antwortdaten in dem Puffer, die gesendete Antworten betreffen.
  38. Verfahren nach Anspruch 21, zum Betreiben eines I/O-Hubs (I/O: Input/Output).
DE10234934A 2002-07-31 2002-07-31 Antwortreihenwiederherstellungsmechanismus Withdrawn DE10234934A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10234934A DE10234934A1 (de) 2002-07-31 2002-07-31 Antwortreihenwiederherstellungsmechanismus
US10/285,939 US20040024948A1 (en) 2002-07-31 2002-11-01 Response reordering mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10234934A DE10234934A1 (de) 2002-07-31 2002-07-31 Antwortreihenwiederherstellungsmechanismus

Publications (1)

Publication Number Publication Date
DE10234934A1 true DE10234934A1 (de) 2004-03-18

Family

ID=30774962

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10234934A Withdrawn DE10234934A1 (de) 2002-07-31 2002-07-31 Antwortreihenwiederherstellungsmechanismus

Country Status (2)

Country Link
US (1) US20040024948A1 (de)
DE (1) DE10234934A1 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10234933A1 (de) 2002-07-31 2004-03-18 Advanced Micro Devices, Inc., Sunnyvale Pufferung von Non-Posted-Lesebefehlen und Antworten
US7149874B2 (en) * 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
DE10255937B4 (de) * 2002-11-29 2005-03-17 Advanced Micro Devices, Inc., Sunnyvale Ordnungsregelgesteuerte Befehlsspeicherung
US8386648B1 (en) * 2003-06-26 2013-02-26 Nvidia Corporation Hardware support system for accelerated disk I/O
US7136958B2 (en) 2003-08-28 2006-11-14 Micron Technology, Inc. Multiple processor system and method including multiple memory hub modules
US8683132B1 (en) 2003-09-29 2014-03-25 Nvidia Corporation Memory controller for sequentially prefetching data for a processor of a computer system
US7120743B2 (en) * 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US8356142B1 (en) 2003-11-12 2013-01-15 Nvidia Corporation Memory controller for non-sequentially prefetching data for a processor of a computer system
US20050143843A1 (en) * 2003-11-25 2005-06-30 Zohar Bogin Command pacing
US8700808B2 (en) * 2003-12-01 2014-04-15 Nvidia Corporation Hardware support system for accelerated disk I/O
US7788451B2 (en) 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US7412574B2 (en) * 2004-02-05 2008-08-12 Micron Technology, Inc. System and method for arbitration of memory responses in a hub-based memory system
US7257683B2 (en) * 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US7447240B2 (en) * 2004-03-29 2008-11-04 Micron Technology, Inc. Method and system for synchronizing communications links in a hub-based memory system
US7228362B2 (en) * 2004-03-31 2007-06-05 Intel Corporation Out-of-order servicing of read requests with minimal additional storage
US7441055B2 (en) * 2004-03-31 2008-10-21 Intel Corporation Apparatus and method to maximize buffer utilization in an I/O controller
US6980042B2 (en) * 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7363419B2 (en) * 2004-05-28 2008-04-22 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US8356143B1 (en) 2004-10-22 2013-01-15 NVIDIA Corporatin Prefetch mechanism for bus master memory access
JP2006293969A (ja) * 2005-03-17 2006-10-26 Fujitsu Ltd データ転送装置
US7716388B2 (en) * 2005-05-13 2010-05-11 Texas Instruments Incorporated Command re-ordering in hub interface unit based on priority
US7469097B2 (en) * 2005-12-15 2008-12-23 Hewlett-Packard Development Company, L.P. Method and apparatus for coping with condition in which subject is too close to digital imaging device for acceptable focus
US8930593B2 (en) * 2007-11-26 2015-01-06 Spansion Llc Method for setting parameters and determining latency in a chained device system
US8356128B2 (en) * 2008-09-16 2013-01-15 Nvidia Corporation Method and system of reducing latencies associated with resource allocation by using multiple arbiters
US8370552B2 (en) * 2008-10-14 2013-02-05 Nvidia Corporation Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions
US8698823B2 (en) * 2009-04-08 2014-04-15 Nvidia Corporation System and method for deadlock-free pipelining
US8199759B2 (en) * 2009-05-29 2012-06-12 Intel Corporation Method and apparatus for enabling ID based streams over PCI express
KR101841173B1 (ko) * 2010-12-17 2018-03-23 삼성전자주식회사 리오더 버퍼를 이용한 메모리 인터리빙 장치 및 그 메모리 인터리빙 방법
US9069912B2 (en) * 2012-03-31 2015-06-30 Qualcomm Technologies, Inc. System and method of distributed initiator-local reorder buffers
CN102929562B (zh) * 2012-10-09 2015-05-06 无锡江南计算技术研究所 基于识别标识的可扩展重排序方法
GB2550829B (en) * 2014-10-14 2021-09-22 Advanced Risc Mach Ltd Transaction response modification within interconnect circuitry
CN114691571A (zh) * 2020-12-28 2022-07-01 上海寒武纪信息科技有限公司 数据处理方法、重排序缓存器及互联设备
US11775467B2 (en) * 2021-01-14 2023-10-03 Nxp Usa, Inc. System and method for ordering transactions in system-on-chips

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112265A (en) * 1997-04-07 2000-08-29 Intel Corportion System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command
US6243781B1 (en) * 1998-12-03 2001-06-05 Intel Corporation Avoiding deadlock by storing non-posted transactions in an auxiliary buffer when performing posted and non-posted bus transactions from an outbound pipe
DE69524216T2 (de) * 1994-05-20 2002-07-25 Intel Corp Verfahren und vorrichtung zum erhalten von transaktionsanordnungen und zur arbitrierung in einer busbrücke

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768548A (en) * 1992-04-15 1998-06-16 Intel Corporation Bus bridge for responding to received first write command by storing data and for responding to received second write command by transferring the stored data
US5822772A (en) * 1996-03-22 1998-10-13 Industrial Technology Research Institute Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
US6157976A (en) * 1998-05-06 2000-12-05 Ess Technology PCI-PCI bridge and PCI-bus audio accelerator integrated circuit
US6477610B1 (en) * 2000-02-04 2002-11-05 International Business Machines Corporation Reordering responses on a data bus based on size of response
US6571332B1 (en) * 2000-04-11 2003-05-27 Advanced Micro Devices, Inc. Method and apparatus for combined transaction reordering and buffer management
US20030041073A1 (en) * 2001-08-21 2003-02-27 Collier Josh D. Method and apparatus for reordering received messages for improved processing performance
US6760792B1 (en) * 2001-10-15 2004-07-06 Advanced Micro Devices, Inc. Buffer circuit for rotating outstanding transactions
DE10234933A1 (de) * 2002-07-31 2004-03-18 Advanced Micro Devices, Inc., Sunnyvale Pufferung von Non-Posted-Lesebefehlen und Antworten
DE10255937B4 (de) * 2002-11-29 2005-03-17 Advanced Micro Devices, Inc., Sunnyvale Ordnungsregelgesteuerte Befehlsspeicherung

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69524216T2 (de) * 1994-05-20 2002-07-25 Intel Corp Verfahren und vorrichtung zum erhalten von transaktionsanordnungen und zur arbitrierung in einer busbrücke
US6112265A (en) * 1997-04-07 2000-08-29 Intel Corportion System for issuing a command to a memory having a reorder module for priority commands and an arbiter tracking address of recently issued command
US6243781B1 (en) * 1998-12-03 2001-06-05 Intel Corporation Avoiding deadlock by storing non-posted transactions in an auxiliary buffer when performing posted and non-posted bus transactions from an outbound pipe

Also Published As

Publication number Publication date
US20040024948A1 (en) 2004-02-05

Similar Documents

Publication Publication Date Title
DE10234934A1 (de) Antwortreihenwiederherstellungsmechanismus
DE10234933A1 (de) Pufferung von Non-Posted-Lesebefehlen und Antworten
DE10234992A1 (de) Retry-Mechanismus für blockierende Schnittstellen
DE10255937B4 (de) Ordnungsregelgesteuerte Befehlsspeicherung
DE4121446C2 (de) Terminal-Server-Architektur
DE69837377T2 (de) Datenübertragungssystem und verfahren
DE69932400T2 (de) Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen
DE3725343C2 (de) Vielzweck-Kanalsteuersystem
DE102009061279B3 (de) Bereitstellung eines Präfixes für einen Datenkopf
DE102007012054B4 (de) Mehrmasterverkettungszweidrahtseriellbus
DE10030148A1 (de) Brückenvorrichtung
DE60309391T2 (de) Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren
DE102013224101A1 (de) Verbinden mehrerer Slave-Vorrichtungen mit einem einzigen Master
DE10214067B4 (de) Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
DE4035837A1 (de) Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation
DE4135830C2 (de) Parallelinterface
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE602004009728T2 (de) Verfahren zur Erhöhung der Übertragungsgeschwindigkeit einer Multimediakarte mit einem differentiellen Signal
DE60017774T2 (de) Verfahren und vorrichtung zur unterstützung von mehrtaktübertragung in einem rechnersystem mit einer punkt-zu-punkt halb-duplex verbindung
DE112004002043T5 (de) Verfahren, System und Programm zum Aufbau eines Pakets
DE10314175A1 (de) Bussystem sowie Informationsverarbeitungssystem, das ein Bussystem einschliesst
DE10061770B4 (de) Zugriffsregelung für Steuerchipsätzen bei Bustransaktion
DE10224163A1 (de) Transaktionsdauermanagement in einem USB-Hostcontroller
DE10057794B4 (de) Verfahren für Datentransaktionen zwischen Steuerchipsätzen
DE10056152A1 (de) Verfahren zur Durchführung von Busarbitration zwischen Steuerchips eines Chipsatzes mit preemptiver Fähigkeit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

8128 New person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,

R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130201