DE4213073A1 - Cache-steuergeraet und verfahren zur auswahl eines pfades eines cache-verzeichnisses bei einem zeilen-fuell-zyklus - Google Patents

Cache-steuergeraet und verfahren zur auswahl eines pfades eines cache-verzeichnisses bei einem zeilen-fuell-zyklus

Info

Publication number
DE4213073A1
DE4213073A1 DE4213073A DE4213073A DE4213073A1 DE 4213073 A1 DE4213073 A1 DE 4213073A1 DE 4213073 A DE4213073 A DE 4213073A DE 4213073 A DE4213073 A DE 4213073A DE 4213073 A1 DE4213073 A1 DE 4213073A1
Authority
DE
Germany
Prior art keywords
path
line
tag
pointer
unused
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.)
Withdrawn
Application number
DE4213073A
Other languages
English (en)
Inventor
Sundaravarathan Rajago Iyengar
James Nadir
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE4213073A1 publication Critical patent/DE4213073A1/de
Withdrawn 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

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 Erfindung bezieht sich allgemein auf Datenverarbei­ tungssysteme und insbesondere auf eine Einrichtung und ein Ver­ fahren zum Aktualisieren eines Zeigers für am weitesten zurück­ liegend benutzte Daten (LRU) in einem Steuergerät für einen Da­ ten-Cache.
Ein Cache ist ein kleiner örtlicher Speicher relativ hoher Geschwindigkeit, der zur Bildung eines örtlichen Speichers (eines Pufferspeichers) für häufig zugegriffene Speicherplätze eines größeren, relativ langsamen Hauptspeichers (Reservespeichers) dient. Durch örtliches Speichern der Infor­ mationen oder einer Kopie der Informationen kann der Cache Speicherzugriffe mithören und sie direkt und ohne Übertragung der Anforderung über den Systembus zum Hauptspeicher verarbei­ ten. Das Ergebnis ist geringerer Verkehr auf dem Speicherbus und verringerte Wartezeit auf dem CPU-Bus für den anfordernden Prozessor.
Gemäß einem älteren Vorschlag der Anmelderin (U.S.-Patent­ anmeldung Nr. 07/6 18 708 vom 28.11.1990) ist ein Cache-Steuer­ gerät mit einem Kennungs- oder Tag-RAM beschrieben, der in zwei Pfade bzw. Bänke organisiert ist. Jeder Pfad enthält einen Ken­ nungs- (Tag-) und Gültigkeitsbit-Speicher zum assoziativen Su­ chen des Verzeichnisses für Cache-Datenfeldadressen. Der ex­ terne Cache-Speicher ist derart organisiert, daß beide Pfade gleichzeitig für eine Anzahl von verfügbaren Speichermodulen im System zur Verfügung stehen, um dadurch zu ermöglichen, daß die Pfade-Zugriffszeit parallel zur Kennungs-Nachschlageoperation (tag lookup) abläuft.
In einer Puffer-Reservespeicher-Hierarchie kann der Fall eintreten, daß angeforderte Daten nicht zum aktuellen Zeitpunkt im Hochgeschwindigkeits-Pufferspeicher sind, so daß die Daten nur durch Zugriff auf den Reservespeicher gewonnen werden kön­ nen. Da es notwendig ist, für die neuen Daten im Puffer Platz zu schaffen, müssen Daten an einigen Plätzen im Puffer durch die neuen Daten ersetzt werden. Die neuen Daten ersetzen dann die Daten an einem ausgewählten Platz im Pufferspeicher, und die diesen Platz zuvor besetzenden Daten werden ersetzt, wobei von der Annahme ausgegangen wird, daß die gerade geholten Daten wahrscheinlich erneut gebraucht werden. Bei der Auswahl des zu ersetzenden Speicherplatzes wird von der Annahme ausgegangen, daß die jüngst verwendeten Daten (MRU), d. h. die zuletzt dem Puffer zugeführten Daten, erhalten bleiben sollten, da sie wahrscheinlich erneut benötigt werden. Im Gegensatz dazu wird der Inhalt desjenigen Datenplatzes, der am längsten ungebraucht (LRU) ist, wahrscheinlich nicht länger benötigt und kann sicher aus dem Puffer entfernt werden. Wenn diese Daten wieder benö­ tigt werden, kann das Duplikat einer Sicherungskopie aus dem Reservespeicher geholt werden. Ein als LRU-Zeiger ("am-läng­ sten-unbenutzt"-Zeiger) bezeichneter Zeiger wird aufrechterhal­ ten, der auf den nächsten von der Logik zum Ersatz vorgesehenen Speicherplatz hinweist. Die Auswahl dieses LRU-Zeigers beein­ flußt stark die Systemeffizienz, da von ihr die Zunahme oder Abnahme der Zugriffsanzahl zum Reservespeicher über eine vorge­ gebene Zeitspanne abhängig ist.
In konventionellen Puffer/Reservespeichersystemen weist ein LRU ("am längsten-unbenutzt")-Zeiger auf die Daten im Puffer hin, die am längsten unbenutzt sind, und diese Daten werden durch neue Daten aus dem Reservespeicher ersetzt. In dem in der o.g. älteren Anmeldung beschriebenen Steuergerät gibt es zwei Sektoren für jeden Pfad, was bedeutet, daß es zwei Zeilen von Daten an einer vorgegebenen, von der Zeilenauswahl (LS) ange­ steuerten Adresse gibt; jedoch wird dann nur eine Zeile (line) jeweils gefüllt. Daher könnte eine Zeile gültige Daten und die andere Zeile nicht-gültige Daten haben. Da gültige Daten je­ weils nur in eine Zeile eingesetzt werden können, wenn die Da­ ten in eine Zeile gebracht werden, so enthält diese Zeile die jüngst benutzten Daten, und ein konventioneller LRU-Algorithmus würde stets bestimmen, daß der LRU-Zeiger auf diese Zeile nicht hinweist. Dadurch wäre jedoch keine effiziente Benutzung des bei der oben beschriebenen Zwei-Sektor-Anordnung verfügbaren Raums erreicht.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Ein­ richtung und ein Verfahren zur Aktualisierung eines LRU-Zeigers in einem Steuergerät für einen Daten-Cache zur Verfügung zu stellen, in welchem es zwei Sektoren pro Pfad gibt.
Diese Aufgabe wird erfindungsgemäß durch die Merkmale der Patentansprüche gelöst. Die Erfindung verwendet einen Cache- Steuergerät-Kennungs-RAM, der in zwei Pfade konfiguriert ist, wobei jeder Pfad einen Kennungs- und Gültigkeitsbit-Speicher zum assoziativen Suchen des Verzeichnisses für Cache-Daten-Zu­ griffsadressen aufweist. Die beiden Pfade, ein rechter Pfad und ein linker Pfad speichern jeweils Kennungs-Adressen. Wäh­ rend einer Zeilenfüllung zu einem der Pfade werden zwei Zeilen ausgewählt bzw. angesteuert. Ein LRU-Zeiger wählt den in einem Zeilen-Füllzyklus zu füllenden Pfad aus. Der rechte Pfad wird für eine Zeilenfüllung in Antwort auf ein rechtes Treffersignal ausgewählt, wenn der LRU-Zeiger auf den rechten Pfad hinweist. Der LRU-Zeiger springt auf den linken Pfad um, wenn die rechte Zeile des rechten Pfades gefüllt ist. Der linke Pfad wird für eine Zeilenfüllung in Abhängigkeit von einem linken Treffersi­ gnal angesteuert, wenn der LRU-Zeiger auf den linken Pfad hin­ weist. Der LRU-Zeiger wird auf den rechten Pfad umgeschaltet, wenn die linke Zeile des linken Pfades gefüllt ist.
Gemäß einer Weiterbildung wird der LRU-Zeiger nur bei einem Lese-Fehlversuchzyklus und einem Schreib-Trefferzyklus aktuali­ siert und wird bei einem Lese-Trefferzyklus ungeändert gelas­ sen.
Ein wesentlicher Vorteil der Erfindung liegt darin, daß durch Fortlassen der Aktualisierung des LRU-Zeigers bei einem Lese-Treffer der Algorithmus ein Puffer/Reservespeichersystem favorisiert, bei dem der Verkehr auf dem Bus vorwiegend aus Schreibzyklen besteht.
Im folgenden wird die Erfindung anhand eines in der Zeich­ nung dargestellten bevorzugten Ausführungsbeispiels näher er­ läutert. In der Zeichnung zeigen.
Fig. 1 ein Blockschaltbild eines Zwei-Pfade-Satz-Assozia­ tiv-Cache, in welchem die Erfindung realisiert ist;
Fig. 2 ein Diagramm der Bit-Felder innerhalb jedes Ken­ nungs(Tag)-RAM der Fig. 1;
Fig. 3 eine die Kennungs-Auswahl für Zeilenfüllungen dar­ stellende Tabelle; und
Fig. 4 ein Ablaufdiagramm des LRU-Zeiger-Aktualisierungs­ verfahrens.
In Fig. 1 ist ein Blockschaltbild des Zweipfade-Satz-Asso­ ziativ-Cache aus der genannten älteren Anmeldung gezeigt. Eine RLS-Logik 10 treibt eine TAGACC-Logik 14. Die TAGACC-Logik 14 treibt einen linken Tag-RAM-Assoziativspeicher 16 und einen linken Daten-Cache 18, die gemeinsam einen Pfad 0 (bzw. eine Bank 0) bilden, sowie rechten Tag-RAM 20 und rechten Daten- Cache 22, die gemeinsam Pfad 1 (bzw. Bank 1) bilden.
Wie in Fig. 2 gezeigt, hat jeder Tag-RAM oder Pfad 34-Tag- Bits, zwei Schreibschutzbits und vier Gültigkeitsbits. Außerdem hat der linke Tag-RAM zwei LRU-Bits, welche einen LRU-Zeiger enthalten.
Eine linke Treffer-Logik 26 und eine rechte Treffer-Logik 28 sind Vergleichsschaltungen, die ein Ausgangssignal an eine TAGIFC-Interface-Steuerlogik 30 anlegen, wenn das Tag-Suchargu­ ment 12 und eine Tag-Adresse im Assoziativ-Speicher überstim­ men. Der TAGIFC 30 treibt ADS-Latch-Schaltungen 32, welche auf den Speicher-Adressen/Daten-Bus 34 zu gebende Informationen zwischenspeichern.
Die Steuerlogik 24 ist mit jedem der logischen Blöcke ver­ bunden und liefert die notwendigen Steuerfunktionen, wie Schreibfreigabe (WE0), Ausgabefreigabe (OE), Start usw. an die oben beschriebenen logischen Blöcke.
Traditionell weist ein LRU-Zeiger auf die Daten hin, die am längsten unbenutzt waren; dies sind diejenigen Daten, welche ersetzt werden sollen. In dem in der älteren Anmeldung be­ schriebenen Steuergerät gibt es zwei Sektoren für jeden Pfad, das bedeutet, daß es zwei Zeilen von Daten gibt. Eine Zeile könnte gültige Daten und die andere Zeile kann ungültige Daten enthalten. Gültige Daten können jeweils nur in eine Zeile ein­ gesetzt werden. Wenn die Daten in die Zeile eingesetzt sind, so sind sie die zuletzt benutzten Daten und daher darf der LRU- Zeiger nicht auf sie hinweisen. Daher schaltet die PTRDAT-Lei­ tung den LRU-Zeiger auf die entgegengesetzte Richtung um. Bei einem Zugriff auf den Tag-RAM entscheidet das Signal zWAYSEL, ob er auf der linken oder rechten Seite erfolgen soll. Während normaler Zyklen hat zWAYSEL nur eine Bedeutung bei einer Zei­ lenfüllung, wo eine Zeile zum Füllen auszuwählen ist. Die Tag- Treffersignale werden in Verbindung mit dem LRU-Bit zur Ent­ scheidung über den Wert für das Signal zWAYSEL entsprechend der in Fig. 3 gezeigten Information verwendet.
Der LRU-Zeiger wird bei einem Lese-Fehlversuch, einem Schreib-Treffer und bei einem Snoop-Treffer aktualisiert. Wenn bei einem Snoop-Zyklus der Treffer auf dem linken Pfade auf­ tritt, so wird der LRU zum Hinweis auf den linken Pfad veran­ laßt. Wenn der Treffer auf dem rechten Pfad auftritt, so wird der LRU zum Hinweis auf den rechten Pfad veranlaßt. Bei einer Zeilenfüllung geschieht genau das Gegenteil. Wenn eine Zeilen­ füllung auf der linken Seite auftritt, so wird der LRU zum Hin­ weis auf die rechte Seite veranlaßt. Dies liegt daran, daß de­ finitionsgemäß die am längsten unbenutzten Daten auf der entge­ gengesetzten Seite sind, wenn der Treffer neue Daten eingibt.
Das LRU-Bit muß auf den anderen Pfad umgeschaltet werden, wenn die aktuelle Zeile gültig gemacht werden soll. Dies ge­ schieht automatisch in der TAGIFC-Logik 30. Wenn die Zeile je­ doch ungültig gemacht werden soll, beispielsweise aufgrund ei­ nes Umschalten ("ping-ponging") des SKEN#-Signals, so hat das LRU-Bit wieder umgeschaltet zu werden, um auf den alten Pfad hinzuweisen. Das Signal rLRUFLP liefert die Daten zum Umschal­ ten des LRU-Bits. Wenn es gleich Null ist, so wird das LRU-Bit so eingestellt, daß es auf denselben Pfad, wie zPTRDAT während einer Tag-Aktualisierung hinweist. Wenn es gleich Eins ist, so wird das LRU-Bit auf den ursprünglichen Wert während der Tag- Aktualisierung eingestellt.
Die Signale WRLRU, rWRSTS, rWRTAG aus dem RLS 10 zum TAGACC 14 sind Tag-Schreib-Befehle, welche entscheiden, wann der Tag- RAM zu aktualisieren ist. Die Status-Schreib-Befehle sind wäh­ rend der folgenden Zeit aktiv:
  • 1. Die Logik ist in TO21 in einem begangenen Zeilen- Füll-Zyklus;
  • 2. die Logik ist in TO24 in einem begangenen Zeilen­ Füll-Zyklus, und der Zeilenstatus muß geändert werden;
  • 3. der externe Zyklus ist beendet, jedoch hat die Lo­ gik noch keine Bestätigung für eine frühere Schreibanfor­ derung festgestellt;
  • 4. der externe Zyklus ist noch nicht beendet, und die Logik wartet noch auf eine Bestätigung für eine frühere Schreibanforderung;
  • 5. BOFF# findet vor Abschluß eines Lese-Zyklus′ statt, und die Zeile ist gültig;
  • 6. der Zyklus ist ein Selbst-Test-Schreib-Zyklus;
  • 7. Die Logik befindet sich in einem Lese-Treffer-Zy­ klus und BOFF# findet statt.
Das LRU-Bit muß in den folgenden Situationen geschrieben werden:
  • 1. Die Logik befindet sich in TO24 eines begangenen Zeilen-Füll-Zyklus′, und der Zeilenzustand muß geändert werden;
  • 2. der externe Zyklus wurde beendet, jedoch hat die Logik keine Bestätigung einer früheren Schreibanforderung erkannt;
  • 3. der externe Zyklus ist noch nicht beendet, und die Logik wartet noch auf eine Bestätigung auf einer früheren Schreibanforderung;
  • 4. die Zeile ist gültig, jedoch hat BOFF# stattgefun­ den. Die Logik kann auch das LRU-Bit bei Schreib-Treffern aktualisieren.
Die Tag-Bits werden immer dann geschrieben, wenn die Sta­ tus-Bits geschrieben werden. Die Bestätigung für ein Schreibbe­ fehl kommt von der TAGACC-Logik 14, die das Signal zSTSACK er­ zeugt, wenn der Tag-RAM zum Honorieren des Schreibbefehls vom RLS 10 bereit ist. Die Schreibbefehle bestehen so lange, wie keine Bestätigung erkannt wird. zSTSACK wird an einem SACLK er­ zeugt, wenn eine Schreibanforderungen vom RLS (rWR{STS, TAG, LRU}) in einen Tag-Zugriff an diesem SACLK trans­ formiert werden kann. zSTSACK wird nicht erzeugt, wenn der Tag- RAM an diesem Taktimpuls mit einem Snoop-Zugriff befaßt ist.
Cache-Verzeichnis
Die Funktion des Verzeichnisses besteht in der Speicherung von Adressen, welche im linken Daten-Cache 18 und rechten Da­ ten-Cache 22 des Cache-Speichers gespeichert sind. Das Ver­ zeichnis ist in zwei Pfade konfiguriert (Pfad 0, Pfad 1). Eine Zeile ist die Basiseinheit der zwischen dem Cache und dem Hauptspeicher übertragenen Daten. Sie bestehen aus 16 Daten-By­ tes. Eine Zeile ist auch als Übertragungsblock bekannt. Wenn die einer speziellen Adresse entsprechenden Daten im Cache ge­ speichert sind, kann der Cache die Daten liefern, wodurch ein Zugriff auf den Hauptspeicher vermieden wird. Dies wird als ein Cache-Treffer entweder über den linken Pfad (LH) oder den rech­ ten Pfad (RH) bezeichnet. Die Entscheidung, ob Treffer oder Fehlversuch, wird auf der Basis einer Zeile bestimmt. Ein Adreßblock ist die Basiseinheit der Cache-Adressierung. Jeder Adreßblock beschreibt die physikalische Adresse einer von zwei benachbarten Datenzeilen.
Ein Gültigkeitsbit ist jeder Zeile innerhalb eines Adreßblocks zugeordnet. Wenn die Zeile im Cache vorhanden ist, so wird das Gültigkeitsbit eingeschaltet. Die Adresseninforma­ tionen, die im linken Tag-RAM 16 und rechten Tag-RAM 20 des Ca­ che-Verzeichnisses enthalten sind, werden als Tag (Kennung) be­ zeichnet. Da viele Adressen in einen einzigen Adreßblock abge­ bildet werden, dient die Tag-Information zur Identifizierung der exakten Speicherplätze, welche gerade einem Adreßblock zu­ geordnet sind. Ein Treffer tritt auf, wenn das Tag eines Adreßblocks im Assoziativspeicher mit der Busadresse überein­ stimmt, welche dem Assoziativspeicher als Suchargument 12 prä­ sentiert wird, und das gewünschte Zeilen-Gültigkeitsbit einge­ schaltet ist.
Jeder Pfad (16, 20) bietet Speicherplatz für die Tag- und die Gültigkeitsbits. Mehrere Vergleiche werden gleichzeitig in den Vergleichsschaltungen zwischen der Busadresse 12 und den Tag-Feldern in den Pfaden ausgeführt, um festzustellen, ob die Daten im Cache-Datenfeld sind. Ein Satz ist eine Gruppierung von Adreßblöcken, die aus je einem Adreßblock aus jedem Pfad bestehen. Alle Adreßblöcke in einem Satz werden gleichzeitig ausgewählt, wenn der Satzabschnitt der CPU-Busadresse von einem Decodierer in der RLS-Logik 10 in eine Satzadresse 12 decodiert wird.
Wenn eine Schreib-Transaktion auf dem CPU-Bus eine Adresse betrifft, die nicht im Cache enthalten ist (Cache-Fehlversuch), so wird kein Versuch unternommen, um die entsprechenden Daten im Cache zu speichern. Wenn jedoch eine Schreib-Transaktion auf dem CPU-Bus eine im Cache befindliche Adresse involviert (Cache-Treffer), so benutzt das Verzeichnis eine Durchschreib­ politik. Dies bedeutet, daß die CPU-Bus-Schreiboperationen, welche zu einem Cache-Treffer führen, in den Cache sowie in den Hauptspeicher geschrieben werden. Dies stellt sicher, daß der Hauptspeicher immer eine gültige Kopie aller Datenplätze des Cache-Speichers hält.
Funktionsbeschreibung
Es gibt fünf Arten von Zyklen, vier normale Zyklen und einen Snoop-Zyklus:
  • 1. Lese-Fehlversuch (Zeile füllen).
  • 2. Lese-Treffer.
  • 3. Schreib-Fehlversuch.
  • 4. Schreib-Treffer.
  • 5. Snoop.
