DE19956114A1 - Verfahren und System zur Steuerung des Speicherzugriffs durch eine zentrale Verarbeitungseinheit in einem Computersystem - Google Patents

Verfahren und System zur Steuerung des Speicherzugriffs durch eine zentrale Verarbeitungseinheit in einem Computersystem

Info

Publication number
DE19956114A1
DE19956114A1 DE19956114A DE19956114A DE19956114A1 DE 19956114 A1 DE19956114 A1 DE 19956114A1 DE 19956114 A DE19956114 A DE 19956114A DE 19956114 A DE19956114 A DE 19956114A DE 19956114 A1 DE19956114 A1 DE 19956114A1
Authority
DE
Germany
Prior art keywords
cpu
read request
memory
write
signal
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.)
Ceased
Application number
DE19956114A
Other languages
English (en)
Inventor
Nai-Shung Chang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of DE19956114A1 publication Critical patent/DE19956114A1/de
Ceased legal-status Critical Current

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Dram (AREA)

Abstract

Ein Verfahren und ein System zur Speicherzugriffssteuerung wird zur Verfügung gestellt, zur Verwendung in einem Computersystem, um den Speicherzugriffsvorgang durch eine zentrale Verarbeitungseinheit (CPU) auf eine Speichereinheit effizienter zu steuern. Dieses Verfahren und System zur Speicherzugriffssteuerung ist gekennzeichnet durch die Fähigkeit, den Speicherzugriffsvorgang zwischen einem Warte-Modus und einem Nicht-Warte-Modus, bezogen auf den derzeitigen L1-Rückschreibzustand der Leseanforderung von der CPU, hin und her zu schalten. Im Warte-Modus antwortet die Speichereinheit auf jede Leseanforderung, derart, daß sie abwartet, bis das L1-Rückschreibsignal der Leseanforderung ausgegeben wird, und dann entweder eine Leseoperation für die derzeitige Leseanforderung durchführt, wenn das L1-Rückschreibsignal einen Cache-Miss anzeigt, oder eine Cache-Rückschreiboperation ausführt, wenn das L1-Rückschreibsignal einen Cache-Hit anzeigt. Im Nicht-Warte-Modus antwortet die Speichereinheit auf jede Leseanforderung, derart, daß sie immer sofort eine Leseoperation für die derzeitige Leseanforderung ausführen wird, ohne zu warten, bis die CPU das L1-Rückschreibsignal der derzeitigen Leseanforderung ausgibt, und dann, wenn das nachfolgend erhaltene L1-Rückschreibsignal der Leseanforderung einen Cache-Hit anzeigt, die derzeit aus der Speichereinheit zurückgeholten Daten sofort verwirft und dann eine Cache-Rückschreiboperation ausführt.

Description

HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
Die Erfindung betrifft eine Computerspeicher-Zugriffstechnick, und insbesondere ein Speicherzugriffs-Steuerverfahren und ein System zur Verwendung in einem Computer­ system, um den Zugriff auf eine Speichereinheit durch eine zentrale Verarbeitungseinheit (CPU) effizienter zu steuern, indem von der CPU der Speucherzugriffsbetrieb zwischen einem Warte-Modus und einem Nicht-Warte-Modus geschaltet wird, bezogen auf L1 Rückschreib/Lese-Befehle von der CPU.
2. Beschreibung des Standes der Technik
Im heutigen Informationszeitalters sind Computer ein unentbehrliches Werkzeug bei der Datenverarbeitung in allen Bereichen des Lebens geworden. Bei der Verwendung von Computern ist die Leistung ein wichtiger Gesichtspunkt. Viele Faktoren können die Leistung eines Computersystems beeinträchtigen, einschließlich der Geschwindigkeit der CPU, des Typs des verwendeten primären Speichers, der Effizienz der Speicherzugriffssteuerung und so weiter. Gegenwärtig wird als primärer Speicher der meisten Computersysteme weit verbreitet der dynamische Direktzugriffsspeicher (DRAM) verwendet. Herkömmliche Speicherzugriffsverfahren die eine Steigerung der Computerleistung unterstützen, umfassen beispielsweise den "Fast Page Modus" (FPM) und das "Extended Data Out" (EDO) Verfahren. Des weiteren ermöglicht ein neuer Typ DRAM, der synchronisierter DRAM (SDRAM) genannt wird, schnelle Zugriffsgeschwindigkeiten auf die darin gespeicherten Daten.
Eine herkömmliche Lösung zur Steigerung der Speicherzugriffsleistung durch die CPU ist die Bereitstellung eines Hochgeschwindigkeitsspeichers in der CPU, der im allgemeinem als Cache-Speicher bezeichnet wird. Wenn die CPU einen Datenzugriff anfordert, könnte sie gleichzeitig die im Cache-Speicher vorhandenen Daten in die Speichereinheit zurückzu­ schreiben beabsichtigen. Gemäß des CPU Betriebsverfahren gibt die CPU in dieser Situation einige Taktzyklen später, nachdem die Leseanforderung durch die CPU erfolgt ist, ein L1- Rückschreibsignal aus. Herkömmliche Systeme zur Speicherzugriffssteuerung arbeiten gewöhnlich derart, daß für jede Leseanforderung von der CPU üblicherweise die Steuer­ schnittstelle wartet, damit sichergestellt wird, ob daß L1-Rückschreibsignal ausgegeben wird oder nicht, und führt anschließend die tatsächlichen Zugriffsoperationen durch, wie Lesen oder Rückschreiben, in dem alle betreffenden Instruktionen an die Speichereinheit ausge­ sandt werden. Die CPU liest daher Daten aus der Speichereinheit oder schreibt Daten in die Speichereinheit zurück.
Aus der vorstehenden Beschreibung kann entnommen werden, daß ein Nachteil des Standes der Technik darin besteht, daß für das Speicherzugriffssteuerungs-System immer ein Wartestatus vorhanden ist, um festzustellen, ob das L1-Rückschreibsignal der derzeitigen Leseanforderung umfaßt ist oder nicht, und daß erst anschließend der Zugriff auf die Speichereinheit tatsächlich vorgenommen wird. Da jeder Wartezustand einige Taktzyklen lang ist, führt dies dazu daß der Speicherzugriff relativ ineffizient ist. Die Gesamt­ systemleistung des Computersystems ist daher schlecht und es gibt immer noch Raum für Verbesserung. Die Statistik zeigt, daß in einem typischem Computersystem der durch eine CPU durchgeführte Gesamtspeicherzugriff zu etwa 60% aus Lesen, zu etwa 15% aus Rückschreiben in das Cache und zu etwa 25% aus Schreiben besteht. Daher kann die Gesamtsystemleistung des Computersystems verbessert werden, in dem lediglich die Ge­ schwindigkeit des Lesevorgangs erhöht wird. Der Stand der Technik ist jedoch beim Lesen langsam, da er häufig im Wartezustand für L1-Rückschreibesignale bleibt.
ZUSAMMENFASSUNG DER ERFINDUNG
Es ist daher eine Aufgabe der vorliegenden Erfindung ein verbessertes Verfahren zur Speicherzugriffssteuerung und ein System zur Verwendung in einem Computersystem zu liefern, das eine Steigerung der Geschwindigkeit des Lesevorgangs durch die CPU bewirkt, indem jede Leseanforderung direkt an die Speichereinheit weitergegeben wird, ohne auf die Ausgabe des L1-Rückschreibesignals der Leseanforderung zu warten, so daß die Gesamt­ systemleistung des Computersystems verbessert werden kann.
Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein verbessertes Verfahren zur Speicherzugriffssteuerung zur Verfügung zu stellen und ein System zur Verwendung in einem Computersystem, das den Speicherzugriffsbetrieb zwischen einem Warte-Modus und einem Nicht-Warte-Modus, bezogen auf den gegenwärtigen L1-Rückschreibezustand der Leseanforderungen von der CPU wechseln kann. Im Warte-Modus wird jede Leseanfor­ derung auf die Speichereinheit übertragen, bis das L1-Rückschreibesignal davon ausgegeben wird. Im Nicht-Warte-Modus wird die Leseanforderung direkt auf die Speichereinheit übertragen, ohne zu warten, bis das L1-Rückschreibesignal ausgegeben wird.
Gemäß den vorstehenden und anderen Aufgaben der vorliegenden Erfindung, wird ein ver­ bessertes Verfahren zur Speicherzugriffssteuerung und ein System, zur Verwendung in einem Computersystem zur Verfügung gestellt, um den Zugriff der CPU auf die Speichereinheit effizienter zu steuern.
Das Verfahren und das System zur Speicherzugriffssteuerung wird zur Verwendung in einem Computersystem bereitgestellt, das eine CPU und eine Speichereinheit aufweist, um den Zugriff der CPU auf die Speichereinheit zu steuern. Gibt die CPU eine Leseanforderung gefolgt vom einem L1-Rückschreibsignal aus, dann wird das System automatisch in einen Warte-Modus umgeschaltet, in dem abgewartet wird, um festzustellen, ob ein L1-Rück­ schreibsignal folgt oder nicht. Befindet sich das System im Warte-Modus und werden mehrere Leseanforderungen ohne ein folgendes L1-Rückschreibsignal ausgegeben, dann wird das System automatisch in einen Nicht-Warte-Modus umgeschaltet. Im Nicht-Warte- Modus kann das System nach Ausgabe der Leseanforderung die CPU-Anforderung ausführen, ohne warten zu müssen ob ein L1-Rückschreibesignal folgt oder nicht.
Das erfindungsgemäße System zur Speicherzugriffssteuerung besteht aus einer CPU-Schnitt­ stelle, einer Speichersteuereinheit und einer Modus-Umschalteinheit.
Die CPU-Schnittstelle ist mit der CPU verbunden, die selektiv umgeschaltet werden kann, um zwischen einem Warte-Modus und einem Nicht-Warte-Modus zu arbeiten. Im Warte- Modus antwortet die CPU-Schnittstelle auf jede Leseanforderung der CPU derart, daß abge­ wartet wird, bis das L1-Rückschreibsignal der gegenwärtigen Leseanforderung erhalten wird, und anschließend ein entsprechendes internes Leseanforderungssignal ausgegeben wird, wenn das L1-Rückschreibssignal einen Cache-Fehler (Cache-Miss) anzeigt, oder ein entsprechendes internes Cache-Rückschreibanforderungssignal ausgegeben wird, wenn das L1-Rückschreibsignal einen Cache-Treffer (Cache-Hit) anzeigt. Im Nicht-Warte-Modus, antwortet die CPU-Schnittstelle auf jede Leseanforderung der CPU derart, daß die CPU- Schnittstelle das entsprechende interne Leseanforderungssignal ohne zu warten, bis die CPU das L1-Rückschreibsignal der derzeitigen Leseanforderung ausgibt, sofort ausgibt während dann, wenn das nachfolgend ausgegebene L1-Rückschreibsignal der derzeitigen Lese­ anforderung einen Cache-Hit anzeigt, sofort ein Lese-Stoppsignal für die derzeitige Leseanforderung ausgegeben wird.
Die Speichersteuereinheit ist zwischen der CPU-Schnittstelle und der Speichereinheit verbunden und kann auf jedes interne Leseanforderungssignal von der CPU-Schnittstelle hin in der Speichereinheit einen Lesevorgang durchführen, und kann weiter auf das Lese- Stoppsignal hin die aus der Speichereinheit durch die derzeitige Leseanforderung gegenwärtig abgerufenen Daten aufgeben und dann einen Cache-Rückschreibevorgang durchführen, um die nachfolgenden Cache-Output-Daten von der CPU in die Speichereinheit zurückzuschreiben.
Des weiteren ist die Modus-Umschalteinheit zwischen der CPU-Schnittstelle und der CPU geschaltet, und anfänglich so eingestellt, daß sie die CPU-Schnittstelle in den Warte-Modus schaltet. Sie kann weiter feststellen, ob eine Leseanforderung von der CPU ein Cache-Hit oder ein Cache-Miss ist, und die Anzahl der aufeinanderfolgenden Cache-Miss-Leseanforde­ rungen zählen, um dabei die CPU-Schnittstelle in den Nicht-Warte-Modus umzuschalten, wenn die Anzahl einen vorbestimmten Grenzwert erreicht.
Das Verfahren zur Speicherzugriffssteuerung umfasst die folgenden Verfahrensschritte: (1) Durchführen eines Modus-Umschaltverfahrens, um den Speicherzugriff zwischen einem Warte-Modus und einem Nicht-Warte-Modus zu schalten, wobei der Speicherzugriff dann in den Warte-Modus geschaltet wird, wenn die derzeit ausgegebenen Leseanforderungen jeweils ein Cache-Hit sind, und in den Nicht-Warte-Modus geschaltet wird, wenn die derzeit ausgegebenen Leseanforderungen ein Cache-Miss sind, (2) Antworten im Warte-Modus auf jede Leseanforderung der CPU, bis die CPU das L1-Rückschreibsignal der derzeitigen Lese­ anforderung ausgibt, und (3) Sofortiges Antworten im Nicht-Warte-Modus auf jede Leseanforderung der CPU, ohne zu warten bis die CPU das L1-Rückschreibesignal der derzeitigen Leseanforderung ausgibt.
Das Modus-Umschaltverfahren umfasst die Unterschritte: (1-1) Einstellen des Speicherzugriffs anfangs in den Warte-Modus, und (1-2) Umschalten des Speicherzugriffs in den Nicht-Warte-Modus, wenn die Anzahl aufeinanderfolgender Cache-Miss-Leseanforde­ rungen der CPU einen vorbestimmten Grenzwert erreicht und anschließend sofortiges Zurückschalten des Speicherzugriffs in den Warte-Modus, wenn eine Cache-Hit-Lesean­ forderung von der CPU ausgegeben wird.
Im Warte-Modus umfasst die Antwort auf jede Leseanforderung von der CPU die Unterschritte: (2-1) Warten, bis das L1-Rückschreibsignal der derzeitigen Leseanforderung ausgegeben ist, (2-2) Überprüfen, ob das L1-Rückschreibsignal der derzeitigen Lese­ anforderung einen Cache-Hit oder einen Cache-Miss anzeigt, (2-3) Durchführen eines Lesevorgangs für die derzeitige Leseanforderung, wenn das L1-Rückschreibsignal der derzeitigen Leseanforderung einen Cache-Miss zeigt, und (2-4) Durchführen einer Cache- Rückschreiboperation, wenn das L1-Rückschreibsignal der derzeitigen Leseanforderung einen Cache-Hit anzeigt.
Des weiteren umfasst im Nicht-Warte-Modus das Antworten auf jede Leseanforderung von der CPU die Unterschritte: (3-1) sofortiges Durchführen einer Leseoperation für die derzei­ tige Leseanforderung, ohne zu warten, bis die CPU das L1-Rückschreibsignal der derzeitigen Leseanforderung ausgibt, und (3-2) wenn das nachfolgend ausgegebene L1-Rückschreib­ signal der derzeitigen Leseanforderung ein Cache-Hit anzeigt, sofortiges Ausgeben eines Lese-Stoppsignals für die derzeitige Leseanforderung, um die derzeit zurückgeholten Daten aus der Speichereinheit aufzugeben, und dann eine Cache-Rückschreiboperation durchzuführen, um nachfolgenden Cache-Output-Daten aus der CPU in die Speichereinheit zurückzuschreiben.
Das vorstehende erfindungsgemäße Verfahren und System zur Speicherzugriffssteuerung ist gekennzeichnet durch die Fähigkeit den Speicherzugriff zwischen einem Warte-Modus und einem Nicht-Warte-Modus umzuschalten. Vom praktischen Einsatz und Untersuchungen kann abgeleitet werden, daß die Gesamtspeicherzugriffsleistung durch Umschalten zwischen einem Warte-Modus und einem Nicht-Warte-Modus, bezogen auf den derzeitigen L1- Rückschreibezustand der Leseanforderung der CPU verbessert werden kann. Dies unterstützt eine weitere Verbesserung der Gesamtsystemleistung des Computersystems.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Die Erfindung kann durch Lesen der nachfolgenden detaillierten Beschreibung der bevorzugter Ausführungsformen unter Bezugnahme auf die anliegenden Zeichnungen besser verstanden werden, worin:
Fig. 1 ein schematisches Blockdiagramm des erfindungsgemäßen Verfahrens und Systems zur Steuerung des Speicherzugriffs durch eine CPU auf eine Speichereinheit darstellt,
Fig. 2 ein Flussdiagramm der Verfahrensschritte ist, die durch die Modus-Umschalteinheit, die in dem erfindungsgemässen, in Fig. 1 gezeigten Speicherzugriffsteuerungssystem verwendet wird, ausgeführt werden,
Fig. 3A ein Flussdiagramm der Verfahrensschritte darstellt, die durch die CPU-Schnittstelle, die in dem erfindungsgemässen Speicherzugriffssteuerungssystem aus Fig. 1 verwendet wird, wenn es im Warte-Modus betrieben wird,
Fig. 3B ein Flussdiagramm der Verfahrensschritte darstellt, ausgeführt durch die CPU- Schnittstelle, die in dem erfindungsgemässen, in Fig. 1 gezeigten, Speicherzugriffs­ steuerungssystem verwendet werden, wenn es in dem Nicht-Warte-Modus betrieben wird,
Fig. 4 ein Flussdiagramm der Verfahrensschritte darstellt, ausgeführt durch die Speicher­ steuereinheit, die in dem erfindungsgemässen, in Fig. 1 gezeigten Speicherzugriffs­ steuersystem verwendet wird,
die Fig. 5A-5B zwei Signal-Zeitablauf-Diagramme des erfindungsgemässen Speicher­ zugriffssteuersystems sind, die dazu verwendet werden, die Leistungsunterschiede zwischen dem Warte-Modus und dem Nicht-Warte-Modus unter einer ersten angenommen Bedingung zu vergleichen,
die Fig. 6A-6B zwei Signal-Zeitablauf-Diagramme des erfindungsgemässen Speicher­ zugriffssteuerungssystems darstellen, die dazu verwendet werden, den Leistungsunterschied zwischen dem Warte-Modus und dem Nicht-Warte-Modus unter einer zweiten angenommenen Bedingung zu vergleichen,
die Fig. 7A-7B zwei Signal-Zeitablauf-Diagramme des erfindungsgemässen Speicherzu­ griffssteuerungssystems darstellen, die dazu verwendet werden, den Leistungsunterschied zwischen dem Warte-Modus und dem Nicht-Warte-Modus unter einer dritten angenommenen Bedingung zu vergleichen,
die Fig. 8A-8B zwei Signal-Zeitablauf-Diagramme des erfindungsgemässen Speicher­ zugriffssteuerungssystems darstellen, die dazu verwendet werden, den Leistungsunterschied zwischen dem Warte-Modus und dem Nicht-Warte-Modus unter einer vierten angenommen Bedingung zu vergleichen,
die Fig. 9A-9B zwei Signal-Zeitablauf-Diagramme des erfindungsgemässen Speicher­ zugriffssteuerungssystems darstellen, die dazu verwendet werden, den Leistungsunterschied zwischen dem Warte-Modus und dem Nicht-Warte-Modus unter einer fünften angenommenen Bedingung, zu vergleichen,
die Fig. 10A-10B zwei Signal-Zeitablauf-Diagramme des erfindungsgemässen Speicher­ zugriffssteuerungssystems darstellen, die dazu verwendet werden, den Leistungsunterschied zwischen dem Warte-Modus und dem Nicht-Warte-Modus unter einer sechsten angenommenen Bedingung zu vergleichen, und
die Fig. 11A-11B zwei Signal-Zeitablauf-Diagramme des erfindungsgemässen Speicher­ zugriffssteuerungssystems darstellen, die dazu verwendet werden, den Leistungsunterschied zwischen dem Warte-Modus und dem Nicht-Warte-Modus unter einer siebten angenommenen Bedingung zu vergleichen.
DETAILIERTE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
Fig. 1 stellt ein schematisches Blockdiagramm des erfindungsgemässen Verfahrens und Systems zur Speicherzugriffssteuerung dar, das als der von einem gestrichelten Kästchen umfasste und durch das Bezugszeichen 120 gekennzeichnete Bereich dargestellt ist, welcher zur Steuerung des Zugriffs auf eine Speichereinheit 130 durch eine CPU 110 ausgelegt ist.
Das Speicherzugriffssteuerungssystem 120 gemäss der vorliegenden Erfindung ist zwischen der CPU 110 und der Speichereinheit 130 verbunden und besteht aus einer CPU-Schnittstelle 121, einer Speichersteuereinheit 122 und einer Modus-Umschalteinheit 123. Die CPU 110 umfasst weiter einen Cache-Speicher 112. Die CPU 110 kann beispielsweise ein Pentium II CPU der Intel Corporation, USA, sein während die Speichereinheit 130 beispielsweise ein SDRAM sein kann.
Die CPU 110 und die CPU-Schnittstelle 121 sind über mehrere Datenleitungen ADS, REQ, HITM, HTRDY, DBSY, DRDY, und HD miteinander verbunden, die CPU-Schnittstelle 121 und die Speichersteuereinheit 122 sind miteinander über drei Datenleitungen DADS, MDOFF, und DAT verbunden und die Speichersteuereinheit 122 und die Speichereinheit 130 sind miteinander über zwei Datenleitungen CMD und MD verbunden. Des weiteren besitzt die Modus-Umschalteinheit 123 zwei Input-Anschlusstellen, die mit den Datenleitun­ gen ADS bzw. HITM zwischen der CPU 110 und der CPU-Schnittstelle 121 verbunden sind, und eine Output-Anschlusstelle S, die mit der CPU-Schnittstelle 121 verbunden ist.
Die CPU 110 kann unter Steuerung des Speicherzugriffssteuerungssystems 120 auf die Speichereinheit 130 Zugriff erlangen. Der Zugriffsvorgang kann entweder Lesen, Cache- Rückschreiben oder Schreiben sein. Wenn die CPU 110 auf die Speichereinheit 130 zugrei­ fen möchte, dann gibt sie eine Anzahl von Zugriffsanforderungen an die CPU-Schnittstelle 121 aus. Während des Schreibvorgangs wird die Speichersteuereinheit 122 dazu verwendet, das Schreiben der Output-Daten von der CPU 110 in die Speichereinheit 130 zu steuern und während des Lesevorgangs steuert die Speichersteuereinheit 122 das Zurückholen der von der CPU angeforderten Daten aus der Speichereinheit 130 und überträgt dann die zurückgeholten Daten über die CPU-Schnittstelle 121 auf die CPU 110. Es ist ein kennzeichnendes Merkmal der vorliegenden Erfindung, daß die Modus-Umschalteinheit 123 während des Speicherzugriffs die Signalzustände der ADS und HITM Datenleitungen feststellen kann und damit die CPU-Schnittstelle 121 selektiv derart umschalten kann, daß sie zwischen einem Warte-Modus und einem Nicht-Warte-Modus betrieben wird. Details davon werden später in dieser Beschreibung angegeben.
In dem System von Fig. 1 werden alle Einheiten durch ein gemeinsames Taktsignal (CCLK) angetrieben. Die CPU 110 und die CPU-Schnittstelle 121 verwenden für die Datenkommuni­ kation die Datenleitungen ADS, REQ, HITM, HTRDY, DBSY, DRDY, und HD. Es ist anzu­ merken, daß, obwohl in Fig. 1 jede Datenleitung als einzelne Leitung gezeigt ist, diese in der Praxis ein Datenbus sein kann, der aus mehreren Leitungen besteht. Wenn beispielsweise die CPU 110 eine CPU mit 64 Bit ist, dann ist die HD-Datenleitung ein 64-Leitungsdatenbus. Des weiteren ist in den nachfolgenden bevorzugten Ausführungsformen die Bezeichnung Niederspannungs-Logikzustand und Hochspannungs-Logikzustand für ein bestimmtes Signal eine veränderbare Gestaltungswahl und soll den Bereich der Erfindung nicht begrenzen.
Da der Sinn und die Breite der Erfindung auf eine Verbesserung der Leistung des Lesevor­ gangs durch die CPU 110 auf die Speichereinheit 130 gerichtet ist, wird die folgende Be­ schreibung ausschließlich auf die Art des Lesevorgangs ausgerichtet, die durch das er­ findungsgemässe Speicherzugriffssteuerungssystem 120 ausgeführt wird. Wenn die CPU 110 auf die Speichereinheit 130 Zugriff nehmen möchte, dann bringt sie die Datenleitung ADS in einen Niederspannungs-Logikzustand, wobei durch den Spannungs-Logikzustand der REQ- Datenleitung angezeigt wird, ob der Zugriffsvorgang ein Schreib- oder Lesevorgang ist. Des weiteren wird durch ein L1-Rückschreibsignal, das von der CPU 110 über die HITM Daten­ leitung ausgegeben wird, angezeigt, ob jede Leseanforderung ein Hit oder ein Miss für den Cache-Speicher 112 ist. Wenn beispielsweise die derzeitige Leseanforderung ein Hit ist, dann wird die CPU 110 die HITM-Datenleitung in einen Niederspannungs-Logikzustand versetzen, wodurch angezeigt wird, daß die Cache-Daten in dem Cache-Speicher 112 auf den neuesten Stand gebracht wurden und in die Speichereinheit 130 zurückgeschrieben werden müssen. Bei einem Miss hingegen wird die CPU 110 die HITM-Datenleitung in einen Hochspannungs-Logikzustand bringen. Im Fall eines Hit wird ein Cache-Rück­ schreibvorgang durchgeführt, um die Cache-Output-Daten von der CPU 110 zurückzuschrei­ ben, die über die HTRDY-Datenleitung in die Speichereinheit 130 zurückgeschrieben werden. Wenn die DRDY- und die DBSY-Datenleitungen in einen Niederspannungs-Logik­ zustand gebracht wurden, dann wird angezeigt, daß die CPU-Schnittstelle 120 Daten über die HD Datenleitung auf die CPU 110 transferieren möchte.
Innerhalb des Speicherzugriffsteuerungssystems 120 verwenden die CPU-Schnittstelle 121 und die Speichersteuereinheit 122 für die interne Datenkommunikation die DADS-, MDOFF-, und DAT-Datenleitungen. Das DADS-Signal ist eine konvertierte Version des ADS-Signals von der CPU 110. Wenn die DADS-Datenleitung in einen Niederspannungs- Logikzustand gebracht wird, dann wird angezeigt, daß die CPU-Schnittstelle 121 ein internes Zugriffanforderungssignal auf die Speichersteuereinheit 122 übertragen möchte. Das interne Zugriffanforderungssignal kann entweder ein internes Leseanforderungssignal oder ein internes Schreibanforderungssignal sein. Da jedoch der Sinn und die Breite der Erfindung ausschließlich auf die Leseoperation gerichtet sind, werden nachstehend in dieser Beschrei­ bung nur interne Leseanforderungssignale diskutiert. Die MDOFF-Datenleitung wird dazu verwendet um ein durch die CPU-Schnittstelle 121 auf die Speichersteuereinheit 122 als Antwort auf ein L1-Rückschreibsignal ausgegebenes Lese-Stopsignal, das durch die derzei­ tige Leseanforderung einen Cache-Hit anzeigt, zu übertragen. Das Lese-Stopsignal wird dazu verwendet, die Speichersteuereinheit 122 anzuweisen, den Lesevorgang für die derzeitige Leseanforderung zu beenden und die derzeit von der Speichereinheit 130 zurückgeholten Daten zu verwerfen, und anstelle davon einen Cache-Rückschreibevorgang durchzuführen, um die Cache-Output-Daten aus dem Cache-Speicher 112 in der CPU 110 in die Speicher­ einheit 130 zurückzuschreiben. Die DAT-Datenleitung wird dazu verwendet, die Daten von der CPU 110, die in die Speichereinheit 130 geschrieben werden sollen, bzw. die aus der Speichereinheit 130 zurückgeholten Daten, die von der Speichersteuereinheit 122 über die CPU-Schnittstelle 121 auf die CPU 110 übertragen werden sollen, zu übertragen.
Es ist ein kennzeichnendes Merkmal der vorliegenden Erfindung, daß die CPU-Schnittstelle 121 derart aufgebaut ist, um zwischen zwei Betriebs-Modi zu arbeiten: einem (ersten) Warte- Modus und einem (zweiten) Nicht-Warte-Modus. Im Warte-Modus wird die CPU-Schnitt­ stelle 121 als Anwort auf jede Leseanforderung von der CPU warten, bis die CPU 110 das L1-Rückschreibsignal der Leseanforderung (unabhängig davon ob das L1-Rückschreibsignal ein Cache-Hit oder ein Cache-Miss anzeigt) ausgibt und dann das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122 ausgibt, während im Nicht-Warte- Modus die CPU-Schnittstelle 121 das entsprechende interne Leseanforderungssignal als Ant­ wort auf jede Leseanforderung von der CPU 110 an die Speichersteuereinheit 122 sofort aus­ gibt, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal der derzeitigen Leseanfor­ derung ausgibt. Gewöhnlich wird die CPU 110 das L1-Rückschreibsignal jeder Leseanforde­ rung einige Taktzyklen nach der Ausgabe der Leseanforderung ausgeben, und bei einem Cache-Hit wird der Speicherzugriffsvorgang weiter einen Cache-Rückschreibvorgang bein­ halten. Die CPU-Schnittstelle 121 ist daher derart ausgestaltet, daß sie in den Warte-Modus geschaltet wird, wenn davon ausgegangen wird, daß jede der derzeit und nachfolgend erhaltenen Leseanforderungen ein Cache-Hit ist, und in den Nicht-Warte-Modus geschaltet wird, wenn davon auszugehen ist, daß jede der derzeit und nachfolgend erhaltenen Lesean­ forderungen ein Cache-Miss ist. Durch Eliminieren der unnötigen Wartezustände auf die L1- Rückschreibesignale derartiger Leseanforderungen, von den sich später herausstellt, daß sie ein Cache-Miss sind, kann die Erfindung zweifellos eine Leistungsverbesserung des Lesevorgangs durch die CPU 110 in die Speichereinheit 130 unterstützen.
Während des Betriebs des Computersystems gibt die CPU 110 sukzessive eine Anzahl von Leseanforderungen an die Speichereinheit 130 aus, um bestimmte, in der Speichereinheit 130 gespeicherte Datenblöcke abzurufen. Gewöhnlich würde die CPU 110 derart arbeiten, daß während eines bestimmten Zeitrahmens eine Reihe von aufeinander folgenden Cache-Hit- Leseanforderungen ausgegeben wird, und dann, während einer anderen Zeitspanne, eine Serie von aufeinander folgenden Cache-Miss-Leseanforderungen. Dementsprechend ist die Modus-Umschalteinheit 123 derart gestaltet, daß die CPU-Schnittstelle 121 bezogen auf dem derzeitigem L1-Rückschreibzustand der Leseanforderung von der CPU 110 zwischen dem Warte-Modus und dem Nicht-Warte-Modus geschaltet wird. Wenn davon ausgegangen wird, daß jede der von der CPU 110 derzeit und nachfolgend erhaltenen Leseanforderungen ein Cache-Hit ist, so wird die CPU-Schnittstelle 121 in den Warte-Modus geschaltet. Im Gegensatz dazu wird, wenn davon ausgegangen wird, daß jede der von der CPU 110 derzeit und nachfolgenden erhaltenen Leseanforderungen ein Cache-Miss ist, die CPU-Schnittstelle 121 in den Nicht-Warte-Modus geschaltet. Die Modus-Umschalteinheit 123 kann die Anzahl der aufeinanderfolgenden Cache-Miss-Leseanforderungen von der CPU 110 bestimmen und zählen. Wenn die Anzahl einen vorbestimmte Grenzwert erreicht, beispielsweise 200, dann schaltet die Modus-Umschalteinheit 123 die CPU-Schnittstelle 121 in den Nicht-Warte- Modus. Wie in Fig. 1 gezeigt, erfasst die Modus-Umschalteinheit 123 die Signalzustände auf den ADS- und HITM-Datenleitungen, um damit die Anzahl aufeinander folgender Cache-Miss-Leseanforderungen von der CPU 110 zu zählen. Wenn die Anzahl den vorbestimmten Grenzwert erreicht, dann gibt die Modus-Umschalteinheit 123 über ihre Output-Anschlußstelle S ein Modus-Umschaltsignal an die CPU-Schnittstelle 121 aus, um die CPU-Schnittstelle 121 in den Nicht-Warte-Modus zu schalten.
Des weiteren nutzen die Speichersteuereinheit 122 und die Speichereinheit 130 für die Datenkommunikation die CMD- und MD-Datenleitungen. Die CMD-Datenleitung wird dazu verwendet, verschiedene Zugriffssteuersignale für verschiedene Zugriffsoperationen an die Speichereinheit 130 zu übertragen. Diese Zugriffssteuersignale umfassen ein Vorlade(Precharge)-Freigabesignal, ein Aktivierungs-Freigabesignal, ein Lese-Freigabe­ signal und ein Schreib-Freigabesignal. Die MD-Datenleitung wird dazu verwendet, die Daten, die in die Speichereinheit 130 geschrieben werden sollen bzw. die aus der Speicher­ einheit 130 zurückgeholten Daten zu übertragen.
Fig. 2 ist ein Flussdiagramm der durch die Modus-Umschalteinheit 123 ausgeführten Ver­ fahrensschritte, um die CPU-Schnittstelle 121 zwischen dem (ersten) Warte-Modus und dem (zweiten) Nicht-Warte-Modus zu schalten. Fig. 3A ist ein Flussdiagramm der durch die CPU-Schnittstelle 121 beim Betrieb im Warte-Modus ausgeführten Verfahrenschritte, und Fig. 3B ist ein Flussdiagramm der durch die CPU-Schnittstelle 121 beim Betrieb im Nicht- Warte-Modus ausgeführten Verfahrensschritte. Fig. 4 ist ferner ein Flussdiagramm der durch die Speichersteuereinheit 122 zur Durchführung des Speicherzugriffvorgangs auf die Speichereinheit 130 ausgeführten Verfahrensschritte.
Unter Bezug auf Fig. 2 und Fig. 1, wird im Anfangsschritt 210 die Modus-Umschalteinheit 123 voreingestellt, um die CPU-Schnittstelle 121 in den Warte-Modus zu schalten. D. h. der erste Modus, in dem die CPU-Schnittstelle 121 auf eine Art und Weise arbeitet, daß als Antwort auf jede der nachfolgend erhaltenen Leseanforderungen von der CPU 110 die CPU- Schnittstelle 121 warten wird, bis die CPU 110 das L1-Rückschreibsignal der Leseanfor­ derung ausgibt, und dann das entsprechende interne Leseanforderungssignal an die Speicher­ steuereinheit 122 ausgibt.
Im nächsten Schritt 220 beginnt die Modusumschalteinheiteinheit 123 die Anzahl der auf­ einanderfolgenden Cache-Miss-Leseanforderungen zu zählen, und überprüft, ob die Anzahl eine vorbestimmten Grenzwert erreicht, beispielsweise 200. Wenn dies nicht zutrifft, dann wird die Aktion von Schritt 220 weitergeführt, andernfalls, wenn dies zutrifft, dann wird das Verfahren zu Schritt 230 weitergehen. Während dieses Zählverfahrens für Cache-Miss- Leseanforderungen wird jedoch, wenn eine Cache-Hit-Leseanforderung erhalten wird, bevor die Anzahl den vorbestimmten Grenzwert von 200 erreicht, die Zählung sofort auf Null zurückgesetzt.
In Schritt 230 schaltet die Modusumschalteinheit 123 die CPU-Schnittstelle 121 in den zweiten Betriebsmodus, d. h., den Nicht-Warte-Modus, wodurch bewirkt wird, daß die CPU- Schnittstelle 121 anschließend derart arbeitet, daß diese als Antwort auf jede der nachfolgend erhaltenden Leseanforderung von der CPU 110 sofort das entsprechende interne Lesean­ forderungssignal an die Speichereinheit 130 ausgeben wird, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal der Leseanforderung ausgibt. Das Verfahren geht dann zu Schritt 240 weiter.
Im Schritt 240 erfaßt die Modusumschalteinheit 123 weiterhin den Signalzustand der HITM- Datenleitung, um somit zu beurteilen, ob ein L1-Rückschreibsignal, das auf ein Cache-Hit hinweist, erhalten wird. Wenn dies nicht zutrifft, dann fährt die Modusumschalteinheit 123 mit der Aktion von Schritt 240 fort und die CPU-Schnittstelle 121 bleibt im Nicht-Warte- Modus. Wenn dies jedoch zutrifft, dann springt das Verfahren zu Schritt 210 zurück, wobei die CPU-Schnittstelle 121 in den Warte-Modus geschaltet wird.
Nach dem Starten des Computersystems führt die Modus-Umschalteinheit 123 weiter die Endlos-Schleife des in Fig. 2 gezeigten Verfahrens aus, wobei die CPU-Schittstelle 121 selektiv entweder in den Warte-Modus oder in den Nicht-Warte-Modus geschaltet wird, was den Speicherzugriffsvorgang äußerst leistungsfähig macht.
Fig. 3a ist ein Flußdiagram der Verfahrensschritte, die durch die CPU-Schnittstelle 121 im Warte-Modus ausgeführt werden, und Fig. 3b ist ein Flußdiagram der Verfahrensschritte, die von derselben im Nicht-Warte-Modus ausgeführt werden.
Unter Bezug auf Fig. 3a zusammen mit Fig. 1, erhält die CPU-Schnittstelle 121 im ersten Schritt 310 eine Leseanforderung von der CPU 110. In den meisten Fällen werden eher mehrere Leseanforderungen nacheinander erhalten als eine Einzelne.
Im nächsten Schritt 312 überprüft die CPU-Schnittstelle 121 ob die CPU 110 ein L1-Rück­ schreibsignal ausgibt, das für die derzeit erhaltene Leseanforderung einen Cache-Hit anzeigt (normalerweise wird das L1-Rückschreibsignal jeder Leseanforderung nach der Ausgabe der Leseanforderung in vier Taktzyklen ausgegeben). Wenn dies nicht der Fall ist, dann geht das Verfahren zu Schritt 320. Wenn dies jedoch zutrifft, dann geht das Verfahren zu Schritt 323 weiter.
Im Schritt 320 gibt die CPU-Schnittstelle 121 für die derzeit erhaltene Leseanforderung das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an die Speicher­ steuereinheit 122 aus. Das Verfahren ist dann beendet.
Andererseits gibt in Schritt 322 die CPU-Schnittstelle 121 ein Cache-Rückschreibean­ forderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus, wodurch bewirkt wird, daß die Speichersteuereinheit 122 eine Cache-Rückschreiboperation durchführt, um die Cache-Daten in den Cache-Speicher 112 von der CPU 110 zurück in die Speichereinheit 130 zu schreiben. Das Verfahren ist dann beendet.
Desweiteren zeigt Fig. 3b die Verfahrensschritte, die durch die CPU-Schnittstelle 121 ausge­ führt werden, wenn sie im Nicht-Warte-Modus betrieben wird.
Wie gezeigt, erhält die CPU-Schnittstelle 121 im ersten Schritt 350 über die ADS- und REQ- Datenleitung von der CPU 110 eine Leseanforderung. In den meisten Fällen werden hier eher mehrere Leseanforderungen nacheinander erhalten als eine Einzelne. Das Verfahren geht dann zu Schritt 352 weiter.
In Schritt 352 gibt die CPU-Schnittstelle 121 das entsprechende interne Leseanforderungs­ signal über die DADS-Datenleitung sofort an die Speichereinheit 130, ohne zu warten bis die CPU 110 das L1-Rückschreibsignal der derzeit erhaltenen Leseanforderung ausgibt. Das Verfahren geht dann zu Schritt 240 weiter. Für jede Leseanforderung von der CPU 110 gibt die CPU-Schnittstelle 121 ein entsprechendes internes Leseanforderungssignal an die Speichersteuereinheit 122. Das Verfahren geht dann zu Schritt 360 weiter.
In Schritt 360 überprüft die CPU-Schnittstelle 121 ob ein L1-Rückschreibsignal, das anzeigt, daß die derzeitige Leseanforderung ein Cache-Hit ist, von der CPU 110 über die HETM- Datenleitung erhalten wird (normalerweise wird das L1-Rückschreibsignal jeder Lesean­ forderung in vier Taktzyklen nach der Ausgabe der Leseanforderung ausgegeben). Wenn dies nicht der Fall ist, dann wird das Verfahren sofort beendet. Andernfalls, wenn dies zutrifft, geht das Verfahren zu Schritt 362 weiter.
In Schritt 362 gibt die CPU-Schnittstelle 121 über die MDOFF-Datenleitung an die Speicher­ steuereinheit 122 sofort ein Lese-Stopsignal, wobei bewirkt wird, daß die Speichersteuer­ einheit 122 die Leseoperation für die Leseanforderung beendet und die derzeit aus der Speichereinheit 130 zurückgeholten Daten verwirft, und statt dessen eine Cache-Rück­ schreibeoperation durchführt und die in dem Cache-Speicher 112 befindlichen Cache-Daten in die Speichereinheit 130 zurückschreibt. Das Verfahren ist dann beendet.
Fig. 4 ist ein Flußdiagram der durch die Speichersteuereinheit 122 als Antwort auf jedes internes Leseanforderungssignal und interne Chache-Rückschreibeanforderungssignal von der CPU-Schnittstelle 121 ausgeführten Verfahrensschritte.
Unter Bezug auf Fig. 4 und Fig. 1 erhält die Speichersteuereinheit 122 im ersten Schritt 410 über die DADS-Datenleitung von der CPU-Schnittstelle 121 ein internes Anforderungs­ signal, das entweder ein internes Leseanforderungssignal oder ein internes Chache- Rückschreibeanforderungssignal sein kann.
Im nächsten Schritt 420 überprüft die Speichersteuereinheit 122 ob der vorhergehende Zugriffsvorgang, Lese- oder Schreibvorgang, vollständig ist. Wenn dies nicht der Fall ist, dann führt die Speichersteuereinheit 122 die Aktion von Schritt 420 weiter, bis das Ergebnis JA ist. Wenn das Ergebnis JA ist, d. h. wenn der vorhergehende Zugriffsvorgang vollständig ist, dann geht das Verfahren zu Schritt 422 über.
In Schritt 422 überprüft die Speichersteuereinheit 122, ob das erhaltene Signal ein internes Leseanforderungssignal ist. Wenn dies nicht der Fall ist (was anzeigt, daß das erhaltene Signal ein internes Cache-Rückschreibeanforderungssignal ist), dann geht das Verfahren zu Schritt 424 über. Wenn dies jedoch der Fall ist, dann geht das Verfahren zu Schritt 430 weiter.
In Schritt 424 (wenn ein internes Cache-Rückschreibeanforderungssignal erhalten wird) führt die Speichersteuereinheit 122 einen Cache-Rückschreibevorgang durch, um die Cache-Daten im Cache-Speicher 112 in die Speichereinheit 130 zurückzuschreiben. Das Verfahren ist dann beendet.
Andererseits beginnt die Speichersteuereinheit 122 in Schritt 430 (wenn ein internes Lesean­ forderungssignal erhalten wird) einen Lesevorgang in Speichereinheit 130 durchzuführen, um die angeforderten Daten davon zurückzuholen. Wenn die Speichereinheit 130 ein SDRAM ist und wenn die angeforderten Daten auf einer anderen Seite als der durch den vorhergehenden Zugriffsvorgang Zugegriffenen vorhanden sind, dann muß die Speicher­ steuereinheit 122 nachfolgend ein Precharge-Freigabesignal und ein Aktivierungsfreigabe­ signal über die CMD-Datenleitung an die Speichereinheit 133 ausgeben, welche bewirkt, daß die Speichereinheit 130 die Seite, auf der sich die angeforderten Daten befinden, öffnet, so daß die angeforderten Daten zurückgeholt werden können. Das Verfahren geht dann zu Schritt 440 über.
In Schritt 440 überprüft die Speichersteuereinheit 122 ob ein Lese-Stopsignal über die MDOFF-Datenleitung von der CPU-Schnittstelle 121 erhalten wird. Wenn dies nicht der Fall ist (was anzeigt, daß die derzeitige Leseanforderung ein Cache-Miss ist), dann wird das Ver­ fahren sofort beendet. Wenn dies jedoch zutrifft (was anzeigt, daß die derzeitige Leseanforderung ein Cache-Hit ist), dann geht das Verfahren zu Schritt 450 über. In Schritt 450 verzichtet die Speichersteuereinheit 122 zunächst auf die derzeit von der Speichereinheit 130 zurückgeholten Daten und führt dann eine Cache-Rückschreiboperation durch, um die Output-Cache-Daten von der CPU 110 in die Speichereinheit 130 zurückzuschreiben. Das Verfahren wird dann beendet.
Im folgenden werden einige Leistungsvergleich-Beispiele dazu verwendet, um die erfindungsgemäßen Vorteile besser zu erläutern. In jedem dieser Beispiele zum Leistungs­ vergleich wird der Speicherzugriffsvorgang als Antwort auf die gleiche Leseanforderungen zunächst im Warte-Modus und dann im nicht Warte-Modus ausgeführt, um den Leistungs­ unterschied zwischen diesen beiden Verfahrens-Modi zu vergleichen und damit zu zeigen, welche der beiden Verfahrensmodi für die Verwendung unter bestimmten Bedingungen besser geeignet ist. Die Signal-Zeitablauf-Diagramme dieser Beispiele sind in den Fig. 5a-5b, Fig. 6a-6b, Fig. 7a-7b, Fig. 8a-8b, Fig. 9a-9b, Fig. 10a-10b und Fig. 11a-11b (zu beachten ist, daß Fig. 5a, Fig. 6a, Fig. 7a, Fig. 8a, Fig. 9a, Fig. 10a und Fig. 11a die Signal-Zeitablauf­ diagramme des Speicherzugriffvorgangs im Warte-Modus darstellen, während Fig. 5b, Fig. 6b, Fig. 7b, Fig. 8b, Fig. 9b, Fig. 10b und Fig. 11b. die Signal-Zeitablaufdiagramme des Speicherzugriffverfahrens im Nicht-Warte-Modus darstellen).
In allen diesen Beispielen zum Leistungsvergleich wird angenommen, daß die Länge eines Übertragungsblockes jeder Leseanforderung von der CPU 110 ein Vierer-Datenblock ist, und die Wartezeit der Speichereinheit 130 zwei Taktzyklen beträgt. Des weiteren wird angenom­ men, daß die CPU 110 für jede dieser Anforderungen das L1-Rückschreibsignal, das anzeigt, ob die Leseanforderung ein Hit oder ein Miss im Cache-Memory 112 ist, in vier Taktzyklen nach der Ausgabe der Leseanforderung ausgeben wird. Das L1-Rückschreibsignal wird über die HITM-Datenleitung an die CPU-Schnittstelle 121 ausgegeben. So wird beispielsweise dann, wenn die CPU 110 nacheinander drei Leseanforderungen, bei T1, bei T4 und T7 ausgibt, für die erste, bei T1 ausgegebene Leseanforderung deren L1-Rückschreibsignal bei T5 über die HITM-Datenleitung an die CPU-Schnittstelle 121 ausgegeben, für die zweite, bei T4 ausgegebene Leseanforderung, deren L1-Rückschreibsignal bei T8 über die HITM- Datenleitung an die CPU-Schnittstelle 121 ausgegeben, und für die dritte, bei T7 ausgegebene Leseanforderung, deren L1-Rückschreibsignal bei T11 über sie HITM- Datenleitung an die CPU-Schnittstelle 121 ausgegeben.
Erstes Beispiel zum Leistungsvergleich (Fig. 5a und 5b)
In den Beispielen der Fig. 5a-5b wird angenommen, daß die CPU 110 nacheinander drei Leseanforderungen ausgibt, um die Daten von der Speichereinheit 130 zu lesen, wobei die Daten, die durch diese drei Leseanforderungen angefordert werden, alle auf der gleichen geöffneten Seite der Speichereinheit 130 vorhanden sind.
Fig. 5a zeigt das Signal-Zeitablaufdiagramm beim Betreiben der CPU-Schnittstelle 121 im Warte-Modus des durch das Speicherzugriffssteuersystem 120 durchgeführten Speicherzu­ griffvorgangs als Antwort auf die vorstehend genannten drei Leseanforderungen von der CPU-Einheit 110, die nacheinander bei T1, T4, und T7 über die ADS- und REQ- Datenleitungen ausgegeben wurden. Wenn die CPU-Schnittstelle 121 die erste Datenan­ forderung von der CPU 110 erhält, nimmt die an, das die erste Leseanforderung kein Cache- Hit ist, und gibt daher sofort, bei T3, das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal für die Erste Leseanforderung ausgibt. Als nächstes wird als Antwort auf jede der folgenden zweiten und dritten Leseanforderungen die CPU-Schnittstelle 121 statt dessen vier Taktzyklen abwarten, bis die CPU 110 die entsprechenden L1-Rückschreibsignale der zweiten und dritten Leseanforderung ausgibt, d. h. bis T9 bzw. T12, und wird dann die entsprechenden internen Leseanforderungssignale an die Speichersteuereinheit 122 ausgeben.
Die Speichersteuereinheit 122 überprüft zunächst als Antwort auf das erste interne Lesean­ forderungssignal von der CPU-Schnittstelle 121, ob die angeforderten Daten auf der derzeit geöffneten Seite der Speichereinheit 130 befindlich sind. Anschließend beginnt die Speichersteuereinheit 122 nach zwei Taktzyklen, d. h., bei T5, ein Lese-Freigabesignal an die Speichereinheit 130 auszugeben. Nach einer Wartezeit von zwei Taktzyklen, d. h., bei T7 beginnt die Speichereinheit 130 die Viererblöcke von Daten, die durch die erste Leseerfassung angefordert wurden, über die MD-Datenleitung an die Speichersteuereinheit 122 weiterzugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T9 ein zweites internes Leseanforderungssignal von der CPU-Schnittstelle 121. Als Antwort über­ prüft die Speichersteuereinheit 122 zunächst, ob die angeforderten Daten auf der derzeit ge­ öffneten Seite befindlich sind, und dann, nach zwei Taktzyklen, d. h. bei T11, beginnt die Speichersteuereinheit 122 an die Speichereinheit 130 ein Lese-Freigabesignal für die zweite Leseanforderung auszugeben. Als Antwort darauf beginnt die Speichereinheit 130 bei T13 die Viererdatenblöcke, die durch die zweite Leseanforderung angefordert wurden, auszugeben.
Desweiteren erhält bezüglich der dritten Leseanforderung die Speichersteuereinheit 122 bei T12 das dritte interne Leseanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird jedoch, da die Speichereinheit 130 noch damit beschäftigt ist, sich um die vorhergehende Leseanforderung zu kümmern, die Speichersteuereinheit 122 warten, bis die Speichereinheit 130 den Output des dritten Blocks von Daten, die durch die vorherige Lese­ anforderung angefordert waren, zu vervollständigen, d. h., bis T15, und dann ein Lese- Freigabesignal an die Speichereinheit 130 für die dritte Leseanforderung ausgeben. Nach einer Wartezeit von zwei Taktzyklen, d. h., bei T17, beginnt die Speichereinheit 130 die Daten-Viererblöcke, die in der dritten Leseanforderung angefordert wurden, auszugeben.
Für Vergleichszwecke wird der vorstehende Speicherzugriffsvorgang als Antwort auf die gleichen drei Leseanforderungen nachstehend von der CPU 110 durch das Speicherzu­ griffssteuersystem 120 mit der CPU-Schnittstelle 121 durchgeführt, wobei diese in den Nicht-Warte-Modus geschaltet ist, um den Leistungsunterschied zwischen den beiden Verfahrens-Modi zu vergleichen.
Fig. 5b zeigt das Signal-Zeitablaufdiagramm des Speicherzugriffvorgangs, der durch das Speichersteuersystem 120, wenn die CPU-Schnittstelle 122 im Nicht-Warte-Modus betrieben wird, als Antwort auf die gleichen drei Leseanforderungen von der CPU 110, die nacheinander bei T1, T4 und T7 über die ADS und RDQ-Datenleitungen ausgegeben werden, durchgeführt wird. Wenn die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, dann gibt die CPU-Schnittstelle 121 sofort, bei T3, das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122 aus. In zur Fig. 5a unter­ schiedlicher Art und Weise gibt die CPU-Schnittstelle 121 dann, wenn sie die zweite Lesean­ forderung von der CPU 110 erhält, sofort, bei T6, über die DADS-Datenleitung das entsprechende interne Leseanforderungssignal an die Speichereinheit 130 aus, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal der zweiten Leseanforderung ausgibt. Gleichermaßen gibt die CPU-Schnittstelle 121 dann, wenn sie von der CPU 110 die dritte Leseanforderung erhält, sofort, bei T9, das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal der dritten Leseanforderung ausgibt.
Die Speichersteuereinheit 122 überprüft zunächst als Antwort auf das erste interne Lesean­ forderungssignal von der CPU-Schnittstelle 121, ob die angeforderten Daten auf der derzeit geöffneten Seite in der Speichereinheit 130 vorhanden sind. Anschließend, bei T5, gibt die Speichersteuereinheit 122 über die CMD-Datenleitung ein Lesefreigabesignal an die Speichereinheit 130 aus. Nach einer Wartezeit von zwei Taktzyklen, d. h., bei T7, gibt die Speichereinheit 130 die angeforderten 4 Daten-Blöcke über die MD-Datenleitung an die Speichersteuereinheit 122 aus. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T6 das zweite interne Leseanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird die Speichersteuereinheit 120 jedoch, da der vorhergehende Lesevorgang für die erste Leseanforderung nicht beendet ist, warten, bis die Speichereinheit 133 den Output des dritten Datenblocks für die erste Leseanforderung beendet hat, d. h., bis T9, und anschließen ein Lesefreigabesignal an die Speichereinheit 130 für die zweite Leseanforderung auszugeben. Nach einer Wartezeit von zwei Taktzyklen nach dem Erhalt des Lesefreigabesignals, d. h., bei T11, hat die Speichereinheit 130 gerade den Output des letzten Datenblocks für die vorherige Leseanforderung abgeschlossen, und beginnt daher sofort die vier durch die Leseanforderung angeforderten Daten über die MD-Datenleitung an die CPU-Schnittstelle 121 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Des weiteren erhält die Speichersteuereinheit 122 bezüglich der dritten Leseanforderung bei T9 das dritte interne Leseanforderungssignal von der CPU-Schnittstelle 121. Vergleichbar zur vorhergehenden Leseanforderung wird die Speichersteuereinheit 122 warten, bis die Speichereinheit 130 den Output des dritten Datenblocks für die vorherige Leseanforderung abgeschlossen hat, d. h. bis T13, und dann ein Leseanforderungssignal an die Speichereinheit 130 für die dritte Leseanforderung ausgeben. Nach einer Wartezeit von zwei Taktzyklen nach Erhalt des Lesefreigabesignals, d. h., bei T15, hat die Speichereinheit 130 den Output des letzten Datenblocks für die vorherige Leseanforderung gerade abgeschlossen, und beginnt daher sofort, die vier Datenblöcke für die durch die zweite Leseanforderung angeforderten Daten über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 auf die CPU 110 übertragen.
Beim Vergleich der Fig. 5b und 5a wird ersichtlich, daß dann, wenn die CPU-Schnittstelle 121 im Warte-Modus betrieben wird, insgesamt 2 zwei Taktzyklen benötigt werden, um auf die drei aufeinanderfolgenden Leseanforderungen von der CPU 110 zu antworten. Im Gegensatz dazu sind im Nicht-Warte-Modus nur 20 Taktzyklen erforderlich. Es ist offensichtlich, daß in diesem Fall der Warte-Modus in der Speicherzugriffsleistung effizienter ist, als der Warte-Modus.
Zweites Beispiel zum Leistungsvergleich (Fig. 6a und 6b)
Im Beispiel der Fig. 6a-6b wird davon ausgegangen, daß die CPU 110 an die Speichereinheit 120 nacheinander drei Leseanforderungen ausgibt, wobei die Daten, die durch die erste Leseanforderung angefordert werden, auf der derzeit geöffneten Seite befindlich sind, und die Daten, die durch die zweite und dritte Leseanforderung angefordert werden, auf zwei anderen, geschlossenen Seiten (off pages) befindlich sind.
Fig. 6a zeigt das Signal-Zeitablaufdiagramm des Speicherzugriffvorgangs, die durch das Speicherzugriffssteuersystem 120 durchgeführt wird, wenn die CPU-Schnittstelle 121 im Warte- Modus betrieben wird, als Antwort auf die vorstehend erwähnten drei Arten von Leseanforderungen von der CPU 110, die nacheinander bei T1, T4, und T7 über die ADS und REQ-Datenleitungen ausgegeben werden. Wenn die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, nimmt sie beispielsweise an, daß die erste Leseanforderung keine Cache-Rückschreibanforderung ist und gibt daher sofort, bei T3, das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1-Rückschreibesignal für die erste Leseanforderung ausgibt. Als nächstes wird als Antwort auf jede der nachfolgenden zweiten und dritten Leseanforderungen die CPU-Schnittstelle 121 statt dessen vier Taktzyklen abwarten, bis die CPU 110 die entsprechen­ den L1-Rückschreibesignale der zweiten und dritten Leseanforderung ausgibt, d. h. bis T9 bzw. T12, und wird dann das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122 ausgeben.
Die Speichersteuereinheit 122 überprüft zunächst als Antwort auf das erste interne Lese­ anforderungssignal von der CPU-Schnittstelle 121, ob die angeforderten Daten auf der derzeit geöffneten Seite in der Speichereinheit 133 befindlich sind, und anschließend gibt die Speicher­ steuereinheit 122, nach zwei Taktzyklen, d. h. bei T5, ein Lesefreigabesignal an die Speichereinheit 130 aus. Nach einer Wartezeit von zwei Taktzyklen, d. h., bei T7, beginnt die Speichereinheit 130 die angeforderten vier Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 ausgegeben.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T9 das zweite interne Leseanforderungssignal von der CPU-Schnittstelle 121. Als Antwort überprüft die Speichersteuereinheit 122 zunächst, ob die angeforderten Daten auf einer geschlossenen Seite in der Speichereinheit 130 befindlich sind. Anschließend, bei T11, beginnt die Speichersteuerein­ heit 122 für die zweite Leseanforderung nacheinander ein Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die . angeforderten Daten befindlich sind, und beginnt dann, bei T17, die angeforderten Daten auszugeben.
Des weiteren erhält die Speichersteuereinheit 122 bezüglich der dritten Leseanforderung bei T12 das dritte interne -Leseanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 noch damit beschäftigt ist, sich um die vorherige Leseanforderung zu kümmern, warten, bis die Speichereinheit 133 den Output des dritten Datenblocks, der durch die vorherige Leseanforderung angefordert wurde, abzuschließen, d. h. bis T19, und dann beginnen, nacheinander ein Precharge-Freigabesignal, ein Akivierungsfreigabesignal, und ein Lesefreigabesignal an die Speichereinheit 130 für die dritte Leseanforderung auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und beginnt dann, bei T25, die vier Datenblöcke, die durch die dritte Leseanforderung angefordert wurden, auszugeben.
Für Vergleichszwecke wird der vorstehende Speicherzugriffsvorgang als Antwort auf die gleichen drei Leseanforderungen nachstehend anstelle von der CPU 110 durch das Speicher­ zugriffssteuerungssystem 120 durchgeführt, wobei die CPU-Schnittstelle 121 in den nicht Warte- Modus geschaltet ist, um den Leistungsunterschied zwischen den beiden Verfahrens-Modi zu vergleichen.
Fig. 6b zeigt das Signal-Zeitablaufdiagramm des Speicherzugriffvorgangs, der durch das Speicherzugriffssteuerungssystem 120, wenn die CPU-Schnittstelle 121 im Nicht-Warte-Modus betrieben wird, als Antwort auf die gleichen 3 Leseanforderungen von der CPU 110 durchgeführt wird, die nacheinander, bei T1, T4, und T7 über die ADS und REQ-Datenleitungen ausgegeben werden. Wenn die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, dann gibt sie sofort, bei T3, das entsprechende interne Leseanforderungssignal über die DADS- Datenleitung an die Speichersteuereinheit 122 aus. Anschließend gibt die CPU-Schnittstelle 121, wenn sie die zweite und dritte Leseanforderungen von der CPU 110 erhält, sofort, bei T6 bzw. T9, das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus, ohne zu warten bis die CPU 110 die entsprechenden L1-Rück­ schreibsignale für die zweite und dritte Leseanforderung ausgibt.
Die Speichersteuereinheit 122 prüft, als Antwort auf das erste interne Leseanforderungssignal von der CPU-Schnittstelle 121 zunächst, ob die angeforderten Daten auf der derzeit geöffneten Seite in der Speichereinheit 130 befindlich sind. Anschließend, nach zwei Taktzyklen, d. h. bei T5, gibt die Speichersteuereinheit 122 ein Lesefreigabesignal über die CMD-Datenleitung an die Speichereinheit 130 für die erste Leseanforderung aus. Nach einer Wartezeit von zwei Taktzyklen, d. h. bei T7, gibt die Speichereinheit 130 den Output der angeforderten vier Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 aus. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T6 das zweite interne Leseanforderungssignal von der CPU-Schnittstelle 121 und prüft dann, ob die angeforderten Daten auf einer geschlossenen Seite befindlich sind. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die vorherige Leseoperation für die erste Leseanforderung noch nicht beendet ist, bis T9 warten und dann nacheinander ein Precharge-Freigabesignal, ein Akivierungsfreigabesignal und ein Lesefreigabesignal über die CMD-Datenleitung an die Speichereinheit 130 für die zweite Leseanforderung ausgeben. Als Antwort auf diese Signale öffnet die Speichersteuereinheit 130 zunächst die Seite, auf der angeforderten Daten befindlich sind, und beginnt dann, bei T15, die angeforderten Daten auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Des weiteren erhält die Speichersteuereinheit 122 bezüglich der dritten Leseanforderung bei T9 das dritte interne Leseanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird jedoch, da die Speichereinheit 130 noch mit der vorherigen Leseanforderung beschäftigt ist, die Speichersteuereinheit 122 warten, bis die Speichereinheit 130 den Output des dritten Datenblocks für die vorherige Leseanforderung beendet hat, d. h. bis T17, und dann nacheinander für diese dritte Leseanforderung ein Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 ausgeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und beginnt dann, bei T23, die vier Datenblöcke, die durch die dritte Leseanforderung angefordert wurden, auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Beim Vergleich von Fig. 6b mit Fig. 6a wird ersichtlich, daß dann, wenn die CPU-Schnittstelle 121 im Warte-Modus betrieben wird, insgesamt 30 Taktzyklen erforderlich sind, um auf die drei aufeinanderfolgenden Leseanforderungen von der CPU 110 zu antworten. Im Gegensatz dazu sind im Nicht-Warte-Modus nur 28 Taktzyklen erforderlich. Es ist offensichtlich, daß in diesem Fall der Nicht-Warte-Modus in der Speicherzugriffsleistung effizienter ist, als der Warte-Modus.
Drittes Beispiel zum Leistungsvergleich (Fig. 7a und 7b)
Im Beispiel von Fig. 7a-7b wird davon ausgegangen, daß die CPU 110 nacheinander drei Lese­ anforderungen an die Speichereinheit 130 ausgibt, wobei die durch diese erste Leseanforderung angeforderten Daten auf der derzeit geöffneten Seite befindlich sind, die durch die zweite Lese­ anforderung angeforderten Daten auf einer geschlossenen Seite befindlich sind, und die durch dritte Leseanforderung angeforderten Daten auf der gleichen geschlossenen Seite, wie die zweite Leseanforderung befindlich sind.
Fig. 7a zeigt das Signal-Zeitablaufdiagramm des Speicherzugriffvorgangs, der durch das Speicherzugriffssteuersystem 120 durchgeführt wird, wenn die CPU-Schnittstelle 121 im Warte- Modus betrieben wird, als Antwort auf die vorstehend genannten drei Arten von Leseanforderungen von der CPU 110, die nacheinander, bei T1, T4 und T7 über die ADS und REQ-Datenleitungen ausgegeben werden. Wenn die CPU-Schnittstelle 121 die erste Lese­ anforderung von der CPU 110 erhält, dann geht sie davon aus, daß die erste Leseanforderung kein Cache-Hit ist, und gibt daher sofort, bei T3, das entsprechende interne Leseanforderungs­ signal an die Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1-Rück­ schreibsignal der ersten Leseanforderung ausgibt. Als nächstes, als Antwort auf jede der nachfolgenden zweiten und dritten Leseanforderungen, wird die CPU-Schnittstelle 121 statt dessen vier Taktzyklen abwarten, bis die CPU 110 die entsprechenden L1-Rückschreibesignale der zweiten und dritten Leseanforderung ausgibt, d. h. bis T9 bzw. T12, und wird dann die entsprechenden internen Leseanforderungssignale an die Speichersteuereinheit 122 ausgeben.
Die Speichersteuereinheit 122 prüft, als Antwort auf das erste Leseanforderungssignal von der CPU-Schnittstelle 121 zunächst, ob die angeforderten Daten auf der derzeit geöffneten Seite in der Speichereinheit 130 befindlich sind, und dann, nach zwei Taktzyklen, d. h. bei T5, beginnt die Speichersteuereinheit 122 ein Lesefreigabesignal an die Speichereinheit 130 auszugeben. Nach einer Wartezeit von zwei Taktzyklen, d. h. bei T7 beginnt die Speichereinheit 130 die angeforderten vier Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 ausgegeben.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T9 ein zweites internes Leseanforderungssignal von der CPU-Schnittstelle 121. Als Antwort prüft die Speichersteuereinheit 122 zunächst, daß die angeforderten Daten auf einer geschlossenen Seite in der Speichereinheit 130 befindlich sind, und dann, bei T11, beginnt die Speichersteuereinheit 122 nacheinander ein Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefrei­ gabesignal über die CMD-Datenleitung an die Speichereinheit 130 auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und beginnt dann, bei T17 die angeforderten Daten auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Desweiteren, bezüglich der dritten Leseanforderung erhält die Speichersteuereinheit 122 bei T12 das dritte interne Leseanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 noch mit der vorhergehenden Leseanforderung beschäftigt ist, warten, bis die Speichereinheit 130 den Output des dritten Datenblocks der durch die vorherige Leseanforderung angeforderten Daten abschließt, d. h. bis T19, und dann beginnen, ein Lesefreigabesignal an die Speichereinheit 130 für die dritte Leseanforderung auszugeben (nur Lesefreigabesignal und kein Precharge-Freigabesignal und kein Aktivierungsfreigabesignal wird ausgegeben, da die angeforderten Daten auf der gleichen Seite, die durch die vorherige Leseanforderung angefordert wurden befindlich sind). Nach einer Wartezeit von zwei Taktzyklen, d. h. bei T21 beginnt die Speichereinheit 130 dann die 4 Datenblöcke der durch die dritte Leseanforderung angeforderten Daten über die MD- Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Für Vergleichszwecke wir die vorstehende Speicherzugriffsoperation als Antwort auf die gleichen drei Leseanforderungen von der CPU 110 nachstehend statt dessen durch das Speicherzugriffssteuersystem 120 durchgeführt, wobei die CPU-Schnittstelle 121 in den Nicht- Warte-Modus geschaltet ist, um die Leistungsunterschied zwischen den Operationsmoden zu vergleichen.
Fig. 7b zeigt das Signal-Zeitablaufdiagramm der Speicherzugriffsoperation, die durch das Speicherzugriffssteuersystem 120 durchgeführt wird, wenn die CPU-Schnittstelle 121 im Nicht- Warte-Modus betrieben wird, als Antwort auf die gleichen 3 Leseanforderungen von der CPU 110, die nacheinander, bei T1, T4 und T7 über die ADS und REQ-Datenleitungen ausgegeben weiden. Wenn die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T3, das entsprechende interne Leseanforderungssignal über die DADS-Datenlei­ tung an die Speichersteuereinheit 122 aus. Nachfolgend, wenn die CPU-Schnittstelle 121 die zweite Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T6, das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122, ohne zu warten, bis die CPU 110 das Leseanforderungssignal der zweiten Leseanforderung ausgibt. Anschließend, wenn die CPU-Schnittstelle 121 die dritte Leseanforderung von der CPU 110 erhält, gibt sie ebenfalls sofort, bei T9, das entsprechende Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal für die dritte Leseanforderung ausgibt.
Die Speichersteuereinheit 122 prüft zunächst, als Antwort auf das erste interne Leseanforderungssignal von der CPU-Schnittstelle 121, ob die angeforderten Daten auf der derzeit geöffneten Seite in der Speichereinheit 130 befindlich sind, und dann, nach zwei Taktzyklen, d. h., bei T5, gibt die Speichersteuereinheit 121 ein Lesefreigabesignal an die Speichereinheit 130 für die erste Leseanforderung aus. Nach einer Wartezeit von zwei Taktzyklen, d. h., bei T7, beginnt die Speichereinheit 130 die angeforderten 4 Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T6 das zweite interne Leseanforderungssignal von der CPU-Schnittstelle 121 und prüft, ob die angeforderten Daten auf einer geschlossenen Seite befindlich sind. Zu diesem Zeitpunkt wird die Speicher­ steuereinheit 122 jedoch, da die vorhergehende Leseoperation für die erste Leseanforderung noch nicht abgeschlossen ist, bis T9 warten und dann nacheinander ein Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal über die CMD-Datenleitung an die Speichereinheit 130 für die zweite Leseanforderung ausgeben. Als Antwort auf die Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und gibt dann, bei T15, die angeforderten Daten aus. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 ausgegeben.
Desweiteren, bezüglich der dritten Leseanforderung, erhält die Speichersteuereinheit 122 bei T9 das dritte interne Leseanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 noch mit der vorhergehenden Leseanforderung beschäftigt ist, warten, bis die Speichereinheit 130 den Output des Datenblocks von der vorherigen Leseanforderung abgeschlossen hat, d. h. bis T17, und dann ein Lesefreigabesignal an die Speichereinheit 130 ausgeben (nur ein Lesefreigabesignal und kein Precharge-Freigabesignal sowie kein Aktivierungsfreigabesignal wird ausgegeben, da die angeforderten Daten auf der gleichen Seite wie durch die vorherige Leseanforderung angefordert, befindlich sind). Als Antwort beginnt die Speichereinheit 130 nach einer Wartezeit von drei Taktzyklen, d. h. bei T19, die vier durch die dritte Leseanforderung angeforderten Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Durch den Vergleich der Fig. 7b mit 7a wird ersichtlich, daß dann, wenn die CPU-Schnittstelle 121 im Warte-Modus betrieben wird, insgesamt 26 Taktzyklen erforderlich sind, um auf die drei aufeinanderfolgenden Leseanforderungen von der CPU 110 zu antworten. Im Gegensatz dazu sind im Nicht-Warte-Modus nur 2vier Taktzyklen erforderlich. Es ist offensichtlich, daß in diesem Fall der Nicht-Warte-Modus in der Speicherzugriffsleistung effizienter ist als der Warte- Modus.
Viertes Beispiel zum Leistungsvergleich (Fig. 8a und 8b)
In dem Beispiel der Fig. 8a-8b wird davon ausgegangen, daß die CPU 110 nacheinander drei Leseanforderungen an die Speichereinheit 130 ausgibt, wobei die durch die erste und zweite Leseanforderung angeforderten Daten auf zwei verschiedenen geschlossenen Seiten befindlich sind, und die durch die dritte Leseanforderung angeforderten Daten auf der gleichen Seite wie die zweite Leseanforderung befindlich sind.
Die Fig. 8a zeigt das Signal-Zeitablaufdiagramm der Speicherzugriffsoperation, die durch das Speicherzugriffssteuersystem 120 durchgeführt wird, wenn die CPU-Schnittstelle 121 im Warte- Modus betrieben wird, als Antwort auf die vorstehend genannten drei Arten von Leseanforderungen, die nacheinander, bei T1, T4 und T7 von der CPU 110 über die ADS und REQ-Datenleitungen ausgegeben werden. Wenn die CPU-Schnittstelle 121 die erste Lesean­ forderung von der CPU 110 erhält, wird davon ausgegangen, daß die erste Leseanforderung kein Cache-Hit ist wobei diese sofort, bei T3, das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122 ausgibt, ohne zu warten, bis die CPU 110 das L1-Rückschreibe­ signal der ersten Leseanforderung ausgibt. Als nächstes, als Antwort auf jede der nachfolgenden zweiten und dritten Leseanforderungen wird die CPU-Schnittstelle 121 statt dessen vier Takt­ zyklen abwarten, bis die CPU 110 die entsprechenden L1-Rückschreibesignale der zweiten und dritten Leseanforderung ausgibt, d. h. bis T9 bzw. T12, und wird dann das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122 ausgeben.
Die Speichersteuereinheit 122 prüft zunächst, als Antwort auf das erste interne Leseanforde­ rungssignal von der CPU-Schnittstelle 121, ob die angeforderten Daten auf einer geschlossenen Seite in der Speichereinheit 130 befindlich sind, und dann, nach zwei Taktzyklen, d. h., bei T5, gibt die Speichersteuereinheit 122 nacheinander ein Precharge-Freigabesignal, ein Aktivierungs­ freigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 für die erste Lesean­ forderung aus. Als Antwort auf diese Signale öffnet die Speichereinheit 130 die Seite, auf der die angeforderten Daten befindlich sind, und nach einer Wartezeit von zwei Taktzyklen, nach Erhalt des Lesefreigabesignals, d. h. bei T11, beginnt die Speichereinheit 130 die angeforderten 4 Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T9 das zweite interne Leseanforderungssignal von der CPU-Schnittstelle 121. Als Antwort prüft die Speichersteuereinheit 122 zunächst, ob die angeforderten Daten auf einer anderen geschlossenen Seite in der Speichereinheit 130 befindlich sind. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122, jedoch, da die Speichereinheit 130 noch mit der vorherigen Leseanforderung beschäftigt ist, bis T13 warten, und dann nacheinander ein Precharge- Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 für die zweite Leseanforderung ausgeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und beginnt dann, bei T19, die angeforderten Daten auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Desweiteren, bezüglich der dritten Leseanforderung, erhält die Speichersteuereinheit 122 bei T12 das dritte interne Leseanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 noch mit der vorherigen Leseanforderung beschäftigt ist, warten, bis die Speichereinheit 130 den Output, durch die vorherige Leseanforderung angeforderten Datenblocks abschließt, d. h. bis T21, und dann beginnen, ein Lesefreigabesignal an die Speichereinheit 130 für die dritte Leseanforderung auszugeben (nur Lesefreigabesignal und kein Precharge-Freigabesignal und kein Aktivierungsfreigabesignal wird ausgegeben, da die angeforderten Daten auf der gleichen Seite befindlich sind, die durch die vorherige Anforderung angefordert wurden). Nach einer Wartezeit von zwei Taktzyklen, d. h. bei T23, beginnt die Speichereinheit 130 die vier durch die dritte Leseanforderung angeforderten Datenblöcke über die MD-Datenleitung an die Speichersteuer­ einheit 122 zu übertragen. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Für Vergleichszwecke wird die vorstehende Speicherzugriffsoperation als Antwort auf die gleichen drei Leseanforderungen von der CPU 110 nachstehend statt dessen durch das Speicherzugriffssteuersystem 120 durchgeführt, wobei die CPU-Schnittstelle 121 in den Nicht- Warte-Modus geschaltet ist, um den Leistungsunterschied zwischen den beiden Operations-Modi zu vergleichen.
Die Fig. 8b zeigt das Signal-Zeitablaufdiagramm der Speicherzugriffsoperation, die durch das Speicherzugriffssteuersystem 120 durchgeführt wird, wenn die CPU-Schnittstelle 121 im Nicht- Warte-Modus betrieben wird, als Antwort auf die gleichen drei Leseanforderungen von der CPU 110, die nacheinander bei T1, T4, und T7 über die ADS und REQ-Datenleitungen ausgegeben werden. Wenn die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T3, das entsprechende interne Leseanforderungssignal über die DADS- Datenleitung an die Speichersteuereinheit 122 aus. Danach, wenn die CPU-Schnittstelle 121 die zweite Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T6, das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1-Rückschreibesignal der zweiten Leseanforderung ausgibt, und als nächstes, wenn die CPU-Schnittstelle 121 die dritte Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T9, das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an sie Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1-Rückschreibesignal der dritten Leseanforderung ausgibt.
Die Speichersteuereinheit 122 prüft zunächst, als Antwort auf das erste interne Lesean­ forderungssignal von der CPU-Schnittstelle 121, ob die angeforderten Daten auf einer geschlossenen Seite in der Speichereinheit 130 befindlich sind, und dann, nach zwei Taktzyklen, d. h. bei T5, beginnt die Speichersteuereinheit 122 nacheinander ein Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 für die erste Leseanforderung auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und dann, nach einer Wartezeit von zwei Taktzyklen, nach Erhalt des Lesefreigabesignals, d. h. bei T11, beginnt die Speichereinheit 130 die vier durch die erste Leseanforderung angeforderten Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 auf die CPU 110 übertragen.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T6 das zweite interne Leseanforderungssignal von der CPU-Schnittstelle 121, und prüft, ob die angeforderten Daten auf einer anderen, geschlossenen Seite befindlich sind. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die vorherige Leseoperation für die erste Leseanforderung noch nicht abgeschlossen ist, bis T13 warten, und dann nacheinander ein Precharge- Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal über die CMD- Datenleitung an die Speichereinheit 130 für die erste Leseanforderung ausgeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und wird dann, bei T19, die angeforderten Daten ausgeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Desweiteren, bezüglich der dritten Leseanforderung, erhält die Speichersteuereinheit 122 bei T9 das dritte interne Leseanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 noch mit der vorherigen Leseanforderung beschäftigt ist, warten, bis die Speichereinheit 130 den Output des dritten Datenblocks für die vorherige Leseanforderung abschließt, d. h. bis T21, und dann beginnen, ein Lesefreigabesignal an die Speichereinheit 130 für die dritte Leseanforderung auszugeben (nur Lesefreigabesignal, kein Precharge-Freigabesignal und kein Aktivierungsfreigabesignal wird ausgegeben, da die angeforderten Daten auf der gleichen Seite, wie durch die vorhergehende Leseanforderung angefordert, befindlich sind). Nach einer Wartezeit von zwei Taktzyklen nach Erhalt des Lesefreigabesignals, d. h. bei T23, beginnt die Speichereinheit 130 die vier durch die dritte Leseanforderung angeforderten Datenblöcke über die MD-Datenleitung an die Speicher­ steuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Durch Vergleich von Fig. 8b mit Fig. 8a wird ersichtlich, daß dann, wenn die CPU-Schnittstelle 121 im Warte-Modus betrieben wird, insgesamt 28 Taktzyklen erforderlich sind, um auf drei aufeinanderfolgende Leseanforderungen von der CPU 110 zu antworten. Ähnlich, sind im Nicht- Warte-Modus ebenfalls 28 Taktzyklen erforderlich. Es ist offensichtlich, daß in diesem Fall der Nicht-Warte-Modus in der Speicherzugriffsleistung dem Warte-Modus äquivalent ist.
Fünftes Beispiel zum Leistungsvergleich (Fig. 9a und 9b)
In den Beispielen der Fig. 9a-9b wird davon ausgegangen, daß die CPU 110 nacheinander drei Leseanforderungen an die Speichereinheit 130 ausgibt, wobei die durch diese drei Lese­ anforderungen angeforderten Daten auf drei verschiedenen, geschlossenen Seiten befindlich sind.
Fig. 9a zeigt das Signal-Zeitablaufdiagramm der Speicherzugriffsoperation, die durch das Speicherzugriffssteuersystem 120 durchgeführt wird, wenn die CPU-Schnittstelle 121 im Warte- Modus betrieben wird, als Antwort, auf die vorstehend genannten drei Arten von Leseanforde­ rungen, die nacheinander bei T1, T4, und T7 von der CPU 110 über die ADS und REQ-Daten­ leitung ausgegeben werden. Wenn die CPU-Schnittstelle 121 das erste Leseanforderungssignal von der CPU 110 erhält, wird angenommen, daß die erste Leseanforderung kein Cache-Hit ist, und gibt daher sofort, bei T3, das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal der ersten Leseanforderung ausgibt. Als nächstes, als Antwort auf jede der nachfolgenden zweiten und dritten Leseanforderung, wird die CPU-Schnittstelle 121 statt dessen vier Taktzyklen abwar­ ten, bis die CPU 110 die entsprechenden L1-Rückschreibsignale der zweiten und dritten Lesean­ forderung ausgibt, d. h. bis T9 bzw. T12, und dann die entsprechenden internen Leseanforderungssignale an die Speichersteuereinheit 122 ausgeben.
Die Speichersteuereinheit 122 prüft zunächst, als Antwort auf das erste interne Leseanforde­ rungssignal von der CPU-Schnittstelle 121, das die angeforderten Daten auf einer geschlossenen Seite in der Speichereinheit 130 befindlich sind, und dann, nach zwei Taktzyklen, d. h., bei T5, beginnt die Speichersteuereinheit 122 nacheinander ein Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und Lesefreigabesignal an die Speichereinheit 130 für die erste Lese­ anforderung auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und dann, nach einer Wartezeit von zwei Taktzyklen, nach Erhalt des Lesefreigabesignals, d. h., bei T11 beginnt die Speichereinheit 130 die angeforderten 4 Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T9 ein zweites internes Leseanforderungssignal von der CPU-Schnittstelle 121. Als Antwort prüft die Speicher­ steuereinheit 122 zunächst, ob die angeforderten Daten auf einer anderen, geschlossenen Seite in der Speichereinheit 130 befindlich sind. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 noch mit der vorherigen Leseanforderung beschäftigt ist, bis T13 warten, und dann beginnen, nacheinander ein Precharge-Freigabesignal, ein Aktivierungs­ freigabesignal und ein Lesefreigabesignal über die CMD-Datenleitung an die Speichereinheit 130 für die zweite Leseanforderung auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und beginnt dann, bei T19, die angeforderten Daten auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen. Als Antwort überprüft die Speicher­ steuereinheit 122 zuerst, ob die nachgefragten Daten in einer geschlossenen Seite in der Speichereinheit 130 vorhanden sind. Anschließend, bei T11, gibt die Speichersteuereinheit 122 für die zweite Leseanforderung nacheinander ein Vorlade-Freigabesignal, ein Aktivierungs-Freigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 aus. Als Antwort auf diese Signale öffnet die Speichereinheit zuerst die Seite, auf der die benötigten Daten vorhanden sind und beginnt anschließend, bei T17, die benötigten Daten auszugeben.
Des weiteren erhält die Speichersteuereinheit 122 bezüglich der dritten Leseanforderung bei T12 von der CPU-Schnittstelle 121 das dritte interne Leseanforderungssignal. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 noch mit der vorherigen Leseanforderung beschäftigt ist, warten, bis die Speichereinheit 130 den Output des dritten, durch die vorhergehende Leseanforderung angeforderten Datenblocks, abschließt, d. h. bis T21, und dann beginnen, nacheinander ein Precharge- Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 für die dritte Leseanforderung auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und dann, nach einer Wartezeit von zwei Taktzyklen, nach dem Erhalt des Lesefreigabesignals, d. h. bei T27, beginnt, die Speichereinheit 130 die vier durch die dritte Leseanforderung angeforderten Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU- Schnittstelle 121 an die CPU 110 übertragen.
Für Vergleichszwecke wird die vorstehende Speicherzugriffsoperation als Antwort auf die gleichen drei Leseanforderungen von der CPU 110 nachstehend statt durch das Speicherzugriffsteuersystem 120 durchgeführt, wobei die CPU-Schnittstelle 121 in den Nicht-Warte-Modus geschaltet ist, um die Leistungsunterschiede zwischen den beiden Operationsmoden zu vergleichen.
Fig. 9B zeigt das Signal-Zeitablauf-Diagramm der Speicherzugriffsoperation, die durch das Speicherzugriffsteuersystem 120 durchgeführt wird, wenn die CPU-Schnittstelle 121 im Nicht-Warte-Modus betrieben wird, als Antwort auf die gleichen drei Leseanforderungen von der CPU 110, die nacheinander, bei T1, T4 und T7 über die ADS- und REQ-Daten­ leitungen ausgegeben werden. Wenn die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, dann gibt sie sofort, bei T3, das entsprechende interne Lesean­ forderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus. Danach, wenn die CPU-Schnittstelle 121 die zweite Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T6, das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal der zweiten Leseanforderung ausgibt. Anschließend, wenn die CPU-Schnittstelle 122 die dritte Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T9, das entsprechende Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal der dritten Leseanforderung ausgibt.
Die Speichersteuereinheit 122 prüft zunächst, als Antwort auf das erste interne Lesean­ forderungssignal von der CPU-Schnittstelle 121, daß die angeforderten Daten auf einer geschlossenen Seite in der Speichereinheit 130 befindlich sind, und dann, nach zwei Takt­ zyklen, d. h. bei T5, beginnt die Speichersteuereinheit 122 nacheinander ein Precharge- Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speicher­ einheit 130 für die erste Leseanforderung auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und dann, nach einer Wartezeit von zwei Taktzyklen, nach Empfang des Lesefreigabesignals, d. h. bei T11, beginnt die Speichereinheit 130 die vier, durch die erste Leseanforderung angeforderten Datenblöcke über die MD-Datenleitung an die Speicher­ steuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T6 das zweite interne Leseanforderungssignal von der CPU-Schnittstelle 121 und prüft, ob die an­ geforderten Daten auf einer anderen, geschlossenen Seite befindlich sind. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 die Lese­ operation für die vorherige Leseanforderung noch nicht beendet hat, bis T13 warten, und dann nacheinander ein Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal über die CMD-Datenleitung an die Speichereinheit 130 für die zweite Leseanforderung ausgeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und beginnt dann, bei T19, die angeforderten Daten an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Des weiteren, bezüglich der dritten Leseanforderung, erhält die Speichersteuereinheit 122 bei T9 das dritte interne Leseanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 noch mit der vorhergehenden Leseanforderung beschäftigt ist, warten, bis die Speichereinheit 130 den Output des dritt 29118 00070 552 001000280000000200012000285912900700040 0002019956114 00004 28999en, durch die vorhergehende Leseanforderung angeforderten Daten­ blocks abschließt, d. h. bis T21, und dann beginnen, nacheinander ein Precharge-Freigabe­ signal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 für die dritte Leseanforderung auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die angeforderten Daten befindlich sind, und dann, nach einer Wartezeit von zwei Taktzyklen nach Empfang des Lesefreigabesignals, d. h., bei T27, beginnt die Speichereinheit 130 die vier durch die dritte Leseanforderung angeforderten Datenblöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU- Schnittstelle 121 an die CPU 110 übertragen.
Beim Vergleich von Fig. 9B mit Fig. 9A ist ersichtlich, daß dann, wenn die CPU-Schnitt­ stelle 121 im Warte-Modus betrieben wird, insgesamt 32 Taktzyklen erforderlich sind, um auf die drei aufeinanderfolgenden Leseanforderungen von der CPU 110 zu antworten. Ähnlich werden im Nicht-Warte-Modus ebenfalls 32 Taktzyklen benötigt. Es ist offensichtlich, daß in diesem Fall der Nicht-Warte-Modus in der Speicherzugriffsleistung dem Warte-Modus äquivalent ist.
Sechstes Beispiel zum Leistungsvergleich (Fig. 10A und 10B)
Im Beispiel der Fig. 10A-10B wird angenommen, daß die CPU 110 nacheinander drei Leseanforderungen an die Speichereinheit 130 ausgibt, wobei die zweite und dritte Lese­ anforderung jeweils ein Cache-Hit ist, und wobei die durch die erste Leseanforderung angeforderten Daten auf der derzeit geöffneten Seite befindlich sind und die durch die zweite und dritte Leseanforderung angeforderten Daten auf zwei verschiedenen geschlosse­ nen Seiten befindlich sind.
Fig. 10A zeigt das Signal-Zeitablauf-Diagramm der Speicherzugriffsoperation, die durch das Speicherzugriffsteuersystem 120 durchgeführt wird, wenn die CPU-Schnittstelle 121 im Warte-Modus betrieben wird, als Antwort auf die vorstehenden drei Arten von Leseanforderungen von der CPU 110, die nacheinander, bei T1, T4 und T7 über die ADS- und REQ-Datenleitungen ausgegeben werden. Da die zweite und dritte Leseanforderung jeweils ein Cache-Hit ist, wird die CPU 110 bei T8 das L1-Rückschreibsignal, das auf ein Cache-Hit hindeutet, über die HITM-Datenleitung ausgeben, und nachfolgend, bei T14, die Cache-Daten der zweiten Leseanforderung über die HD-Datenleitung an die CPU- Schnittstelle 121 ausgeben, die in die Speichereinheit 130 zurückgeschrieben werden müssen. Darüber hinaus wird die CPU 110 bei T11 das L1-Rückschreibsignal der dritten Leseanforderung, das auf ein Cache-Hit hinweist, über die HITM-Datenleitung ausgeben und nachfolgend, bei T19, die Cache-Daten der dritten Leseanforderung über die HD- Datenleitung an die CPU-Schnittstelle 121 ausgeben, die in die Speichereinheit 130 zurückgeschrieben werden müssen.
Wenn die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, wird angenommen, daß die erste Leseanforderung ein Cache-Hit ist, wobei sofort bei T3 das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122 ausgegeben wird, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal der ersten Lese­ anforderung ausgibt. Als nächstes, als Antwort auf die zweite, bei T4 ausgegebene Lesean­ forderung, wird die CPU-Schnittstelle 121 statt dessen vier Taktzyklen abwarten, bis die CPU 110 das L1-Rückschreibsignal der zweiten Leseanforderung von der HITM-Datenlei­ tung ausgibt, d. h. bis T8, und dann, da das L1-Rückschreibsignal ein Cache-Hit anzeigt, bei T9 ein internes Cache-Rückschreibanforderungssignal anstelle eines internen Lesean­ forderungssignal an die Speichersteuereinheit 122 ausgeben. Als nächstes, als Antwort auf die dritte Leseanforderung, ausgegeben bei T7, wird die CPU-Schnittstelle 121 ebenfalls vier Taktzyklen abwarten, bis die CPU 110 das Rückschreibsignal der dritten Lesean­ forderung von der HITM-Datenleitung ausgibt, d. h. bis T11, und dann, da das L1-Rück­ schreibsignal ein Cache-Hit anzeigt, bei T12 ein internes Cache-Rückschreib­ anforderungssignal an die Speichersteuereinheit 122 ausgeben.
Die Speichersteuereinheit 122 überprüft zunächst, als Antwort auf das erste interne Lesean­ forderungssignal von der CPU-Schnittstelle 121, daß die angeforderten Daten auf der derzeit geöffneten Seite in der Speichereinheit 130 befindlich sind, und dann, nach zwei Taktzyklen, d. h. bei T5, beginnt die Speichersteuereinheit 122 ein Lesefreigabesignal an die Speichereinheit 130 auszugeben. Nach einer Wartezeit von zwei Taktzyklen, d. h. bei T7, beginnt die Speichereinheit 130, die angeforderten vier Datenblöcke über die MD- Datenleitung an die Speichersteuereinheit 122 auszugeben. Diese Daten werden dann über die CPU-Schnittstelle 121 an die CPU 110 übertragen.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T9 das entsprechende interne Cache-Rückschreibanforderungssignal von der CPU-Schnittstelle 121. Als Antwort prüft die Speichersteuereinheit 122 zunächst, ob die Rückschreib-Cache- Daten auf einer geschlossenen Seite in der Speichereinheit 130 befindlich sind und dann, bei T10, beginnt die Speichersteuereinheit 122 nacheinander ein Precharge-Freigabesignal und ein Aktivierungsfreigabesignal an die Speichereinheit 130 auszugeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die Rückschreib-Cache-Daten ursprünglich befindlich sind, und wartet dann, bis die CPU 110 die Cache-Daten der zweiten Leseanforderung ausgibt, d. h. bei T14. Anschließend gibt sie beim nächsten Taktzyklus, d. h. bei T4, ein Schreibfreigabesignal an die Speichereinheit 130 aus, wodurch bewirkt wird, daß die Output-Cache-Daten von der CPU 110 in die Speichereinheit 130 zurückgeschrieben werden.
Des weiteren, bezüglich der dritten Leseanforderung, erhält die Speichersteuereinheit 122 bei T12 das entsprechende interne Cache-Rückschreibanforderungssignal von der CPU-Schnittstelle 121. Zu diesem Zeitpunkt wird die Speichersteuereinheit 122 jedoch, da die Speichereinheit 130 noch mit der Cache-Rückschreiboperation für die vorherige Leseanforderung beschäftigt ist, warten, bis die Speichereinheit 130 das Schreiben des dritten Blocks der Cache-Daten für die zweite Leseanforderung abeschlossen hat, d. h. bis T17, und anschließend nacheinander ein Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Schreibfreigabesignal an die Speichereinheit 130 für die Cache-Rückschreiboperation der dritten Leseanforderung ausgeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die Cache-Daten der dritten Leseanforderung ursprünglich befindlich waren, und schreibt dann die Output-Cache-Daten von der CPU 110 zurück in die Speichereinheit 130.
Für Vergleichszwecke wird die vorstehende Speicherzugriffsoperation als Antwort auf die gleichen drei Leseanforderungen von der CPU 110 nachstehend statt dessen durch das Speicherzugriffsteuersystem 120 durchgeführt, wobei die CPU-Schnittstelle 121 in den Nicht- Warte-Modus geschaltet ist, um den Leistungsunterschied zwischen den beiden Operations-Modi zu vergleichen.
Fig. 1 OB zeigt das Signal-Zeitablauf-Diagramm der Speicherzugriffsoperation, durchgeführt durch das Speicherzugriffsteuersystem 120, wenn die CPU-Schnittstelle 121 im Nicht-Warte- Modus betrieben wird, als Antwort auf die gleichen drei Leseanforderungen von der CPU 110, die nacheinander, bei T1, T4 und T7 über die ADS- und REQ-Datenleitungen ausgegeben wwerden. Wenn die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, dann gibt sie sofort, bei T3, das entsprechende interne Leseanforderungssignal über die DADS- Datenleitung an die Speichersteuereinheit 122 aus. Danach, wenn die CPU-Schnittstelle 121 die zweite Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T6, das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal der zweiten Leseanforderung ausgibt, und danach, wenn die CPU-Schnittstelle 121 die dritte Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T9, das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus. Da die zweite und dritte Leseanfor­ derung jeweils ein Cache-Hit ist, wird die CPU 110 ein L1-Rückschreibsignal ausgeben, der für jede dieser Leseanforderungen einen Cache-Hit anzeigt, nachdem die entsprechenden internen Leseanforderungssignale an die Speichersteuereinheit 122 ausgegeben wurden. Wenn die CPU- Schnittstelle 121 das L1-Rückschreibsignal der zweiten Leseanforderung erhält, die ein Cache- Hit anzeigt, wird sie sofort ein Lese-Stopsignal über die MDOFF-Datenleitung an die Speichersteuereinheit 122 ausgeben, und anschließend, wenn die CPU-Schnittstelle 121 das L1-Rückschreibsignal der dritten Leseanforderung erhält, die ein Cache-Hit anzeigt, wird sie ebenfalls sofort ein Lese-Stopsignal über die MDOFF-Datenleitung an die Speicher­ steuereinheit 122 ausgeben.
Die Speichersteuereinheit 122 prüft, als Antwort auf das erste interne Leseanforderungssignal von der CPU-Schnittstelle 121 zunächst, ob die angeforderten Daten auf der derzeit geöffneten Seite in der Speichereinheit 130 befindlich sind. Anschließend gibt die Speichersteuereinheit 122, bei T5, ein Lesefreigabesignal an die Speichereinheit 130 für die erste Leseanforderung aus. Als Antwort beginnt die Speichereinheit 130 bei T7 die durch die erste Leseanforderung angeforderten Daten über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben.
Nachdem die Speichereinheit 130 die Ausgabe des dritten, durch die erste Leseanforderung an­ geforderten Datenblocks beendet hat, gibt die Speichersteuereinheit 122 nacheinander ein Pre­ charge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 für die zweite Leseanforderung aus. Als Antwort beginnt die Speicherein­ heit 130 bei T15 die vier Datenblöcke, die durch die zweite Leseanforderung angefordert wurden, auszugeben. Zu dem Zeitpunkt jedoch, zu dem die Speichereinheit 130 den letzten Datenblock ausgibt, erhält die Speichersteuereinheit 122 das Lese-Stopsignal für die zweite Leseanforderung von der CPU-Schnittstelle 121. Als Antwort verwirft die Speichersteuer­ einheit 122 sofort die derzeit zurückgeholten Daten und gibt dann, bei T20, ein Schreibfreigabesignal an die Speichereinheit 130 aus, was bewirkt, daß die Speichereinheit 130 die Output-Cache-Daten von der CPU 110 zurück in die Speichereinheit 130 schreibt.
Nachdem die Speichereinheit 130 das Schreiben des dritten Blocks der Cache-Daten der zweiten Leseanforderung abgeschlossen hat, d. h. bei T22, gibt die Speichersteuereinheit 122 nacheinan­ der für die nachfolgende, dritte Leseanforderung ein Precharge-Freigabesignal, ein Aktivierungs­ freigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 aus. Als Antwort beginnt die Speichereinheit 130 bei T28 die vier, durch die dritte Leseanforderung angeforderten Daten­ blöcke auszugeben. Zu dem Zeitpunkt jedoch, zu dem die Speichereinheit 130 den letzten Datenblock ausgibt, erhält die Speichersteuereinheit 122 das Lese-Stopsignal für die dritte Lese­ anforderung von der CPU-Schnittstelle 121. Als Antwort verwirft die Speichersteuereinheit 122 sofort die derzeit zurückgeholten Daten und gibt dann, bei T33, ein Schreibfreigabesignal an die Speichereinheit 130, was bewirkt, daß die Speichereinheit 130 die Output-Cache-Daten von der CPU 110 zurück in die Speichereinheit 130 schreibt.
Beim Vergleich der Fig. 10B mit Fig. 10A wird ersichtlich, daß dann, wenn die CPU-Schnitt­ stelle 121 im Warte-Modus betrieben wird, insgesamt 24 Taktzyklen erforderlich sind, um auf die drei aufeinanderfolgenden Leseanforderungen von der CPU 110 zu antworten. Im Gegensatz dazu sind im Nicht-Warte-Modus 36 Taktzyklen erforderlich. Es ist offensichtlich, daß in diesem Fall der Warte-Modus in der Speicherzugriffsleistung effizienter ist als der Nicht-Warte-Modus.
Siebtes Beispiel zum Leistungsvergleich (Fig. 11A und 11B)
In den Beispielen von Fig. 11A, 11B wird angenommen, daß die CPU 110 nacheinander drei Leseanforderungen zum Lesen von Daten aus der Speichereinheit 130 ausgibt, wobei alle drei Leseanforderungen Cache-Hits sind und wobei die durch die erste Leseanforderung angeforderten Daten auf der derzeit geöffneten Seite befindlich sind und die durch die zweite und dritte Leseanforderung angeforderten Daten auf zwei verschiedenen geschlossenen Seiten befindlich sind.
Fig. 11A zeigt das Signal-Zeitablauf-Diagramm der Speicherzugriffsoperation, durchgeführt durch das Speicherzugriffssteuersystem 120, wenn die CPU-Schnittstelle 121 im Warte- Modus betrieben wird, als Antwort auf die vorstehend genannten drei Arten von Leseanfor­ derungen von der CPU 110, die nacheinander, bei T1, T4 und T7 über die ADS und REQ- Datenleitungen ausgegeben werden. Als Antwort auf die vorstehend genannten drei Cache- Hit-Leseanforderungen, die bei T1, T4 und T7 ausgegeben werden, wird die CPU 110 bei T5 beginnen, die entsprechenden L1-Rückschaltesignale der drei Leseanforderungen, die jeweils ein Hit an den Cache-Speicher 112 anzeigen, über die HITM-Datenleitung an die CPU- Schnittstelle 121 auszugeben, und danach, nacheinander, bei T10, T15 und T20 die entspre­ chenden Cache-Daten der drei Leseanforderungen, die in die Speichereinheit 130 zurückge­ schrieben werden müssen, über die HD-Datenleitung an die CPU-Schnittstelle 121 auszugeben.
Wen die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, wird angenommen, daß die erste Leseanforderung kein Cache-Hit ist, wobei sofort bei T3 das entsprechende interne Leseanforderungssignal an die Speichersteuereinheit 122 ausgegeben wird, ohne zu warten, bis die CPU 110 das L1-Rückschreibsignal für die erste Leseanfor­ derung ausgibt. Danach wird die CPU-Schnittstelle 121 bei T5 das L1-Rückschreibsignal, das anzeigt, daß die erste Leseanforderung ein Cache-Hit ist, über die HITM-Datenleitung von der CPU 110 erhalten. Als Antwort gibt die CPU-Schnittstelle 121 ein internes Cache- Rückschreibanforderungssignal für die erste Leseanforderung aus.
Als nächstes, als Antwort auf die zweite Leseanforderung, ausgegeben bei T4, wird die CPU- Schnittstelle 121 vier Taktzyklen abwarten, bis die CPU 110 das L1-Rückschreibsignal für die zweite Leseanforderung von der HITM-Datenleitung ausgibt, d. h. bis T8, und dann, da das L1-Rückschreibsignal einen Cache-Hit anzeigt, bei T9 ein internes Cache-Rückschreib­ anforderungssignal für die zweite Leseanforderung über die DADS-Datenleitung an die Speichersteuereinheit 122 ausgeben. Als nächstes, als Antwort auf die dritte Lesean­ forderung, ausgegeben bei T7, wird die CPU-Schnittstelle 121 ebenfalls vier Taktzyklen warten, bis die CPU 110 das L1-Rückschreibsignal für die dritte Leseanforderung von der HITM-Datenleitung ausgibt, d. h. bis T11, und dann, da das L1-Rückschreibsignal einen Cache-Hit anzeigt, bei T12 ein internes Cache-Rückschreibanforderungssignal für die dritte Leseanforderung über die DADS-Datenleitung an die Speichersteuereinheit 122 ausgeben.
Die Speichersteuereinheit 122 prüft als Antwort auf das erste interne Leseanforderungssignal von der CPU-Schnittstelle 121 zunächst, ob die angeforderten Daten auf der derzeit geöffneten Seite in der Speichereinheit 130 befindlich sind, und dann, nach zwei Taktzyklen, d. h. bei T5, beginnt die Speichersteuereinheit 122 ein Lese-Freigabesignal an die Speicher­ einheit 130 auszugeben. Nach einer Wartezeit von zwei Taktzyklen nach Erhalt des Lese- Freigabesignals, d. h. bei T7, beginnt die Speichereinheit 130 die angeforderten vier Daten­ blöcke über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Da jedoch die erste Leseanforderung ein Cache-Hit ist, wird die Speichersteuereinheit 122 später das interne Cache-Rückschreibanforderungssignal für die erste Leseanforderung erhalten. Als Antwort verwirft die Speichersteuereinheit 122 die derzeit zurückgeholten Daten und beginnt dann, bei T12, ein Schreib-Freigabesignal an die Speichereinheit 130 auszugeben, was bewirkt, daß die Speichereinheit 130 die Output-Cache-Daten von der CPU 110 zurück in die Speichereinheit 130 schreibt.
Bezüglich der zweiten Leseanforderung erhält die Speichersteuereinheit 122 bei T9 das interne Cache-Rückschreibanforderungssignal für die zweite Leseanforderung von der CPU- Schnittstelle 121. Als Antwort prüft die Speichersteuereinheit 122 zunächst, ob die angefor­ derten Daten auf einer geschlossenen Seite in der Speichereinheit 130 befindlich sind, worauf die Speichersteuereinheit 122 warten wird, bis die Speichereinheit 130 das Schreiben des dritten Blocks von Cache-Daten der vorhergeheneden Leseanforderung abgeschlossen hat, d. h. bis T14. Anschließend wird ein Precharge-Freigabesignal, ein Aktivierungs- Freigabesignal und ein Schreib-Freigabesignal an die Speichereinheit 130 ausgegeben. Als Antwort auf diese Signale öffnet die Speichereinheit 130 zunächst die Seite, auf der die Cache-Daten ursprünglich befindlich waren, und beginnt dann, die Output-Cache-Daten von der CPU 110 zurück in die Speichereinheit 130 zu schreiben.
Des weiteren, bezüglich der dritten Leseanforderung erhält die Speichersteuereinheit 122 bei T12 das interne Cache-Rückschreibanforderungssignal der dritten Leseanforderung von der CPU-Schnittstelle 121. Als Antwort wird die Speichersteuereinheit 122 warten, bis die Speichereinheit 130 das Schreiben des dritten Blocks der Cache-Daten der vorhergehenden Leseanforderung abgeschlossen hat, d. h. bis T20, und dann beginnen, nacheinander ein Precharge-Freigabesignal, ein Aktivierungs-Freigabesignal und ein Schreib-Freigabesignal an die Speichereinheit 130 auszugeben. Als Antwort auf diese Signale öffnet die Speicher­ einheit 130 zunächst die Seite, auf der die Cache-Daten der dritten Leseanforderung ursprünglich befindlich waren, und beginnt dann, die Output-Cache-Daten von der CPU 110 zurück in die Speichereinheit 130 zu schreiben.
Für Vergleichszwecke wird die vorstehende Speicherzugriffsoperation als Antwort auf die gleichen drei Leseanforderungen von der CPU 110 nachstehend statt dessen durch das Speicherzugriffsteuersystem 120 durchgeführt, wobei die CPU-Schnittstelle 121 in den Nicht-Warte-Modus geschaltet ist, um den Leistungsunterschied zwischen den beiden Betriebs-Modi zu vergleichen.
Fig. 11B zeigt das Signal-Zeitablauf-Diagramm der Speicherzugriffsoperation, durchgeführt durch das Speicherzugriffsteuersystem 120, wenn die CPU-Schnittstelle 121 im Nicht- Warte-Modus betrieben wird, als Antwort auf die gleichen drei Leseanforderungen von der CPU 110, die nacheinander, bei T1, T4 und T7 über die ADS und REQ-Datenleitungen ausgegeben werden. Wenn die CPU-Schnittstelle 121 die erste Leseanforderung von der CPU 110 erhält, dann gibt sie sofort, bei T3 das entsprechende interne Leseanforderungs­ signal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus. Nachfolgend, wenn die CPU-Schnittstelle 121 die zweite Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T6, das entsprechende interne Leseanforderungssignal über die DADS- Datenleitung an die Speichersteuereinheit 122 aus, ohne zu warten, bis die CPU 110 das L1- Rückschreibsignal der ersten Leseanforderung ausgibt, und als nächstes, wenn die CPU- Schnittstelle 121 die dritte Leseanforderung von der CPU 110 erhält, gibt sie sofort, bei T9, das entsprechende interne Leseanforderungssignal über die DADS-Datenleitung an die Speichersteuereinheit 122 aus.
Da die drei Leseanforderungen jeweils ein Cache-Hit sind, wird jede von ihnen bewirken, daß ein L1-Rückschreibsignal, das ein Cache-Hit anzeigt, ausgegeben wird, nachdem die entsprechenden internen Leseanforderungssignale an die Speichersteuereinheit 122 ausgege­ ben wurden. Wenn die CPU 110 das entsprechende L1-Rückschreibsignal der drei Lesean­ forderungen ausgibt, wird die CPU-Schnittstelle 121 sofort die entsprechenden Lese-Stopsi­ gnale bei T10, T23 bzw. T36 über die MDOFF-Datenleitung an die Speichersteuereinheit 122 ausgeben.
Die Speichersteuereinheit 122 prüft zunächst, als Antwort auf das erste interne Lesean­ forderungssignal von der CPU-Schnittstelle 122, das die angeforderten Daten auf der derzeit geöffneten Seite in der Speichereinheit 130 befindlich sind, und dementsprechend beginnt die Speichersteuereinheit 122 bei T5 ein Lesefreigabesignal an die Speichereinheit 130 auszugeben. Als Antwort beginnt die Speichereinheit 130 bei T7 die durch die Lesean­ forderung angeforderten Daten über die MD-Datenleitung an die Speichersteuereinheit 122 auszugeben. Zu dem Zeitpunkt jedoch, bei dem die Speichereinheit 130 den letzten Block der angeforderten Daten ausgibt, erhält die Speichersteuereinheit 122 das Lese-Stopsignal für die erste Leseanforderung von der CPU-Schnittstelle 121. Als Antwort verwirft die Speicher­ steuereinheit 122 die derzeit zurückgeholten Daten und gibt dann, bei T12, ein Schreibfrei­ gabesignal an die Speichereinheit 130, was bewirkt, daß die Speichereinheit 130 die Cache- Output-Daten von der CPU 110 in die Speichereinheit 130 zurückschreibt.
Wenn die Speichereinheit 130 den dritten Block der Cache-Daten der ersten Leseanforderung zurückschreibt, antwortet die Speichersteuereinheit 122 auf das zweite interne Lesean­ forderungssignal und gibt dementsprechend nacheinander ein Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speichereinheit 120 für die zweite Leseanforderung aus. Als Antwort beginnt die Speichereinheit 130 bei T20, die vier Datenblöcke, die durch die zweite Leseanforderung angefordert wurden, auszugeben. Zu dem Zeitpunkt, zu dem die Speichereinheit 130 den letzten Datenblock der angeforderten Daten ausgibt, erhält die Speichersteuereinheit 122 jedoch das Lese-Stopsignal für die zweite Leseanforderung von der CPU-Schnittstelle 121. Als Antwort verwirft die Speicher­ steuereinheit 122 die derzeit zurückgeholten Daten und gibt dann, bei T25, ein Schreibfreiga­ besignal an die Speichereinheit 130 aus, was bewirkt, daß die Speichereinheit 130 die Output-Cache-Daten von der CPU 110 in die Speichereinheit 130 zurückschreibt.
Wenn die Speichereinheit 130 den dritten Block der Cache-Daten der zweiten Lesean­ forderung zurückschreibt, d. h. bei T27, antwortet die Speichersteuereinheit 122 auf das dritte interne Leseanforderungssignal und gibt nacheinander Precharge-Freigabesignal, ein Aktivierungsfreigabesignal und ein Lesefreigabesignal an die Speichereinheit 130 für die dritte Leseanforderung aus, was bewirkt, daß die Speichereinheit 130 bei T33 die vier durch die dritte Leseanforderung angeforderten Datenblöcke ausgibt. Zu der Zeit jedoch, zu der die Speichereinheit 130 die letzten Blöcke der angeforderten Daten ausgibt, erhält die Speicher­ steuereinheit 122 das Lese-Stopsignal für die dritte Leseanforderung von der CPU-Schnitt­ stelle 121. Als Antwort verwirft die Speichersteuereinheit 122 die zurückgeholten Daten und gibt dann, bei T38, ein Schreibfreigabesignal an die Speichereinheit 130 aus, was bewirkt, daß die Speichereinheit 130 die Output-Cache-Daten von der CPU 110 in die Speichereinheit 130 zurückschreibt.
Beim Vergleich von Fig. 11B mit Fig. 11A wird ersichtlich, daß dann, wenn die CPU- Schnittstelle 121 im Warte-Modus betrieben wird, insgesamt 27 Taktzyklen erforderlich sind, um auf die drei nacheinander ausgegebenen Leseanforderungen von der CPU 110 zu antworten. Im Gegensatz dazu erfordert der Nicht-Warte-Modus erhöhte 44 Taktzyklen. Es ist offensichtlich, daß in diesem Fall der Warte-Modus in der Speicherzugriffsleistung effizienter ist als der Nicht-Warte-Modus.
Aus Statistiken von Computerleistung ist bekannt, daß während Speicherzugriffsvorgän­ gen/operationen die CPU eine aufeinanderfolgende Serie von Cache-Miss-Lesean­ forderungen während einer bestimmten Periode ausgeben würde und später eine auf­ einanderfolgende Serie von Cache-Hit-Leseanforderung während einer anderen Periode. Die Erfindung nutzt diese Eigenschaft, um ein verbessertes Verfahren und System zur Speicher­ zugriffssteuerung zu liefern, das die Speicherzugriffsoperation zwischen einem Warte- Modus und einem Nicht-Warte-Modus auf eine derartige Art und Weise schalten kann, so daß die Speicherzugriffsoperation in den Warte-Modus geschaltet wird, wenn angenommen wird, daß derzeit von der CPU aufeinanderfolgende Serien von Cache-Hit-Leseanforde­ rungen ausgegeben werden, und in den Nicht-Warte-Modus, wenn angenommen wird, daß derzeit von der CPU aufeinanderfolgende Serien von Cache-Miss-Leseanforderungen ausge­ geben werden. Zu Beginn ist die Speicherzugriffsoperation in den Warte-Modus eingestellt und wird in den Nicht-Warte-Modus umgeschaltet, wenn festgestellt wird, daß die Anzahl aufeinanderfolgender Cache-Miss-Leseanforderungen einen vorbestimmten Grenzwert erreicht.
Aus den vorhergehenden Beispielen zum Leistungsvergleich wird ersichtlich, daß die Gesamtspeicherzugriffsleistung erhöht werden kann, indem zwischen dem Warte-Modus und dem Nicht-Warte-Modus, basierend auf dem derzeitigen L1-Rückschreibzustand der Lese­ anforderungen von der CPU gewechselt wird. Dies unterstützt eine Verbesserung der Gesamtsystemleistung des Computersystems.
Die Erfindung wurde unter Verwendung beispielhafter, bevorzugter Ausführungsformen beschrieben. Es sollte jedoch klar sein, daß die Breite der Erfindung nicht auf die offenbarten Ausführungsformen beschränkt ist. Im Gegenteil sollen die verschiedenen Modifikationen und ähnliche Anordnungen eingeschlossen werden. Die Ansprüche sollten daher breitestmöglich interpretiert werden, um alle derartigen Modifikationen und ähnliche Anordnungen einzuschließen.

Claims (7)

1. Steuersystem zur Steuerung des Speicherzugriffs durch eine CPU auf eine Speicher­ einheit, wobei die CPU zu jedem Zeitpunkt, zu dem die CPU Daten von der Speicher­ einheit lesen soll, mehrere Leseanforderungen ausgeben kann und weiter, nach einer ersten Zeitverzögerung nach Ausgabe der derzeitigen Leseanforderung, ein L1-Rück­ schreibsignal, das anzeigt, ob die derzeitige Leseanforderung im Cache-Speicher ein Hit oder ein Miss ist, ausgeben kann, und dann, wenn das L1-Rückschreibsignal der derzeitigen Leseanforderung einen Cache-Hit anzeigt, eine Cache-Rückschreiban­ forderung ausgeben kann, um einen Cache-Rückschreibvorgang auszuführen, um die Output-Cache-Daten von der CPU nach einer zweiten Zeitverzögerung nach Ausgabe des L1-Rückschreibsignals, zurück in die Speichereinheit zu schreiben, wobei das Speicher­ zugriffsteuersystem umfaßt:
  • a) eine CPU-Schnittstelle, die mit der CPU verbunden ist und selektiv geschaltet werden kann, zum Betrieb zwischen einem Warte-Modus und einem Nicht-Warte- Modus, wobei im Warte-Modus die CPU-Schnittstelle auf jede Lese-Anforderung von der CPU derart antwortet, daß sie abwartet, bis das L1-Rückschreibsignal der derzeitigen Leseanforderung erhalten wird, und dann ein entsprechendes internes Leseanforderungssignal ausgibt, wenn das L1-Rückschreibsignal ein Cache-Miss anzeigt, oder ein entsprechendes internes Cache-Rückschreibanforderungssignal, wenn das L1-Rückschreibsignal ein Cache-Hit anzeigt, und die CPU-Schnittstelle im Nicht-Warte-Modus auf jede Leseanforderung von der CPU derart antwortet, daß die CPU-Schnittstelle das entsprechende interne Leseanforderungssignal sofort ausgibt, ohne zu warten, bis die CPU das L1-Rückschreibsignal der derzeitigen Leseanforderung ausgibt, und dann, wenn das nachfolgend ausgegebene L1-Rück­ schreibsignal der derzeitigen Leseanforderung einen Cache-Hit anzeigt, sofort ein Lese-Stopsignal für die derzeitige Leseanforderung ausgibt,
  • b) eine Speichersteuereinheit, die zwischen die CPU-Schnittstelle und die Speicher­ einheit geschaltet ist und als Antwort auf jedes interne Leseanforderungssignal von der CPU-Schnittstelle eine Leseoperation in der Speichereinheit durchführen kann, und weiter als Antwort auf das Lese-Stopsignal die derzeit von der Speichereinheit zurückgeholten, durch die derzeitige Leseanforderung angeforderten Daten verwerfen kann, und dann eine Cache-Rückschreibvorgang auszuführen kann, um die nachfolgenden Output-Cache-Daten von der CPU in die Speichereinheit zurück­ zuschreiben, und
  • c) eine Modus-Umschalteinheit, die zwischen die CPU-Schnittstelle und die CPU ge­ schaltet und anfangs derart eingestellt ist, daß sie die CPU-Schnittstelle im Warte- Modus betreibt und weiter feststellen kann, ob jede Leseanforderung von der CPU ein Cache-Hit oder ein Cache-Miss ist, und die Anzahl aufeinanderfolgender Cache- Miss-Leseanforderungen zählen kann, um damit die CPU-Schnittstelle in den Nicht-Warte-Modus umzuschalten, wenn die Anzahl einen vorbestimmten Grenzwert erreicht.
2. System nach Anspruch 1, wobei die Speichereinheit eine SDRAM ist.
3. System nach Anspruch 1, worin das Lese-Stopsignal während der Zeit ausgegeben wird, während der die Speichersteuereinheit für die derzeitige Leseanforderung an der Speichereinheit einen Lesevorgang durchführt.
4. Speicherzugriffssteuerverfahren zur Steuerung des Speicherzugriffvorgangs durch eine CPU auf eine Speichereinheit, wobei die CPU zu jedem Zeitpunkt, zu dem die CPU Daten von der Speichereinheit lesen soll, mehrere Leseanforderungen ausgeben kann und weiter, nach einer ersten Zeitverzögerung nach Ausgabe der derzeitigen Leseanforderung, ein L1-Rück­ schreibsignal, das anzeigt, ob die derzeitige Leseanforderung im Cache-Speicher ein Hit oder ein Miss ist, ausgeben kann, und dann, wenn das L1-Rückschreibsignal der derzeitigen Leseanforderung einen Cache-Hit anzeigt, eine Cache-Rückschreibanforderung ausgeben kann, um einen Cache-Rückschreibvorgang auszuführen, um die Output-Cache-Daten von der CPU nach einer zweiten Zeitverzögerung nach Ausgabe des L1-Rückschreibsignals, zurück in die Speichereinheit zu schreiben, wobei das Speicherzugriffssteuerverfahren umfaßt:
  • 1. Durchführen eines Modus-Umschaltverfahrens, um das Speicherzugriffsverfahren zwischen einem Warte-Modus und einem Nicht-Warte-Modus umzuschalten, wobei der Speicherzugriffsvorgang zu der Zeit, während der die derzeit ausgegebenen Leseanfor­ derungen jeweils Cache-Hits sind, in den Warte-Modus geschaltet ist und in den Nicht- Warte-Modus, wenn die derzeit ausgegebenen Leseanforderungen jeweils Cache-Miss sind,
  • 2. Antworten im Warte-Modus auf jede Leseanforderung von der CPU, bis die CPU das L1-Rückschreibsignal der derzeitigen Leseanforderung ausgibt, und
  • 3. Sofortiges Antworten im Nicht-Warte-Modus auf jede Leseanforderung von der CPU, ohne zu warten, bis die CPU das L1-Rückschreibsignal der derzeitigen Leseanforderung ausgibt.
