CH627580A5 - Austauschanordnung zur bereitstellung von austauschadressen fuer den betrieb eines pufferspeichers in einer speicherhierarchie. - Google Patents

Austauschanordnung zur bereitstellung von austauschadressen fuer den betrieb eines pufferspeichers in einer speicherhierarchie. Download PDF

Info

Publication number
CH627580A5
CH627580A5 CH1573476A CH1573476A CH627580A5 CH 627580 A5 CH627580 A5 CH 627580A5 CH 1573476 A CH1573476 A CH 1573476A CH 1573476 A CH1573476 A CH 1573476A CH 627580 A5 CH627580 A5 CH 627580A5
Authority
CH
Switzerland
Prior art keywords
memory
value
block
exchange
address
Prior art date
Application number
CH1573476A
Other languages
English (en)
Inventor
Louis Ronald Bryant
Raymond James Pedersen
Arnold Weinberger
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of CH627580A5 publication Critical patent/CH627580A5/de

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

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

Der Erfindung liegt die Aufgabe zugrunde, eine Austauschanordnung für einen Pufferspeicher anzugeben, welche die oben genannten Nachteile nicht aufweist.
Der Gegenstand der Erfindung ist in den Ansprüchen dar627580
gestellt.
Durch die Erfindung ergeben sich folgende Vorteile:
- Ein Überlaufen der Benutzungswerte wird verhindert. Trotz Verschiebung des Zahlenbereiches bei drohendem Überlauf bleibt die Relation der vorhandenen Benutzungswerte erhalten.
- Es geht keine Zeit zur Ermittlung der Austauschadresse verloren, da die Ermittlung bereits im voraus erfolgt, so dass, während der Austausch eines Datenblocks mit einer bereits vorhandenen Austauschadresse unmittelbar nach Auftreten des Fehlanzeigesignals vorgenommen wird, gleichzeitig (also ohne Zeitverlust) die Austauschadresse für den nächsten Austausch durch Vergleich aller Benutzungswerte ermittelt wird.
Ein Ausführungsbeispiel der Erfindung wird anschliesend anhand von Zeichnungen beschrieben. Es zeigen:
Fig. 1 bis Fig. 6 Schaltglieder und Baugruppen, die im Ausführungsbeispiel verwendet werden;
Fig. 7 ein Blockschaltbild des beschriebenen Ausführungsbeispiels der Erfindung;
Fig. 8A und 8B Einzelheiten der Zugriffszählsteuerung;
Fig. 9A und 9B Einzelheiten der Tabellenspeichersteuerung;
Fig. 10 Einzelheiten der Betriebsartensteuerung;
Fig. 11 Einzelheiten der Austauschadressschaltung;
Fig. 12 die Zeitfolge der Arbeitszyklen in der Austrauschan-ordnung.
Im Ausführungsbeispiel verwendete Schaltelemente und Baueinheiten
In den Fig. 1 bis 6 sind Standardbauelemente und Standardfunktionseinheiten gezeigt, die im Ausführungsbeispiel verwendet werden. Für Verknüpfungsschaltungen benutzt man UND-Glieder, ODER-Glieder, verdrahtete ODER-Schaltungen und Inverter, die in den Fig. 1A bis 1D dargestellt sind. Für Speicherelemente ist ein synchron getaktetes System vorausgesetzt, in dem ein Taktsignal in jedem Zyklus auftritt, um festzustellen, ob und wie der Eingang den Ausgang beeinflusst. In einem Kippglied, wie es in Fig. 2A gezeigt ist, wird der Schaltzustand umgekehrt, wenn das Eingangssignal während des Taktimpulses aktiv (binär «1») ist; falls z. B. das Signl am 0-Ausgang abgeschaltet war und am 1-Ausgang eingeschaltet war, sind sie während des nachfolgenden Zyklus entsprechend umgekehrt. In der Registerstufe (Fig. 2B) ist das Signal am Ausgang während des nachfolgenden Zyklus Ein(= binär «1»), wenn das Signal am Eingang während des Taktimpulses Ein (= binär «1») war. Entsprechendes gilt für das Signal Aus (= binär «0»). Ein n-Bit-Register (Fig. 3) besteht aus n Registerstufen.
Eine Speicheranordnung, wie sie in Fig. 4 gezeigt ist, enthält mehrere Speicherwörter, von denen während eines Zyklus nur eines entweder zum Lesen oder Schreiben (aber nicht für beides) adressiert werden kann. Das Wort wird durch eine Adresse gewählt. In diesem Beispiel enthält die Anordnung 32 Wörter aus je 16 Bit. Die Adresse besteht daher aus 5 Bits zum Wählen eines der 32 Wörter. Beim Lesen ist das Schreib/Lesesignal abgeschaltet und das Schreibtaktsignal gesperrt, so dass die Eingabedatenleitung unwirksam ist. Die Anordnung wirkt als nicht getaktetes Schaltnetz, bei dem das adressierte Wort auf der Ausgabedatenleitung zur Verfügung steht. Das Ausgabesteuersignal gestattet die Abgabe des Inhaltes der adressierten Wort-Speicherstelle aus der Speicheranordnung auf die Ausgabedatenleitung. Zwei oder mehr Speicheranordnungen können mit ihren Ausgängen bitweise ODER-verknüpft sein und eine gemeinsame Ausgabedatenleitung benutzen. Es gibt aber nur jeweils eine Speicheranordnung ein Datenwort ab, und zwar diejenige, bei der das Ausgabesteuersignal eingeschaltet (aktiv) ist, während dieses Steuersignal bei der anderen Speicheranordnung nicht aktiv ist.
Solche Speicheranordnungen sind im Ausführungsbeispiel
3
5
10
15
20
25
30
35
40
45
50
55
60
65
627580
als Tabellenspeicher (T-Speicher) bezeichnet.
Das Blockdiagramm in Fig. 5 zeigt eine konventionelle Zählschaltung (Inkrementierschaltung), deren Funktion allgemein bekannt ist, so dass sie nicht näher beschrieben werden braucht. Der Eingabewert, eine n-Bit-Zahl, wird um 1 erhöht und als n-Bit-Wort abgegeben, das eine Zahl darstellt, die um 1 grösser ist als die Eingabezahl. Ausserdem wird durch ein zusätzlich erzeugtes Ausgangssignal angezeigt, wenn ein Übertrag von der höchsten Bitposition erfolgt. Eine 5-Bit-Eingabe-zahl, beispielsweise 10011 (= 19), bewirkt einen Ausgabewert 10100 (= 20) und einen Übertrag = 0. Ein Eingabewert 11111 (= 31) bewirkt den Ausgabewert 00000 (=0) und den Übertrag = 1.
Fig. 6 zeigt in einem Blockdiagramm eine konventionelle Vergleicherschaltung. Dieser Vergleicher hat zwei Eingänge für n-Bit-Zahlen X und Y, die miteinander verglichen werden. Wenn X< Y, ist das Ausgangssignal «KLEINER» eingeschaltet (aktiv); sonst ist es abgeschaltet, und das bedeutet X^Y.
Bevorzugtes Ausführungsbeispiel
Das bevorzugte Ausführungsbeispiel einer Austauschanordnung für Datenblöcke, die den jeweils am längsten unbenutzten Datenblock zum Austausch bestimmt (LRU-Verfahren. Aktualitätsprinzip) ist durch das Blockdiagramm der Fig. 7 dargestellt. Die einzelnen Schaltkreise sind in den Abbildungen gezeigt, die in den Blöcken der Fig. 7 angegeben sind.
Die Austauschanordnung arbeitet unter Steuerung eines schnellen Pufferspeichers 7. Der Pufferspeicher 7 ist ein konventioneller Hochgeschwindigkeitspuffer mit niedriger Kapazität in einer Speicherhierachie. Er enthält 32 Blöcke mit je mehreren Speicherplätzen, in denen Steuerwörter, Instruktionen oder Daten aufgezeichnet werden können. Ein durch eine zugehörige und nicht dargestellte Zentraleinheit adressiertes Wort steht mit gewisser Wahrscheinlichkeit in einem Block im Pufferspeicher. Wenn sich der adressierte Datenblock nicht im Pufferspeicher befindet, wird ein Fehlanzeigesignal aktiviert, und der Datenblock von einem grösseren langsameren Speicher der Hierachie geholt und in einen der 32 Blockbereiche im Pufferspeicher gesetzt und dadurch der frühere Inhalt dieses Blockes überschrieben. Die Austauschanordnung ermittelt den Blockbereich, in den der fehlende Datenblock zu setzen ist, mit einer modifizierten Form eines bekannten LRU-Algorithmus (Ermittlung des am längsten unbenutzten Datenblocks als Austauschkandidat).
Die Einrichtung zur Ausführung des modifizierten LRU-Algorithmus enthält ein Zugriffszählregister 22 in einer Zugriffszählsteuerung 8, die in Fig. 7 dargestellt sind. Der Zugriffszählwert im Register 22 kann durch eine Zählschaltung (Inkrementierschaltung) 109 jeweils um eine Einheit erhöht werden. Im detaillierten Ausführungsbeispiel wird ein 15 Bit fassendes Zugriffszählregister mit einer 15-Bit-Zählschaltung dazu benutzt, sequentielle Zugriffszählwerte zu erzeugen. Die Austauschanordnung wird für die verschiedenen benötigten Operationen in verschiedene Betriebsarten gesetzt. Die sechs Betriebsarten, die in der Betriebsartensteuerung 10 eingestellt werden können, sind in der folgenden Betriebsartentabelle aufgeführt:
Betriebsartentabelle Bits
000 Ruhebetrieb
0 01 Tabellenspeicher-Ladebetrieb
0 1 X Betriebsart Aktualitätszahl erhöhen 1X0 Betriebsart Fehlanzeige ohne Umschalten
1 X 1 Betriebsart Fehlanzeige mit Umschalten
1 X X Fehlanzeigebetrieb (entweder 1X0 oder 1X1)
In der Betriebsartentabelle wird durch X ein Bit in der Neutralstellung bezeichnet, die entweder 0 oder 1 sein kann. Die Taktierung für die verschiedenen Betriebsartenoperationen ist in Fig. 12 gezeigt, wo die Betriebsartenbestimmung in der Betriebsartensteuerung 10 im Zyklus 1 erfolgt.
Ruhebetrieb
Der Ruhebetrieb liegt vor, wenn in der Austauschanordnung nichts verändert wird. Während des Normalbetriebes des Pufferspeichers herrscht meistenteils der Ruhebetrieb. Der Ruhebetrieb liegt vor während dem zweiten und jedem nachfolgenden Zugriff zu einem Datenblock während einer zusammenhängenden Folge von Zugriffen zu einem Block, der bereits im Pufferspeicher steht. Während der ersten Adressierung eines Blocks im Pufferspeicher läuft die Austauschanordnung in der Betriebsart «Zugriffszählwert erhöhen», in welchem der bestehende Zugriffszählwert um 1 erhöht wird, und der erhöhte Zählwert als neuer Benutzungswert für diesen Block in den aktiven Tabellenspeicher (12a oder 12b) eingegeben wird.
Der Ruhebetrieb tritt ein, sobald in Fig. 7 kein Signal an die Betriebsartensteuerung gegeben wird, d. h, wenn die Signale LADEN, NEUE ADRESSE und FEHLANZEIGE alle abgeschaltet sind.
Tabellenspeicher-Ladebetrieb
Der Tabellenspeicher-Ladebetrieb ist vorgesehen, um die Austauschanordnung zu initialisieren und sie in vorgegebener Weise zu starten, wenn das System, welches den Pufferspeicher enthält, gestartet wird. In Fig. 7 initialisiert eine Initialisierungsquelle die Austauschadresse, setzt einen der Tabellenspeicher (12a, 12b) in den aktiven Zustand, und gibt die Benutzungswerte in den aktiven T-Speicher so ein, dass die Fehlanzeige-Adresse vorgegeben ist, wenn das System gestartet wird. Entweder das Anfangsprogrammladen (IPL) des Systems oder das Anfangsmikroprogrammladen (IMPL) setzen die Austauschanordnung in den Anfangszustand, wählen den aktiven T-Speicher, setzen eine erste Blockadresse in das Austausch-Adressregister in den Austausch-Adressschaltungen 11 zur Bestimmung des ersten auszutauschenden Blockes, laden einen Satz von Werten in den aktiven T-Speicher (beispielsweise lauter Nullen in das Wort für den zweiten auszutauschenden Block und die Kombination 0...01 in alle anderen Wörter) und setzen das Aktualitätszahlregister auf 0...01.
Betriebsart «Zugriffszählwert erhöhen»
Sobald zu einem anderen gegenwärtig im Pufferspeicher stehenden Block zugegriffen wird, gibt der Pufferspeicher ein Signal über die Leitung «Neue Adresse» an die Betriebsartensteuerung 10, die dann in die Betriebsart «Zugriffszählwert erhöhen» übergeht. Daraufhin wird der Inhalt des Zugriffszählregisters 22 erhöht, und der erhöhte Wert ebenfalls im Schreibregister 21 gespeichert, von wo er auf die Dateneingangssammelleitung 33 zum entsprechenden Platz im aktiven T-Speicher übertragen wird (entweder T-Speicher 0 oder 1). Der Betrieb «Zugriffszählwert erhöhen» erfolgt nur während dem ersten Zugriff zu einem Block, und die Austauschanordnung schaltet bei einem nachfolgenden sequentiellen Zugriff zu demselben Block in den Ruhebetrieb.
Fehlanzeigebetrieb
Wenn die gewünschten Daten im Pufferspeicher 7 fehlen, wird ein Fehlanzeigesignal vom Pufferspeicher an die Betriebsartensteuerung 10 übertragen, um sie in den Fehlanzeigebetrieb zu bringen. Der Fehlanzeigebetrieb ist generisch für die Betriebsarten «Fehlanzeige ohne Umschalten» und «Fehlanzeige mit Umschalten». Die erstere ist die übliche Betriebsart, die beim Auftreten einer Fehlanzeige benutzt wird, wenn keine Gefahr besteht, dass der Zugriffszählwert, d. h. der aktuelle
4
5
10
15
20
25
30
35
40
45
50
55
60
65
5
Benutzungswert, überläuft. Die Betriebsart «Fehlanzeige mit Umschalten» wird unter ungewöhnlichen Umständen angewendet, wenn der aktuelle Benutzungswert (der Zugriffszählwert) in Gefahr gerät, überzulaufen.
5
Betriebsart «Fehlanzeige ohne Umschalten»
Ein Austauschadressregister 42 in der Austauschadressschaltung 11 enthält die jeweilige Adresse desjenigen Blocks im Pufferspeicher 7, wohin die fehlenden Daten zu setzen sind. Wenn seit dem Zeitpunkt, zu dem der betreffende Datenblock 10 als am längsten unbenutzter Block ermittelt wurde, doch wieder ein Zugriff zu diesem Block erfolgte, so ist er im gegenwärtigen Zeitpunkt zwar nicht mehr der am längsten unbenutzte Block. Trotzdem ist dieser Block noch eine relativ gute Wahl für den Austausch, auch wenn er seit der letzten Fehlanzeige 15 benutzt wurde, da er ja immerhin beim letzten Mal (d. h. zur Zeit der letzten Fehlanzeige) als die beste Wahl herausgefunden wurde. Der Vorteil der Benutzung einer früher bestimmten Austausch-Blockadresse liegt darin, dass ausser der normalen Blockübertragungszeit keine zusätzliche Zeit gebraucht wird, 2o um die Austausch-Blockadresse zu bestimmen, so dass die Austauschanordnung die Blockübertragungen zum Pufferspeicher nicht verzögert.
Die in Fig. 7 gezeigte Austauschanordnung bestimmt den j e weiligen Austausch-Block aus dem Inhalt des aktiven T abel- 25 lenspeichers während mehrerer Zyklen (in denen die fehlenden Daten in den Pufferspeicher übertragen werden) wie folgt:
Zuerst wird in der Zugriffszählsteuerung 8 der Inhalt des Zugriffszählregisters 22 vorübergehend in das Schreibregister 21 so eingegeben, dass das Register 22 als Vergleichsregister 30 benutzt werden kann. In der T-Speichersteuerung 9 durchläuft dann der Inhalt (5 Bit) des A-Adressregisters 31 sequentiell alle Pufferspeicherblockadressen 0 bis 31 zur Abfrage der entsprechenden Benutzungswerte in den gespeicherten Wörtern im aktiven Tabellenspeicher. Während jedes Zyklus wählt das 35 A-Adressregister 31 je ein Wort aus dem aktiven T-Speicher. Das 15 Bit umfassende Benutzungswertfeld eines jeden gewählten Wortes im aktiven T-Speicher wird mit dem Benutzungswert eines vorhergehenden Wortes im Zugriffszählregister 22 verglichen, und der niedrigere Benutzungswert dieser beiden 40 benachbarten Wörter (durch Vergleich ermittelt) wird im Zugriffszählregister 22 gelassen. Wenn der gerade aus dem T-Speicher entnommene Wert kleiner ist als derjenige im Register 22, wird durch ein Signal auf der Leitung KLEINER die laufende Adresse im A-Adressregister 31 in das Austauschadress- 45 Register 42 in den Austausch-Adressschaltungen 11 kopiert. Am Ende von 32 Zyklen (für die 32 Wörter des T-Speichers) enthält das Austauschadress-Register die Adresse des Wortes mit dem niedrigsten Benutzungswert, die gleichzeitig die Aus-tausch-Blockadresse ist. Diese Adresse wird bei der nächsten 50 Pufferspeicherfehlanzeige für den Austausch benutzt.
Während des 33. Zyklus wird der vorübergehend im Schreibregister 21 gespeicherte Zugriffszählwert in das Zugriffszählregister 22 zurückgegeben und der Fehlanzeigebetrieb beendet. Das Ende des 33. Zyklus wird angezeigt durch 55 ein Signal auf der Leitung ENDE FA (Ende der Fehlanzeige) von der T-Speichersteuerung 9 an die Betriebsartensteuerung 10, wodurch die Austauschanordnung in den Ruhebetrieb umschaltet, wenn beim nächsten Zyklus Signale fehlen, die die Wahl einer anderen Betriebsart auslösen würden. 60
Betriebsart «Fehlanzeige mit Umschalten»
Eine Spezialoperation ist vorgesehen, wenn für den Zugriffszählwert und dadurch auch für die Benutzungswerte die Gefahr des Überlaufs besteht. Dieser Zustand wird erkannt 65 durch das Vorhandensein des Binärwertes «1» in den werthohen beiden Bitstellen des Zugriffszählregisters 22. Die Feststellung der beiden 1-Werte erzeugt ein Signal auf der Leitung
627580
UMSCHALTEN von der Zugriffszahlsteuerung 8 zur Betriebsartensteuerung 10. Wenn ein Fehlanzeigesignal vom Pufferspeicher zusammenfällt mit einem Signal UMSCHALTEN, wird der Betrieb «Fehlanzeige mit Umschalten» begonnen anstelle des vorher beschriebenen Betriebes «Fehlanzeige ohne Umschalten».
Der aktive T-Speicher wird durch die T-Speichersteuerung 9 auf die Position mit dem niedrigsten Benutzungswert abgesucht. Während die die Benutzungswerte enthaltenden Wörter sequentiell aus dem aktiven Speicher ausgelesen werden, werden sie durch 2 dividiert, d. h. jeder 15 Bit umfassende Benutzungswert wird bei seiner Übertragung in das Schreibregister in der Zugriffszahlsteuerung 8 um eine Bitposition nach rechts verschoben. Ausserdem wird gleichzeitig der Inhalt des A-Adressregisters 31 in das B-Adressregister 32 übertragen, welches den entsprechenden Wortspeicherplatz im inaktiven T-Speicher wählt, in den der verschobene (durch 2 geteilte) Benutzungswert aus dem Schreibregister 21 geschrieben wird. Während der Verschiebung wird ein in der höchsten Bitposition etwa vorhandener Binärwert «1» von der werthohen Bitposition (Bitposition 1) in die Bitposition 2 des Schreibregisters 21 geschoben, so dass in der Bitposition 1 des Schreibregisters ein O-Wert bleibt. Der vorher vorhandene Bitwert in der Position 15 (wertniederste Position) geht verloren.
Am Ende des 33. Zyklus (Adresse B läuft einen Zyklus hinter der Adresse A her) enthält das B-Adressregister lauter Einsen (gleich 31), und dieser Zustand wird benutzt, um den Fehlanzeigebetrieb zu beenden, indem ein entsprechendes Signal auf eine Leitung «ENDE FA» gegeben wird. Am Ende der Betriebsart «Fehlanzeige mit Umschalten» wird dann der Zugriffszählwert verändert. Während des letzten Zyklus dieser Betriebsart (33. Zyklus) wird das Zugriffszählregister 22 auf den Wert 10...0 gesetzt, und sein Inhalt stellt so einen neuen laufenden Benutzungswert dar, der höher ist als irgendeiner der Benutzungswerte im inaktiven T-Speicher, aber der neue laufende Zugriffszählwert ist weit genug vom Überlaufen entfernt, so dass vor der nächsten Fehlanzeige wahrscheinlich kein Überlauf auftritt. Während dieses letzten Zyklus wird ausserdem ein Steuerkippglied mit der Bezeichnung «Aktivanzeige» in der Betriebsartensteuerung 10 umgeschaltet, so dass die Rollen der beiden Tabellenspeicher vertauscht werden (dabei wird der inaktive T-Speicher zum aktiven T-Speicher und umgekehrt).
Es werden zwei Tabellenspeicher benötigt, weil ein einzelner T-Speicher nicht während desselben Zyklus für eine Schreiboperation und anschliessend für eine Leseoperation adressiert werden kann. Könnte man einen Speicher mit Schaltungen betreiben, die eine Rechtsverschiebung innerhalb des Speichers für alle Wortpositionen mit Ausnahmen der Sperrbitposition vornehmen könnten, dann würde ein Speicher mit einem Adressregister genügen. Solche Speicher sind jedoch heutzutage noch zu teuer.
Am Ende der Blockaustauschoperation sendet der Pufferspeicher für beide Fehlanzeige-Betriebsarten ein Signal auf die Leitung «NEUE ADRESSE» und veranlasst dadurch die Betriebsartensteuerung 10 zum Ersetzen der gerade verwendeten Austausch-Blockadresse. Das Signal «NEUE ADRESSE» setzt die Austauschanordnung in die Betriebsart «Zugriffszählwert erhöhen», und das Benutzungswertfeld in der entsprechenden Wortposition im aktiven Speicher wird dann auf den neuesten Stand gebracht.
Sperreinrichtung
Eine weitere Einrichtung im Ausführungsbeispiel ist für einen Pufferspeicher vorgesehen, in dem Blockpositionen aus der normalen Benutzung herausgenommen werden können, beispielsweise aufgrund von Schaltungsfehlern in einem oder mehreren Blöcken des Pufferspeichers; diese Blockbereiche
627580
werden für die Benutzung gesperrt. Dann muss der aktive T-Speicher in der Austauschanordnung anzeigen, welche Blöcke gesperrt sind. Die Speicherwortlänge wird daher um eine Bitposition erweitert, die Sperrbit genannt wird, so dass jedes Speicherwort eine Länge von 16 Bits hat. Die Sperrbits werden während des T-Speicher-Ladebetriebes durch IPL oder IMPL gesetzt. Ein Speicherwort, dessen Sperrbit = 1 ist, wird während keiner Betriebsart (ausser beim T-Speicherladebe-trieb) benutzt, da der entsprechende Pufferspeicher-Blockbe-reich für den normalen Betrieb nicht verfügbar ist. Während des Fehlanzeigebetriebes, bei dem der aktive T-Speicher sequentiell abgesucht wird, wird jedes Wort, dessen Sperrbit eingeschaltet ist, nicht in das Zugriffszählregister 22 ausgelesen. Während der Betriebsart «Fehlanzeige mit Umschalten» wird ein gesperrtes Wort unverschoben in das Schreibregister 21 übertragen und wird von dort in die entsprechende Position des inaktiven T-Speichers übertragen, um das Sperrbit in seine entsprechende Position zu bringen. Auf diese Weise werden die Sperrbits gerettet, wenn die Austauschanordnung zwischen den beiden Tabellenspeichern umschaltet. Die Speicheradresse eines gesperrten Wortes gelangt auch nicht in das Austausch-adress-Register in den Schaltungen 11. Durch Rettung des gesperrten Wortes kann der Pufferspeicher das Benutzungswertfeld für andere Zwecke verwenden.
Überlaufeinrichtung für Zugriffszählregister
Für den unwahrscheinlichen Fall, dass eine Fehlanzeige längere Zeit nicht auftritt und das Zugriffszählregister überläuft, d. h. lauter 1-Bits enthält, wird die Erhöhung des Zugriffszählwertes ausgesetzt, d. h., das Signal «NEUE ADRESSE» wird ignoriert, so dass der Zugriffszählwert nicht erhöht wird. Infolgedessen werden die alten Benutzungswerte in den Wörtern des aktiven T-Speichers festgehalten, bis die nächste Fehlanzeige auftritt.
Einzelheiten im bevorzugten Ausführungsbeispiel
Einzelheiten in den Blöcken der Fig. 7 werden jetzt mit Hilfe der Fig. 8 bis 11 erklärt.
In Fig. 10 ist ein Steuerkippglied 191 gezeigt, das «Aktivanzeige» genannt wird und bestimmt, welcher Tabellenspeicher (0 oder 1 ) aktiv ist Es arbeitet wie das in Fig. 2A gezeigte Kippglied. Die Tabellenspeicher (T-Speicher) 0 und 1 in Fig. 7 haben jeweils einen gemeinsamen Satz von Dateneingängen, die mit der Sammelleitung 33 verbunden sind. Die Ausgänge der T-Speicher sind bitweise ODER-verdrahtet mit der Datenausgangssammelleitung 34. Während eines Zyklus kann in einen T-Speicher geschrieben werden. Während eines Zyklus kann auch ein T-Speicher ausgelesen werden; Lesen und Schreiben kann jedoch nicht während eines Zyklus im gleichen T-Speicher erfolgen.
Die 16 Bits eines jeden Wortes in den beiden Tabellenspeichern gehören zu zwei Feldtypen:
a) Ein 1-Bit-Feld wird gebildet von der Sperrbitposition. Diese Position gibt an, ob der entsprechende Block im Pufferspeicher gesperrt wurde. Eine 1 zeigt an, dass der entsprechende Block gesperrt ist, eine 0, dass er nicht gesperrt ist. Das Sperrbit kann nur im T-Speicher-Ladebetrieb geändert werden. Wenn es den Wert «1 » hat, wird das betreffende Wort normalerweise nicht benutzt, so dass ein anderes Feld dieses Wortes nicht beschrieben werden kann (wodurch das Sperrbit eventuell zerstört werden könnte).
b) Ein 15-Bit langes Feld ist das Benutzungswertfeld, das den Benutzungswert des entsprechenden Blocks im Notizspeicher angibt. Je höher der Benutzungswert in diesem Feld relativ zu den Benutzungswerten in den anderen Feldern des aktiven T-Speichers ist, um so kürzer ist die Zeitspanne seit der letzten Benutzung dieses Blocks im Pufferspeicher.
Zugriffszählsteuerung 8 (Fig. 8)
Die Zugriffszählsteuerung 8 enthält das 15 Bit umfassende
Zugriffszählregister 22 und das 16 Bit umfassende Schreibregister 21 sowie unterstützende Schaltkreise.
Die Hauptfunktion des Zugriffszählregisters besteht in seiner Wirkung als Referenzwertgeber für die Austauschanordnung durch Speicherung des Zugriffszählwertes als laufender Benutzungswert (15 Bit lange Zahl), der jedes Mal um 1 erhöht wird, wenn zu einem anderen Block im Pufferspeicher zugegriffen wird. Diese Erhöhung erfolgt im Betrieb «Zugriffszählwert erhöhen», in dem die Zählschaltung 109 die Zahl aus dem Register 22 empfängt, diese um 1 erhöht, die erhöhte Zahl in das Zugriffszählregister 22 sowie in das Schreibregister 21 überträgt, von wo sie über die Dateneingangssammelleitung 33 in das gegenwärtig adressierte Wort im aktiven T-Speicher als neuer Benutzungswert übertragen wird. Eine weitere Funktion des Zugriffszählregisters 22 im Fehlanzeigebetrieb ist die kurzzeitige Speicherung des niedrigsten Benutzungswertes aus dem aktiven T-Speicher, während dieser zur Bestimmung des Austauschblocks abgesucht wird. Im einzelnen arbeiten die in den Fig. 8A und 8B gezeigten Schaltungen wie folgt, damit eine der vier Datenquellen Zugang zum Zugriffszählregister 22 erhält:
a) Halten des Zugriffszählwertes (UND-Glieder 113,114, 115): Der Inhalt des Zugriffszählregisters 22 wird für den nächsten Zyklus durch die UND-Glieder 130 unter Steuerung der UND-Glieder 113,114 und 115 gehalten. Das UND-Glied 113 wird eingeschaltet, wenn die Zählschaltung 109 einen Übertrag erzeugt und damit anzeigt, dass das Zugriffszählregister 22 am Überlaufen ist, und wenn die Austauschanordnung nicht im Fehlanzeigebetrieb läuft (Betriebsartenleitung 0 wird über den Inverter komplementiert). Das UND-Glied 114 wird eingeschaltet, wenn die Austauschanordnung nicht im Fehlanzeigebetrieb läuft und der Pufferspeicher kein Signal «NEUE ADRESSE» erzeugt (d. h. der Inverter 128 gibt binär «1» ab). Das UND-Glied wird eingeschaltet, wenn die Austauschanordnung im Fehlanzeigebetrieb läuft (Betriebsartenleitung 0 ist auf dem Binärwert «1»), aber das aus dem aktiven T-Speicher gewählte Wort sein Sperrbit eingeschaltet hat, so dass der Inhalt des Zugriffszählregisters 22 gehalten wird, da er den bisher ermittelten niedrigsten Benutzungswert darstellt.
b) Erhöhen des Zugriffszählwertes (UND-Glied 116): Der erhöhte Wert, der durch die 15-Bit-Inkrementierschaltung (Zählschaltung) 109 geliefert wird, wird über die UND-Glieder 131 unter Steuerung des UND-Gliedes 116 eingegeben. Das erfolgt, wenn die Austauschanordnung nicht im Fehlanzeigebetrieb läuft (d. h. Inverter 126 gibt binär «1» ab) und ein Signal «NEUE ADRESSE» vom Pufferspeicher eintrifft und die Inkrementierschaltung 109 kein Übertragungssignal erzeugt (Inverter 11 gibt binär «1» ab).
c) Zugriffszählwertrückspeichern (UND-Glied 117): Die Bits 1 bis 15 aus dem Schreibregister 21 werden unter Steuerung des UND-Gliedes 117 über die UND-Glieder 132 in das Zugriffszählregister zurückübertragen. Dies geschieht im letzten Zyklus (Ende Fehlanzeige) der Betriebsart «Fehlanzeige ohne Umschalten». (Betriebsartleitung 0 eingeschaltet, Betriebsartleitung 2 am Inverter 127 ist abgeschaltet).
d) Niedriger Benutzungswert zum Zugriffszählregister (UND-Glied 118): Der von einem T-Speicher auf der Datenausgangssammelleitung 34 empfangene Benutzungswert wird unter Steuerung des UND-Gliedes 118 über die UND-Glieder 133 eingegeben. Das erfolgt während eines Fehlanzeigebetriebes (Betriebsartenleitung 0 ist eingeschaltet), wenn der Benutzungswert von der Datenausgangssammelleitung 34 im Vergleicher 108 kleiner ist als der bis dahin gefundene kleinste Wert, und wenn er nicht von einem gesperrten Wort kommt (Sperrbit ist «0», aber von Inverter 119 komplementiert). Das Vergleichersignal «KLEINER» ist daher eingeschaltet.
e) In das Zugriffszählregister 10...0 eingeben (UND-Glied 112): Der Wert 10...0 wird in das Zugriffszählregister 22 über
6
5
10
15
20
25
30
35
40
45
50
55
60
65
7 627580
das UND-Glied 112 eingegeben während des Betriebes «Fehl- Tabellenspeichersteuerung 9 (T-Speichersteuerung)
anzeige mit Umschalten» (BetriebsartenleitungO und Betriebs- Die T-Speichersteuerung 9 ist im einzelnen in den Fig. 9A
artenleitung 2 eingeschaltet), während der letzte Zyklus abläuft und 9B gezeigt. Zur T-Speichersteuerung 9 gehören die Adress-
(Signal «ENDE FEHLANZEIGE» aktiv). register für den aktiven und den inaktiven T-Speicher, das
Das Schreibregister 21 liefert die Eingabedaten für den 5 A-Adressregister 31 bzw. B-Adressregister 32. Ausserdem gibt gewählten T-Speicher auf die Dateneingangssammelleitung 33. die Steuerung ein Steuersignal «Ende Fehlanzeige» (EN DE
Das Register 21 dient auch als Kurzzeitspeicher für den letzten FA) auf Leitung 38 aus, um den Fehlanzeigebetrieb zu beenden. Benutzungswert im Zugriffszählregister, wenn die Betriebsart Das A-Adressregister 31 wird normalerweise von der
«Fehlanzeige ohne Umschalten» eingeleitet wird. Je eine von Adresssammelleitung 41 über die UND-Glieder 150 geladen,
sechs Datenquellen kann wie folgt in das Schreibregister einge- io die durch das UND-Glied 173 gesteuert werden. Das UND-
ben: Glied 173 wird eingeschaltet während eines fehlanzeigefreien a) Zugriffszählregister zum Schreibregister (UND-Glied Betriebes (Betriebsartenleitung 0 ist «aus», komplementiert
120): Das Schreibregister 21 empfängt die Bits 1 bis 15 über die durch den Inverter 170), wenn der Pufferspeicher kein Fehlan-
UND-Glieder 140 unter Steuerung des UND-Gliedes 120, so zeigesignal sendet (Inverter 172 gibt «0» ab).
dass der Zugriffszählwert (der laufende Benutzungswert) vom 15 Wenn ein Fehlanzeigesignal auf die Leitung 44 gesendet
Register vorübergehend während einer Fehlanzeigeoperation wird, geschieht das während des Zyklus 0 (siehe Fig. 12), in dem im Register 21 gespeichert werden kann. Das UND-Glied 120 das A-Adressregister 31 gelöscht wird (auf 0 gesetzt), weil alle wird eingeschaltet, wenn der Pufferspeicher ein Fehlanzeige- UND-Glieder 150 und 151 gesperrt sind, wenn der Takt wäh-
signal sendet und die beiden werthöchsten Bits des Zugriffs- rend des Zyklus 0 auftritt. Die Leitung 0 in den Betriebsartenlei-
zählregisters nicht beide den Wert «1» haben und anzeigen, 20 tungen 36 wird im Zyklus 1 aktiv, um eine sequentielle Suche im dass es ein Fehlanzeigebetrieb ohne Umschalten ist. Das Signal aktiven T-Speicher zu beginnen, wobei die A-Adresse im Regi-
«kein Umschalten» wird vom Inverter 129 geliefert. ster 31 von 0 auf 31 schrittweise erhöht wird durch die 5-Bit-
b) Erhöhten Zugriffszählwert zum Schreibregister (UND- Inkrementierschaltung (Zählschaltung) 177 (über die UND-Glied 116): Der durch die 15-Bit-Inkrementierschaltung 109 Glieder 151) während der Zyklen 1 bis 32, wobei die Betriebsar-abgegebene erhöhte Wert wird in das Schreibregister 21 über 25 tenleitung 0 eingeschaltet ist.
die UND-Glieder 141 eingegeben unter Steuerung desselben In Fig. 9A wird das Steuersignal «Schreiben/Lesen 0»
UND-Gliedes 116, das auch die Speicherung des erhöhten erzeugt durch eines der UND-Glieder 160,161 oder 162, um das
Zugriffszählwertes in das Zugriffszählregister 22 steuert. Lesen oder Schreiben des adressierten Wortes im T-Speicher 0
c) Schreibregister halten (UND-Glied 121): Die Bits 1 bis 15 zu steuern. In den T-Speicher 0 wird geschrieben, wenn das des Schreibregisters 21 werden gehalten über die UND-Glie- 30 UND-Glied 160 durch die Austauschanordnung freigegeben der 142 unter Steuerung des UND-Gliedes 121, wenn Betriebs- wird, die im Betrieb «Zugriffszählwert erhöhen» läuft (UND-art «Fehlanzeige ohne Umschalten» vorliegt (d. h. Betriebsar- Glied 174 ist freigegeben) und die Leitung «0 aktiv» eingeschal-tenleitung 0 und Inverter 127 geben beide ein binäres tet ist. In den T-Speicher 0 wird auch geschrieben, wenn die «1»-Signal ab). Das Schreibregister 22 hält vorübergehend den Austauschanordnung im T-Speicher-Ladebetrieb läuft (UND-laiifenden Benutzungswert (den Zugriffszählwert). 35 Glied 175 ein) und das Signal «0 aktiv» eingeschaltet ist (Ein-
d) Sperrwort übertragen (UND-Glied 122): Das Wort auf gangssignale für UND-Glied 162). Schliesslich wird noch in den der Datenausgangssammelleitung 34 wird in das Schreibregi- T-Speicher 0 geschrieben, wenn das UND-Glied 161 durch die ster 21 über die UND-Glieder 143 während der Betriebsart Austauschanordnung eingeschaltet ist, sobald diese im Fehlan-«Fehlanzeige mit Umschalten» angegeben (Betriebsartenlei- zeigebetrieb läuft (Betriebsartenleitung 0 ist ein), wenn ausser-tung 0 und Betriebsartenleitung 2 haben beide ein « 1 »-Signal), 40 dem der T-Speicher inaktiv ist (angezeigt durch eingeschaltetes wenn das Sperrbit gesetzt ist. Dadurch kann ein gesperrtes Signal auf Leitung «1 aktiv»). In den inaktiven T-Speicher Wort unverändert vom aktiven in den inaktiven T-Speicher braucht nur bei Betriebsart «Fehlanzeige mit Umschalten» unter Steuerung des UND-Gliedes 122 übertragen weren. geschrieben zu werden (jedoch muss es nicht nur auf die spe-
e) Benutzungswert Verschieben und Übertragen (UND- zielle Fehlanzeigebetriebsart beschränkt sein).
Glied 234): Der auf der Datenausgangssammelleitung 34 emp- 45 In ähnlicher Weise wird in Fig. 9B das Steuersignal «Schreifangene Benutzungswert wird um eine Bitposition nach rechts ben/Lesen 1 » durch eines der UND-Glieder 164,165 oder 166 verschoben (d. h. durch zwei geteilt) durch die UND-Glieder erzeugt, um in den T-Speicher 1 zu schreiben oder aus diesem 144, wenn der Benutzungswert in das Schreibregister 21 einge- zu lesen. Die Bedingungen für diese UND-Glieder sind analog geben wird (d. h. Bit 1 bis 14 auf der Datenausgangssammellei- denen für das Schreiben in den T-Speicher 0 (gemäss der tung 34 werden in die Bitpositionen 2 bis 15 des Schreibregi- so Beschreibung der UND-Glieder 160,161 und 162, jedoch sind sters 21 übertragen durch die UND-Glieder 144 unter Steue- die Rollen für die Leitung «0 aktiv» und die Leitung «1 aktiv» rung des UND-Gliedes 123). Das erfolgt während der Betriebs- vertauscht). Die Adressleitung des T-Speichers 0 ist an den Ausart «Fehlanzeige mit Umschalten» (Betriebsartenleitung 0 und gang des A-Adressregisters 31 über die UND-Glieder 153 ange-Betriebsartenleitung 2 beide «ein») unter der Voraussetzung, schlössen, wenn die Leitung «0 aktiv» eingeschaltet ist, und an dass das betreffende Wort nicht gesperrt ist (d. h. das Sperrbit 55 den Ausgang vom B-Adressregister 32 über die UND-Glieder ist 0, bestimmt durch den Inverter 124). 154, wenn die Leitung « 1 aktiv» eingeschaltet ist, und an den f) Externe Daten Laden (UND-Glied 125): Externe Daten- Ausgang vom B-Adressregister 32 über die UND-Glieder 154, signale einer externen Initialisierungsquelle werden in das wenn die Leitung «1 aktiv» eingeschaltet ist. In ähnlicher Weise Register 21 über die UND-Glieder 145 unter Steuerung des wird die Adressleitung dDie Betriebsartensteuerung 10 enthält UND-Gliedes 125 eingegeben, wenn der Pufferspeicher ein 6o vier bistabile Kippglieder 191,192,193 und 194, die die Austau-Ladesignal sendet, während er nicht im Fehlanzeigebetrieb schanordnung steuern.
läuft (Betriebsartenleitung 0 «aus», komplementiert durch den wird die Adressleitung des T-Speichers 1 an die beiden Adress-
Inverter 126). register über die UND-Glieder 155 bzw. 156 angeschlossen,
wenn die Signale für die Aktiv-Leitungen umgekehrt sind. Die
Die Zugriffszählsteuerung 8 (Fig. 8B) gibt drei Steuersi- 65 Ausgabesteuerleitungen für 0 und 1 sind direkt mit den Leitun-
gnale aus mit den Bezeichnungen «kleiner», «kein Übertrag» gen «0 aktiv» bzw. « 1 aktiv» verbunden.
und «Umschalten», die an Schaltungen gelangen, welche in Das B-Adressregister 32 kann vom A-Adressregister 31
Fig. 10 und 11 dargestellt sind. über die UND-Glieder 152 jederzeit geladen werden mit Aus-
627580
nähme der Situation, dass ein Fehlanzeigesignal auf der Leitung 44 vom Pufferspeicher gesendet wird, um einen Fehlanzeigebetrieb einzuleiten. Dann verhindert der Inverter 172 ein Laden des B-Adressregisters und löscht es effektiv durch Sperren der UN D-Giieder 152 während eines Taktimpulses. Auf diese Weise enthält in der Betriebsart «Fehlanzeige» das B-Adressregister immer den A-Adresswert des vorhergehenden Zyklus. Während des 33. Zyklus beträgt die B-Adresse 11 111 (= 31); dies wird durch das UND-Glied 168 festgestellt, das dann das Steuersignal «Ende Fehlanzeige» erzeugt.
Betriebsartensteuerung (Fig. 10)
Die Betriebsartensteuerung 10 enthält vier bistabile Kippglieder 191,192,193 und 194, die die Austauschanordnung steuern.
a) Betriebsartenbits 0,1 und 2: Sie werden durch die Kippglieder 192,193 und 194 geliefert und geben die Operationsarten an, die in der Austauschanordnung stattfinden können, entsprechend den in der obigen Betriebsartentabelle angegebenen Codewörtern. Die Betriebsart wird bestimmt durch die 3 Eingangssignale «Laden», «Neue Adresse» und «Fehlanzeige» sowie durch die Signale «Kein Übertrag» und «Umschalten» von Fig. 8B. Das Signal «Kein Übertrag» ergibt sich, wenn die Inkrementierschaltung (Zählschaltung) 109 keinen Überlauf feststellt. Wenn die beiden werthöchsten Bits des Zugriffszählregisters auf 1 stehen, ergibt sich das Signal «Umschalten». Die Signale «Laden», «Neue Adresse» und «Fehlanzeige» schlies-sen sich gegenseitig aus, d. h. während eines Zyklus kann höchstens eines dieser Signale vorliegen.
Wenn nicht im Fehlanzeigebetrieb gearbeitet wird (Betriebsartenleitung 0 ist «aus», das ergibt ein Ausgangssignal «1» vom Inverter 185), schaltet ein Ladesignal während eines Zyklus 0 ein Betriebsarten-Kippglied 2 über das UND-Glied 186 ein, um den T-Speicher-Ladebetrieb während des nachfolgenden Zyklus 1 einzuleiten, da die Verknüpfungsglieder 182, 183 und 184 kein «1 »-Signal abgeben und da der «0»-Wert des Betriebsartenbit 0 die Freigabe des UND-Gliedes 188 verhindert. Der T-Speicher-Ladebetrieb dauert eine Zyklusperiode (Fig. 12), um die Eingabe eines externen Wortes in einen Speicherplatz im aktiven T-Speicher zu ermöglichen. Das Ausgangssignal des Kippgliedes 194 «Betriebsart 2» wird über das UND-Glied 188 daran gehindert, das Kippglied 194 zu verriegeln, weil das Betriebartenbit 0 ausgeschaltet ist.
Wenn das Signal «Neue Adresse» eingeschaltet ist, der laufende Benutzungswert (der Zugriffszählwert) noch nicht überläuft (Signal «kein Übertrag» ist eingeschaltet), und wenn das Betriebsartensignal «Fehlanzeige» nicht eingeschaltet ist, schaltet das UND-Glied 184 das Betriebsarten-Kippglied 1 (193) ein, um die Betriebsart «Zugriffszählwert erhöhen» während des nachfolgenden Zyklus für die Dauer eines Zyklus einzuleiten.
Wenn das Fehlanzeigesignal eingeschaltet ist, beginnt im nachfolgenden Zyklus ein Fehlanzeigebetrieb von 33 Zyklen. Es wird entweder die Betriebsart «Fehlanzeige ohne Umschalten» (1X0) oder die Betriebsart «Fehlanzeige mit Umschalten» (1X1) eingeleitet. Während des Fehlanzeigebetriebs werden keine weiteren Fehlanzeigesignale erwartet, so dass das Signal auf der Betriebsartenleitung 0 ausgeschaltet sein sollte, wenn ein Fehlanzeigesignal auftritt. Das Fehlanzeigesignal erscheint während eines Zyklus 0 (siehe Fig. 12) und leitet die Fehlanzeigebetriebsart über die Trennschaltung (ODER-Glied) 182 ein. Wenn die werthohen Bits 1 und 2 des Zugriffszählregisters beide den Binärwert «1» haben, erzeugen sie das Signal «Umschalten» durch UND-Glied 110 in Fig. 8A, das mit dem Fehlanzeigesignal im UND-Glied 187 kombiniert wird und das Betriebsart-Kippglied 2 (194) einschaltet. Betriebsartenbit 0 wird für 33 aufeinanderfolgende Zyklen über das UND-Glied 183 auf dem Binärwert «0» gehalten, d. h. solange das Signal
8
«Ende Fehlanzeige» ausgeschaltet ist (abgefühlt durch den Inverter 181). Das Betriebsartenbit 2 wird für dieselbe Anzahl von Zyklen über das UND-Glied 188 durch den Inverter 181 und das Betriebsartenbit 0 auf dem Binärwert «1» gehalten. 5 b) Ausgangsleitungen «0 aktiv» und «1 aktiv» vom Kippglied «Aktivanzeige»: Das Kippglied 191 gibt die komplementären Ausgangssignale mit den Bezeichnungen «0 aktiv» und «1 aktiv» in Fig. 10 ab, die angeben, welcher der beiden Tabellenspeicher aktiv ist. Wenn das Signal auf Leitung «0 aktiv» einge-io schaltet ist, ist der T-Speicher 0 aktiv, wenn das Signal auf Leitung «1 aktiv» eingeschaltet ist, ist es der T-Speicher 1. Das Kippglied 191 wird durch das UND-Glied 150 während des letzten Zyklus (Ende Fehlanzeige) der Betriebsart «Fehlanzeige mit Umschalten» gesteuert (Betriebartenleitungen 0 und 15 2 eingeschaltet).
Austausch-Adressschaltungen (Fig. 11)
Die Austausch-Adressschaltungen 11 enthalten das Austauschadressregister 42, das die Adresse desjenigen Blocks im 20 Pufferspeicher angibt, die während des letzten Fehlanzeigebetriebes bestimmt wurden. Es ist diejenige Blockadresse, die vom Pufferspeicher zu verwenden ist, um den Speicherblock zu finden, in den der fehlende Datenblock einzugeben ist. Das Register 42 wird von der A-Adressleitung 51 während eines 25 Fehlanzeigebetriebes über die UND-Glieder 90 in Fig. 11 geladen, wenn das Sperrbit für das gewählte Wort aus dem aktiven T-Speicher den Binärwert «0» hat (Inverter 94 gibt «1» ab), und sein Benutzungswert durch die Zugriffszählsteuerung 8 als kleiner ermittelt wurde als der Benutzungswert im Zugriffszählre-30 gister 22 (Signal «KLEINER» ist eingeschaltet). Diese Bedingungen werden durch das UND-Glied 96 in Fig. 11 festgestellt. Die Adresse dieses Wortes wird dadurch in das Austauschadressregister 42 eingegeben. Wenn das UND-Glied 96 gesperrt ist, gibt der Inverter 97 binär «1» ab und verhindert 35 eine Veränderung des Inhaltes des Austauschadressregisters. Der Inhalt des Austauschadressregisters wird durch die UND-Glieder 91 gehalten, die den Registerinhalt bei jedem Taktzyklus auf sich selbst zurückkoppeln, solange der Inverter 97 den Binärwert «1» abgibt, wenn das Signal «KLEINER» ausge-4o schaltet ist, oder das Signal für Betriebsart 0 den Binärwert «0» hat, oder das Sperrsignal den Binärwert «1» hat. Das Rückstellsignal von der Initialisierungsquelle kann auch das Austauschadressregister über die UND-Glieder 91 löschen.
Durch die Erfindung wird das unerwünschte Überlaufen 45 des Zugriffszählregisters vermieden. Am Anfang jeder Suchoperation im Tabellenspeicher wird der Inhalt des Zugriffszählregisters abgefragt, um festzustellen, ob er sich dem höchsten zählbaren Wert nähert (z. B. ob seine beiden werthohen Bits auf 1 stehen). Wenn das der Fall ist, werden die so Benutzungswerte in den Positionen des aktiven Tabellenspei-. chers zwar auch ausgelesen und miteinander verglichen, dann aber um eine Bitposition nach rechts verschoben und in entsprechende Positionen des anderen Tabellenspeichers geschrieben, der dann zum aktiven T-Speicher wird. Durch 55 Rechtsverschiebung wird das wertniedere Bit in den Benutzungswerten fallen gelassen und das werthohe Bit auf 0 gesetzt. Dadurch wird der verfügbare Bereich der Benutzungswerte vergrössert, ohne die gespeicherten Beziehungen zwischen den existierenden Benutzungswerten zu beeinflussen. Es können 60 sieh durch Fortfall des wertniedrigsten Bits zwei gleiche Benutzungswerte ergeben; bei einer nachfolgenden Suchoperation wird aber von den beiden möglichen Adressen mit gleichem Benutzungswert nur einer ausgewählt. (Es werden zwei Tabellenspeicher benutzt, um den Lesezyklus des einen mit dem 65 Schreibzyklus des anderen überlappen zu können. Bei Verwendung nur eines T-Speichers wäre die Geschwindigkeit niedriger, weil man für jede Position zwei sequentielle Maschinenzyklen braucht, einen zum Lesen und einen zum Schreiben.)
Bei Beendigung einer Such- und Verschiebeoperation wird der Inhalt des Zugriffszählregisters auf 100...0 gesetzt und ist dann höher als alle Benutzungswerte im aktiven T-Speicher, da diese alle eine 0 in der höchsten Bitposition haben. Dieser neue Zugriffszählwert steht dann dazu bereit, in die nächste adressierte Position des aktiven T-Speichers als Benutzungswert geschrieben zu werden.
Wenn keine Fehlanzeige vom Pufferspeicher auftritt, bis das Zugriffszählregister den Zustand mit lauter Einsen erreicht, stoppt die Zugriffszählsteuerung die Fortschreibung der Benutzungswerte, die dann ihre vorhandenen Werte beibehalten, bis wieder eine Fehlanzeige auftritt und die Such- und Verschiebeoperation ausgeführt werden kann.
Um den am längsten unbenutzten Block (LRU) zu bestimmen, ist ein Suchvorgang im Tabellenspeicher erforderlich durch Vergleich des Benutzungswertes eines jeden Wortes mit dem vorhergehenden und Retten der Adresse desjenigen Blok-kes mit dem niedrigsten Benutzungswert als neue Austauschadresse. Diese Austauschadress-Bestimmung braucht eine Anzahl von Maschinenzyklen, abhängig von der Grösse des T-Speichers. Diese Operation wird gemäss der vorliegenden Erfindung ausgeführt, wenn eine Fehlanzeige im Puffer auftritt und überlappt die Austauschoperation zur Übertragung des benötigten Datenblockes von einer anderen Stufe in der Speicherhierachie in den Puffer. Die Blockübertragungszeit während der Austauschoperation ist lang genug, so dass die Austauschadressbestimmung während derselben Zeit ausgeführt werden kann. Für jede Austauschoperation benutzt man die bei der vorhergehenden Fehlanzeige bestimmte Austauschadresse. Die Austausch-Blockadresse, die während einer Austauschoperation bestimmt wird, wird also für den nächsten
9 627580
Blockaustausch verwendet, so dass man eine modifizierte LRU-Regel benutzt.
Es kann vorkommen, dass ein Datenblock, der wegen seines niedrigen Benutzungswertes zum Überschreiben ausgewählt 5 wurde (durch Einschreiben seiner Adresse in das Austauschadressregister), vor Auftreten der nächsten Fehlanzeige (also vor dem nächsten Datenblockaustausch) wieder adressiert wird. Dieser Block erhält dann den höchsten Benutzungswert, wird aber beim nächsten erforderlichen Blockaustausch trotz-
10 dem überschrieben, weil ja die Austauschadresse zwischen den Fehlanzeigen nicht mehr angepasst wird. Man darf aber annehmen, dass ein Datenblock, der überhaupt einmal die Stellung des am wenigsten benutzten Datenblocks erreichen kann, im ganzen nicht sehr wichtig ist, und dass deshalb sein an und für
15 sich nach der normalen Regeln nicht erwünschter Austausch die Systemieistung nicht beeinträchtigt. Ausserdem kommt dieser Fall äusserst selten vor.
Es gibt jedoch Alternativen zur Vermeidung dieser Situa-20 tion. Erstens kann man ein Kippglied zur Anzeige dieser besonderen Situation vorsehen, das dann, wenn es gesetzt ist, bei der nächsten Fehlanzeige eine nochmalige Bestimmung der Austauschadresse (für den wirklich am längsten unbenutzten Datenblock) bewirkt. Diese Zusatzoperation ist dann allerdings 25 nicht mit der Austauschoperation überlappt. Zweitens könnte man vorsehen, dass jeweils zwei Austauschadressen bereitgestellt werden, nämlich für die beiden Blöcke mit dem niedrigsten und mit dem zweitniedrigsten Benutzungswert. Falls dann zum Datenblock mit dem niedrigsten Benutzungswert inzwi-io sehen wieder zugegriffen wurde, wird die zweite Austauschadresse benutzt.
9 Blatt Zeichnungen

