DE3429571C2 - - Google Patents
Info
- Publication number
- DE3429571C2 DE3429571C2 DE3429571A DE3429571A DE3429571C2 DE 3429571 C2 DE3429571 C2 DE 3429571C2 DE 3429571 A DE3429571 A DE 3429571A DE 3429571 A DE3429571 A DE 3429571A DE 3429571 C2 DE3429571 C2 DE 3429571C2
- Authority
- DE
- Germany
- Prior art keywords
- priority
- circuit
- memory
- hit
- bank
- 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
- 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
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 Schaltungsanordnung
zur prioritätsbezogenen Einordnung und Registrierung
von Speicherabschnitten bzw. Speicherbänken nach dem
Oberbegriff des Patentanspruchs 1.
In modernen Datenverarbeitungsanlagen der oberen Leistungsklasse
spielt die Vergabe von Prioritäten für
die Abarbeitung der üblicherweise in ungeordneter Reihenfolge
auftretenden Ereignisse eine wichtige Rolle.
In Anpassung an die verschiedenen Anwendungsfälle ist
eine Reihe von Algorithmen entwickelt worden, mit
denen die jeweils gewünschte Prioritätsfolge erreicht
werden kann. Einer dieser bekannten Algorithmen ist
der sogenannte FIFO-Algorithmus (First In, First Out),
bei dem die wartenden Ereignisse in der Reihenfolge
ihres Auftretens berücksichtigt werden, so daß das
zeitlich zuerst eintreffende Signal höchste Priorität
erhält. Beim sogenannten LIFO-Algorithmus (Last In,
First Out) erhält dagegen das zeitlich jüngste Ereignis
die höchste Priorität. Diese bekannten Prioritätsregeln
haben die Eigenschaft, daß neu auftretende
Ereignisse die bisherige Prioritätsreihenfolge nur
nach unten oder oben erweitern, innerhalb der einmal
bestehenden Reihenfolge jedoch keine Veränderungen
hervorrufen. Die genannten Algorithmen - FIFO und
LIFO - sind daher verhältnismäßig einfach zu realisieren.
Komplizierter ist dagegen der sogenannte LRU-Algorithmus
(Least Recently Used), er hat jedoch den Vorteil, daß
er eine bessere Auslastung der Speicheranordnung gewährleistet.
Bei Anwendung dieses LRU-Algorithmus erhält zum
Beispiel derjenige Speicherbereich die niedrigste Priorität,
zu dem am längsten nicht mehr zugegriffen worden
ist. Umgekehrt besitzt das zeitlich jüngste Ereignis
höchste Priorität. Dazwischen kommt es zu einer laufenden
Änderung der Prioritätsfolge, und zwar bei jedem
neu auftretenden Ereignis, es sei denn, der Zugriff
erfolgt zu einem Speicherabschnitt, der bereits die
höchste Priorität besitzt. Hatte dagegen das zeitlich
jüngste Ereignis vor seinem Auftreten eine niedrige
Rangstufe innerhalb der Prioritätsfolge, dann bedeutet
dies für alle bisher prioritätsmäßig davor liegenden
Ereignisse eine Rückstufung um jeweils eine Stelle.
Diese dynamische Umordnung der Prioritäten erfordert
zwangsläufig einen erheblichen Hardware-Aufwand.
Aus der Vielzahl bekannter Lösungen sei stellvertretend
das aus "IBM Technical Disclosure Bulletin",
Band 19, Nr. 1, Juni 1976, Seiten 321 bis 325 bekannte
Verfahren näher erläutert. In einem Stapel, der mit Positionsnummern
versehen ist, wird entsprechend der Anzahl
der Speicherbänke für jede Bank ein eindeutiger
Code geführt. Bei jedem erfolgreichen Zugriff zum Speicher
wird für jede Positionsnummer der Bankcode geändert,
wobei diejenige Bank, zu der gerade zugegriffen
worden ist, um eine Positionsnummer im Stapel sinkt.
So erscheint immer an höchster Stapelposition (niedrigste
Priorität) diejenige Bank, zu der am längsten nicht
zugegriffen worden ist. Diese Bank wird dann nach einem
erfolglosen Zugriff zum Speicher auch zum Überschreiben
mit neuen Informationen aus einem nachgeschalteten Hintergrundspeicher
oder dergleichen angeboten. Neben dem
beträchtlichen Hardware-Aufwand ergeben sich sowohl bei dieser
bekannten Lösung als auch bei anderen bekannten LRU-Verfahren
erhebliche und deshalb im allgemeinen unerwünschte Laufzeit-
Probleme.
Aus der deutschen Patentschrift DE-PS 25 60 206 ist zur Durchführung
des beschriebenen Verfahrens eine Schaltunganordnung
bekannt, die die das Alter angebenden Bits der zur Vergleichsschaltung
gleichzeitig ausgebbaren Blockadressen in mehreren
parallelen Registern aufnimmt. Die Register weisen jeweils
einen Rückkopplungskreis mit in Reihe geschalteten Komparator
und Addierer auf. Den Registern ist ein gemeinschaftlicher Vergleichswähler
zugeordnet, der die Information erhält, welche
der gleichzeitig ausgegebenen Blockadressen aktuell angesprochen
ist. In Abhängigkeit hiervon, sendet der Vergleichswähler
ein Signal an alle Komparatoren, die das vom Vergleichswähler
gelieferte Signal mit den das Alter angebenden Bits der einzelnen
Blockadressen vergleichen. Als Ergebnis davon werden die
den Komparatoren nachgeschalteten Addierer veranlaßt, die das
Alter der Blockadressen angebenden Bits entsprechend abzuändern,
wodurch das jeweilige Alter neu eingestellt wird. Die
Hintereinanderschaltung von Komparator und Addierer führt z. B.
zu den oben angesprochenen Laufzeit-Problemen.
Weiterhin ist durch IBM Technical Disclosure Bulletin, Vol. 25,
No. 3A, August 1982, Seiten 1066-1069 eine Schaltungsanordnung
bekannt, bei der zur Überwachung der jeweiligen Priorität
und deren Anpassung jeder Speicherseite in einem Cachespeicher
ein Zähler mit nachgeschaltetem Vergleicher zugeordnet ist. Der
jeweilige Zählerstand gibt dabei die jeweilige Priorität der
zugehörigen Speicherseite an. Bei einem Zugriff zum Hauptspeicher
wird jeweils nach Überprüfung des Cachespeichers im Hitfall
bei allen Zählern der Zählerstand mit der Priorität der
ermittelten Speicherseite verglichen und abhängig vom Vergleichsergebnis
der Zählerstand des jeweiligen Zählers durch
Nullsetzen, Beibehalten des Zählerstandes oder Erhöhen um Eins
entsprechend der sich jeweils ergebenden neuen Priorität beeinflußt.
Da im jeweiligen Zähleränderungskreis keine Speicherungsmöglichkeit
außer durch den Zähler selbst vorgesehen ist,
erfolgt der Steuerungsablauf getaktet schrittweise nacheinander,
und der Zähler muß eine Master-Slave-Struktur aufweisen,
um eine Entkopplung zwischen Zählerausgang und Zählereingang zu
bewirken. Die serielle getaktete Arbeitsweise dieser Anordnung
in Verbindung mit der Master-Slave-Struktur der Zähler führt
gleichfalls zu den oben angesprochenen Laufzeitproblemen mit
dem zusätzlichen Nachteil, daß derartige Zähler zur Speicherung
und Sicherung der Priorität jeweils nur einer Speicherseite,
die einem Speicherabschnitt gleichzusetzen ist, nicht in einen
Speicher integrierbar sind.
Letzteres ist insbesondere dann notwendig, wenn es sich um die
Speicherabschnitte eines in mehrere Bänke unterteilten Speichers
handelt, bei dem jede Bank eine Vielzahl von individuell
ansteuerbaren Speicherabschnitten umfaßt und die Prioritätszuordnung
zu den in den einzelnen Bänken einander entsprechenden
Speicherabschnitten bankorientiert erfolgt, wie es bei dem
Cachespeicher entsprechend der zuvor genannten DE-PS 25 60 206
üblich ist. In einem solchen Fall würde eine unveränderte Anwendung
der bekannten Zählersteuerung bei n Bänken mit je
m Speicherabschnitten insgesamt n×m Zählersteuerungen erfordern.
Ein solcher Aufwand wäre untragbar. Zwar wäre es denkbar,
analog der DE-PS 25 60 206 auch bankbezogene Zählersteuerschaltungen
vorzusehen. Diese müßten aber mit den in Verbindung mit
den einzelnen Speicherabschnitten abgespeicherten Prioritätsdaten
ladbar sein, damit die jedem ansteuerbaren Speicherabschnitt
innerhalb einer Bank zugeordnete Priorität verarbeitet
und jeweils neu festgelegt werden kann. Doch würde eine solche
Lösung die aufgezeigten Laufzeitprobleme nicht beheben.
Kurze Laufzeiten für die Umordnung der Prioritäten sind besonders
dann erforderlich, wenn die Prioritätsdaten in einem
mit starren Lese-/Schreibzyklus arbeitenden Speicher parallel
zu den Daten abgespeichert sind und die Umordnung der einzelnen
Prioritäten in der Zeit zwischen dem jeweiligen Lese- und
Schreibtakt eines Zyklus vorgenommen werden muß. Je kleiner daher
die für die Umordnung der einzelnen Prioritäten benötigte
Zeitdauer ist, um so kleiner kann daher die Dauer für einen
Lese-/Schreibzyklus gewählt und somit die Leistungsfähigkeit
gesteigert werden.
Der vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde,
eine Schaltungsanordnung der eingangs genannten Art in der Weise
zu verbessern, daß sie gegenüber bekannten Lösungen kürzere
Laufzeiten und deshalb eine raschere Umordnung der einzelnen
Prioritäten innerhalb der Prioritätsfolge ermöglicht.
Die Lösung dieser Aufgabe ergibt sich erfindungsgemäß durch die
kennzeichnenden Merkmale des Anspruchs 1. Danach werden alle
nach dem Vergleich von Treffer-Priorität und Alt-Priorität
durch die Vergleichsschaltungen möglichen Neu-Prioritäten bereits
während des Vergleichsvorganges ermittelt bzw. abgeleitet
und bereitgestellt, so daß in Abhängigkeit vom Ergebnis des Vergleichs
die entsprechende Neu-Priorität nur mehr durchgeschaltet
werden muß.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen
angegeben.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand
der Zeichnung näher erläutert. Dabei zeigt
Fig. 1 eine Schaltungsanordnung gemäß der Erfindung,
Fig. 2 ein Beispiel für eine Vergleicher- und Auswahlschaltung in
einer Schaltungsanordnung nach Fig. 1,
Fig. 3 ein weiteres Beispiel für eine Vergleicher- und Auswahlschaltung
in einer Schaltungsanordnung nach Fig. 1,
Fig. 4 eine weitere Vergleicher- und Auswahlschaltung einschließlich
einer Miss-Logikschaltung.
Wie bereits erwähnt, wählt der LRU-Ersetzungsalgorithmus
bei erfolglosem Zugriff zum Speicher (z. B. bei Lesen
MISS) die bisher am längsten nicht benutzte Speicherbank
aus, um dort neue Daten im Austausch gegen bisher
gespeicherte Daten einzuschreiben. Bei einem gewählten
Beispiel mit acht Speicherbänken soll im folgenden der
Ersetzungs-/Vertauschungsalgorithmus näher erläutert
werden. Selbstverständlich ist dieses Prinzip auf jede
beliebige Anzahl von Bänken oder Registern anwendbar.
Um jeder der acht Bänke A, B, . . ., G, H eine eindeutige
Priorität zuzuordnen, sind maximal drei Prioritätsbits
mit den acht möglichen Bitkombinationen zwischen
000 und 111 erforderlich, wobei z. B. 000 die
niedrigste und 111 die höchste Priorität bedeuten.
Von einer beliebigen Zuordnung der Prioritäten zum Zeitpunkt
tm ausgehend, soll nun gemäß dem in der nachfolgenden
Tabelle gezeigten Beispiel bei einem erfolgreichen
Zugriff zum Speicher (z. B. bei Lesen HIT) zu einem
gegenüber tm jüngeren Zeitpunkt tn die Bank G die
höchste Priorität, d. h. die Priorität 111 erhalten.
Alle übrigen Bänke, die bisher hinsichtlich ihrer Prioritäten
vor der Bank G lagen, erhalten deshalb eine neue
Priorität. Dies gilt im vorliegenden Beispiel für die
Bänke E, F, B und D, die jeweils um eine Stufe nach
unten rücken. Lediglich die Bänke A, H und C behalten
ihre jeweiligen Prioritäten unverändert bei. Dieses
dynamische Umordnen innerhalb der Prioritätsfolge hat im
sogenannten Hit-Fall lediglich den Zweck, den jeweiligen
Prioritätszustand nach Art einer Buchführung fortlaufend
zu aktualisieren. Seine eigentliche Bedeutung erlangt
dieses aktuelle Vertauschungsergebnis erst beim Lesen
MISS, wobei gemäß dem LRU-Algorithmus neue Daten stets
in diejenige Bank geschrieben werden, zu der am längsten
nicht zugegriffen worden ist und die demzufolge die
niedrigste Priorität besitzt.
Eine dem LRU-Ersetzungsalgorithmus gerecht werdende
Schaltungsanordnung ist in Fig. 1 dargestellt. Diese für
jede Speicherbank gleichartig aufgebaute Schaltung enthält
jeweils eine Steuer-/Vertauschungslogik, die ein-
und ausgangsseitig mit je einem bankbezogenen Prioritätsspeicher
PS-A, . . ., PS-H verbunden ist. Den Eingang
der Schaltung bilden jeweils drei Prioritätsregister
LRU-AX, LRU-AY, LRU-AZ, . . ., LRU-HX, LRU-HY, LRU-HZ, die
beispielsweise durch ein sogenanntes Master-Slave-Flip-flop
realisiert sind. Anstelle eines Master-Slave-Flip-flops
können aus Gründen der Laufzeitdynamik auch zwei
D-Flipflops verwendet werden, damit die Schaltung nicht
zu schwingen beginnt. Die jeweils einer Speicherbank zugeordneten
drei Prioritätsregister LRU-AX, LRU-AY, LRU-AZ,
. . ., LRU-HX, LRU-HY, LRU-HZ sind ausgangsseitig einerseits
mit drei ersten Eingängen einer jeweils bankbezogenen
Steuer-/Vertauschungslogik SVL-A, . . ., SVL-H und andererseits
mit je einer durch ein jeweils bankbezogenes
Treffersignal (Hit-A, . . ., Hit-H) steuerbaren Torschaltung
TG-AX, TG-AY, TG-AZ, . . ., TG-HX, TG-HY, TG-HZ verbunden.
Die jeweils drei Torschaltungen pro Speicherbank
sind ausgangsseitig mit je einem Eingang von drei
ODER-Gliedern OGX, OGY, OGZ verbunden, deren Ausgänge
mit je einem von drei zweiten Eingängen aller Steuer-
/Vertauschungslogik-Schaltungen SVL-A, . . ., SVL-H verbunden.
Den drei ODER-Gliedern OGX, OGY, OGZ wird dabei
über die Torschaltungen nur diejenige Bank-Priorität
angeboten, bei der ein erfolgreicher Zugriff (HITi)
stattgefunden hat. Alle Ausgänge der übrigen Torschaltungen
werden auf log."0" gehalten mit der Folge, daß
über die ODER-Glieder simultan allen Steuer-/Vertauschungslogik-
Schaltungen an deren jeweils zweiten Eingängen
die Treffer-Priorität PHIT der jeweiligen Hit-
Speicherbank zugeführt wird.
In den einzelnen Steuer-/Vertauschungslogik-Schaltungen
erfolgt nun ein Vergleich der an den jeweils ersten
Eingängen zugeführten, jeweils bankspezifischen Alt-
Priorität Pi mit der an den zweiten Eingängen zugeführten,
im jeweiligen Hit-Fall für alle Banken gleichen
Trefferpriorität PHIT in der Weise, daß bei einer im
Vergleich zur Alt-Priorität gleichen oder höheren oder
niedrigeren Treffer-Priorität am Ausgang der jeweiligen
Steuer-/Vertauschungslogik-Schaltung entweder die höchstwertige
oder eine gegenüber der Alt-Priorität um eine
Prioritätsstufe niedrigere oder die gegenüber der Alt-
Priorität unveränderte Neu-Priorität auftritt. Diese
jeweils bankbezogene Neu-Priorität PN-A, . . ., PN-H wird
dann in den jeweils entsprechenden Prioritätsspeicher
PS-A, . . ., PS-H zurückgeschrieben. Über je eine einfache
UND-Verknüpfung werden diese neuen Prioritäten außerdem
daraufhin abgefragt, ob es sich im jeweiligen Fall
um die höchste Priorität handelt, die dann am jeweiligen
Signal-Ausgang SEL-A, . . ., SEL-H angezeigt wird.
Einzelheiten der Steuer-/Vertauschungslogik ergeben sich
aus dem Blockschaltbild der Fig. 2. Dieses Schaltbild
zeigt eine Vergleicherschaltung COMPi und eine z. B. aus
n Multiplexern bestehende Auswahlschaltung MUXi, deren erste
Steuereingänge mit dem Ausgang der Vergleicherschaltung
COMPi verbunden sind. Die Vergleicherschaltung kann
z. B. als Subtrahierer mit schnellem Übertrag ausgebildet
sein, der beim Vergleich feststellt, ob die jeweils
bankbezogene Alt-Priorität Pi größer/gleich der Treffer-
Priorität PHIT ist oder umgekehrt. Bei Gleichheit der
beiden Prioritäten werden die n Multiplexer MUXi mittels
des am zweiten Steuereingang anliegenden Treffersignals
HITi so angesteuert, daß das am n-Bit-Eingang a
jeweils als log."1" anliegende feste Potential als
höchste Priorität "111" durchgeschaltet wird. Bei
Pi<PHIT werden die Multiplexer auf den Eingang b
eingestellt, dem die in einer Subtrahiereinrichtung SUBi
um "1" erniedrigte Alt-Priorität, d. h. Pi-1 zugeführt
wird, während im Fall Pi<PHIT die Alt-Priorität Pi
unmittelbar über den n-Bit-Eingang c durchgeschaltet
wird. Der Vorteil dieser Schaltung besteht vor allem
darin, daß das jeweils gewünschte Ergebnis mit geringem
Schaltungsaufwand und kurzer Laufzeit erreicht werden
kann.
Eine Variante der Schaltung nach Fig. 2 ist in Fig. 3
dargestellt. Die Änderung betrifft die Auswahlschaltung
insofern, als die hier verwendeten Multiplexer MUXi′
nur die Eingänge b oder c durchschalten. Der Ausgang
der Multiplexer muß deshalb noch über je ein ODER-Glied
OGi mit dem Eingang a verknüpft werden, wobei anstelle
des festen Potentials "111" direkt das Treffersignal
HITi zugeführt werden kann.
Eine weitere, geringfügige Laufzeitverbesserung kann
schließlich mit der Schaltung nach Fig. 4 dadurch erreicht
werden, daß die Multiplexer der Schaltung nach
Fig. 3 durch je zwei UND-Glieder UG1, UG2 ersetzt
werden. Dabei verknüpfen je drei erste UND-Glieder
UG1 jeweils eines der drei Bits der Alt-Priorität Pi
mit dem jeweils entsprechenden Bit des negierten Ausgangssignals
der Vergleicherschaltung COMPi. In
analoger Weise verknüpfen drei zweite UND-Glieder UG2
jeweils einen der n Ausgänge einer ausgangsseitig mit
der Alt-Priorität Pi gespeisten Subtrahierschaltung
SUBi mit dem jeweils entsprechenden Bit des Ausgangssignals
Pc der Vergleicherschaltung COMPi. Die Ausgänge
der ersten und zweiten UND-Glieder werden schließlich
zusammen mit dem jeweils bankbezogenen Treffersignal
HITi über das ausgangsseitige ODER-Glied OGi
zur Bildung der jeweiligen Neu-Priorität miteinander
verknüpft.
Die in der Schaltung nach Fig. 4 zusätzlich enthaltene
Miss-Logikschaltung ML wird bei einem erfolglosen Zugriff
zum Speicher tätig. Sofern alle Speicherbänke in
den LRU-Ersetzungsalgorithmus einbezogen sind, d. h.
keine Einschränkungen für eine der n Bänke hinsichtlich
vollständiger Banksperre, teilweiser Sperre oder dergleichen
bestehen, bedeutet dies, daß im Miss-Fall keiner
der Treffersignale HITi wirksam ist. Damit liegen in
der Schaltung nach Fig. 1 sämtliche Torschaltungen TG
ausgangsseitig auf log."0", so daß an den Ausgängen der
ODER-Glieder OGX, OGY, OGZ die Treffer-Priorität PHIT=000
anliegt. Gerade diese an einer der n Bänke auftretende
niedrigste Priorität ist es aber, die im Miss-Fall
aufgrund des LRU-Algorithmus zur höchsten Priorität
werden soll, während alle übrigen Prioritäten, mit dieser
Treffer-Priorität verglichen, die jeweilige Auswahlschaltung
so einstellen, daß am Ausgang des jeweiligen
ODER-Gliedes OGi eine jeweils um 1 erniedrigte Priorität
erscheint. Die in der Schaltung nach Fig. 4 angegebene
Miss-Logik ML löst nun den Miss-Fall zum Beispiel
in der Weise, daß die n Bits der Alt-Priorität Pi an
negierte Eingänge eines UND-Gliedes geführt und dort mit
dem MISS-Signal verknüpft werden mit der Folge, daß bei
einer Alt-Priorität Pi=000 sowohl das UND-Glied als
auch der Ausgang der ODER-Glieder OGi auf log."1" und
damit die am Ausgang des ODER-Gliedes OGi auftretende
Neu-Priorität auf "111" gestellt wird.
Der bei erfolglosem Zugriff zum Speicher eintretende
Miss-Fall kann bei einer Schaltungsanordnung nach Fig. 1
auch dadurch gelöst werden, daß den Eingängen für das
Treffersignal HITi über einen Multiplexer nicht nur
das jeweilige Treffersignal, sondern auch ein jeweils
für die Bank mit der niedrigsten Priorität simuliertes
Hit-Signal angeboten wird. Dieses in Form des simulierten
Hit-Signals auftretende Miss-Signal durchläuft
die gesamte Hit-Logik und zeigt am jeweiligen Signal-
Ausgang SELi an, in welche Bank geschrieben werden soll.
Schließlich besteht für den Miss-Fall auch die Möglichkeit,
die in einer Miss-Logikschaltung MLS erzeugte
Fehltreffer-Priorität PM über zusätzliche Eingänge an
den ODER-Gliedern OGX, OGY, OGZ direkt allen Steuer-
/Vertauschungslogik-Schaltungen über die jeweiligen
PHIT-Eingänge zuzuführen. Diese für den Miss-Fall maßgebliche
Priorität PM tritt dabei an die Stelle der
jeweiligen Treffer-Priorität PHIT, das heißt sie wird
simultan mit jeder der n ALT-Prioritäten verglichen,
wobei dann diejenige Bank, bei der die Alt-Priorität
mit der Fehltreffer-Priorität identisch ist, auf die
höchste Prioritätsstufe gesetzt wird. Sofern eine oder
gegebenenfalls mehrere Bänke gegen unerwünschten Datenaustausch
geschützt werden sollen, besteht durch zusätzliche
Sperrschaltungen in der Miss-Logikschaltung MLS
ferner die Möglichkeit, diese Speicherbänke vom LRU-Ersetzungs
algorithmus abzutrennen.
Claims (9)
1. Schaltungsanordnung zur prioritätsbezogenen Einordnung und
Registrierung von Speicherabschnitten bzw. Speicherbänken, unter
Verwendung von den einzelnen Speicherabschnitten bzw. Speicherbänken
zugeordneten jeweils n Bitstellen für maximal 2n
Speicherabschnitte bzw. Speicherbänke aufweisenden Prioritätsdaten,
die in einem Prioritätsspeicher enthalten und in nachgeschalteten
bankbezogenen Prioritätsregistern bereitgestellt
werden, mit einer Hit-Logikschaltung zur Auswertung von jeweils
abschnitts- bzw. bankbezogenen Treffer(Hit-)-Signalen, sowie
unter Anwendung eines LRU-Ersetzungsalgorithmus, derart, daß bei
erfolgreichem Zugriff zu einem Speicherabschnitt bzw. zu einer
Speicherbank, angezeigt durch ein Treffer-Signal, mittels jeweils
einer abschnitts- bzw. bankbezogenen Steuer-/Vertauschungslogik
deren Priorität an die erste Stelle rückt und bisher in
der Priorität vor diesem Speicherabschnitt bzw. vor dieser
Speicherbank liegende andere Speicherabschnitte oder Speicherbänke
um jeweils eine Stelle nach unten rücken und daß bei
vollem Speicher und erfolglosem Zugriff eine Einspeicherung
weiterer Daten jeweils in denjenigen Speicherabschnitt erfolgt,
zu dessen Daten am längsten kein Zugriff stattgefunden hat,
wobei dann die Priorität dieses Speicherabschnittes von der
letzten Stelle an die erste Stelle rückt und wobei die abschnitts-
bzw. bankbezogenen Steuer-/Vertauschungslogik-Schaltungen
(z. B. SVL-A bis SVL-H) jeweils eine Vergleicherschaltung
(COMPi) mit je n Eingängen für eine Alt-Priorität (Pi) und eine
Treffer-Priorität (PHITi) aufweisen,
dadurch gekennzeichnet, daß innerhalb
jeder Steuer-/Vertauschungslogik-Schaltung (z. B. SVL-A bis
SVL-H) der Ausgang der Vergleicherschaltung (COMPi) mit wenigstens
einem Steuereingang einer Auswahlschaltung (MUXi bzw.
UG1/UG2) verbunden ist, an deren n-Bit-Eingängen (a, b, c)
jeweils die Werte für die höchste Priorität (PHITi), die
Alt-Priorität (Pi) minus 1 und die von der Vergleicherschaltung
(COMPi) zugeführte Alt-Priorität (Pi) jeweils gleichzeitig zum
Vergleichsvorgang bereitgestellt werden, so daß abhängig vom
Ergebnis des Vergleichsvorganges die sich jeweils ergebende
Neu-Priorität zum Ausgang durchgeschaltet und unmittelbar für
die Rückspeicherung in den jeweils zugehörigen Prioritätsspeicher
(PS-A bis PS-H) bereitgestellt wird.
2. Schaltungsanordnung nach Anspruch 1, dadurch
gekennzeichnet, daß die Vergleicherschaltung
(COMPi) aus einem Subtrahierer mit schnellem Übertrag besteht.
3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die Auswahlschaltung
aus n Multiplexern (MUXi) besteht, deren erste Steuereingänge
mit dem Ausgang der Vergleicherschaltung (COMPi)
verbunden sind und deren zweite Steuereingänge mit dem jeweils
bankbezogenen Treffer-Signal (HITi) ansteuerbar sind, daß die
jeweils ersten n-Bit-Eingänge (a) jeweils mit logisch "1" belegt
sind und daß die zweiten n-Bit-Eingänge (b) mit dem Ausgang
einer eingangsseitig mit der Alt-Priorität (Pi) gespeisten
Schaltung zur Bildung des Wertes Alt-Priorität
(Pi) minus 1 (z. B. Subtrahierschaltung (SUBi))
und die dritten n-Bit-Eingänge direkt mit
der Alt-Priorität (Pi) verbunden sind.
4. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die Auswahlschaltung aus n
Multiplexern (MUXi′) besteht, deren jeweiliger Steuereingang
mit dem Ausgang der Vergleicherschaltung (COMPi) verbunden ist
und deren n-Bit-Eingänge einerseits mit dem Ausgang einer mit
der Alt-Priorität (Pi) gespeisten Schaltung zur Bildung des Wertes Alt-Priorität
(Pi) minus 1 (z. B. Subtrahierschaltung (SUBi))
und andererseits direkt mit der Alt-Priorität
(Pi) verbunden sind und daß der Ausgang jedes Multiplexers jeweils
mit dem ersten Eingang eines ihm zugeordneten ODER-Gliedes
(OGi) verbunden ist, dessen zweiter Eingang mit dem jeweils
bankbezogenen Treffersignal (HITi) ansteuerbar ist.
5. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die Auswahlschaltung aus jeweils
n ersten und n zweiten UND-Gliedern (UG1, UG2) besteht,
daß die n ersten UND-Glieder (UG1) jeweils eines der n Bits der
Alt-Priorität (Pi) mit dem jeweils entsprechenden Bit des negierten
Ausgangssignals () der Vergleicherschaltung (COMPi)
verknüpfen, daß die n zweiten UND-Glieder (UG2) jeweils einen
der n Ausgänge einer eingangsseitig mit der Alt-Priorität (Pi)
gespeisten Schaltung zur Bildung des Wertes Alt-Priorität
(Pi) minus 1 (z. B. Subtrahierschaltung (SUBi)) mit dem
jeweils entsprechenden Bit des Ausgangssignals (Pc) der Vergleicherschaltung
verknüpfen und daß der Ausgang jeweils eines
ersten UND-Gliedes (UG1) und der Ausgang eines jeweils auf das
gleiche Prioritätsbit bezogenen zweiten UND-Gliedes (UG2) zusammen
mit dem jeweils bankbezogenen Treffer-Signal (HITi) über
je ein ODER-Glied (OGi) miteinander verknüpft sind.
6. Schaltungsanordnung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß die n Ausgänge
der jeweils bankbezogenen Prioritätsregister (LRU-AX,
LRU-AY, LRU-AZ, . . ., LRU-HX, LRU-HY, LRU-HZ) und ein Fehlertreffer-
Signal (MISS), das bei einem erfolglosen Zugriff zum Speicher aktiv wird;
mittels einer Miss-Logikschaltung (ML)
miteinander verknüpft sind, deren Ausgang als im Miss-Fall
wirksamen Auswahlsignal (SELi) für die jeweilige Speicherbank
mit einem weiteren Eingang des ausgangsseitigen Multiplexers
(MUXi) oder Gatters (OGi) der Auswahlschaltung verbunden ist.
7. Schaltungsanordnung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß den Steuer-
/Vertauschungslogik-Schaltungen (SVL-A, . . ., SVL-H) eine
Schaltungskombination vorgeschaltet ist, die die n Ausgänge der
jeweils bankbezogenen Prioritätsregister (LRU-AX, LRU-AY,
LRU-AZ, . . ., LRU-HX, LRU-HY, LRU-HZ) einerseits mit je einem
von n ersten Eingängen (Pi) der jeweils bankbezogenen Steuer-
/Vertauschungslogik (SVL-A, . . ., SVL-H) und andererseits mit je
einer durch ein jeweils bankbezogenes Treffer-Signal (HIT-A,
. . ., HIT-H) steuerbaren Torschaltung (TG-AX, TG-AY, TG-AZ, . . .,
TG-HX, TG-HY, TG-HZ) verbindet und die jeweils die n Torschaltungen
der maximal 2n Speicherbänke ausgangsseitig mit je einem
Eingang von n ODER-Gliedern (OGX, OGY, OGZ) verbindet, deren
Ausgänge mit je einem von n zweiten Eingängen (PHITi) aller
Steuer-/Vertauschungslogik-Schaltungen (SVL-A, . . ., SVL-H) verbunden
sind.
8. Schaltungsanordnung nach Anspruch 7, dadurch
gekennzeichnet, daß die n ODER-Glieder (OGX,
OGY, OGZ), die ausgangsseitig mit den Steuer-/Vertauschungslogik-
Schaltungen verbunden sind, über je einen weiteren Eingang
mit je einem der n Ausgänge einer Miss-Logikschaltung (MLS)
verbunden sind, an denen bei erfolglosem Zugriff zum Speicher
ein der niedrigsten Priorität entsprechendes Fehlertreffer-
Signal auftritt.
9. Schaltungsanordnung nach Anspruch 8, dadurch
gekennzeichnet, daß die Miss-Logikschaltung
(MLS) eine, eventuelle Zugriffsbeschränkungen für ein oder mehrere
Speicherbänke berücksichtigende Sperrschaltung enthält.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19843429571 DE3429571A1 (de) | 1984-08-10 | 1984-08-10 | Schaltungsanordnung zur prioritaetsbezogenen einordnung und registrierung von speicherabschnitten bzw. speicherbaenken, unter anwendung des lru-algorithmus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19843429571 DE3429571A1 (de) | 1984-08-10 | 1984-08-10 | Schaltungsanordnung zur prioritaetsbezogenen einordnung und registrierung von speicherabschnitten bzw. speicherbaenken, unter anwendung des lru-algorithmus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3429571A1 DE3429571A1 (de) | 1986-02-20 |
DE3429571C2 true DE3429571C2 (de) | 1992-06-04 |
Family
ID=6242836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19843429571 Granted DE3429571A1 (de) | 1984-08-10 | 1984-08-10 | Schaltungsanordnung zur prioritaetsbezogenen einordnung und registrierung von speicherabschnitten bzw. speicherbaenken, unter anwendung des lru-algorithmus |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE3429571A1 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0309668A3 (de) * | 1987-09-30 | 1990-02-28 | Siemens Aktiengesellschaft | Schaltungsanordnung zur Realisierung eines LRU (Least Recently Used)-ähnlichen Mechanismus für viele Elemente, insbesondere für Datenverarbeitungssysteme |
ATE85854T1 (de) * | 1987-09-30 | 1993-03-15 | Siemens Ag | Schaltungsanordnung, fuer datenverarbeitungssysteme, zur realisierung eines modularorganisierten, erweiterbaren lru (least recently used)-mechanismus fuer n elemente. |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3728686A (en) * | 1971-06-07 | 1973-04-17 | Rca Corp | Computer memory with improved next word accessing |
US3967247A (en) * | 1974-11-11 | 1976-06-29 | Sperry Rand Corporation | Storage interface unit |
-
1984
- 1984-08-10 DE DE19843429571 patent/DE3429571A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
DE3429571A1 (de) | 1986-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2260353C2 (de) | Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage | |
DE3724317C2 (de) | ||
DE69127773T2 (de) | Vorrichtung zur echten LRU-Ersetzung | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2230987C2 (de) | ||
DE2637054C3 (de) | Steuervorrichtung für einen Pufferspeicher | |
DE2656546A1 (de) | Datenblock-austauschanordnung | |
DE2630323A1 (de) | Datenspeichereinrichtung | |
DE2521436A1 (de) | Informationswiedergewinnungsanordnung | |
DE2856715A1 (de) | Verfahren zum durchfuehren einer pufferspeicher-koinzidenz in einem mehrprozessor | |
DE1499687A1 (de) | Speicherschutz gegen unerlaubten Zugriff | |
DE2703559C2 (de) | ||
DE2911495A1 (de) | Datenverarbeitungsanordnung | |
DE3873388T2 (de) | Cache-speicher. | |
DE3911721C2 (de) | ||
DE69724732T2 (de) | Atomare Operation in Fernspeicher und Vorrichtung zur Durchführung der Operation | |
DE3429571C2 (de) | ||
DE1574502A1 (de) | Assoziativspeicher | |
DE3535215A1 (de) | Verfahren und schaltungsanordnung zum lesen von daten aus dem speicher einer datenverarbeitungsanlage | |
DE2750126A1 (de) | Datenverarbeitungssystem mit einem zwischenpufferspeicher | |
DE2939412C2 (de) | Schaltungsanordung zum Adressieren von Daten für Lese- und Schreibzugriffe in einer Datenverarbeitungsanlage | |
EP0173884B1 (de) | Schaltungsanordnung zur prioritätsbezogenen Einordnung und Registrierung einzelner Speicherabschnitte bzw. Bänke unter Anwendung des LRU-Algorithmus | |
EP0190575A1 (de) | Verfahren und Anordnung zur Verringerung des Einflusses von Speicherfehlern auf in Cache-Speichern von Datenverarbeitungsanlagen gespeicherten Daten | |
DE2601379C3 (de) | Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen | |
DE3016269C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 12/12 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |