DE3918453A1 - Lru-schaltung - Google Patents

Lru-schaltung

Info

Publication number
DE3918453A1
DE3918453A1 DE3918453A DE3918453A DE3918453A1 DE 3918453 A1 DE3918453 A1 DE 3918453A1 DE 3918453 A DE3918453 A DE 3918453A DE 3918453 A DE3918453 A DE 3918453A DE 3918453 A1 DE3918453 A1 DE 3918453A1
Authority
DE
Germany
Prior art keywords
value
lru
values
upper priority
subordinate
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.)
Granted
Application number
DE3918453A
Other languages
English (en)
Other versions
DE3918453C2 (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), die verwendet wird, um den Prioritätsrang von Daten oder Datenspeicherbe­ reichen zu identifizieren, die ersetzt werden müssen, wenn solche vom Hauptspeicher in den Cache-Speicher eines Compu­ tersystems neu geladenen Daten gespeichert werden. Insbeson­ dere bezieht sich die Erfindung auf eine LRU-Schaltung, welche es ermöglicht, daß ein Cache-Speicher gleichförmig funktioniert, selbst wenn die Anwesenheit eines Fehlers es verhindern kann, daß der Prioritätsrang korrekt identifi­ ziert wird.
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 den 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 LRU-Algorithmus, das heißt, 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 zugänglichen 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 US-Patentanmeldung Nr. 6 46 870 offenbart.
Die o.g. Erfindung umfaßt "eine erste Richteinrichtung, welche ein Zugangssignal von einem jeden Cache-Speicher des ersten Speicherpaares empfängt, um den am längsten nicht benutzten zu bestimmen, und ein erstes Zugangssignal entsprechend dem Empfang des Zusatzsignals abgibt, eine zweite Richteinrichtung, welche ein Zugangssignal von einem jeden Cache-Speicher des zweiten Speicherpaares empfängt, um den am längsten nicht benutzten zu bestimmen und ein zweites Zugangssignal entsprechend dem Empfang des Zugangs­ signals abgibt, und eine dritte Richteinrichtung, die das erste und zweite Signal von der ersten und zweiten Richtein­ richtung empfängt, um den am längsten nicht benutzten des ersten und zweiten Cache-Speicherpaares zu bestimmen".
Das heißt, es wird eine baumartige Konstruktion verwendet, so daß sich einige Probleme dahingehend ergeben, daß eine logische Schaltung viele logische Elemente erfordert und kompliziert ist und daß die Verarbeitungsgeschwindigkeit aufgrund des Umstandes verringert wird, daß das Verarbei­ tungsergebnis bestätigt wird, indem die Baumstruktur ein­ zeln nachgezogen wird.
Die vorliegende Erfindung beruht auf den vorstehend genann­ ten Umständen.
Es ist das wesentliche Ziel der vorliegenden Erfindung, eine LRU-Schaltung zu schaffen, bei der der Aufbau der logi­ schen Schaltung vereinfacht ist und die in der Lage ist, mit hoher Geschwindigkeit zu arbeiten.
Ein weiteres Ziel der Erfindung ist es, eine LRU-Schaltung zu schaffen, welche verhindert, daß der Cache-Speicher die Datenverarbeitung selbst dann stoppt, wenn die LRU-Schal­ tung den oberen Prioritätsrang bei Vorliegen beispielsweise eines Softwarefehlers nicht korrekt bestimmen kann.
Die erfindungsgemäße LRU-Schaltung umfaßt eine Einrichtung zum Speichern vorher bzw. früher verwendeter Informationen, die sich auf den oberen Prioritätsrang oder den untergeord­ neten Rang einer Vielzahl von Werten bezieht sowie eine LRU-Bestimmungseinrichtung, um zu bestimmen, welcher der Wert mit oberster Priorität oder der mit untergeordnetem Wert ist, im Einklang mit Informationen, die in der Einrich­ tung zum Speichern der früher verwendeten Informationen gespeichert ist, so daß eine Hochgeschwindigkeitsverarbei­ tung mit einem relativ einfachen logischen Aufbau möglich ist. Die Schaltung ist auch mit einer Steuereinrichtung versehen, die direkt oder indirekt den vorbestimmten ersetz­ baren Wert für den Fall auswählt, daß die Bestimmungsein­ richtung den ersetzbaren Wert mit oberer Priorität nicht richtig bestimmen kann, so daß selbst dann, wenn der ersetz­ bare Wert mit oberer Priorität nicht richtig ausgewählt werden kann, der vorbestimmte ersetzbare Wert direkt oder indirekt ausgewählt wird, so daß es sicher verhindert wer­ den kann, daß der Cache-Speicher seinen eigenen Betrieb einstellt.
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.
Fig. 2 ist ein vereinfachtes schematisches Diagramm, wel­ ches das Konzept des im LRU-Bit 2 gespeicherten Datenin­ halts zeigt.
Fig. 3 ist ein vereinfachtes Blockdiagramm eines ersten Ausführungsbeispiels einer erfindungsgemäßen LRU-Schaltung, welche einen ersetzbaren bzw. auswechselbaren Weg des In­ halts des LRU-Bits 2 auswählt.
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) Information, 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üsse des NAND-Gatters 34 entsprechend verbunden mit dem Anschluß des Bits 21, welches die vorher verwendete Beziehung zwischen den Wegen A und B bezeichnet, dem Anschluß des Bits 22, welches die vorher verwendete Beziehung zwischen 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ß 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ß 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ß des Bits 23, welches die vorher verwendete Bezie­ hung zwischen den Wegen C und D bezeichnet, dem Anschluß des Bits 24, welches die vorher verwendete Beziehung zwi­ schen den Wegen A und D bezeichnet, und dem Anschluß 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 angenommen, 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". Des weiteren sei angenommen, daß "X" entweder "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.
Desgleichen ist der zweite Weg B mit der oberen Priorität versehen, wenn die folgende Beziehung vorliegt:
In gleicher Weise ist der dritte Weg C mit der oberen Priorität versehen, wenn die folgende Beziehung vorliegt:
In gleicher Weise ist der vierte Weg D mit der oberen Priorität versehen, wenn die folgende Beziehung vorliegt:
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 geben sämtliche NAND-Gatter 33 bis 36 "low"-Signale ab, während von den anderen drei Gattern ausgegebene Signale in den "high"-Zu­ stand gehen. Dies ermöglicht es der Auswählschaltung 31, jeden der vier Wege A bis D entsprechend einem jeden 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 P 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 26= 64 angewandt wird.
Folglich ist es wahrscheinlich, daß 48 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ührungsbeispiels 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 jedes 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, jedweden der vier Wege A bis D entsprechend jedwedem 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 [BC] = 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.
Wie aus der Beschreibung deutlich wird, kann mit der erfin­ dungsgemäßen LRU-Schaltung eine Hochgeschwindigkeitsverar­ beitung mittels vereinfachtem Aufbau realisiert werden, und selbst wenn irgendein Fehler in der im LRU-Bit gespeicher­ ten Information vorhanden ist, kann ein bestimmter ersetz­ barer Weg sicher ausgewählt werden. Dies verhindert voll­ ständig, daß der Cache-Speicher unerwünscht seinen eigenen Betrieb einstellt bzw. unterbricht.