5. Verfahren nach Anspruch 4, worin Schritt (1) die Unterschritte umfaßt:
  • 1. (1-1) Anfängliches Einstellen der Speicherzugriffsoperation in den Warte-Modus;
  • 2. (1-2) wenn die Anzahl aufeinanderfolgender Cache-Miss-Leseanforderungen von der CPU einen vorbestimmte Grenzewert erreicht, Schalten der Speicherzugriffsoperation in den Nicht-Warte-Modus und danach, wenn eine Cache-Hit Lese-Anforderung von der CPU ausgegeben wird, sofortiges Rückschalten der Speicherzugriffsoperation in den Warte-Modus.
6. Verfahren nach Anspruch 5, worin Schritt (2) die Unterschritte umfaßt:
  • 1. (2-1) Warten, bis das L1-Rückschreibsignal der derzeitigen Leseanforderung ausgegeben wird,
  • 2. (2-2) Überprüfen, ob das L1-Rückschreibsignal der derzeitigen Leseanforderung einen Cache-Hit oder ein Cache-Miss andeutet,
  • 3. (2-3) Durchführen einer Leseoperation für die derzeitige Leseanforderung, wenn das L1-Rückschreibsignal der derzeitigen Leseanforderung einen Cache-Miss anzeigt, und
  • 4. (2-4) Durchführen einer Cache-Rückschreiboperation, wenn das L1-Rückschreibsignal der derzeitigen Leseanforderung einen Cache-Hit anzeigt.
7. Verfahren nach Anspruch 6, worin der Schritt (3) die Unterschritte umfaßt:
  • 1. (3-1) Sofortiges Durchführen einer Leseoperation für die derzeitige Leseanforderung, ohne zu warten, bis die CPU das L1-Rückschreibsignal der derzeitige Leseanforderung ausgibt, und
  • 2. (3-2) wenn das nachfolgend ausgegebene L1-Rückschreibsignal der derzeitigen Lese­ anforderung einen Cache-Hit anzeigt, sofortiges Ausgeben eines Lese-Stopsignal für die derzeitige Leseanforderungum die derzeit aus der Speichereinheit zurückgeholten Daten zu verwerfen, und dann Ausführen einer Cache-Rückschreiboperation, um nachfolgend die Output-Cache-Daten von der CPU in die Speichereinheit zurückzuschreiben.
DE19956114A 1999-03-02 1999-11-22 Verfahren und System zur Steuerung des Speicherzugriffs durch eine zentrale Verarbeitungseinheit in einem Computersystem Ceased DE19956114A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW088103134A TW410295B (en) 1999-03-02 1999-03-02 Memory access control device

Publications (1)

Publication Number Publication Date
DE19956114A1 true DE19956114A1 (de) 2000-09-07

Family

ID=21639825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19956114A Ceased DE19956114A1 (de) 1999-03-02 1999-11-22 Verfahren und System zur Steuerung des Speicherzugriffs durch eine zentrale Verarbeitungseinheit in einem Computersystem

Country Status (3)

Country Link
US (2) US6405288B1 (de)
DE (1) DE19956114A1 (de)
TW (1) TW410295B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW411412B (en) * 1999-03-02 2000-11-11 Via Tech Inc Memory access control device and its operation
US8001332B2 (en) * 2008-04-30 2011-08-16 Siemens Aktiengesellschaft Adaptive caching for high volume extract transform load process
WO2010087310A1 (ja) * 2009-01-28 2010-08-05 日本電気株式会社 キャッシュメモリおよびその制御方法
US9959206B2 (en) 2015-05-19 2018-05-01 Toshiba Memory Corporation Memory system and method of controlling cache memory
FR3045183B1 (fr) * 2015-12-15 2018-01-19 Commissariat Energie Atomique Procede de prediction d'une donnee a precharger dans une memoire cache
US10650899B2 (en) * 2017-04-27 2020-05-12 Everspin Technologies, Inc. Delayed write-back in memory with calibration support
US11301403B2 (en) * 2019-03-01 2022-04-12 Micron Technology, Inc. Command bus in memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2845946B2 (ja) * 1989-06-14 1999-01-13 株式会社日立製作所 画像データ変換装置
US5490261A (en) * 1991-04-03 1996-02-06 International Business Machines Corporation Interlock for controlling processor ownership of pipelined data for a store in cache
US5572703A (en) * 1994-03-01 1996-11-05 Intel Corporation Method and apparatus for snoop stretching using signals that convey snoop results
US5634112A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation Memory controller having precharge prediction based on processor and PCI bus cycles
US5699548A (en) * 1995-06-01 1997-12-16 Intel Corporation Method and apparatus for selecting a mode for updating external memory
US5710906A (en) * 1995-07-07 1998-01-20 Opti Inc. Predictive snooping of cache memory for master-initiated accesses
US5963721A (en) * 1995-12-29 1999-10-05 Texas Instruments Incorporated Microprocessor system with capability for asynchronous bus transactions