Claims (5)

  1. 627580 2
    PATENTANSPRÜCHE g. Austauschanordnung nach Patentanspruch 5, dadurch
    1. Austauschanordnung zur Bereitstellung von Austausch- gekennzeichnet, dass die Tabellenspeichereinrichtung zwei adressen für den Betrieb eines Pufferspeichers in einer gleiche Tabellenspeicher (12a, 12b) enthält, so dass die aus Speicherhierarchie, mit einer Tabellenspeichereinrichtung zur einem Tabellenspeicher ausgelesenen Werte nach Vergleich Speicherung von Benutzungswerten in Positionen, die den s und Verschiebung mit gleicher Adresse in den anderen Tabel-Speicherblöcken für austauschbare Datenblöcke im Pufferspei- lenspeicher eingegeben werden können.
    eher entsprechen, und mit Zugriffszählschaltungen zur Bereit- 7. Austauschanordnung nach Patentanspruch 1, dadurch Stellung eines laufenden Zugriffszählwertes, der bei jedem gekennzeichnet, dass eine Betriebsartensteuereinrichtung neuen Zugriff zu einem Speicherblock im Pufferspeicher um (Fig. 10) vorgesehen ist, die durch Anzeigesignale vom Puffereine Einheit erhöht wird, und zum Einsetzen des laufenden 10 Speicher in verschiedene Zustände einstellbar ist und entspre-Zugriffszählwertes als Benutzungswert in diejenige Tabellen- chende Steuersignalkombinationen an die mit ihr verbundenen speicherposition, die dem neu adressierten Speicherblock ent- Anordnungen (Fig. 8, Fig. 9) zur Austauschadressfestlegung spricht, gekennzeichnet durch : und zur veränderung des Benutzungswertbereiches abgibt,
    - einen Austauschadresspeicher (42) zur Speicherung der uncj dass ferner eine Koinzidenzschaltung (110) vorgesehen ist, Adresse eines ausgewählten Speicherblocks, dessen Inhalt 15 welche dann, wenn eine bestimmte Anzahl der werthöchsten beim Fehlen eines angeforderten Datenblockes im Pufferspei- Bitpositionen in einem Zugriffszählregister (22) den Binärwert eher überschrieben werden soll ; 1 enthält, ein Anzeigesignal zur Auslösung der Veränderung
    - eine Anordnung zur Austauschadressfestlegung mit Ein- des Benutzungswertbereichs an die Betriebsartensteuereinrichtungen (Fig. 8, Fig. 9, Fig. 11 ) zum Durchsuchen der Positio- richtung abgibt.
    nen der Tabellenspeichereinrichtung (12a, 12b) zur Feststellung2o 8. Austauschanordnung nach Patentanspruch 2, dadurch des niedrigsten Benutzungswertes, und zur Speicherung der gekennzeichnet, dass die Einrichtungen zur Verminderung entsprechenden Adresse im Austauschadresspeicher sowie aner Benutzungswerte ein Schreibregister (21) enthalten sowie
    - eine Anordnung zur Veränderung des Benutzungswert- Torschaltungen (144), durch welche die von der Tabellenbereiches mit Einrichtungen (Fig. 8) zur Verminderung aller in speichereinrichtung (12a, 12b) abgegebenen parallelen Bitsig-der Tabellenspeichereinrichtung gespeicherten Benutzungs- 25 naie um eine Bitstelle verschoben in das Schreibregister einge-werte unter Beibehaltung ihrer Wertreihenfolge, wenn der geben werden können.
    Zugriffszählwert einen vorgegebenen Wert erreicht hat, und 9. Austauschanordnung nach Patentanspruch 1, gekenn-
    zur Verminderung des Zugriffszählwertes auf einen Wert, der zeichnet durch: ein Schreibregister (21), dessen Ausgänge mit grösser ist als jeder der verminderten Benutzungswerte. den Eingängen der Tabellenspeichereinrichtung (12a, 12b) ver-
  2. 2. Austauschanordnung nach Patentanspruch 1, dadurch 30 bunden sind; ein Zugriffszählregister (22) und eine damit vergekennzeichnet, dass die Einrichtungen zur Verminderung bundene Inkrementierschaltung (109) zur schrittweisen Erzeu-aller Benutzungswerte Schaltungsmittel (21,123,144) enthalten gung von aufsteigenden Zugriffszählwerten; erste Torschaltun-zur Verschiebung jedes aus der Tabellenspeichereinrichtung gen (140), welche bei Vorliegen eines Fehlanzeige-Steuersi-ausgelesenen Benutzungswertes in festgelegter Richtung und gnais den Inhalt des Zugriffszählregisters in das Schreibregi-um eine festgelegte Anzahl von Stellen, und zur Wiedereingabe 35 ster übertragen; zweite Torschaltungen (133) zur Übertragung des verschobenen Benutzungswertes in die Tabellenspeicher- des auf Ausgabeleitungen der Tabellenspeichereinrichtung einrichtung ( 12a, 12b). abgegebenen Benutzungswerts in das Zugriffszählregister bei
  3. 3. Austauschanordnung nach Patentanspruch 1 oder 2, Vorliegen eines Eingabe-Steuersignals; einen Vergleicher (108), dadurch gekennzeichnet, dass die Tabellenspeichereinrichtung dessen erste Eingänge mit den Ausgabeleitungen der Tabellenzwei gleiche Tabellenspeicher (12a, 12b) enthält; dass Schal- 40 speichereinrichtung und dessen zweite Eingänge mit den Aus-tungseinrichtungen (180,191) vorgesehen sind zur Auswahl je gängen des Zugriffszählregisters verbunden sind, und der ein eines der beiden Tabellenspeicher als aktiver Tabellenspeicher Eingabe-Steuersignal an die zweiten Torschaltungen abgibt, und dass Steuer-und Übertragungsmittel (31,32,151—156,177 ; wenn der Benutzungswert auf den Ausgabeleitungen der
    21,123,14) vorgesehen sind zum sequentiellen Auslesen aller Tabellenspeichereinrichtung kleiner ist als der im Zugriffszähl-
    Benutzungswerte aus dem aktiven Tabellenspeicher, zum Ver- 45 register gespeicherte Benutzungswert.
    schieben aller Benutzungswerte um den gleichen Betrag, und zum Einschreiben der verschobenen Benutzungswerte in den anderen Tabellenspeicher, jedoch unter der gleichen Adresse,
    die der un verschobene Benutzungswert im aktiven Tabellenspeicher hatte. 50
  4. 4. Austauschanordnung nach Patentanspruch 1 oder 2, Bei einer Speicherhierarchie, in der Datenblöcke von dadurch gekennzeichnet, dass die Einrichtungen zur Verminde- einem Speicherniveau zum anderen übertragen werden, benö-rung des Zugriffszählwertes bei Verminderung aller Benut- tigt man Einrichtungen, um einen auszutauschenden Block zu zungswerte Schaltungsmittel (112) enthalten, um in dem den identifizieren, wenn fehlende Daten in einen bereits voll besetzlaufenden Zugriffszählwert enthaltenden Zugriffszählregister 55 ten Pufferspeicher geholt werden sollen. Durch die Austausch-(22) die werthöchste Bitposition auf den Binärwert 1 und alle einrichtungen wird nach einer vorgegebenen Austauschregel anderen auf den Binärwert 0 zu setzen. die Adresse desjenigen Datenblocks bestimmt, der für den
  5. 5. Austauschanordnung nach Patentanspruch 1, dadurch gewünschten, neu in den Pufferspeicher zu übertragenden gekennzeichnet, dass die Einrichtungen (31,32,151...156,177 ; Datenblock Platz machen muss.
    22,108,133) zum Durchsuchen der Positionen der Tabellen- 60 Eine solche bekannte Austauschregel ist die LRU-Regel speichereinrichtung (12a, 12b) und die Einrichtungen (21,123, (LRU = least recently used = am längsten unbenutzt), durch
    144) zum Vermindern aller Benutzungswerte so kombiniert den derjenige Datenblock im Puffer, der am längsten nicht sind, dass der Inhalt aller Positionen sequentiell ausgelesen benutzt wurde, als der unwichtigste Block ermittelt wird, der wird, dass jeder Benutzungswert nach Vergleich mit dem vor- daher mit geringster Beeinflussung der Systemleistung ersetzt her ausgelesenen Benutzungswert um eine Stelle verschoben 65 werden kann.
    wird, und dass der verschobene Benutzungswert dann mit glei- Die LRU-Regel verlangt jedoch ein Verfahren zur Verfol-
    cher Adresse wieder in die Tabellenspeichereinrichtung einge- gung der relativen Benutzung des Inhaltes der Speicherblöcke geben wird. im Puffer. Eine bekannte Lösung besteht darin, j ede Block-
    adresse bei Benutzung in einen Kellerspeicher oder Stapelspeicher einzugeben, wobei die Position im Stapel die Benutzungsaktualität des betreffenden Blockinhaltes angibt. Abhängig von der Grösse des Puffers und der Grösse der Blöcke kann der Stapelspeicher sehr gross und kostspielig in der Implementierung werden.
    Eine andere LRU-Regel wurde veröffentlicht in einem Artikel von R.M. Meade mit dem Titel «Design Approaches for Cache Memory Control» in Computer Design, Januar 1971, Seiten 87-93. Dabei wird mit binären Werten, die in einer Assoziativspeicheranordnung gespeichert sind, die Benutzungsaktualität der Blöcke innerhalb eines Puffers festgehalten. Wenn ein Block adressiert wird, erhält er einen Wert zugeteilt, der um 1 grösser ist als der einem anderen Block, der zuletzt vor dem laufenden Block adressiert wurde, zugeteilte Wert. Es wird also dem nächsten adressierten Block immer ein Benutzungswert zugeordnet, der um 1 grösser ist als der dem zuletzt adressierten Block zugeordnete Wert, usw. Der Block mit dem jeweils höchsten zugeordneten Wert ist dann der zuletzt adressierte bzw. der am kürzesten unbenutzte Block (MRU = most recently used). Entsprechend ist der Block mit dem niedrigsten Benutzungswert der am längsten unbenutzte Block (LRU). Ein Benutzungswert wird nur beim jeweils ersten Zugriff zu einem bestimmten Block zugeordnet und bleibt für alle unmittelbar nachfolgenden Zugriffe zum gleichen Block unverändert, wodurch sich diese Regel von derjenigen unterscheidet, bei welcher der am wenigsten häufig benutzte Block ermittelt wird. Der Meade-Artikel beschreibt eine Anordnung von Speicherplätzen, die beliebig adressiert werden können. Jedes gespeicherte Wort kann bitweise parallel mit anderen Wörtern verschoben werden, um das Wort mit dem niedrigsten Benutzungswert herauszufinden. Die Anordnung ist ausreichend, um zu jedem Pufferspeicherblock einen zugehörigen Benutzungswert zu halten. Es wird also kein Stapelspeicher benötigt. Die ganze Anordnung muss wenigstens so viele Wort-Speicherplätze haben, wie Blöcke betroffen sind, so dass zwischen den Blöcken im Puffer und den Wörtern in der Assoziativspeicheranordnung ein 1:1-Verhältnis besteht. Im Gegensatz zum Stapelspeicher, wo Adressen verschoben werden, werden bei diesem Schema den feststehenden Adressen verschiedene Benutzungswerte zugeordnet.
    Ein Nachteil des Meade-Verfahrens liegt darin, dass durch die kontinuierliche Erhöhung der Benutzungswerte bald die Kapazität eines Zählers überschritten wird. Zu diesem Zeitpunkt wird der Zähler zurückgestellt oder läuft nach Null über, und dann wird die LRU-Regel nicht mehr richtig implementiert, da die relativen Benutzungswerte danach falsch sind. Es müssen alle Benutzungswerte zurückgestellt werden, und die LRU-Information für den Puffer geht verloren. Es muss dann zunächst eine andere Regel als die LRU-Regel benutzt werden, bis wieder genügend neue Benutzungswerte vorhanden sind, so dass die LRU-Regel wieder sinnvoll benutzt werden kann.
    Ein weiteres Problem bei dem Meade-Verfahren liegt darin, dass es eine beträchtliche Verarbeitungszeit braucht (gleich der Zeit zum bitweisen Verschieben eines Wortes) jedes Mal, wenn ein Block (eine Seite) im Puffer ersetzt werden muss. Die Austauschzeit für einen Block (eine Seite) wird durch das LRU-Verfahren erhöht, wodurch die Systemleistung heruntergeht.
    Ein weiteres Problem liegt beim Meade-Verfahren darin, dass ein Speicher für die Benutzungswerte, in dem die Wörter bitweise (und rezirkulierend) verschoben werden können, keine Standardbaueinheit ist und die Austauscheinrichtung somit kostspielig macht und die Benutzung integrierter Speicherchips mit hoher Packungsdichte anschliesst.
CH1573476A 1975-12-24 1976-12-14 Austauschanordnung zur bereitstellung von austauschadressen fuer den betrieb eines pufferspeichers in einer speicherhierarchie. CH627580A5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/644,006 US4008460A (en) 1975-12-24 1975-12-24 Circuit for implementing a modified LRU replacement algorithm for a cache

Publications (1)

Publication Number Publication Date
CH627580A5 true CH627580A5 (de) 1982-01-15

Family

ID=24583058

Family Applications (1)

Application Number Title Priority Date Filing Date
CH1573476A CH627580A5 (de) 1975-12-24 1976-12-14 Austauschanordnung zur bereitstellung von austauschadressen fuer den betrieb eines pufferspeichers in einer speicherhierarchie.

Country Status (10)

Country Link
US (1) US4008460A (de)
JP (1) JPS5280748A (de)
AU (1) AU504154B2 (de)
CA (1) CA1059643A (de)
CH (1) CH627580A5 (de)
DE (1) DE2656546C2 (de)
ES (1) ES454537A1 (de)
FR (1) FR2336769A1 (de)
GB (1) GB1512596A (de)
IT (1) IT1074077B (de)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1504112A (en) * 1976-03-17 1978-03-15 Ibm Interactive enquiry systems
US4095283A (en) * 1976-07-02 1978-06-13 International Business Machines Corporation First in-first out memory array containing special bits for replacement addressing
US4229789A (en) * 1977-12-22 1980-10-21 Ncr Corporation System for transferring data between high speed and low speed memories
EP0019358B1 (de) * 1979-05-09 1984-07-11 International Computers Limited Hierarchisches Datenspeichersystem
US4310902A (en) * 1979-05-09 1982-01-12 International Computers Limited Information storage arrangements
JPS55157181A (en) * 1979-05-25 1980-12-06 Nec Corp Buffer memory control system
US4322795A (en) * 1980-01-24 1982-03-30 Honeywell Information Systems Inc. Cache memory utilizing selective clearing and least recently used updating
US4394732A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem trickle
US4510582A (en) * 1981-06-01 1985-04-09 International Business Machines Corp. Binary number substitution mechanism
US4531199A (en) * 1981-06-01 1985-07-23 International Business Machines Corporation Binary number substitution mechanism in a control store element
US4458310A (en) * 1981-10-02 1984-07-03 At&T Bell Laboratories Cache memory using a lowest priority replacement circuit
US5270922A (en) * 1984-06-29 1993-12-14 Merrill Lynch & Company, Inc. System for distributing, processing and displaying financial information
EP0195371A3 (de) * 1985-03-14 1988-07-20 Tokyo Electric Co., Ltd. Verkaufspunktsystem
EP0452990A3 (en) * 1985-05-29 1992-04-15 Kabushiki Kaisha Toshiba Cache system adopting an lru system
JPS6356731A (ja) * 1986-08-27 1988-03-11 Mitsubishi Electric Corp デ−タ処理装置
US5218685A (en) * 1987-01-02 1993-06-08 General Electric Company System for write once read many optical storage devices to appear rewritable
US5140690A (en) * 1988-06-14 1992-08-18 Mitsubishi Denki Kabushiki Kaisha Least-recently-used circuit
US5159677A (en) * 1988-11-21 1992-10-27 International Business Machines Corp. Method and system for storing data in and retrieving data from a non-main storage virtual data space
US5224217A (en) * 1988-12-30 1993-06-29 Saied Zangenehpour Computer system which uses a least-recently-used algorithm for manipulating data tags when performing cache replacement
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
FR2645986B1 (fr) * 1989-04-13 1994-06-17 Bull Sa Procede pour accelerer les acces memoire d'un systeme informatique et systeme pour la mise en oeuvre du procede
US5125085A (en) * 1989-09-01 1992-06-23 Bull Hn Information Systems Inc. Least recently used replacement level generating apparatus and method
US5109496A (en) * 1989-09-27 1992-04-28 International Business Machines Corporation Most recently used address translation system with least recently used (LRU) replacement
US5150472A (en) * 1989-10-20 1992-09-22 International Business Machines Corp. Cache management method and apparatus for shared, sequentially-accessed, data
US5359557A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Dual-port array with storage redundancy having a cross-write operation
US5539893A (en) * 1993-11-16 1996-07-23 Unisys Corporation Multi-level memory and methods for allocating data most likely to be used to the fastest memory level
US5606688A (en) * 1994-08-31 1997-02-25 International Business Machines Corporation Method and apparatus for dynamic cache memory allocation via single-reference residency times
US6170047B1 (en) 1994-11-16 2001-01-02 Interactive Silicon, Inc. System and method for managing system memory and/or non-volatile memory using a memory controller with integrated compression and decompression capabilities
US7190284B1 (en) 1994-11-16 2007-03-13 Dye Thomas A Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent
US6002411A (en) * 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
US5974471A (en) * 1996-07-19 1999-10-26 Advanced Micro Devices, Inc. Computer system having distributed compression and decompression logic for compressed data movement
US6078995A (en) * 1996-12-26 2000-06-20 Micro Magic, Inc. Methods and apparatus for true least recently used (LRU) bit encoding for multi-way associative caches
TW374873B (en) * 1997-06-30 1999-11-21 Hyundai Electronics Ind A high-performance LRU memory capable of supporting multiple ports
US6879266B1 (en) 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
US6321375B1 (en) 1998-05-14 2001-11-20 International Business Machines Corporation Method and apparatus for determining most recently used method
US6141743A (en) * 1998-09-17 2000-10-31 Advanced Micro Devices, Inc. Token-based storage for general purpose processing
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US7538694B2 (en) * 1999-01-29 2009-05-26 Mossman Holdings Llc Network device with improved storage density and access speed using compression techniques
US6819271B2 (en) 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
US6885319B2 (en) * 1999-01-29 2005-04-26 Quickshift, Inc. System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
US6208273B1 (en) 1999-01-29 2001-03-27 Interactive Silicon, Inc. System and method for performing scalable embedded parallel data compression
US6822589B1 (en) 1999-01-29 2004-11-23 Quickshift, Inc. System and method for performing scalable embedded parallel data decompression
US7129860B2 (en) * 1999-01-29 2006-10-31 Quickshift, Inc. System and method for performing scalable embedded parallel data decompression
US6523102B1 (en) 2000-04-14 2003-02-18 Interactive Silicon, Inc. Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules
US6842826B1 (en) 2000-06-07 2005-01-11 International Business Machines Incorporated Method and apparatus for providing efficient management of least recently used (LRU) algorithm insertion points corresponding to defined times-in-cache
FR2846114A1 (fr) * 2002-10-16 2004-04-23 Thomson Licensing Sa Dispositif de memorisation d'une liste d'elements et procede de memorisation d'un element dans un tel dispositif
US7870342B2 (en) * 2003-07-24 2011-01-11 Marvell International Ltd. Line cache controller with lookahead
US7669009B2 (en) * 2004-09-23 2010-02-23 Intel Corporation Method and apparatus for run-ahead victim selection to reduce undesirable replacement behavior in inclusive caches
US20060248277A1 (en) * 2005-04-29 2006-11-02 Anand Pande System, method, and apparatus for least recently used determination for caches
US20140189244A1 (en) * 2013-01-02 2014-07-03 Brian C. Grayson Suppression of redundant cache status updates
US9484954B1 (en) 2015-09-10 2016-11-01 Intel Corporation Methods and apparatus to parallelize data decompression
CN112579482B (zh) * 2020-12-05 2022-10-21 西安翔腾微电子科技有限公司 一种非阻塞Cache替换信息表超前精确更新装置及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB792707A (en) * 1954-10-22 1958-04-02 Nat Res Dev Electronic digital computers
GB979633A (en) * 1960-04-20 1965-01-06 Nat Res Dev Improvements in or relating to electronic digital computing machines
GB1124017A (en) * 1964-12-17 1968-08-14 English Electric Computers Ltd Data storage apparatus
US3466613A (en) * 1967-01-13 1969-09-09 Ibm Instruction buffering system
US3541539A (en) * 1968-11-29 1970-11-17 Us Air Force Integrated fire and overheat detection system for manned flight vehicles
US3541529A (en) * 1969-09-22 1970-11-17 Ibm Replacement system
US3670307A (en) * 1969-12-23 1972-06-13 Ibm Interstorage transfer mechanism
US3699533A (en) * 1970-10-29 1972-10-17 Rca Corp Memory system including buffer memories
US3866183A (en) * 1973-08-31 1975-02-11 Honeywell Inf Systems Communications control apparatus for the use with a cache store
US3889243A (en) * 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
US3840863A (en) * 1973-10-23 1974-10-08 Ibm Dynamic storage hierarchy system