Claims (5)

1. LRU-Schaltung, gekennzeichnet durch:
eine Speichereinrichtung für früher verwendete Informa­ tionen, mit einer Mehrzahl von Einheitsspeichereinrich­ tungen, von denen eine jede die Beziehung von oberem Prioritätsrang oder von untergeordnetem Rang zwischen jeweils zwei Werten einer Vielzahl von Werten angibt, und
eine LRU-Bestimmungseinrichtung, um zu bestimmen, daß ein Wert der obere Prioritätswert oder der untergeordne­ te Wert ist im Falle, daß alle Einheitsspeichereinrich­ tungen, die die Beziehung des einen Werts bezüglich ande­ rer Werte angeben, angeben, daß dieser eine Wert der obere Prioritätswert oder der untergeordnete Wert ist, im Einklang mit Informationen, die von einer jeden Ein­ heitsspeichereinrichtung angegeben werden.
2. LRU-Schaltung, gekennzeichnet durch:
eine Speichereinrichtung für früher verwendete Informa­ tionen, mit einer Mehrzahl von Einheitsspeichereinrich­ tungen, von denen eine jede die Beziehung des oberen Prioritätsrangs oder des untergeordneten Rangs zwischen je zwei Werten einer Vielzahl von Werten angibt,
eine LRU-Bestimmungseinrichtung, um zu bestimmen, daß ein Wert der obere Prioritätswert oder der untergeordne­ te Wert ist im Falle, daß alle Einheitsspeichereinrich­ tungen, die die Beziehung des einen Werts bezüglich ande­ rer Werte angeben, angeben, daß dieser eine Wert der obere Prioritätswert oder der untergeordnete Wert ist, im Einklang mit Informationen, die von einer jeden Ein­ heitsspeichereinrichtung angegeben werden,
eine Nachweiseinrichtung zum Nachweisen, daß die LRU-Be­ stimmungseinrichtung im Zustand ist, in dem sie den obe­ ren Prioritätswert oder den untergeordneten Wert nicht bestimmen kann, und
eine Steuereinrichtung, die im Falle, daß die Nachweis­ einrichtung nachweist, daß die Bestimmungseinrichtung nicht bestimmen kann, welcher der obere Prioritätswert oder der untergeordnete Wert ist, eine Steuerung durch­ führt derart, daß ein spezifischer Wert der Vielzahl von Werten durch Rücksetzen der Speichereinrichtung von früher verwendeten Informationen in einen spezifischen Zustand nach deren Löschung gewählt werden kann.
3. LRU-Schaltung, gekennzeichnet durch:
eine Speichereinrichtung für früher verwendete Informa­ tionen, mit einer Mehrzahl von Einheitsspeichereinrich­ tungen, von denen eine jede eine Beziehung des oberen Prioritätsrangs oder des untergeordneten Rangs zwischen je zwei Werten einer Vielzahl von Werten angibt,
eine LRU-Bestimmungseinrichtung, um zu bestimmen, daß ein Wert der obere Prioritätswert oder der untergeordne­ te Wert ist im Falle, daß alle Einheitsspeichereinrich­ tungen, die die Beziehung des einen Werts bezüglich ande­ rer Werte angeben, angeben, daß dieser eine Wert der obere Prioritätswert oder der untergeordnete Wert ist, im Einklang mit Informationen, die von einer jeden Ein­ heitsspeichereinrichtung angegeben werden,
eine Nachweiseinrichtung, um nachzuweisen, daß die LRU- Bestimmungseinrichtung in einem Zustand ist, in welchem sie den oberen Prioritätswert oder den untergeordneten Wert nicht bestimmen kann und
eine Steuereinrichtung, die im Falle, daß die Nachweis­ einrichtung nachweist, daß die Bestimmungseinrichtung nicht bestimmen kann, welcher der obere Prioritätswert oder der untergeordnete Wert ist, die Auswahleinrichtung steuert, um einen spezifischen Wert der Vielzahl von Werten auszuwählen, indem sie mit einer Auswahleinrich­ tung zum zwangsweisen Auswählen des spezifischen Wertes der Vielzahl von Werten versehen ist.
4. LRU-Schaltung, gekennzeichnet durch:
eine Speichereinrichtung für früher verwendete Informa­ tion mit einer Mehrzahl von Einheitsspeichereinrichtun­ gen, von denen eine jede die Beziehung des oberen Priori­ tätsrangs oder des untergeordneten Rangs zwischen je zwei Werten einer Vielzahl von Werten angibt,
eine LRU-Bestimmungseinrichtung, um zu bestimmen, daß ein Wert der obere Prioritätswert oder der untergeordne­ te Wert ist im Falle, daß alle Einheitsspeichereinrich­ tungen, die die Beziehung des einen Werts bezüglich ande­ rer Werte angeben, angeben, daß dieser eine Wert der obere Prioritätswert oder der untergeordnete Wert ist, im Einklang mit Informationen, die von einer jeden Ein­ heitsspeichereinrichtung abgegeben werden,
eine Nachweiseinrichtung, um nachzuweisen, daß sich die LRU-Bestimmungseinrichtung in einem Zustand befindet, in welchem sie den oberen Prioritätswert oder den unter­ geordneten Wert nicht bestimmen kann,
eine Speichereinrichtung, um in Verbindung einer zwangs­ weisen Auswahl eines spezifischen Werts als oberer Prio­ ritätswert oder untergeordneter Wert Informationen zu speichern, und
eine Steuereinrichtung, welche im Falle, daß die Nach­ weiseinrichtung nachweist, daß die Bestimmungseinrich­ tung nicht bestimmen kann, welcher der obere Prioritäts­ wert oder der untergeordnete Wert ist, eine Steuerung durchführt derart, daß der spezifische Wert der Vielzahl von Werten im Einklang mit Informationen, die in der Speichereinrichtung gespeichert sind, ausgewählt werden kann.
5. LRU-Schaltung, gekennzeichnet durch:
eine Speichereinrichtung für früher verwendete Informa­ tionen mit einer Mehrzahl von Einheitsspeichereinrich­ tungen, von denen eine jede die Beziehung des oberen Prioritätsrangs oder des untergeordneten Rangs zwischen je zwei Werten einer Vielzahl von Werten angibt,
eine LRU-Bestimmungseinrichtung, um zu bestimmen, daß ein Wert der obere Prioritätswert oder der untergeordne­ te Wert ist im Falle, daß alle Einheitsspeichereinrich­ tungen, die die Beziehung des einen Werts bezüglich ande­ rer Werte angeben, angeben, daß dieser eine Wert der obere Prioritätswert oder der untergeordnete Wert ist, im Einklang mit Information, die von einer jeden Ein­ heitsspeichereinrichtung angegeben wird,
eine Nachweiseinrichtung zum Nachweisen, daß die LRU-Be­ stimmungseinrichtung sich in einem Zustand befindet, in welchem sie den oberen Prioritätswert oder den unter­ geordneten Wert nicht bestimmen kann,
eine Speichereinrichtung zum Speichern von Informationen in Verbindung mit einem zwangsweisen Setzen des Inhalts der Speichereinrichtung für früher verwendete Informatio­ nen in einen spezifischen Zustand, und
eine Steuereinrichtung, welche im Falle, daß die Nach­ weiseinrichtung nachweist, daß die Bestimmungseinrich­ tung nicht bestimmen kann, welcher der obere Prioritäts­ wert oder der untergeordnete Wert ist, eine Steuerung derart durchführt, daß eine spezifischer Wert der Viel­ zahl von Werten durch zwangsweises Setzen des Inhalts der Speichereinrichtung für früher verwendete Informa­ tion in Einklang mit der in der Speichereinrichtung ge­ speicherten Information ausgewählt werden kann.
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 true DE3918453A1 (de) 1989-12-21
DE3918453C2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1990732A1 (de) * 2006-02-27 2008-11-12 Fujitsu Ltd. Einrichtung, verfahren und programm zur lru-steuerung

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3333366A1 (de) * 1982-09-27 1984-03-29 Control Data Corp., 55440 Minneapolis, Minn. Aufloesungsnetzwerk fuer zuletzt erfolgte benutzungen
EP0173556A2 (de) * 1984-08-31 1986-03-05 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

Family Cites Families (2)

* 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エラ−処理方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3333366A1 (de) * 1982-09-27 1984-03-29 Control Data Corp., 55440 Minneapolis, Minn. Aufloesungsnetzwerk fuer zuletzt erfolgte benutzungen
EP0173556A2 (de) * 1984-08-31 1986-03-05 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

Cited By (2)

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

Also Published As

Publication number Publication date
KR930000993B1 (ko) 1993-02-12
DE3918453C2 (de) 1995-09-14
KR900000772A (ko) 1990-01-31
JPH01314359A (ja) 1989-12-19

Similar Documents

Publication Publication Date Title
DE3131341C2 (de)
DE3102150C2 (de) Multiprozessor-Datenverarbeitungsanlage
DE2515696C2 (de) Datenverarbeitungssystem
DE2829550C2 (de)
DE3932474C2 (de) Plattenzugriff-Steuerverfahren
DE2750721A1 (de) Ein/ausgabe-system
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2154106A1 (de) Arbeitsspeicherwerk
DE2415900A1 (de) Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen
DE2646163B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE2856680C2 (de)
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE2547488A1 (de) Mikroprogrammierte datenverarbeitungsanlage
DE68928333T2 (de) Pufferspeicher, der zur Speicherung von Befehls- und Datenblöcken auf verschiedene Blockgrössen geeignet ist
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2758829A1 (de) Multiprozessor-datenverarbeitungssystem
DE2926322A1 (de) Speicher-subsystem
DE2000066A1 (de) Datenverarbeitungsanordnung
EP0009625B1 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
DE102007055138B4 (de) System zum Zugreifen auf einen Einzelport-Mehrwege-Cache
CH495584A (de) Datenverarbeitungsanlage
DE3105115A1 (de) Datenverarbeitungssystem mit bezueglich einer schluesselspeicherung ringfoermig angeschlossenen mulitprozessoren
DE3918453A1 (de) Lru-schaltung
DE1499286B2 (de) Datenbearbeitungsanlage

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