DE69518286T2 - Speicherübertragungsgeschwindigkeitsbegrenzung für PCI-Meister - Google Patents

Speicherübertragungsgeschwindigkeitsbegrenzung für PCI-Meister

Info

Publication number
DE69518286T2
DE69518286T2 DE69518286T DE69518286T DE69518286T2 DE 69518286 T2 DE69518286 T2 DE 69518286T2 DE 69518286 T DE69518286 T DE 69518286T DE 69518286 T DE69518286 T DE 69518286T DE 69518286 T2 DE69518286 T2 DE 69518286T2
Authority
DE
Germany
Prior art keywords
memory
pci
signal
address
bus
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
DE69518286T
Other languages
English (en)
Other versions
DE69518286D1 (de
Inventor
Victor F. Andrade
Kelly M. Horton
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
Application granted granted Critical
Publication of DE69518286D1 publication Critical patent/DE69518286D1/de
Publication of DE69518286T2 publication Critical patent/DE69518286T2/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4054Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
    • 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/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory 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)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Dram (AREA)

Description

  • Die vorliegende Erfindung betrifft generell die Übertragung von Daten zwischen einer Speichereinheit und Peripherie-Komponenten in einem Computersystem. Insbesondere betrifft die Erfindung ein System zum Beschleunigen von Transaktionen zwischen dem Hauptspeicher und einer extern von einer zentralen Verarbeitungseinrichtung ("CPU") angeordneten Komponente. Insbesondere betrifft die Erfindung ein System zum Optimieren der Übertragung von Daten zwischen einer peripheren Master-Steuereinrichtung und dem Hauptspeicher.
  • Die Übertragung von Daten zwischen dem Hauptspeicher und anderen Komponenten in einem Computersystem erfolgt generell in zwei Schritten. Erstens erzeugt die zugreifende Komponente auf dem Adress-Bus Signale, die die Adresse der gewünschten Speicherstelle repräsentieren. Beim nächsten oder bei folgenden Taktzyklen überträgt die Komponente tatsächlich Daten auf dem Daten-Bus zu oder von der adressierten Speicherstelle. Bei den meisten Computersystemen hängt die Anzahl der Taktzyklen, die für den Datenzugriff auf den Speicher erforderlich ist, von der auf den Speicher zugreifenden Komponente und der Geschwindigkeit der Speichereinheit ab.
  • Die Geschwindigkeit der Speicherschaltung basiert auf zwei Zeitsteuerungsparametern. Der erste Parameter ist die Speicherzugriffszeit, bei der es aich um die minimale Zeit handelt, die von der Speicherschaltung benötigt wird, um eine Speicheradresse zu erstellen und Daten zu erzeugen oder Daten auf oder von dem Daten-Bus zu erfassen. Der zweite Parameter ist die Speicheirzykluszeit, bei der es sich um die minimale Zeit handelt, die zwischen zwei aufeinanderfolgenden Zugriffen auf die Speicherschaltung erforderlich ist. Für Schaltungen mit dynamischem Direktzugriffsspeicher ("DRAM"), die typischerweise zur Ausbildung des Hauptarbeitsspeichers des Computersystems verwendet werden, beträgt die Zykluszeit typischerweise das Doppelte der Zugriffszeit. DRAM-Schaltungen haben eine Zugriffszeit, die generell ungefähr im Bereich von 60-100 Nanosekunden liegt, und zwar bei Zykluszeiten von 120-200 Naosekunden. Die zusätzliche Zeit, die für aufeinanderfolgende Speicherzugriffe bei einer DRAM-Schaltung benötigt wird, ist deshalb erforderlich, weil die internen Speicherschaltungen zusätzliche Zeit zum Neuladen (oder "Vorladen") zwecks korrektren Erzeugens von Daten-Signalen benötigen. Somit kann ein Mikroprozessor, der mit 10 MHz läuft, nicht zwei Speicher zugriffe in unmittelbarer Aufeinanderfolge (oder in benachbarten Taktimpulsen) an dem gleichen 100-Nanosekunden-Chip durchführen, trotz der Tatsache, dass ein Taktimpuls in einem derartigen Mikroprozessor alle 100 Nanosekunden erzeugt wird. DRAM-Chips benötigen Zeit zur Stabilisierung, bevor auf die nächste Adresse in diesem Chip zugegriffen werden kann. Folglich muss in einer derartigen Situation der Mikroprozessor einen oder mehrere Schleifenzyklen durchführen, bevor er Zugriff auf die Daten in der DRAM-Schaltung erhalten kann. Typischerweise ist eine Speichersteuereinheit ("MCU").als Teil des Computersystems vorgesehen, um Zugriffe auf den DRAM-Hauptspeicher zu regeln.
  • Zusätzlich zu den durch die Zugriffs- und Zyklus-Zeiten verursachten Verzögerungen benötigen DRAM-Schaltungen auch periodische Auffrisch-Zyklen, um die Integrität der gespeicherten Daten zu schützen. Diese Zyklen verbrauchen ungefähr 5 bis 10% der Zeit, die für Speicherzugriffe zur Verfügung steht, und verlangen typischerweise alle 4 Millisekunden 256 Auffrisch-Zyklen. Falls die DRAM-Schaltung nicht periodisch aufgefrischt wird, gehen die in der DRAM-Schaltung gespeicherten Daten verloren.
  • Aufgrund dieser Beschränkungen ist ein mit DRAM-Schaltungen ausgebildeter Speicher nicht immer in der Lage, auf Speicherzugriffe innerhalb des Zeitintervalls zu reagieren, das durch die zentrale Verarbeitungseinheit ("CPU") oder die Peripherie-Master-Steuereinrichtung gewährt wird. In diesem Fall muss die externe Schaltung der CPU (oder der Peripherie-Master-Steuereinrichtung) mitteilen, dass zusätzliche Prozessor-Zyklen oder Wartezustände erforderlich sind, bevor die Daten aus dem Daten-Bus in den Speicher-Schaltungen gespeichert worden sind. Abgesehen davon, dass sie den Verarbeitungsvorgang der CPU verlangsamen, erfordern Wartezustände generell die Verwendung des CPU-Lokal-Busses, wodurch ein durch andere Systemschaltungen durchgeführter Zugriff auf den Bus eingeschränkt wird.
  • Mit zunehmender Betriebsgeschwindigkeit des Prozessors und mit dem Aufkommen neuer Generationen von Prozessoren ist es vorteilhaft, Wartezustände zu minimieren, um die Leistungsfähigkeit dieser Prozessoren voll auszunutzen. Das Erzielen der höchstmöglichen Vorteile dieser neuen Generationen von Hochgeschwindigkeits-Prozessoren in Personal Computern ist jedoch besonders schwierig, da bei anderen Komponenten in dem System, wie z. B. dem DRAM-Hauptspeicher, Größen- und Leistungs-Beschränkungen bestehen. Bei speicherintensiven Anwendungen, wie z. B. denjenigen, bei denen technische oder wissenschaftliche Berechnungen oder computergestützte Design-Programme involviert sind, kann die Speicherzugriffszeit den Betrieb des Systems beträchtlich verzögern.
  • Fig. 1 zeigt ein Blockschaltbild eines herkömmlichen Computersystems 10 gemäß der Beschreibung in Nadkarni et al., "Development of Digital's PCI Chip Sets and Evaluation Kit for the DEC chip 21064 Microprocessor", Digital Technical Journal, Vol. 6, Nr. 2, das einen Mikroprozessor oder eine zentrale Verarbeitungseinheit ("CPU") 12, einen mit der CPU 12 verbundenen CPU-Lokal-Bus 14, und eine Speichersteuereinrichtung 16 und eine Lokal-Bus-Peripherieeinrichtung 18 aufweist, die beide mit dem CPU-Lokal-Bus 14 verbunden sind. Ferner ist ein Systemspeicher 17 gezeigt, der mit der Speichersteuereinrichtung 16 durch einen Speicherbus 15 verbunden ist. Ferner ist ein PCI-Standard-Bus 20 mit dem CPU-Lokal-Bus 14 durch eine PCI-Bus-Brücke 22 verbunden. Es ist eine PCi-Peripherieeinrichtung 28 gezeigt, die mit dem PCI-Bus 20 verbunden ist. Die PCI-Peripherieeinrichtung kann eine PCI-Master- Steuereinrichtung aufweisen, die in der Lage ist, während PCI-Master-Zyklen die Verfügung über den PCI-Bus zu beanspruchen.
  • Der Mikroprozessor 12 gemäß Fig. 1 kann einen Mikroprozessor des Modells 80486 aufweisen, und der CPU-Lokal-Bus 14 kann einen Lokal-Bus des Typs 80486 aufweisen. Der CPU-Lokal-Bus enthält einen Satz von Datenleitungen D[31 : 0], einen Satz von Adress-Leitungen A[31 : 0] und einen (nicht speziell gezeigten) Satz von Steuerleitungen. Die Details der verschiedenen Bus- Zyklen und -Protokolle des 80486-CPU-Lokal-Busses 14 werden hier nicht eingehend erläutert, da sie Fachleuten auf dem Gebiet gut bekannt sind und in zahlreichen Veröffentlichungen verfügbar sind. Die CPU 12, die Speichersteuereinrichtung 16 und die CPU-Bus-Brücke 22 sind traditionellerweise auf separaten IC-Schaltungs-Chips hergestellt worden. Seit kurzem hat sich jedoch bei Computersystemen ein Trend entwickelt, den CPU-Kern mit verschiedenen Peripherieeinrichtungen auf einem einzelnen Chip mit integriertem Prozessor zu kombinieren. Ein typisches Beispiel eines Chips mit integriertem Prozessor weist eine Bus-Brücke auf, die ein Hochieistungs-Interface zwischen einem internen CPU-Lokal-Bus und einem externen PCI-Bus bildet. Durch Schaffung eines Hochleistungs-Interface mit einem externen PCI-Bus können im Zusammenhang mit externen Datenübertragungen relativ hohe Leistungscharakteristiken erzielt werden.
  • Die PCI-Bus-Brücke 22 bildet ein Standard-Interface zwischen dem CPU-Lokal- Bus 14 und dem PCI-Bus 20. Als solches organisiert die PCI-Bus-Brücke 32 die Übertragung von Daten-, Adress- und Steuersignalen zwischen den beiden Brücken. Der PCI-Bus 20 weist typischerweise einen Hochleistungs-Peripherie- Bus auf, der gemultiplexte Daten-/Adress-Leitungen enthält und Burst-Modus- Datenübertragungen stützt.
  • Die Burst-Modus-Funktion ermöglicht ein Lesen oder Schreiben von bzw. in aufeinanderfolgende Speicherstellen mit hoher Geschwindigkeit, und zwar über Burst-Zyklen auf dem PCI-Bus. Der normale Vorgang zum Lesen oder Schreiben aus dem Speicher besteht darin, dass die CPU in einem ersten Taktzyklus die Adress-Signale auf dem Adress-Bus erzeugt und dann in dem folgenden Taktzyklus Daten zu oder aus dem Systemspeicher 17 übertragen werden. Da der Daten-Bus eine Breite von 32 Bit hat, können für jeweils zwei Taktzyklen insgesamt vier 8-Bit-Bytes durch die CPU gelesen oder geschrieben werden. Jeder Satz von vier 8-Bit-Bytes, der auf dem Daten-Bus übertragen wird, wird als ein "Doppel-Wort" bezeichnet. Im Burst-Modus können zusätzliche sequentielle Doppel-Worte während nachfolgender Taktzyklen ohne eingreifende Adress-Phasen übertragen werden. Beispielsweise können insgesamt vier Doppelworte unter Verwendung von nur fünf Taktzyklen in die CPU gelesen werden, da nur die Start-Adresse auf dem Adress-Bus ausgegeben wird, und anschließend das nächste Doppel-Wort von Daten während des zweiten Zyklus gelesen wird, das nächste Doppel-Wort von Daten während des dritten Zyklus, usw. Somit ermöglicht ein Betrieb im Burst-Modus relativ hohe Datenübertragungsraten.
  • Wie erwähnt, kann die PCI-Peripherie-Steuereinrichtung 28 eine PCI-Master- Steuereinrichtung aufweisen. Gemäß herkömmlichen Techniken kann der PCi- Master die "Belegung" des PCI-Busses beanspruchen; so dass er die Transaktionen auf dem PCI-Bus 20 steuern kann. Wie ein Fachmann auf dem Gebiet erkennen wird, können mehrerer PCI-Master in dem Computersystem enthalten sein, von denen jeder die Belegung des PCI-Busses 20 beanspruchen kann. Der PCI-Master übermittelt seine Anforderung der Belegung des PCI- Busses 20 über eine Steuerleitung auf dem PCI-Bus 20 an die PCI-Brücke. Die PCI-Bus-Brücke bringt typischerweise die Eigentums-Anforderungen unter den verschiedenen PCI-Mastern, und unter den internen Mastern wie der CPU 12 und unter anderen internen Mastern in eine Rangfolge. Typischerweise wird jedem der verschiedenen Mastern ein Prioritäts-Rangstufe zugewiesen, um die Bus-Brücke 22 in ihrer Prioritätsbestimmung zu unterstützen.
  • Die PCI-Brücke 22 kann entweder als PCI-Master oder als Lokal-Bus-Master arbeiten. Wenn die CPU 12 auf extern von dem IC-Prozessor angeordnete PCI- "Slaves" zugreift, arbeitet die PCI-Brücke als ein PCI-Master. Typischerweise belegt während dieser PCI-Master-Zyklen der PCI-Brücke 22 entweder die CPU 12 oder ein anderer Lokal-Bus-Master (wie z. B. die DMA-Steuereinrichtung) den CPU-Lokal-Bus 14, und die PCI-Brücke 22 belegt den PCI-Bus 20. Umgekehrt funktioniert für PCI-Extern-Master-Zugriffe auf am CPU-Lokal-Bus 14 befindliche Einrichtungen die PCI-Brücke als ein Slave oder Tarhet in bezug auf den externen Master, und funktioniert als ein Master des CPU-Lokal-Busses 14.
  • Folglich erreicht, wenn ein PCI-Master (d. h. wie z. B. die Peripherieeinrichtung 28) die Belegung des PCI-Busses 20 erzielt und einen Zyklus initiiert, der einer an dem CPU-Lokal-Bus befindlichen Einrichtung wie z. B. der Speicher-Steuereinrichtung 16 entspricht, die PCI-Brücke die Belegung des Lokal-Busses 14: Während dieser Periode können die CPU 12 und die übrigen internen Master den Lokal-Bus 14 nicht benutzen. Dies kann beträchtliche Verzögerungen im System-Betrieb verursachen, da, wie oben erläutert, das Zugreifen auf Daten in dem Hauptspeicher 17 mindestens mehrere Taktzyklen benötigt, so dass andere System-Ressourcen wie z. B. die CPU 12 warten müssen, während auf die Daten von/zu dem externen Master zugegriffen wird. Dieses Problem wird durch die Tatsache verschärft, dass PCI-Master Daten möglicherweise nnit sehr langsamen Raten übertragen können und möglicherweise mehrere Doppel- Wörter durch die Ausführung einer Burst-Datenübertragung übertragen können. Folglich sind die Bandbreiten des CPU-Lokal-Busses und des Systemspeicher-Busses begrenzt, wenn PCI-Master in langsamer Weise auf den Systemspeicher zugreifen.
  • Die oben angeführten Probleme werden zum Großteil gelöst, indem ein Computersystem geschaffen wird, das eine PCI-Brücke enthält, um den Daten- Zugriff von einer Peripherie-PCI-Master-Einrichtung auf den Hauptspeicher zu organisieren. Die PCI-Bus-Brücke konvertiert die von dem PCI-Master ausgeführten Burst-Speicher-Zyklen in einzelne Speicherzyklen auf einem CPU- Lokal-Bus. Die PCI-Brücke funktioniert zum Optimieren der Datenübertragung, indem sie die Speicheradresse der nächsten Daten-Transaktion auf dem CPU- Lokal-Bus in den Fällen steuert, in denen der PCI-Master nicht bereit ist, während eines Schreib-Zyklus Daten zu übertragen oder während eines Lese- Zyklus Daten zu empfangen. Eine Speichersteuereinheit ("CPU") empfängt die Speicher-Adresse von dem CPU-Lokal-Bus, stellt fest, dass sie sich innerhalb eines gültigen Speicherbereiches befindet, und dekodiert das Adress-Signal in ein Reihen-Adress-Signal und ein Spalten-Adress-Signal. Das Reihen-Adress- Signal wird zusammen mit dem passenden Reihen-Adress-Strobe-Signal (RAS) unmittelbar an den den DRAM-Speicher ausgegeben, um den Speicherbereich und die Seite des Speichers, auf die zugegriffen werden soll, anzugeben. Der DRAM-Speicher reagiert durch Öffnen der korrekten Seite des Speichers, so dass Vorladezeit und Zugriffszeit gespart werden, die andernfalls zum Öffnen der DRAM-Seite benötigt würden, falls die MCU warten müsste, bis der PCI- Master zum Zuführen oder Empfangen von Daten bereit wäre.
  • Während der Periode, in der die PCI-Brücke darauf wartet, dass der PCI- Master Schreib-Daten zuführt, oder darauf wartet, das der PCI-Master angibt; dass er zum Empfangen von Lese-Daten bereit ist (nach der ersten Daten- Transaktion bei einem Burst-Schreib- oder Lese-Signal); gibt die PCI-Brücke an die MCU ein MEMWAIT-Signal aus, das angibt, dass die Daten nicht bereit sind, geschrieben oder gelesen zu werden. Während dieser MEMWAIT-Periode jedoch, und während die PCI-Brücke von dem Lokal-Bus belegt ist, verwendet die MCU das nächste Adress-Signal, um die korrekte Seite des Speichers zu öffnen, damit die nachfolgende Datenübertragung beschleunigt wird. Wenn die Daten mittels der PCI-Brücke aus dem Master empfangen werden (oder wenn der Master angibt, dass er zum Lesen von Daten bereit ist), deaktiviert die PCI-Brücke das MEMWAIT-Signal, und die CPU aktiviert das Spalten-Adress- Strobe-(CAS-)Signal, um die Datenübertragung durchzuführen.
  • Im wesentlichen zur gleichen Zeit, in der sie das MEMWAIT-Signal aktiviert, und während die PCI-Brücke darauf wartet, dass der PCI-Master die nächsten Schreib-Daten sendet oder angibt, dass er bereit ist, die derzeit von der PCI- Brücke gehaltenen Daten zu lesen, steuert die PCI-Brücke das Lokal-Bus- Adress-Strobe ADS# derart, dass die nächste Daten-Transaktion begonnen wird, und steuert die Speicher-Adresse der nächsten Transaktion. Dadurch, dass der nächste Daten-Transaktions-Zyklus früher gestartet wird, indem die Adress- und Steuersignale ausgegeben werden, wird die MCU in die Lage versetzt, das Adress-Signal zu dekodieren und die DRAM-Seite zu öffnen, während die Master-Einrichtung sich gleichzeitig darauf vorbereitet, Daten zu empfangen oder zu steuern. Nachdem die DRAM-Seite offen ist und während das MEMWAIT-Signal aktiv ist, wird die MCU "heruntergedrosselt" oder vollführt Schleifenbewegungen durch einen Wartezustands-Zyklus, bis die PCI-Brücke die MEMWAIT-Leitung deaktiviert, um darauf zu verweisen, dass der PCI- Master bereit ist, die Datenübertragung abzuschließen.
  • Wenn die MEMWAIT-Leitung durch die PCI-Brücke deaktiviert wird, dann führt die MCU eine "Hochdrosselung" des Speicherzugriffs durch und schließt den Zyklus ab, indem sie die BRDY#-Leitung aktiviert, während sie die DRAM-Seite offen lässt. Nachdem BRDY# aktiviert ist, startet die PCI-Brücke den nächsten Zyklus, indem sie ADS# aktiviert und die neue Adresse auf den CPU-Lokal-Bus steuert. Die PCI-Brücke aktiviert MEMWAIT, um den Speicherbus herunterzudrossseln, während die MCU die Adresse dekodiert und feststellt, ob der nächste Zugriff auf die gleiche DRAM-Seite oder den gleichen DRAM-Speicherbereich erfolgt. Während MEMWAIT aktiviert ist, wird der nächste Zugriff durchgeführt, indem die korrekte DRAM-Seite geöffnet wird.
  • Während der Periode, in der MEMWAIT aktiviert ist, kann ein für jeden der Speicherbereiche des Systemspeichers ein Auffrisch-Zyklus durch einen System-Zeitgeber initiiert werden, um die DRAM-Schaltungen in diesem Zyklus aufzufrischen. Die MCU muss zunächst die adressierte Speicherstelle verriegeln, bevor der Auffrisch-Zyklus bedient wird. Nachdem das Auffrischen abgeschlossen ist, wird die vorherige Seite in dem Speicher wieder geöffnet, falls nicht zwischenzeitlich eine Adresse zu einer unterschiedlichen Seite empfangen worden ist.
  • Weitere Aufgaben und Vorteile der Erfindung werden uas der folgenden detaillierten Beschreibung und anhand der zugehörigen Zeichnungen ersichtlich, die nur als Beispiel dienen:
  • Fig. 1 zeigt ein funktionales Blockschaltbild eines herkömmlichen Computersystems, das eine PCI-Master-Einrichtung stützt;
  • Fig. 2 zeigt ein funktionales Blockschaltbild des gemäß der bevorzugten Ausführungsform ausgebildeten Computersystems;
  • Fig. 3A-3B zeigen Zeitsteuerungsdiagramme typischer Lese- und Schreib- Zyklen; und
  • Fig. 4A-4E zeigen Zeitsteuerungsdiagramme der Arbeitsweise des Systems gemäß Fig. 2.
  • Obwohl die Erfindung in Form verschiedenartiger Modifikationen und alternativer Formen ausgebildet sein kann, sind in den Zeichnungen als Beispiel spezielle Ausführungsformen der Erfindung gezeigt, die hier im folgenden detailliert beschrieben werden. Es versteht sich jedoch, dass die Zeichnungen und deren detaillierte Beschreibung die Erfindung nicht auf die bestimmte offenbarte Form beschränken sollen.
  • Gemäß der nun zu erläuternden Fig. 2 weist ein Computersystem generell einen integrierten Prozessor ("IP") 50, einen externen PCI-Master 75, der über einen PCI-Bus 100 mit dem integrierten Prozessor 50 verbunden ist, und eine Hauptspeichereinheit 125 auf, die vorzugsweise DRAM-Schaltungen enthält, die durch einen Speicher-Bus 150 mit dem integrierten Prozessor 50 verbunden sind. Der integrierte Prozessor 50 enthält vorzugsweise einen CPU-Kern 60, einen mit dem CPU-Kern 60 verbundenen CPU-Lokal-Bus 65, eine PCI- Bus-Brücke 80, die zu einer Interface-Übertragung von Daten-, Adress- und Steuersignalen zwischen dem Lokal-Bus 65 und dem externen PCI-Bus 100 in der Lage ist, eine Speichersteuereinheit ("MCU") 90, einen Zeitgeber 85, und eine On-Chip-Peripherieeinrichtung 70. Vorzugsweise sind sämtliche der gezeigten Komponenten des integrierten Prozessors 50 auf einer einzelnen IC- Schaltung ausgebildet und in einem einzigen IC-Schaltungs-Pakte untergebracht.
  • Bei der bevorzugten Ausführungsform ist in dem CPU-Kern 60 ein Mikroprozessor-Instruktions-Set vom Modell 80486 implementiert, und der CPU-Lokal- Bus 65 weist einen Lokal-Bus gemäß dem 80486-Stil auf. Somit enthält bei der bevorzugten Ausführungsform der CPU-Lokal-Bus 65 ein 32-Bit-Set von Daten-Leitungen D[31 : 0], ein 32-Bit-Set von Adress-Leitungen A[31 : 0], und ein (nicht speziell gezeigtes) Set von Steuerleitungen. Es versteht sich jedoch, dass der CPU-Kern auch zum Implementieren anderer Instruktions-Sets vom Mikroprozessor-Typ ausgebildet sein kann, ohne von den Prinzipien der vorliegenden Erfindung abzuweichen.
  • Wie dem Fachmann auf dem Gebiet geläufig sein wird, ist die PCI-Bus-Brücke 80 vorzugsweise Teil einer (nicht speziell gezeigten) Bus-Interface-Einheit ("BIU") und bildet ein Standard-Interface zwischen dem CPU-Lokal-Bus 65 und dem PCI-Bus 100. Als solche organisiert die PCI-Bus-Brücke 80 die Übertragung von Daten-, Adress- und Steuersignalen zwischen dem CPU-Lokal-Bus 65 und dem PCI-Bus 100. Wie erwähnt, weist der CPU-Lokal-Bus 65 vorzugsweise einen Lokal-Bus von 80486-Typ auf, der, wie Fachleuten bekannt ist, separate Adress- und Datenleitungen enthält, während der PCI-Bus 100 mehrere gemultiplexte Adress-/Daten-Leitungen enthält. Somit funktioniert, wie dem Fachmann ersichtlich ist, die PCI-Bus-Brücke vorzugsweise derart, dass sie die 32-Bit-Adress-Leitungen A[31 : 0] des Lokal-Busses 65 über eine (nicht gezeigte) geeignete Multiplexereinheit mit den gemultiplexten Adress-/Daten-Leitun-. gen AD[31 : 0] auf dem PCI-Bus 100 verbindet. In ähnlicher Weise verbindet die PCI-Brücke 80 die 32-Bit-Datenleitungen D[31 : 0] des Lokal-Busses 65 mit den gemultiplexten Adress-/Daten-Leitungen AD[31 : 0] des PCI-Busses 100.
  • Die PCI-Brücke 80 erzeugt ferner eine Anzahl von Steuersignalen, zu denen ADS#, R/W, M/IO, Byte-Aktivierungen (C/BEH), D/C und BLAST# gehören, die auf die Steuerleitungen des CPU-Lokal-Busses 65 gesteuert werden. Entsprehend der normalen Konvention ist das ADS# ein Adress-Strobe-Steuersignal, das derart funktioniert, dass es einen Lese- oder Schreib-Zyklus auf dem CPU- Lokal-Bus 65 initiiert. Die PCI-Brücke 80 erzeugt das ADS#-Signal für Bus- Zyklen, die Targets auf dem Lokal-Bus 65 haben. Das ADS#-Signal ist vorzugsweise ein im aktiven Low-Zustand befindliches Strobe-Signal. Die PCI- Brücke 80 erzeugt ferner als Reaktion auf den Status der C/BEH(0)-Leitung ein R/W-Signal auf dem PCI-Bus, um anzuzeigen, ob die Transaktion einen Lese- oder Schreib-Zyklus umfasst. Das M/IO zeigt den Speicher- oder I/O- Einrichtungen den Zyklus-Status an. Schließlich zeigt das BLAST#-Signal an, ob Daten in einem Burst-Modus oder in einzelnen Zugriffen auf dem Lokal-Bus übertragen werden. Gemäß der bevorzugten Ausführungsform überträgt die PCI-Brücke 80 auch ein MEMWAIT-Signal zu der Speichersteuereinheit ("MCU") 90 und empfängt das MEMHIT-Signal von dieser. Diese Signale können gemäß Fig. 2 über direkte elektrische Verbindungen zwischen der PCI- Brücke 80 und der MCU 90 übertragen werden, oder sie können über Steuerleitungen in dem CPU-Lokal-Bus 65 ausgegeben werden.
  • Die PCI-Brücke 80 empfängt ferner RDY#/BRDY#-Steuersignale von Komponenten an dem CPU-Lokal-Bus, um den Abschluss eines durch diese Komponente durchgeführten Zyklus anzuzeigen. Beispielsweise gibt die Speichersteuereinrichtung 90 ein BRDY#-Signal aus, um anzuzeugen, dass sie Daten empfangen hat oder gerade Daten auf den Datenleitungen D[31 : 0] ausgibt. Auf der Seite des PCI-Busses 100 erzeugt die PCI-Brücke 80 ein TRDY# -Ausgangssignal, das vorzugsweise gemäß Fig. 2 durch eine Steuerleitung an den PCI-Master 75 übermittelt wird. In ähnlicher Weise empfängt die PCI-Brücke 80 vorzugsweise durch eine Steuerleitung zwischen dem PCI-Master 75 und dem integrierten Prozessor 50 ein IRDY# aus dem PCI-Master 75. Daten werden übertragen, wenn IRDY# und TRDY# beide aktiviert sind.
  • Der interne CPU-Lokal-Bus 65 ist vorzugsweise ein Multi-Master-Bus, der in der Lage ist, mehrere Bus-Master zu stützen. Die CPU 60, die PCI-Brücke 80 und die Peripherieeinrichtung 70 (die z. B. eine Direkt-Speicherzugriffs-Steuereinrichtung aufweisen kann) können alle die Belegung des CPU-Lokal-Busses 65 beanspruchen. Die Belegung des internen Lokal-Busses 65 durch diese internen Master wird typischerweise durch die Bus-Interface-Einheit (BIU) oder einen (nicht speziell gezeigten) anderen Bus-Arbiter in eine Prioritätenfolge gebracht.
  • Wie weiter unten im Zusammenhang mit der Arbeitsweise der vorliegenden Erfindung näher erläutert wird, kann die PCI-Brücke 80 als ein PCI-Master funktionieren. Wenn der integrierte Prozessor 50 auf externe PCI-"Slaves" zugreift, arbeitet die PCI-Brücke 80 in ähnlicher Weise wie andere externe PCI- Masters, indem sie den PCI-Bus belegt. Somit beansprucht, wenn der CPU- Kern 60 oder die Peripherieeinrichtung 70 die Belegung des CPU-Lokal-Bus 65 beanspruchen, die PCI-Brücke 80 vorzugsweise die Belegung des PCI-Busses 100, falls der Zyklus auf eine Einrichtung abzielt, die sich an dem PCI-Bus 100 befindet.
  • Umgekehrt arbeitet in den Fällen, in denen ein externer PCI-Master Zugriff auf eine Einrichtung sucht, die sich an dem CPU-Lokal-Bus 65 befindet, die PCI- Brücke 80 als Slave oder Target für den externen PCI-Master. Die PCI-Brücke führt als Reaktion einen entsprechenden Zyklus auf dem CPU-Lokal-Bus 65 aus, um dadurch beispielsweise dem externen PCI-Master zu erlauben, Daten zu lesen und zu schreiben, die innerhalb des Systemspeichers 125 zugewiesen sind. Während dieser PCI-Master-Zyklen belegt somit ein externer PCI-Master den PCI-Bus 100, und die PCI-Brücke 80 belegt den Lokal-Bus 65. Wenn die PCI-Brücke 80 die Belegung des CPU-Lokal-Busses 65 anfordert, erzeugt sie ein HOLD-Request für die CPU 60, die der PCI-Brücke 80 ein Bestätigungssignal HLDA zurücksendet, wenn das Master-Verhältnis gewährt worden ist.
  • Die Speichersteuereinrichtung 90 weist vorzugsweise eine vereinigte Steuereinheit auf, die einen Hochleistungs-32-Bit-Datenweg zu dem Hauptspeicher 125 stützt. Bei der bevorzugten Ausführungsform sorgt die Speichersteuereinrichtung für eine direkte Verbindung von 32-Bit-Speicherbereichen, die mittels Industriestandard-Modulen bis zu 256 MB an DRAM-Bereich stützen. Die MCU 90 steuert den Zugriff auf den Hauptspeicher 125 und stellt eine Verbindung mit dem CPU-Lokal-Bus 65 her, um für die CPU 60, die PCI-Brücke 80 und (generell bei 70 angedeutete) andere Speicherkomponenten einen Weg zum Speicher zu schaffen. Wie oben erwähnt, gibt gemäß den Prinzipien der vorliegenden Erfindung die MCU 90 vorzugsweise ein MEMHIT-Signal an die PCI- Brücke 80 aus und empfängt ein MEMWAIT-Signal von der PCI-Brücke. Die MCU 90 empfängt ferner ein Zeitsteuerungssignal von dem System-Zeitgeber 85.
  • Wie Fig. 2 weiterhin zeigt, ist die MCU 90 mit dem Hauptspeicher 125 vorzugsweise durch einen Speicher-Bus 150 verbunden, der Adress-Leitungen MA[11 : 0], Speicher-Daten-Leitungen MD[31 : 0], Reihen-Adress-Strobe- ("RAS"-)Leitungen RAS#(3 : 0), Spalten-Adress-Strobe-("CAS"-)Leitungen CAS#(3 : 0) und eine Schreib-Aktivierungsleitung WEH enthält. Auf den Speicher-Adress-Leitungen MA[11 : 0] wird ein Adress-Signal übertragen, um für gemultiplexte und nicht gemultiplexte Einrichtungen die Stelle in dem Speicher zu wählen, auf die zugegriffen werden soll. Die Datenleitungen (MD31-MD0) sind Speicher-Datenbus-Leitungen zum Übertragen von Daten zu und von den DRAM-Schaltungen und, dem integrierten Prozessor 50 oder andern externen Einrichtungen mittels herkömmlicher Techniken. Das Schreib-Aktivierungssignal WEH zeigt an, ob der Speicherzugriff ein Schreib-Zyklus ist, und wird typischerweise dem W/R-Steuersignal auf dem CPU-Lokal-Bus entnommen.
  • Entsprechend herkömmlichen Techniken weisen die Reihen-Adress-Strobe- (RAS-)Leitungen (RAS3#-RAS0#) vorzugsweise aktive Low-Ausgangssignale auf, die von den DRAM-Schaltungen verwendet werden, um für jeden DRAM- Speicherbereich die Reihen-Adress-Daten aus dem Speicher-Adlress-Bus MA[11 : 0] einzutakten. Bei der bevorzugten Ausführungsform ist jedem Speicherbereich eine RAS-Leitung zugeteilt. Bei der bevorzugten Ausführungsform, bei der vier DRAM-Speicherbereiche verwendet werden, sind vier RAS-Leitungen vorgesehen. In ähnlicher Weise sind vier Spalten-Adress-Strobe-(CAS-) Leitungen (CAS3#-CAS0#) als aktive Low-Ausgangssignale vorgesehen, die von den DRAM-Schaltungen verwendet werden, für jeden Speicherbereich der DRAM-Bytes die Spalten-Adress-Daten aus dem Speicher-Adress-Bus MA[11 : 0] eintzutakten, mit einem CAS pro Byte. Somit ist beispielsweise CAS3# das DRAM-Spalten-Adress-Strobe für das Byte 3 in jedem DRAM- Speicherbereich.
  • Weiterhin gemäß Fig. 2 weist der Hauptspeicher 125 vorzugsweise DRAM- Schaltungen auf, die zu mehreren Speicherbereichen konfiguriert sind, wobei jeder Speicherbereich 32 Bit (oder 4 Byte) breit ist. Wie ein Fachmann auf dem Gebiet verstehen wird, ist jede der DRAM-Speicherbereiche typischerweise in "Seiten" unterteilt. Die Seiten-Größe hängt von der Größe der jeweiligen DRAM-Chips ab, die verwendet werden. Um den DRAM-Chips zu ermöglichen, mit weniger Konnektor-Stiften zu arbeiteten, wodurch die Anzahl von Chips reduziert wird, die auf der System-Platine angeordnet werden können, werden die DRAM-Chips auf gemultiplexte Weise adressiert; dies bedeutet, dass die Adresse jeder Speicherzelle in zwei Teilen übertragen wird. Die erste Hälfte der Adresse definiert die Reihen-Adresse, und die zweite Hälfte definiert die Spalten-Adresse. Bei der bevorzugten Ausführungsform sind die ersten zwölf Leitungen des Speicher-Adress-Busses MA(11 : 0) gemultiplexte Ausgänge und übermitteln während RAS-Signalen die Reihen-Adress-Stelle und während CAS-Signalen die Spalten-Adress-Stellen. Eine einzelne Speicherzelle wird somit durch eine Spalten-Adresse und eine Reihen-Adresse gewählt. Die herkömmliche Weise, in der die Reihen-Adressen und die Spalten-Adressen dem DRAM-Speicher zugeführt werden, ist in dem Schaubild der herkömmlichen Zeitgebung gemäß Fig. 3A und 3B gezeigt.
  • Wie generell in Fig. 3A (Lese-Zyklus) und 3B (Schreib-Zyklus) gezeigt ist, wird die Reihen-Adresse an die Adress-Eingänge des DRAM-Speichers gesteuert, wenn die RAS-(Reihen-Adress-Strobe-)Steuerleitung aktiviert wird (d. h. das RAS in den Low-Zustand gesteuert wird). Dies taktet die Reihen-Adresse in einen internen Reihen-Adress-Haltespeicher. Die Reihen-Adresse muss für eine Periode (tASR) stabil sein, bevor RAS aktiviert wird, und für eine Periode (tRAS), nachdem RAS aktiviert wird. Die Adress-Eingänge werden dann zu der Spalten-Adresse geändert, und CAS (das Spalten-Adress-Strobe) wird aktiviert (CAS wird in den Low-Zustand gesteuert). CAS funktioniert auch als Ausgangs-Aktivierung, so dass jedes Mal, wenn CAS ausgegeben wird, der Dreizustands-Treiber an dem Daten-Ausgangsstift aktiviert wird. Die Zeit, zu der CAS aktiviert werden kann, wird durch die minimale RAS-bis-CAS-Verzögerungsperiode (tRCD) bestimmt. Die Daten sind verfügbar, nachdem die Zugriffszeiten von RAS (die als tRAC bezeichnet wird) und CAS (die als tCAC bezeichnet wird) beide erfüllt worden sind. Die Leistungsgrenze wird bestimmt durch die Zugriffszeit von RAS (kRAC). Ein weiterer Zeisteuerungsparameter, der für Speicherzugriffe kritisch ist, ist die RAS-Vorladezeit (tRP). Die /orladezeit (tRP) ist die Zeit, die die DRAM-Schaltung benötigt, um sich von dem vorherigen Zugriff zu erholen. In dem Moment, in dem Daten verfügbar sind, kann ein weiterer Zyklus nicht für die gleiche RAM-Einrichtung gestartet werden. Somit ist die Zykluszeit für dynamischen Speicher größer als die Zugriffszeit. Der Unterschied zwischen der Zugriffszeit und der Zykluszeit besteht in der Vorladezeit. Diese Zeitsteuerungscharakteristiken von DRAM-Schaltungen werden kritisch, wenn man den Versuch unternimmt, Speicher-Transaktionen zu beschleunigen.
  • Wiederum gemäß Fig. 2 besteht ein weiterer wichtiger Faktor für den Betrieb des DRAM-Hauptspeichers 125 in dem Erfordernis, die DRAM-Schaltungen periodisch aufzufrischen. Wie der Fachmann auf dem Gebiet erkennen wird, wird in einer einzelnen DRAM-Schaltung typischerweise nur ein Transistor benötigt, um ein Daten-Bit zu speichern. Der Transistor funktioniert lediglich als ein Schalter, der eine kleine elektrische Ladung in einem Kondensator speichert.
  • Die Größe der Ladung bestimmt, ob eine "Null" oder eine "Eins" gespeichert wird. Da bei sämtlichen Kondensatoren Lecks auftreten, wird die Ladung an dem Kondensator in dem DRAM-Chip als Ergebnis von Isolierer-Verlusten langsam abgeleitet. Schließlich würde dabei die Ladung an dem Kondensator vollständig abgeleitet, und der Speicher-Inhalt wäre verloren. Die Lösung dieses Problems besteht darin, die DRAM-Schaltungen zu lesen, bevor die Dasten verloren sind, und den DRAM-Chip erneut mit den gleichen Daten zu beschreiben. Dieser Vorgang wird als "Auffrischen" des DRAM bezeichnet.
  • Die DRAM-Auffrisch-Rate wird vorzugsweise von dem System-Zeitgeber 85 abgeleitet. Bei der bevorzugten Ausführungsform wird ein "verborgenes" versetztes CAS vor-RAS-Auffrisch-Schema verwendet, so dass die meisten DRAM- Auffrisch-Zyklen die System-Leistung nicht beeinträchtigen. Um die für den Auffrisch-Zyklus erforderliche Periode weiter zu minimieren, führt die MCU 90 · vorzugsweise keinen Auffrisch-Zyklus an leeren Speicherbereichen aus (d. h. wenn keine DRAM-Schaltungen in einem bestimmten Speicherbereich des DRAM-Speichers vorhanden sind). Durch die versetzte Auffrischung wird ein plötzlicher Strombedarf reduziert, indem jeder Speicherbereich unabhängig aufgefrischt wird. Auf diese Weise wird der Speicherbereich 0 aufgefrischt, dann wird der Speicherbereich 1 aufgefrischt, usw. Die Periode, mit der die Auffrisch-Zyklen auftreten, wird durch den System-Zeitgeber 85 bestimmt. Das von dem Zeitgeber erzeugte Taktsignal hat vorzugsweise das Vierfacehder Standard-Frequenz (die 256 KHz beträgt), so dass alle 4 Mikrosekunden ein Auffrisch-Zyklus beginnt, wobei die effektive Auffrisch-Periode 256 Zyklen pro Millisekunde beträgt. Folglich kann der Zeitgeber verwendet werden, um innerhalb der Standard-Auffrisch-Periode von 4 Millisekunden sämtliche DRAM- Speicherbereiche unabhängig und nacheinander zu steuern, um 2256 Auffrisch-Zyklen auszuführen. Auf diese Weise empfängt jeder Speicherbereich Auffrisch-Zyklen Auffrisch-Zyklen mit der Standard-Rate von ungefähr 15,625 us, ohne dass irgendwelche Speicherbereiche gleichzeitig aufgefrischt werden. Entsprechend herkömmlichen Techniken wird ein Auffrisch-Zyklus initiiert, in dem das CAS vor der Anstiegsflanke des RAS aktiviert wird, was während normaler DRAM-Zugriffe nicht erfolgt.
  • Der On-chip-Peripherie-Block 70 repräsentiert vorzugsweise verschiedene Peripherieeinrichtungen, die in dem integrierten Prozessor 50 implementiert werden können. Beispielsweise können Komponenten wie eine Direkt- Speicherzugriffs-Steuereinrichtung ("DMA") oder eine Interrupt-Steuereinrichtung als integraler Teil in dem Paket des integrierten Prozessors enthalten sein. Wie ein Fachmann auf dem Gebiet verstehen wird, können verschiedene Peripherieeinrichtungen als Teil des integrierten Prozessors 50 vorgesehen sein.
  • Weiterhin anhand Fig. 2 werden im folgenden der PCI-Bus 100 und die PCI- Master-Einrichtung 75 detaillierter beschrieben. Der PCI-Bus 100 ist ein gemultiplexter Hochleistungs-32-Bit-Adress-/Daten-Bus mit Multi-Master-Funktionen, der in der Lage ist, mehrere PCI-Master zu stützen. Bei der bevorzugten Ausführungsform des Computer-Systems kann jeder PCI-Master die Steuerung des PCI-Busses anfordern, und wenn ihm die Belegung des Busses gewährt wird, kann er Zyklen für jede PCI-Target-Einrichtung erzeugen.
  • Die gemultiplexten Adress-/Daten-Leitungen AD[31 : 0] und die Steuerleitungen des PCI-Busses 100 sind vorzugsweise mit der PCI-Brücke 80 und debn PCI-Peripherie-Komponenten wie z. B. dem PCI-Master 75 verbunden. Die Steuerleitungen enthalten vorzugsweise Befehls-/Byte-Aktivierungen, ein Zyklus-Rahmen-Signal, ein Target-Bereitschafts-Signal und ein Initiator-Bereitschafts-Signal. Die Befehls-/Byte-Aktivierungen (C/BE3#-C/BE0#) übertragen gemultiplexte Übertragungs-Befehls- und Byte-Aktivierungs-Daten auf den gleichen Leitungen. Die Befehls-/Byte-Aktivierungs-Leitungen C/BE[3-0]# definieren den Bus-Befehl während der Adress-Phase. Während einer Daten- Phase werden C/BE[3-0]# als Byte-Aktivierungen verwendet, die bestimmen, welche Byte-Bahnen bedeutungstragende Daten führen.
  • Das Zyklus-Rahmen-Signal (FRAME#) ist ein aufrechterhaltenes Eingangs-/ Ausgangs-Signal, das vorzugsweise ein aktives Low-Signal aufweist, welches von einem PCI-Master gesteuert wird, um den Beginn und die Dauer einer Transaktion anzuzeigen. FRAME# wird somit aktiviert, um den Beginn einer Bus-Transaktion zu signalisieren. Wenn FRAME# deaktiviert wird, befindet sich die Transaktion in der abschließenden Daten-Phase. Es ist anzumerken, dass FRAME# an der gleichen Taktsignalflanke aktiviert werden muss, an der · FRAME# deaktiviert wird, um die letzte Daten-Phase zu markieren.
  • Das Target-/Lokal-Bus-Bereitschaftssignal (TRDY#/LRDY#) weist ein aktives Low-Eingangssignal auf, das durch PCI- und Lokal-Bus-Targets gesteuert wird, um die Fähigkeit des Targets anzuzeigen, die aktuelle Daten-Phase abzuschließen. Das Initiator-Bereitschafts-Signal (IRDY#), das in Verbindung mit TRDY# verwendet wird, weist ein aktives Low-Signal auf, das die Fähigkeit eines PCI-Masters anzeigt, die aktuelle Daten-Phase abzuschließen. Während eines Schreib-Zyklus beispielsweise gibt IRDY# an, dass gültige Schreib-Daten auf AD[31-0] vorhanden sind.
  • Weitere Merkmale zu dem PCI-Bus sind beschrieben in der Veröffentlichung "PCI Local Bus Specification", PCI Special Interest Group, Hillsboro, Oregon. Weiterhin anhand Fig. 2 wird im folgenden die Arbeitsweise der vorliegenden.
  • Erfindung gemäß der bevorzugten. Ausführungsform beschrieben. Der PCI- Master 75· fordert die Belegung des PCI-Busses 100 an, indem er ein Request auf den PCI-Bus steuert. Die PCI-Brücke 80 gibt als Reaktion ein HOLD-Signal an die CPU 60 aus, um die Belegung des CPU-Lokal-Busses 60 anzufordern. Die CPU 60 gewährt die Belegung des Lokal-Busses 65, indem sie ein HLDA- Signal aktiviert, das seitens der PCI-Brücke 80 empfangen wird. Die PCI- Brücke 80 bestätigt dann, dass die PCI-Master-Einrichtung 75 den PCI-Bus 100 belegt, indem sie ein entsprechendes Bus-Gewährungs-Signal an dlie Master-Einrichtung 75 ausgibt.
  • Bei Anforderung des FRAME#-Signals durch den PCI-Master 75 werden die gemultiplexten Adress-Daten-Leitungen AD[31 : 0] des PCI-Busses 100 durch den PCI-Master 75 mit einer gültigen Adresse gesteuert. Die PCI-Brücke 80 erfasst die Adresse und gibt sie auf dem CPU-Lokal-Bus 65 aus. Falls die Adresse einer Stelle in dem Speicher entspricht, gibt die MCU 90 ein MEMHIT- Signal an die PCI-Brücke 80 aus, die ihrerseits an den PCI-Master ein Einrichtungs-Wähl-Signal (DEVSEL#) ausgibt, um die Transaktion zu beanspruchen. Die Zyklus-Definitions-/Byte-Aktivierungs-Leitungen C/BE[3 : 0] des PCI-Buses 100 werden anschließend mit einem Zyklus-Status-opcode gesteuert, um anzuzeigen, dass es sich bei dem derzeitigen Zyklus um eine Schreib- (oder Lese-) Operation handelt. Gemäß der bevorzugten Ausführungsform wird das M/IO-Signal der PCI-Brücke von der C/BE[2]-Leitung des PCI-Busses her abgegriffen, und das Lese-/Schreib-Signal R/W der PCI-Brücke wird von der C/BE[0]-Leitung des PCI-Busses her abgegriffen. Anschließend (in einem Schreib-Zyklus) steuert der PCI-Master 75 die Daten, die er schreiben möchte, auf die AD-Leitungen des PCI-Busses 100 und aktiviert das IRDY#-Signal, um anzuzeigen, dass gültige Daten auf dem PCI-Bus vorhanden sind.
  • Falls der von dem PCI-Master 75 initiierte Zyklus eine Burst-Modus-Operation ist, übermittelt der PCI-Master 75 eine Anfangs-Speicher-Adresse und steuert anschließend ein Daten-Signal auf den PCI-Bus 100. In aufeinanderfolgenden Zyklen steuert der PCI-Master 75 nur Daten-Signale auf den Bus 100, wobei vorausgesetzt wird, dass die Speicher-Adresse für jede nachfolgende Datenübertragung viermal inkrementiert werden muss.
  • Auf die Burst-Übertragung von dem PCI-Master 75 hin erzeugt die PCI-Brücke 80 eine Abfolge von Rücken-an-Rücken-Speicher-Zyklen. Nachdem die CPU durch die PCI-Brücke angehalten worden ist, wird der Burst-Zyklus von dem PCI-Master 75 in eine Abfolge von Einzel-Zyklus-Datenübertragungen auf dem CPU-Lokal-Bus 65 umgesetzt, indem das BLAST#-Signal entsprechend herkömmlichen Techniken aktiviert gehalten wird. Gemäß den Prinzipien der vorliegenden Erfindung kann dann jeder der durch die PCI-Brücke 80 erfolgenden Einzel-Zugriffe auf den Hauptspeicher auf die Geschwindigkeit des PCI-Masters gedrosselt werden, ohne die Leistung zu beeinträchtigen, selbst wenn die Master-Einrichtung mit Höchstgeschwindigkeit läuft.
  • Die Arbeitsweise der vorliegenden Erfindung unterscheidet sich in Abhängigkeit davon, ob die PCI-Brücke einen Schreib-Zyklus auf den Speicher oder einen Lese-Zyklus auf den Speicher durchführt. Im folgenden werden die Einzelheiten jedes dieser Zyklen beschrieben. Während einer Schreib-Transaktion wird der Burst-Zyklus von dem PGI-Master 75 durch die PCI-Brücke 80 in eine Sequenz von Einzel-Zyklus-Schreib-Zugriffen auf den CPU-Lokal-Bus 65 umgesetzt. Der PCI-Master steuert zuerst die Adresse der Stelle in dem Speicher, auf die er zugreifen möchte, auf die AD-Leitungen AD[31 : 0] des PCI-Busses. Die PCI-Brücke 80 steuert als Reaktion die Adresse auf den CPU-Lokal-Bus 65, und von der MCU 90 wird MEMHIT ausgegeben (falls ein Treffer auftritt). Dann wird das Einrichtungs-Wähl-Signal von der PCI-Brücke zurück an den PCI- Master ausgegeben. Die Daten werden durch den PCI-Master auf den PCI-Bus gesteuert (markiert durch IRDY#), und die Daten werden in der PCI-Brücke 80 haltegespeichert (markiert durch TRDY#). Nachdem die PCI-Brücke 80 die Adresse und die erste Daten-Information von dem PCI-Master 75 empfangen hat, beginnt die PCI-Brücke 80 ihren Zyklus auf dem CPU-Lokal-Bus 65 durch Aktivieren des ADS#-Signals und Steuern der Adress- und Daten-Signale auf den CPU-Lokal-Bus. Die MCU 90 fährt damit fort, die Daten an die spezifizierte Adresse im Speicher zu schreiben, und gibt auf dem CPU-Lokal-Bus 65 ein BRDY#-Steuersignal an die PCI-Brücke 80 aus, um anzuzeigen, dass sie das erste Doppel-Wort des Daten-Schreib-Zyklus empfangen hat.
  • Für anschließende in den Speicher erfolgende Daten-Schreibvorgänge (während des Burst-Zyklus auf dem PCI-Bus) wird gemäß der vorliegenden Erfindung der Speicher "gedrosselt", indem MEMWAIT ausgegeben wird und die Speicher-Adresse des nächsten Doppel-Wortes von Daten an die MPU 90 ausgegeben wird, bevor das entsprechende Doppel-Wort aus dem PCI-Master 75 empfangen wird. Dies ermöglicht der MCU 90, schon vorzeitig die Seite im Speicher zu öffnen, in die die Daten geschrieben werden sollen. Folglich ist die MCU im wesentlichen in der Lage, "vorauszusehen", um festzustellen, wo der nächste Daten-Schreibvorgang erfolgen wird, und kann damit beginnen, auf diese Seite in dem Speicher zuzugreifen, bevor die Daten tatsächlich durch den PCI-Master 75 übertragen werden.
  • Diese Fähigkeit zum Vorausschauen wird erzielt, indem die zweite und sämtliche nachfolgenden Datenübertragungen während des Burst-Zyklus unmittelbar nach dem Rückübertragen des BRDY#-Signals aus der MCU 90 gestartet werden. Nachdem sie das BRDY#-Signal aus der MCI 90 empfangen hat, aktiviert die PCI-Brücke 80 das TRDY#-Signal, um der PCI-Master-Einrichtung 75 mitzuteilen, dass das Target (d. h. die MCU) bereit ist oder die Daten-Schreib- Transaktion abgeschlossen hat. Bei dem nächsten Taktsignal kann der PCI- Master die zu schreibenden Daten steuern, falls er bereit ist, und er aktiviert IRDY#, um zu zeigen, dass gültige Daten auf die AD-Leitungen gesteuert werden. Falls jedoch der PCI-Master 75 langsam ist und die Daten noch nicht bereit zur Übermittlung sind, wird IRDY# durch den PCI-Master deaktiviert, um anzuzeigen, dass er keine gültigen Daten bereithält. Falls IRDY# in dem auf das Aktivieren von TRDY# folgenden Taktzyklus deaktiviert wird, fährt die PCI- Brücke 80 damit fort, das MEMWAIT-Signal an die MCU 90 auszugeben, wodurch die MCU daran gehindert wird, ungültige Daten zu schreiben. Es ist anzumerken, dass das MEMWAIT-Signal für mindestens einen Taktzyklus bedingungslos aktiviert wird. Zusätzlich zum Ausgeben des MEMWAIT-Signals steuert die PCI-Brücke 80 die Speicher-Adresse der nächsten Schreib-Stelle auf den CPU-Lokal-Bus 65 und aktiviert gleichzeitig das ADS#-Signal, was die MCU dazu veranlasst, das Adress-Signal haltezuspeichern. Die MCU aktiviert dann die korrekte Reihen-Adress-Strobe-(RAS-)Leitung, um dadurch zu ermöglichen, dass die Seite, an der die nächste Adresse angeordnet ist, in dem korrekten Speicherbereich im DRAM-Speicher geöffnet wird.
  • Nachdem die PCI-Master-Einrichtung 75 bereit zum Steuern der Daten ist, was durch die Aktivuierung von IRDY' seitens des Masters markiert wird, werden die Daten aus dem PCI-Bus 100 über die PCI-Brücke 80 zu dem CPU-Lokal- Bus 65 übertragen, und das MEMWAIT-Signal wird durch die PCI-Brücke 80 deaktiviert. Die MPU 90 führt als Reaktion eine Haltespeicherung der Daten durch und aktiviert das Spalten-Reihen-Strobe-(CAS-)Signal, um die Übertragung abzuschließen. Als Ergebnis dieses Vorgangs ist es möglich, die RAS- Zugriffszeit (TRAC) einzusparen, falls sich die Adresse in einem unterschiedlichen Speicherbereich befunden hat, oder die Zugriffszeit für RAS (TRAC) plus der RAS-Vorladezeit (tRP), falls sich die Adresse auf einer unterschiedlichen Seite in dem gleichen DRAM-Speicherbereich befunden hat.
  • Bei dem ersten Zyklus einer von dem PCI-Master 75 durchgeführten Burst- Lese-Transaktion hingegen startet der an dem System-Speicher 125 durchgeführte Zyklus, nachdem die Belegung sowohl des PCI-Busss 100 als auch des CPU-Lokal-Bus 65 erzielt worden ist. Der PCI-Master 75 zeigt den Zyklus an, indem er das FRAME#-Signal deaktiviert und die Adress-Leitungen des PCI- Busses 100 mit der Adresse der verlangten Daten steuert. Die PCI-Brücke 80 steuert im wesentlichen gleichzeitig die Adresse im Speicher, aus der gelesen werden soll. Die MCU 90 empfängt die Lese-Adresse und gibt das MEMHIT- Signal aus, falls die Adresse einer Adresse im Hauptspeicher 125 entspricht, und als Reaktion gibt die PCI-Brücke das DEVSEL#-Signal an den Master 75 aus. Der PCI-Master 75 führt die Transaktion fort, und die PCI-Brücke 80 gibt das Lokal-Bus-Strobe-Signal ADS# aus, wodurch die MCU 90 veranlasst wird, das Adress-Signal haltezuspeichern. Die MCU 90 fährt dann damit fort,, auf die Reihen und Spalten des Speichers zuzugreifen, und rückübermittelt dlie gültigen Daten, die durch das Ausgeben von BRDY# auf dem Lokal-Bus 65 markiert sind. Als Reaktion gibt die PCI-Brücke 80 ein TRDY#-Signal auf dem PCI- Bus 100 aus und startet unmittelbar den nächsten Lese-Zyklus für den Speicher.
  • Falls der PCI-Master 75 IRDY# nicht als Reaktion auf das (oder vor dem) TRDY#-Signal ausgibt, wird der Lese-Zyklus gedrosselt, wobei die PCI-Brücke 80 MEMWAIT an die MCU 90 ausgibt. Während MEMWAIT ausgegeben wird, empfängt die MCU 90 die nächste Lese-Adresse von der PCI-Brücke 80 und dekodiert das Adress-Signal zu einer Reihen- und Spalten-Adresse. Die MCU 90 verwendet dann die Reihen-Adresse, die durch die Aktivierung der korrekten RAS-Leitung aktiv gemacht ist, um die Seite in dem Speicher zu öffnen, auf der sich die Lese-Adresse befindet. Bei der bevorzugten Ausführungsform steuert die MCU 90 auch die Daten auf den Speicher-Bus 150, indem sie die durch die korrekte CAS-Leitung aktivierte Speicher-Adresse ausgibt. Als Ergebnis werden die zu lesenden Daten auf den Lokal-Bus gesteuert, während MEMWAIT noch aktiviert ist.
  • Wenn die PCI-Master-Einrichtung 75 IRDY# aktiviert und die erste Daten- Phase empfängt, findet der nächste Lese-Zyklus mit der Deaktivierung des MEMWAIT-Signals durch die PCI-Brücke 80 statt. Gemäß der bevorzugten Ausführungsform reagiert, falls die nächsten Daten auf den Lokal-Bus geladen worden sind, die MCU 90 unmittelbar mit einem BRDY#-Signal; und die PCI- Brücke 80 gibt das TRDY#-Signal aus, um dem PCI-Master anzuzeigen, dass die nächste Daten-Phase bereit ist, gelesen zu werden. Nach dem Ausgeben des TRDY#-Signals beginnt der PCI-Master unmittelbar den nächsten Zyklus durch Ausgeben von ADS# und Steuern der nächsten Lese-Adresse auf dem Lokal-Bus und Aktivieren von MEMWAIT.
  • Die Prinzipien der vorliegenden Erfindung können auch während Auffrisch- Zyklen implementiert werden, um die Durchführung von Auffrisch-Zyklen zu ermöglichen, während MEMWAIT aktiviert ist. Falls eine Auffrisch-Anforderung an den gleichen DRAM-Speicherbereich ergeht, in dem die Seite offen ist, und während MEMWAIT aktiviert ist, startet die MCU 90 vorzugsweise den CASvor-RAS-Auffrisch-Zyklus, indem sie die CAS-Leitungen aktiv hält und die RAS-Leitung deaktiviert, um die Vorlade-Zyklen zu beginnen. Nachdem die Vorlade-Zyklen abgeschlossen sind, aktiviert die MCU 90 die RAS-Leitung, um den Auffrisch-Zyklus zu starten, bis die tRAS5-Zeit erfüllt ist, wobei zu diesem Zeitpunkt die RAS-Leitung deaktiviert wird, um die Vorlade-Zyklen erneut zu starten. Bei Abschluss der Vorlade-Zyklen öffnet die MCU 90 erneut die vorhe rige DRAM-Seite und fährt damit fort, den Speicher-Bus herunterzudrosseln, falls MEMWAIT noch aktiviert ist.
  • Falls MEMWAIT während des Auffrisch-Zyklus deaktiviert wird, wartet die MCU 90 vorzugsweise, bis tRAS erfüllt ist, und deaktiviert die RAS-Leitung, um die Vorlade-Zyklen zu starten. Bei Abschluss der Vorlade-Zyklen öffnet die MCU 90 die vorherige DRAM-Seite und schließt den Speicher-Zugriff ab, nachdem sie BRDY# an der PCI-Brücke 80 aktiviert hat. Die DRAM-Seite bleibt dann offen, bis eine Auffrisch-Anforderung erfolgt, oder bis seitens eines anderen Masters ein nachfolgender Daten-Zugriff auf eine unterschiedliche DRAM-Seite erfolgt. Die in dieser Sequenz eingesparte Zeit ist die tRAS-Periode, indem die DRAM-Seite vorzeitig geöffnet wird, nachdem das Auffrischen abgesclhlossen ist.
  • Falls die Auffrisch-Anforderung an einen unterschiedlichen DRAM-Speicherbereich ergeht, und während MEMWAIT aktiviert ist, deaktiviert die MCU 90 · vorzugsweise die derzeit aktive CAS-Leitung, um die aktuelle Seite zu schließen, während die CAS-Leitungen aktiv gehalten werden, und aktiviert unmittelbar die RAS-Leitung des neuen Speicherbereichs, um den Auffrisch-Zyklus zu starten. Die RAS-Leitung wird aktiv gehalten, bis die tRAS-Zeit erfüllt ist, wobei zu diesem Zeitpunkt die RAS-Leitung deaktiviert wird, um das Vorladen zu starten: Am Ende der Vorlade-Zyklen öffnet die MCU 90 die vorherige DRAM-Seite und fährt damit fort, den Speicher-Bus herunterzudrosseln, falls MEMWAIT noch aktiviert ist.
  • Falls hingegen MEMWAIT während des Auffrisch-Zyklus deaktiviert wird, wartet die MCU vorzugsweise, bis tRAS erfüllt ist, und deaktiviert die RAS-Leitung, um die Vorlade-Zyklen zu starten. Bei Abschluss der Vorlade-Zyklen öffnet die MCU die vorherige DRAM-Seite und schließt den Speicher-Zugriff ab, nachdem sie BRDY# aktiviert hat. Die DRAM-Seite bleibt dann offen, bis eine Auffrisch- Anforderung erfolgt, oder bis seitens eines anderen Masters eine Speicher- Anforderung für eine unterschiedliche DRAM-Seite erfolgt. Wiederum ist einge sparte Zeit ist die tRAS-Periode, indem die DRAM-Seite vorzeitig geöffnet wird, nachdem das Auffrischen abgeschlossen ist.
  • Zur weiteren Erleichterung des Verständnisses der Weise, in der das Protokoll gemäß der vorliegenden Erfindung implementiert wird, werden im folgenden Beispiele von Zeitsteuerungsdiagrammen erläutert. Fig. 4A-4E zeigen Zeitsteuerungsdiagramme zur Darstellung der Daten-, Adress- und Steuersignale bei Lese- und Schreib-Zyklen, die an unterschiedlichen Stellen im Hauptspeicher vorgenommen werden. In der unteren Reihe des Zeitsteuerungs-Diagramms ist der Zustand des DRAM-Speichers gezeigt, um das Verständnis dieser Diagramme zu erleichtern.
  • Die zunächst zu erläuternde Fig. 4A zeigt einen gedrosselten Speicher-Lese- Zyklus in einer Situation, in der zwei aufeinanderfolgende Speicher-Zugriffe auf die gleiche Seite eines DRAM-Speicherbereiches im Hauptspeicher erfolgen. In dem Anfangszustand ist eine Seite in dem Speicher offen, wie durch den DRAMSTATE-Hinweis gezeigt, um auf einen vorherigen Speicher-Zugriff auf diese gleiche Seite zu verweisen. In dieser Anfangsperiode wird die RAS(1)-Leitung aktiviert, um anzuzeigen, dass auf den Speicherbereich 1 des DRAM-Speichers zugegriffen worden ist und eine Seite in diesem Speicherbereich geöffnet worden ist. Anschließend wird ein Schreib-Zyklus gestartet, indem die PCI-Brücke (1) das ADS#-Steuersignal in den Low-Zustand steuert, (2) das W/R-Signal im High-Zustand aktiviert, um einen Schreib-Zyklus anzugeben, und (3) die Adress- und Daten-Information auf dem Lokal-Bus auszugeben. Gemäß herkömmlichen Techniken aktiviert die MCU das BRDY#- Signal früh, in dem ersten T2-Zyklus, bevor der Speicher-Schreibvorgang seinen Zyklus tatsächlich abschließt. Kurz danach aktiviert die MCU die CAS(2)- Leitung, um den Daten-Schreib-Vorgang abzuschließen.
  • Sobald die PCI-Brücke das BRDY#-Signal von der MCU empfängt, aktiviert sie das ADS#-Signal zum Starten des nächsten Zyklus, bei dem es sich um einen Lese-Zyklus handelt, wie daran erkennbar ist, dass die W/R-Leitung in den Low-Zustand gesteuert ist. Zur gleichen Zeit aktiviert die PCI-Brücke das MEMWAIT-Signal, um den Speicher-Bus herunterzudrosseln. Gemäß der bevorzugten Ausführungsform wird das Adress-Signal an die MCU übermittelt, während MEMWAIT aktiviert ist. Da die DRAM-Seite bereits offen ist, braucht die MCU keinen Vorgang zum Öffnen der Seite vorzunehmen, indem sie den Zustand der RAS-Leitungen in der Situation gemäß Fig. 4A ändert. Bei der bevorzugten Ausführungsform jedoch aktiviert die MCU die CAS-Leitung (in diesem Fall CAS(2)), um die zu lesenden Daten auf den Speicher-Bus und somit auf den Lokal-Bus zu steuern. Wenn MEMWAIT deaktivier ist, aktiviert die MCU BRDY#, um anzuzeigen, dass die Daten verfügbar sind, und die DRAM-Seite wird für den nächsten Zyklus offengelassen.
  • Somit drosselt, falls sich die Adresse auf der gleichen DRAM-Seite befindet, die MCU 90 den Speicher-Bus 150 herunter, indem sie eine Schleife durch einen Wartezustands-Zyklus durchführt, bis MEMWAIT von der PCI-Brücke 90 deaktiviert wird oder bis eine Auffrisch-Zyklus-Anforderung ausgegeben wird. Wenn MEMWAIT deaktiviert ist, aktiviert die MCU 90 BRDY# und schließt den Speicher-Zugriff ab. Die DRAM-Seite bleibt dann offen, bis eine andere Master- Einrichtung eine Speicher-Anforderung für eine andere Seite ausgibt, oder bis eine Auffrisch-Anforderung erfolgt.
  • In der nun zu erläuternden Fig. 4B ist ein gedrosselter Speicher-Schreib- Zyklus für die gleiche DRAM-Seite gezeigt. Wiederum ist in dem Anfangs- Zustand die DRAM-Seite offen, um auf einen vorherigen Zugriff auf diese Seite hinzuweisen. Anschließend aktiviert die PCI-Brücke das ADS#-Steuersignal, aktiviert das W/R-Signal, um einen Schreib-Zyklus anzuzeigen, und aktiviert die MEMWAIT-Leitung, um anzuzeigen, dass der PCI-Master nicht bereit ist, Daten zu übertragen. Während die MEMWAIT-Leitung aktiviert ist, und gemäß der bevorzugten Ausführungsform, fährt die PCI-Brücke damit fort, die Adresse des Schreib-Zyklus an die MCU zu steuern. Da jedoch die korrekte Seite bereits geöffnet wurde, wird der Zustand der RAS-Leitungen nicht geändert. Wenn das MEMWAIT-Signal durch die PCI-Brücke deaktiviert ist, aktiviert die MCU das BRDY#-Signal und schließt den Schreib-Zyklus ab, indem sie die korrekte CAS-Leitung (CAS(2)) aktiviert. Ein nachfolgender Lese-Zyklus ist in Fig. 4B ohne ein MEMWAIT-Signal gezeigt.
  • In der nun zu erläuternden Fig. 4C ist ein gedrosselter Speicher-Schreib- Zyklus für eine unterschiedliche DRAM-Seite gezeigt. In dem Anfangs-Zustand ist die DRAM-Seite in dem Speicherbereich 3 von einem vorherigen Zugriff auf diese Seite her offen, wie an der Aktivierung von RAS(3) ersichtlich üst. Anschließend aktiviert die PCI-Brücke das ADS#-Steuersignal, während sie das W/R-Signal bw hält, um einen Lese-Zyklus anzuzeigen. Im wesentlichen zur gleichen Zeit aktiviert die PCI-Brücke das MEMWAIT-Signal, um anzuzeigen, dass die PCI-Master-Einrichtung noch nicht bereit ist. Daten zu empfangen. Gemäß der bevorzugten Ausführungsform steuert die PCI-Brücke die Adresse auf den Lokal-Bus, wo sie von der MCU empfangen wird. Die MCU dekodiert die Adresse und wechselt von dem DRAM-Speicherbereich 3 zu dem DRAM- Speicherbereich 2 und steuert dann die Reihen-Adress-Strobe-Leitung RAS(2) in den Low-Zustand, während sie RAS(3) in den High-Zustand steuert, um die dekodiere Reihen-Adresse in den Speicherbereich 2 zu steuern. Die MCIJ öffnet dann die korrekte DRAM-Seite in dem Speicherbereich 2 und fährt damit fort, die gewünschten Daten auf den. Speicher-Bus und somit auf den Lokal-Bus zu steuern, indem sie die vier CAS-Leitungen aktiviert. Wenn das MEMWAIT- Signal deaktiviert wird, um anzuzeigen, dass der PCI-Master bereit zum Empfangen der Daten ist, aktiviert die MCU das BRDY#-Signal, um anzuzeigen, dass der Lese-Zyklus durchgeführt worden ist.
  • Falls somit die Adresse auf einen unterschiedlichen DRAM-Speicherbereich verweist, schließt die MCU die aktuelle DRAM-Seite des aktuellen Speicherbereichs, während MEMWAIT aktiviert wird und unmittelbar die DRAM-Seite des neuen Speicherbereichs öffnet (da keine RAS-Vorlade-Zyklus-Zeit existiert, weil auf einen unterschiedlichen DRAM-Speicherbereich zugegriffen wird). Die MCU drosselt dann den Speicher-Bus herunter, indem sie eine Schleife durch einen Wartezustands-Zyklus durchführt, bis MEMWAIT deaktiviert wird oder bis eine Auffrisch-Zyklus-Anforderung ausgegeben wird. Nachdem MEMWAIT deaktiviert ist, aktiviert die MCU BRDY# und schließt den Speicher-Zugriff ab. Die DRAM-Seite bleibt offen, bis ein Master eine nachfolgende Speicher-Anforderung für eine andere Seite ausgibt, oder bis eine Auffrisch-Anforderung empfangen wird. In dieser Sequenz wird die Zeit zum Zugreifen auf die DRAM- Seite (tRAC) eingespart, indem die Seite vordem Daten-Zugriff geöffnet wird.
  • Fig. 4D zeigt einen gedrosselten Speicher-Lese-Zyklus für eine unterschiedliche Seite im Speicher. Die ersten beiden Zustände zeigen einen Schreib- Zyklus, gefolgt von einem Lese-Zyklus ohne ein MEMWAIT. Anschließend aktiviert die PCI-Brücke das ADS#-Steuersignal, während sie das W/R-Signal low hält, um einen Lese-Zyklus anzuzeigen. Während MEMWAIT aktiviert ist, steuert die PCI-Brücke die auf dem Lokal-Bus befindliche Adresse zu der MCU. Die MCU dekodiert die Adresse und öffnet die korrekte Seite im Speicher. Nachdem die Seite offen ist, aktiviert die MCU die CAS-Leitungen, um die Daten auf den Speicher-Bus und somit auf den Lokal-Bus zu steuern. Wenn das MEMWAIT-Signal deaktiviert wird, aktiviert die MCU das BRDY#-Signal, um anzuzeigen, dass der Lese-Zyklus abgeschlossen ist.
  • Falls somit die Adresse auf eine unterschiedliche DRAM-Seite verweist, schließt die MCU die aktuelle DRAM-Seite und rückt auf einen Vorlade-Zustand. Nachdem das RAS-Vorladen abgeschlossen ist, öffnet die MCU 90 die DRAM-Seite und drosselt den Speicher-Bus 150 herunter, indem sie eine Schleife durch einen Wartezustands-Zyklus durchführt, bis MEMWAIT deaktiviert wird oder bis eine Auffrisch-Zyklus-Anforderung ausgegeben wird. Nachdem MIEMWAIT deaktiviert ist, aktiviert die MCU 90 BRDY# und schließt den Speicher-Zugriff ab, indem die CAS aktiviert, um einen Zugriff auf das bestimmte Byte der DRAM-Seite zu ermöglichen. Nachdem die Datenübertragung abgeschlossen worden ist, wird die DRAM-Seite offen gelassen, bis eine Auffrisch-Anforderung empfangen wird, oder bis eine andere Master-Einrichtung eine Speicher- Anforderung für eine andere Seite ausgibt. In dieser Sequenz wird die RAS- Vorlade-Zyklus-Zeit eingespart (tRP), und die Zeit zum Zugreifen auf die DRAM-Seite (tRAC) wird eingespart.
  • Fig. 4E schließlich zeigt einen gedrosselten Speicher-Lese-Zyklus mit einem zwischenliegenden Auffrisch-Zyklus. Der Anfangs-Zustand gemäß Fig. 4E zeigt einen Schreib-Zyklus. Anschließend aktiviert die PCI-Brücke das ADS#- Steuersignal, steuert das W/R-Signal in den Low-Zustand und aktiviert gleichzeitig MEMWAIT, um anzuzeigen, dass der PCI-Master nicht bereit ist, die Daten zu empfangen. Die PCI-Brücke steuert die Adresse auf den Lokal-Bus, wo sie von der MCU empfangen und dazu verwendet wird, auf die gewünschte Seite im Speicher zuzugreifen. Die MCU aktiviert dann die korrekte Spalten- Adress-Strobe-Leitung CAS(2), um die Daten auf den Speicher-Bus zu steuern. Anschließend jedoch während MEMWAIT noch aktiviert ist, wird seitens der MCU eine Aufrisch-Anforderung empfangen. Während MEMWAIT noch aktiviert ist, fährt die MCU damit fort, den Auffrisch-Zyklus für den Speücherbereich durchzuführen, indem sie für diesen Speicherbereich CAS vor RAS aktiviert. Nachdem das Auffrischen abgeschlossen ist, öffnet die MCU wieder die korrekte Seite im Speicher, indem sie wieder RAS(1) aktiviert, und dann gibt die die Daten wieder gesteuert aus, indem sie CAS(2) aktiviert.
  • In voller Kenntnis der obigen Offenbarung werden Fachleuten auf dem Gebiet zahlreiche Variationen und Modifikationen ersichtlich sein.

Claims (31)

1. Verfahren zum Optimieren der Datenübertragung zwischen einem Systemspeicher (125) und einer PCI-Master-Einrichtung (75), wobei der PCI- Master über einen PCI-Bus (100) mit einer PCI-Brücke (80) verbunden ist, die Brücke an einem CPU-Lokal-Bus (65) angeordnet ist, und der Systemspeicher über einen Speicher-Bus (150) mit einer Speicher-Steuereinheit (90) verbunden ist, wobei die Speicher-Steuereinheit ebenfalls an dem Lokal-Bus angeordnet ist, mit den folgenden Schritten:
(a) Beanspruchung der Belegung des PCI-Busses durch den PCI-Master;
(b) Steuern eines Adress-Signals auf dem PCI-Bus mittels des PCI- Masters;
(c) Erzeugen eines Adress-Strobe-Signals auf dem Lokal-Bus durch die PCI-Brücke und Steuern des Adress-Signals auf dem Lokal-Bus;
(d) Erzeugen eines Warte-Signals durch die PCI-Brücke zur Angabe der Unmöglichkeit für den PCI-Master, die Daten-Phase der Transaktion unmittelbar abzuschließen;
(e) Dekodieren des Adress-Signals durch die Speicher-Steuereinheit;
(f) Öffnen einer geeigneten Seite in dem Systemspeicher durch die Speicher-Steuereinheit;
(g) Deaktivieren des Warte-Signals, und zwar auf einen Hinweis hin, daß der PCI-Master bereit zum Abschließen der Daten-Phase ist; und
(h) Abschließen der Daten-Transaktion durch die Speicher-Steuereinheit.
2. Verfahren nach Anspruch 1, bei dem der Schritt des Öffnens der geeigneten Speicher-Seite (Schritt f) die folgenden Schritte umfaßt:
(f) (1) Ausgeben eines Spalten-Adress-Signals an den Systemspeicher; und
(f) (2) Belegen einer geeigneten Reihen-Adress-Strobe-(RAS-) Leitung zum Aktivieren des Reihen-Adress-Signals.
3. Verfahren nach Anspruch 2, bei dem die Schritte (f)(1) und (f)(2) abgeschlossen werden, während das Warte-Signal aktiviert ist.
4. Verfahren nach Anspruch 3, bei dem die Speicher-Steuereinheit: ferner die Spalten-Adresse ausgibt und ein geeignetes Spalten-Adress-Strobe- Signal aktiviert, um während eines Lese-Zyklus, während das Warte- Signal noch aktiviert ist, Daten aus dem Speicher heraus zu steuern.
5. Verfahren nach Anspruch 1, bei dem ein Auffrisch-Zyklus durchgeführt wird, während das Warte-Signal aktiviert ist.
6. Verfahren nach Anspruch 1, bei dem der Schritt des Abschließens der Daten-Transaktion (Schritt (h)) die folgenden Schritte umfaßt:
(h) (1) Ausgeben eines Spalten-Adress-Signals an den Speicher, während das geeignete Spalten-Adress-Strobe-(CAS-)Signal aktiviert ist;
(h) (2) Aktivieren eines BRDY#-Signal an die PCI-Brücke.
7. Verfahren nach Anspruch 6, bei dem die PCI-Brücke auf das BRDY#- Signal von der Speicher-Steuereinheit hin ein TRDY#-Signal an den PCI- Master ausgibt.
8. Verfahren nach Anspruch 7, bei dem die PCI-Brücke ein MEMWAIT-Signal ausgibt, falls der PCI-Master kein IRDY#-Signal auf das TRDY#-Signal hin ausgibt.
9. Verfahren zum Optimieren der Datenübertragung zwischen einem Systemspeicher (125) und einer PCI-Master-Einrichtung (75) während eines Schreib-Zyklus, wobei der PCI-Master über einen PCI-Bus (100) mit einer PCI-Brücke (80) verbunden ist, die Brücke an einem CPU-Lokal-Bus (65) angeordnet ist, und der Systemspeicher über einen Speicher-Bus (150) mit einer Speicher-Steuereinheit (90) verbunden ist, wobei die Speicher- Steuereinheit ebenfalls an dem Lokal-Bus angeordnet ist, mit den folgenden Schritten:
(a) Belegen des PCI-Busses durch den PCI-Master;
(b) Übertragen eines Burst-Zyklus mittels des PCI-Masters über den PCI-Bus;
(c) seitens der PCI-Brücke, Empfangen eines ersten Adress-Signals und eines ersten Daten-Signals aus dem Burst-Zyklus, und Belegen des Lokal-Busses;
(d) Übertragen des ersten Adress-Signals und des ersten Daten-Signals über den Lokal-Bus mittels der PCI-Brücke;
(e) mittels der Speicher-Steuereinheit, Schreiben des ersten Daten- Signals an die dem ersten Adress-Signal entsprechende Adresse in dem Speicher und Ausgeben eines Speicher-Bereitschafts-Signals an die PCI-Brücke,
(f) Ausgeben eines Target-Bereitschafts-Signals aus der PCI-Brücke an den PCI-Master auf das Bereitschafts-Signal von der Speicher- Steuereinheit hin; und
(g) mittels der PCI-Brücke bei Nichtvorhandensein eines Initiator- Bereitschafts-Signals aus dem PCI-Master, Erzeugen eines Warte- Signals an die Speicher-Steuereinheit und Ausgeben eines zweiten Adress-Signals an die Speicher-Steuereinheit.
10. Verfahren nach Anspruch 9, bei dem die Speicher-Steuereinheit auf den Schritt (d) hin ein MEMHIT-Signal erzeugt, falls das erste Adress-Signal in dem Systemspeicher vorhanden ist.
11. Verfahren nach Anspruch 9, ferner mit den folgenden Schritten:
(h) mittels der Speicher-Steuereinheit, Dekodieren des zweiten Adress- Signals zum Erzeugen einer Reihen-Adresse und einer Spalten- Adresse; und
(i) mittels der Speicher-Steuereinheit, Steuern der Reihen-Adresse des zweiten Adress-Signals in den Speicher und Ausgeben eines Reihen- Adress-Strobe-(RAS-)Signals an den Speicher, um eine geeignete Seite in dem Speicher zu öffnen.
12. Verfahren nach Anspruch 11, ferner mit den folgenden Schritten:
(j) Deaktivieren des Warte-Signals auf ein Initiator-Bereitschafts-Signal von dem PCI-Master hin, welches angibt, daß der PCI-Master ein zweites Daten-Signal auf den PCI-Bus gesteuert hat;
(k) mittels der Speicher-Steuereinheit, Steuern der Spalten-Adresse des zweiten Adress-Signals in den Speicher und Ausgeben eines geeigneten Spalten-Adress-Strobe-(CAS-)Signals an den Speicher, um das zweite Daten-Signal dahingehend zu aktivieren, daß es in den Speicher geschrieben wird.
13. Verfahren nach Anspruch 9, bei dem ein Auffrisch-Zyklus an einem Speicherbereich des Speichers vorgenommen wird, während das Warte-Signal ausgegeben wird.
14. Verfahren nach Anspruch 13, bei dem der Auffrisch-Zyklus an dem gleichen Speicherbereich des Speichers vorgenommen wird, in dem die Seite offen ist.
15. Verfahren nach Anspruch 13, bei dem der Auffrisch-Zyklus an einem unterschiedlichen Speicherbereich des Speichers als demjenigen vorgenommen wird, in dem die Seite offen ist.
16. Verfahren nach Anspruch 13, bei dem der Auffrisch-Zyklus eine CAS-vor RAS-Sequenz aufweist.
17. Verfahren nach Anspruch 13, bei dem jeder Speicherbereich des Speichers unabhängig aufgefrischt wird.
18. Verfahren zum Optimieren der Datenübertragung zwischen einem Systemspeicher (125) und einer PCI-Master-Einrichtung (75) während eines Lese-Zyklus, wobei der PCI-Master über einen PCI-Bus (100) mit einer PCI-Brücke (80) verbunden ist, die Brücke an einem CPU-Lokal-Bus (65) angeordnet ist, und der Systemspeicher über einen Speicher-Bus (150) mit einer Speicher-Steuereinheit (90) verbunden ist, wobei die Speicher- Steuereinheit ebenfalls an dem Lokal-Bus angeordnet ist, mit den folgenden Schritten:
(a) Belegen des PCI-Busses durch den PCI-Master;
(b) mittels des PCI-Masters, Übertragen einer ersten in dem Speicher - auszulesende Adresse über den PCI-Bus;
(c) seitens der PCI-Brücke, Empfangen des ersten Adress-Signals und Belegen des Lokal-Busses;
(d) mittels der PCI-Brücke, Übertragen des ersten Adress-Signals auf dem Lokal-Bus;
(e) seitens der Speicher-Steuereinheit, Empfangen des ersten Adress- Signals, Lesen eines dem ersten Adress-Signal entsprechenden Daten-Signals in dem Speicher, Steuern des ersten Daten-Signals auf den Lokal-Bus und Ausgeben eines Speicher-Bereitschafts-Signals an die PCI-Brücke;
(f) mittels der PCI-Brücke, Ausgeben eines Target-Bereitschafts-Signals an den PCI-Master auf das Bereitschafts-Signal von der Speicher- Steuereinheit hin;
(g) mittels der PCI-Brücke bei Nichtvorhandensein eines Initiator- Bereitschafts-Signals aus dem PCI-Master, Erzeugen eines Warte- Signals an die Speicher-Steuereinheit und Ausgeben eines zweiten Adress-Signals an die Speicher-Steuereinheit.
19. Verfahren nach Anspruch 18, bei dem die Speicher-Steuereinheit auf den Schritt (d) hin ein MEMHIT-Signal erzeugt, falls das erste Adress-Signal in dem Systemspeicher vorhanden ist.
20. Verfahren nach Anspruch 18, ferner mit den folgenden Schritten:
(h) mittels der Speicher-Steuereinheit, Dekodieren des zweiten Adress- Signals zum Erzeugen einer Reihen-Adresse und einer Spalten- Adresse; und
(i) mittels der Speicher-Steuereinheit, Steuern der Reihen-Adresse des zweiten Adress-Signals in den Speicher und Ausgeben eines Reihen- Adress-Strobe-(RAS-)Signals an den Speicher, um eine geeignete Seite in dem Speicher zu öffnen.
21. Verfahren nach Anspruch 20, ferner mit dem folgenden Schritt:
(j) mittels der Speicher-Steuereinheit, Steuern der Spalten-Adrease des zweiten Adress-Signals in den Speicher und Ausgeben eines Spalten-Adress-Strobe-(CAS-)Signals an den Speicher, um ein der zweiten Adresse entsprechendes zweites Daten-Signal auf den Lokal-Bus zu steuern.
22. Verfahren nach Anspruch 21, ferner mit den folgenden Schritten:
(k) Deaktivieren des Warte-Signals auf ein Initiator-Bereitschafts-Signal von dem PCI-Master hin, welches angibt, daß der PCI-Master bereit zum Empfangen des ersten Daten-Signals ist;
(I) Ausgeben eines Speicher-Bereitschaftssignals aus der Speicher- Steuereinheit;
(m) Ausgeben eines Target-Bereitschafts-Signals aus der PCI-Brücke an den PCI-Master und Initiieren eines weiteren Lese-Zyklus.
23. Verfahren nach Anspruch 18, bei dem ein Auffrisch-Zyklus an einem Speicherbereich des Speichers vorgenommen wird, während das Warte- Signal ausgegeben wird.
24. System zum Optimieren von Speicherzugriffszeiten in einem Computer, mit:
einem Systemspeicher (125) zum Speichern von Daten und zum Zugriff auf die Daten;
einer mit dem Systemspeicher verbundenen Speicher-Steuereinheit (90) zum Steuern von Zugriffen auf den Speicher;
einer PCI-Brücke (80), die mit der Speicher-Steuereinheit über einen Lokal-Bus (65) verbunden ist;
einer Peripherie-PCI-Master-Einrichtung (75), die über einen PCI-Bus (100) mit der PCI-Brücke verbunden ist, wobei die PCI-Master-Einrichtung in der Lage ist, die Belegung des PCI-Busses zu beanspruchen, um Daten-Transaktionen zu dem Systemspeicher abzuschließen; und wobei
die PCI-Brücke die Belegung des Lokal-Busses beansprucht, wenn der PCI-Master die Belegung des PCI-Busses beansprucht; und
einem mit dem Lokal-Bus verbundenen CPU-Kern (60);
dadurch gekennzeichnet,
daß die PCI-Brücke ein Warte-Signal an die Speicher-Steuereinheit ausgibt und im wesentlichen gleichzeitig die im Speicher befindliche Adresse der nächsten Daten-Transaktion auf dem Lokal-Bus zu der Speicher- Steuereinheit steuert, wenn die PCI-Master-Einrichtung den Abschluß der Datenübertragung verzögert.
25. System nach Anspruch 24, bei dem die Speicher-Steuereinheit eine geeignete Seite in dem Speicher öffnet, während das Warte-Signal ausgegeben wird.
26. System nach Anspruch 25, bei dem der Systemspeicher bis zu vier separate Speicherbereiche von DRAM-Chips aufweist.
27. System nach Anspruch 25, ferner mit einem System-Zeitgeber, um ungefähr jede 15,625 us eine Auffrischungs-Anforderung zu erzeigen.
28. System nach Anspruch 27, bei dem ungefähr jede 15,625 us ein Auffrischungs-Zyklus in jedem Speicherbereich erzeugt wird.
29. System nach Anspruch 28, bei dem die Auffrischungs-Zyklen in den vier Speicherbereichen versetzt erfolgen.
30. System nach Anspruch 24, bei dem die PCI-Brücke das Warte-Signal in einem Lese-Zyklus ausgibt, falls der PCI-Master kein Bereitschafts-Signal ausgibt, wenn Daten auf den PCI-Bus gesteuert werden.
31. System nach Anspruch 24, ausgibt, bei dem die PCI-Brücke das Warte- Signal nach Ausbleiben der Ausgabe eines Bereitschafts-Signals aus dem PCI-Master ausgibt, nachdem die PCI-Brücke ein Bereitschafis-Signal ausgibt und während ein Rahmen-Zyklus-Signal aktiviert bleibt.
DE69518286T 1994-06-17 1995-06-07 Speicherübertragungsgeschwindigkeitsbegrenzung für PCI-Meister Expired - Lifetime DE69518286T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US26148694A 1994-06-17 1994-06-17

Publications (2)

Publication Number Publication Date
DE69518286D1 DE69518286D1 (de) 2000-09-14
DE69518286T2 true DE69518286T2 (de) 2001-02-22

Family

ID=22993516

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69518286T Expired - Lifetime DE69518286T2 (de) 1994-06-17 1995-06-07 Speicherübertragungsgeschwindigkeitsbegrenzung für PCI-Meister

Country Status (4)

Country Link
US (1) US5649161A (de)
EP (1) EP0692764B1 (de)
AT (1) ATE195381T1 (de)
DE (1) DE69518286T2 (de)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5897667A (en) * 1993-11-16 1999-04-27 Intel Corporation Method and apparatus for transferring data received from a first bus in a non-burst manner to a second bus in a burst manner
US5933613A (en) * 1995-07-06 1999-08-03 Hitachi, Ltd. Computer system and inter-bus control circuit
JP2976850B2 (ja) * 1995-07-13 1999-11-10 日本電気株式会社 データ処理装置
US5918072A (en) * 1995-09-18 1999-06-29 Opti Inc. System for controlling variable length PCI burst data using a dummy final data phase and adjusting the burst length during transaction
US5748914A (en) * 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
US6810449B1 (en) 1995-10-19 2004-10-26 Rambus, Inc. Protocol for communication with dynamic memory
US6470405B2 (en) * 1995-10-19 2002-10-22 Rambus Inc. Protocol for communication with dynamic memory
GB2309559B (en) * 1996-01-27 2000-01-26 Motorola Israel Ltd Microprocessor and system
JPH09311812A (ja) * 1996-05-24 1997-12-02 Oki Electric Ind Co Ltd マイクロコンピュータ
US5844856A (en) * 1996-06-19 1998-12-01 Cirrus Logic, Inc. Dual port memories and systems and methods using the same
US5968144A (en) * 1996-06-27 1999-10-19 Vlsi Technology, Inc. System for supporting DMA I/O device using PCI bus and PCI-PCI bridge comprising programmable DMA controller for request arbitration and storing data transfer information
US5848275A (en) * 1996-07-29 1998-12-08 Silicon Graphics, Inc. Compiler having automatic common blocks of memory splitting
US5893917A (en) * 1996-09-30 1999-04-13 Intel Corporation Memory controller and method of closing a page of system memory
US5867645A (en) * 1996-09-30 1999-02-02 Compaq Computer Corp. Extended-bus functionality in conjunction with non-extended-bus functionality in the same bus system
US5854910A (en) * 1996-10-21 1998-12-29 Advanced Micro Devices, Inc. Method for accessing control and status registers across a peer-peer bus
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
US5805845A (en) * 1996-10-21 1998-09-08 Advanced Micro Devices, Inc. Method for loading memory with program and data information from PC memory across a bridging bus
US5832242A (en) * 1996-10-21 1998-11-03 Advanced Micro Devices, Inc. Inter-chip bus with equal access between masters without arbitration
US5848252A (en) * 1996-11-05 1998-12-08 Motorola, Inc. Peripheral component interconnect gateway controller
US5897659A (en) * 1997-03-07 1999-04-27 Advanced Micro Devices, Inc. Modifying RAS timing based on wait states to accommodate different speed grade DRAMs
US6327640B1 (en) 1997-03-07 2001-12-04 Advanced Micro Devices, Inc. Overlapping peripheral chip select space with DRAM on a microcontroller with an integrated DRAM controller
US5907857A (en) * 1997-04-07 1999-05-25 Opti, Inc. Refresh-ahead and burst refresh preemption technique for managing DRAM in computer system
US5857082A (en) * 1997-04-25 1999-01-05 Intel Corporation Method and apparatus for quickly transferring data from a first bus to a second bus
US6266379B1 (en) 1997-06-20 2001-07-24 Massachusetts Institute Of Technology Digital transmitter with equalization
US5930482A (en) * 1997-07-31 1999-07-27 Advanced Micro Devices, Inc. Transaction checking system for verifying bus bridges in multi-master bus systems
US5913043A (en) * 1997-07-31 1999-06-15 Advanced Micro Devices, Inc. State machine based bus bridge performance and resource usage monitoring in a bus bridge verification system
US6154801A (en) * 1997-07-31 2000-11-28 Advanced Micro Devices, Inc. Verification strategy using external behavior modeling
US6226708B1 (en) * 1997-08-18 2001-05-01 Texas Instruments Incorporated Method and system for efficiently programming non-volatile memory
US6178477B1 (en) * 1997-10-09 2001-01-23 Vlsi Technology, Inc. Method and system for pseudo delayed transactions through a bridge to guarantee access to a shared resource
WO1999019805A1 (en) * 1997-10-10 1999-04-22 Rambus Incorporated Method and apparatus for two step memory write operations
US6401167B1 (en) * 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
US5956288A (en) * 1997-12-22 1999-09-21 Emc Corporation Modular memory system with shared memory access
US6484065B1 (en) * 1997-12-29 2002-11-19 Kawasaki Microelectronics, Inc. DRAM enhanced processor
US6199145B1 (en) * 1998-02-27 2001-03-06 Intel Corporation Configurable page closing method and apparatus for multi-port host bridges
US6784890B1 (en) * 1998-03-02 2004-08-31 Intel Corporation Accelerated graphics port expedite cycle throttling control mechanism
US5991833A (en) * 1998-03-13 1999-11-23 Compaq Computer Corporation Computer system with bridge logic that reduces interference to CPU cycles during secondary bus transactions
US6327253B1 (en) 1998-04-03 2001-12-04 Avid Technology, Inc. Method and apparatus for controlling switching of connections among data processing devices
US6141691A (en) * 1998-04-03 2000-10-31 Avid Technology, Inc. Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements
KR100297840B1 (ko) * 1998-09-16 2001-10-26 전주범 케이블모뎀의호스트인터페이스방법
US6154803A (en) * 1998-12-18 2000-11-28 Philips Semiconductors, Inc. Method and arrangement for passing data between a reference chip and an external bus
FR2790892A1 (fr) * 1999-03-12 2000-09-15 Canon Kk Procede et dispositif de controle de la synchronisation entre deux bus de communication serie d'un reseau
US6286074B1 (en) 1999-03-24 2001-09-04 International Business Machines Corporation Method and system for reading prefetched data across a bridge system
US6449678B1 (en) 1999-03-24 2002-09-10 International Business Machines Corporation Method and system for multiple read/write transactions across a bridge system
US6502157B1 (en) 1999-03-24 2002-12-31 International Business Machines Corporation Method and system for perfetching data in a bridge system
US6425023B1 (en) 1999-03-24 2002-07-23 International Business Machines Corporation Method and system for gathering and buffering sequential data for a transaction comprising multiple data access requests
KR20010019127A (ko) * 1999-08-25 2001-03-15 정선종 엠피씨860과 에스디알에이엠을 이용한 버스트 전송 지원 외부 버스 제어기 및 방법
DE69931160T2 (de) * 1999-10-08 2006-09-28 Hewlett-Packard Development Co., L.P., Houston Gerät zur Verarbeitung von SONET oder SDH Rahmen auf einem PCI-Bus
EP1091289B1 (de) 1999-10-08 2004-05-26 Hewlett-Packard Company, A Delaware Corporation Anordnung zur verarbeitung von sonet- oder SDH-DS0-Rahmen zur Kanalzurordnung
DE10019239B4 (de) * 2000-04-18 2008-09-04 Fujitsu Siemens Computers Gmbh Datenverarbeitungseinrichtung mit einer Schaltungsanordnung zur Verbindung eines ersten Kommunikationsbusses mit einem zweiten Kommunikationsbus
US6742064B2 (en) * 2000-05-15 2004-05-25 Goodrich Corp. Programmable throttle circuit for each control device of a processing system
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US8391039B2 (en) 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
KR100396894B1 (ko) * 2001-06-27 2003-09-02 삼성전자주식회사 버스 효율을 향상시키는 메모리 시스템 및 반도체 메모리장치와 상기 반도체 메모리 장치의 리프레쉬 방법
EP1316891B1 (de) * 2001-12-03 2007-10-10 Infineon Technologies AG Datenübertragungseinrichtung
DE10361059A1 (de) * 2003-12-22 2005-07-28 Micronas Gmbh Verfahren und Vorrichtung zum Steuern eines Speicherzugriffs
US7424562B2 (en) * 2004-03-01 2008-09-09 Cisco Technology, Inc. Intelligent PCI bridging consisting of prefetching data based upon descriptor data
US7301831B2 (en) 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
US20090164689A1 (en) * 2007-12-21 2009-06-25 Unisys Corporation Early response indication for data retrieval in a multi-processor computing system
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4462073A (en) * 1978-11-08 1984-07-24 Data General Corporation Apparatus for fetching and decoding instructions
US4918645A (en) * 1987-09-17 1990-04-17 Wang Laboratories, Inc. Computer bus having page mode memory access
US5335336A (en) * 1988-03-28 1994-08-02 Hitachi, Ltd. Memory device having refresh mode returning previous page address for resumed page mode
GB8808353D0 (en) * 1988-04-09 1988-05-11 Int Computers Ltd Data processing system
US4937791A (en) * 1988-06-02 1990-06-26 The California Institute Of Technology High performance dynamic ram interface
GB2234610B (en) * 1989-08-02 1993-08-18 Research Machines Ltd Address mapping arrangement
US5353423A (en) * 1991-06-21 1994-10-04 Compaq Computer Corporation Memory controller for use with write-back cache system and multiple bus masters coupled to multiple buses
US5379384A (en) * 1992-06-05 1995-01-03 Intel Corporation Configuration data loopback in a bus bridge circuit
US5392407A (en) * 1992-12-24 1995-02-21 Ncr Corporation Multi-port processor with peripheral component interconnect port and rambus port
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system

Also Published As

Publication number Publication date
EP0692764B1 (de) 2000-08-09
DE69518286D1 (de) 2000-09-14
EP0692764A1 (de) 1996-01-17
ATE195381T1 (de) 2000-08-15
US5649161A (en) 1997-07-15

Similar Documents

Publication Publication Date Title
DE69518286T2 (de) Speicherübertragungsgeschwindigkeitsbegrenzung für PCI-Meister
DE69028066T2 (de) Kombinierte synchrone und asynchrone Speichersteuerung
DE69124905T2 (de) Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem
DE69322310T2 (de) Busarchitektur für integrierten Daten/- und Videospeicher
DE19982871B4 (de) Speichersystem mit jeweils einen Speichermodul-Controller enthaltenden Speichermodulen
DE69707688T2 (de) Speichersteuerungseinheit zur optimalen ausführung von speichersteuerungsabfolgen zwischen verschiedenen speicherbanken
DE3887324T2 (de) Speicheranordnung.
DE68910391T2 (de) Verfahren zum Speicherdatenzugriff.
DE69904508T2 (de) Auf warteschlangen basierte speichersteuerung
DE19681745B4 (de) Verfahren zum Übergeben der Kontrolle des Zugriffs auf einen Hauptspeicher von einer Speichersteuereinrichtung auf eine weitere Steuereinrichtung und ein solches Verfahren ausführendes Computersystem
DE19882418B4 (de) System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren
DE69324926T2 (de) Doppelte pufferungspeicherung zwischen dem speicherbus und dem expansionsbus eines rechnersystems
DE69906156T2 (de) Mikroprozessorvorrichtung mit programmierbaren wartezuständen
DE19681716B4 (de) Computersystem und Verfahren für ein Stromversorgungsmanagement
DE69032655T2 (de) Seitenspeicher-Steuerschaltung
DE69523395T2 (de) Datenprozessor mit gesteuertem Stoss-Speicherzugriff und Vorrichtung dafür
DE3889366T2 (de) Interface für ein Rechnersystem mit reduziertem Befehlssatz.
DE3587116T2 (de) Datenprozessor.
DE19983737B3 (de) System zum Neuordnen von Befehlen, die von einer Speichersteuerung zu Speichervorrichtungen ausgegeben werden, unter Verhinderung von Kollision
DE69229081T2 (de) Mikroprozessor mit externem Speicher
DE69133500T2 (de) DRAM Halbleitervorrichtung
DE69203842T2 (de) Speichersteuerungsvorrichtung mit Snoop-Mechanismus.
DE19839570B4 (de) Synchrones Halbleiterspeicherbauteil mit programmierbarer Latenzzeit
DE69316955T2 (de) Rechenanlage mit synchronem, dynamischem Speicher
DE68923944T2 (de) RAM mit doppelten Ein/Ausgängen.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: GLOBALFOUNDRIES INC. MAPLES CORPORATE SERVICES, KY