DE3918453C2 - LRU-Schaltung - Google Patents
LRU-SchaltungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
- G06F12/125—Replacement 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability 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.
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)
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)
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 |
-
1988
- 1988-06-14 JP JP63147705A patent/JPH01314359A/ja active Pending
-
1989
- 1989-06-06 DE DE3918453A patent/DE3918453C2/de not_active Expired - Fee Related
- 1989-06-14 KR KR1019890008209A patent/KR930000993B1/ko not_active IP Right Cessation
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 |