DE69031696T2 - Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffen - Google Patents
Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffenInfo
- Publication number
- DE69031696T2 DE69031696T2 DE69031696T DE69031696T DE69031696T2 DE 69031696 T2 DE69031696 T2 DE 69031696T2 DE 69031696 T DE69031696 T DE 69031696T DE 69031696 T DE69031696 T DE 69031696T DE 69031696 T2 DE69031696 T2 DE 69031696T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- address
- field
- identification
- marker
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 title claims description 213
- 239000003550 marker Substances 0.000 claims description 90
- 230000004044 response Effects 0.000 claims description 11
- 238000010200 validation analysis Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
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)
Description
- Die vorliegende Erfindung betrifft einen Cache-Speicher, der als Hochgeschwindigkeits-Lokalspeicher eines Mikroprozessors verwendet wird.
- Fig. 10 zeigt den Aufbau eines herkömmlichen Cache-Speichers, welcher ein Beispiel eines Befehls-Cache-Speichers vom Direktabbildungssystem ist, das bei einem Befehlsabrufinechanismus eines Mkroprozessors zu verwenden ist. Die Konfiguration von Fig. 10 weist auf eine Eingabeadresse 1, einen Adressen-Latch-Speicher 2, in welchem ein Abschniff niedriger Ordnung der Eingabeadresse gespeichert wird, einen Eingangsadressenabschniff niedriger Ordnung 3, einen Adressen-Latch-Abschnitt niedriger Ordnung 4, eine Datenadressen-Auswahlvorrichtung 5 zum Erzielen einer Auswahl zwischen dem Eingangsadressenabschnitt niedriger Ordnung 3 und dem Adressen-Latch-Abschnitt niedriger Ordnung 4, ein Identifizierungsfeld a 6a, einen Komparator 7 zum Vergleichen eines Abschnitts hoher Ordnung der Eingabeadresse mit einer von dem Identifizierungsfeld a 6a ausgelesenen Adresse, ein Datenfeld 8, ein Gültigkeitsmarkerfeld a 9a, in welchem ein Gültigkeitsmarker gespeichert wird, der die Gültigkeit von Daten im Datenfeld 8 bezeichnet, einen Lesemarker 10, der von dem Gültigkeitsmarkerfeld a 9a erhalten wurde, einen Aktualisierungsbus 11 zum Übertragen von Aktualisierungsdaten des Datenfeldes 8, eine Daten-Auswahleinrichtung 12, um eine Auswahl zwischen von dem Identifizierungsfeld a 6a gelesenen Daten und Daten vom Aktualisierungsbus 11 durchzufthren, Ausgabedaten 13, ein Treffersignal 14, das vom Signal vom Komparator 7 und dem Lesemarker 10 erzeugt wird, ein Speicherlese-Anforderungssignal 16, das beim Auftreten eines Fehlgriffs einem Speicher auf einem anderen Hierarchieniveau (nachfolgend einfach als Speicher bezeichnet) zugeführt wird, ein Speicherlese-Quittungssignal 17, das vom Speicher als Antwort auf das Speicherlese-Anforderungssignal 16 abgegeben wird, und eine Steuereinrichtung 18 zum Ausgeben des Speicherlese-Anforderungssignals 16 an den Speicher und zum Empfangen des Speicherlese-Quittungssignals von diesem.
- Nachfolgend wird die Funktionsweise des so konfigurierten Beispiels des herkömmlichen Cache-Speichers beschrieben.
- Fig. 11 ist ein Signal-Zeitverlaufsdiagramm für den Speicher des Standes der Technik. Bezugnehmend auf dieses Diagramm wird die Funktionsweise nun in der Operationsreihenfolge beschrieben (in der Reihenfolge der Zyklusnummern von C0 bis C3).
- Eine Adresse n für ein Zurückladen wird in die Eingabeadresse geladen. Basierend auf dem Abschnitt niedriger Ordnung (Entry-Adresse) der Eingangsadresse 1 werden Leseoperationen beim Identifizierungsfeld a 6a und dem Gültigkeitsmarkerfeld a 9a erreicht. Die von dem Identifizierungsfeld a 6a ausgelesene Adresse wird mit dem Abschnitt hoher Ordnung (Identifizierungsdaten) der Eingabeadresse 1 in dem Komparator 7 verglichen. Basierend auf einem Ergebnis des Vergleichs vom Komparator 7 und den Daten vom Gültigkeitsmarkerfeld a 9a wird ein Treffersignal erzeugt. Im Zyklus C0 stimmen die Identifizierungen nicht miteinander überein, und daher wird ein Fehlgriff angenommen. Die Steuereinrichtung 18 erzeugt dann ein Speicherlese-Anforderungssignal 16, um eine Leseanforderung an einen Speicher zu schicken.
- Beim Empfangen eines Speicherlese-Quittungssignals 17 vom Speicher erkennt die Steuereinrichtung 18, daß ein Zugriff auf den Speicher begonnen wurde (C1 ist einem Speicherlesezyklus zugeordnet), und führt danach die folgenden Operationen durch.
- Laden des Adressen-Latch-Speichers mit dem Inhalt der Eingabeadresse 1 im vorhergehenden Zyklus.
- Aktualisieren der Identifizierungsdaten des Identifizierungsfeldes a 6a für die Entry-Adresse.
- Nullstellen des Markers im Gültigkeitsmarkerfeld a 9a für die Entry-Adresse (alle mit der Entry-Adresse zusammenhängenden Bits).
- Daten vom Speicher werden dem Aktualisierungsbus 11 zugeführt und dann werden die Daten des Datenfeldes 8 im Zusammenhang mit der Entry-Adresse aktualisiert (der Adressen-Latch-Speicherabschnitt 4 niedriger Ordnung ist durch die Datenadressen-Auswahleinrichtung 5 gewählt). Gleichzeitig wird ein Marker (ein einziges Bit) im Güitigkeitsmarkerfeld a 9a für die Entry-Adresse gesetzt. Dabei wählt die Daten-Wähladresse 12 den Aktualisieningsbus 11, um auf diesem befindliche Daten als Ausgabedaten 13 auszugeben.
- Die Eingabeadresse 1 wird im voraus mit einer Adresse n+2 geladen, und daher liest das System Daten aus dem Identifizierungsfeld a 6a und dem Gültigkeitsmarkeifeld a 9a unter Verwendung der Adresse n+2 aus, was zu einem Fehlgriff führt. Die Steuereinrichtung 18 erzeugt ein Speicherlese-Anforderungssignal 16, um eine Leseanforderung an den Speicher zu schicken.
- Jedoch wird mit dem obigen Aulbau beim Auftreten eines Fehlgriffes im Cache-Speicher das nächste Adressenrückladen in einem Wartezustand gehalten, bis die Cache-Speicher-Aktualisierungsoperation abgeschlossen ist. Und zwar ist bei einem Fehlgriff im Cache-Speicher das nächste Adressenrückladen lediglich möglich, wenn Daten aus einem Speicher auf dem anderen Hierarchieniveau ausgelesen werden, und dann wird der Cache-Speicher demgemäß aktualisiert. Dies führt zu dem Problem, daß mit einem Fehlgriff des Cache-Speichers ein beträchtlicher 0verhead verbunden ist. Eine derartige Anordnung des Standes der Technik ist beispielsweise in EP-A-0 115 036 gezeigt. Im übrigen können, indem ein Zwei-Port-Speicher als Cache-Speicher verwendet wird, die Aktualisierung und das Zurückladen des Inhaltes des Cache-Speichers, d.h. die Cache-Speicherlese- und - Schreiboperationen gleichzeitig durchgeführt werden. Jedoch tritt in diesem Fall ein anderes Problem auf, daß eine derartige Konfiguration einen erhöhten Elächen- oder Raumbedarf hat, und daher nicht als Lokalspeicher eines Mikroprozessors verwendet werden kann.
- Die vorliegende Erfindung zielt auf die Lösung der vorstehenden Probleme, wie dargelegt in den beigefügten Ansprüchen.
- Ein Ziel der Erfindung ist, einen Cache-Speicher bereitzustellen, in welchem, ohne daß irgendeine Veränderung beim Aulbau des Cache-Speichers erforderlich ist, ein Aktualisieren, das mit einem Fehlgriff in Zusammenhang steht, und eine Entscheidung über einen eine nachfolgende Adresse betreffenden Fehlgriff gleichzeitig ausgeführt werden.
- Um das obige Ziel zu erreichen beinhaltet der Cache-Speicher gemäß der ersten Ausführungsform der vorliegenden Erfindung: ein Identifizierungsfeld, auf welches für eine Leseoperation zugegriffen wird, indem ein Abschnitt niedriger Ordnung einer Adresse verwendet wird, und welches einen Abschnitt hoher Ordnung der Adresse speichert, ein Datenfeld zum Speichern von einer Adresse zugehörigen Daten, ein Gültigkeitsmarkerfeld zum Speichern eines Gültigkeitsmarkers von Daten, die zu einer Adresse gehören, eine Treffer-Entscheidungseinrichtung, welche als Eingangsgrößen eine vom Identifizierungsfeld ausgelesene Adresse, den Abschnitt hoher Ordnung der Adresse und einen vom Gültigkeitsmarkerfeld empfangenen Gültigkeitsmarker empfängt und über das Auftreten eines Treffers oder eines Fehlgriffes entscheidet, und eine Steuereinrichtung zum Erzeugen eines Schreibmarkers für das Gültigkeitsmarkerfeld. Mit dieser Konfiguration wird bei einer Schreiboperation des Identifizierungsfeldes der von der Steuereinrichtung erzeugte Schreibmarker in das Gültigkeitsmarkerfeld geschrieben, wodurch die Beurteilung des Auftretens eines Fehlgriffes von einer nachfolgenden Adresse während des Aktualisierens für einen Fehlgriff ausgeführt wird.
- Ein Ziel einer zweiten Ausführungsform der vorliegenden Erfindung ist, einen Cache-Speicher bereitzustellen, bei dem, ohne Veränderung des Aufbaus des Cache-Speichers, ein Aktualisieren bei einem Fehlgriff und eine Entscheidung über einen Fehlgriff der nächsten Adresse gleichzeitig erreicht werden kann und darüber hinaus ein mit einer Treffer-Operation zusammenhängender Overhead nach dem Auftreten eines Fehlgriffes vermindert werden kann.
- Um das obige Ziel zu erreichen beinhaltet der Cache-Speicher gemäß der zweiten Ausführungsform der vorliegenden Erfindung: ein Identifizierungsfeld, auf welches für eine Leseoperation zugegriffen wird, indem ein Abschnitt niedriger Ordnung einer Adresse verwendet wird, und welches einen Abschnitt hoher Ordnung der Adresse speichert, ein Datenfeld zum Speichern von emer Adresse zugehön gen Daten, ein Gültigkeitsmarkeffeld zum Speichern eines Gültigkeitsmarkers von Daten, die zu einer Adresse gehören, eine Treffer-Entscheidungseinrichtung, welche als Eingangsgrößen eine vom Identifizierungsfeld ausgelesene Adresse, den Abschnitt hoher Ordnung der Adresse und einen vom Gültigkeitsmarkerfeld empfangenen Gültigkeitsmarker empfängt und über das Auftreten eines Treffers oder eines Fehlgriffes entscheidet, eine Steuereinrichtung zum Erzeugen eines Schreibmarkers für das Gültigkeitsmarkerfeld, und einen Daten-Latch-Speicher, in welchem eine Ausgabegröße des Datenfeldes gespeichert wird. Mit obiger Konfiguration wird bei einer Schreiboperation des Identifizierungsfeldes der von der Steuereinrichtung erzeugte Schreibmarker in das Gültigkeitsmarkerfeld geschrieben, wodurch die Beurteilung des Auftretens eines Fehlgriffes von einer nachfolgenden Adresse während des Aktualisierens für einen Fehlgriff ausgeführt wird. Darüber hinaus können, da Daten für einen Treffer in voraus im Daten-Latch-Speicher aufbewahrt wurden, die Treffer-Daten unmittelbar nach Abschluß der Bearbeitung eines Fehlgriffes ausgegeben werden.
- Ein Ziel einer dritten Ausfiihrungsform der vorliegenden Erfindung ist, einen Cache-Speicher bereitzustellen, bei welchem, wenn unterschiedliche Gültigkeitsmarkerfelder in unmittelbar aufeinanderfolgender Weise verwendet werden, ein Aktualisieren bei einem Fehlgriff und eine Entscheidung über einen Fehlgriff einer nächsten Adresse gleichzeitig erreicht werden können.
- Um das obige Ziel zu erreichen beinhaltet der Cache-Speicher gemäß der dritten Ausftihrungsform der vorliegenden Erfindung: ein Identifizierungsfeld, auf welches für eine Leseoperation zugegriffen wird, indem ein Abschnitt niedriger Ordnung einer Adresse verwendet wird, und welches einen Abschnitt hoher Ordnung der Adresse speichert, ein Datenfeld zum Speichern von emer Adresse zugehörigen Daten, eine Mehrzahl von Güftigkeitsmarkerfeldem, in welchen jeweils ein Gültigkeitsmarker von zu einer Adresse gehörenden Daten gespeichert wird, und eine Treffer-Entscheidungseinrichtung, welche als Eingangsgrößen eine vom Identifzierungsfeld ausgelesene Adresse, den Abschnitt hoher Ordnung der Adresse und einen vom Gültigkeitsmarkerfeld empfangenen Gültigkeitsmarker empfängt und über das Auftreten eines Treffers oder eines Fehigriffes entscheidet. Mit dieser Konfiguration wird bei einer Schreiboperation des Identifizierungsfeldes der von der Steuereinrichtung erzeugte Schreibmarker in das Gültigkeitsmarkerfeld geschrieben, wodurch die Beurteilung des Auftretens eines Fehlgriffes von einer nachfolgenden Adresse während des Aktualisierens für einen Fehlgriff ausgeführt wird. Mit dieser Konfiguration wird, wenn ein Aktualisieren für einen Fehlgriff ausgeführt wird, ein Gültigkeitsmarker von einem anderen, noch nicht aktualisierten Giiltigkeitsmarkerfeld ausgelesen, wodurch über das Auftreten eines Fehlgriffes einer nachfolgenden Adresse entschieden wird, wenn das Aktualisieren für einen Fehlgriff ausgeführt wird.
- Es ist ein Ziel einer vierten Ausfiilmingsform der vorliegenden Erfindung ist, einen Cache-Speicher bereitzustellen, bei welchem, wenn unterschiedliche Gükigkeitsmarkerfelder in unmittelbar aufeinanderfolgender Weise verwendet werden, ein Aktualisieren bei einem Fehlgriff und eine Entscheidung über einen Fehlgriff einer nächsten Adresse gleichzeitig erreicht werden und bei dem ein Overhead für eine Trefferoperation nach dem Auftreten eines Fehlgriffes vermindert werden kann.
- Um das obige Ziel zu erreichen beinhaltet der Cache-Speicher gemäß der vierten Ausfülrrungsform der vorliegenden Erfindung: ein Identffizierungsfeld auf welches für eine Leseoperation zugegriffen wird, indem ein Abschnitt niedriger Ordnung einer Adresse verwendet wird, und welches einen Abschnitt hoher Ordnung der Adresse speichert, ein Datenfeld zum Speichern von einer Adresse zugehörigen Daten, eine Treffer-Entscheidungseinrichtung, welche als Eingangsgrößen eine vom Identifizierungsfeld ausgelesene Adresse, den Abschnitt hoher Ordnung der Adresse und einen vom Gültigkeitsmarkerfeld empfangenen Gültigkeitsmarker empfängt und über das Auftreten eines Treffers oder eines Fehigriffes entscheidet, und einen Daten-Latch-Speicher, in welchem eine Ausgabegröße des Datenfeldes gespeichert wird. Mit dieser Konfiguration wird bei einer Schreiboperation des Identifizierungsfeldes der von der Steuereüirichtung erzeugte Schreibmarker in das Gültigkeitsmarkerfeld geschrieben, wodurch die Beurteilung des Auftretens eines Fehlgriffes von einer nachfolgenden Adresse während des Aktualisierens für einen Fehlgriff ausgeführt wird. Mit dieser Konfiguration wird, wenn ein Aktualisieren für einen Fehlgriff ausgeführt wird, ein Güftigkeitsmarker von einem anderen, noch nicht aktualisierten Gültigkeitsmarkerfeld ausgelesen, wodurch über das Auftreten eines Fehlgriffes einer nachfolgenden Adresse entschieden wird, wenn das Aktualisieren für einen Fehlgriff ausgeführt wird. Weiter können, da mit einem Treffer zusammenliängende Daten im voraus im Daten-Latch-Speicher gespeichert werden, Daten, für welche nach dem Bearbeiten eines Fehlgriffs ein Treffer aufgetreten ist, sofort ausgegeben werden.
- Ein Ziel einer fünften Ausführungsform der vorliegenden Erfindung ist, einen Cache-Speicher bereitzustellen, bei welchem, wenn unterschiedliche Gültigkeitsmarkerfelder in unmittelbar aufeinanderfolgender Weise verwendet werden, ein Aktualisieren bei einem Fehlgriff und eine Entscheidung über einen Fehlgriff einer nächsten Adresse gleichzeitig erreicht werden können, wodurch es möglich wird, unmittelbar aufeinanderfolgende Fehlgriffe zu erfassen, sogar wenn Fehlgriffe unmittelbar aufeinanderfolgend auftreten.
- Um das obige Ziel zu erreichen beinhaltet der Cache-Speicher gemäß der fünften Ausführungsform der vorliegenden Erfindung: eine Mehrzahl von Identifizierungsfeldern, auf die jeweils für eine Leseoperation zugegriffen wird, indem ein Abschnitt niedriger Ordnung einer Adresse verwendet wird, und welches einen Abschnitt hoher Ordnung der Adresse speichert, ein Datenfeld zum Speichern von einer Adresse zugehörigen Daten, eine Mehrzahl von Gültigkeitsmarkerfeldern, in welchen jeweils ein Gültigkeitsmarker von zu einer Adresse gehörenden Daten gespeichert wird, eine Treffer-Entscheidungseinrichtung, welche als Eingangsgrößen eine vom Identifizierungsfeld ausgelesene Adresse, den Abschnitt hoher Ordnung der Adresse und einen vom Gültigkeitsmarkerfeld empfangenen Gültigkeitsmarker empfängt und über das Auftreten eines Treffers oder eines Fehlgriffes entscheidet, und eine Steuereinrichtunng zum Erzeugen eines Schreibmarkers für ein Gültigkeitsmarkerfeld. Mit dieser Konfiguration wird, während eine Schreiboperation in einem Identifizierungsfeld und eine Schreiboperation in einem Gültigkeitsmarkerfeld eines von der Steuereinrichtung erzeugten Schreibmarkers ausgeführt werden, eine Schreiboperation für eine nachfolgende Adresse von einem anderen Identifizierungsfeld und einem anderen Gültigkeitsmarkerfeld ausgeführt, wodurch das Auftreten eines Treffers oder eines Fehlgriffes bestimmt wird.
- Ein Ziel einer sechsten Ausflihrlingsform der vorliegenden Erfindung ist, einen Cache-Speicher bereitzustellen, bei welchem, wenn unterschiedliche Gültigkeitsmarkerfelder in unmittelbar aufeinanderfolgender Weise verwendet werden, ein Aktualisieren bei einem Fehlgriff und eine Entscheidung über einen Fehlgriff einer nächsten Adresse gleichzeitig erreicht werden, wodurch unmittelbar aufeinanderfolgend Fehlgriffe erfassen werden, sogar wenn die Fehlgriffe unmittelbar aufeinanderfolgend auftreten, und ein Overhead für eine Trefferoperation nach dem Aufireten eines Fehlgriffes vermindert wird.
- Um das obige Ziel zu erreichen beinhaltet der Cache-Speicher gemäß der sechsten Ausfiilirngsform der vorliegenden Erfindung: eine Mehrzahl von Identifizierungsfeldem, auf die jeweils für eine Leseoperation zugegriffen wird, indem ein Abschnitt niedriger Ordnung einer Adresse verwendet wird, und welches einen Abschnitt hoher Ordnung der Adresse speichert, ein Datenfeld zum Speichern von einer Adresse zugehörigen Daten, eine Mehrzahl von Gültigkeitsmarkerfeldern, in welchen jeweils ein Gültigkeitsmarker von zu einer Adresse gehörenden Daten gespeichert wird, eine Treffer-Entscheidungseinrichtung, welche als Eingangsgrößen eine vom Identifizierungsfeld ausgelesene Adresse, den Abschnitt hoher Ordnung der Adresse und einen vom Gültigkeitsmarkerfeld empfangenen Gültigkeitsmarker empfängt und über das Auftreten eines Treffers oder eines Fehlgriffes entscheidet, eine Steuereinrichtunng zum Erzeugen eines Schreibmarkers für ein Güitigkeitsmarkerfeld, und einen Daten-Latch-Speicher, in welchem eine Ausgabegröße des Datenfeldes gespeichert wird. Mit dieser Konfiguration wird, während eine Schreiboperation in einem Identifizierungsfeld und eine Schreiboperation in einem Gültigkeitsmarkerfeld eines von der Steuereinrichtung erzeugten Schreibmarkers ausgeführt werden, eine Schreiboperation für eine nachfolgende Adresse von einem anderen Identifizierungsfeld und einem anderen Gültigkeitsmarkerfeld ausgeführt, wodurch das Auftreten eines Treffers oder eines Fehlgriffes bestimmt wird. Weiter können, da mit einem Treffer zusammenhängende Daten im voraus im Daten-Latch-Speicher gespeichert werden, Daten, für welche nach der Bearbeitung eines Fehlgriffs ein Treffer aufgetreten ist, unverzüglich ausgegeben werden.
- Diese und weitere Ziel und Vorteile der vorliegenden Erfindung werden durch die folgende Beschreibung und die beigefügten Zeichnungen klar, welche zeigen:
- Fig. 1 ein schematisches Diagramrn, welches die Konfiguration eines Cache-Speichers gemäß der ersten und zweiten Ausführungsform der vorliegenden Erfindung zeigt;
- Fig. 2 ein Operations-Zeitablaufdiagramm des Cache-Speichers der ersten Ausführungsform der vorliegenden Erfindung;
- Fig. 3 ein Operations-Zeitablaufdiagramm des Cache-Speichers der zweiten Ausführungsform der vorliegenden Erfindung;
- Fig. 4 ein schematisches Diagramm, welches die Konfiguration eines Cache-Speichers gemäß der dritten und der vierten Ausführungsform der vorliegenden Erfindung zeigt;
- Fig. 5 ein Operations-Zeitablaufdiagramm des Cache-Speichers der dritten Ausführungsform der vorliegenden Erfindung;
- Fig. 6 ein Operations-Zeitablaufdiagramm des Cache-Speichers der vierten Ausführungsform der vorliegenden Erfindung;
- Fig. 7 ein schematisches Diagramm, welches die Konfiguration eines Cache-Speichers gemäß der fünften und sechsten Ausführungsform der vorliegenden Erfindung zeigt;
- Fig. 8 ein Operations-Zeitablaufdiagramm des Cache-Speichers der fünften Ausführungsform der vorliegenden Erfindung;
- Fig. 9 ein Operations-Zeitablaufdiagramm des Cache-Speichers der sechsten Ausführungsform der vorliegenden Erfindung;
- Fig. 10 ein Konfigurationsdiagramm, welches einen herkömmlichen Cache-Speicher zeigt; und
- Fig. 11 ein Operations-Zeitablaufdiagramm des herkömmlichen Cache-Speichers.
- Fig. 1 zeigt ein Konfigurationsdiagramm des Cache-Speichers einer ersten Ausführungsform gemäß der vorliegenden Erfindung. Diese Konfiguration ist ein Beispiel eines Befehls-Cache-Speichers eines Direktabbildungssystems, wobei jedem Eintrag (Entry) vier Worte zugewiesen sind, welcher in einem Befehls-Abrufmechanismus eines Mikroprozessors verwendet wird. In der Konfiguration von Fig. 1 sind dargestellt: eine Eingabeadresse 1, ein Adressen-Latch-Speicher 2, in welchem ein Abschnitt niedriger Ordnung der Eingabeadresse gespeichert wird, ein Eingangsadressenabschnitt niedriger Ordnung 3, ein Adressen-Latch-Abschnitt niedriger Ordnung 4, eine Datenadressen-Auswahlvorrichtung 5 zum Erzielen einer Auswahl zwischen dem Eingangsadressenabschnitt niedriger Ordnung 3 und dem Adressen-Latch-Abschniff niedriger Ordnung 4, ein Identifizierungsfeld a 6a, ein Komparator 7 zum Vergleichen eines Abschnitts hoher Ordnung der Eingabeadresse 1 mit einer von dem Identifizierungsfeld a 6a erhaltenen Adresse, ein Datenfeld 8, ein Gültigkeitsmarkerfeld a 9a, in welchem ein Gültigkeitsmarker gespeichert wird, der die Gültigkeit vom Datenfeld 8 erhaltenen Daten bezeichnet, ein Lesemarker 10, der von dem Gültigkeitsmarkerfeld a 9a erhalten wurde, ein Aktualisierungsbus 11 zum Übertragen von Aktualisierungsdaten des Datenfeldes 8, eine Daten-Auswahleinrichtung 12, um eine Auswahl zwischen von dem Identifizierungsfeld a 6a gelieferten Daten und über den Aktualisierungsbus 11 geschickten Daten durchzuführen, Ausgabedaten 13, ein Treffersignal 14, das vom Signal vom Komparator 7 und dem Lesemarker 10 erzeugt wird, ein Schreibmarker 15 für das Gültigkeitsmarkerfeld a 9a, ein Speicherlese-Anforderungssignal 16, das beim Auftreten eines Fehlgriffs einem Speicher zugeführt wird, ein Speicherlese-Quittungssignal 17, das vom Speicher ansprechend auf das Speicherlese-Anforderungssignal geschickt wird, und eine Steuereinrichtung 18, welche das Speicherlese-Anforderungssignal 16 an den Speicher ausgibt, das Speicherlese-Quittungssignal 17 vom Speicher empfängt, und ein Schreibmarker 15 basierend auf einem Abschnitt niedriger Ordnung (der zwei Bits enthält) der Eingabeadresse 1 erzeugt.
- Nachfolgend wird die Funktionsweise der auf diese Weise aufgebauten Ausführungsform beschrieben.
- Bezugnehmend auf Fig. 2, welche ein Signal-Zeitablaufdiagramm der Ausfünrüjngsform ist, wird die Funktionsweise in der Operationsreihenfolge (der Zyklusnummem C0 bis C5) beschrieben.
- Die Adresse n zum Zurückladen wird von der Eingabeadresse 1 zugeführt. Basierend auf dem Abschnitt niedriger Ordnung (einer Entry-Adresse) der Eingabeadresse 1 werden die Inhalte vom Identifizierungsfeld a 6a und dem Gültigkeitsmarkerfeld a 9a aus den jeweiligen Feldern erhalten. Der Komparator 7 vergleicht die sich ergebende Adresse und den oberen Abschnitt (Identifizierungsdaten) der Eingabeadresse. In Abhängigkeit von einem Ergebnis des Vergleichs und dem Lesemarker 10 wird ein Treffersignal 14 erzeugt. In diesem Fall Stimmen die Kennzeichnungen nicht miteinander überein und daher tritt ein Fehlgriff auf. Die Steuerungseinrichtung 18 erzeugt daher ein Speicherlese-Anforderungssignal 16, um eine Leseanforderung an den Speicher auszugeben.
- Der Speicher gibt ein Speicherlese-Quittungssignal 17 an die Steuereinrichtung 18 zurück, welche ihrerseits bestätigt, daß ein Zugriff auf den Speicher begonnen wurde (C1 gibt einen Speicherlesezyklus an) und führt dann die folgenden Operationen aus.
- Speichern des Abschnitts niedriger Ordnung der Eingabeadresse 1 des vorhergehenden Zyklus im Adressen-Latch-Speicher 2.
- Aktualisieren der Identifizierungsdaten des Identifizierungsfeldes a 6a für die Entry-Adresse.
- Aktualisieren eines Markers (welcher vier Bits beinhaltet) des Gültigkeitsmarkerfeldes a 9a für die Entry-Adresse.
- In dieser Ausführungsform ist pro Eintrag (Entiy) ein vier Bit Marker vorgesehen. Demzufolge erzeugt die Steuereinrichtung 13 einen vier Bit Schreibmarker 15 für die Entry-Adresse gemäß den zwei Bits niedriger Ordnung, wie in Tabelle 1 gezeigt. Das Gültigkeitsmarkerfeld a 9a schreibt den Schreibmarker 15 in einen der Entry-Adresse zugehongen vier Bit Marker. Tabelle 1: Schreibmarker-Erzeugung
- Der Speicher führt dem Aktualisierungsbus 11 Daten zu und dann werden Daten des Datenfeldes 8 basierend auf der Entry-Adresse aktualisiert (der Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 wird durch die Datenadressen-Auswahleinrichtung 5 ausgewählt). Zu diesem Zeitpunkt wählt die Daten-Wähleinrichtung 12 den Aktualisierungsbus 11, um Daten an die Ausgabedaten 13 zu liefern.
- Andererseits wird in die Eingabeadresse 1 einer Adresse n+1 geladen, so daß Inhake vom Identifizierungsfeld a 6a und dem Gültigkeitsmarkerfeld a 9a gelesen werden, wodurch ein Fehlgriff bestimmt wird. Im C2-Zyklus gibt, auch wenn die Identifizierungen miteinander übereinstimmen, der Gültigkeitsmarker eine Ungültigkeit an, und daher ist ein Fehlgriff aufgetreten.
- Wie im C1-Zyklus führt das System im Gültigkeitsmarkerfeld a 9a eine Aktualisierung eines Markers (der ein einziges Bit enthält) für die Entry-Adresse durch (ein Schreibmarker 15 wird in Übereinstimmung mit Tabelle 1 erzeugt, um den zu der Entry-Adresse gehörenden Ein-Bit-Marker zu aktualisieren). Das Identifizierungsfeld a 6a wird nicht aktualisiert.
- Der Speicher führt dem Aktualisierungsbus 11 Daten zu und dann werden Daten des Datenfeldes 8 für die Entry-Adresse aktualisiert (der Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 wird durch die Datenadressen-Auswahleinrichtung 5 gewählt). In diesem Moment wählt die Daten-Wähleinrichtung 12 den Aktualisierungsbus 11, um den Ausgangsdaten 13 Daten zu liefern.
- Andererseits wird die Eingabeadresse 1 mit einer Adresse n+2 geladen, um Inhalte vom Identifizierungsfeld a 6a und dem Gültigkeitsmarkerfeld a 9a auszulesen, was zu einem Treffer führt. Jedoch befindet sich das Datenfeld 8 in einer Aktualisierungsoperation und steht daher nicht für eine Leseoperation zur Verfligung. Demzufolge wird die Datenleseoperation aufgeschoben, um im nächsten Zyklus durchgeführt zu werden. Als Ergebnis bleibt die Adresse n+2 in die Eingabeadresse 1 geladen.
- Durch Verwendung der Adresse n+2 werden Inhalte des Identifizierungsfeldes a 6a und des Gültigkeitsmarkerfeldes a 9a erhalten, was zu einem Treffer führt. Daher liest das System Daten aus dem Datenfeld 8 an der Adresse n+2, um die Daten zu den Ausgangsdaten 13 zu schicken.
- Wie oben beschrieben kann in Übereinstimmung mit dieser Ausführungsform, durch das Vorsehen der Steuereüirichtung, welche einen Schreibmarker erzeugt, die Aktualisierung für einen Fehlgriff und die Beurteilung eines Fehlgriffes für die nachfolgende Adresse gleichzeitig erreicht werden, wodurch der Overhead beim Auftreten eines Fehlgriffes minimiert wird.
- Fig. 1 ist ein Konfigurationsdiagramm, welches ebenso den Aufbau eines Cache-Speichers der zweiten Ausführungsform gemäß der vorliegenden Erfindung zeigt.
- Der Cache-Speicher der zweiten Ausführungsform ist implementiert, indem zusätzlich die folgenden Bauelemente (angezeigt durch die unterbrochenen Linien) in der oben beschriebenen ersten Ausführungsform angeordnet werden. Und zwar sind die zusätzlichen Elemente ein Adressen-Latch-Speicher 2, in welchem der Inhalt der Eingabeadresse 1 in der ursprünglichen Datenform gespeichert wird, eine Identifizierungs-Auswahleinrichtung a 19a, um eine Auswahl zwischen den Inhalten der Eingabeadresse 1 bzw. dem Adressen-Latch-Speicher 2 durchzuführen und die gewählte Adresse an das Identifizierungsfeld a 6a auszugeben, eine Markeradressen-Auswahleüirichtung a 20a zum Durchführen einer Auswahl zwischen dem Eingabeadressenabschnitt niedriger Ordnung 3 und dem Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 und zum Ausgeben einer Adresse eines Gükigkeitsmarkerfeldes a 9a, auf das zugegriffen werden soll, sowie einen Daten-Latch-Speicher 21, in welchem eine Ausgabegröße des Datenfeldes 8 gespeichert wird.
- Nachfolgend wird die Funktionsweise der auf diese Weise aufgebauten Ausführungsform beschrieben.
- Fig. 3 ist ein Signal-Zeitablaufdiagramm der Ausführungsform. Die Funktionsweise wird gemäß der Operationsreihenfolge (in der Zyklusnummer-Reihenfolge von C0 bis C5 von Fig. 3) beschrieben. Da die beim Auftreten des Fehlgriffes auszuführende Operation ähnlich der bei der ersten Ausführungsform verwendeten ist, entfällt hier eine detaillierte Beschreibung.
- Es wird versucht, Daten bei einer Adresse n zurückzuladen, was aufgrund einer fehlenden Übereinstimmung zwischen Identifizierungen in einem Fehlgriff resultiert. Die Steuereinrichtung 18 erzeugt ein Speicherlese-Anforderungssignal 16 und gibt eine Speicherlese-Anforderung an den Speicher aus.
- Der Speicher schickt reagierend auf das Speicherlese-Anforderungssignal 16 ein Speicherlese-Quittungssignal 17 an die Steuereinrichtung 18, welche dann einen Beginn des Speicherzugriffs bestätigt (C1 ist ein Speicherlesezyklus), um nachfolgend die folgenden Operationen auszuführen.
- Aktualisieren des Identifizierungsfeldes a 6a und des Gültigkeitsmarkerfeldes a 9a (betreffend die Adresse wird der Inhalt des Adressen-Latch-Speicher 2 in der Idenfizierungsauswahleinrichtung a 19a und der Markeradressen-Auswahleinrichtung a 20a ausgewählt.
- Die Eingabeadresse 1 wird mit einer nächsten Adresse n+1 geladen. Gleichzeitig behält der Adressen-Latch-Speicher 2 die Adresse n des C0-Zyklus.
- Auf das Datenfeld 8 wird für eine Leseoperation bei der Adresse n+1 zugegriffen. Die erhaltenen Daten werden im Daten-Latch-Speicher 21 im nachfolgenden Zyklus gespeichert.
- Der Speicher führt dem Aktualisierungsbus 11 Daten zu, und dann werden die Daten im Datenfeld B für die Entry-Adresse aktualisiert (die Datenadressen-Auswahleinrichtung 5 wählt den Adressen-Latch-Speicherabschnitt 4 niedriger Ordnung aus). In diesem Moment wählt die Daten-Auswahleinrichtung 12 den Aktualisierungsbus 11 aus, um Daten den Ausgabedaten 13 zuzuführen.
- Andererseits wird auf das Identifizierungsfeld a 6a und das Gültigkeitsmarkerfeld a 9a für eine Leseoperation bei der Adresse n+1 zugegriffen, was in einem Fehlgriff resultiert. Im Zyklus C2 ist, auch wenn die Identifizierungen miteinander übereinstimmen, da der Gültigkeitsmarker eine Ungültigkeit anzeigt, der Fehlgriff aufgetreten.
- Die Steuereinrichtung 18 bestätigt die Einleitung des Speicherzugriffs (C3 ist ein Speicherlesezyklus). Das System führt nachfolgend die folgenden Operationen durch.
- Aktualisieren des Gültigkeitsmarkerfeldes a 9a (betreffend die Adresse wird der Inhalt des Adressen-Latch-Speichers 2 in der Marker-Adressenauswahleinrichtung a 20a ausgewählt).
- Die Eingabeadresse 1 wird mit einer nächsten Adresse n+2 geladen. Gleichzeitig behäft der Adressen-Latch-Speicher 2 die Adresse n+1 des C2-Zyklus.
- Auf das Datenfeld 8 wird für eine Leseoperation bei der Adresse n+2 zugegriffen.
- Die erhaltenen Daten werden im Daten-Latch-Speicher 21 im nachfolgenden Zyklus gespeichert.
- Der Speicher führt dem Aktualisierungsbus 11 Daten zu und dann werden Daten im Datenfeld 8 für die Entry-Adresse aktualisiert (die Datenadressen-Auswahleinrichtung wählt den Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 aus). Zu diesem Zeitpunkt wählt die Daten-Auswahleinrichtung 12 den Aktualisierungsbus 11, um die Daten den Ausgabedaten 13 zuzuführen.
- Andererseits wird auf das Identifizierungsfeld a 6a und das Gültigkeitsmarkerfeld a 9a für eine Leseoperation bei der Adresse n+2 zugegriffen, was in einem Treffer resultiert.
- Reagierend auf die Trefferentscheidung für die Adresse n+2 im vorhergehenden Zyklus wird der Inhalt des Daten-Latch-Speichers 21, der im voraus mit den bei der Adresse n+2 erhaltenen Daten geladen wurde, durch die Daten-Auswahleinrichtung 12 ausgewählt. Die ausgewählten Daten werden unmittelbar den Ausgabedaten 13 zugeführt.
- Demzufolge werden, im Fall eines nach einem Fehlgriff im Cache auftretenden Treffers die Daten ohne irgendeine Verzögerung unmittelbar der Daten-Ausgabedatei 13 zugeführt.
- Wie oben beschrieben können, in Übereinstimmung mit dieser Ausführungsform, dadurch daß die Steuereinrichtung, welche einen Schreibmarker erzeugt, vorgesehen ist, die Aktualisierung für einen Fehlgriff und die Beurteilung eines Fehlgriffs für die nachfolgende Adresse gleichzeitig erreicht werden, wodurch der Overhead beim Auftreten eines Fehlgriffes minimiert wird. Da weiter ein Daten-Latch-Speicher an einem Ausgang des Datenfeldes angeordnet ist, werden während eines Speicherlesezyklus Daten der nächsten Adresse ausgelesen und im Daten-Latch-Speicher gehalten, was den Overhead der Treffer-Operation nach dem Auftreten eines Fehlgriffes vermindert.
- Fig. 4 ist ein Konfigurationsdiagramm eines Cache-Speichers in einer dritten Ausführungsform gemäß der vorliegenden Erfindung. Diese Konfiguration ist ein Beispiel eines Befehls-Cache-Speichers eines Direktabbildungssystems, das bei einem Befehlsabrufmechanismus eines Mikroprozessors verwendet wird. Die Konfiguration von Fig. 4 weist auf. eine Eingabeadresse 1, einen Adressen-Latch-Speicher 2, in welchem ein Abschnitt niedriger Ordnung der Eingabeadresse gespeichert wird, einen Eingangsadressenabschnitt niedriger Ordnung 3, einen Adressen-Latch-Abschnitt niedriger Ordnung 4, eine Datenadressen-Auswahlvorrichtung 5 zum Durchführen einer Auswahl zwischen dem Eingangsadressenabschnitt niedriger Ordnung 3 und dem Adressen-Latch-Abschnitt niedriger Ordnung 4, ein Identifizierungsfeld a 6a, einen Komparator 7 zum Vergleichen eines Abschnitts hoher Ordnung der Eingabeadresse mit einer von dem Identifizierungsfeld a 6a ausgelesenen Adresse, ein Datenfeld 8, Gültigkeitsmarkerfelder a 9a und b 9b, in welchen jeweils ein Gültigkeitsmarker gespeichert wird, der die Gültigkeit von Daten im Datenfeld 8 bezeichnet, Markeradressen-Auswähleinrichtungen a 20a und b 20b, um jeweils Adressen für die Gültigkeitsmarkerfelder a 9a und b 9b zu erzeugen, einen Lesemarker 10, einen Aktualisierungsbus 11 zum Übertragen von Aktualisierungsdaten des Datenfeldes 8, eine Daten-Auswahleinrichtung 12, um eine Auswahl zwischen vom Identiflzierungsfeld a 6a gelieferten Daten und über den Aktualisierungsbus 11 geschickten Daten durchzuführen, Ausgabedaten 13, ein Treffersignal 14, das vorn Signal vorn Komparator 7 und dem Lesemarker 10 erzeugt wird, ein Speicherlese-Anforderungssignal 16, das beim Auftreten eines Fehlgriffs einem Speicher zugeführt wird, ein Speicherlese-Quittungssignal 17, das vorn Speicher als Antwort auf das Speicherlese-Anforderungssignal geschickt wird, und eine Steuereinrichtung 18, welche das Speicherlese-Anforderungssignals 16 an den Speicher ausgibt und das Speicherlese-Quittungssignal 17 von diesem empfängt.
- Nachfolgend wird die Funktionsweise der wie oben beschrieben aufgebauten Ausführungsform beschrieben.
- In dieser Ausführungsform ist das System derart aufgebaut, daß. wenn das niedrigstwertige Bit (LSB) 0 oder 1 ist, das Gültigkeitsrnarkerfeld a 9a bzw. b 9b gewählt wird. Dem Mikroprozessor ist eine Sequenz von fortlaufend angeordneten Befehlen zugeordnet. Das heißt, wegen einer Charakteristik dieses Systems, daß das niedrigstwertige Bit einer Adresse abwechselnd einen Wert von 0 oder 1 annimmt und daher die Gültigkeitsmarkerfelder a9a und b 9b abwechselnd verwendet werden, arbeitet die Ausführungsform in vorteilhafter Art und Weise.
- Bezugnehmend auf Fig. 5, welche ein Signal-Zeitablaufdiagramm der Ausfiilirungsform zeigt, wird die Funktionsweise in der Operationsreihenfolge (der Zyklusnummern C0 bis C5) beschrieben.
- Eine Adresse n (LSB = 0) für ein Zurückladen wird von der Eingabeadresse 1 zugeführt. Basierend auf dem Abschnitt niedriger Ordnung (einer Entry-Adresse) der Eingabeadresse 1 werden die Inhalte des Identifizierungsfeldes a 6a und des Gültigkeitsmarkerfeldes a 9a aus den jeweiligen Feldern erhalten. Der Komparator 7 vergleicht die erhaltene Adresse und den oberen Abschnitt (Identifizierungsdaten) der Eingabeadresse. In Abhängigkeit von einem Ergebnis des Vergleichs und einem Signal, das zu einem aus dem Gükigkeitsmarkerfeld aga ausgelesenen Ergebnis gehört, wird ein Treffersignal 14 erzeugt. Im C0-Zyklus stimmen die Identifizierungen nicht nüteinander überein und daher tritt ein Fehlgriff auf Die Steuereinrichtung 18 erzeugt daher ein Speicherlese-Anforderungssignal 16, um eine Leseanforderung an den Speicher auszugeben.
- Der Speicher gibt ein Speicherlese-Quittungssignal 17 an die Steuereinrichtung 18 zurück, welche ihrerseits bestätigt, daß ein Zugriff auf den Speicher begonnen wurde (C1 bezeichnet einen Speicherlesezyklus). Das System führt dann die folgenden Operationen aus.
- Speichern des Inhaltes der Eingabeadresse 1 des vorhergehenden Zyklus im Adressen-Latch-Speicher 2.
- Aktualisieren der Identifizierungsdaten des Identifizierungsfeldes a 6a für die Entry-Adresse.
- Nullstellen eines Markers (alle der Entry-Adresse zugehörigen Bits) des Gültigkeitsmarkerfeldes a 9a für die Entry-Adresse.
- Der Speicher führt dem Aktualisierungsbus 11 Daten zu und dann werden Daten des Datenfeldes 8 basierend auf der Entry-Adresse aktualisiert (der Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 wird durch die Datenadressen-Auswahleinrichtung 5 ausgewählt). Gleichzeitig wird ein Marker (der ein Bit umfaßt) als Entry-Adresse des Gültigkeitsmarkerfeldes a 9a gesetzt (der Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 wird durch die Marker-Adressenauswahleinrichtung a 20a ausgewählt). Zu diesem Zeitpunkt wählt die Daten-Wähleinrichtung 12 den Aktualisierungsbus 11, um Daten an die Ausgabedaten 13 zu liefern.
- Andererseits wird in die Eingabeadresse 1 einer Adresse n+ 1 (LSB =1) geladen, so daß Inhalte vom Identifizierungsfeld a 6a und dem Gültigkeitsmarkerfeld a 9a gelesen werden, wodurch ein Fehlgriff bestimmt wird. Im C2-Zyklus gibt, auch wenn die Identifizierungen miteinander übereinstimmen, der Gültigkeitsmarker eine Ungültigkeit an, und daher ist ein Fehlgriff aufgetreten.
- Wie im C 1-Zyklus führt das System im Gültigkeitsmarkerfeld b 9b eine Nullstellen eines Markers (der ein einziges Bit enthält) für die Entry-Adresse durch. Das Identifizierungsfeld a 6a wird nicht aktualisiert.
- Der Speicher führt dem Aktualisierungsbus 11 Daten zu und dann werden Daten des Datenfeldes 8 für die Entry-Adresse aktualisiert (der Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 wird durch die Datenadressen-Auswahleinrichtung 5 gewählt). Gleichzeitig wird ein Marker (der ein Bit umfaßt) als Entry-Adresse des Gültigkeitsmarkerfeldes b 9b gesetzt (die Marker-Adressenauswahleinrichtung b 20b wählt den Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 aus). In diesem Moment wählt die Daten-Wähleinrichtung 12 den Aktualisierungsbus 11, um den Ausgangsdaten 13 Daten zu liefern.
- Andererseits wird die Eingabeadresse 1 mit einer Adresse n*2 (LSB = 0) geladen, um Inhalte vom Identifizierungsfeld a 6a und dem Gültigkeitsmarkerfeld a 9a auszulesen, was zu einem Treffer führt. Jedoch befindet sich das Datenfeld 8 in einer Aktualisierungsoperation und steht daher nicht für eine Leseoperation zur Verfügung. Demzufolge wird die Datenleseoperation aufgeschoben, um im nächsten Zyklus durchgeführt zu werden. Als Ergebnis bleibt die Adresse n+2 in die Eingabeadresse 1 geladen.
- Durch Verwendung der Adresse n+2 werden Inhalte des Identifizierungsfeldes a 6a und des Gültigkeitsmarkerfeldes a 9a erhalten, was zu einem Treffer führt. Daher liest das System Daten aus dem Datenfeld 8 an der Adresse n+2, um die Daten zu den Ausgangsdaten 13 zu schicken.
- Wie oben beschrieben kann in Übereinstimmung mit dieser Ausfiiiirungsform, durch Anordnen von zwei Gültigkeitmarkerfeldern, die Aktualisierung für einen Fehlgriff und die Beurteilung eines Fehlgriffes für die nachfolgende Adresse gleichzeitig erreicht werden, wodurch der Overhead beim Auftreten eines Fehlgriffes verringert wird.
- Fig. 4 ist ein Konfigurationsdiagramm, welches ebenso den Aufbau eines Cache-Speichers der zweiten Ausführungsform gemäß der vorliegenden Erfindung zeigt. Der Cache-Speicher der vierten Ausführungsform ist implementiert, indem zusätzlich die folgenden Bauelemente (angezeigt durch die unterbrochenen Linien) in der oben beschriebenen dritten Ausführungsform angeordnet werden. Und zwar sind die zusätzlichen Elemente ein Adressen-Latch-Speicher 2, in welchem der Inhalt der Eingabeadresse 1 in der ursprünglichen Datenform gespeichert wird, eine Identifizierungs-Auswahleinrichtung a 19a, um eine Auswahl zwischen den Inhaken der Eingabeadresse 1 bzw. dem Adressen-Latch-Speicher 2 durchzuführen und die gewählte Adresse an das Identifizierungsfeld a 6a auszugeben, sowie einen Daten-Latch-Speicher 21, in welchem eine Ausgabegröße des Datenfeldes 8 gespeichert wird.
- Nachfolgend wird die Funktionsweise der auf diese Weise aufgebauten Ausführungsform beschrieben.
- Fig. 6 ist ein Signal-Zeitablaufdiagramm der vierten Ausführungsform Die Funktionsweise wird nachfolgend gemäß der Operationsreihenfolge (in der Zyklusnummer-Reihenfolge von Co bis C5) von Fig. 6 beschrieben. Da die beim Auftreten des Fehigriffes auszuführende Operation ähnlich der bei der ersten Ausfijiinnngsform verwendeten ist, entfällt hier eine detaillierte Beschreibung.
- Eine Adresse n (LSB = 0) für ein Rückladen wird von der Eingabeadresse 1 zugeführt. Basierend auf dem Abschnitt niedriger Ordnung (Entry-Adresse) der Eingabeadresse 1 werden Inhake des Identifizierungsfeldes a 6a und des Gültigkeitsmarkerfeldes a 9a aus den jeweiligen Feldern ausgelesen. Als Ergebnis wird in Übereinstimmung mit einer fehlenden Übereinstimmung zwischen Identifizierungen ein Fehlgriff erfaßt. Die Steuereinrichtung 18 erzeugt ein Speicherlese-Anforderungssignal 16, um eine Speicherlese-Anforderung an den Speicher auszugeben.
- Der Speicher überträgt, reagierend auf das Speicherlese-Anforderungssignal 16 ein Speicherlese-Quittungssignal 17 an die Steuereinrichtung 18, welche dann einen Beginn des Speicherzugriffes erkennt (C1 ist ein Speicherlesezyklus). Das System führt nachfolgend die folgenden Operationen durch.
- Aktualisieren der Identifizierungsdaten des Identifizierungsfeldes a 6a für die Entry-Adresse.
- Nullstellen eines Markers (alle Bits des Eintrags (Entry) im Gültigkeitsmarkerfeld a 9a für die Entry-Adresse.
- In die Eingabeadresse 1 wird eine nachfolgende Adresse n+1 geladen. Gleichzeitig behäft der Adressen-Latch-Speicher 2 den Inhalt der Eingabeadresse im vorhergehenden Zyklus.
- Auf das Datenfeld 8 wird für eine Leseoperation bei der Adresse n+1 zugegriffen. Die erhaltenen Daten werden im Daten-Latch-Speicher 21 im nachfolgenden Zyklus gespeichert.
- Der Speicher schickt Daten zum Aktualisierungsbus 11 und dann werden Daten im Datenfeld 8 für die Entry-Adresse aktualisiert. Gleichzeitig wird ein Marker (von einem Bit) im Gültigkeitsmarkerfeld a 9a für die Entry-Adresse gesetzt. Zu diesem Zeitpunkt wählt die Daten-Auswahleinrichtung 12 den Aktualisierungsbus 11, um die Daten den Ausgabedaten 13 zuzuführen.
- Andererseits wird auf das Identifizierungsfeld a 6a und das Gültigkeitsmarkerfeld a 9a für eine Leseoperation bei der Adresse n+1 zugegriffen (LSB = 1), was in einem Fehlgriff resultiert. Im Zykltns C2 bezeichnet, auch wenn die Identifizierungen miteinander übereinstimmen, der Gültigkeitsmarker eine Ungültigkeit und daher ist ein Fehlgriff aufgetreten.
- C3 ist ein Speicher-Lesezyklus und führt somit die folgenden Operationen durch. Nullstellen eines Markers (der ein Bit beinhaltet) im Gültigkeitsmarkerfeld b 9b für die Entry-Adresse.
- In die Eingabeadresse 1 wird eine nachfolgende Adresse n+2 geladen. Gleichzeitig behäft der Adressen-Latch-Speicher 2 den Inhalt der Eingabeadresse 1 des vorhergehenden Zyklus.
- Auf das Datenfeld 8 wird für eine Leseoperation bei der Adresse n+2 zugegriffen. Die erhakenen Daten werden im nachfolgenden Zyklus in den Daten-Latch-Speicher 21 geladen.
- Der Speicher liefert Daten an den Aktualisierungsbus 11 und dann werden Daten im Datenfeld 8 für die Entry-Adresse aktualisiert. Gleichzeitig wird ein Marker (von einem Bit) im Güitigkeitsmarkerfeld a 9a für die Entry-Adresse gesetzt. Zu diesem Zeitpunkt wählt die Daten-Auswahleinrichtung 12 den Aktualisierungsbus 11, um die Daten den Ausgabedaten 13 zuzuführen.
- Andererseits wird auf das Identifizierungsfeld a 6a und das Gültigkeitsmarkerfeld a 9a für eine Leseoperation bei der Adresse n+2 (LSB = 0) zugegriffen, was in einem Treffer resultiert.
- Reagierend auf die Treffer-Entscheidung für die Adresse n+2 im vorhergehenden Zyklus wird der Inhalt des Daten-Latch-Speichers 21, der im voraus mit den bei der Adresse n+2 erhaltenen Daten geladen wurde, durch die Daten-Wähleinrichtung 12 ausgewählt. Die ausgewählten Daten werden unmittelbar zu den Ausgabedaten 13 geliefert.
- Demzufolge werden, falls in einem Cache-Speicher nach einem Fehlgriff ein Treffer stattlindet, die Daten obne irgendeine Verzögerung unmittelbar zu den Ausgabedaten 13 geschickt.
- Wie oben beschrieben kann in Übereinstimmung mit dieser Ausführungsform, durch das Vorsehen von zwei Gültigkeitsmarkerfeldern, die Aktualisierung für einen Fehlgriff und die Beurteilung eines Fehlgriffes für die nachfolgende Adresse gleichzeitig erreicht werden, wodurch der Overhead beim Auftreten eines Fehlgriffes minimiert wird. Weiter werden, da ein Daten-Latch-Speicher für eine Ausgangsgröße vom Datenfeld angeordnet ist, während eines Speicherlesezyklus Daten der nächsten Adresse erzielt und im Daten-Latch-Speicher gehalten, was den Overhead der Treffer-Operation nach dem Auftreten eines Fehlgriffs vermindert.
- Fig. 7 zeigt ein Konfigurationsdiagramm des Cache-Speichers einer ersten Ausführungsform gemäß der vorliegenden Erfindung. Diese Konfiguration ist ein Beispiel eines Befehls-Cache-Speichers eines Direktabbildungssystems, wobei jedem Eintrag (Entry) vier Worte zugewiesen sind, welcher in einem Befehls-Abrufmechanismus eines Mikroprozessors verwendet wird. In der Konfiguration von Fig. 7 sind dargestellt: eine Eingabeadresse 1, ein Adressen-Latch-Speicher 2, in welchem ein Abschnitt niedriger Ordnung der Eingabeadresse gespeichert wird, ein Eingangsadressenabschnitt niedriger Ordnung 3, ein Adressen-Latch-Abschnitt niedriger Ordnung 4, eine Datenadressen-Auswahlvorrichtung 5 zum Erzielen einer Auswahl zwischen dem Eingangsadressenabschnitt niedriger Ordnung 3 und dem Adressen-Latch-Abschnitt niedriger Ordnung 4, Identifizierungsfelder a 6a und b 6b, ein Komparator 7 zum Vergleichen eines Abschnitts hoher Ordnung der Eingabeadresse 1 mit einer von dem Identifizierungsfeld a 6a oder b 6b erhaltenen Adresse, ein Datenfeld 8, Gültigkeitsmarkerfelder a 9a und b 9b, in welchem jeweils ein Gültigkeitsmarker gespeichert wird, der die Gültigkeit Daten des Daterfeldes 8 bezeichnet, Markeradressenauswahleinrichtungen a 20a und b 20b, die jeweils Adressen für die Gültigkeitsmarkerfelder a 9a und b 9b erzeugen, ein Lesemarker 10, ein Aktualisierungsbus 11 zum Übertragen von Aktualisierungsdaten des Datenfeldes 8, eine Daten-Auswahleinrichtung 12, der eine Auswahl zwischen Datenfeld 8 gelieferten Daten und über den Aktualisierungsbus 11 geschickten Daten durchzuführt, Ausgabedaten 13, ein Treffersignal 14, das basierend auf einem Signal vom Komparator 7 und dem Lesemarker 10 erzeugt wird, ein Speicherlese-Anforderungssignal 16, das beim Auftreten eines Fehlgriffes zu einem Speicher geschickt wird, ein Speicherlese-Quittungssignal 17, das vom Speicher reagierend auf das Speicherlese-Anforderungssignal geschickt wird, einen Schreibmarker 15 für das Gültigkeitsmarkerfeld a 9a, eine Steuereinrichtung 18, welche das Speicherlese-Anforderungssignal 16 an den Speicher ausgibt, das Speicherlese-Quittungssignal 17 vom Speicher emfpängt und einen Schreibmarker 15, der auf dem niedrigsten Abschniff der Eingabeadresse 1 basiert, erzeugt, sowie Identifizierungs-Auswahleinrichtungen a 19a und b 19b zum Durchführen einer Auswahl zwischen der Eingabeadresse 1 und einem Ausgabegröße vom Adressen-Latch-Speicher 2, um die gewählte Adresse zur Identifizierungs-Auswahleinrichtung a 6a zu schicken.
- Nachfolgend wird die Funktionsweise der wie oben beschrieben aufgebauten fünften Ausführungsform beschrieben.
- In dieser Ausfühungsform ist das System derart aufgebaut, daß, wenn das niedrigstwertige Bit (LSB) 0 oder 1 ist, auf das Identifizierungsfeld a 6a und dem Gültigkeitsmarkerfeld a 9a bzw. das Identifizierungsfeld b 6b und das Gültigkeitsmarkerfeld b 9b zugegriffen wird. Dem Mikroprozessor ist eine Sequenz von fortlaufend angeordneten Befehlen zugeordnet. Das heißt, wegen einer Charakteristik dieses Systems, daß das niedrigstwertige Bit einer Adresse abwechseind einen Wert von 0 oder 1 annimmt und daher die Identifizierungsfelder a 6a und b 9b sowie die Gükigkeitsmarkerfelder a 6a und b 6b abwechseind verwendet werden, arbeitet die Ausführungsform in vorteilhafter Art und Weise.
- Bezugnehmend auf Fig. 8, welche ein Signal-Zeitablaufdiagramm der Ausführungsform zeigt, wird die Funktionsweise in der Operationsreihenfolge (der Zyklusnummern C0 bis C5) beschrieben. In dieser Hinsicht sind Aktualisierungseinrichtungen für die Gültigkeitsmarkerfelder a 9a und b 9b den Aktualisierungseinrichtungen ähnlich, die bei der ersten Ausführungsform verwendet werden.
- Eine Adresse n (LSB = 0) für ein Rückladen wird von der Eingabeadresse 1 zugeführt. In Übereinstimmung mit dem Abschnitt niedriger Ordnung (einer Entry-Adresse) der Eingabeadresse 1 werden Inhalte des Identifizierungsfeldes a 6a und des Gültigkeitsmarkerfeldes a 9a aus den jeweiligen Feldern ausgelesen. Der Komparator 7 vergleicht die Leseadresse und den oberen Abschnitt (Identifizierungsdaten) der Eingabeadresse 1. In Übereinstimmung mit dem Ergebnis des vom Komparator 7 vorgenommenen Vergleichs und dem gelesenen Inhalt des Gültigkeitsmarkerfeldes a 9a wird ein Treffersignal 14 erzeugt. Im C0-Zyklus stimmen die Identifizierungen nicht miteinander überein, und daher tritt ein Fehlgriff auf. Die Steuereinrichtung 18 erzeugt daher ein Speicherlese-Anforderungssignal 16, um eine Leseanforderung an den Speicher auszugeben.
- Der Speicher gibt ein Lese-Quittungssignal 17 an die Steuereinrichtung 18 zurück, welche ihrerseits bestätigt, daß ein Zugriff auf den Speicher begonnen hat (C1 bezeichnet einen Speicherlesezyklus). Das System führt dann die folgenden Operationen aus.
- Aktualisierung des Identifizierungsfeldes a 6a und des Gültigkeitsmarkerfeldes a 9a (betreffend die Adresse wählen die Identifizierungs-Auswähleinrichtung a 19a und die Marker-Adressenauswahleinrichtung a 20a den Inhalt des Adressen-Latch-Speichers 2 aus).
- In die Adresse 1 wird die folgende Adresse n+ 1 geladen. Gleichzeitig behält der Adressen-Latch-Speicher 2 die Adresse n des C0-Zyklus.
- Die Inhalte des Identifizierungsfeldes b 6b und des Gültigkeitsmarkerfeldes b 9b werden unter Verwendung der Adresse n+ 1 (LSB = 1) erzielt. Dies resultiert in einem Fehlgriff. Im C2-Zyklus zeigt, auch wenn die Identifizierungen miteinander übereinstimmen, der Gültigkeitsmarker eine Ungültigkeit an, und daher tritt ein Fehlgriff auf Die Steuereinrichtung 18 erzeugt ein Speicherlese-Anforderungssignal 16 und gibt dann eine Leseanforderung an den Speicher aus.
- Der Speicher führt dem Aktualisierungsbus 11 Daten zu, und dann werden Daten des Datenfeldes 8 basierend auf der Entry-Adresse aktualisiert (der Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 wird durch die Datenadressen-Auswahleüirichtung 5 ausgewählt). Zu diesem Zeitpunkt wählt die Daten-Auswahleüirichtung 12 den Aktualisierungsbus 11, um Daten an die Ausgangsdaten 13 auszugeben.
- Wenn der Beginn des Speicherzugriffes bestatigt ist (C2 ist ein Speicher-Lesezyklus), werden die folgenden Operationen ausgeführt.
- Aktualisieren des Gültigkeitsmarkerfeldes b 9b (betreffend die Adresse wählt die Markeradressen-Auswahleinrichtung b 20b den Inhalt des Adressen-Latch-Speichers 2 aus).
- Einladen der nächsten Adresse n+2 in die Eingabeadresse 1. Gleichzeitig behält der Adressen-Latch-Speicher 2 die Adresse n+1 des C1-Zyklus.
- Andererseits liest das System Inhalte des Identifizierungsfeldes a 6a und des Güitigkeitsmarkerfeldes a 9a unter Verwendung der Adresse n+2 (LSB = 0) aus, wodurch ein Treffer bestimmt ist. Da das Datenfeld 8 sich gerade in einer Aktualisierungsoperation befindet und daher auf dieses nicht für eine Daten-Leseoperation zugegriffen werden kann, wird die Leseoperation aufgeschoben, um im nächsten Zyklus durchgeführt zu werden. Demzufolge wird die Adresse n+2 weiter in der Eingabeadresse 1 behalten.
- Der Speicher gibt Daten an den Aktualisierungsbus 11 aus und dann werden Daten des Datenfeldes 8 basierend auf der Entry-Adresse aktualisiert (der Adressen-Latch-Speicherabschnitt niedriger Ordnung 4 wird durch die Datenadressen-Auswahleinrichtung 5 ausgewählt). Zu diesem Zeitpunkt wählt die Daten-Auswahleinrichtung 12 den Aktualisierungsbus 11, um Daten an die Ausgabedaten 13 zu schicken.
- Das System liest Inhalte aus dem Identifizierungsfeld a 6a und dem Gültigkeitsmarkerfeld a 9a aus, indem die Adresse n+2 verwendet wird, was in einem Treffer resultiert. Da das Datenfeld 8 sich gerade in einer Aktualisierungsoperation belindet und daher nicht für eine Daten-Leseoperation zur Verfügung steht, wird die Leseoperation aufgeschoben, um im nächsten Zyklus durchgeführt zu werden. Demzufolge wird die Adresse n+2 weiter in der Eingabeadresse 1 beibehalten.
- Das System liest Daten aus dem Identifizierungsfeld a 6a und dem Gültigkeitsmarkerfeld a 9a bei der Adresse n+2 aus. Dies resultiert in einem Treffer, so daß Daten aus dem Datenfeld 8 zur Verwendung der Adresse n+2 ausgelesen werden.
- Die aus dem Datenfeld 8 im vorhergehenden Zyklus erhaltenen Daten werden zu den Ausgabedaten 13 übertragen.
- Wie oben beschrieben können, in Übereinstimmung mit dieser Ausführungsform, bedingt durch das Vorsehen von zwei Identifizierungsfeldern und zwei Gültigkeitsmarkerfeldern, eine Speicher-Leseoperation und eine Fehlgriff-Beurteilung bei der nachfolgenden Adresse gleichzeitig bewerkstelligt werden, was im Ergebnis den Overhead vermindert, wenn in unmittelbar aufeinanderfolgender Weise ein Fehlgriff auftritt.
- Fig. 7 ist ein Konfigurationsdiagramm, welches ebenso den Aufbau eines Cache-Speichers der sechsten Ausführungsform gemäß der vorliegenden Erfindung darstellt. Der Cache-Speicher der sechsten Ausführungsform ist implementiert, indem zusätzlich ein (durch die unterbrochene Linie angezeigter) Daten-Latch-Speicher 21, in welchem eine Ausgangsgröße vom Datenfeld 8 gespeichert wird, in der oben beschriebenen fünften Ausführungsform angeordnet wird.
- Nachfolgend wird die Funktionsweise der auf diese Weise aufgebauten Ausführungsform beschrieben.
- Fig. 9 ist ein Signal-Zeitablaufdiagramm der sechsten Ausführungsform. Die Funktionsweise der Ausführungsform wird nachfolgend in Übereinstimmung mit der Operationsreihenfolge (in der Zyklusnummer-Reihenfolge C0 bis C5) von Fig. 9 beschrieben. Im übrigen sind die Aktualisierungseinrichtungen für die Identifizierungsfelder a 6a und b 6b, sowie die Gültigkeitsmarkerfelder a 9a und b 9b ähalich den in der fünften Ausführungsform verwendeten.
- Eine Adresse n (LSB = 0) für ein Rückladen wird von der Eingabeadresse 1 zugeführt. Basierend auf dem Abschnitt niedriger Ordnung (Entry-Adresse) der Eingabeadresse 1 werden Inhalte des Identifizierungsfeldes a 6a und des Gültigkeitsmarkerfeldes a 9a aus den jeweiligen Feldern ausgelesen. Als Ergebnis wird in Übereinstimmung mit einer fehlenden Übereinstimmung zwischen Identifizierungen ein Fehlgriff erfaßt. Die Steuereinrichtung 18 erzeugt ein Speicherlese-Anforderungssignal 16, um eine Speicherlese-Anforderung an den Speicher auszugeben.
- Der Speicher schickt, reagierend auf das Speicherlese-Anforderungssignal 16 ein Speicherlese-Quittungssignal 17 an die Steuereinrichtung 18, welche ihrerseits einen Beginn des Speicherzugriffes erkennt (C1 ist ein Speicherlesezyklus). Das System führt nachfolgend die folgenden Operationen durch.
- Aktualisieren der Identifizierungsdaten des Identifizierungsfeldes a 6a für die Entry-Adresse.
- Nullstellen eines Markers (alle Bits des Eintrags (Entry) im Gültigkeitsmarkerfeld a 9a für die Entry-Adresse.
- Laden der Eingabeadresse 1 mit einer nächsten Adresse n+ 1. Gleichzeitig behält der Adressen-Latch-Speicher 2 den Inhalt der Eingabeadresse im vorhergehenden Zyklus.
- Andererseits wird für die Adresse n+1 (LSB = 1) auf das Identifiziemngsfeld b 6b, das Gültigkeitsmarkerfeld b 9b und das Datenfeld 8 für eine Leseoperation zugegriffen. Dies resultiert in einem Treffer. Die erzielten Daten werden im Daten-Latch-Speicher 21 im nachfolgenden Zyklus gespeichert.
- Der Speicher liefert Daten an den Aktualisierungsbus 11 und dann werden Daten im Datenfeld 8 für die Entry-Adresse aktualisiert. Zu diesem Zeitpunkt wählt die Daten-Auswahleinrichtung 12 den Aktualisierungsbus 11 aus, um Daten zu den Ausgabedaten 13 zu schicken.
- Andererseits wird für die Adresse n+2 (LSB = 0) auf das Identifizierungsfeld a 6a und das Gültigkeitsmarkerfeldes b 9b für eine Leseoperation zugegriffen, was in einem Fehlgriff resultiert. Im Zyklus C2 bezeichnet, auch wenn die Identifizierungen miteinander übereinstimmen, der Gültigkeitsmarker Ungültigkeit an, und daher ist der Fehlgriff aufgetreten.
- Ansprechend auf den Treffer, der für die Adresse n+1 im C0-Zyklus bestimmt wurde, wählt die Daten-Auswahleinrichtung 12 den Inhalt des Daten-Latch-Speichers 21, welcher im voraus bei der Adresse n+1 erhaltene Daten enthält. Die erhaltenen Daten werden unmittelbar zu den Ausgangsdaten 13 geliefert.
- Im C3-Zyklus, welcher ein Speicherlesezyklus ist, werden die folgenden Operationen ausgeführt.
- Aktualisierung eines Markers (welcher ein Bit beinhaltet) im Gültigkeitsmarkerfeld a 9a für die Entry-Adresse.
- Laden der Eingabeadresse 1 mit einer nächsten Adresse n+3. Gleichzeitig behält der Adressen-Latch-Speicher 2 den Inhalt der Eingabeadresse 1 des vorhergehenden Zyklus.
- Andererseits wird auf das Identifizierungsfeld b 6b, das Gültigkeitsmarkerfeld b 9b und das Datenfeld 8 für eine Leseoperation bei der Adresse n+3 (LSB = 1) zugegriffen. Die erhaltenen Daten werden im nächsten Zyklus in den Adressen-Latch-Speicher 21 geladen.
- Der Speicher schickt Daten auf den Aktualisierungsbus 11 und dann werden Daten im Datenfeld 8 für die Entry-Adresse aktualisiert. Zu diesem Zeitpunkt wählt die Daten-Auswahleinrichtung 12 den Aktualisierungsbus 11, um die Daten zu den Ausgabedaten 13 zu schicken.
- Reagierend auf die Treffer-Entscheidung für die Adresse 11+3 im C3-Zyklus wird der Inhalt des Daten-Latch-Speichers 21, der im voraus mit den bei der Adresse n+1 erhaltenen Daten geladen wurde, durch die Daten-Wähleüirichtung 12 ausgewählt. Die erhaltenen Daten werden unmittelbar zu den Ausgabedaten 13 geliefert. Demzufolge werden, falls in einem Cache-Speicher nach einem Fehlgriff ein Treffer auftritt, die Daten ohne irgendeine Verzögerung unmittelbar zu den Ausgabedaten 13 geschickt.
- Wie oben beschrieben können in Übereinstimmung mit dieser Ausfüiirungsform, indem zwei Identifizierungsfelder und zwei Gültigkeitsmarkerfelder vorgesehen werden, eine Speicher-Leseoperation und eine Beurteilung eines Fehlgriifes für die nächste Adresse gleichzeitig bewerkstelligt werden, was den Gverhead bei einem in unmittelbar aufeinanderfolgender Weise auftretenden Fehlgriff minimiert. Weiter werden, da ein Daten-Latch-Speicher an einem Ausgang vom Datenfeld angeordnet ist, während eines Speicher-Lesezyklus Daten von der nächsten Adresse erhalten und im Daten-Latch-Speicher behalten, was den Overhead der Treffer-Operation nach dem Auftreten eines Fehlgriffes vermindert.
- Im übrigen ist, auch wenn die oben beschriebenen Ausführungsformen zwei Identifizierungsfelder bzw. zwei Gültigkeitsmarkerfelder enthalten, die Anzahl von jedem von diesen nicht auf zwei begrenzt. Wenn beispielsweise vier Identifikationsfelder und vier Gültigkeitsmarkerfelder verwendet werden sollen, brauchen lediglich zwei Bits niedriger Ordnung der Adresse zugewiesen werden, um eine Zielidentifikation und zurückzuladende Gültigkeitsmarkerfelder auszuwählen. Darüber hinaus tritt, da die Identifikations- und Gültigkeitsmarkerfelder lediglich durch Unterteilung des Raumes eingerichtet werden, keine Erhöhung der Fläche dieser Felder auf.
- Weiter wird bei den Ausfühnmgsformen als Abbildungssystem das Direktabbildungssystem verwendet; jedoch können die Ausführungsformen in einfacher Weise mit einem teilassoziativen oder vollassoziativen System konfiguriert sein.
- Wie oben festgestellt werden in Übereinstimmung mit der vorliegenden Erfindung die folgenden vorteilhaften Merkmale erzielt.
- (1) Ohne Veränderung der Konfiguration des Cache-Speicherabschnitts kann die Aktualisierung für einen Fehlgriff und die Beurteilung oder Bestimmung eines Fehlgriffes für die nächste Adresse gleichzeitig erreicht werden, was somit den Overhead beim Auftreten eines Fehlgriffes vermindert. Bei einem Verfahren, bei welchem ein durch die Steuereinrichtung erzeugter Schreibmarker in das Gültigkeitsmarkerfeld geschrieben wird, kann, ohne den Aufbau des Cache-Speichergliedes (einschließlich der Identifizierungs-, Daten- und Gültigkeitsmarkerfeldem) zu verändern. die Aktualisierung für einen Fehlgriff und die Beurteilung eines Fehlgriffs für die nächste Adresse gleichzeitig erzielt werden. Und zwar kann bei gleichbleibender Fläche des Cache-Speichergliedes die Operationsgeschwindigkeit des Cache-Speichers erhöht werden.
- (2) Ohne Veränderung der Konfiguration des Cache-Speichergliedes kann das obige Merkmal (1) erzielt werden; weiter kann der Overhead für eine Treffer-Operation nach einem Fehlgriff verringert werden. Indem ein Daten-Latch-Speicher der Einrichtung von (1) hinzugefügt wird, ist es möglich im voraus, während einer Leseoperation in einem Speicher auf einem anderen Hierarchieniveau für einen Fehlgriff, Daten der nachfolgenden Adresse im Daten-Latch-Speicher zu speichern. Im Falle eines Treffers, der nach einem Fehlgriff auftritt, können die Daten unmittelbar vom Daten-Latch-Speicher zugeführt werden. Als Ergebnis wird ein im Vergleich mit dem Fall von (1) deutlich vorteilhafteres Merkmal entwickelt.
- (3) Wenn in fortlaufender Weise unterschiedliche Gültigkeitsmarkerfelder verwendet werden, kann, durch gleichzeitiges Durchführen der Aktualisierung für einen Fehlgriff und der Beurteilung eines Fehlgriffes für die nächste Adresse, der Overhead beim Auftreten eines Fehlgriffes minhniert werden. Wenn die Konfiguration als Befehls-Cache Verwendung findet, wird, da die Adressen kontinuierlich zugewiesen werden, nicht ununterbrochen ein identisches Gültigkeitsmarkerfeld verwendet, was zu einer Verbesserung des vorteilhaften Merkmals führt. Zusätziich werden keine speziellen Hardware-Elemente, wie beispielsweise ein Zwei-Port-Speicher für das Gültigkeitsmarkerfeld verwendet. Dieses Feld wird lediglich durch einen Einfach-Port-Speicher aufgebaut. Und zwar wird dadurch im Vergleich zum herkömmlichen System die Leistungsfähigkeit dieses Systems verbessert, ohne die die Hardware bildenden Bauteile zu verstärken.
- (4) Wenn in fortlaufender Weise unterschiedliche Gültigkeitsmarkerfelder verwendet werden, kann das obige vorteilhafte Merkmal (3) erzielt werden, und weiter kann der Overhead für eine Treffer-Operation nach einem Fehlgriff minimiert werden. Durch Hinzufügen eines Daten-Latch-Speichers zur Einrichtung von (3) ist es möglich, im voraus Daten der nachfolgenden Adresse im Daten-Latch-Speicher zu speichern. Im Falle eines nach einem Fehlgriff auftretenden Treffers können die Daten unmittelbar vom Daten-Latch-Speicher zugeführt werden. Als Ergebnis wird die Operationsgeschwindigkeit weiter erhöht, welches im Vergleich mit dem Fall von (3) ein deutlicherer Vorteil ist.
- (5) Wenn in fortlaufender Weise unterschiedliche Gültigkeitsmarkerfelder und unterschiedliche Identifizierungsfelder verwendet werden, können, durch gleichzeitiges Ausführen von Speicherauslesen für einen Fehlgriff und der Beurteilung eines Fehlgriffes für die nächste Adresse, unmittelbar nacheinander auftretende Fehlgriffe fortlaufend erfaßt werden. Wenn die Konfiguration als Befehls-Cache Venvendung findet, wird, da die Adressen kontinuierlich zugewiesen werden, weder ein identisches Gültigkeitsmarkerfeld noch identische Identifikationsfelder unmittelbar unmittelbar aufeinanderfolgend verwendet, was zu einem noch vorteilhafteren Merkmal führt. Darüber hinaus wird, falls Fehlgriffe unmittelbar aufeinanderfolgend auftreten, der vorteilhafte Effekt viel stärker verbessert. Zusätzlich werden keine speziellen Hardware-Elemente, wie beispielsweise Zwei-Port-Speicher für die Gültigkeitsmarkerund Identifikationsfelder verwendet. Jedes dieser Felder ist lediglich durch einen Einfach-Port-Speicher aufgebaut. Das heißt, verglichen mit dem herkömmlichen System ist die Leistungsfähigkeit dieses Systems verbessert, ohne die die Hardware bildenden Bauteile zu verstärken.
- (6) Falls in fortlaufender Weise unterschiedliche Gültigkeitsmarkerfelder und unterschiedliche Identifikationsfelder verwendet werden, kann das vorteilhafte Merkmal von (5) erzielt werden, und weiter kann der Overhead für eine Treffer-Operation nach einem Fehlgriff minimiert werden. Indem zusätzlich ein Daten-Latch-Speicher in der Einrichtung von (5) angeordnet wird, ist es möglich, im voraus Daten in der nachfolgenden Adresse im Daten-Latch-Speicher zu speichern. Im Falle eines nach einem Fehlgriff auftretenden Treffers können die Daten unmittelbar vom Daten-Latch-Speicher zugeführt werden. Und zwar werden, ungeachtet Fehlgriff und Treffer, die Daten fortlaufend vom Cache-Speicher zugeführt, was zu einer weiteren Verbesserung des vorteilhaften Merkmals beiträgt.
- Kurz gesagt kann, in Übereinstimmung mit der vorliegenden Erfindung, ohne die die Hardware bildenden Elemente zu verstärken, eine Verbesserung der Leistungsfähigkeit des Cache-Speichers, welche die größte Rolle bei der Erhöhung der Operationsgeschwindigkeit des Mikroprozessors spielt, erreicht werden, wodurch der in der Praxis vorteilhafte Effekt beträchtlich verbessert wird.
- Auch wenn spezielle Ausführungsformen der Erfindung dargestellt und beschrieben wurden, ist es für Fachleute offensichtlich, daß verschiedene Anderungen und Modifikationen vorgenommen werden können.
Claims (5)
1. Cache-Speicher aufweisend:
einen Adressen-Latchspeicher (2) zum wahlweisen Speichern einer Entry-Adresse,
die in einer Eingabeadresse (1) enthalten ist, welche Identifizierungsdaten (tag data) und
die Entry-Adresse beinhaltet, und der gesamten Eingabeadresse (1);
mindestens ein Identifizierungsfeld (6a, 6b) zum Speichern einer Mehrzahl von
Identifizierungsdaten;
einen Komparator (7), der mit dem Identifizierungsfeld (6a, 6b) operativ
verbunden ist, um Identifizierungsdaten, welche aus dem Identifizierungsfeld (6a, 6b)
ausgelesen werden, reagierend auf die in der Eingabeadresse (1) enthaltene
Entry-Adresse, mit den in der Eingabeadresse (1) enthaltenen Identitizierungsdaten zu
vergleichen, und um ein Übereinstimmungssignal auszugeben, wenn eine
Übereinstimmung als Ergebnis des Vergleichs erhalten wird;
ein Datenfeld (8) zum Speichern von Daten, welche im Identifizierungsfeld (6a, 6b)
gespeicherten Identifizierungsdaten entsprechen;
eine Daten-Adressauswahleinrichtung (5), die mit dem Adressen-Latchspeicher (2)
und dem Datenfeld (8) operativ verbunden ist, um wahlweise die Eingangsadresse (1)
und eine Ausgangsgröße des Adressen-Latchspeichers (2) zu empfangen und um an das
Datenfeld (8) eine Adresse zum Zugreifen auf die Daten vom Datenfeld (8) auszugeben;
mindestens ein Gültigkeitsmarkerfeld (9a, 9b) zum Speichern eines
Gültigkeitsmarkers, der die Gültigkeit von im Datenfeld (8) gespeicherten Daten anzeigt,
und zwar entsprechend den im Identifizierungsfeld (6a, 6b) gespeicherten
Identifizierungsdaten; und
Trefferentscheidungseinrichtungen (7, 10, 14), die mit dem Komparator (7) und
dem Gültigkeitsmarkerfeld (9a, 9b) operativ verbunden sind, um das vom Komparator
(7) ausgegebene Übereinstimmungssignal und ein en vom Gültigkeitsmarkerfeld (9a, 9b)
ausgelesenen Gültigkeitsmarker zu empfangen, um einen Cachetreffer oder Fehlgriff zu
bestimmen,
dadurch gekennzeichnet, daß
er weiter aufweist: mindestens eine Markeradressen-Auswahleinrichtung (20a,
20b), die mit dem Gültigkeitsmarkerfeld (9a, 9b) und dem Adressen-Latchspeicher (2)
operativ verbunden ist, um wahlweise die Eingabeadresse (1) und eine Ausgangsgröße
aus dem Adressen-Latchspeicher (2) zu empfangen und um an das Gültigkeitsmarkerfeld
(9a, 9b) eine Adresse zum Zugreifen auf einen Gültigkeitsmarker vom
Gültigkeitsmarkerfeld (9a, 9b) auszugeben, und daß er so aufgebaut ist, daß, wenn
durch die Trefferentscheidungseinrichtungen (7, 10, 14) bestimmt ist, daß ein
vorhergehender Cache-Zugriff ein Fehlgriff war, die Daten-Adressauswahleinrichtung (5)
die im Adressen-Latchspeicher (2) gespeicherte Entry-Adresse an das Datenfeld (8)
ausgibt, so daß die im Datenfeld (8) gespeicherten Daten akttialisiert werden, und
gleichzeitig die Markeradressen-Auswahleinrichtung (20a, 20b) die im
Adressen-Latchspeicher (2) gespeicherte Entry-Adresse an das Gültigkeitsmarkerfeld
(9a, 9b) ausgibt, so daß ein Gültigkeitsmarker, der den aktualisierten Daten entspricht,
im Gültigkeitsmarkerfeld (9a, 9b) gesetzt wird.
2. Cache-Speicher nach Anspruch 1, welcher eine Mehrzahl von
Gültigkeitsmarkerfeldern (9a, 9b) und eine Mehrzahl von
Markeradressen-Auswahleinrichtungen (20a, 20b) aufweist, dadurch gekennzeichnet,
daß er so aufgebaut ist, daß, gleichzeitig mit dem Aktualisieren der Inhalte des
Datenfeldes (8) und des Gültigkeitsmarkerfeldes (9a, 9b), reagierend auf das Auftreten
eines Cachezugriff-Fehlgriffs, ein Zugriff auf ein anderes von den
Gültigkeitsmarkerfeldern (9a, 9b) erfolgt, indem die Eingangsadresse gewählt wird, um
aus dem anderen von den Gültigkeitsmarkerfeldern (9a, 9b) einen Gükigkeitsmerker
auszulesen, wodurch eine Treffer/Fehlgriff-Entscheidung über einen nachfolgenden
Cache-Zugriff vorgenommen wird.
3. Cache-Speicher nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß er weiter
einen Daten-Latchspeicher (2 1) aufweist, der mit den Datenfeld (8) operativ verbunden
ist, um von dem Datenfeld (8) ausgegebene Daten zu speichern, und daß er so aufgebaut
ist, daß, wenn durch die Trefferentscheidungseinrichtungen (7, 10, 14) bestimmt ist, daß
ein vorhergehender Cache-Zugriff ein Fehlgriff war, die Inhalte des Identifizierungsfeldes
(6a, 6b) und des Gültigkeitsmarkerfeldes (9a, 9b). entsprechend dem Fehlgriff des
vorhergehenden Cache-Zugriffs aktualisiert werden, und während ein Zuguif auf einen
externen Speicher erfolgt, die Datenadress-Auswahleinrichtung (5) die Eingabeadresse
(1) auswählt, so daß ein nachfolgender Cache-Zugriff auf das Datenfeld (8) erfolgt und
die dadurch erhaltenen Daten in dem Daten-Latch&peicher (21) gehalten werden, und,
wenn durch die Trefferentscheidungseinrichtungen (7, 10, 14) bestimmt ist, daß ein
nachfolgender Cache-Zugriff ein Treffer ist, die im Daten-Latchspeicher (21) gehaltenen
Daten ausgegeben werden.
4. Cache-Speicher nach einem der vorhergehenden Ansprüche, wobei der
Adressen-Latchspeicher (2) die Eingabeadresse (1) speichert, welche
Identifizierungsdaten und die Entiy-Adresse beinhaltet, dadurch gekennzeichnet, daß er
weiter aufweist: mindestens eine Identifizierungsauswahleinnrichtung(19a, 19b), die mit
dem Adressen-Latchspeicher (2) und dem Identifizierungsfeld (6a, 6b) operativ
verbunden ist, um wahlweise die Eingangsadresse (1) und eine Ausgangsgröße des
Adressen-Latchspeichers (2) zu empfangen und um an das Identifizienmgsfeld (6a, 6b)
eine Identifizierungsadresse zum Zugreifen auf Identifizierungsdaten vom
Identifizierungsfeld (6a, 6b) auszugeben; und einen Daten-Latchspeicher (21), der
operativ mit dem Datenfeld verbunden ist, um vom Datenfeld (8) ausgegebene Daten zu
speichern, und dadurch gekennzeichnet, daß er so aufgebaut ist, daß, wenn wenn durch
die Trefferentscheidungseinrichtungen (7, 10, 14) bestimmt ist, daß ein vorhergehender
Cache-Zugriff ein Fehlgriff war, die Inhalte des Identitizierungsfeldes (6a, 6b) und des
Gültigkeitsmarkerfeldes (9a, 9b) entsprechend dem Fehlgriff des vorhergehenden
Cache-Zugriffs aktualisiert werden, und während ein Zugriff auf einen externen Speicher
erfolgt, die Datenadress-Auswahleinrichtimg (5) die Eingabeadresse (1) auswählt, so daß
ein nachfolgender Cache-Zugriff auf das Datenfeld (8) erfolgt und die dadurch erhaltenen
Daten im Daten-Latchspeicher (2 1) gehalten werden, und, wenn durch die
Trefferentscheidungseintichtungen (7, 10, 14) bestimmt ist, daß ein nachfolgender
Cache-Zugriff ein Treffer ist, die im Daten-Latchspeicher (21) gehaltenen Daten
ausgegeben werden.
5. Cache-Speicher nach einem der vorhergehenden Ansprüche, in welchem eine
Mehrzahl von Gültigkeitsmarkelfeldern (9a, 9b) und eine Mehrzahl von
Markeradressen-Auswahleinhchtungen (20a, 20b) enthalten sind, und das
Identifizierungsfeld (6a, 6b) in eine Mehrzahl von separaten Identifizierungsfeldern (6a,
6b) unterteilt ist, so daß die unterteilten Identifizierungsfelder (6a, 6b) jeweils eine
Mehrzahl von Identifizierungsdaten speichern, und aufjedes der unterteilten
Identitizierungsfelder unabhangig zugegriffen werden kann,
und weiter dadurch gekennzeichnet, daß er eine Mehrzahl von
Identifizierungsauswahleinrichtungen (19a, 19b) aufiveist, um wahlweise jeweils die
Eingangsadresse (1) und eine Ausgangsgröße des Adressen-Latchspeichers (2) zu
empfangen und um an die Mehrzahl von Identifizierungsfeldern (6a, 6b) jeweils
Identifizierungsadressen zum Zugreifen auf Identifizierungsdaten von der Mehrzahl von
Identitizierungsfeldern (6a, 6b) auszugeben, sowie dadurch, daß er so aufgebaut ist, daß,
wenn emes von den Identifizierungsfelder (6a, 6b), eines von den
Gültigkeitsmarkerfeldern (9a, 9b) und das Datenfeld, reagierend auf auf das Auftreten
eines Cachezugriffzfehlgriffs, aktualisiert wird, die in dem Adressen-Latchspeicher (2)
gespeicherte Entry-Adresse von einem der Identifizierungsauswahleinrichtungen (19a,
19b) an das eine von den Identifizierungsfeldern (6a, 6b) ausgegeben wird, und von
einem der Markeradressen-Auswahleinrichtungen (20a, 20b) an das eine von den
Gültigkeitsmarkerfeldern (9a, 9b) ausgegeben wird, so daß das Aktualisieren der in
einem der Identifizierungsfelder (6a, 6b) gespeicherten Identitizierungsdaten, wenn
erforderlich, durchgeführt wird, und das Setzen eines Gültigkseitsmarkers entsprechend zu
aktualisierenden Daten in dem einen von den Gültigkeitsmarkerfeldern (9a, 9b)
durchgeführt wird, und gleichzeitig die Daten-Adressauswahleinrichtung (5) die im
Adressen-Latchspeicher (2) gespeicherte Entry-Adresse an das Datenfeld (8) ausgibt,
wodurch die Aktualisierung der im Datenfeld (8) gespeicherten zugehörigen Daten
vorgenommen wird, und gleichzeitig weiter ein Zugriff auf jedes andere von den
Identifizierungsfeldern (6a, 6b) und ein anderes von den Gültigkeitsmarkerfeldem (9a,
9b) durch Auswählen der Eingabeadresse (1) erfolgt, wodurch eine
Treffer/Fehlgriff-Entscheidung über einen nachfolgenden Cache-Zugriffvorgenommen
wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1157787A JPH0740247B2 (ja) | 1989-06-20 | 1989-06-20 | キャッシュメモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69031696D1 DE69031696D1 (de) | 1997-12-18 |
DE69031696T2 true DE69031696T2 (de) | 1998-06-04 |
Family
ID=15657286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69031696T Expired - Lifetime DE69031696T2 (de) | 1989-06-20 | 1990-06-20 | Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffen |
Country Status (5)
Country | Link |
---|---|
US (1) | US5210849A (de) |
EP (1) | EP0404126B1 (de) |
JP (1) | JPH0740247B2 (de) |
KR (1) | KR930006381B1 (de) |
DE (1) | DE69031696T2 (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04233642A (ja) * | 1990-07-27 | 1992-08-21 | Dell Usa Corp | キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法 |
US5483645A (en) * | 1990-10-26 | 1996-01-09 | Advanced Micro Devices, Inc. | Cache access system for multiple requestors providing independent access to the cache arrays |
GB9118312D0 (en) * | 1991-08-24 | 1991-10-09 | Motorola Inc | Real time cache implemented by dual purpose on-chip memory |
US5649154A (en) * | 1992-02-27 | 1997-07-15 | Hewlett-Packard Company | Cache memory system having secondary cache integrated with primary cache for use with VLSI circuits |
US5682515A (en) * | 1993-01-25 | 1997-10-28 | Benchmarq Microelectronics, Inc. | Low power set associative cache memory with status inhibit of cache data output |
US5535358A (en) * | 1993-12-27 | 1996-07-09 | Matsushita Electric Industrial Co., Ltd. | Cache memory control circuit and method for controlling reading and writing requests |
TW233354B (en) * | 1994-03-04 | 1994-11-01 | Motorola Inc | Data processor with memory cache and method of operation |
EP0698884A1 (de) * | 1994-08-24 | 1996-02-28 | Advanced Micro Devices, Inc. | Speicheranordnung für Mikroprozessorcache |
GB2293670A (en) * | 1994-08-31 | 1996-04-03 | Hewlett Packard Co | Instruction cache |
US5860127A (en) * | 1995-06-01 | 1999-01-12 | Hitachi, Ltd. | Cache memory employing dynamically controlled data array start timing and a microcomputer using the same |
KR100505633B1 (ko) * | 1999-03-24 | 2005-08-03 | 삼성전자주식회사 | 캐시 메모리의 데이터 독출 장치 및 방법 |
US7039657B1 (en) * | 1999-11-09 | 2006-05-02 | International Business Machines Corporation | Method, system, and program for accessing data from storage systems |
US7035979B2 (en) | 2002-05-22 | 2006-04-25 | International Business Machines Corporation | Method and apparatus for optimizing cache hit ratio in non L1 caches |
US7073030B2 (en) | 2002-05-22 | 2006-07-04 | International Business Machines Corporation | Method and apparatus providing non level one information caching using prefetch to increase a hit ratio |
US7139879B2 (en) * | 2003-07-24 | 2006-11-21 | International Business Machinces Corporation | System and method of improving fault-based multi-page pre-fetches |
JP2008107983A (ja) * | 2006-10-24 | 2008-05-08 | Nec Electronics Corp | キャッシュメモリ |
US9262318B1 (en) * | 2013-03-13 | 2016-02-16 | Marvell International Ltd. | Serial flash XIP with caching mechanism for fast program execution in embedded systems |
US11200294B2 (en) * | 2019-03-20 | 2021-12-14 | Hisense Visual Technology Co., Ltd. | Page updating method and display device |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5335335A (en) * | 1976-09-13 | 1978-04-01 | Nec Corp | Buffer storage |
US4228503A (en) * | 1978-10-02 | 1980-10-14 | Sperry Corporation | Multiplexed directory for dedicated cache memory system |
US4719568A (en) * | 1982-12-30 | 1988-01-12 | International Business Machines Corporation | Hierarchical memory system including separate cache memories for storing data and instructions |
JPS59213084A (ja) * | 1983-05-16 | 1984-12-01 | Fujitsu Ltd | バッファ記憶装置のアクセス制御方式 |
BR8406089A (pt) * | 1983-11-30 | 1985-09-24 | Fujitsu Ltd | Processo para controlar memoria intermediaria em aparelho de processamento de dados |
US4646233A (en) * | 1984-06-20 | 1987-02-24 | Weatherford James R | Physical cache unit for computer |
US4953073A (en) * | 1986-02-06 | 1990-08-28 | Mips Computer Systems, Inc. | Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories |
US4928239A (en) * | 1986-06-27 | 1990-05-22 | Hewlett-Packard Company | Cache memory with variable fetch and replacement schemes |
US4768148A (en) * | 1986-06-27 | 1988-08-30 | Honeywell Bull Inc. | Read in process memory apparatus |
EP0259967B1 (de) * | 1986-08-01 | 1994-03-23 | Fujitsu Limited | Verzeichnisspeicher |
JPH0668735B2 (ja) * | 1987-02-09 | 1994-08-31 | 日本電気アイシーマイコンシステム株式会社 | キヤツシユメモリ− |
JP2561261B2 (ja) * | 1987-02-18 | 1996-12-04 | 株式会社日立製作所 | バッファ記憶アクセス方法 |
US5019971A (en) * | 1987-04-13 | 1991-05-28 | Prime Computer, Inc. | High availability cache organization |
US4851993A (en) * | 1987-04-20 | 1989-07-25 | Amdahl Corporation | Cache move-in bypass |
US4954944A (en) * | 1987-04-23 | 1990-09-04 | Nec Corporation | Cache control circuit in cache memory unit with unit for enabling to reduce a read access time for cache memory |
JP2818415B2 (ja) * | 1988-05-18 | 1998-10-30 | 日本電気株式会社 | バッファ記憶装置 |
US5097409A (en) * | 1988-06-30 | 1992-03-17 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
US5032985A (en) * | 1988-07-21 | 1991-07-16 | International Business Machines Corporation | Multiprocessor system with memory fetch buffer invoked during cross-interrogation |
US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
-
1989
- 1989-06-20 JP JP1157787A patent/JPH0740247B2/ja not_active Expired - Lifetime
-
1990
- 1990-06-18 US US07/539,910 patent/US5210849A/en not_active Expired - Lifetime
- 1990-06-20 KR KR1019900009062A patent/KR930006381B1/ko not_active IP Right Cessation
- 1990-06-20 DE DE69031696T patent/DE69031696T2/de not_active Expired - Lifetime
- 1990-06-20 EP EP90111691A patent/EP0404126B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0404126A3 (de) | 1991-09-04 |
JPH0740247B2 (ja) | 1995-05-01 |
JPH0322155A (ja) | 1991-01-30 |
EP0404126B1 (de) | 1997-11-12 |
EP0404126A2 (de) | 1990-12-27 |
DE69031696D1 (de) | 1997-12-18 |
KR930006381B1 (ko) | 1993-07-14 |
US5210849A (en) | 1993-05-11 |
KR910001549A (ko) | 1991-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69031696T2 (de) | Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffen | |
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3750107T2 (de) | Cachespeicherkohärenzsteuerung mit einem Speicher, der ein laufendes Lesen anzeigt. | |
DE1956604C3 (de) | Datenverarbeitungsanlage | |
DE68902193T2 (de) | Datenspeicheranordnung. | |
DE69133302T2 (de) | Registerabbildung in einem einzigen Taktzyklus | |
DE69534113T2 (de) | Kompression der Befehlswörter eines Rechners | |
DE1499182C3 (de) | Datenspeichersystem | |
DE2415900A1 (de) | Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen | |
DE3011552A1 (de) | Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer | |
DE4335475A1 (de) | Datenverarbeitungseinrichtung mit Cache-Speicher | |
DE2630323A1 (de) | Datenspeichereinrichtung | |
DE3588061T2 (de) | Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät. | |
DE4022885A1 (de) | Verfahren zum neuadressieren eines speichers und speichersystem mit einer rangordnung | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE4103093C2 (de) | Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens | |
DE3750175T2 (de) | Mikroprozessor mit einem Cache-Speicher. | |
DE3919802A1 (de) | Speicherbaustein mit vektorprozessoren und einem skalarprozessor | |
DE4114053A1 (de) | Computersystem mit cachespeicher | |
DE69227267T2 (de) | Datencache-Speicher und Verfahren zur Speicherfehlerbehandlung während Zurückschreiben | |
DE19947055A1 (de) | Verfahren und Vorrichtung zur Steuerung eines Cache-Speichers | |
DE2710436C2 (de) | Datenverarbeitungseinrichtung | |
DE3850608T2 (de) | Cache-Speicheranordnung. | |
DE69030368T2 (de) | Tandem-Cache-Speicher | |
DE3931389C2 (de) | Vorrichtung zur Erfassung der Koinzidenz von in einer Pufferspeichersteuerung abgespeicherten Operanden |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: PANASONIC CORP., KADOMA, OSAKA, JP |