DE10214067B4 - Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren - Google Patents

Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren Download PDF

Info

Publication number
DE10214067B4
DE10214067B4 DE10214067A DE10214067A DE10214067B4 DE 10214067 B4 DE10214067 B4 DE 10214067B4 DE 10214067 A DE10214067 A DE 10214067A DE 10214067 A DE10214067 A DE 10214067A DE 10214067 B4 DE10214067 B4 DE 10214067B4
Authority
DE
Germany
Prior art keywords
circuit unit
data
request
control signal
circuit
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 - Fee Related
Application number
DE10214067A
Other languages
English (en)
Other versions
DE10214067A1 (de
Inventor
Thomas Kunjan
Frank Barth
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 DE10214067A priority Critical patent/DE10214067B4/de
Priority to US10/259,665 priority patent/US7096290B2/en
Publication of DE10214067A1 publication Critical patent/DE10214067A1/de
Application granted granted Critical
Publication of DE10214067B4 publication Critical patent/DE10214067B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Abstract

Integrierter Schaltkreischip mit einer On-Chip-Hochgeschwindigkeitsdatenschnittstelle, umfassend eine erste und eine zweite Schaltungseinheit (300, 330, 1100, 1130), wobei:
die erste und zweite Schaltungseinheit Anforderungen an die jeweils andere erste bzw. zweite Schaltungseinheit senden können;
die erste und zweite Schaltungseinheit eine Antwort zurücksenden können, wenn sie eine Anforderung empfangen, die eine Antwort erfordert;
die erste Schaltungseinheit Daten bezüglich einer zu sendenden Anforderung speichern kann; und
die zweite Schaltungseinheit keine Daten bezüglich einer empfangenen Anforderung speichern kann,
wobei die zweite Schaltungseinheit mit der ersten Schaltungseinheit verbunden ist, um ein Steuersignal an die erste Schaltungseinheit zu liefern, und wobei die erste Schaltungseinheit eingerichtet ist zum Verzögern des Sendens weiterer Anforderungsdaten, wenn das Steuersignal anzeigt, dass die zweite Schaltungseinheit nicht bereit zum Empfangen weiterer Anforderungsdaten ist, und
wobei die zweite Schaltungseinheit mit der ersten Schaltungseinheit verbunden ist, um ein Flush-Signal an die erste Schaltungseinheit zu liefern, und wobei die...

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft allgemein Datenschnittstellen auf einem Chip (on-chip) und insbesondere integrierte Schaltkreischips mit Schaltungseinheiten, die Anforderungen (Requests) und Antworten (Responses) untereinander austauschen können, sowie Southbridgebauelemente und zugehörige Verfahren.
  • 2. Beschreibung des Standes der Technik
  • Integrierte Schaltkreischips werden für Datenverarbeitung oft verwendet und umfassen bekanntermaßen eine Anzahl verschiedener Schaltungseinheiten. Im Allgemeinen dient jede Schaltungseinheit der Durchführung einer spezifischen Funktion und es können natürlich auch verschiedene Schaltungseinheiten auf einem Chip zum Durchführen derselben Funktion bereitgestellt werden, oder zum Durchführen verschiedener Funktionen. Die Schaltungseinheiten können sequentiell oder simultan arbeiten und ihre Funktion unabhängig voneinander ausführen, oder abhängig vom Betrieb anderer Schaltungseinheiten.
  • Im letzteren Falle sind die Schaltungseinheiten gewöhnlich miteinander über eine Schnittstelle verbunden, um den Schaltungseinheiten zu gestatten, Daten untereinander auszutauschen, die benötigt werden, um den Betrieb einer Schaltungseinheit abhängig vom Betrieb der anderen Schaltungseinheit zu machen. Der Datenaustausch wird oft durch das Senden von Transaktionen von einer Schaltungseinheit zu der anderen Schaltungseinheit durchgeführt.
  • Eine Transaktion ist eine Abfolge von Paketen, die zwischen den Schaltungseinheiten ausgetauscht werden und zu einem Transfer von Informationen führen. Die Schaltungseinheit, die eine Transaktion veranlasst, wird Quelle (Source) genannt, und die Schaltungseinheit, die schließlich die Transaktion für die Sourceeinheit ableistet, wird Ziel (Target) genannt. Es ist anzumerken, dass es auch zwischenliegende Einheiten zwischen der Sourceeinheit und der Targeteinheit geben kann.
  • Transaktionen können verwendet werden, um Anforderungen zu plazieren oder auf eine empfangene Anforderung zu antworten. Nimmt man die Anforderungen, so können Posted-Anforderungen von Non-Posted-Anforderungen unterschieden werden, abhängig davon, ob die Anforderung eine Antwort erfordert. Genauer gesagt ist eine Non-Posted-Anforderung eine Anforderung, die eine Antwort erfordert, während eine Posted-Anforderung eine Antwort nicht erfordert.
  • Wendet man sich den Funktionen zu, die von den untereinander verbundenen Schaltungseinheiten durchgeführt werden, können die Schaltungseinheiten oft in Hosts und Devices (Geräte) unterteilt werden. Der Begriff Host bedeutet dann eine Schaltungseinheit, die für das abhängige Device Dienste bereitstellt. Eine Transaktion vom Host zum Device wird als downstream (nach unten) bezeichnet, während eine Transaktion in die andere Richtung als upstream (nach oben) bezeichnet wird. In bidirektionalen Konfigurationen können sowohl der Host als auch das Device Anforderungen und Antworten senden und empfangen, so dass ein Device sowohl eine Sourceeinheit als auch eine Targeteinheit sein kann und auch der Host sowohl als Sourceeinheit als auch als Target-einheit arbeiten kann.
  • Ein Gebiet, in dem integrierte Schaltkreischips allgemein verwendet werden, sind Personalcomputer. Wird auf 1 Bezug genommen, so sind die Hardwarekomponenten eines gewöhnlichen Motherboard-Layouts dargestellt. Es ist anzumerken, dass diese Figur nur ein Beispiel eines Motherboard- Layouts zeigt und andere Konfigurationen ebenfalls bestehen. Die Basiselemente, die auf dem Motherboard von 1 zu finden sind, schließen die CPU (Central Processing Unit, zentrale Verarbeitungseinheit) 100, eine Northbridge 105, eine Southbridge 110 und den Systemspeicher 115 ein. Die Northbridge 105 ist gewöhnlich ein einzelner Chip in einem Core-Logic-Chipsatz, der den Prozessor 100 mit dem Systemspeicher 115 verbindet sowie z. B. mit dem AGP-Bus (Accelerated Graphic Port) und PCI-Bus (Peripheral Component Interface). Der PCI-Bus wird in Personalcomputern gewöhnlich zum Bereitstellen eines Datenpfades zwischen dem Prozessor 100 und Peripheriegeräten wie etwa Videokarten, Soundkarten, Netzwerkschnittstellenkarten und Modems verwendet. Der AGP-Bus ist ein Hochgeschwindigkeitsgrafikerweiterungsbus, der den Displayadapter und den Systemspeicher 115 direkt verbindet. AGP arbeitet unabhängig von dem PCI-Bus.
  • Die Southbridge 110 ist gewöhnlich der Chip in einem Core-Logic-Systemchipsatz, der den IDE-Bus (Integrated Drive Electronics) oder EIDE-Bus (Enhanced IDE) steuert, den USB-Bus (Universal Serial Bus), der Plug-and-Play unterstützt, die PCI-ISA-Bridge (Industry Standard Architecture) steuert, die Tastatur/Maus-Steuerung verwaltet, Powermanagementeigenschaften bereitstellt und andere Peripheriegeräte steuert.
  • Somit enthalten übliche Personalcomputer Southbridges 110, die integrierte Schaltkreischips im Wesentlichen wie oben beschrieben sind. Um dem Bedarf an Hochgeschwindigkeits-Chip-zu-Chip-Kommunikation zu und von der Southbridge 110 nachzukommen, wurde die HyperTransport®-Technologie entwickelt, die eine hochperformante Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindung auf dem Board (on-board) zum Verbinden integrierter Schaltkreise untereinander auf einem Motherboard bereitstellt. Sie kann signifikant schneller als ein PCI-Bus für eine äquivalente Anzahl von Pins sein. Die HyperTransport-Technologie wurde entworfen, um signifikant mehr Bandbreite als gegenwärtige Technologien bereitzustellen, Low-Latency-Antworten zu verwenden, eine geringe Pinzahl bereitzustellen, zu Legacy-Computerbussen kompatibel zu sein, auf neue Systemnetzwerkarchitekturbusse erweiterbar zu sein, für Betriebssysteme transparent zu sein und geringe Auswirkungen auf Peripheriegeräte zu haben.
  • Während die HyperTransport-Schnittstelle somit eine Hochgeschwindigkeits-Chip-zu-Chip-Schnittstelle bereit stellt, kann die Datenverarbeitung, die innerhalb der Chips selbst durchgeführt wird, oft zum Flaschenhals werden. Es gibt somit im Stand der Technik ein Problem damit, dass die vollen Leistungseigenschaften, die durch Interchipschnittstellen auf dem Board wie etwa der HyperTransport-Schnittstelle bereitgestellt werden, nicht zu den Peripheriegeräten heruntergeführt werden können, da die On-Chip-Schnittstellen in zwischenliegenden integrierten Schaltkreischips die Gesamtperformance verringern.
  • Aus der US 6,151,651 A eine Kommunikationsverbindung mit isochronen und asynchronen Prioritätsmodi bekannt, die Brückenschaltungen in einem Computersystem verbindet.
  • Die US 5,764,933 A betrifft die Vermeidung von Deadlock-Situationen in einem System mit zwei Brücken durch das Auswerfen (Flushing) von Schreibpuffern in der ersten Brücke.
  • Die US 6,353,867 B1 beschreibt eine On-Chip-Schnittstelle für virtuelle Komponenten.
  • US 6,266,715 B1 offenbart einen US B-Controller, der einen DMA-Modus aufweist. Ein Kanal kann über ein DMA-Anforderungssignal von einem Peripheriegerät oder einem Speicherbauelement aktiviert werden. Ein Microcontroller ist speziell darauf angepasst, eine Funktionalität auf einem Chip zu kombinieren. USB kann einen Microcontroller mit einem Computersystem verbinden. Es wird beschrieben, dass die USB-Urheber mit einer Pufferung beabsichtigt haben, eine Quelle und eine Bestimmung für USB-Daten bereitzustellen. Der Microcontroller wird als bevorzugterweise einen internen Bus enthaltend beschrieben. Der Begriff „Microcontroller” deckt hierbei alle Produkte ab und bedeutet allgemein eine Ausführungseinheit mit zusätzlicher Funktionalität, die vollständig auf einer einzelnen monolithischen integrierten Schaltung implementiert ist. Ein US B-Gerät kann ein Microcontroller sein. Ein USB-Gerät ist bereit zum Empfangen oder Senden von Daten, wann immer der USB-Host einen solchen Transfer anfordert. Ein USB-Empfangs-FIFO ist nicht leer. Ein USB-Sende-FIFO arbeitet zirkulär, solange der USB-Empfangs-FIFO nicht voll ist.
  • US 5,007,012 A offenbart ein Fly-by-Datentransfersystem. Eine DMA-Einrichtung ist zwischen dem Gerät und einem Speicher gelegen. In Fly-by-DMA-Lesedatentransfers werden Daten vom Speicher gelesen und an das anfordernde Gerät unter Steuerung der DMA-Einrichtung gesendet, jedoch nicht in einem temporären Speicherregister desselben. Lesedaten können in einem temporären Register gespeichert werden. Die DMA-Einrichtung umfasst ein temporäres Register, das übertragene Daten hält. Die Daten aus dem Speicher werden in dem temporären Register gespeichert. Das temporäre Register ist in dem DMA-Gerät gelegen.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • Der Erfindung liegt die Aufgabe zugrunde, einen integrierten Schaltkreischip mit einer On-Chip-Hochgeschwindigkeitsdatenschnittstelle sowie ein zugehöriges Southbridgebauelement und Verfahren bereitzustellen, die die Leistung der On-Chip-Schnittstelle erhöhen.
  • Die Erfindung wird durch die Gegenstände der unabhängigen Patentansprüche angegeben. Bevorzugte Ausgestaltungen sind in den Unteransprüchen definiert.
  • Eine verbesserte Schnittstelle auf einem Chip wird somit bereitgestellt, die die Verbesserung der gesamten Systemperformance gestatten und eine niedrigere Latency bereitstellen kann.
  • In einer ersten Ausgestaltung wird ein integrierter Schaltkreischip bereitgestellt, der eine erste und eine zweite Schaltungseinheit umfasst. Jede der ersten und zweiten Schaltungseinheiten kann Anforderungen an die andere der ersten und zweiten Schaltungseinheiten senden. Weiterhin kann jede der ersten und zweiten Schaltungseinheiten eine Antwort zurücksenden, wenn sie eine Anforderung empfängt, die eine Antwort erfordert. Die erste Schaltungseinheit kann Daten speichern, die eine zu sendende Anforderung betreffen. Die zweite Schaltungseinheit kann nicht Daten speichern, die eine empfangene Anforderung betreffen.
  • In einer anderen Ausgestaltung kann ein Southbridgebauelement bereitgestellt werden, das einen integrierten Schaltkreischip umfasst, der eine erste und eine zweite Schaltungseinheit aufweist. Jede der ersten und zweiten Schaltungseinheiten kann Anforderungen an die andere der ersten und zweiten Schaltungseinheiten senden. Weiterhin kann jede der ersten und zweiten Schaltungseinheiten eine Antwort zurücksenden, wenn sie eine Anforderung empfängt, die eine Antwort erfordert. Die erste Schaltungseinheit kann Daten speichern, die eine zu sendende Anforderung betreffen. Die zweite Schaltungseinheit kann nicht Daten speichern, die eine empfangene Anforderung betreffen.
  • In einer weiteren Ausgestaltung wird ein Verfahren zum Betreiben eines integrierten Schaltkreischips bereitgestellt, der eine erste und eine zweite Schaltungseinheit umfasst. Das Verfahren umfasst das Senden von Anforderungen von einer der ersten und zweiten Schaltungseinheiten zu der anderen der ersten und zweiten Schaltungseinheiten, und das Zurücksenden einer Antwort von der anderen der ersten und zweiten Schaltungseinheiten zu der einen der ersten und zweiten Schaltungseinheiten, wenn die Anforderung eine Antwort erfordert. Das Verfahren umfasst weiterhin das Betreiben der ersten Schaltungseinheit, um Daten zu speichern, die eine von der ersten Schaltungseinheit zu sendende Anforderung betreffen, und das Betreiben der zweiten Schaltungseinheit, um keine Daten zu speichern, die eine Anforderung betreffen, die von der zweiten Schaltungseinheit empfangen wird.
  • 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 gewöhnliches Motherboard-Layout verdeutlicht;
  • 2 eine Southbridge gemäß einer Ausgestaltung verdeutlicht;
  • 3 eine Targetschnittstelle gemäß einer Ausgestaltung verdeutlicht;
  • 4 ein Flussdiagramm ist, das den Prozess der Durchführung einer Downstreamanforderungstransmission unter Verwendung der in 3 gezeigten Targetschnittstelle verdeutlicht;
  • 5 ein Signalformdiagramm ist, das Signalformen verdeutlicht, die auftreten können, wenn eine Downstreamanforderungstransmission durchgeführt wird;
  • 6 ein anderes Signalformdiagramm ist, das eine Downstreamanforderungstransmission betrifft;
  • 7 wiederum ein anderes Signalformdiagramm zur Verdeutlichung der Downstreamanforderungstransmission ist;
  • 8 ein Flussdiagramm ist, das den Prozess der Durchführung einer Upstreamantworttransmission gemäß einer Ausgestaltung verdeutlicht;
  • 9 ein Signalformdiagramm ist, das Signalformen zeigt zur Verdeutlichung einer Upstreamanforderungstransmission;
  • 10 ein anderes Signalformdiagramm ist, das eine Upstreamanforderungstransmission verdeutlicht;
  • 11 eine Sourceschnittstelle gemäß einer Ausgestaltung verdeutlicht;
  • 12 ein Flussdiagramm ist, das den Prozess der Durchführung einer Upstreamanforderungstransmission gemäß einer Ausgestaltung verdeutlicht;
  • 13 ein Signalformdiagramm ist, das Signalformen verdeutlicht, die auftreten können, wenn eine Upstreamanforderungstransmission durchgeführt wird;
  • 14 ein anderes Signalformdiagramm ist, das die Upstreamanforderungstransmission betrifft;
  • 15 ein weiteres Signalformdiagramm zur Verdeutlichung von Signalformen in einer Upstreamanforderungstransmission ist;
  • 16 ein Flussdiagramm ist, das den Prozess der Durchführung einer Downstreamantworttransmission gemäß einer Ausgestaltung verdeutlicht;
  • 17 ein Signalformdiagramm ist, das Signalformen zeigt, die auftreten können, wenn die Downstreamantworttransmission von 16 durchgeführt wird;
  • 18 ein anderes Signalformdiagramm ist, das die Downstreamantworttransmission betrifft;
  • 19 ein Signalformdiagramm ist, das ein anderes Beispiel von Signalformen in dem Prozess der Durchführung einer Downstreamantworttransmission zeigt; und
  • 20 ein anderes Signalformdiagramm des Downstreamantworttransmissionsprozesses ist.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die verdeutlichenden Ausgestaltungen der vorliegenden Erfindung werden unter Bezugnahme auf die Zeichnungen beschrieben werden.
  • Wird nun auf die Zeichnungen und insbesondere auf 2 Bezug genommen, die die Komponenten einer Southbridge einer Ausgestaltung verdeutlicht, umfasst das Bauelement eine Hostschaltung 210 und eine Deviceschaltung (Geräteschaltung) 230. Die Hostschaltung 210 ist über eine Chip-zu-Chip-Schnittstelle 200 mit einer Northbridge oder einem anderen integrierten Schaltkreischip wie etwa einem Speicherkontroller oder einem Prozessor verbunden. Die Chip-zu-Chip-Schnittstelle 200 der vorliegenden Ausgestaltung kann eine HyperTransport-Verbindung sein.
  • Auf der anderen Seite enthält die Southbridge eine Chip-zu-Peripheriegerät-Schnittstelle 240, um die Deviceschaltung 230 mit den Peripheriegeräten zu verbinden.
  • Weiterhin wird eine On-Chip-Schnittstelle 220 zwischen der Hostschaltung 210 und der Deviceschaltung 230 bereitgestellt. Diese On-Chip-Schnittstelle kann eine Split-Transaktionsschnittstelle sein. Split-Transaktionsschnittstellen sind Schnittstellen, bei denen Anforderungen und Antworten auf dem Bus als vollständig entkoppelte und unabhängige Transaktionen übertragen werden. Ein Beispiel einer Split-Transaktionsverbindung ist die HyperTransport-Schnittstelle, die jedoch eine Chip-zu-Chip-Schnittstelle 200 ist. In der vorliegenden Ausgestaltung handelt es sich um eine On-Chip-Schnittstelle 220, die diese Funktionalität aufweist.
  • Die On-Chip-Schnittstelle 220 der vorliegenden Ausgestaltung weist zwei Komponenten auf, eine Targetschnittstelle und eine Sourceschnittstelle. Diese Schnittstellen sind in weiteren Einzelheiten in den 3 bzw. 11 gezeigt und werden unten diskutiert werden. Die Targetschnittstelle ist die Schnittstelle, bei der Anforderungen downstream gesendet werden, d. h. vom Host zum Device, und Antworten upstream. Andererseits ist die Sourceschnittstelle diejenige Schnittstelle, bei der Anforderungen upstream und Antworten downstream gesendet werden. Im Folgenden wird eine Anforderung in der Targetschnittstelle auch Targetbefehl und eine Anforderung in der Sourceschnittstelle Sourcebefehl genannt.
  • Ausgehend von den in den 3 bzw. 11 gezeigten Target- und Sourceschnittstellen wird eine Schnittstelle zwischen zwei Schaltungseinheiten 210, 230, 300, 330, 1100, 1130 bereitgestellt, bei der jede Einheit Anforderungen an die andere Einheit senden und auch eine Antwort, wenn erforderlich, zurücksenden kann, d. h. im Falle einer Non-Posted-Anforderung. Die Targetschnittstelle kann mehrere ausstehende Non-Posted-Anforderungen unterstützen, d. h. Tags. Darüber hinaus werden alle Daten für die Sourceschnittstelle, z. B. die Busmasterdaten, nur in dem Device 230, 330, 1130, jedoch nicht im Host 210, 300, 1100 gespeichert.
  • Das bedeutet, dass der Host alle Targetbefehle und Antworten auf Targetbefehle puffert und es dem Device somit ermöglicht wird, eine Targetbefehlstransmission zeitweilig zu unterbrechen (eine Pause einzufügen), während es dem Host nicht gestattet ist, eine Targetantworttransmission zeitweilig zu unterbrechen. Andererseits puffert das Device alle Sourcebefehle (einschließlich der Daten) und alle Antworten auf Sourcebefehle. Folglich ist es dem Device nicht gestattet, eine Sourcebefehlstransmission und eine Antworttransmission zeitweilig zu unterbrechen, während der Host Antwort- oder Befehlstransmissionen zeitweilig unterbrechen kann.
  • In der vorliegenden Ausgestaltung kann es zwei Arten von Antworten geben:
    Leseantworten und Targeterledigungsantworten. Beide können Beendigungsinformationen enthalten. Zusätzlich geben Leseantworten auch Daten zurück. Die Befehle können durch ihre Typen (Lesetyp oder Schreibtyp) unterschieden werden sowie abhängig davon, ob die Anforderung eine Posted- oder eine Non-Posted-Anforderung ist. Non-Posted-Anforderungen vom Lesetyp erfordern eine Leseantwort und Non-Posted-Anforderungen vom Schreibtyp erfordern eine Targeterledigungsantwort.
  • Weiterhin können die Befehle eine verschiedene Anzahl von Datenphasen aufweisen und die Anzahl der Datenphasen, die für eine Anforderung zulässig sind, kann vordefiniert sein. Dies legt die Länge der Anforderung (wenn vom Schreibtyp) oder der Antwort (wenn vom Lesetyp) fest.
  • Wird nun zu 3 übergegangen, die eine Ausgestaltung einer Targetschnittstelle verdeutlicht, so sind der Host 300 und das Targetdevice 330 über vielfache Signalleitungen zum Übertragen von Anforderungs- und Antwortdaten verbunden. Zu diesem Zweck umfasst sowohl der Host 300 als auch das Targetdevice 330 eine Befehlsschnittstelleneinrichtung 310 bzw. 340 und eine Antwortschnittstelleneinrichtung 320 bzw. 350. Diese Einheiten bilden Befehls- und Antwortkanäle.
  • In dem Befehlskanal kann es Downstreamtransmissionen von der Befehlsschnittstelleneinrichtung 310 des Hosts 300 zu der Befehlsschnittstelleneinrichtung 340 des Targetdevices 330 geben. Beispielsweise wird die Adressdatensignalleitung verwendet, um Adressen, Zählwerte und Schreibdaten zu übertragen. Die Befehlssignalleitung kann verwendet werden, um Befehle und Bytefreigabesignale zu übertragen. Die Befehlstag-Signalleitung wird verwendet, um Tags und Wortindizes zu übertragen. Weiterhin gibt es eine Befehlstransferanforderungssignalleitung, die es dem Host 300 gestattet, einen Befehlstransfer anzufordern.
  • In dem Befehlskanal gibt es auch Upstreamsignalleitungen, die es dem Device 330 gestatten zu signalisieren, wenn es bereit ist, einen Befehl oder eine Datenphase entgegenzunehmen (die Bereitschaftssignalleitung oder Ready-Signalleitung) und das Auswerfen (Flushing) der ausstehenden Datenphasen anzufordern (die Flush-Anforderungssignalleitung).
  • In dem Antwortkanal können die folgenden Upstreamsignalleitungen bereitgestellt werden: die Leseantwortdatensignalleitung zum Übertragen von Leseantwortdaten, die Beendigungscodesignalleitung zum Übertragen von Transaktionsbeendigungscodes, die Antworttag-Signalleitung zum Übertragen von Antworttags und die Antworttransferanforderungssignalleitung zum Anfordern der Übertragung einer Antwort.
  • Der Betrieb der Targetschnittstelle wird nun in weiteren Einzelheiten unter Bezugnahme auf die 4 und 8 beschrieben werden, die Flussdiagramme sind, die den Downstreamanforderungstransmissionsprozess bzw. den Upstreamantworttransmissionsprozess verdeutlichen. Beispiele von Signalformen auf den Signalleitungen der Targetschnittstelle sind in den Signalformdiagrammen der 5 bis 7 und 9 bis 10 gezeigt.
  • Wird nun zunächst zu dem Flussdiagramm von 4 übergegangen, so verwenden alle Downstreamanforderungen, die vom Host 300 kommen, die Targetschnittstelle, um mit dem Device 330 zu kommunizieren. Die Hostbefehlschnittstelleneinrichtung 310 puffert alle Downstreamanforderungen, die z. B. über die Chip-zu-Chip-Schnittstelle 200 empfangen worden sein können, decodiert die empfangenen Anforderungen und leitet sie an das Device 330 weiter, und genauer gesagt, an die Befehlsschnittstelleneinrichtung 340. Ein Device, das eine neue Anforderung annehmen kann, d. h. das sich in einem Leerlaufmodus befindet, hält die Bereitschaftssignalleitung gesetzt (Schritt 400). Der Host signalisiert dann eine neue Anforderung durch das Setzen des Befehltransferanforderungssignals in Schritt 405 und plaziert den Befehlscode auf der Befehlssignalleitung, die Adresse auf der Adressdatensignalleitung und den Tag auf der Befehlstag-Signalleitung (Schritt 410).
  • Der Host hält dieses Muster, bis er die Bereitschaftssignalleitung als gesetzt abtastet (Schritt 415). Dann plaziert er die Bytefreigabe auf der Befehlsleitung, die Anzahl von zu übertragenden Doppelwörtern auf der Befehlstagleitung und das erste Datenelement, wenn der Befehl vom Schreibtyp ist, auf der Adressdatensignalleitung (Schritt 420). Wiederum hält der Host dieses Muster, bis er die Bereitschaftsleitung als gesetzt abtastet (Schritt 425).
  • Die Überprüfung in Schritt 425, um festzustellen, ob das Bereitschaftssignal noch gesetzt ist, befähigt das Device, die Bytefreigabephase (wenn vom Lesetyp) und/oder die erste Datenphase (wenn vom Schreibtyp) zu verzögern. Wenn die Anforderung eine Leseanforderung ist, dann kann der Host gezwungen sein, das Befehlstransferanforderungssignal herunterzusetzen, um sicherzustellen, dass Back-to-Back-Prozesse nicht möglich sind (Schritt 455). Wenn die Anforderung eine Schreibanforderung mit mehr als einer Datenphase ist (was in Schritt 435 überprüft wird), dann wird der Host das Befehlstransferanforderungssignal gesetzt halten und die nächsten Daten auf der Adressdatensignalleitung plazieren, die nächste Bytefreigabe auf der Befehlssignalleitung plazieren und den Wert der Befehlstag-Signalleitung dekrementieren (Schritt 450).
  • Das Device kann das Bereitschaftssignal heruntersetzen, um die Transmission (Sendung) eines jeden Datenelements zeitweilig zu unterbrechen (Schritt 440), und die Transmission wird unterbrochen, bis das Device das Bereitschaftssignal wieder setzt. Mit jedem Taktzyklus, in dem das Befehlstransferanforderungssignal und das Bereitschaftssignal als gesetzt abgetastet werden, wird ein Datenelement gesendet. Mit der Sendung des letzten Datenelements wird das Befehltag-Signal Null erreichen.
  • Das Device verfügt auch über die Möglichkeit, ausstehende Datenphasen durch das Setzen des Flush-Anforderungssignals anstelle des Bereitschaftssignals für einen Zyklus auszuwerfen. Wie aus 4 ersichtlich ist, erfordert die vorliegende Ausgestaltung, dass das Bereitschaftssignal nicht gesetzt ist (Schritt 440), wenn das Flush-Anforderungssignal gesetzt wird (Schritt 445). Wenn das Device ein Flush-Anforderungssignal sendet, wird der Host das Befehltransferanforderungssignal in Schritt 455 heruntersetzen.
  • Wird nun zu den 5 bis 7 übergegangen, so werden die Signalformen in weiteren Einzelheiten diskutiert werden, die auftreten können, wenn der Prozess des Sendens von Anforderungen in Downstreamrichtung durchgeführt wird. In 5 werden zwei Leseanforderungen in den Zyklen 500 bzw. 510 gesendet. In jedem Zyklus werden Adressdaten 520, 530 zusammen mit Befehlsdaten 540, 550 und Befehlstags 560, 570 gesendet. Wie aus 5 ersehen werden kann, ist das Bereitschaftssignal zu der Zeit, zu der der zweite Zyklus 510 beginnt, noch unten. In dem Beispiel von 5 setzt das Device das Bereitschaftssignal einen Takt später, so dass das Device die Ausführung des zweiten Zyklus 510 um eine Taktperiode verzögert.
  • In dem Beispiel von 6 wird ein einzelner Schreibzyklus 600 gezeigt, in dem auf der Adressdatenleitung Adressdaten 610 und eine Anzahl von Datenelementen 620, 630, 640 übertragen werden. Nachdem das erste Datenelement 620 übertragen worden ist, setzt das Device das Bereitschaftssignal herunter, so dass die zweite Datenphase 630 um zwei Taktzyklen verzögert wird.
  • Das Beispiel von 7 zeigt wieder einen einzelnen Schreibzyklus 700. Nach der zweiten Datenphase 730 wird das Bereitschaftssignal heruntergesetzt, um die dritte Datenphase 740 zu verzögern. Jedoch wird während der dritten Datenphase 740 die Flush-Anforderung 750 gesetzt, so dass das Device auf die zweite Datenphase folgende Datenphasen auswirft.
  • Wird nun zu 8 übergegangen, so ist eine Ausgestaltung des Prozesses der Durchführung einer Upstreamantworttransmission in der Targetschnittstelle gezeigt. Wie oben erwähnt wurde, muss das Device zu jeder Non-Posted-Anforderung, die vom Host empfangen wird, eine Antwort mit dem Tag der Anforderung senden. Antworten können in jeder Reihenfolge gesendet werden, sogar ungeordnet (out of order), d. h. diese Reihenfolge braucht nicht zu der Reihenfolge der Anforderung zu passen. Die Hostantwortschnittstelleneinrichtung 320 puffert alle Antworten und verfügt folglich in der vorliegenden Ausgestaltung über keine Möglichkeit, eine Antworttransmission zu verzögern oder zeitweilig zu unterbrechen.
  • Das Device signalisiert den Beginn einer Antworttransmission durch das Setzen des Antworttransferanforderungssignals in Schritt 800. Es plaziert weiterhin den Tag auf der Antworttagleitung und den Beendigungscode auf der Beendigungscodesignalleitung (Schritt 805). Es wird dann in Schritt 810 festgestellt, ob die Antwort Daten enthält. Ist dies der Fall, plaziert das Device das erste Datenelement auf der Leseantwortdatensignalleitung in Schritt 815. Wenn die Antwort mehrere Datenelemente enthält, kann das Device das Antworttransferanforderungssignal in Schritt 825 heruntersetzen, um die Antworttransmission zeitweilig zu unterbrechen, oder es kann die Leitung gesetzt halten, um ein Datendoppelwort mit jedem Taktzyklus zu senden (Schritt 835).
  • Die Beendigungscodesignalleitung wird verwendet, um einen Beendigungscode an den Host zu vermitteln. Ist dieser Code Null, signalisiert das Device, dass der Transfer vollständig ist. Beendigungscodes, die nicht Null sind, werden verwendet, um einen Fehler, einen Transferabbruch oder eine Vervollständigung mit nicht validierten Daten zu signalisieren.
  • Es kann daher in Schritt 830 überprüft werden, ob der Beendigungscode Null ist oder nicht. Das Device kann den Beendigungscode mit jeder Datenphase ändern. Die Antworttransmission wird dann zu Ende gehen, wenn entweder alle Datenelemente gesendet worden sind oder der Beendigungscode einen von Null verschiedenen Wert aufweist und das Antworttransferanforderungssignal gesetzt ist.
  • Nachdem die Antworttransmission beendet worden ist, kann das Device das Antworttransferanforderungssignal im Schritt 845 heruntersetzen oder das Anforderungssignal gesetzt halten und einen neue Antwort plazieren (Schritt 840).
  • Die 9 und 10 zeigen Signalformbeispiele der oben diskutierten Upstreamantworttransmission. 9 zeigt einen Back-to-Back-Prozess, der eine Schreib- und eine Leseantwort enthält. Durch Heruntersetzen des Antworttransferanforderungssignals wird das dritte Datenelement verzögert.
  • In dem Beispiel von 10 werden die erste und zweite Datenphase 1000, 1010 zeitweilig unterbrochen und der Beendigungscode während der dritten Datenphase 1020 von einem Nullcode 1030 in einen von Null verschiedenen Code 1040 geändert, womit eine Beendigung ohne Vervollständigung angezeigt wird.
  • In einer anderen Ausgestaltung kann der Host eine Targetbefehlstransmission oder Antworttransmission zeitweilig unterbrechen, insbesondere wenn mehr als eine solche Transmission zur selben Zeit möglich ist und die Transmissionen von demselben Speicher gelesen und/oder in ihn geschrieben werden. In dieser Implementierung kann der Host das Bereitschaftssignal heruntersetzen, während er eine Befehlstransmission durchführt. Um eine Antworttransmission zeitweilig zu unterbrechen, könnte ein anderes Bereitschaftssignal verwendet werden.
  • Wird nun zu 11 übergegangen, so wird die Sourceschnittstelle der vorliegenden Ausgestaltung gezeigt. Wiederum wird ein Befehlskanal durch die Signalleitungen gebildet, die die Befehlsschnittstelleneinrichtung 1110 des Hosts 1100 und die entsprechende Einheit 1140 des Sourcedevices 1130 verbinden. Ein Antwortkanal wird gebildet durch die jeweiligen Antwortschnittstelleneinrichtungen 1120, 1150. In der Sourceschnittstelle werden Anforderungen upstream und Antworten downstream gesendet.
  • Wird zunächst zu der Upstreamanforderungstransmission übergegangen, so verdeutlicht 12 die spezifischen Prozessschritte. Im Schritt 1200 signalisiert das Device durch Setzen des Befehlstransferanforderungssignals, dass es beabsichtigt, einen Befehl zu übertragen. Es können zu diesem Zwecke eine oder mehrere Leitungen gesetzt werden. Wenn das Device eine der Anforderungsleitungen setzt, kann es die Beschränkung geben, in der Lage zu sein, den Befehl und die entsprechenden Daten (wenn vom Schreibtyp) mit der vollen Schnittstellengeschwindigkeit ohne Wartezyklen zu liefern. Das Device darf die Anforderungsleitung nicht heruntersetzen, bis es die Gewährungsleitung (Grant-Leitung) als gesetzt abtastet. Der Host signalisiert mit der Gewährungsleitung, wenn er in der Lage ist, eine Transaktion anzunehmen (Schritt 1205). Er darf nicht eine der Gewährungsleitungen setzen, ohne dass die jeweilige Anforderungsleitung gesetzt ist. Er kann mehrere oder sogar alle Gewährungsleitungen setzen und das Device muss in diesem Fall entscheiden, welche Anforderung es zuerst senden möchte (Schritt 1215).
  • In Schritt 1220 beginnt das Device sofort mit dem Senden der Adresse, des Befehlscodes und des Befehlstags (wenn non-posted), bis es das Bereitschaftssignal als gesetzt abtastet (Schritt 1225). Es wird dann in Schritt 1230 überprüft, ob es andere unbearbeitete Anforderungen gibt. Wenn es keine andere unbearbeitete Anforderung gibt, muss das Device die jeweilige Anforderungsleitung im Schritt 1235 heruntersetzen; anderenfalls kann es sie gesetzt halten.
  • Es kann dann in Schritt 1240 festgestellt werden, ob das Bereitschaftssignal noch gesetzt ist. Ist dies der Fall, sendet das Device ein Bytefreigabesignal und die Wortzahl in Schritt 1245 und fährt mit Schritt 1250 fort. Im Fall einer Lesetransaktion ist der Transfer nun vollständig. Wenn die Transaktion eine Schreibtransaktion ist, werden die Daten über die Adressdatenleitung mit jedem Taktzyklus übertragen, wobei die Bereitschaftsleitung gesetzt ist, bis die Transmission vollständig ist. Mit jeder Datenphase wird der Zählwert auf der Befehlssignalleitung dekrementiert, bis er bei der letzten Doppelworttransmission Null erreicht.
  • Wird nun zu den Signalformdiagrammen übergegangen, die Beispiele der Upstreamanforderungstransmission verdeutlichen, so zeigt 13 den Fall einer einzelnen Posted-Schreibtransaktion mit zwei Datenphasen 1300, 1310, bei der der Host die Adresse 1320 um einen Taktzyklus verzögert. 14 verdeutlicht einen Lese- und Posted-Schreib-Back-to-Back-Zyklus, wobei die Adresse der Lesetransmission das Signal 1400 ist, die Adresse der Schreibtransmission das Signal 1410 ist und die Daten der Schreibtransmission das Signal 1420 sind. 15 verdeutlicht die Signalformen einer einzelnen Non-Posted-Schreibtransmission mit einer Adressphase 1500 und einer Datenphase 1510. Durch Heruntersetzen des Bereitschaftssignals unterbricht der Host zeitweilig die Transmission.
  • Der Downstreamantworttransmissionsprozess der vorliegenden Ausgestaltung wird in weiteren Einzelheiten in 16 gezeigt. Wie erwähnt, muss das Device, wenn es eine Non-Posted-Transmission sendet, in der Lage sein, die jeweilige Antwort mit voller Schnittstellengeschwindigkeit und ohne Wartezustände anzunehmen. Antworten können ungeordnet zurückkommen. Das Device kann für die Reihenfolgenwiederherstellung verantwortlich sein, wenn dies notwendig ist.
  • Der Host beginnt eine Antworttransmission durch Setzen des Antworttransferanforderungssignals in Schritt 1600. Zur selben Zeit plaziert er einen Antworttag und einen Beendigungscode in Schritt 1605. Im Falle einer Leseantwort sendet der Host ferner das erste Datenelement in Schritt 1615.
  • Wenn die Antwort keine Daten oder nur ein Datenelement aufweist, dann stellt der Host den abschließenden Beendigungscode im Schritt 1650 auf die jeweilige Signalleitung und setzt anderenfalls den Beendigungscode auf einen Wert, der anzeigt, dass die Antwort noch im Gange ist (Schritt 1625).
  • Während dieser Zeit kann der Host gezwungen sein, das Anforderungssignal gesetzt zu halten und den Antworttag und den Beendigungscode unverändert zu belassen. Der Beendigungscode kann sich auf den abschließenden Beendigungscode nur ändern, wenn das letzte Datenelement gesendet wird. Der Host kann Wartezustände einfügen, indem er das Anforderungssignal heruntersetzt; er kann jedoch gezwungen sein, den Antworttag und den Beendigungscode unverändert zu halten. Er kann auch Antworten, die Daten aufweisen, mit Antworten, die keine Daten aufweisen, vermischen. Der Antworttag und Beendigungscode bekommen die jeweiligen Werte der eingefügten Antwort. Der Host kann das Anforderungssignal nach der Antworttransmission heruntersetzen oder er kann das Anforderungssignal gesetzt halten, um mit einer neuen Antwort zu beginnen.
  • Mit dem Setzen der Anforderung plaziert der Host auch die Antwortgültigkeitsinformation auf den Antwortvalidierungssignalleitungen. Wenn die Antwort nicht gültig ist, muss der Host das Validierungssignal nur dann heruntersetzen, wenn die Antwort gültig wird, und dieser Wechsel kann während jedes Zustandes des Anforderungssignals erfolgen. Der Host kann auch das Validierungssignal gesetzt halten, wenn er das Anforderungssignal einfügt. Das bedeutet, dass die gesendete Antwort bereits gültig ist. Der Host kann auch mehrere Validierungsleitungen zur selben Zeit setzen. Das Device darf nicht irgendwelche Antwortdaten (einschließlich des Beendigungscodes) verwenden, bis eine Antwort gültig wird.
  • Das bedeutet, dass die Ausgestaltung Ordnungsregeln wie etwa solche, die in der HyperTransport-Spezifikation definiert sind, anwenden kann, insbesondere um Verbindungen zu I/O-Bridges zu unterstützen. Die (separate) Validierung von Antworten würde dann auf den Ordnungsregeln basieren.
  • Signalformbeispiele dieses Prozesses sind in den 17 bis 20 gezeigt. In 17 ist eine Leseantwort gezeigt, die um zwei Taktzyklen hingehalten (stalled) wird. Während der Verzögerung wird die Antwort validiert. 18 zeigt den Fall einer Back-to-Back-Lese- und -Schreibantwort, wobei die erste Antwort später validiert wird. In dem Beispiel von 19 sind zwei Antworten gezeigt, die zur selben Zeit validiert werden. In 20 ist eine Leseantwort gezeigt, die über eine eingefügte Schreibantwort verfügt und um einen Zyklus hingehalten wird.
  • Aus den oben beschriebenen Ausgestaltungen ist ersichtlich, dass eine On-Chip-Schnittstelle bereitgestellt wird, die signifikant besser als herkömmliche Techniken ist. Durch die Bereitstellung einer Targetschnittstelle, die mehrere ausstehende Non-Posted-Anforderungen unterstützt, wird die Schnittstellenperformance verbessert. Weiterhin kann die Sourceschnittstelle, bei der die Daten nicht im Host sondern nur im Device gespeichert werden, Fläche auf dem Chip einsparen, da sie weniger Speicher erfordert, und sie kann die Performance wegen reduzierter Latency verbessern.
  • Somit wird eine verbesserte Schnittstelle bereitgestellt, die die vollen Leistungseigenschaften von Chip-zu-Chip-Schnittstellen zu den Peripheriegeräten herunterführt. Neben der Verbesserung der Systemperformance können die Pinzahl reduziert und die Datenprotokolle vereinfacht werden.
  • Während die Erfindung unter Bezugnahme auf die physikalischen Ausgestaltungen beschrieben worden sind, die in Übereinstimmung damit konstruiert worden sind, wird Fachleuten ersichtlich sein, dass zahlreiche 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. Während beispielsweise die oben beschriebenen Flussdiagramme die Prozessschritte als in einer spezifischen Abfolge durchgeführt zeigen, ist anzumerken, dass einige oder alle der Schritte in einer anderen Abfolge oder sogar simultan durchgeführt werden können. Während ferner die Targetschnittstelle und die Sourceschnittstelle als eine Anzahl von Signalleitungen enthaltend gezeigt worden sind, können weitere Signalleitungen bereitgestellt werden, und jede der oben diskutierten Signalleitungen kann zusätzlich auch als eine Vielzahl physikalischer Leitungen ausgestaltet sein.
  • Zusätzlich sind solche Bereiche, in denen davon ausgegangen wird, dass sich Fachleute auskennen, hier nicht weiter beschrieben worden, um die hier beschriebene Erfindung nicht unnötig zu verschleiern. Demgemäß ist zu verstehen, dass die Erfindung nicht durch die spezifisch verdeutlichten Ausgestaltungen sondern nur durch den Umfang der beigefügten Ansprüche begrenzt ist.

Claims (43)

  1. Integrierter Schaltkreischip mit einer On-Chip-Hochgeschwindigkeitsdatenschnittstelle, umfassend eine erste und eine zweite Schaltungseinheit (300, 330, 1100, 1130), wobei: die erste und zweite Schaltungseinheit Anforderungen an die jeweils andere erste bzw. zweite Schaltungseinheit senden können; die erste und zweite Schaltungseinheit eine Antwort zurücksenden können, wenn sie eine Anforderung empfangen, die eine Antwort erfordert; die erste Schaltungseinheit Daten bezüglich einer zu sendenden Anforderung speichern kann; und die zweite Schaltungseinheit keine Daten bezüglich einer empfangenen Anforderung speichern kann, wobei die zweite Schaltungseinheit mit der ersten Schaltungseinheit verbunden ist, um ein Steuersignal an die erste Schaltungseinheit zu liefern, und wobei die erste Schaltungseinheit eingerichtet ist zum Verzögern des Sendens weiterer Anforderungsdaten, wenn das Steuersignal anzeigt, dass die zweite Schaltungseinheit nicht bereit zum Empfangen weiterer Anforderungsdaten ist, und wobei die zweite Schaltungseinheit mit der ersten Schaltungseinheit verbunden ist, um ein Flush-Signal an die erste Schaltungseinheit zu liefern, und wobei die erste Schaltungseinheit eingerichtet ist zum Löschen ausstehender Anforderungsdaten, wenn das Steuersignal anzeigt, dass die zweite Schaltungseinheit nicht bereit zum Empfangen weiterer Anforderungsdaten ist, und wenn das Flush-Signal anzeigt, dass die ausstehenden Anforderungsdaten zu löschen sind.
  2. Integrierter Schaltkreischip nach Anspruch 1, wobei die Anforderungsdaten, die die Anforderung bilden, Adressdaten enthalten.
  3. Integrierter Schaltkreischip nach Anspruch 1, wobei die Anforderungsdaten, die die Anforderung bilden, wenigstens zwei Datenelemente enthalten, die sequentiell zu senden sind, und wobei die erste Schaltungseinheit eingerichtet ist zum Überprüfen des Steuersignals jedes Mal, wenn ein Datenelement gesendet wird.
  4. Integrierter Schaltkreischip nach Anspruch 1, wobei die erste Schaltungseinheit Anforderungsdaten mehrerer Anforderungen speichern kann.
  5. Integrierter Schaltkreischip nach Anspruch 1, wobei die Daten bezüglich einer Anforderung Antwortdaten enthalten, die eine Antwort auf die Anforderung bilden.
  6. Integrierter Schaltkreischip nach Anspruch 5, wobei die zweite Schaltungseinheit mit der ersten Schaltungseinheit verbunden ist, um ein Steuersignal an die erste Schaltungseinheit zu liefern, und wobei die erste Schaltungseinheit eingerichtet ist zum Verzögern des Sendens von Antwortdaten, wenn das Steuersignal anzeigt, dass die zweite Schaltungseinheit nicht bereit zum Empfangen von Antwortdaten ist.
  7. Integrierter Schaltkreischip nach Anspruch 6, wobei die Antwortdaten, die die Antwort bilden, wenigstens zwei Datenelemente enthalten, die sequentiell zu senden sind, und wobei die erste Schaltungseinheit eingerichtet ist zum Überprüfen des Steuersignals jedes Mal, wenn ein Datenelement gesendet wird.
  8. Integrierter Schaltkreischip nach Anspruch 5, wobei die erste Schaltungseinheit Antwortdaten bezüglich mehrerer Anforderungen speichern kann.
  9. Integrierter Schaltkreischip nach Anspruch 1, wobei: die zweite Schaltungseinheit Daten bezüglich einer zu sendenden Anforderung speichern kann; und die erste Schaltungseinheit keine Daten bezüglich einer empfangen Anforderung speichern kann.
  10. Integrierter Schaltkreischip nach Anspruch 9, wobei die Daten bezüglich einer Anforderung Anforderungsdaten enthalten, die die Anforderung bilden.
  11. Integrierter Schaltkreischip nach Anspruch 10, wobei die erste Schaltungseinheit mit der zweiten Schaltungseinheit verbunden ist, um ein Steuersignal an die zweite Schaltungseinheit zu liefern, und wobei die zweite Schaltungseinheit eingerichtet ist zum Verzögern des Sendens weiterer Anforderungsdaten, wenn das Steuersignal anzeigt, dass die erste Schaltungseinheit zum Empfangen weiterer Anforderungsdaten nicht bereit ist.
  12. Integrierter Schaltkreischip nach Anspruch 11, wobei die Anforderungsdaten, die die Anforderung bilden, wenigstens zwei Datenelemente enthalten, die sequentiell zu senden sind, und wobei die zweite Schaltungseinheit eingerichtet ist zum Überprüfen des Steuersignals jedes Mal, wenn ein Datenelement gesendet wird.
  13. Integrierter Schaltkreischip nach Anspruch 10, wobei die zweite Schaltungseinheit Anforderungsdaten mehrerer Anforderungen speichern kann.
  14. Integrierter Schaltkreischip nach Anspruch 9, wobei die Daten bezüglich einer Anforderung Antwortdaten enthalten, die eine Antwort auf die Anforderung bilden.
  15. Integrierter Schaltkreischip nach Anspruch 14, wobei die erste Schaltungseinheit mit der zweiten Schaltungseinheit verbunden ist, um ein Steuersignal an die zweite Schaltungseinheit zu liefern, und wobei die zweite Schaltungseinheit eingerichtet ist zum Verzögern des Sendens von Antwortdaten, wenn das Steuersignal anzeigt, dass die erste Schaltungseinheit nicht bereit zum Empfangen von Antwortdaten ist.
  16. Integrierter Schaltkreischip nach Anspruch 15, wobei die Antwortdaten, die die Antwort bilden, wenigstens zwei Datenelemente enthalten, die sequentiell zu senden sind, und wobei die zweite Schaltungseinheit eingerichtet ist zum Überprüfen des Steuersignals jedes Mal, wenn ein Datenelement gesendet wird.
  17. Integrierter Schaltkreischip nach Anspruch 14, wobei die zweite Schaltungseinheit Antwortdaten bezüglich mehrerer Anforderungen speichern kann.
  18. Integrierter Schaltkreischip nach Anspruch 1, wobei die zweite Schaltungseinheit eine Hosteinheit zum Bereitstellen eines Dienstes für die erste Schaltungseinheit ist.
  19. Integrierter Schaltkreischip nach Anspruch 1, wobei die Daten bezüglich einer Anforderung Busmasterdaten enthalten.
  20. Integrierter Schaltkreischip nach Anspruch 1, nämlich ein Southbridgechip zur Verwendung in einem Computersystem.
  21. Integrierter Schaltkreischip nach Anspruch 1, nämlich ein Teil eines Chipsatzes zur Verwendung in einem Computersystem.
  22. Integrierter Schaltkreischip nach Anspruch 1, wobei: die erste und zweite Schaltungseinheit mittels wenigstens vier Signalleitungen miteinander verbunden sind; eine erste der wenigstens vier Signalleitungen der Übertragung von Anforderungen von der ersten Schaltungseinheit zu der zweiten Schaltungseinheit dient; eine zweite der wenigstens vier Signalleitungen der Übertragung von Antworten von der zweiten Schaltungseinheit zu der ersten Schaltungseinheit dient; eine dritte der wenigstens vier Signalleitungen der Übertragung von Anforderungen von der zweiten Schaltungseinheit zu der ersten Schaltungseinheit dient; eine vierte der wenigstens vier Signalleitungen der Übertragung von Antworten von der ersten Schaltungseinheit zu der zweiten Schaltungseinheit dient; und die erste bis vierte der Signalleitungen voneinander entkoppelt sind.
  23. Southbridgebauelement, umfassend einen integrierten Schaltkreischip nach einem der Ansprüche 1 bis 22.
  24. Verfahren zum Betreiben eines integrierten Schaltkreischips mit einer On-Chip-Hochgeschwindigkeitsdatenschnittstelle, wobei der integrierte Schaltkreischip eine erste und eine zweite Schaltungseinheit umfasst, umfassend: Senden (400455, 12001265) von Anforderungen von der ersten oder zweiten Schaltungseinheit zu der jeweils anderen ersten bzw. zweiten Schaltungseinheit; und Senden (800845, 16001650) einer Antwort von der jeweils anderen ersten bzw. zweiten Schaltungseinheit zurück zu der ersten bzw. zweiten Schaltungseinheit, wenn die Anforderung eine Antwort erfordert; wobei das Verfahren weiterhin umfasst: Betreiben der ersten Schaltungseinheit, um Daten bezüglich einer Anforderung zu speichern, die von der ersten Schaltungseinheit zu senden ist; und Betreiben der zweiten Schaltungseinheit, um keine Daten bezüglich einer von der zweiten Schaltungseinheit zu empfangenen Anforderung zu speichern, wobei das Verfahren weiterhin umfasst: Bereitstellen eines Steuersignals von der zweiten Schaltungseinheit für die erste Schaltungseinheit, und Betreiben der ersten Schaltungseinheit, um das Senden weiterer Anforderungsdaten zu verzögern, wenn das Steuersignal anzeigt, dass die zweite Schaltungseinheit nicht bereit zum Empfangen weiterer Anforderungsdaten ist, und wobei das Verfahren weiterhin umfasst: Bereitstellen eines Flush-Signals von der zweiten Schaltungseinheit für die erste Schaltungseinheit, und Betreiben der ersten Schaltungseinheit, um ausstehende Anforderungsdaten zu löschen, wenn das Steuersignal anzeigt, dass die zweite Schaltungseinheit nicht bereit zum Empfangen weiterer Anforderungsdaten ist, und wenn das Flush-Signal anzeigt, dass die ausstehenden Anforderungsdaten zu löschen sind.
  25. Verfahren nach Anspruch 24, wobei die Anforderungsdaten, die die Anforderung bilden, wenigstens zwei Datenelemente enthalten, die sequentiell zu senden sind, und wobei das Verfahren weiterhin umfasst: Betreiben der ersten Schaltungseinheit, um das Steuersignal jedes Mal zu überprüfen, wenn ein Datenelement gesendet wird.
  26. Verfahren nach Anspruch 24, weiterhin umfassend: Betreiben der ersten Schaltungseinheit, um Anforderungsdaten mehrerer Anforderungen zu speichern.
  27. Verfahren nach Anspruch 24, wobei die Daten bezüglich einer Anforderung Antwortdaten enthalten, die eine Antwort auf die Anforderung bilden.
  28. Verfahren nach Anspruch 27, weiterhin umfassend: Bereitstellen eines Steuersignals von der zweiten Schaltungseinheit für die erste Schaltungseinheit; und Betreiben der ersten Schaltungseinheit, um das Senden von Antwortdaten zu verzögern, wenn das Steuersignal anzeigt, das die zweite Schaltungseinheit nicht bereit zum Empfangen von Antwortdaten ist.
  29. Verfahren nach Anspruch 28, wobei die Antwortdaten, die die Antwort bilden, wenigstens zwei Datenelemente enthalten, die sequentiell zu senden sind, und wobei das Verfahren weiterhin umfasst: Betreiben der ersten Schaltungseinheit, um das Steuersignal jedes Mal zu überprüfen, wenn ein Datenelement gesendet wird.
  30. Verfahren nach Anspruch 27, weiterhin umfassend: Betreiben der ersten Schaltungseinheit, um Antwortdaten bezüglich mehrerer Anforderungen zu speichern.
  31. Verfahren nach Anspruch 24, weiterhin umfassend: Betreiben der zweiten Schaltungseinheit, um Daten bezüglich einer Anforderung zu speichern, die von der zweiten Schaltungseinheit zu senden ist; und Betreiben der ersten Schaltungseinheit, um keine Daten bezüglich einer von der ersten Schaltungseinheit empfangenen Anforderung zu speichern.
  32. Verfahren nach Anspruch 31, wobei die Daten bezüglich einer Anforderung Anforderungsdaten enthalten, die die Anforderung bilden.
  33. Verfahren nach Anspruch 32, weiterhin umfassend: Bereitstellen eines Steuersignals von der ersten Schaltungseinheit für die zweite Schaltungseinheit; und Betreiben der zweiten Schaltungseinheit, um das Senden weiterer Anforderungsdaten zu verzögern, wenn das Steuersignal anzeigt, dass die erste Schaltungseinheit nicht bereit zum Empfangen weiterer Anforderungsdaten ist.
  34. Verfahren nach Anspruch 33, wobei die Anforderungsdaten, die die Anforderung bilden, wenigstens zwei Datenelemente enthalten, die sequentiell zu senden sind, und wobei das Verfahren weiterhin umfasst: Betreiben der zweiten Schaltungseinheit, um das Steuersignal jedes Mal zu überprüfen, wenn ein Datenelement gesendet wird.
  35. Verfahren nach Anspruch 32, weiterhin umfassend: Betreiben der zweiten Schaltungseinheit, um Anforderungsdaten mehrerer Anforderungen zu speichern.
  36. Verfahren nach Anspruch 31, wobei die Daten bezüglich einer Anforderung Antwortdaten enthalten, die eine Antwort auf die Anforderung bilden.
  37. Verfahren nach Anspruch 36, weiterhin umfassend: Bereitstellen eines Steuersignals von der ersten Schaltungseinheit für die zweite Schaltungseinheit; und Betreiben der zweiten Schaltungseinheit, um das Senden von Antwortdaten zu verzögern, wenn das Steuersignal anzeigt, dass die erste Schaltungseinheit nicht bereit zum Empfangen von Antwortdaten ist.
  38. Verfahren nach Anspruch 37, wobei die Antwortdaten, die die Antwort bilden, wenigstens zwei Datenelemente enthalten, die sequentiell zu senden sind, und wobei das Verfahren weiterhin umfasst: Betreiben der zweiten Schaltungseinheit, um das Steuersignal jedes Mal zu überprüfen, wenn ein Datenelement gesendet wird.
  39. Verfahren nach Anspruch 36, weiterhin umfassend: Betreiben der zweiten Schaltungseinheit, um Antwortdaten bezüglich mehrerer Anforderungen zu speichern.
  40. Verfahren nach Anspruch 24, wobei die zweite Schaltungseinheit eine Hosteinheit zum Bereitstellen eines Dienstes für die erste Schaltungseinheit ist.
  41. Verfahren nach Anspruch 24, wobei die Daten bezüglich einer Anforderung Busmasterdaten enthalten.
  42. Verfahren nach Anspruch 24, nämlich ein Verfahren zum Betreiben eines Southbridgechips zur Verwendung in einem Computersystem.
  43. Verfahren nach Anspruch 24, nämlich ein Verfahren zum Betreiben eines Chipsatzes zur Verwendung in einem Computersystem.
DE10214067A 2002-03-28 2002-03-28 Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren Expired - Fee Related DE10214067B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10214067A DE10214067B4 (de) 2002-03-28 2002-03-28 Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
US10/259,665 US7096290B2 (en) 2002-03-28 2002-09-27 On-chip high speed data interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10214067A DE10214067B4 (de) 2002-03-28 2002-03-28 Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren

Publications (2)

Publication Number Publication Date
DE10214067A1 DE10214067A1 (de) 2004-01-22
DE10214067B4 true DE10214067B4 (de) 2010-01-21

Family

ID=28050964

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10214067A Expired - Fee Related DE10214067B4 (de) 2002-03-28 2002-03-28 Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren

Country Status (2)

Country Link
US (1) US7096290B2 (de)
DE (1) DE10214067B4 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802049B2 (en) * 2002-10-30 2010-09-21 Intel Corporation Links having flexible lane allocation
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
US8335909B2 (en) * 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US8190714B2 (en) * 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US7711977B2 (en) * 2004-04-15 2010-05-04 Raytheon Company System and method for detecting and managing HPC node failure
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
DE102004031715B4 (de) * 2004-06-30 2013-05-29 Globalfoundries Inc. Kombinierte On-Chip-Befehls- und Antwortdatenschnittstelle
US7475274B2 (en) * 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US20060129732A1 (en) * 2004-12-15 2006-06-15 Sheng-Yuan Tsai Multi-socket circuit board chip bridging device
US7805560B2 (en) * 2005-08-31 2010-09-28 Ati Technologies Inc. Methods and apparatus for translating messages in a computing system
US7698493B2 (en) * 2005-08-31 2010-04-13 Ati Technologies, Inc. Methods and apparatus for translating write request messages in a computing system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5007012A (en) * 1988-09-09 1991-04-09 Advanced Micro Devices, Inc. Fly-by data transfer system
US5764933A (en) * 1996-02-26 1998-06-09 Vlsi Technology, Inc. Deadlock prevention in a two bridge system by flushing write buffers in the first bridge
US6151651A (en) * 1998-06-17 2000-11-21 Advanced Micro Devices, Inc. Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
US6266715B1 (en) * 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode
US6353867B1 (en) * 2000-01-14 2002-03-05 Insilicon Corporation Virtual component on-chip interface

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4234919A (en) * 1978-10-31 1980-11-18 Honeywell Information Systems Inc. Intersystem communication link
CA1247248A (en) * 1984-12-07 1988-12-20 Shouki Yoshida Transfer control equipment
DE4317567A1 (de) * 1993-05-26 1994-12-01 Siemens Ag Verfahren zum Betreiben eines Bussystems sowie Anordnung zur Durchführung des Verfahrens
US6026455A (en) * 1994-02-24 2000-02-15 Intel Corporation Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system
GB2286910B (en) * 1994-02-24 1998-11-25 Intel Corp Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US5692200A (en) * 1995-10-16 1997-11-25 Compaq Computer Corporation Bridge circuit for preventing data incoherency by holding off propagation of data transfer completion interrupts until data clears the bridge circuit
US5898895A (en) * 1996-10-10 1999-04-27 Unisys Corporation System and method for controlling data transmission rates between circuits in different clock domains via selectable acknowledge signal timing
US5898848A (en) * 1996-10-21 1999-04-27 Advanced Micro Devices, Inc. Inter-chip bus structure for moving multiple isochronous data streams between integrated circuits
US6032178A (en) * 1998-01-12 2000-02-29 Siemens Aktiengesellschaft Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations
US6442196B1 (en) * 1998-07-31 2002-08-27 Adaptec, Inc. Data communications system
US6065088A (en) * 1998-08-31 2000-05-16 International Business Machines Corporation System and method for interrupt command queuing and ordering
US6418494B1 (en) * 1998-10-30 2002-07-09 Cybex Computer Products Corporation Split computer architecture to separate user and processor while retaining original user interface
JP2000315186A (ja) * 1999-05-06 2000-11-14 Hitachi Ltd 半導体装置
TW448365B (en) * 1999-11-15 2001-08-01 Via Tech Inc Bus arbitration method providing preemption function between control chip sets
US6728909B1 (en) * 2000-09-26 2004-04-27 Hewlett-Packard Development Company, L.P. Data communication with speculative reception of data in a data processing system
US20030041176A1 (en) * 2001-08-14 2003-02-27 Court John William Data transfer algorithm that does not require high latency read operations
US6868464B2 (en) * 2002-01-03 2005-03-15 Intel Corporation Method, apparatus, and system for multi-line communication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5007012A (en) * 1988-09-09 1991-04-09 Advanced Micro Devices, Inc. Fly-by data transfer system
US5764933A (en) * 1996-02-26 1998-06-09 Vlsi Technology, Inc. Deadlock prevention in a two bridge system by flushing write buffers in the first bridge
US6266715B1 (en) * 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode
US6151651A (en) * 1998-06-17 2000-11-21 Advanced Micro Devices, Inc. Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
US6353867B1 (en) * 2000-01-14 2002-03-05 Insilicon Corporation Virtual component on-chip interface

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hyper Transport TM I/O Link Specification Rev. 1.03 vom 10.10.2001, HyperTransport Technology Consortium, Titelseiten und Seiten 17, 18, 20, 21, 23-66 und 115 *

Also Published As

Publication number Publication date
US7096290B2 (en) 2006-08-22
DE10214067A1 (de) 2004-01-22
US20030188071A1 (en) 2003-10-02

Similar Documents

Publication Publication Date Title
DE19983026B4 (de) Brücke zwischen zwei Bussen mit einem Puffer mit einer einstellbaren Mindestspeicherraummenge für ein Akzeptieren einer Schreibanforderung und Verfahren hierzu
DE10234934A1 (de) Antwortreihenwiederherstellungsmechanismus
DE102009022550B4 (de) Vorrichtung und System zum Bereitstellen eines PCI (Peripheral Component Interconnect)-kompatiblen Protokolls auf Transaktionsebene für ein Ein-Chip-System (SoC)
DE10214067B4 (de) Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
DE69837377T2 (de) Datenübertragungssystem und verfahren
DE69936060T2 (de) Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten
DE10234992A1 (de) Retry-Mechanismus für blockierende Schnittstellen
DE10234933A1 (de) Pufferung von Non-Posted-Lesebefehlen und Antworten
DE69834739T2 (de) Ausgleichen von daten die zwischen verschiedenen leitern fliessen die auf unterschiedlichen frequenzen operieren
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE10255937B4 (de) Ordnungsregelgesteuerte Befehlsspeicherung
DE69932400T2 (de) Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen
DE102005009021A1 (de) Vereinheitliche USB OTG-Steuerungseinheit
DE10030148A1 (de) Brückenvorrichtung
DE4142756A1 (de) Datenweg-einrichtung zur kopplung zweier busse
DE60304455T2 (de) Usb host controller
DE19882975B4 (de) Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus
DE10213839A1 (de) DMA-Mechanismus für einen Hochgeschwindigkeitspaketbus
DE4018481A1 (de) Mikroprozessor hold- und lock-schaltung
DE60017774T2 (de) Verfahren und vorrichtung zur unterstützung von mehrtaktübertragung in einem rechnersystem mit einer punkt-zu-punkt halb-duplex verbindung
DE60220309T2 (de) Software-transparentes system und verfahren zum vermitteln von peer- zu- peer nachrichten
DE10314175A1 (de) Bussystem sowie Informationsverarbeitungssystem, das ein Bussystem einschliesst
DE10224163B4 (de) Transaktionsdauermanagement in einem USB-Hostcontroller
DE10061770B4 (de) Zugriffsregelung für Steuerchipsätzen bei Bustransaktion
DE102006012659A1 (de) System und Verfahren zum Reduzieren der Speicherlatenz bei mit einem Bus verbundenen Mikroprozessorsystemen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

8328 Change in the person/name/address of the agent

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

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

Effective date: 20121002