Lese-Fehlversuch (Zeile füllen - line fill)
Ein Lese-Fehlversuchs-Zyklus beginnt mit zADSCYC und zRD- SCYC. Das Tag-Suchen führt am ersten SHCLK zu einem Fehlver­ such. START# wird aktiv und zeigt einen Fehlversuch an. Von da an wartet die Logik, bis SKEN# aktiv wird. Wenn SKEN# vor dem ersten Transfer aktiv wird, so wird die Zeile als gebunden be­ zeichnet. Eine Zeile im Tag-RAM wird unter Verwendung der zADSLRU-, zADSHL- und zADSHR-Signale entsprechend der Darstel­ lung in Fig. 3 ausgewählt (zWAYSEL). Tag-Schreibbefehle werden ausgegeben, um die Zeile ungültig zu machen. Auch wird die ent­ sprechende erste Schreibfreigabe ausgegeben.
Ein aktives SKEN# führt zu einer Anforderung an den Tag-RAM und macht die Zeile gültig, wenn die Zeile nicht bereits gültig ist. Ein inaktives SKEN# führt zu einer Anforderung zum Ungül­ tigmachen der Zeile, wenn die Zeile nicht bereits ungültig ist. Der Schreibschutz-Pin (WP) wird bei jeder derartigen Anforde­ rung geschrieben. Das LRU-Bit weist auf den anderen Pfad hin, wenn die Zeile in einem gültigen Zustand bleibt. Wird die Zeile gültig und der Zyklus mit einem BOFF# abgebrochen ist, so wird eine Anforderung an den Tag-RAM gerichtet, um die Zeile ungül­ tig zu machen.
Lese-Treffer
Ein Lese-Treffer-Zyklus beginnt mit zADSCYC and zRDSCYC. Die Tag-Nachschlageoperation (tag lookup) führt zu einem Tref­ fer am ersten SHCLK. BRDYO# wird aktiv und zeigt einen Treffer an. Auch das erste Ausgabe-Freigabesignal (OE1) wird aktiv. Das erste Freigabesignal wird von den vier Möglichkeiten aufgegrif­ fen, welche die Burst-Adressenfolge verwenden. Da das Cache- Steuergerät die Transfers bei jedem Takt mit BRDYO# signali­ siert, rückt die Logik bei jedem Takt durch TO22, TO23 und TO24 vor. Die geeignete Freigabe wird für jeden Transfer erzeugt. Wenn ein BOFF# den Transfer unterbricht, so wird eine Anforde­ rung an den Tag-RAM gerichtet, um die Zeile ungültig zu machen. Das LRU-Bit wird bei einem Lese-Treffer nicht aktualisiert.
Schreib-Fehlversuch
Ein direkter Prozessor-Schreibzyklus beginnt mit zADSCYC und zWRSCYC. START# geht beim ersten SHCLK aus. Wenn es ein Fehlversuch am ersten SHCLK ist, so wird keine Freigabe ausge­ sendet. Bei einem Fehlversuch geschieht nichts mit dem LRU-Bit, und nur START# kann aktiv gesehen werden.
Schreib-Treffer
Ein direkter Prozessor-Schreibzyklus beginnt mit zADSCYC und zWRSCYC. START# geht beim ersten SHCLK aus. Wenn es ein Treffer am ersten SHCLK ist, so wird die geeignete Freigabe ausgesendet. Das LRU-Bit wird veranlaßt, bei einem Schreibtref­ fer auf den anderen Pfad zu zeigen.
Snoop
In einem Multiprozessor-Umfeld teilen sich mehrere Prozes­ soren denselben Speicherraum. Es sei angenommen, daß die Daten im Cache eines Prozessors gespeichert sind, und der andere Pro­ zessor auf dieselben Daten im externen Speicher zugreift. Wenn der zweite Prozessor die Daten ändert, so sind die Daten im Cache des ersten Prozessors verdorben. Ein Snoop-Signal wird an jeden Prozessor gesendet und von jedem Prozessor überwacht. Wenn ein Prozessor eine private Kopie der Daten an der Adresse der vom Snoop-Signal bezeichneten Zeile hat, so muß er in sei­ nen Cache gehen und diese Zeile ungültig machen. Es gibt eine Adresse auf dem Bus, die dem Snoop-Signal zugeordnet ist. Wenn daher eine Adresse auf dem Bus ist und das Snoop-Signal auf­ tritt, so muß der Prozessor in die örtliche private Datenkopie gehen und diese ungültig machen. Die Snoop-Zyklen werden unab­ hängig verarbeitet und können mit den anderen vier Zyklen, den normalen Zyklen, überlagert werden.
Ein Snoop-Treffer zwingt das LRU-Bit automatisch zum Hin­ weis auf den ausgewählten Pfad. Der Pfad wird mit zWAYSEL aus­ gewählt.
Signalbeschreibungen
In der o.g. älteren Anmeldung sind interne Signale angege­ ben, wobei erläutert ist, daß jeder interne Signalname mit ei­ nem charakteristischen Buchstaben beginnt, welcher seine erzeu­ gende Quelle identifiziert. Der erste Buchstabe kann einer der Buchstaben (r, t, x, y, z) sein. Der restliche Teil des Signal­ namens erscheint in Großbuchstaben. Ein "nn" am Ende eines Si­ gnals bedeutet, daß dieses Signal low-aktiv ist. Die entspre­ chende Notation für ein externes Signal hat ein "#". Auch wer­ den die Klammern "{}" zur Beschreibung von Signalnamen verwen­ det, wobei die Unterzeichenketten (substrings) in den Klammern enthalten sind. So steht beispielsweise rWR {STS, TAG, LRU} für rWRSTS, rWRTAG bzw. rWRLRU. Wenn die Unterzeichenketten eine Länge von einem Zeichen haben, so wird ein Klammerpaar ohne Trennung der Zeichen durch ein Komma verwendet. Beispielsweise steht [yz]ADSnn für yADSnn und zADSnn. Klammern dienen auch zur Bezeichnung von Bereichen. Beispielsweise steht zSAI{0-10} für zSAI0, zSAI1, . . ., zSAI10. Wenn derartige Mehrfach-Bit-Signale angegeben werden, so wird die Bereichsangabe fortgelassen. Bei­ spielsweise werden die elf Signale zSAI{0-10} als zSAI bezeich­ net.
Die TAGIFC-Logik 30 erfaßt das Ausgangssignal des Tag-RAM am ersten SHCLK nach dem ersten ADS#, welches einen Zyklus be­ ginnt. Die erfaßten und aufgenommenen Ausgangssignale werden in ADS-Latch-Schaltungen 32 gehalten, bis der Zyklus endet. Bei einer Zeilenfüllung wird die gültige Information für die aktu­ elle Zeile als Funktion von SKEN# erzeugt. Die gültige Informa­ tion für die andere Zeile innerhalb des Satzes wird aus den ADS-Latch-Schaltungen 32 gewonnen. Danach werden die Informa­ tionen für beide Leitungen in den Tag-RAM geschrieben. Die rCLRV[LR]-Signale (rCLRVL und rCLRVR) aus dem RLS 10 dienen zum Löschen dieser "anderen" Zeileninformation, wenn diese Zeile während des Zyklus′ entweder durch einen expliziten Snoop oder unter Verwendung eines Flush ungültig gemacht worden ist.
Die Signale tHL, tHR, tLRU, tVL0, tVL1, tVR0, rVR1, tLWP und tRWP sind die Ausgangssignale vom Tag-RAM, die zu den Logi­ ken BRDYO, MUXCON, OE, START, TAGIFC und WE gehen, um anzuzei­ gen, ob der aktuelle Zugriff ein Treffer oder ein Fehlversuch war. Bei einem Treffer müssen sowohl die Tag-Bits (tHL oder tHR) als auch die entsprechenden Gültigkeitsbits (tVL[01] oder tVR[01]) gleichzeitig Treffer anzeigen. tLWP und tRWP sind Schreib-Schutzbits der linken bzw. rechten Seite. Die OE-, WE-, BRDYO- und START-Schaltungen benutzen diese Signale direkt, um zu entscheiden, ob es sich um einen Treffer-Zyklus oder um einen Fehlversuchs-Zyklus handelt. MUXCON verwendet sie während Snoop-Zyklen, um festzustellen, ob der Snoop ein Treffer war. Bei einem normalen Zyklus nimmt TAGIFC 30 diese Signale in den ADS-Latch-Schaltungen 32 auf, um zADS{HL, HR, VL0, VL1, VR0, VR1} und zRLS[LR]WP-Signale zu erzeugen. Während eines Snoop werden diese Signale in den Snoop-Latch-Schaltungen aufgefangen. Die Ausgangssignale aus den Snoop-Latch-Schaltungen bleiben für TAGIFC 30 lokal.
Das zADSLRU-Signal vom TAGIFC 30 zu den Logik-Schaltungen RLS und WAYCON ist das tLRU-Signal, das nach zADSCYC am ersten SHCLK aufgenommen worden ist. Der Wert wird bis zum Zyklusende gehalten. Das Latch wird vom SHCLK getaktet und von zADSCYC und zADSCS freigegeben. Im RLS wird zADSLRU vom PCLK getaktet und danach zur Erzeugung von rLRUFLP verwendet. Im WAYCON wird es zur Erzeugung von zWESEL, zWAYSEL und zIWAYSEL verwendet.
Die zADSV[LR] [01]-, und zADSH[LR]-Signale vom TAGIFC 30 zur RLS-Logik, WAYCON-Logik und TAGACC-Logik 14 sind tV[LR] [01] bzw. tH(lr)-Signale, die am ersten SHCLK nach zADSCYC aufgenom­ men worden sind. Die Latch-Schaltungen werden von zADSCS und zADSCYC freigegeben. Die RLS-Logik 10 verwendet sie zur Erzeu­ gung lokaler Treffer/Fehlversuch-Informationen. WAYCON benutzt zADSHR zur Erzeugung von zWESEL, zWAYSEL und zIWAYSEL. Im TAGACC 14 erzeugen diese Signale zWRLRU während eines Direkt­ prozessor-Schreib-Treffer-Zyklus.
Das zPTRDAT-Signal vom TAGIFC 30 zum Tag-RAM ist das LRU- Bit, welches in den Tag-RAM geschrieben werden soll. Für alle Tag-RAM-Aktualisierungen während normaler Zyklen ist zPTRDAT der Umkehrwert von zADSLRU. Wenn jedoch rLRUFLP aktiv ist, so nimmt zPTRDAT den gleichen Wert wie zADSLRU an. Während Snoop- Treffern wird zPTRDAT auf denjenigen Pfad gesetzt, der entge­ gengesetzt ist demjenigen, wo die Snoop-Invalidisierung ge­ schieht.
Das zPTROVR-Signal aus der WAYCON-Logik zur TAGIFC-Logik 30 ermöglicht ein Unterdrücken des LRU-Zeigers während Snoop-Ope­ rationen. Wenn es aktiv ist, veranlaßt es den LRU zum Hinweis auf denjenigen Pfad, der demjenigen entgegengesetzt ist, in welchem die Snoop-Invalidisierung stattfindet. Es ist zSNPWAIT, aufgenommen von einem SACLK-Latch.
Das sSNPHR-Signal aus der TAGIFC-Logik 30 zur WAYCON-Logik ist ein Tag-Treffer-Signal von der rechten Seite des Tag-RAM, das bei dem ersten SHCLK nach zSNPCYC aufgenommen wird. In Ver­ bindung mit zSNPWAIT wählt es den Pfad für die Snoop-Invalidi­ sierung.
Die zVL0, zVL1, zVR0 und zVR1-Signale aus der TAGIFC-Logik 30 zum Tag-RAM sind Status-Bits, welche bei jeder Schreibanfor­ derung in den Tag-RAM geschrieben werden. Die Schreibschutz- und LRU-Bit-Werte werden in zWPO bzw. zPTRDAT geführt. Alle vier Werte werden jeweils berechnet. Es kann jeweils nur eine Zeile in einem Pfad aktualisiert werden. Der Tag-RAM verwendet zWAYSEL, um zu entscheiden, welche beiden der vier einlaufenden gültigen Signale zur Aktualisierung verwendet werden sollten. Die Steuer-Logik ist jedoch zur korrekten Erzeugung der Sta­ tusinformationen für zwei von zWAYSEL gewählte Signale verant­ wortlich. Für die aktuelle Zeile kann das Gültigkeitsbit be­ rechnet werden (rV). Die gültige Information für die andere Zeile wird aus den ADS-Latch-Schaltungen gewonnen (zADSV[LR] [01]). Wenn die andere Zeile durch Snoop-Operation ausgeblendet wird (snooped out), so würden die geeigneten ADS- Latch-Schaltungen 32 von den rCLRV[LR]-Signalen rückgesetzt worden sein.
Das zWAYSEL-Signal von der WAYCON-Logik zum TAGIFC 30 und Tag-RAM wählt den Pfad. Für irgendeinen Zugriff auf den Tag-RAM entscheidet zWAYSEL, ob es auf der linken oder rechten Seite sein soll. Während normaler Zyklen hat zWAYSEL nur bei einer Zeilenfüllung eine Bedeutung, wo eine Zeile zum Füllen ausge­ wählt werden soll. Die Tag-Treffer-Signale werden in Verbindung mit dem LRU-Bit verwendet, um den Wert für zWAYSEL entsprechend der Darstellung in Fig. 3 zu entscheiden.
Wenn es bei einem Snoop einen Treffer gibt (zADSHL oder zADSHR ist Eins), so wird zWAYSEL entsprechend während der Dauer des Snoop gesetzt. Es wird auf den vom Zyklus gesetzten Wert zurückgesetzt, wenn ein Zyklus während des Snoop-Treffers gerade ablief. Beim TAGIFC entscheidet zWAYSEL, ob die Status- Bits für einen bestimmten Pfad neu berechnet oder rezirkuliert werden sollen. Im Tag-RAM wird es verwendet, um einen Pfad für Aktualisierungen auszuwählen.
Das zWESEL-Signal aus der WAYCON-Logik zum RLS 10 und zur Schreib-Freigabe-Logik (WE) ist identisch dem zWAYSEL, mit der Ausnahme, daß die Snoops keine Auswahl über einen Pfad treffen, nachdem die Pfadwahl bereits bei Beginn eines Zyklus′ durch die Treffer-Fehlversuch-Information getroffen worden ist. Nur der Tag-RAM muß wissen, welcher Pfad durch die Snoop-Operation be­ troffen ist. Für WE und RLS sollte die Pfadinformation über den Zyklus konstant bleiben.
Die zWRSTS-, zWRLRU- und zWRTAG-Signale aus der TAGACC-Lo­ gik 14 und der Tag-RAM-Logik sind Schreibbefehle. Die Status- Bits (gültig und Schreibschutz), LRU und die Tag-Bits werden an den ausgewählten Satzadressen geschrieben, wenn der entspre­ chende Schreibbefehl aktiv ist. Die Befehle werden von zFLUSHnn unbeachtet gelassen.

Claims (3)

1. Cache-Steuergerät mit einem Tag-RAM (Kennungs-RAM), der in zwei Pfaden, einem rechten (20) und einem linken Pfad (16), konfiguriert ist, wobei jeder Pfad Tag- und Gültigkeitsbit- Speicher zum assoziativen Suchen eines Verzeichnisses für Cache-Datenfeldadressen aufweist, gekennzeichnet durch:
erste Mittel zur Auswahl von zwei Zeilen während eines Zei­ len-Füllzyklus an einem der Pfade;
einen "am-längsten-unbenutzt"-Zeiger (LRU) zur Auswahl des während des Zeilen-Füll-Zyklus zu füllenden Pfades derart, daß der rechte Pfad (20) für eine Zeilenfüllung in Abhängigkeit von einem rechten Treffersignal ausgewählt wird, wenn der "am-läng­ sten-unbenutzt"-Zeiger auf den rechten Pfad hinweist;
zweite Mittel zur Auswahl des linken Pfades (16) für eine Zeilenfüllung in Abhängigkeit von einem linken Treffersignal, wenn der "am-längsten-unbenutzt"-Zeiger auf den linken Pfad hinweist; und
dritte Mittel, welche den "am-längsten-unbenutzt"-Zeiger zum Hinweis auf den rechten Pfad nach Füllen der linken Zeile des linken Pfades und zum Hinweis auf den linken Pfad bei Fül­ len der rechten Zeile des rechten Pfades veranlaßt.
2. Cache-Steuergerät mit einem Cache-Verzeichnis, das in zwei Pfade, einen rechten (20) und einen linken (16) Pfad, un­ terteilt ist, wobei jeder Pfad Tag-Adressen speichert und wobei zwei Zeilen während einer Zeilenfüllung in einem der Pfade aus­ gewählt sind, und mit einer Einrichtung zur Auswahl des bei ei­ nem Zeilen-Füllzyklus zu füllenden Pfades unter Verwendung ei­ nes "am-längsten-unbenutzt"-Zeigers (LRU), dadurch gekennzeichnet,
daß erste Mittel mit dem rechten Pfad (20) des Verzeichnis­ ses und dem linken Pfad (16) des Verzeichnisses verbunden sind und eine Tag (Kennung) mit den in den rechten und linken Pfaden des Verzeichnisses gespeicherten Tag-Adressen vergleichen;
daß zweite Mittel mit den ersten Mitteln verbunden sind und ein rechtes Treffersignal unter der Bedingung erzeugen, daß zwischen dem Tag und einer der im rechten Pfad gespeicherten Tag-Adressen Übereinstimmung besteht;
daß dritte Mittel mit den ersten Mitteln verbunden sind und ein linkes Treffersignal unter der Bedingung erzeugen, daß zwi­ schen dem Tag und einer der im linken Pfad gespeicherten Tag- Adressen Übereinstimmung besteht;
daß vierte Mittel mit den zweiten Mitteln gekoppelt sind und den rechten Pfad für eine Zeilenfüllung in Abhängigkeit von dem rechten Treffersignal unter der Bedingung auswählen, daß der "am-längsten-unbenutzt"-Zeiger auf den rechten Pfad hin­ weist;
daß fünfte Mittel vorgesehen sind, welche den "am-längsten- unbenutzt"-Zeiger zum Hinweis auf den linken Pfad bei Füllung der rechten Zeile des rechten Pfades veranlassen;
daß sechste Mittel vorgesehen sind, welche den linken Pfad für eine Zeilenfüllung in Abhängigkeit von dem linken Treffer­ signal unter der Bedingung auswählen, daß der "am-längsten-un­ benutzt"-Zeiger auf den linken Pfad hinweist; und
daß siebte Mittel vorgesehen sind, welche den "am-längsten- unbenutzt"-Zeiger zum Hinweis auf den rechten Pfad bei Füllung der linken Zeile des linken Pfades veranlassen.
3. Verfahren zur Auswahl eines bei einem Zeilen-Füll-Zyklus zu füllenden Pfades in einem Cache-Verzeichnis, das in zwei Pfade, nämlich einen rechten Pfad und einen linken Pfad, unter­ teilt ist, wobei jeder Pfad Tag-Adressen speichert und wobei zwei Zeilen während einer Zeilenfüllung in einem der beiden Pfade ausgewählt werden, dadurch gekennzeichnet,
  • A. daß ein Tag mit den in den rechten und linken Pfa­ den des Verzeichnisses gespeicherten Tag-Adressen vergli­ chen wird;
  • B. daß ein rechtes Treffersignal unter der Bedingung erzeugt wird, daß eine Übereinstimmung zwischen dem Tag und einer der im rechten Pfad gespeicherten Tag-Adressen existiert;
  • C. daß ein linkes Treffersignal unter der Bedingung erzeugt wird, daß eine Übereinstimmung zwischen dem Tag und einer der im linken Pfad gespeicherten Tag-Adressen existiert;
  • D. daß der rechte Pfad für eine Zeilenfüllung in Ab­ hängigkeit von dem rechten Treffersignal unter der Bedin­ gung ausgewählt wird, daß ein "am-längsten-unbenutzt"-Zei­ ger auf den rechten Pfad hinweist;
  • E. daß der "am-längsten-unbenutzt"-Zeiger auf den lin­ ken Pfad umgeschaltet wird, wenn die rechte Zeile des rechten Pfades gefüllt ist;
  • F. daß der linke Pfad für eine Zeilenfüllung in Abhän­ gigkeit von dem linken Treffersignal unter der Bedingung ausgewählt wird, daß der "am-längsten-unbenutzt"-Zeiger auf den linken Pfad hinweist; und
  • G. daß der "am-längsten-unbenutzt"-Zeiger auf den rechten Pfad umgeschaltet wird, wenn die linke Zeile des linken Pfades gefüllt ist (Fig. 4).
DE4213073A 1991-04-25 1992-04-21 Cache-steuergeraet und verfahren zur auswahl eines pfades eines cache-verzeichnisses bei einem zeilen-fuell-zyklus Withdrawn DE4213073A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US69124091A 1991-04-25 1991-04-25

Publications (1)

Publication Number Publication Date
DE4213073A1 true DE4213073A1 (de) 1992-10-29

Family

ID=24775711

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4213073A Withdrawn DE4213073A1 (de) 1991-04-25 1992-04-21 Cache-steuergeraet und verfahren zur auswahl eines pfades eines cache-verzeichnisses bei einem zeilen-fuell-zyklus

Country Status (4)

Country Link
US (2) US5530833A (de)
JP (1) JPH0628263A (de)
DE (1) DE4213073A1 (de)
GB (1) GB2255211B (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2255211B (en) * 1991-04-25 1995-05-17 Intel Corp LRU pointer updating in a controller for two-way set associative cache
US5813030A (en) * 1991-12-31 1998-09-22 Compaq Computer Corp. Cache memory system with simultaneous access of cache and main memories
GB2293668B (en) * 1994-09-30 1999-09-29 Advanced Risc Mach Ltd Accessing data memories
US5689255A (en) * 1995-08-22 1997-11-18 Hewlett-Packard Company Method and apparatus for compressing and decompressing image data
US6098150A (en) * 1995-11-17 2000-08-01 Sun Microsystems, Inc. Method and apparatus for fetching information from a cache memory
US5809228A (en) * 1995-12-27 1998-09-15 Intel Corporaiton Method and apparatus for combining multiple writes to a memory resource utilizing a write buffer
US5845106A (en) * 1996-01-26 1998-12-01 Advanced Micro Devices, Inc. Method for simulating cache operation
US5983313A (en) * 1996-04-10 1999-11-09 Ramtron International Corporation EDRAM having a dynamically-sized cache memory and associated method
US5765192A (en) * 1996-05-01 1998-06-09 Sun Microsystems, Inc. Method and computer program product to reuse directory search handles
US6202125B1 (en) * 1996-11-25 2001-03-13 Intel Corporation Processor-cache protocol using simple commands to implement a range of cache configurations
US6078995A (en) * 1996-12-26 2000-06-20 Micro Magic, Inc. Methods and apparatus for true least recently used (LRU) bit encoding for multi-way associative caches
US6138213A (en) * 1997-06-27 2000-10-24 Advanced Micro Devices, Inc. Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line
US6434671B2 (en) * 1997-09-30 2002-08-13 Intel Corporation Software-controlled cache memory compartmentalization
US6023747A (en) * 1997-12-17 2000-02-08 International Business Machines Corporation Method and system for handling conflicts between cache operation requests in a data processing system
US6202129B1 (en) * 1998-03-31 2001-03-13 Intel Corporation Shared cache structure for temporal and non-temporal information using indicative bits
JP2001209579A (ja) * 2000-01-28 2001-08-03 Fujitsu Ltd キャッシュメモリ装置
US6446171B1 (en) * 2000-03-02 2002-09-03 Mips Technologies, Inc. Method and apparatus for tracking and update of LRU algorithm using vectors
US6408364B1 (en) * 2000-03-17 2002-06-18 Advanced Micro Devices, Inc. Apparatus and method for implementing a least recently used cache replacement algorithm
US6823427B1 (en) * 2001-05-16 2004-11-23 Advanced Micro Devices, Inc. Sectored least-recently-used cache replacement
GB2458295B (en) * 2008-03-12 2012-01-11 Advanced Risc Mach Ltd Cache accessing using a micro tag
US20130103903A1 (en) * 2011-10-20 2013-04-25 Vidyalakshmi Rajagopalan Methods And Apparatus For Reusing Prior Tag Search Results In A Cache Controller

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363095A (en) * 1980-12-31 1982-12-07 Honeywell Information Systems Inc. Hit/miss logic for a cache memory
JP2822588B2 (ja) * 1990-04-30 1998-11-11 日本電気株式会社 キャッシュメモリ装置
US5210845A (en) * 1990-11-28 1993-05-11 Intel Corporation Controller for two-way set associative cache
US5339399A (en) * 1991-04-12 1994-08-16 Intel Corporation Cache controller that alternately selects for presentation to a tag RAM a current address latch and a next address latch which hold addresses captured on an input bus
GB2255211B (en) * 1991-04-25 1995-05-17 Intel Corp LRU pointer updating in a controller for two-way set associative cache

Also Published As

Publication number Publication date
US5530833A (en) 1996-06-25
GB2255211A (en) 1992-10-28
US5724547A (en) 1998-03-03
GB2255211B (en) 1995-05-17
GB9207704D0 (en) 1992-05-27
JPH0628263A (ja) 1994-02-04

Similar Documents

Publication Publication Date Title
DE4213073A1 (de) Cache-steuergeraet und verfahren zur auswahl eines pfades eines cache-verzeichnisses bei einem zeilen-fuell-zyklus
DE68927172T2 (de) Multiprozessorsystem mit cache-speichern
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE68902193T2 (de) Datenspeicheranordnung.
DE68924206T2 (de) Verfahren und Einrichtung zum Filtern von Ungültigkeitserklärungsanforderungen.
DE69906006T2 (de) Datenverarbeitungs-schaltung mit pufferspeicher
DE69421379T2 (de) Wiederverwendbarer Mehrwegsatz assoziativer Cache-Speicher
DE68924306T2 (de) Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern.
DE69327387T2 (de) An einen paketvermittelten Bus gekoppelte Nachschreibsteuerungsschaltung für eine Cachespeichersteuerungsschaltung
DE69514165T2 (de) Mehrstufige Cache-Speicheranordnung
DE69317729T2 (de) Cache-Etikettenspeicher
DE69527383T2 (de) Virtuelle Speicheranordnung
DE69228679T2 (de) Speicher, speichersteuerungsvorrichtung und speichersteuerungsverfahren zur anwendung mit einem copy-back-cachespeichersystem
DE102006030879B4 (de) System zum Reduzieren der Latenzzeit von exklusiven Leseanforderungen in einem symmetrischen Multiprozessorsystem
DE4022885C2 (de) Verfahren zum Verschieben von Speicherbereichen und Hierarchie-Speichersystem
DE2241257B2 (de) Datenverarbeitende Anlage
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE10316725A1 (de) Datenverwaltungsverfahren für ein Distributed Shared Memory-System
DE69031696T2 (de) Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffen
DE2422732C2 (de) Hierarchische Speicheranordnung
DE3588061T2 (de) Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät.
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE69030072T2 (de) Schneller Durchschreib-Cache-Speicher
DE69618783T2 (de) Schreibcachespeicher zur verbesserung der schreibleistung
DE69227267T2 (de) Datencache-Speicher und Verfahren zur Speicherfehlerbehandlung während Zurückschreiben

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 12/08

8139 Disposal/non-payment of the annual fee