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
Application number
DE3429571A
Other languages
English (en)
Other versions
DE3429571A1 (de
Inventor
Hans-Klaus 8000 Muenchen De Nussbaecher
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19843429571 priority Critical patent/DE3429571A1/de
Publication of DE3429571A1 publication Critical patent/DE3429571A1/de
Application granted granted Critical
Publication of DE3429571C2 publication Critical patent/DE3429571C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/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

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.
Tabelle
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.
DE19843429571 1984-08-10 1984-08-10 Schaltungsanordnung zur prioritaetsbezogenen einordnung und registrierung von speicherabschnitten bzw. speicherbaenken, unter anwendung des lru-algorithmus Granted DE3429571A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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)
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE69127773T2 (de) Vorrichtung zur echten LRU-Ersetzung
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