Also Published As

Publication number Publication date
US20020056028A1 (en) 2002-05-09
TW410295B (en) 2000-11-01
US6405288B1 (en) 2002-06-11
US6564300B2 (en) 2003-05-13

Similar Documents

Publication Publication Date Title
DE60204687T2 (de) Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird
DE4237417C2 (de) Datenverarbeitungssystem
DE10316725B4 (de) Datenverwaltungsverfahren für ein Distributed Shared Memory-System
DE60010674T2 (de) Hochgeschwindigkeits-prozessorsystem, verfahren zu dessen verwendung und aufzeichnungsmedium
DE19983687B4 (de) Verarbeitung geordneter Datenanforderungen an einen Speicher
DE19983589B4 (de) Hochfrequenz-Pipeline-Entkopplungswarteschlangengestaltung
DE69814137T2 (de) Cache-speicherbetrieb
DE4335475A1 (de) Datenverarbeitungseinrichtung mit Cache-Speicher
DE102006046417A1 (de) Datenverarbeitungssystem und Verfahren zum Extrahieren von Daten aus einem OneNAND-Flash-Speicher in ein RAM-Speicherbauelement
DE102007059927A1 (de) Verfahren zum Übertragen von Daten in einem Speichersystem und Speichersystem
DE60008148T2 (de) System und verfahren zum abrollen von schleifen in einem trace-cache
WO2005091131A2 (de) Computersystem zur elektronischen datenverarbeitung
DE4213073A1 (de) Cache-steuergeraet und verfahren zur auswahl eines pfades eines cache-verzeichnisses bei einem zeilen-fuell-zyklus
DE69831775T2 (de) Verarbeitungsvorrichtung für zerteilte Schreibdaten in Speichersteuerungseinheiten
DE19945993B4 (de) Plattenschreibvollendungssystem
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE102015203202B4 (de) Speicher-Subsystem mit auf ein Wrapped-Lesen folgendem kontinuierlichen Lesen
DE19526008A1 (de) Vertikal partitionierter, primärer Befehls-Cache-Speicher
EP1079307B1 (de) Verfahren zum Betrieb eines Speichersystems sowie Speichersystem
DE19908618A1 (de) Gemeinsam genutzter Hochleistungscachespeicher
DE19956114A1 (de) Verfahren und System zur Steuerung des Speicherzugriffs durch eine zentrale Verarbeitungseinheit in einem Computersystem
EP0075714B1 (de) Onchip Mikroprozessorcachespeicher und Verfahren zu seinem Betrieb
DE10084982B4 (de) Steuern einer Burst-Sequenz in synchronen Speichern
DE60130300T2 (de) Bus, der auf einer Flanke eines Taktsignals abtastet und auf der anderen Flanke treibt
DE2530599C2 (de) Verfahren und Schaltungsanordnung zur Steuerung von Ein-/Ausgabe-Geräten

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection