DE3918453C2 - LRU-Schaltung - Google Patents

LRU-Schaltung

Info

Publication number
DE3918453C2
DE3918453C2 DE3918453A DE3918453A DE3918453C2 DE 3918453 C2 DE3918453 C2 DE 3918453C2 DE 3918453 A DE3918453 A DE 3918453A DE 3918453 A DE3918453 A DE 3918453A DE 3918453 C2 DE3918453 C2 DE 3918453C2
Authority
DE
Germany
Prior art keywords
lru
circuit
bit
paths
bits
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 - Fee Related
Application number
DE3918453A
Other languages
English (en)
Other versions
DE3918453A1 (de
Inventor
Masayuki Hata
Akira Yamada
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE3918453A1 publication Critical patent/DE3918453A1/de
Application granted granted Critical
Publication of DE3918453C2 publication Critical patent/DE3918453C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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
    • G06F12/125Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

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 auf eine LRU-Schaltung ("Least- Recently-Used": am längsten nicht benutzt), gemäß dem Oberbegriff des Anspruchs 1.
Eine große Anzahl von Computersystemen verwenden in umfang­ reichem Ausmaß Cache-Speicher, um Zeit beim Speicherzugriff einzusparen. Ein Cache-Speicher speichert vorläufig Daten aus einem Hauptspeicher, auf die häufig zugegriffen wird. In diesem Fall greift das Steuersystem nicht auf dem Haupt­ speicher zuerst zu, sondern vielmehr auf den Cache-Spei­ cher. Wenn im Cache-Speicher zugängliche Daten gespeichert sind, so greift das Steuersystem direkt auf die zugängli­ chen Cache-Trefferdaten aus dem Cache-Speicher zu. Demgegen­ über überträgt das Steuersystem dann, wenn im Cache-Spei­ cher keine zugänglichen Daten gespeichert sind, die zugäng­ lichen Daten aus dem Hauptspeicher zum Cache-Speicher, so daß zugängliche Daten neu geladen werden können, um den Cache-Fehlversuch auszugleichen. Üblicherweise wird der das LRU-Algorithmus benutzt, das heißt, es werden diejenigen Daten, die vom Haupt­ speicher neu geladen worden sind, im Cache-Speicher gespei­ chert, indem diejenigen Daten ersetzt werden, die in der weitestentfernten Vergangenheit benutzt wurden.
Fig. 1 ist eine vereinfachte Blockdarstellung einer LRU- Schaltung, die das Ersetzen der Daten in dem 4-Satz-Asso­ ziativ-Speicher durch Anwendung des obengenannten LRU-Algo­ rithmus zeigt.
In der Zeichnung bezeichnet Bezugsziffer 4 vier Wege, die von der LRU-Steuerschaltung 3 gewählt werden können, wobei die LRU-Schaltung 1 die LRU-Steuerschaltung 3 umfaßt, wel­ che eine Einrichtung ist, um das ersetzbare Objekt oder die Erneuerungsinformation im Einklang mit dem Inhalt des LRU-Bits 2 zu bestimmen, welches eine Einrichtung ist, um von den vier Wegen die zuletzt benutzte Beziehung zu spei­ chern.
Die Betriebsweise einer solchen LRU-Schaltung wird im fol­ genden beschrieben.
Wenn die (nicht dargestellte) CPU auf den Cache-Speicher zugreift, um Daten zu lesen, und der Cache-Speicher dann von einem dieser vier Wege getroffen wird, so überträgt die LRU-Schaltung 1 den Inhalt des LRU-Bits 2 zur LRU-Steu­ erschaltung 3, um den Speicherinhalt des LRU-Bits 2 zu er­ neuern, das heißt, die Information darüber, auf welchem der vier Wege in der weitest zurückliegenden Vergangenheit zurückgegriffen wurde. Sodann erneuert die LRU-Steuerein­ heit 3 die obige Information, bevor es der erneuerten Infor­ mation erlaubt wird, in das LRU-Bit 2 geschrieben zu werden.
Wenn andererseits ein Cache-Fehlversuch auftritt, so liest der Cache-Speicher die vom (nicht dargestellten) Hauptspei­ cher gelieferten zuganglichen Daten und lädt sie intern. Die zugänglichen Daten werden dann zu dem Datenprozessor wie beispielsweise der CPU übertragen, und dann speichert der Cache-Speicher diese Daten. Der LRU-Algorithmus wird verwendet, um zu bestimmen, welcher der vier Wege die neuen Daten speichern soll, das heißt, er bestimmt ersetzbare Daten in jedem dieser vier Wege. Konkret heißt das, daß dann, wenn die LRU-Schaltung 1 den im LRU-Bit 2 gespeicher­ ten Inhalt zur LRU-Steuerschaltung 3 überträgt, die LRU- Steuerschaltung 3 jeden bzw. irgendeinen dieser vier ersetz­ baren Wege im Einklang mit dem LRU-Algorithmus auswählt, bevor die aus dem Hauptspeicher neu ausgelesenen Daten in den ausgewählten Weg gespeichert werden. Gleichzeitig er­ neuert die LRU-Steuerschaltung 3 den Inhalt der im LRU-Bit 2 gespeicherten Daten und ermöglicht es, den erneuerten Inhalt zu speichern.
Ein Beispiel einer LRU-Steuerschaltung, die einen solchen LRU-Algorithmus verwendet, ist in der EP-A 01 73 556 beschrieben.
Diese LRU-Steuerschaltung steuert die Auswahl der Datenspeicher zum Einschreiben von Daten. Der LRU-Steuerschaltung ist ein LRU-Speicher zum Speichern von Daten darin vorgeschaltet. Weiterhin ist ein Fehlerspeicher vorgesehen, in dem eine Fehlerinformation gespeichert ist. Diese Fehlerinforma­ tion dient dazu, die LRU-Steuerung davon abzuhalten, beim Schreiben von Daten einen fehlerhaften Speicherort dafür auszuwählen. Dies bedeutet, daß eine Information über einen Fehlerzustand eines Speicherplatzes des Cache-Spei­ chers, die in dem Fehlerspeicher gespeichert ist, dazu verwendet wird, den bestimmten fehlerhaften Speicherplatz einfach zu übergehen.
Weiterhin ist aus der DE-A-33 33 366 ein Auflösungsnetzwerk für zuletzt erfolgte Benutzungen bekannt, das nach einem LRU-Algorithmus arbeitet. Ein LRU- Zustandsspeicher gibt logische Signale aus, die den letzten Benutzungszustand wiedergeben, und zwar jeweils in Form von Prioritätsbeziehungen bezüglich zweier benutzter Wege. Die logischen Signale werden zusammen mit Benutzungssigna­ len einem logischen Netzwerk zugeführt, das daraus über eine dreistufige Gatteranordnung Ausgangssignale erzeugt, die die Prioritätswerte der einzelnen benutzten Wege angibt. Die bekannte LRU-Schaltung weist eine relativ hohe Komplexität auf, was schon alleine aus dem dreistufigen Aufbau des logischen Netzwerks, nämlich der Auswählschaltung zur Gewinnung der prioritätsangeben­ den Ausgangssignale folgt. Dieser komplexe Aufbau bedingt einen relativ großen, unerwünschten Platzbedarf bei der Integration der Schaltung und zum anderen eine relativ geringe Geschwindigkeit der Schaltung, da die logischen Signale drei Gatterstufen vom Speicher aus passieren müssen, bis die gewünschten Aus­ gangssignale vorliegen.
Demgegenüber besteht die Aufgabe der Erfindung darin, eine LRU-Schaltung zu schaffen, durch die verhindert werden kann, daß der Cache-Speicher die Datenverarbeitung selbst dann stoppt, wenn die LRU-Schaltung den Prioritätswert nicht korrekt bestimmen kann.
Diese Aufgabe wird durch die im Patentanspruch 1 angegebenen Merkmale gelöst. Die bekannte LRU-Schaltung wird erfindungsgemäß durch eine Nachweiseinrich­ tung und eine Steuereinrichtung derart weitergebildet, daß bei Auftreten eines Zustands, in dem kein Prioritätswert angegeben werden kann, ein bestimmter Prioritätswert eingestellt wird. In anderen Worten, es wird selbst dann, wenn der Prioritätswert nicht richtig ausgewählt werden kann, der vorbestimmte ersetzbare Wert direkt oder indirekt ausgewählt, so daß sicher verhindert werden kann, daß der Cache-Speicher seinen eigenen Betrieb einstellt. Weiterhin ist mit der erfindungsgemäßen LRU-Schaltung eine Hochgeschwindigkeitsverarbeitung mit einem relativ einfachen logischen Aufbau möglich.
Weitere vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprü­ chen beschrieben.
Weitere vorteilhafte Merkmale der Erfindung ergeben sich aus der nachfolgenden Beschreibung in Zusammenhang mit der Zeichnung. In der Zeichnung zeigen:
Fig. 1 ein vereinfachtes Blockdiagramm eines Vierwege-Asso­ ziativ-Cache-Speichers und einer LRU-Schaltung,
Fig. 2 eine vereinfachte schematische Darstellung, die ein Konzept wählbarer Wege und des Speicherinhalts eines LRU- Bits zeigt, um die Prioritätsbeziehung zwischen diesen wähl­ baren Wegen vorzuschlagen,
Fig. 3 ein Blockdiagramm des ersten bevorzugten Ausführungs­ beispiels der erfindungsgemäßen LRU-Schaltung,
Fig. 4 ein Blockdiagramm eines zweiten bevorzugten Ausfüh­ rungsbeispiels der erfindungsgemäßen LRU-Schaltung,
Fig. 5 ein Blockdiagramm eines dritten bevorzugten Ausfüh­ rungsbeispiels einer erfindungsgemäßen LRU-Schaltung,
Fig. 6 ein Blockdiagramm eines vierten bevorzugten Ausfüh­ rungsbeispiels einer erfindungsgemäßen LRU-Schaltung und
Fig. 7 ein Blockdiagramm eines fünften bevorzugten Ausfüh­ rungsbeispiels einer erfindungsgemäßen LRU-Schaltung.
Die folgende Beschreibung bezieht sich auf diejenigen bevor­ zugten Ausführungsbeispiele der LRU-Schaltung, die bei Vier­ wege-Assoziativ-Cache-Speichern angewandt werden.
Es wird auf Fig. 3 Bezug genommen. Das LRU-Bit 2 ist eine Einrichtung zum Speichern vorher verwendeter (Prioritäts- oder untergeordneter) Informationen, die sich aus sechs Bits 21 bis 26 zusammensetzt, um vorher verwendete Informationen aus vier Wegen A bis D (nicht dargestellt) zu speichern. Im einzelnen speichert das Bit 21 Informationen, die die vorher verwendete Beziehung zwischen den Wegen A und B be­ zeichnet. Das Bit 22 speichert Informationen, die die vor­ her verwendete Beziehung zwischen den Wegen B und C spei­ chert. Bit 23 speichert die Informationen, die die vorher verwendete Beziehung zwischen den Wegen C und D bezeichnet. Das Bit 24 speichert Informationen, die die vorher verwen­ dete Beziehung zwischen den Wegen A und D bezeichnet. Das Bit 25 speichert Informationen, die die vorher verwendete Beziehung zwischen den Wegen A und C bezeichnet. Das Bit 26 speichert Informationen, die die vorher verwendete (Prio­ ritäts- und untergeordnete) Beziehung zwischen den Wegen B und D bezeichnet.
Jedes der sechs Bits ist mit einem Anschluß Q versehen, der Signale mit hohem Pegel abgibt, wenn ein jedes Bit "1" ist, und mit einem Anschluß , der Signale mit hohem Pegel abgibt, wenn jedes Bit "0" ist.
Die Bezugsziffer 31 bezeichnet eine Auswählschaltung, die Teil der LRU-Steuerschaltung 3 ist. Ein Auswählsignal 32 aktiviert die Auswählschaltung 31, um nach Lieferung eines Dateninhalts aus dem LRU-Bit 2 einen ersetzbaren Weg auszu­ wählen. Im einzelnen geben die NAND-Gatter 33 bis 36 Sig­ nale ab, um den ersten Weg A bzw. den zweiten Weg B bzw. den dritten Weg C bzw. den vierten Weg D zu wählen.
Im einzelnen sind drei Eingangsanschlüsse des NAND-Gatters 33 entsprechend verbunden mit dem Anschluß des Bits 21, welches die vorher verwendete Beziehung zwischen den Wegen A und B bezeichnet, mit dem Anschluß des Bits 24, welches die vorher verwendete Beziehung zwischen den Wegen A und D bezeichnet und mit dem Anschluß des Bits 25, welches die vorher verwendete Beziehung zwischen den Wegen A und c bezeichnet. In ähnlicher Weise sind drei Eingangsanschlüs­ se des NAND-Gatters 34 entsprechend verbunden mit dem An­ schluß Q des Bits 21, welches die vorher verwendete Bezie­ hung zwischen den Wegen A und B bezeichnet, dem Anschluß des Bits 22, welches die vorher verwendete Beziehung zwi­ schen den Wegen B und C bezeichnet, und dem Anschluß des Bits 26, welches die vorher verwendete Beziehung zwischen den Wegen B und D bezeichnet.
Drei Eingangsanschlüsse des NAND-Gatters 35 sind verbunden mit dem Anschluß Q des Bits 22, welches die vorher verwende­ te Beziehung zwischen den Wegen B und C bezeichnet, dem Anschluß des Bits 23, welches die vorher verwendete Bezie­ hung zwischen den Wegen C und D bezeichnet, und dem An­ schluß Q des Bits 25, welches die vorher verwendete Bezie­ hung zwischen den Wegen A und C bezeichnet. Drei Eingangs­ anschlüsse des NAND-Gatters 36 sind verbunden mit dem An­ schluß Q des Bits 23, welches die vorher verwendete Bezie­ hung zwischen den Wegen C und D bezeichnet, dem Anschluß Q des Bits 24, welches die vorher verwendete Beziehung zwi­ schen den Wegen A und D bezeichnet, und dem Anschluß Q des Bits 26, welches die vorher verwendete Beziehung zwischen den Wegen B und D bezeichnet.
Einer dieser vier Wege hat die obere Priorität über den Rest, was bedeutet, daß der Weg die Priorität über jeden anderen Weg hat. In anderen Worten, wenn der erste Weg A die Priorität über den zweiten Weg B, den dritten Weg C und den vierten Weg D hat, dann hat der erste Weg A die obere Priorität über die drei anderen. Konkret heißt das, daß der Cache-Speicher identifizieren kann, welcher dieser vier Wege die obere Priorität hat, indem der Zustand des LRU- Bits 2 überprüft wird, welches die Informationen betreffend der vorher verwendeten Beziehung zwischen diesen vier Wegen speichert.
Beispielsweise soll das LRU-Bit 2 die vorher verwendete (obere Prioritäts- oder untergeordnete) Beziehung zwischen dem ersten Weg A und dem zweiten Weg B darstellen, welche durch einen Ausdruck [AB] bezeichnet ist. Es sei angenom­ men, daß der erste Weg A die hohe Priorität hat, wenn [AB] = "0" und daß der zweite Weg B die hohe Priorität hat, wenn [AB] = "1". Desweitern sei angenommen, daß "X" entwe­ der "1" oder "0" sein kann. Wenn der Inhalt des LRU-Bits 2 durch die unten gezeigten Ausdrücke bezeichnet wird, dann ist der erste Weg A mit der oberen Priorität versehen.
[AB] = 0 [BC] = X [CD] = X
[AD] = 0 [AC] = 0 [BD] = X
Desgleichen ist der zweite Weg B mit der oberen Priorität versehen, wenn die folgende Beziehung vorliegt:
[AB] = 1 [BC] = 0 [CD] = X
[AD] = X [AC] = X [BD] = 0
In gleicher Weise ist der dritte Weg C mit der oberen Prio­ rität versehen, wenn die folgende Beziehung vorliegt:
[AB] = X [BC] = 1 [CD] = 0
[AD] = X [AC] = 1 [BD] = X
In gleicher Weise ist der vierte Weg D mit der oberen Prio­ rität versehen, wenn die folgende Beziehung vorliegt:
[AB] = X [BC] = X [CD] = 1
[AD] = 1 [AC] = X [BD] = 1
Fig. 3 zeigt die Wegauswählschaltung 31, die die Anschlüsse Q und eines jeden Bits des LRU-Bits 2 mit den entsprechen­ den Eingangsanschlüssen der NAND-Gatter 33 bis 36 verbin­ det, um die o.g. Logik zu realisieren. Die NAND-Gatter 33 bis 36 geben niedrigaktive Signale ab. Wenn das NAND-Gat­ ter 33 das Signal "0" abgibt, so wird der erste Weg A als ersetzbares Objekt mit der obersten Priorität gewählt. Wenn das NAND-Gatter 34 das Signal "0" abgibt, so wird der zwei­ te Weg B als ersetzbares Objekt mit der oberen Priorität gewählt. Wenn das NAND-Gatter 35 das Signal "0" abgibt, so wird der dritte Weg C als ersetzbarer Weg mit der oberen Priorität gewählt. In gleicher Weise wird der vierte Weg D als ersetzbares Objekt mit der oberen Priorität gewählt, wenn das NAND-Gatter 36 das Signal "0" abgibt.
Immer wenn der Datenersetzvorgang aktiviert wird, geht das Auswahlsignal 32 "high", wodurch es dem Speicherinhalt der Bits 21 bis 26 des LRU-Bits 2 ermöglicht wird, zur Auswähl­ schaltung 31 geliefert zu werden. Normalerweise ist, wenn dieser Prozeß stattfindet, jeder dieser vier Wege A bis D bereit, ausgewählt zu werden, und daher gibt eines der NAND-Gatter 33 bis 36 ein "low"-Signal ab, während von den anderen drei Gattern ausgegebene Signale in den "high"-Zu­ stand gehen. Dies ermöglicht es der Auswählschaltung 31, einen der vier Wege A bis D entsprechend einem der NAND-Gatter 33 bis 36, dessen Ausgangssignal auf "low" geht, richtig auszuwählen, so daß das Ersetzen bzw. Austau­ schen des bestimmten Weges durchgeführt werden kann.
Wenn jedoch beim Datenverarbeitungsbetrieb irgendein Fehler wie ein Softwarefehler vorliegt, so kann das obenbeschriebe­ ne erste Ausführungsbeispiel der LRU-Schaltung mit dem oben­ genannten Aufbau nicht in der Lage sein, den ersetzbaren Weg richtig zu bestimmen.
Beispielsweise sind 24 sequentielle Order auf diese vier Wege anwendbar, welche durch einen Ausdruck 4! = 24 be­ zeichnet werden können. Nichtsdestotrotz bestehen tatsäch­ lich 64 Kombinationen in Verbindung mit dem Binärsignalsta­ tus ("1" oder "0"), welche gebildet werden können, indem das LRU-Bit 2 in der Benennung durch einen Ausdruck 2⁶ = 64 angewandt wird.
Folglich ist es wahrscheinlich, daß 40 Arten von Bedingun­ gen auch durch Softwareirrtum zusätzlich zu 24 Arten sequen­ tieller Order, die tatsächlich anwesend sind, erzeugt wer­ den können. Wenn irgendeine dieser nicht korrekten Bedin­ gungen vorliegt, so kann eine konventionelle LRU-Schaltung den ersetzbaren Weg mit der oberen Priorität nicht korrekt bestimmen. Dies kann leicht dazu führen, daß der Cache-Spei­ cher den Datenverarbeitungsbetrieb vollständig stoppt.
Es werden nunmehr das zweite bis fünfte Ausführungsbeispiel beschrieben, bei denen die vorstehend genannten Probleme vermieden werden.
Fig. 4 ist ein Blockdiagramm eines zweiten bevorzugten Aus­ führungsbeispiels einer erfindungsgemäßen LRU-Schaltung.
Soweit im Falle des zweiten Ausführungsbeispiels die Elemen­ te mit denjenigen des ersten Ausführungsbeispiels überein­ stimmen, werden gleiche Bezugsziffern verwendet.
Im Falle des zweiten Ausführungsbeispiels sind der Konstruk­ tion des ersten bevorzugten Ausführungsbeispiels eine Nach­ weisschaltung 37 und ein Übertragungsgatter 38 hinzugefügt.
Die Nachweisschaltung 37, die ein UND-Gatter umfaßt, weist die Bedingung nach, wenn die NAND-Gatter 33 bis 36 Signale mit hohem Pegel ausgeben. In anderen Worten weist sie die Bedingung nach, wenn keine der ersetzbaren Wege gewählt werden können, und dann gibt sie ein Signal mit niedrigem Pegel aus. Das aus der Nachweisschaltung 37 ausgegebene Signal wird zum Resetanschluß R des LRU-Bits 2 über das Übertragungsgatter 38 geliefert. Im einzelnen ist es so, daß dann, wenn das von der Nachweisschaltung 37 abgegebene Signal in den "low"-Zustand geht, das Resetsignal zum "low"­ aktiven Resetanschluß R des LRU-Bits 2 über das Übertra­ gungsgatter 38 geliefert wird.
Im folgenden wird die Betriebsweise des zweiten bevorzugten Ausführungsbeispiel s der erfindungsgemäßen LRU-Schaltung beschrieben.
Immer wenn der Datenersetzprozeß aktiviert wird, geht das Auswahlsignal 32 "high", so daß es dem Speicherinhalt der Bits 21 bis 26 des LRU-Bits 2 ermöglicht wird, der Auswähl­ schaltung 31 zugeführt zu werden. Normalerweise ist, wenn dieser Prozeß stattfindet, jeder der vier Wege A bis D be­ reit, ausgewählt zu werden, und daher gibt eines der NAND- Gatter 33 bis 36 ein "low"-Signal ab, während von den ande­ ren drei Gattern ausgegebene Signale "high" gehen. Dies ermöglicht es der Auswählschaltung 31, einen der vier Wege A bis D entsprechend einem der NAND-Gatter 33 bis 36 ordnungsgemäß auszuwählen, dessen Ausgangssignal auf "low" geht, so daß das Ersetzen des bestimmten Weges durch­ geführt werden kann.
Wenn jedoch irgendeiner der vier Wege A bis D mittels des Speicherinhalts der Bits 21 bis 26 des LRU-Bits 2 aufgrund eines vorhandenen Softwareirrtums nicht gewählt werden kann, beispielsweise, wenn [AB] = 0, [BC] = 0, [CD] = 0, [AD] = 0, [AC] = 1 und [BD] = 0, dann gehen alle von den NAND-Gattern 33 bis 36 abgegebene Signale "high". Dies er­ möglicht es der Nachweisschaltung 37, Niedrigpegelsignale abzugeben. Wenn dieser Prozeß stattfindet, so wird das Über­ tragungsgatter 38, nachdem das Auswahlsignal "high" ist, aktiviert, um es einem "low"-Signal aus der Nachweisschal­ tung 37 zu ermöglichen, dem "low"-aktiven Resetanschluß R des LRU-Bits 2 über das Übertragungsgatter 38 zugeführt zu werden. Als Ergebnis werden die Bits 21 bis 26 des LRU- Bits 2 insgesamt auf "0" zurückgesetzt. Sobald diese Bits 21 bis 26 des LRU-Bits 2 vollständig zurückgesetzt sind, geht nur das vom NAND-Gatter 33 abgegebene Signal "low", während sämtliche Signale von den NAND-Gattern 34 bis 36 "high" gehen. Dies ermöglicht es, daß der erste Weg A die­ ser vier Wege ausgewählt wird. Gleichzeitig geht das aus der Nachweisschaltung 37 ausgegebene Signal "high", so daß das dem LRU-Bit 2 zugeführte Resetsignal letztendlich frei­ gegeben werden kann.
Grundsätzlich kann die Nachweisschaltung 37 aus einem Vier- Eingangs-NAND-Gatter zusammengesetzt sein, welches Signale von den NAND-Gattern 33 bis 36 empfängt. In alternativer Weise kann die Nachweisschaltung 37 auch gebildet werden, indem ein Fünf-Eingangs-NAND-Gatter, welches in Fig. 5 als drittes bevorzugtes Ausführungsbeispiel dargestellt ist, verwendet wird, um es dem anderen Eingangsanschluß zu ermög­ lichen, ein Steuersignal aufzunehmen, welches beispielswei­ se ein Maskingsignal oder ein Timingsignal darstellt.
Um eine Komplizierung des Schaltungsaufbaus zu vermeiden, führt das vorgenannte bevorzugte Ausführungsbeispiel das System zum Zurücksetzen der Bits 21 bis 26 des LRU-Bits 2 durch Lieferung eines "low"-Signals, welches von der Nach­ weisschaltung 37 abgegeben wurde, zum Resetanschluß R des LRU-Bits 2 ein. Es ist beim o.g. bevorzugten Ausführungsbei­ spiel jedoch auch möglich, daß diese Bits 21 bis 26 des LRU-Bits 2 auf "1" oder jeden spezifischen Zustand gesetzt werden.
Zur Realisierung des dritten bevorzugten Ausführungsbei­ spiels kann auch ein anderes System vorgesehen sein, bei dem irgendeiner der vier Wege A bis D direkt und zwangswei­ se durch das von der Nachweisschaltung 37 abgegebene Signal gewählt wird. Konkret heißt das, daß ein ODER-Signal des Signals der Nachweisschaltung 37 und irgendeines der NAND- Gatter 33 bis 36, beispielsweise das Signal vom NAND-Gatter 33, wie in Fig. 5 gezeigt, vom ODER-Gatter 41 empfangen wird. Wenn ein solches System verwendet wird, so entfällt das Übertragungsgatter 38.
Fig. 6 ist ein schematisches Schaltdiagramm des vierten bevorzugten Ausführungsbeispiels der erfindungsgemäßen LRU- Schaltung. Soweit die einzelnen Elemente mit denjenigen der vorhergehenden Ausführungsbeispiele übereinstimmen, werden gleiche Bezugsziffern verwendet.
Die LRU-Schaltung gemäß dem vierten bevorzugten Ausführungs­ beispiel nach Fig. 6 ist mit einem Multiplexer 50 mit 8 Eingangsanschlüssen und vier Ausgangsanschlüssen und mit einem 4-Bit-Register 39 versehen.
Der Multiplexer 50 empfängt Signale von den NAND-Gattern 33 bis 36 und die vier Bits des 4-Bit-Registers 39. Zusätz­ lich empfängt der Multiplexer 50 auch Steuersignale von der Nachweisschaltung 37. Wenn das Signal aus der Nachweis­ schaltung 37 "high" ist, so gibt der Multiplexer 50 von den NAND-Gattern 33 bis 36 empfangene Signale über seine eigenen 4-Bit-Ausgangsanschlüsse ab. Demgegenüber gibt der Multiplexer 50 im Falle, daß das Signal aus der Nachweis­ schaltung 37 "low" ist, vom 4-Bit-Register 39 empfangene Signale über seine eigenen 4-Bit-Ausgangs-Anschlüsse ab. Selbst wenn der Speicherinhalt des LRU-Bits 2 keinen der vier Wege A bis D auswählen kann, wenn von der Software spezifische Daten wie die "0" von einem Bit und die "1" vom Rest des 4-Bit-Ausgangs vorläufig zum 4-Bit-Register 39 gesetzt wurden, werden folglich diejenigen Daten, die im 4-Bit-Register 39 gespeichert sind, vom Multiplexer 50 ausgegeben, so daß jeder der vier Wege A bis D in geeigne­ ter Weise gewählt werden kann.
Fig. 7 ist ein schematisches Schaltungsdiagramm des fünften bevorzugten Ausführungsbeispiels der erfindungsgemäßen LRU- Schaltung. Soweit die gleichen Elemente wie im Falle der vorstehenden Ausführungsbeispiele verwendet werden, sind diese mit den gleichen Bezugsziffern bezeichnet. Das fünfte bevorzugte Ausführungsbeispiel der LRU-Schaltung gemäß Fig. 7 ist mit einem 6-Bit-Register 40 und einer Gatterschaltung 60 zum Übertragen von Signalen vom 6-Bit-Register 40 zum LRU-Bit 2 versehen.
Die Gatterschaltung 60 nimmt Steuersignale von der Nachweis­ schaltung 37 auf. Wenn das Signal von der Nachweisschaltung 37 "high" ist, so wird die Gatterschaltung 60 deaktiviert. Folglich wird die Gatterschaltung 60 dann, wenn das Signal von der Nachweisschaltung 37 "low" ist, aktiviert, um zu ermöglichen, daß die 6-Bit-Signale vom 6-Bit-Register 40 den Bits 21 bis 26 des LRU-Bit 2 zugeführt werden, bevor die 6-Bit-Daten zwangsläufig gesetzt werden.
Selbst wenn der Speicherinhalt des LRU-Bit 2 keinen der vier Wege A bis D in geeigneter Weise auswählen kann, falls spezifische Daten wie eine "0" von einem Bit und eine "1" von den verbleibenden drei Bits der 4-Bit-Ausgangsanschlüs­ se von der Software vorläufig zum 6-Bit-Register 40 gesetzt worden sind, werden folglich die im 6-Bit-Register 40 ge­ speicherten 6-Bit-Daten den Bits 21 bis 26 des LRU-Bit 2 über die Gatterschaltung 60 zugeführt, bevor sie gesetzt werden. Dies ermöglicht es der erfindungsgemäßen LRU-Schal­ tung, sicher einen der vier Wege A bis D auszuwählen.
Die vorstehend beschriebenen bevorzugten Ausführungsbeispie­ le stellen LRU-Schaltungen dar, welche bei 4-Wege-Assozia­ tiv-Cache-Speichern anwendbar sind. Es ist jedoch zu beto­ nen, daß die Anwendbarkeit der vorliegenden Erfindung nicht auf 4-Wege-Assoziativ-Cache-Speicher beschränkt ist. Es erübrigt sich, zu betonen, daß die identische Wirkung auch erzielt werden kann, wenn die Anzahl der Bits des LRU-Bits 2 und die Anzahl der NAND-Gatter entsprechend der Anzahl der Wege erhöht oder vermindert wird.

Claims (6)

1. LRU-Schaltung zum Einsatz in einer Cache-Speichereinrichtung, die mehrere Wege (A, B, C, D) hat, mit
  • - einer Speichereinrichtung (2), in der mehrere Bits als Information über die vorhergehende Benutzung der Wege (A, B, C, D) gespeichert sind, wobei jeweils ein Bit (21, 22, 23, 24, 25, 26) in jeweils einer Einheitsspeichereinrichtung der Prioritätsbeziehung ([AB], [BC], [CD], [AD], [AG], [BD]) zwischen jeweils zwei Wegen zugeordnet ist,
  • - einer LRU-Steuerschaltung (3) mit einer Auswählschaltung (31), die auf der Basis der in der Speichereinrichtung (2) gespeicherten Bits (21, 22, 23, 24, 25, 26) für jeden Weg (A, B, C, D) ein zugeordnetes Ausgangssignal erzeugt, das einen Prioritätswert des jeweiligen Wegs angibt,
    dadurch gekennzeichnet, daß
  • - eine Nachweiseinrichtung (37) einen Zustand feststellt, in dem die Angabe des Prioritätswerts der Wege unkorrekt ist, und
  • - eine Steuereinrichtung (38; 41; 39, 50; 40, 60) bei Auftreten des von der Nachweiseinrichtung (37) festgestellten Zustands einen bestimmten Prioritätswert einstellt.
2. LRU-Schaltung nach Anspruch 1, dadurch gekennzeichnet, daß die Speichereinrichtung (2) mehrere Signale entsprechend den Bits in den Einheits­ speichereinrichtungen und entsprechend den negierten Bits der Auswählschaltung (31) zuführt, und die Auswählschaltung (31) im wesentlichen einstufig mit mehreren logischen Gattern (33, 34, 35, 36) aufgebaut ist, von denen jeweils ein Gatter einem der Wege (A, B, C, D) zugeordnet ist, wobei das jeweilige Gatter aus einigen der Auswählschaltung (31) zugeführten Signalen ein Ausgangssignal ((A), (B), (C), (D)) erzeugt, das den Prioritätswert des jeweils zugeordneten Wegs (A, B, C, D) angibt.
3. LRU-Schaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Nachweiseinrichtung (37) ein logisches Gatter ist, dem die Signale der logischen Gatter (33, 34, 35, 36) der Auswählschaltung (31) zugeführt werden, und das ein Signal an die Steuereinrichtung (38; 41; 39, 50; 40, 60) ausgibt.
4. LRU-Schaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Steuereinrichtung (38; 41; 39, 50; 40, 60) abgespeicherte Bits (21, 22, 23, 24, 25, 26) zurücksetzt und damit den bestimmten Prioritätswert einstellt.
5. LRU-Schaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Steuereinrichtung (38; 41; 39, 50; 40, 60) eine Auswahleinrichtung (41) ist, die den bestimmten Prioritätswert auswählt.
6. LRU-Schaltung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Steuereinrichtung (38, 41; 39, 50; 40, 60) eine weitere Speichereinrichtung (39; 40) aufweist, die Information in Form von Datenbits speichert, die zur Auswahl des bestimmten Prioritätswerts durch eine weitere Steuereinrichtung (50; 60) dienen.
DE3918453A 1988-06-14 1989-06-06 LRU-Schaltung Expired - Fee Related DE3918453C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63147705A JPH01314359A (ja) 1988-06-14 1988-06-14 最優劣決定回路

Publications (2)

Publication Number Publication Date
DE3918453A1 DE3918453A1 (de) 1989-12-21
DE3918453C2 true DE3918453C2 (de) 1995-09-14

Family

ID=15436373

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3918453A Expired - Fee Related DE3918453C2 (de) 1988-06-14 1989-06-06 LRU-Schaltung

Country Status (3)

Country Link
JP (1) JPH01314359A (de)
KR (1) KR930000993B1 (de)
DE (1) DE3918453C2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1990732A4 (de) * 2006-02-27 2009-09-02 Fujitsu Ltd Einrichtung, verfahren und programm zur lru-steuerung

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5814400A (ja) * 1981-07-17 1983-01-27 Hitachi Ltd バツフアストレ−ジ履歴装置の障害処理方式
JPS6049950B2 (ja) * 1981-08-27 1985-11-06 富士通株式会社 Lruエラ−処理方式
US4511994A (en) * 1982-09-27 1985-04-16 Control Data Corporation Multi-group LRU resolver
EP0173556A3 (de) * 1984-08-31 1987-05-27 Texas Instruments Incorporated Hierarchische Architektur zur Bestimmung von dem am wenigsten kürzlich benutzten Cachespeicher
US4656634A (en) * 1985-06-14 1987-04-07 Motorola, Inc. Skew insensitive fault detect and signal routing device

Also Published As

Publication number Publication date
KR930000993B1 (ko) 1993-02-12
DE3918453A1 (de) 1989-12-21
KR900000772A (ko) 1990-01-31
JPH01314359A (ja) 1989-12-19

Similar Documents

Publication Publication Date Title
DE2560206C2 (de) Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität
DE2515696C2 (de) Datenverarbeitungssystem
DE3932474C2 (de) Plattenzugriff-Steuerverfahren
DE2547488C2 (de) Mikroprogrammierte Datenverarbeitungsanlage
DE2230987C2 (de)
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3131341A1 (de) "pufferspeicherorganisation"
DE2856133A1 (de) Verarbeitungssystem fuer einen assoziativspeicher
DE2856680C2 (de)
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE3618136C2 (de)
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2926322A1 (de) Speicher-subsystem
DE2758829A1 (de) Multiprozessor-datenverarbeitungssystem
DE1524788A1 (de) Schaltungsanordnung zur Erkennung und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE2311503A1 (de) Datenverarbeitungsanlage mit mehreren zentraleinheiten
DE3024153A1 (de) Speicher-subsystem
EP0009625B1 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
DE102007055138B4 (de) System zum Zugreifen auf einen Einzelport-Mehrwege-Cache
DE3918453C2 (de) LRU-Schaltung
CH495584A (de) Datenverarbeitungsanlage
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
DE19957612A1 (de) Verfahren und System zur Speicherzugriffsverwaltung für Synchronous Dynamic Random-Access Memories oder dergleichen
DE2004934A1 (de)
DE2355814C2 (de) Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee