DE60223024T2 - Agp-steuerung (accelerated gaphics port), die schnelle schreibtransaktionen unterstützt - Google Patents

Agp-steuerung (accelerated gaphics port), die schnelle schreibtransaktionen unterstützt Download PDF

Info

Publication number
DE60223024T2
DE60223024T2 DE60223024T DE60223024T DE60223024T2 DE 60223024 T2 DE60223024 T2 DE 60223024T2 DE 60223024 T DE60223024 T DE 60223024T DE 60223024 T DE60223024 T DE 60223024T DE 60223024 T2 DE60223024 T2 DE 60223024T2
Authority
DE
Germany
Prior art keywords
agp
speed
pci
write
fast
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60223024T
Other languages
English (en)
Other versions
DE60223024D1 (de
Inventor
Reji Thomas
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of DE60223024D1 publication Critical patent/DE60223024D1/de
Application granted granted Critical
Publication of DE60223024T2 publication Critical patent/DE60223024T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Description

  • Die Erfindung betrifft allgemein elektronische Busarchitekturen und Verbindungen dieser Art und insbesondere das Unterstützen schneller Schreibtransaktionen mit einer Accelerated Graphics Port (AGP)-Steuereinheit.
  • In dem Maße, wie Computer und andere elektronische Geräte zunehmend schwierigere Aufgaben bewältigen müssen, werden an diese Geräte immer höhere Leistungsanforderungen gestellt. Besondere Bedeutung kommt bei vielen Geräten beispielsweise der Kommunikationsgeschwindigkeit oder "Bandbreite" zwischen miteinander verbundenen Geräten zu, da die Geschwindigkeit, mit der Informationen zwischen solchen Geräten übertragen werden, einen erheblichen Einfluss auf die Gesamtleistung eines elektronischen Systems haben kann.
  • Im Lauf der Jahre sind eine Anzahl unterschiedlicher Verbindungsstandards entwickelt worden, um die stetig anspruchsvoller werdenden Kommunikationsanforderungen an Computer und andere elektronische Geräte zu unterstützen. Zum Beispiel wurde der Peripheral Component Interconnect (PCI)-Standard entwickelt, um externe Geräte mit der zentralen Verarbeitungseinheit (Central Processing Unit – CPU) eines Computers zu verbinden. PCI-Verbindungen oder Busse sind mit einer CPU über eine Brücke zum lokalen Bus für die CPU verbunden, und PCI-kompatible Geräte wie zum Beispiel Audioprozessoren, Speichersteuereinheiten, Grafiksteuereinheiten, Netzwerkadapter usw. sind mit dem Bus verbunden.
  • Obgleich der PCI-Standard eine deutliche Verbesserung gegenüber früheren Technologien darstellte, und trotz der Tatsache, dass der PCI-Standard überarbeitet wurde, um eine größere Bandbreitenkapazität zu unterstützen, haben die zunehmenden Eingabe/Ausgabe-Anforderungen moderner Computer die Entwicklung weiterer Verbindungstechnologien erforderlich gemacht.
  • Zum Beispiel ist der Accelerated Graphics Port (AGP)-Standard als eine Erweiterung des PCI-Standard entwickelt worden, um eine eigenständige Hochgeschwindigkeitsverbindung zum Übertragen von Grafikdaten zwischen einem Grafikbeschleuni ger oder einer Grafiksteuereinheit (die als ein AGP-kompatibles Gerät fungiert) und einem Systemspeicher ohne Eingreifen der CPU bereitzustellen. Viele Grafikanwendungen, insbesondere 3D-Anwendungen, haben relativ hohe Speicherbandbreitenanforderungen, und eine AGP-kompatible Verbindung oder ein AGP-kompatibler Bus unterstützt die Beschleunigung der Übertragung von Grafikdaten bei solchen speicherintensiven Anwendungen.
  • Zur Unterstützung des PCI- und des AGP-Standards verwendet ein Computer allgemein einen Chipsatz, auch als Kernlogik bekannt, um die Schnittstelle zwischen der CPU, dem Systemspeicher, dem AGP-Bus und dem PCI-Bus zu bilden. Zur Verbindung mit einem AGP-Bus enthält die Kernlogik eine AGP-Steuereinheit, die sowohl AGP- und PCI- Transaktionen handhaben muss. Ein AGP-Master (zum Beispiel eine Grafik-Steuereinheit) kann Daten zu einem Systemspeicher entweder mittels AGP- oder PCI-Transaktionen übertragen, während eine CPU auf einen AGP-Master mittels lediglich PCI-Transaktionen zugreifen kann, wobei der AGP-Master auch als ein PCI-Ziel arbeiten kann.
  • Weil ein AGP-Bus eine eigenständige Direktverbindung ist, ist die CPU in der Regel nicht an Datenübertragungen zwischen einem AGP-kompatiblen Gerät und einem Systemspeicher beteiligt. Infolge dessen können in vielen Fällen PCI-Operationen sowie CPU-Zugriffe auf den Speicher parallel mit AGP-Operationen stattfinden.
  • Viele Grafikoperationen erfordern allerdings immer noch eine CPU-Beteiligung, und daher gestattet es die ursprüngliche Schnittstellenspezifikation für den AGP-Standard, Revision 1.0, einer CPU, Daten in ein AGP-kompatibles Gerät mittels eines Zweischrittverfahrens zu schreiben. Im Wesentlichen muss eine CPU Daten in den Systemspeicher schreiben und dann (über eine PCI-Transaktion) anweisen, dass ein AGP-kompatibles Gerät die Daten aus dem Systemspeicher liest.
  • Seit der Revision 2.0 jedoch unterstützt die AGP-Spezifikation das Konzept einer schnellen Schreibtransaktion. Bei einer schnellen Schreibtransaktion werden Daten direkt aus der CPU zu einem AGP-kompatiblen Gerät übertragen, anstatt die Daten in einen Systemspeicher schreiben und anschließend aus dem Systemspeicher auslesen zu müssen. Revision 2.0 der AGP-Spezifikation unterstützt schnelle Schreibtransaktionen mit der zweifachen und vierfachen Geschwindigkeit (d. h. dem Zwei- oder Vierfachen der Taktfrequenz des AGP-Busses).
  • Normale PCI-Schreibtransaktionen finden mit einfacher Geschwindigkeit statt und folgen PCI-Kohärenz- und -Ordnungsregeln. Für schnelle AGP-Schreibtransaktionen jedoch wird eine Kombination aus PCI- und AGP-Busprotokollen verwendet, wobei eine PCI-Transaktion verwendet wird, um die Transaktion einzuleiten, und der Datenfluss allgemein auf der Grundlage eines AGP-Protokolls stattfindet. Somit muss die Schnittstelle zu einem AGP-Bus (oft als eine AGP-Steuereinheit bezeichnet) für ein Kernlogik-Design in der Regel sowohl PCI- als auch AGP-Transaktions-Handhabungsschaltkreise enthalten.
  • Das Implementieren einer AGP-Schnellschreibunterstützung in einer AGP-Steuereinheit eines Kernlogik-Designs kann jedoch problematisch sein, insbesondere wenn versucht wird, ein früheres Kernlogik-Design umzuarbeiten. Insbesondere haben in dem Maße, wie integrierte Schaltkreise zunehmend komplexer geworden sind, auch die Entwicklungszeit und die Entwicklungskosten in Verbindung mit dem Konstruieren und Testen integrierter Schaltkreis-Designs zugenommen. Wo immer möglich, wird ein modulares "Baustein"-Konzept verwendet, wobei ein Design aus früher entwickelten und getesteten Schaltkreisblöcken aufgebaut wird. Wenn ein Design aus bereits vorhandenen Bausteinen zusammengesetzt wird, so wird oft die Anzahl der Spezialschalkreise, die entwickelt werden müssen, verringert, wodurch sich auch der Testumfang verringert, der erforderlich ist, um zu verifizieren, dass ein Design ordnungsgemäß funktioniert.
  • Die Unterstützung einer vollen AGP-2.0-Schnellschreibfunktionalität in einem AGP-kompatiblen Kernlogik-Design (zum Beispiel zum Unterstützen schneller AGP-Schreibtransaktionen mit zweifacher, vierfacher oder "vervielfachter" Geschwindigkeit) hat jedoch herkömmlicherweise einen erheblichen Aufwand an Spezialdesign erfordert, da frühere Kernlogik-Schaltkreisblöcke als nicht sonderlich wiederverwendbar befunden wurden. Als ein Beispiel würde ein Schaltkreisblock, der als ein PCI-Ziel oder -Master fungiert, in der Regel die Hinzufügung von Schaltungen erfordern, die einen Datenfluss mit zweifacher und vierfacher Geschwindigkeit handhaben, um in der Implementierung einer AGP-2.0-Steuereinheit nützlich zu sein. Das Hinzufügen einer solchen Funktionalität wäre zeitaufwändig und teuer und würde überdies die Übertragbarkeit des Designs zur Verwendung in anderen Anwendungen, zum Beispiel als ein standardmäßiger PCI-Block, mindern. Weil die AGP-Logik überdies äußere Hochfrequenz-Warteschleifenschaltungen mit Zweifach- oder Vierfach-Geschwindigkeit erfordert, würde die Implementierung von Schnellschreibfunktionalität in einem PCI-Schaltkreisblock zusätzliche Datenpfade zu dem extrem zeitablaufkritischen Hochfrequenz-Datenpfad hinzufügen.
  • Als ein weiteres Beispiel unterstützt die AGP-2.0-Spezifikation das Konzept der Mehrblockübertragungen über geschwindigkeitsvervielfachte schnelle Schreibtransaktionen. Ein Block meint in diesem Zusammenhang die Menge an Daten, die in vier Taktzyklen (in der Regel 32 Bytes mit zweifacher Geschwindigkeit und 64 Bytes mit vierfacher Geschwindigkeit) übertragen werden können. Bei einer geschwindigkeitsvervielfachten schnellen Mehrblock-AGP-Schreibübertragung erfolgt eine Drosselung blockweise, was anderen AGP-Transaktionen ähnelt, sich aber wesentlich von PCI-Transaktionen unterscheidet. Das Implementieren der Unterstützung für Mehrblockübertragungen in einem vollständig kompatiblen AGP-2.0-Kernlogik-Design erfordert darum, dass die PCI-Handhabungsschaltungen in einer AGP-Steuereinheit in der Lage sind, eine Mehrblocktransaktion zu drosseln. Darüber hinaus müssen, wenn Mehrblockübertragungen zugelassen sind, verschiedene Ausnahmesituationen gehandhabt werden, zum Beispiel Abbruchbedingungen, Trennbedingungen usw. Diese zusätzliche Funktionalität erhöht die Komplexität der Schaltungen der AGP-Steuereinheit und erhöht somit die Entwicklungszeit und die Entwicklungskosten und mindert die Übertragbarkeit des Designs, weil frühere Designs nicht wiederverwendet werden können.
  • Darum besteht auf diesem technischen Gebiet ein erheblicher Bedarf an einem Design einer AGP-Steuereinheit, das eine Schnellschreibfunktionalität mit deutlich weniger Komplexität und Aufwand unterstützt, als bisher erforderlich war.
  • Die Erfindung widmet sich diesem und weiteren Problemen, mit denen der Stand der Technik behaftet ist, indem sie gemäß einem Aspekt einen Schaltungsaufbau und ein Verfahren bereitstellt, wobei der Datenpfad, der während der Verarbeitung von mit vervielfachter (zum Beispiel zweifacher oder vierfacher) Geschwindigkeit ablaufen den schnellen AGP-Schreibtransaktionen verwendet wird, innerhalb eines Schaltkreisblocks außerhalb des PCI-Schaltkreisblocks implementiert ist, der herkömmlicherweise zur Handhabung der Adressphasen solcher Transaktionen verwendet wird. Anstatt den Datenpfad innerhalb des PCI-Schaltkreisblocks zu implementieren, wird ein Steuerpfad zwischen dem PCI-Schaltkreisblock und dem anderen Schaltkreisblock definiert, um es dem PCI-Schaltkreisblock zu ermöglichen, die Datenphase der geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion in dem anderen Schaltkreisblock einzuleiten, nachdem die Adressphase der Transaktion in dem PCI-Schaltkreisblock eingeleitet wurde.
  • Durch das Aufteilen der AGP-Schnellschreibfunktionalität in dieser Weise wird das Design des PCI-Schaltkreisblocks wesentlich vereinfacht und ermöglicht es oft, schon vorhandene standardisierte PCI-Schaltkreisblockdesigns in einer AGP-Anwendung mit wenigen Modifikationen wiederzuverwenden. Infolge dessen kann sich ein PCI-Schaltkreisblockdesign, das gemäß der Erfindung aufgebaut ist, wesentlich mehr zur Übertragung anbieten als herkömmliche Designs. Darüber hinaus wird ein zusätzlicher Pfad von dem PCI-Schaltkreisblock zu den oft zeitablaufkritischen Hochfrequenzbereichsschaltungen, die an anderer Stelle in einem Design einer AGP-Steuereinheit verwendet werden, vermieden.
  • Die Erfindung widmet sich weiteren Problemen, indem sie – gemäß einem weiteren Aspekt – einen Schaltungsaufbau und ein Verfahren bereitstellt, wobei eine Logikschaltung, die zum Erzeugen schneller AGP-Schreibtransaktionen verwendet wird, dafür konfiguriert ist, nur geschwindigkeitsvervielfachte schnelle Einzelblock-AGP-Schreibtransaktionen zu unterstützen; das heißt, die Logikschaltung ist nicht in der Lage, geschwindigkeitsvervielfachte schnelle Mehrblock-AGP-Schreibtransaktionen zu erzeugen. Dadurch laufen die vielfältigen Transaktionen auf einem AGP-Bus oft gleichmäßiger ab, da es weniger wahrscheinlich ist, dass andere Transaktionen, wie zum Beispiel AGP-Lesevorgänge, AGP-Schreibvorgänge und PCI-Transaktionen, durch ausgedehnte geschwindigkeitsvervielfachte schnelle Mehrblock-AGP-Schreibtransaktionen verzögert werden. Darüber hinaus werden die Logikschaltungen, welche die schnellen AGP-Schreibtransaktionen implementieren, wesentlich vereinfacht, sind aber immer noch zu höherer Geschwindigkeit befähigt als herkömmliche PCI-Schreibtransaktionen. Die Eliminierung von Mehrblockübertragungen beseitigt insbesondere oft die Notwendigkeit, verschiedene Abbruchbedingungen beobachten zu müssen, wodurch die Anzahl der Gatter, die zur Implementierung einer AGP-Schnellschreibfunktionalität benötigt werden, verringert wird. Darüber hinaus lässt sich oft die Implementierung einer Nur-Einzelblock-Funktionalität leichter übertragen als herkömmliche Designs, da vorhandene Designs wesentlich weniger Modifikationen verlangen, als wenn auch Mehrblocktransaktionen unterstützt werden würden.
  • Diese und weitere Vorteile und Merkmale, welche die Erfindung kennzeichnen, sind in den Ansprüchen dargelegt, die dem vorliegenden Text angehängt sind und einen weiteren Teil des vorliegenden Textes bilden. Um aber die Erfindung und die Vorteile und Aufgaben, die durch ihre Verwendung realisiert werden, besser zu verstehen, sollten auch die Zeichnungen und die begleitende Beschreibung studiert werden, worin Ausführungsbeispiele der Erfindung beschrieben sind.
  • 1 ist ein Blockschaubild einer Vorrichtung, die eine Kernlogik enthält, die eine AGP-Steuereinheit mit Schnellschreibfunktionalität gemäß der Erfindung beinhaltet.
  • 2 ist ein Blockschaubild, das die primären AGP-Pfade in der Kernlogik von 1 veranschaulicht.
  • 3 ist ein Blockschaubild der AGP-Steuereinheit von 1 und 2.
  • 4 ist ein Ablaufdiagramm, das ein beispielhaftes Aufdrücken von Steuersignalen zwischen den PCI- und AGP-Bausteinen während einer schnellen Schreibübertragung mittels der AGP-Steuereinheit von 3 veranschaulicht.
  • 5 ist ein Ablaufdiagramm, das eine beispielhafte schnelle Einzelblock-Schreibtransaktion mittels der AGP-Steuereinheit von 3 veranschaulicht.
  • Wenden wir uns den Zeichnungen zu, in denen gleiche Bezugszahlen in den verschiedenen Ansichten gleiche Teile bezeichnen. 1 veranschaulicht eine Vorrichtung 10, die einen Chipsatz oder eine Kernlogik 12 enthält, um eine zentrale Verarbeitungseinheit (CPU) 14, wie zum Beispiel einen Mikroprozessor, mit einem Systemspeicher, einer Grafik-Steuereinheit 18 und einem PCI-Bus 20 zu verbinden. Die Vorrich tung 10 kann zum Beispiel ein Personalcomputer sein, wie zum Beispiel ein PC oder ein Macintosh-Computer, obgleich auch andere Formen von Computer, zum Beispiel handgehaltene Computer, Mehrnutzercomputer, Server, Großrechner, tragbare Computer sowie weitere Formen von elektronischen Geräten, als Geräte betrachtet werden können, die sich für die Erfindung anbieten.
  • Die Kernlogik 12, die oft als eine "Nordbrücke" bezeichnet wird, enthält in der Regel eine CPU-Schnittstelle 22, die eine Kommunikation mit der CPU 14 über einen CPU-Bus 24 ermöglicht, sowie eine Speicherschnittstelle 26, die eine Kommunikation mit dem Systemspeicher 16 über einen Speicherbus 28 ermöglicht. Eine AGP-Steuereinheit 30 verbindet die Kernlogik mit der Grafik-Steuereinheit 18 über einen AGP-Bus 32. Die Grafik-Steuereinheit 18 ist in der Regel mit einem eigenständigen Videospeicher 34 verbunden und dient zum Ansteuern einer Anzeige 36, wie zum Beispiel einer KSR, eines LCD-Feldes oder einer sonstigen Anzeige. Darüber hinaus ist die Kernlogik 12 auch dafür konfiguriert, eine Schnittstelle zum PCI-Bus 20 (nicht gesondert gezeigt) bereitzustellen, um eine Kommunikation mit mehreren zugreifbaren E/A-Geräten 40, zum Beispiel einer Audiokarte 42 oder einer Speicherkomponente 44, unter anderen bekannten Arten von PCI-Komponenten zu ermöglichen.
  • Es versteht sich, dass die Bedeutung des Begriffes "Vorrichtung" verschiedene Datenverarbeitungssysteme wie zum Beispiel Computer und andere elektronische Geräte sowie verschiedene Komponenten innerhalb solcher Systeme umfasst, einschließlich einzelner integrierter Schaltkreiskomponenten oder Kombinationen davon. Darüber hinaus können innerhalb einer Vorrichtung eine oder mehrere Schaltungsanordnungen enthalten sein, die in der Regel in einem oder in mehreren integrierten Schaltkreiskomponenten implementiert sind und optional zusätzliche diskrete Komponenten enthalten, die mit ihnen verbunden sind. Es versteht sich des Weiteren, dass Schaltungsanordnungen in der Regel mindestens teilweise unter Verwendung einer oder mehrerer Computerdateien entwickelt und hergestellt werden, die im vorliegenden Text als Hardwaredefinitionsprogramme bezeichnet werden und die das Layout der Schaltungsanordnungen in integrierten Schaltkreiskomponenten definieren. Die Programme werden in der Regel in einer bekannten Weise mit Hilfe eines Entwicklungswerkzeugs herge stellt und werden anschließend während der Fertigung verwendet, um die Layout-Masken herzustellen, welche die Schaltungsanordnungen definieren, die auf einen Halbleiterwafer aufgebracht werden. In der Regel werden die Programme in einem vorgegebenen Format unter Verwendung einer Hardwaredefinitionssprache (Hardware Definition Language – HDL) wie zum Beispiel VHDL, Verilog, EDIF usw. geliefert. Das heißt, obgleich die Erfindung bisher und im Weiteren im Zusammenhang mit Schaltungsanordnungen beschrieben wurde bzw. beschrieben wird, die in voll funktionstüchtigen integrierten Schaltkreiskomponenten implementiert sind, ist dem Fachmann klar, dass Schaltungsanordnungen gemäß der Erfindung in vielfältiger Weise als Programmprodukte vertrieben werden können und dass die Erfindung unabhängig von der speziellen Art des Signalträgermediums, das für den eigentlichen Vertrieb verwendet wird, gleichermaßen Anwendung findet. Zu Beispielen von Signalträgermedien gehören, ohne darauf beschränkt zu sein, beschreibbare Medien wie zum Beispiel unter anderem flüchtige und nicht-flüchtige Speicherbausteine, Disketten, Festplattenlaufwerke, CD-ROMs und DVDs und Übertragungsmedien wie zum Beispiel digitale und analoge Kommunikationsverbindungen.
  • Implementierung eines mit zweifacher oder vierfacher Geschwindigkeit arbeitenden AGP-Schnellschreibdatenpfades in einem AGP-Block
  • Eine Verbesserung an herkömmlichen Designs von AGP-Steuereinheiten beinhaltet die Implementierung des geschwindigkeitsvervielfachten AGP-Schnellschreibdatenpfades in einem AGP-Schaltkreisblock anstelle eines PCI-Schaltkreisblocks, wie es der Fall wäre, wenn der geschwindigkeitsvervielfachte AGP-Schnellschreibdatenpfad im selben Schaltkreisblock implementiert wäre wie die Adress- und die nicht-geschwindigkeitsvervielfachten Datenpfade. Insbesondere, wie oben besprochen, mindert die Implementierung eines geschwindigkeitsvervielfachten AGP-Schnellschreibdatenpfades in einem AGP-Schaltkreisblock wesentlich den Anpassungsaufwand, der für einen standardmäßigen PCI-Schaltkreisblock erforderlich ist, wodurch ein PCI-Schaltkreisblock, der sich zur Verwendung in einem Kernlogik-Design gemäß der Erfindung eignet, weniger komplex, einfacher übertragbar und besser zur Verwendung in anderen Anwendungen geeignet ist, zum Beispiel in AGP-fremden Anwendungen wie zum Beispiel PCI-Brückenschaltungen, PCI-Schnittstellensteuereinheiten in Nordbrücken, PCI-Schnittstellensteuereinheiten für eingebettete PCI-Busse usw. Ein weiterer Vorteil ist eine Senkung der Anzahl der Datenpfade zu extrem zeitablaufkritischen äußeren, mit zweifacher oder vierfacher Geschwindigkeit arbeitende Übertragungswarteschleifenschaltungen.
  • Wie dem Fachmann allgemein bekannt ist, meint ein "Schaltkreisblock" allgemein eine Komponente eines Schaltungsaufbaus, die als eine separate logische Entität entwickelt, getestet und validiert wurde, in der Regel zu dem Zweck, die Wiederverwendbarkeit der Komponente in mehreren Designs zu fördern. Das Design eines integrierten Schaltkreises unter Verwendung von Schaltkreisblöcken vollzieht sich allgemein in der Weise, dass man mehrere Schaltkreisblöcke im größtmöglichen Umfang zusammensetzt und dann eine "Zusammenhaltelogik" entwickelt, die erforderlich ist, um die Schaltkreisblöcke zu einem betriebstüchtigen Design miteinander zu verbinden. Durch Verwenden eines Zusammenbaus schon vorhandener Schaltkreisblöcke können die Entwicklungskosten und die Entwicklungszeit wesentlich verringert werden, da ein Entwickler oft nur minimale zweckspezifische Schaltungen entwickeln muss, um die schon vorhandenen Blöcke zu verbinden, anstatt die Funktionalität aller Blöcke von Anfang an neu entwickeln zu müssen. Ein Schaltungsentwickler kann sich oft auch auf die früheren Validierungen und Tests stützen, die an schon vorhandenen Blöcken vorgenommen wurden, um nicht mehr alle internen Aspekte jedes einzelnen Schaltkreisblocks in einem Design testen zu müssen.
  • Die Aufteilung von Schaltkreisfunktionalität zwischen Schaltkreisblöcken ist nicht willkürlich, und somit basiert das Design einer AGP-Steuereinheit, bei der sich der geschwindigkeitsvervielfachte Datenpfad zur Verwendung bei der Verarbeitung von geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktionen in einem anderen Schaltkreisblock befindet als dem, der die Adressphasen solcher Transaktionen implementiert, nicht auf einer willkürlichen Abgrenzung zwischen Schaltkreiskomponenten. Vielmehr ist – von einer konzeptuellen Ebene aus betrachtet – das, was einem bestimmten Schaltkreisblock zugeordnet ist, in der Regel durch die gesamten Design-, Test- und Validierungsprozesse hindurch klar abgegrenzt.
  • Darüber hinaus werden im Hinblick auf das Konzept einer geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion im Rahmen der Revision 2.0 der AGP-Spezifikation geschwindigkeitsvervielfachte Transaktionen mit zweifacher und vierfacher Geschwindigkeit unterstützt. Es wird jedoch in Betracht gezogen, dass künftige Revisionen der AGP-Spezifikation auch andere geschwindigkeitsvervielfachte Transaktionen definieren können, die dafür geeignet sind, in einer erfindungsgemäßen Weise gehandhabt zu werden. Darum ist die Erfindung nicht allein auf Anwendungen beschränkt, die auf der Revision 2.0 der AGP-Spezifikation basieren.
  • 2 veranschaulicht die hauptsächlichen Adress- und Datenpfade in Verbindung mit AGP-Transaktionen zwischen der CPU-Schnittstelle 22, der Speicherschnittstelle 26 und der AGP-Steuereinheit 30 der Kernlogik 12. Die AGP-Steuereinheit 30 in der veranschaulichten Implementierung besteht aus einem PCI-Schaltkreisblock 50 und einem AGP-Schaltkreisblock 52, die PCI- bzw. AGP-Signalprotokolle handhaben, die sich auf ein AGP-kompatibles Gerät beziehen, das über den AGP-Bus 32 angeschlossen ist.
  • Gemäß der AGP-Spezifikation Revision 2.0 verläuft ein Adresspfad 54 von der CPU-Schnittstelle 22 zum PCI-Schaltkreisblock 50, und ein Datenpfad 56 ist zwischen der CPU-Schnittstelle 22 und dem PCI-Schaltkreisblock 50 definiert, um die Einleitung von PCI-Transaktionen durch die CPU in der AGP-Steuereinheit zu ermöglichen. Darüber hinaus verläuft ein Adresspfad 58 von dem PCI-Schaltkreisblock 50 zu jeder CPU-Schnittstelle 22 und Speicherschnittstelle 26, und ein Datenpfad 60 verläuft zwischen dem PCI-Schaltkreisblock 50 und der Speicherschnittstelle 26, damit der PCI-Schaltkreisblock 50 PCI-Transaktionen an jeder CPU-Schnittstelle 22 und Speicherschnittstelle 26 einleiten kann. Des Weiteren verläuft, um AGP-Transaktionen zu handhaben, die durch den AGP-Schaltkreisblock 52 eingeleitet wurden, ein Adresspfad 62 und ein Datenpfad 64 zwischen dem AGP-Schaltkreisblock 52 und der Speicherschnittstelle 26. Jeder Datenpfad 56, 60 und 64 kann unter Verwendung eines bidirektionalen Pfades oder unter Verwendung eines Paares unidirektionaler Pfade implementiert werden.
  • Um die Implementierung eines geschwindigkeitsvervielfachten AGP-Schnellschreibdatenpfades in einer erfindungsgemäßen Weise zu unterstützen, ist ein zusätzlicher Datenpfad 66, der von der CPU-Schnittstelle 22 zum AGP-Schaltkreisblock 52 verläuft, zusätzlich zu den oben erwähnten Adress- und Datenpfaden, die durch die AGP-Spezifikation definiert werden, bereitgestellt. Über diesen Datenpfad (der unidirektional ist, aber in anderen Implementierungen bidirektional sein kann) werden geschwindigkeitsvervielfachte (zum Beispiel mit zweifacher oder vierfacher Geschwindigkeit fließende) AGP-Schnellschreibdaten in den AGP-Schaltkreisblock geschrieben, um eine geschwindigkeitsvervielfachte schnelle AGP-Schreibtransaktion auszuführen.
  • Als nächstes veranschaulicht 3 die AGP-Steuereinheit 30 in größerem Detail und veranschaulicht insbesondere die Adress- und Datenpfade oder -wege, die innerhalb jedes Schaltkreisblocks 50 und 52 definiert sind, sowie die Zustandsmaschinen, die zum Verwalten der Transaktionen verwendet werden, die durch jeden Schaltkreisblock verarbeitet werden.
  • Insbesondere, wie in 3 gezeigt, werden AGP-Transaktionen über einen AGP-Adresspfad 70 und mehrere AGP-Datenpfade 72-78 verarbeitet, über die Adress- und Dateninformationen zwischen der Grafik-Steuereinheit (über den AGP-Bus) und dem Systemspeicher übermittelt werden. Gemäß der Revision 2.0 der AGP-Spezifikation werden separate Datenpfade 72, 74, 76 und 78 für Daten mit hoher Lesepriorität (High Priority Read – HPR), Daten mit niedriger Lesepriorität (Low Priority Read – LPR), Daten mit hoher Schreibpriorität (High Priority Write – HPW) und Daten mit niedriger Schreibpriorität (Low Priority Write – LPW) definiert.
  • Wie ebenfalls durch die AGP-Spezifikation definiert, führen die Datenpfade 72 und 74 aufgrund der Tatsache, dass Lesedaten mit zweifacher oder vierfacher Geschwindigkeit verarbeitet werden können, in eine äußere Übertragungswarteschleife (AGP-Zweifachgeschwindigkeitslogik 80), die innerhalb eines Hochfrequenzbereichsabschnitts 82 des Designs der AGP-Steuereinheit definiert ist. Das Ausgangssignal der Schaltung 80 wird in einen Multiplexer 84 zur Verbindung mit dem AGP-Bus eingespeist.
  • Im Hinblick auf PCI-Transaktionen, wie zum Beispiel schnelle AGP-Schreibtransaktionen, ist ein PCI-Adresspfad 86 innerhalb des PCI-Schaltkreisblocks 50 definiert, wobei das Ausgangssignal des Adresspfades 86 in einen Eingang eines Multiplexers 88 eingespeist wird, der an einen anderen Eingang des Multiplexers 84 ausgibt. Um die im vorliegenden Text beschriebene Handhabung der AGP-Schnellschreibdaten gemäß der Erfindung zu implementieren, werden jedoch nicht alle Schreibdaten durch den Schaltkreisblock 50 geleitet, sondern es sind separate Datenpfade 90, 92 für nicht-geschwindigkeitsvervielfachte (zum Beispiel mit einfacher Geschwindigkeit fließende) PCI-Daten und für geschwindigkeitsvervielfachte (zum Beispiel mit zweifacher oder vierfacher Geschwindigkeit fließende) PCI-Daten, wie zum Beispiel geschwindigkeitsvervielfachte AGP-Schnellschreibdaten, definiert. Darüber hinaus sind diese separaten Datenpfade 90, 92 in den Schaltkreisblöcken 50 bzw. 52 implementiert. Das Ausgangssignal vom Datenpfad 90 wird in einen anderen Eingang des Multiplexers 88 eingespeist, während das Ausgangssignal vom Datenpfad 92 in die Schaltung 80 in dem Hochfrequenzbereich 82 des Schaltungsaufbaus eingespeist wird.
  • Da PCI-Schreibdaten im Rahmen der AGP-Spezifikation in der gleichen Weise gehandhabt werden wie alle PCI-Daten, versteht es sich, dass die Implementierung des PCI-Adresspfades und des mit einfacher Geschwindigkeit arbeitenden Datenpfades 86, 90 innerhalb des Schaltkreisblocks 50 im Wesentlichen vom gleichen Design ist, wie es für einen standardmäßigen PCI-Schaltkreisblock benötigt wird. Darüber hinaus ist, da PCI-Schreibtransaktionen über den AGP-Bus im Wesentlichen dem PCI-Protokoll folgen, eine PCI-Zustandsmaschine 94, die innerhalb des Schaltkreisblocks 50 implementiert ist, ebenfalls im Wesentlichen die gleiche wie für eine AGP-fremde Implementierung.
  • In der Regel bestehen die einzigen Modifikationen an einem standardisierten PCI-Schaltkreisblockdesign, die möglicherweise an dem Schaltkreisblock 50 vorgenommen werden müssen, wenn eine AGP-Implementierung ausgeführt werden soll, in der Hinzufügung eines Steuerpfades 96 zwischen der PCI-Zustandsmaschine 94 und einer AGP-Zustandsmaschine 98, die innerhalb des Schaltkreisblocks 52 implementiert ist. Der zusätzliche Steuerpfad ermöglicht es den PCI- und AGP-Zustandsmaschinen, während einer geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion zu kommunizieren, um die Datenphase der Transaktion im Anschluss an die Einleitung der Adressphase durch den PCI-Schaltkreisblock zu koordinieren.
  • Obgleich auch andere Arten von Steuersignalen zwischen den Zustandsmaschinen 94, 98 übermittelt werden können, um den Ablauf einer schnellen AGP-Schreibtransaktion in der AGP-Steuereinheit 30 zu koordinieren, veranschaulicht 4 einen beispielhaften Satz Steuersignale, der ein Adresse-gültig-Signal (ADDR VALID), ein Übertragungsgröße-Signal (XFER SIZE) und ein Daten-Ende-Signal (DATA END) enthält, die dafür verwendet werden, die Operationen zwischen den Schaltkreisblöcken 50 und 52 zu koordinieren. 4 zum Beispiel zeigt den Zustand des AGP-Adress/Datenbusses (AGP-AD BUS) während der Ausführung einer zweifach geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion, wobei während eines ersten Taktes Adressierungsinformationen durch den PCI-Schaltkreisblock 50 in den AGP-Bus eingespeist werden. Gleichzeitig mit dem Einspeisen der Adresse in den Bus drückt der Schaltkreisblock 50 das ADDR VALID-Signal auf, um den Schaltkreisblock 52 zu informieren, dass die Datenphase der schnellen AGP-Schreibtransaktion beim nächsten Taktzyklus eingeleitet werden kann. Gleichzeitig mit dem Aufdrücken dieses Signals wird die Menge an Daten, die durch die Transaktion übertragen wird, auf das XFER SIZE-Signal aufgedrückt. Somit ist die AGP-Zustandsmaschine im Anschluss an den ersten Taktzyklus bereit, geschwindigkeitsvervielfachte schnelle Schreibdaten in den AGP-Bus (durch die Daten D1-D8 dargestellt) einzuspeisen. Das DATA END-Signal, das in einigen Implementierungen möglicherweise nicht benötigt wird, kann durch die AGP-Zustandsmaschine während des letzten Taktzyklus' der Datenphase aufgedrückt werden, um die PCI-Zustandsmaschine zu informieren, dass die Datenphase der Transaktion vollendet ist.
  • Es versteht sich, dass die Implementierung der Zustandsmaschinen 94 und 98 zum Koordinieren der Leistung einer geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion in der im vorliegenden Text beschriebenen (und in 4 gezeigten) Weise für einen Durchschnittsfachmann, der in den Genuss der vorliegenden Offenbarung kommt, problemlos auszuführen wäre.
  • Somit würde sich eine geschwindigkeitsvervielfachte schnelle AGP-Schreibtransaktion, die unter der Koordination der Schaltkreisblöcke 50, 52 ausgeführt wird, in einer im Wesentlichen standardmäßigen Weise für solche schnellen Schreibtransaktionen vollziehen. Genauer gesagt, würde die CPU einen Schreibvorgang anfordern, wenn die Adresse verfügbar ist und die PCI-Ordnungsregeln die Transaktion zulassen. Die Daten würden nach der Adressphase zu dem AGP-Block übertragen werden. Als nächstes würde die PCI-Zustandsmaschine die Anforderung an den Busverwalter weiterleiten, und sobald der Busverwalter den Bus für die PCI-(Schreib-) Anforderung freigibt, würde der PCI-Schaltkreisblock die Adresse für die Dauer eines Taktes in den AGP-Bus einspeisen. Im selben Takt würden FRAME# und IRDY# durch die AGP-Zustandsmaschine aufgedrückt werden, wie in der AGP-Spezifikation beschrieben. Im nächsten Taktzyklus würde die AGP-Zustandsmaschine die Daten übertragen und die Auftastsignale in einer dem Fachmann allgemein bekannten Weise koordinieren. Es versteht sich, dass FRAME# entweder durch den PCI- oder den AGP-Schaltkreisblock während der Adressphase aufgedrückt werden kann.
  • Es ist somit zu sehen, dass das Aufteilen der Funktionalität für geschwindigkeitsvervielfachte schnelle AGP-Schreibtransaktionen zwischen den Schaltkreisblöcken 50 und 52 den PCI-Schaltkreisblock als ein stärker standardisiertes und übertragbares Design belässt. In der Regel kann eine standardmäßige Implementierung des PCI-Schaltkreisblocks zur Verwendung in AGP-fremden Anwendungen so konfiguriert werden, dass sie, wie oben beschrieben, mit einigen wenigen Modifikationen mit einer AGP-Implementierung funktioniert, die schnelle Schreibtransaktionen unterstützt. Darüber hinaus wird ein zusätzlicher Pfad zu der zeitablaufkritischen äußeren Übertragungswarteschleife vermieden, wodurch die Komplexität des PCI-Blockdesigns vermindert wird und vermieden wird, dass das PCI-Blockdesign eine zweifache oder vierfache Geschwindigkeit erkennen können muss.
  • Implementierung ausschließlich von geschwindigkeitsvervielfachten schnellen Einzelblock-Schreibtransaktionen
  • Der oben erwähnte AGP-Schaltkreisblock 52 kann dafür verwendet werden, das komplette Schnellschreibprotokoll zu implementieren, das durch die Revision 2.0 der AGP-Spezifikation unterstützt wird. In der Alternative kann es wünschenswert sein, nur einen Teil des Schnellschreibprotokolls im Schaltkreisblock 52 zu unterstützen, um die Auswirkungen auf schon vorhandene AGP-Schaltungsaufbauten zu minimieren. Wie dem Fachmann allgemein bekannt ist, führt die Revision 2.0 der AGP-Spezifikation einen PCI-Datenpfad von der CPU zu einem AGP-kompatiblen Gerät mit zweifacher oder vierfacher Geschwindigkeit ein, was im vorliegenden Text als eine geschwindigkeitsvervielfachte schnelle AGP-Schreibtransaktion bezeichnet wird. Dadurch wird die früher bestehende Anforderung früherer Revisionen der AGP-Spezifikation überflüssig, wonach diese Operation mittels eines Zweistufenprozesses ausgeführt werden muss, wobei die CPU in den Speicher schreiben würde und der AGP aus dem Speicher lesen würde.
  • Im Rahmen der Revision 2.0 der AGP-Spezifikation folgt die (zum Beispiel zweifach oder vierfach) geschwindigkeitsvervielfachte schnelle Schreibtransaktion einem anderen Signalprotokoll von herkömmlichen PCI-Datenübertragungen. Das Signalprotokoll unterscheidet sich auch von dem AGP-Signalprotokoll, aber die Drosselung erfolgt blockweise (d. h. vier Taktübertragungen, was 32 Bytes im Zweifachgeschwindigkeitsmodus oder 64 Bytes im Vierfachgeschwindigkeitsmodus bedeutet), was für AGP-Übertragungen üblich ist. Das Drosseln eines schnellen AGP-Schreibvorgangs erfordert eine Mischung der PCI- und AGP-Signalprotokolle.
  • Um ein volles Schnellschreibprotokoll im Rahmen der Revision 2.0 der AGP-Spezifikation zu unterstützen, muss ein AGP-kompatibles Gerät mindestens einen Datenblock vor einem nächsten Drosselpunkt entgegennehmen, d. h. bevor ein Wartezustand eingefügt wird. Eine unbegrenzte Anzahl von Datenblöcken kann in einer einzelnen schnellen AGP-Schreibtransaktion im Rahmen der Revision 2.0 der AGP-Spezifikation übertragen werden.
  • Es ist jedoch festgestellt worden, dass eine Unterstützung für das Drosseln mehrerer Datenblöcke relativ komplex ist und eine erhebliche Umarbeitung von schon vorhandenen (d. h. Revision 1.0-kompatiblen) AGP-Schaltkreisblockdesigns erfordert. Insbesondere erfordert das Hinzufügen von Funktionalität für eine Mehrblockübertragung, dass eine AGP-Zustandsmaschine eine Anzahl von Abbruchbedingungen detek tiert, darunter Master-Abbruch, Ziel-Abbruch, Trennen mit Daten und Trennen ohne Daten. Darüber hinaus wird angenommen, dass geschwindigkeitsvervielfachte schnelle Mehrblock-AGP-Schreibtransaktionen ein Problem im Hinblick auf die Zuweisung von Bandbreite zwischen verschiedenen Arten von AGP- und PCI-Transaktionen über einen AGP-Bus darstellen können. Da das Schnellschreibprotokoll im Hinblick auf die Länge der Transaktion den PCI-Regeln folgt, könnte eine einzelne schnelle Schreibtransaktion den AGP-Bus für eine relativ lange Zeit binden und im Wesentlichen andere Arten von Transaktionen, die über den AGP-Bus ausgeführt werden sollen, blockieren.
  • Darüber hinaus ist anzumerken, dass bei einer Anzahl von CPU-Architekturen, zum Beispiel der von IBM und Motorola entwickelten Power PC-Architektur, CPU-Datenbursts in der Regel auf vier Takte aus 64-Bit-Daten beschränkt sind, die in vier Takten aus AGP-Daten mit einer zweifachen Datenrate oder in zwei Takten aus AGP-Daten mit einer vierfachen Datenrate übertragen werden können. Infolge dessen ist festgestellt worden, dass die maximale Menge an Daten, die bei vielen CPU-Designs mittels eines beliebigen CPU-Bursts übertragen werden können, maximal einem Datenblock in einer geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion entspricht.
  • Darum kann es bei einigen Ausführungsformen wünschenswert sein, dass die AGP-Zustandsmaschine 98 von 3 lediglich geschwindigkeitsvervielfachte schnelle Einzelblock-AGP-Schreibtransaktionen unterstützt; das heißt, nur die Übertragung eines einzelnen Blocks (vier Takte) mit Daten je geschwindigkeitsvervielfachter schneller AGP-Schreibtransaktion unterstützt.
  • Dadurch entsteht ein Durchsatz von etwa 425 Megabytes pro Sekunde im Zweifachgeschwindigkeitsmodus und etwa 852 Megabytes pro Sekunde im Vierfachgeschwindigkeitsmodus bei schnellen Back-to-Back-Schreiboperationen im Rahmen der Revision 2.0 der AGP-Spezifikation. Darüber hinaus beruhigt dies den Transaktions-Mix auf dem AGP-Bus zwischen geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktionen und andere Arten von Transaktionen, wie zum Beispiel AGP-Lesevorgängen, AGP-Schreibvorgängen und PCI-Transaktionen.
  • Ein weiterer deutlicher Nutzeffekt ist die Vereinfachung der Implementierung schneller Schreibvorgänge in der Kernlogik, während trotzdem weit über 200 % Verbesserung im Vergleich zu herkömmlichen PCI-Schreibtransaktionen erreicht werden. Genauer gesagt, braucht eine AGP-Zustandsmaschine dank der Beseitigung der Unterstützung für Mehrblockübertragungen nicht mehr eine Anzahl von Signalen zu überwachen, die andernfalls bei einer Mehrblockübertragung überwacht werden müssten, zum Beispiel die Signale DEVSEL#, TRDY# und STOP#, die zum Detektieren verschiedener Abbruchbedingungen verwendet werden, wie zum Beispiel Ziel-Abbruch, Master-Abbruch, Trennen mit Daten und Trennen ohne Daten. Infolge dessen kann die zusätzliche Anzahl der Gatter in der AGP-Zustandsmaschine deutlich verringert werden, und darüber hinaus ist die Implementierung insofern besser übertragbar, als sie auf einfache Weise ohne umfassende Modifikation vorhandener Designs implementiert werden kann.
  • 5 zum Beispiel veranschaulicht den Ablauf einer zweifach geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion unter Verwendung einer AGP-Zustandsmaschine, die nur geschwindigkeitsvervielfachte schnelle Einzelblock-Schreibübertragungen unterstützt. Die Zustandsmaschine braucht nur die Signale IRDY# und FRAME# anzusteuern, um den Datenfluss auszuführen. Die anderen Signale, die in 5 gezeigt sind, und zwar die Signale Clock, AGP AD BUS, C/BE#, AD_STBx und WBF#, werden in der gleichen Weise angesteuert, wie es dem Fachmann allgemein bekannt ist.
  • Die Kernlogik kann eine schnelle Schreibübertragung einleiten, solange das WBF#-Signal nicht aufgedrückt ist, aber sobald die schnelle Schreibübertragung eingeleitet ist, muss das AGP-kompatible Gerät mindestens einen Datenblock vor dem nächsten Drosselpunkt entgegennehmen. Mit nur einer einzigen Blockübertragung können 32 Bytes an Daten in vier Takten im Zweifachgeschwindigkeitsmodus übertragen werden, oder es können 64 Bytes im Vierfachgeschwindigkeitsmodus übertragen werden. Wenn wir also annehmen, dass eine beispielhafte PowerPC-CPU mit 100 MHz Schreibvorgänge mit einer Spitzenrate von 800 Megabyte pro Sekunde ausgibt, so kann die im vorliegenden Text beschriebene Implementierung diese Rate des Spitzen- Schnellschreibverkehrs aufrecht erhalten, während gewährleistet wird, dass die übrigen AGP-Datenpfade (zum Beispiel AGP-Lesevorgänge und AGP-Schreibvorgänge) ihren gerechten Anteil am AGP-Bus bekommen, da eine schnelle Schreibtransaktion nicht fünft Takte überschreitet, wenn IRDY# am frühesten Punkt aufgedrückt wird, und nicht sechs Takte überschreitet, wenn IRDY# mit maximaler Verzögerung aufgedrückt wird.
  • Es versteht sich, dass die Implementierung einer Zustandsmaschine und anderer Schaltkreislogik zum Erzeugen des in 5 veranschaulichten Ablaufdiagramms für einen Durchschnittsfachmann, der in den Genuss der vorliegenden Offenbarung kommt, ohne weiteres zu realisieren wäre.
  • An den veranschaulichten Ausführungsformen können verschiedene Modifikationen vorgenommen werden. Zum Beispiel kann, wie oben besprochen, der Schaltkreisblock 52 in einigen Ausführungsformen das volle AGP-Schnellschreibprotokoll implementieren. Darüber hinaus kann in anderen Ausführungsformen eine Unterstützung für lediglich geschwindigkeitsvervielfachte schnelle Einzelblock-AGP-Schreibübertragungen ohne die im vorliegenden Text beschriebene Aufteilung von Datenpfadfunktionalität zwischen den Schaltkreisblöcken 50 und 52 implementiert werden. Darüber hinaus können in Fällen, wo mit einer CPU andere Burstdateneigenschaften verbunden sind, andere Blockgrößen (zum Beispiel andere Anzahlen von Taktzyklen) in einer schnellen Einzelblock-AGP-Schreibtransaktion gemäß der Erfindung verwendet werden.
  • Weitere Modifikationen sind für den Durchschnittsfachmann erkennbar. Die Erfindung ruht darum in den Ansprüchen, die dem vorliegenden Text angehängt sind.

Claims (18)

  1. Schaltungsaufbau, der dafür konfiguriert ist, mit einem Accelerated Graphics Port, auch als AGP bezeichnet, -kompatiblen Gerät (18) über einen AGP-Bus (32) zu kommunizieren, wobei der Schaltungsaufbau Folgendes umfasst: (a) einen ersten Schaltkreisblock, der eine erste Logikschaltung (50) enthält, die dafür konfiguriert ist, eine Adressphase einer geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion unter Verwendung eines Peripheral Component Interconnect, auch als PCI bezeichnet, -Signalprotokolls zu handhaben, wobei die erste Logikschaltung (50) einen Adresspfad (54) enthält, der dafür konfiguriert ist, Adressinformationen für einen schnellen AGP-Schreibvorgang zur Übertragung über den AGP-Bus (32) zu speichern; (b) einen zweiten Schaltkreisblock, der eine zweite Logikschaltung (52) enthält, wobei die zweite Logikschaltung (52) dafür konfiguriert ist, eine Datenphase der geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion unter Verwendung eines AGP-Signalprotokolls zu handhaben, wobei die zweite Logikschaltung (52) einen geschwindigkeitsvervielfachten Datenpfad (66) enthält, der dafür konfiguriert ist, Dateninformationen für einen geschwindigkeitsvervielfachten AGP-Schnellschreibvorgang zur Übertragung über den AGP-Bus (32) zu speichern; und (c) einen Steuersignalpfad (96), der zwischen der ersten und der zweiten Logikschaltung (50, 52) angeschlossen ist, um es zu ermöglichen, dass die erste Logikschaltung (50) die Datenphase der geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion in der zweiten Logikschaltung (52) einleitet, nachdem die Adressphase in der ersten Logikschaltung eingeleitet wurde.
  2. Schaltungsaufbau nach Anspruch 1, wobei der erste Schaltkreisblock (50) einen PCI-kompatiblen Schaltkreisblock umfasst, der zur Verwendung in AGP-fremden Logikschaltungen konfiguriert ist.
  3. Schaltungsaufbau nach Anspruch 1, wobei der geschwindigkeitsvervielfachte Datenpfad (66) dafür konfiguriert ist, Schnellschreibdateninformationen für mit zweifacher oder vierfacher Geschwindigkeit stattfindende schnelle AGP-Schreibtransaktionen zu speichern, und wobei die erste Logikschaltung (50) des Weiteren einen nicht-geschwindigkeitsvervielfachten Datenpfad (56) enthält, der dafür konfiguriert ist, PCI-Schreibdateninformationen für PCI-Schreibtransaktionen zu speichern, und wobei die erste Logikschaltung (50) dafür konfiguriert ist, sowohl die Adress- als auch die Datenphasen einer PCI-Schreibtransaktion zu handhaben.
  4. Schaltungsaufbau nach Anspruch 3, wobei der zweite Schaltkreisblock (52) des Weiteren eine äußere Übertragungsschleifenschaltung (80) enthält, die in einem Hochfrequenzbereichs (82)-Abschnitt des zweiten Schaltkreisblocks (52) definiert ist, wobei die äußere Übertragungsschleifenschaltung (80) einen Eingang, der mit dem geschwindigkeitsvervielfachten Datenpfad (66) verbunden ist, und einen Ausgang enthält, wobei der Schaltungsaufbau des Weiteren Folgendes umfasst: (a) einen ersten Multiplexer (88), der einen Ausgang und einen ersten und einen zweiten Eingang enthält, die mit dem Adresspfad (54) bzw. dem nicht-geschwindigkeitsvervielfachten Datenpfad (56) verbunden sind; und (b) einen zweiten Multiplexer (84), der einen Ausgang, der mit dem AGP-Bus (32) verbunden ist, und einen ersten und einen zweiten Eingang enthält, die mit dem Ausgang des ersten Multiplexers (88) bzw. dem Ausgang der äußeren Übertragungsschleifenschaltung (80) verbunden sind.
  5. Schaltungsaufbau nach Anspruch 1, wobei der zweite Schaltkreisblock (52) einen AGP-kompatiblen Schaltkreisblock umfasst, und wobei die zweite Logikschaltung (52) des Weiteren dafür konfiguriert ist, AGP-Transaktionen zu handhaben, die durch das AGP-kompatible Gerät (18) eingeleitet wurden.
  6. Schaltungsaufbau nach Anspruch 1, wobei der zweite Schaltkreisblock (52) dafür konfiguriert ist, nur geschwindigkeitsvervielfachte schnelle Einzelblock-AGP-Schreibtransaktionen zu unterstützen.
  7. Schaltungsaufbau nach Anspruch 1, wobei die erste Logikschaltung (50) dafür konfiguriert ist, die Datenphase der geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion in der zweiten Logikschaltung (52) durch Übertragen eines Adresse-gültig-Steuersignals und eines Übertragungsgröße-Steuersignals zu der zweiten Logikschaltung (52) über den Steuersignalpfad (96) einzuleiten.
  8. Integrierter Schaltkreisbaustein (12), der den Schaltungsaufbau nach Anspruch 1 umfasst.
  9. Integrierter Schaltkreisbaustein nach Anspruch 8, wobei der integrierte Schaltkreisbaustein (12) eine Kernlogik zur Verwendung bei der Verbindung einer zentralen Verarbeitungseinheit (CPU) mit dem AGP-Bus (32), einem Systemspeicher (16) und einem PCI-Bus (20) umfasst.
  10. Vorrichtung (10), die den Schaltungsaufbau nach Anspruch 1 umfasst.
  11. Programmprodukt, das ein Hardwaredefinitionsprogramm, das den Schaltungsaufbau nach Anspruch 1 definiert, und ein Signalträgermedium umfasst, welches das Hardwaredefinitionsprogramm trägt, wobei das Signalträgermedium ein beschreibbares Medium und/oder ein Übertragungsmedium enthält.
  12. Schaltungsaufbau, der dafür konfiguriert ist, eine zentrale Verarbeitungseinheit, auch als CPU bezeichnet, (14) mit einem Systemspeicher (16) über einen Speicherbus (28) und ein Accelerated Graphics Port, auch als AGP bezeichnet, – kompatibles Gerät (18) über einen AGP-Bus (32) zu verbinden, wobei der Schaltungsaufbau Folgendes umfasst: (a) eine CPU-Schnittstelle (22), die dafür konfiguriert ist, mit der CPU (14) über einen CPU-Bus (24) verbunden zu werden; (b) eine Speichersteuereinheit (26), die mit der CPU-Schnittstelle (22) verbunden ist und dafür konfiguriert ist, mit dem Systemspeicher (16) über den Speicherbus (28) verbunden zu werden; und (c) eine AGP-Steuereinheit (30), die mit der CPU-Schnittstelle (22) und der Speichersteuereinheit (26) verbunden ist, wobei die AGP-Steuereinheit (30) dafür konfiguriert ist, schnelle AGP-Schreibtransaktionen zu handhaben, die durch die CPU-Schnittstelle (22) angefordert wurden, und AGP-Lese- und -Schreibtransaktionen mit der Speichersteuereinheit (26) einzuleiten, wobei die AGP-Steuereinheit (30) Folgendes enthält: (i) einen PCI-Schaltkreisblock, der eine erste Logikschaltung (50) enthält, die dafür konfiguriert ist, eine schnelle AGP-Schreibtransaktion einzuleiten, die durch die CPU-Schnittstelle (22) angefordert wurde, wobei die erste Logikschaltung (50) einen Adresspfad (54) und einen mit einfacher Geschwindigkeit arbeitenden Datenpfad (56) enthält, wobei der Adresspfad (54) dafür konfiguriert ist, PCI- und AGP-Schnellschreibadressinformationen zu speichern, und wobei der Datenpfad (56) dafür konfiguriert ist, PCI-Schreibdateninformationen zu speichern; und (ii) einen AGP-Schaltkreisblock, der eine zweite Logikschaltung (52) enthält, die dafür konfiguriert ist, Transaktionen auf der Grundlage eines AGP-Signalprotokolls zu handhaben, wobei die zweite Logikschaltung (52) einen mit zweifacher oder vierfacher Geschwindigkeit arbeitenden Datenpfad (66) enthält, der dafür konfiguriert ist, mit zweifacher oder vierfacher Geschwindigkeit fließende AGP-Schnellschreibdateninformationen zu speichern; wobei die erste Logikschaltung (50) des Weiteren dafür konfiguriert ist, eine Adressphase der schnellen AGP-Schreibtransaktion unter Verwendung eines PCI-Signalprotokoll zu handhaben und die Handhabung der Datenphase der schnellen AGP-Schreibtransaktion durch die zweite Logikschaltung (52) und mittels des mit zweifacher oder vierfacher Geschwindigkeit arbeitenden Datenpfades (66) einzuleiten.
  13. Verfahren zur Handhabung einer geschwindigkeitsvervielfachten schnellen Accelerated Graphics Port, auch als AGP bezeichnet, Schreibtransaktion, wobei das Verfahren Folgendes umfasst: (a) Handhabung einer Adressphase der geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion unter Verwendung eines Peripheral Component Interconnect, auch als PCI bezeichnet, Signalprotokolls in einer ersten Logikschaltung (50), die innerhalb eines ersten Schaltkreisblocks definiert ist, wobei die erste Logikschaltung (50) einen Adresspfad (54) enthält, der dafür konfiguriert ist, Adressinformationen für einen schnellen AGP-Schreibvorgang zur Übertragung über einen AGP-Bus (32) zu speichern; und (b) Einleiten, mit der ersten Logikschaltung (50), der Handhabung einer Datenphase der geschwindigkeitsvervielfachten schnellen AGP-Schreibtransaktion in einer zweiten Logikschaltung (52), die innerhalb eines zweiten Schaltkreisblocks definiert ist, unter Verwendung eines AGP-Signalprotokolls, wobei die zweite Logikschaltung (52) einen geschwindigkeitsvervielfachten Datenpfad (66) enthält, der dafür konfiguriert ist, Dateninformationen für einen geschwindigkeitsvervielfachten schnellen AGP-Schreibvorgang zur Übertragung über den AGP-Bus (32) zu speichern.
  14. Verfahren nach Anspruch 13, wobei der erste Schaltkreisblock (50) einen PCI-kompatiblen Schaltkreisblock umfasst, der zur Verwendung in AGP-fremden Logikschaltungen konfiguriert ist.
  15. Verfahren nach Anspruch 13, wobei der geschwindigkeitsvervielfachte Datenpfad (66) dafür konfiguriert ist, Schnellschreibdateninformationen für mit zweifacher oder vierfacher Geschwindigkeit stattfindende schnelle AGP-Schreibtransaktionen zu speichern, und wobei die erste Logikschaltung (50) des Weiteren einen nicht-geschwindigkeitsvervielfachten Datenpfad (56) enthält, der dafür konfiguriert ist, PCI-Schreibdateninformationen für PCI-Schreibtransaktionen zu speichern, wobei das Verfahren des Weiteren die Handhabung sowohl der Adress- als auch der Datenphasen einer PCI-Schreibtransaktion innerhalb der ersten Logikschaltung umfasst.
  16. Verfahren nach Anspruch 13, wobei der zweite Schaltkreisblock (52) einen AGP-kompatiblen Schaltkreisblock umfasst, wobei das Verfahren des Weiteren die Handhabung von AGP-Transaktionen umfasst, die durch ein AGP-kompatibles Gerät (18) mittels des zweiten Schaltkreisblocks (52) eingeleitet wurden.
  17. Verfahren nach Anspruch 13, wobei der zweite Schaltkreisblock (52) dafür konfiguriert ist, nur geschwindigkeitsvervielfachte schnelle Einzelblock-AGP-Schreibtransaktionen zu unterstützen.
  18. Verfahren nach Anspruch 13, wobei das Einleiten der Handhabung der Datenphase das Übertragen eines Adresse-gültig-Steuersignals und eines Übertragungsgröße-Steuersignals zu der zweiten Logikschaltung (52) über einen Steuersignalpfad (96) enthält, der die erste und die zweite Logikschaltung (50, 52) miteinander verbindet.
DE60223024T 2001-02-07 2002-01-21 Agp-steuerung (accelerated gaphics port), die schnelle schreibtransaktionen unterstützt Expired - Lifetime DE60223024T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/778,653 US6675252B1 (en) 2001-02-07 2001-02-07 Accelerated graphics port (AGP) controller supporting fast write transactions
US778653 2001-02-07
PCT/IB2002/000198 WO2002063477A2 (en) 2001-02-07 2002-01-21 Accelerated graphics port (agp) controller supporting fast write transactions

Publications (2)

Publication Number Publication Date
DE60223024D1 DE60223024D1 (de) 2007-11-29
DE60223024T2 true DE60223024T2 (de) 2008-02-07

Family

ID=25114025

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60223024T Expired - Lifetime DE60223024T2 (de) 2001-02-07 2002-01-21 Agp-steuerung (accelerated gaphics port), die schnelle schreibtransaktionen unterstützt

Country Status (6)

Country Link
US (1) US6675252B1 (de)
EP (1) EP1402383B1 (de)
JP (1) JP4159880B2 (de)
AT (1) ATE376217T1 (de)
DE (1) DE60223024T2 (de)
WO (1) WO2002063477A2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924269B2 (en) * 2006-05-13 2014-12-30 Sap Ag Consistent set of interfaces derived from a business object model
US8417593B2 (en) 2008-02-28 2013-04-09 Sap Ag System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems
US20090248463A1 (en) * 2008-03-31 2009-10-01 Emmanuel Piochon Managing Consistent Interfaces For Trading Business Objects Across Heterogeneous Systems
US20090249358A1 (en) * 2008-03-31 2009-10-01 Sap Ag Managing Consistent Interfaces for Kanban Business Objects Across Heterogeneous Systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5937173A (en) * 1997-06-12 1999-08-10 Compaq Computer Corp. Dual purpose computer bridge interface for accelerated graphics port or registered peripheral component interconnect devices
US5892964A (en) * 1997-06-30 1999-04-06 Compaq Computer Corp. Computer bridge interfaces for accelerated graphics port and peripheral component interconnect devices
US6057863A (en) * 1997-10-31 2000-05-02 Compaq Computer Corporation Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces
US6006291A (en) * 1997-12-31 1999-12-21 Intel Corporation High-throughput interface between a system memory controller and a peripheral device
US6106566A (en) * 1998-01-29 2000-08-22 Micron Electronics, Inc. Upgradable electronic module and system using same

Also Published As

Publication number Publication date
EP1402383A2 (de) 2004-03-31
ATE376217T1 (de) 2007-11-15
WO2002063477A3 (en) 2004-01-15
DE60223024D1 (de) 2007-11-29
JP4159880B2 (ja) 2008-10-01
US6675252B1 (en) 2004-01-06
WO2002063477A2 (en) 2002-08-15
JP2004523041A (ja) 2004-07-29
EP1402383B1 (de) 2007-10-17

Similar Documents

Publication Publication Date Title
DE19580606C2 (de) Plattenlaufwerksverbinderschnittstelle zur Verwendung an einem PCI-Bus
DE19882418B4 (de) System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren
DE69825915T2 (de) Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system
DE69433130T2 (de) Rechnersystem mit verändertem lokalen Datenbus
DE4035837A1 (de) Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation
DE4018481C2 (de)
DE60037624T2 (de) Pci-lese-/schreiboptimierungsschaltung und entsprechendes verfahren
DE3508640A1 (de) Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus
DE10234934A1 (de) Antwortreihenwiederherstellungsmechanismus
DE10255937B4 (de) Ordnungsregelgesteuerte Befehlsspeicherung
DE3732798A1 (de) Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet
DE60224438T2 (de) Aggregation von hardwareereignissen in mehrfach knotensystemen
DE19828620A1 (de) Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen
DE10030148A1 (de) Brückenvorrichtung
DE10214067B4 (de) Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE102016013573B4 (de) Numerische Steuervorrichtung mit verbesserter Servosteuerung
DE60223024T2 (de) Agp-steuerung (accelerated gaphics port), die schnelle schreibtransaktionen unterstützt
DE19782017B4 (de) Verfahren und Computersystem zur Durchführung einer Burst-Leseoperation eines Bus-Masters aus einem Systemspeicher
DE10056152B4 (de) Verfahren zur Durchführung von Busarbitration zwischen Steuerchips eines Chipsatzes mit preemptiver Fähigkeit
DE112008001143T5 (de) Serialisierung von Daten in einer Multi-Chip-Busimplementierung
DE10110567B4 (de) Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen
DE60215853T2 (de) Hochgeschwindigkeits-interchip-schnittstellenprotokoll
EP1548603B1 (de) Verfahren und Vorrichtung zum Steuern eines Speicherzugriffs
DE69729598T2 (de) Verfahren und Vorrichtung zur Adressenparitätsprüfung für mehrfache überlappende Addressbereiche auf einem gemeinsamen Bus

Legal Events

Date Code Title Description
8364 No opposition during term of opposition