Also Published As

Publication number Publication date
JPS5651430B2 (de) 1981-12-05
DE2656546C2 (de) 1986-01-02
US4008460A (en) 1977-02-15
IT1074077B (it) 1985-04-17
AU2101276A (en) 1978-07-06
FR2336769A1 (fr) 1977-07-22
AU504154B2 (en) 1979-10-04
CA1059643A (en) 1979-07-31
FR2336769B1 (de) 1981-12-11
DE2656546A1 (de) 1977-07-07
ES454537A1 (es) 1977-12-01
JPS5280748A (en) 1977-07-06
GB1512596A (en) 1978-06-01

Similar Documents

Publication Publication Date Title
CH627580A5 (de) Austauschanordnung zur bereitstellung von austauschadressen fuer den betrieb eines pufferspeichers in einer speicherhierarchie.
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2523414C3 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE2131066C3 (de) Anordnung zum Adressieren eines Tabellenspeichers
DE2350225C2 (de)
DE2331589A1 (de) Datenverarbeitungsanordnung
DE1499182C3 (de) Datenspeichersystem
DE2501853A1 (de) Prozessor fuer ein datenverarbeitungssystem
DE3131341A1 (de) &#34;pufferspeicherorganisation&#34;
EP0254247A2 (de) Einrichtung zur Rettung des Rechnerzustandes
DE2154106A1 (de) Arbeitsspeicherwerk
DE1951552B2 (de) Speichereinrichtung mit Sicherung durch Schutzschlüssel
EP0651536A2 (de) Verfahren zur Wiederherstellung einer vorgegebenen Reihenfolge für ATM-Zellen
DE1286789B (de) Einrichtung an einem elektronischen Ziffernrechner zum schnellen Datenaustausch zwischen der Verarbeitungseinheit und dem zentralen Speicher
DE2721599C2 (de) Schaltungsanordnung zur Verhinderung der Ausgabe von Datenworten aus einer EDV-Anlage ohne Sicherheitsverifizierung
DE2221442A1 (de) Assoziativspeicher
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher
DE68928782T2 (de) Datenverwaltungssystem
DE2110458C3 (de) Speicheranordnung in einem datenverarbeitenden System
DE3852204T2 (de) Datenübertragungsvorrichtung und Datenübertragungsverfahren zur Anwendung in einer Datenverarbeitungsanordnung.
DE2519195C2 (de) Assoziativspeicher
DE2750126B2 (de)
DE2853165C2 (de)
EP0013885B1 (de) Verfahren zur Vermeidung von unerwünschten Paritätsfehlersignalen bei der Paritätprüfung eines Registerfeldes und Paritätsprüfeinrichtung zur Durchführung des Verfahrens
EP0036148A1 (de) Hybrid-Assoziativspeicher

Legal Events

Date Code Title Description
PL Patent ceased