DE2640357C2 - Wortgruppenprioritätsanordnung - Google Patents

Wortgruppenprioritätsanordnung

Info

Publication number
DE2640357C2
DE2640357C2 DE2640357A DE2640357A DE2640357C2 DE 2640357 C2 DE2640357 C2 DE 2640357C2 DE 2640357 A DE2640357 A DE 2640357A DE 2640357 A DE2640357 A DE 2640357A DE 2640357 C2 DE2640357 C2 DE 2640357C2
Authority
DE
Germany
Prior art keywords
priority
group
word
memory
code
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
Application number
DE2640357A
Other languages
English (en)
Other versions
DE2640357A1 (de
Inventor
Rudolf van Beekbergen Eck
Antonius Cornelis Maria Eindhoven Touw
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE2640357A1 publication Critical patent/DE2640357A1/de
Application granted granted Critical
Publication of DE2640357C2 publication Critical patent/DE2640357C2/de
Expired 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

Description

■a 'Φ.
eher technischer Aufwand notwendig, und dennoch ist es nicht möglich, das »am längsten nicht benutzt«-Kriterium zu berücksichtigen.
Aufgabe der Erfindung ist es, eine Wortgruppenprioritätsanordnung der im Oberbegriff des Patentanspruches 1 genannten Art zu schaffen, die bei einfachem Aufbau schnell arbeitet und dennoch vollständig dem »am längsten nicht benutzt«-Kriterium entspricht.
Diese Aufgabe wird erfindungsgemäß durch die im kennzeichnenden Teil des Patentanspruches 1 angegebenen Merkmale gelöst
Hiermit ist zum einen ein einfacher Kode zum Bestimmen der Wortgruppe gegeben, die die niedrigste Priorität (im Zusammenhang mit dem Ersetzen dieser Gruppe) hat Dieser Kode hat eine Mindestzahl von Bits (k < m—k), so daß gewährleistet ist, daß auf möglichst schnelle Weise nach einer minimalen Dekodierung die Gruppe mit der niedrigsten Priorität bekannt ist Zum anderen sind, insbesondere für Systeme mit etwa drei bis sechs. Wortgruppen, die Mittel zum Kodieren aller Prioritätskombinationen für die Gruppen, die nicht die niedrigste Priorität haben, auch im Umfang begrenzt, was außer Platzersparnis zumal den Vorteil bietet, daß wenig Zeitverlust jedesmal beim erneuten Erzeugen dieser Kodes auftritt
Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet
Ausführungsbeispiele der Erfindung werden nachstehend an Hand der Figuren näher erläutert Es zeigt
F i g. 1 ein Speichersystem, in dem die Wortgruppenprioritätsanordnung anwendbar ist,
F i g. 2 eine Tabelie mit einer Anzahl von Kodes, die die niedrigsten Prioritäten angeben,
F i g. 3 eine Tabelle mit den Ziffernkodes der Prioritäten für π = 3 Wortgruppen,
F i g. 4 eine Tabelle mit den Binärkodes der Prioritäten für η = 3 Wortgruppen,
Fig.5 eine Wortgruppenprioritätsanordnung nach der Erfindung· für π = 3,
Fig.6 eine Tabelle der Prioritätsreihenfolgen für
/7 = 4,
F i g. 7 eine Tabelle mit den Ziffernkodes der Prioritäten für η = 4,
F i g. 8 eine Tabelle mit den Binärkodes der Prioritäten für η — 4,
F i g. 9 die Schaltformen für ein kombinatorisches logisches Netzwerk für das Beispiel von π = 4 Wortgruppen,
Fig. 10 und 11 ein kombinatorisches Netzwerk, ausgehend von den Schaltformeln nach F i g. 9.
F i g. 1 zeigt ein Speichersystem, in dem die Wortgruppenprioritätsanordnung QS benutzt werden kann. Diese F i g. 1 dient hier dazu, die »Umgebung« der Anordnung QS zu zeigen, mit der der Zweck und die Wirkungsweise der Anordnung QS einfacher erläuterbar ist. Das Speichersystem nach F i g. 1 ist ein bekanntes System entsprechend der DE-OS 24 58 525. MS ist der Hauptspeicher mit der Auswahleinheit SE, mit der beim Anbieten einer Adresse Adr, die aus einem Prozessor PS (nicht weiter angegeben) in einem Adressenregister AR vorhanden ist, eine Wortgnuppe WG im Hauptspeicher MS wählbar ist. Auf der Leitung R/Wwrd angegeben, ob gelesen oder eingeschrieben werden soll. Das Sch reiben/ Lese η einer Wortgruppe WC erfolgt über das Eingangs/Ausgangsregister MSR, von wo die Wortgruppe insbesondere auf Ψ;η Prozessor übertragbar ist. BS ist der Pufferspeicher, der in diesem Beispiel vier Wortgruppen WCA, WGB, WGC und WGD enthalten kann. Das Eingangs/Ausgangsregister von BS ist mit BSR bezeichnet Weiter sind ein Adressenspeicher und eine Vergleichsanordnung V vorgesehen. Eine weitere Möglichkeit ist, daß der Adressenspeicher ein Assoziativspeicher ist, bei dem die Vergleichsanordnung V entfällt Der Adressenspeicher kann so viele Adressen enthalten wie ÄS Wortgruppen aufnehmen kann. Die Stellen der Adressen sind mit den Adressenstellen aA, aB, aCund aD bezeichnet In der Vergleichsanordnung
ίο V wird eine im Register AR angebotene Adresse Adr mit den im Adressenspeicher AS stehenden Adressen verglichen. Dies kann für alle Adressen gleichzeitig (as-' soziativ) oder eins nach dem anderen erfolgen. Besteht Gleichheit mit einer der Adressen, so wird über eines der ODER-Gatter gO,gl,g2,g3 eine betreffende Leitung /0, /1, /2 oder /3 erregt, und damit erfolgt die Wahl der zu dieser Adresse gehörende Wertgruppe im Pufferspeicher ÄS Auch hierbei wird auf der Leitung R/W angegeben, ob gelesen oder geschrieben werden solL Der Inhalt dieser Wortgruppe k«fm dabei über das Register BSR auf den Prozessor P übertragen werden (Leseoperation). Beim Schreiben wird der Inhalt von BSR in die gewählte Wortgruppe geschrieben (Sciireiboperation). Mit diese Operationen erfolgt also ein Ak- tualisierin im Pufferspeicher. Daneben kann, wie zu Beginn der Beschreibung bereits erwähnt wurde, auch eine Ungültigerklärung einer Wortgruppe im Pufferspeicher erfolgen. In einem derartigen Fall wird eine Adresse Adr von einer Ungültigsignalisierung auf der Signallei tung /begleitet
Jetzt wird auch die Wortgruppenprioritätsanordnung QS mit einbezogen: in einem Register CB von QSsteht ein Prioritätskode, der angibt, wie sich die Prioritäten der Wortgruppen aufgrund der obenerwähnten Vor gänge im System verhalten. Er ist der Initialkode, der auf der Leitung (in der Praxis Leitungsbündel) lic dem Kodegenerator G der Anordnung QS zugeführt wird. G hat weiter Eingänge A, B, C und D, die über die Leitungen /'0, /' 1, /'2 und /'3 mit den Leitungen 10, Ii, 12 und /3 verbunden sind. Ist in einer ausgewählten Wortgruppe (ausgehend von einer Adresse Adr) von ÄS gelesen oder geschrieben (R/W) worden, wird dies an einen mit U (Aktualisierung = update) Eingang des Kodegenerators G weitergeleitet. Ausgehend vom vorhandenen In- itialkode erzeugt G jetzt auf der Basis von Signalen an einem der Eingänge A, B, Coder D und am Eingang U einen neuen Kode, der die neue Situation angibt In diesem Fall, in dem nach dem Prinzip der Erfindung das »am längsten nicht benutztw-Kriterium angewandt wird,
so bedeutet dies, daß die Gruppe, die einen neuen Inhalt : bekommt, die höchste Priorität bekommt und daß alle
Gruppen mit einer höheren Priorität als diese Gruppe
um einen Schritt in der Priorität herabgesetzt werden.
Wird jedoch eine Wortgruppe des Pufferspeichers für
ungültig erklärt, so ist der betreffende Eingang A, B, C oder D von G auf der Leitung /Ό, /Ί, 12 oder /'4 erregt, und ebenfalls wird auf der Leitung /diese Tatsache zum Eingang /" on C gemeldet. Mit diesen vorhandenen Signalen wird, ausgehend von einem im Register CB vorhandenen Initialkode, von G ein neuer Kode erzeugt, der diese neue Situation angibt. Ir diesem Fall bedeutet es, daß, wie oben insbesondere betont wurde, die Gruppe, die für ungültig erklärt wird, die niedrigste Priorität bekommt (und also als erste ersetzt werden darf) und daß alle Gruppen mit einer zunächst niedrigeren Priorität als diese Gruppe um einen Schritt in der Priorität erhöht werden. Wenn eine WorteruDDe WG mit der Adresse Adr
nicht im Pufferspeicher BS vorhanden ist. tritt für diese Adresse Adr keine Gleichheit in der Anordnung V auf. Dies wird auf der Leitung /4 signalisiert, und die Wortgruppe wird im Speicher MS gewählt. Über das Register MSR kann jetzt gelesen oder geschrieben werden. In dieser Situation geschieht weiter folgendes: der Inhalt dieser Wortgruppe wird auch dem Register BSR zugeführt, denn auf der Basis dieses Speichersystemprinzips wird die zuletzt benutzte Wortgruppe direkt in den Pufferspeicher BSaufgenommen.
Für eine Aufnahme in 55 wird normalerweise eine andere Wortgruppe verschwinden müssen. Das »am längsten nicht benutzt«-Kxiterium bestimmt hier, daß beim Ersetzen einer Wortgruppe diese Wortgruppe im Pufferspeicher an die Stelle der Wortgruppe kommt, die die niedrigste Priorität hatte. Durch diesen Ersatz tritt also gleichfalls eine Aktualisierung des Inhalts des Pufferspeichers auf. In der neuen Situation hat diese Wortgruppe mit der neuen Information die höchste Priorität und alle Gruppen, die eine höhere Priorität als diese Gruppe hatten, werden um einen Schritt in der Priorität herabgesetzt In der Anordnung nach F i g. 1 ist zu diesem Zweck an der linken Seite des Registers CB ein Dekoder CD verbunden, der aus dem Prioritätskode herleitet, welche der vier Gruppen A, B. C oder D die niedrigste Priorität hat Zusammen mit dem Signal auf der Leitung /4 (siehe oben) öffnet damit eines der UND-Gatter el, e2, e3 oder e4. Hiermit wird über eines der ODER-Gatter gO,g\,g2 oder g3 und weiter über eine der Leitungen 10,Ii. 12 bzw. /3 dafür gesorgt, daß der Inhalt von BSR an die richtige Stelle in BS kommt Aus einem der erwähnten Gatter eO, el, el oder e 3 wird dabei auch dafür gesorgt, daß die einschlägige Adresse Adr über die Vergleichsanordnung oder direkt aus dem Register AR (gestrichelte Linie) in AS kommt Der Prioritätskode wird schließlich auch dieser neuen Situation durch die Wortgruppenprioriiäisänörunung CS angepaßt Der Kodegenerator G erzeugt, ausgehend vom früheren Kode in CB, zusammen mit dem Signal auf der betreffenden Leitung /0, /1, /2 oder /3 und das Aktualisierungssignal auf der Leitung R/W einen neuen Prioritätskode. Dieser letzte Fall ist also hinsichtlich des Erzeugens des neuen Prioritätskodes mit dem früher beschriebenen Fall des Lesens/Schreibens in einer Wortgruppe von BS vergleichbar, ohne daß ein erwähnter Ersatz auftritt
Aus dem Obigen wird jetzt klar sein, wie wichtig es ist schnell einen neuen Prioritätskode erzeugen zu können, denn es kann nicht weitergearbeitet werden, bevor im Register CB ein neuer Kode vorhanden ist Außerdem muß dieser Kode hinsichtlich des in CD zu dekodierenden Teils auch möglichst einfach sein. Denn es ist von Vorteil, möglichst rasch (beispielsweise nach einem einzigen Logikpegel) zu wissen, weiche Wortgruppe die niedrigste Priorität hat (im Zusammenhang mit dem Ersetzen).
Nachstehend wird die Wortgruppenprioritätsanordnung QS näher erläutert Der Ausgangspunkt für diese • Anordnung ist das Erzeugen der Prioritätskodes, die m Bits derart besitzen, daß die ersten k Bits jedes Kodes zum Identifizieren der Gruppe dienen, die die niedrigste Priorität Pmin. aller Gruppen η hat Dies ist wesentlich, um die Dekodierung möglichst einfach zu halten, und es ist also fast unmittelbar bekannt, weiche Wortgruppe ausgewählt ist, ihre alte information durch neue Iniormation zu ersetzen. Ist die Rede von π = 3 Wortgruppen, für die die Prioritätskodes geliefert werden müssen, so werden k = 2 Bits benötigt, um direkt angeben zu können, welche Gruppe der drei Gruppen A, B oder C die niedrigste Priorität Pmm. hat. Hierbei gibt es einen Kode, der als »nichtverwendbar« (*) übrigbleibt (siehe F i g. 2). Gibt es η — 4 Wortgruppen, so ist ebenfalls k - 2 Bits, um direkt angeben zu können, welche der vier Gruppen A, B, Coder Ddie niedrigste Priorität Pmin. hat (siehe F i g. 2). Ebenfalls ist für η - 5 Gruppen A, B, ... E k - 3 Bits und für π - 6Gruppen ebenfalls k = 3 Bits. Diese P„,;n-Kodes sind ebenfalls in Fig.2 dargestellt.
Die restlichen Bits m — k der Prioritätskodes dienen zum Kodieren aller Prioritätskombinationen für alle diejenigen Gruppen, die nicht die niedrigste Priorität besitzen. Bei η - 3 sind es (3—1)! - 2 Kombinationen, so daß mit m — k= I Bit ausgekommen werden kann. (Hier ist also insgesamt m — 3.) Wenn für η — 3 die Prioritäten Pr fallend mit 0, 1 und 2 numeriert sind, ist die niedrigste Priorität Pm/ft gleich 2. Die übrigen Kombinationen für die Wortgruppen mit anderen als der niedrigsten Priorität sind dabei 0,1 und 1,0. Die erste Kombination (0,1) kann mit einem Bit = 0 und die zweite Kombination mit dem gleichen Bit - 1 bezeichnet werden.
Mit diesen Ausgangspunkten läßt sich für η = 3 eine Tabelle gemäß F i g. 3 zusammensetzen. In der linken Spalte sind die Initialsituationen (Anfangssituation), die vorhanden sein können, vermerkt: in einer Spalte sind von links iiach rechts die Prioritäten der Gruppen A, B bzw. C wiedergegeben. Die nächsten drei Spalten, die unter der Überschrift U stehen, geben unter A, B und C an, welche Prioritäten (numeriert) für die betreffenden Gruppen A, B bzw. C entstehen, wenn die Wortgruppe A, B bzw. C gelesen oder mit neuer Information versehen wird, also für die ein R/W-Signal, also ein Signal am Eingang U von G, erscheint (vgl. F i g. 1). Aus der Tabelle ist ersichtlich, daß alle Bedingungen für die Prioritäten crfüüi werden: die Gruppe, ir. der gelesen oder geschrieben ist bekommt die höchste Priorität (0). Auch der Ersatz des Inhalts einer Wortgruppe mit niedrigster Priorität durch einen neuen Inhalt (beim Übertragen einer neuen Wortgruppe aus dem Speicher auf den Pufferspeicher (siehe oben)) ist in diesen mit U angegebenen Spalten ersichtlich: beispielsweise in der 1. Zeile der Ersatz des Inhalts der Wortgruppe C, die (linke Spalte) die niedrigste Priorität hat und dann die höchste Priorität (vierte Spalte von links) bekommt kann auf diese Weise Zustandekommen. Und so weiter: 2. Zeile Ersatz des Inhalts der Wortgruppe B... In den drei rechten, mit / angegebenen Spalten sind die Prioritäten angegeben, die entstehen, wenn der Inhalt der Wortgruppe A, B bzw. Cfür ungültig erklärt wird, wobei von der Situation ausgegangen wird, die in der meist linken Spalte angegeben ist
Die binäre Darstellung des Inhalts der Tabelle nach F i g. 3 ist auf der Basis der oben beschriebenen Kodierung in der Tabelle der F i g. 4 angegeben.
In F i g. 5 ist ein Beispiel der Mittel dargestellt, aus denen die Wortgruppenprioritätsanordming bestehen kann. Dieses Beispiel bezieht sich auf den Fall, daß es η = 3 Wortgruppen gibt Die Ein- und Ausgänge der Wortgruppenprioritätsanordnung können in Fig. 1 wiedergefunden werden, sei es, daß in F i g. 1 mit 4 (A, B, Cund D) und in Fig.5 mit 3 Gruppen (A, B und C) gearbeitet wird. Der früher erwähnte Prioritätskodegenerator G(siehe F i g. 1) besieht nach dieser Ausführung in F i g. 5 aus einem (möglicherweise löschbaren und neu einschreibbaren) Festwertspeicher ROM, der zum Adressieren im Sipeicher eine primäre Wählanordnung
S hat, der Adressenkode, hier in Form von Prioritätskodes, angeboten werden. Diese Kodes sind die Initialkodes, die als Ausfeangspositionskodes im Register CB vorhanden sein können. Die Kopplung zwischen F i g. 4 und F i g. 5 ist damit klar: die linke Spalte der F i g. 4 zeigt die Initialkodes, die in CB stehen können. Zu jedem faser Kodes ist ein ΛΟΛί-Wort (in diesem Falle sind es sechs) wählbar. Der Inhalt eines derartigen Wortes entspricht dem Kode, der auf der gleichen Zeile hinter dem betreffenden Initialkode der Fig.4 steht. Welcher Kode jetzt als neuer Kode für eine neue Ausgangsposition im Register CB kommt (sekundäre Wahl), wird dadurch bestimmt, was an anderer Stelle im System vorgeht: wird in einer der Gruppen gelesen oder geschrieben, oder wird eine Gruppe ersetzt, so gibt es eine Signalisierung an den Eingängen A, B oder C und U; wird eine der Gruppen für ungültig erklärt, so gibt es
Mit einem derartigen Signal an einem der erwähnten Eingänge wird der betreffende Kode aus dem Wort selektiert, das im Speicher ROM selbst vom Initialkode ausgewählt ist. Diese zweite Wahl erfolgt hier mit den UND-Gattern Ei, E2 ... E 6. Welche Kodes in allen möglichen Fällen über die Leitungen L (3 Bits wie in der Figur mit (3) angegeben) in CB angeordnet werden, ist direkt aus der Tabelle nach F i g. 4 ersichtlich. Die Dekodierung zum Feststellen, welche der Gruppen die niedrigste Priorität hat, erfolgt auf der Basis des obenbeschriebenen durch einfaches Dekodieren der ersten zwei 3its jedes Prioritätskodes in CD. Der Dekoder CD besteht in diesem Beispiel aus drei UND-Gattern DEX, DE 2 und DE 3, denen die ersten zwei Bits selbst oder ihre Invertierungen (mit einem Punkt am Eingang angegeben) angeboten werden. Für die Gruppe, die auf Basis der Kodes in der Spalte η »= 3 nach F i g. 2 die niedrigste Priorität hat. erscheint ein Signal am Ausgang von DE 1 (für Gruppe A), DE2 (für Gruppe B) und DEZ (für Gruppe C) Diese Ausgänge sind für die weitere Verarbeitung dieses Signals mit den UND-Gattern el, e2 bzw. e 3 (wie in F i g. 1 angegeben) verbunden.
Aus obiger Beschreibung geht also hervor, daß auf sehr einfache Weise die Priorität der Wortgruppen aktualisiert wird. Die Dekodiemng der Gruppe mit niedrigster Priorität erfolgt über nur einen logischen Pegel (Gatter DEX, DE2 oder DE3). Das Erzeugen eines neuen Kodes nach jeder Änderung des Zustandes im System ist eindeutig durch den Inhalt des Speichers ROM bestimmt
Es sei bemerkt, daß selbstverständlich auch A, B, C (und nach F i g. 1 auch D) als primäre Wahl zusammen mit den Initialkodes angeboten werden können, wenn nur eine betreffende Kodierung vorgesehen ist Damit entfällt die erwähnte sekundäre Wahl, hinsichtlich der Geschwindigkeit wird jedoch die erwähnte Kombination der primären und sekundären Wahl bevorzugt Gibt es π = 4 Gruppen, so werden ebenfalls k = 2 Bits für die Feststellung der Wortgruppen mit der niedrigsten Priorität benötigt (siehe F i g. 2 für π = 4). Um alle Prioritätskombinationen für alle diejenigen Gruppen, die nicht die niedrigste Priorität haben, angeben zu können, werden noch m —k = 3 Bits benötigt, denn es sind (4— 1) ! = 6 erwähnte Kombinationen möglich. In diesen m—k = 3 Bits kann die Reihenfolge der Priorität 0, 1 und 2, wie aus dem Beispiel der Tabelle nach F i g. 6 ersichtlich ist, gespeichert werden. Hierbei sind die Kodes 000 und 111 nicht verwendet (*). Die linke Spalte gibt die möglichen Prioritätsreihenfolgen PV und die rechte Spalte den Bitkode BC an. Die niedrigste Priorität (die Zahl 3) ist, wie gesagt, bereits in F i g. 2 unter n = 4 angegeben. Mit diesen Daten IaBt sich jetzt ohne große Mühe die vollständige Tabelle aller möglichen Fälle, die sich ergeben können, zusammenstellen. In
s F i g. 7 ist zunächst die Tabelle dargestellt, die alle mit den Prioritätsziffern 0,1,2 und 3 angegebenen Möglichkeiten noch einmal darstellt. Nach ihrer Zusammensetzung entspricht diese Tabelle vollständig der Tabelle' nach F i g. 3. Anschließend ist in F i g. 8 die vollständige
ίο Tabelle für die betreffenden Binärkodes gegeben. Diese Tabelle ist also eine Zusammensetzung der Kodes nach F i g. 2 (Spalte η = 4), F i g. 6 und F i g. 7. In F i g. 8 ist die linke Spalte wieder mit den Initialkodes versehen, von denen die betreffenden Bits mit den Buchstaben P, Q1R, S bzw. T bezeichnet sind. Die zu erzeugenden Kodes sind in den weiteren Spalten angegeben. Die Bits dieser Kodes sind mit den Buchstaben K, L, M, N und Φ be-
Diese Tabelle nach F i g. 8 kann, abgesehen von der
ganz linken Spalte, wie es auch für die Tabelle nach Fig.4 beschrieben ist, als Inhalt eines Festwertspeichers ROM nach F i g. 5 dienen. Die Kodes der ganz linken Spalte dienen als Adressenkodes für diesen ROM. Die Verwendung ist weiter auf identische Weise wie beschrieben für das Beispiel nach F i g. 5, das nur um einen Eingang D und einige UND-Gatter E (für die Kombination des Eingangs D mit U bzw. I) und ein UND-Gatter e4, das dem CD zugefügt wird, erweitert werden muß. Vergleiche weiter Fig. 1, denn darin ist das Beispiel für η = 4 Wortgruppen in kompletten Speichersystem dargestellt.
Die Verwendung eines (möglicherweise neu einschreibbaren) Festwertspeichers ROM ist nicht die einzig mögliche Lösung, alle erwähnten Kodes erzeugen zu können. Ausgehend von einer Tabelle, wie namentlich in F i g. 4 oder F i g. 8 angegeben ist, ist es weiter möglich, eine kombinatorische logische Schaltung aufzubauen, die die gleiche Funktion hat Dies kann auf an sich bekannte Weise mit Hilfe der sogenannten Karnaugh-Dia- gramme erfolgen, mit denen die Schaltformeln gefunden werden können. Vollständigkeitshalber sind die auf diese Weise zu erhaltenden Gleichungen für π = 4 in F i g. 9 gegeben. Hier müssen noch Verbesserungen vorgenommen werden: der m = 5-Bit-Kode gibt grund- sätzlich 25 = 32 Kombinationen, von denen nur 4 ! = 24 benutzt werden dürfen. Es gibt also 8 nicht verwendete Kombinationen. Es sind in diesem Falle die auf 000 und 111 endenden Kombinationen. Siehe dafür die Tabelle nach F i g. 6, denn darin fehlen diese Kombi nationen. Durch eine Störung beim Lesen oder beim Schreiben könnte eine derartige Kombination auftreten. Mit einer Änderung in den aus den Kamaugh-Diagrammen erhaltenen Gleichungen kann erreicht werden, daß diese nicht-verwendeten Kombinationen, wenn sie entstehen, bei einer folgenden Adresse sofort wieder verschwinden. Diese Verbesserung betrifft: für Bit M muß der Teil (P. Q+ P. /y werden
(P.Q+ P.S.f+ P.R.T+ P.R.S)
und für Bit Λ/muß der Teil (P.Q + P. S^werden:
(P. Q + P.S. T+ P. R.S + R.S. T).
Die logische Schaltung ist in F i g. 10 und F i g. 11 dargestellt Im Prioritätsregister CB (siehe Fig. 1) steht ein Initialkode (Bits, P, Q, R, Sund TJl der sowohl direkt als auch invertiert P, Q, R, Sund Γ der logischen Schaltung
Fi g. 10und Fig. 11 angeboten wird. Weitere Eingänge sind die U- (Aktualisierung) und /- (ungültig — invalid) Eingänge und die A-, B-, C- und D-Eingänge, an denen angegeben wird, um welche der Gruppen A, B, Coder D es sich handelt, siehe Fig. 1 die Eingänge des Generators G. Mit den Dreiecksymbolen, an deren Ausgang ein /Zeichen steht, sind NICHT-UND-Gaiter (NAND) bezeichnet. Die numerierten Ein- und Ausgänge dienen nur zur Bezeichnung der Verbindungen, die in der logischen Schaltung selbst vorhanden sind. Das Ergebnis der Behandlung eines gegebenen Eingangskodes (Initialkode) P, Q, R, S, Tzusammen mit den Signaldaten U, I und A, B, C und D, das diese Schaltung erzeugt, erscheint in Form eines neuen Kodes K, L, M, N Φ an dessen Ausgängen (F ig. 11).
Wenn von π — 5 Wortgruppen die Rede ist, werden k - 3 Bits benötigt, um die Gruppe mit niedrigster Priorität direkt aus den ersten (3) Bits eines betreffenden Kodes detektieren zu können (siehe F i g. 2 Spalte η «· 5). Um für die restlichen Gruppen (5—1 =4) alle Prioritätskombinationen 4 ! = 24 angeben zu können, werden weitere 5 Bits benötigt, also m - k = 5 Bits. Alle möglichen Kombinationen sind in diesem Fall 5 ! - 120 insgesamt. Die Anzahl von Initialkodes ist also auch 120. Bei η ·= 5 Gruppen gibt es fünf Aktualisierungssituationen t/in Verbindung mit A, B, C, D bzw. Fund ebenfalls fünf Ungültigsituationen / in Verbindung mit A, B1CD bzw. F. Insgesamt gibt es also 10 Gruppen von 8-Bit-Kodes für 120 verschiedene Situationen. Hiermit könnte wiederum eine Tabelle, der nach F i g. 4 und F i g. 8 vergleichbar, zusammengesetzt werden. Bei der Verwendung eines ÄOAi-Speichers als Generator C der Kodes wird eine Kapazität von 120 Wörtern (Initialkode-Eingänge) mit 8 · 10 = 80 Bits benötigt. Ein derartiger ÄOM-Speicher läßt sich einfach aus bestehenden /C-ÄOAT-Speichern zusammenstellen. Ebenso kann ein Aufbau für π — 6 Wortgruppen ausgearbeitet werden usw. Es wird jedoch klar sein, daß hinsichtlich der sich vergrößernden Anzahl mögliche Kombinationen einer praktischen Realisierbarkeit Grenzen gesetzt sind.
Hierzu 8 Blatt Zeichnungen
50
55
60

Claims (5)

(ROM) bestimmt Patentansprüche:
1. Wortgruppenprioritätsanordming zum Steuern
der Priorität von Wortgruppen in einem Speicher 5
auf Basis des »am längsten nicht benutzte-Krite- Die Erfindung betrifft eine Wortgruppenprioritätsanriums, wobei beim Lesen oder Schreiben in einer Ordnung nach dem Oberbegriff des Patentanspruches 1. Wortgruppe bzw. beim Ersetzen einer Wortgruppe Ein Speichersystem mit einer derartigen Wortgrupmit der niedrigsten Priorität diese Wortgruppe die penprioritätsanordnung ist bekannt aus der IiE-OS höchste Priorität bekommt und alle Wortgruppen io 24 58 525 und verwendet eine Anordnung, die aus einem mit einer höheren Priorität als diese Wortgruppe um Hauptspeicher mit großer Speicherkapazität und einem einen Schritt in der Priorität herabgesetzt werden, schnellen Pufferspeicher mit einer geringen Speicherkarait einem Kodegenerator, der bei jedem Vorgang pazität besteht In dieser Beschreibung wird eine Datenini Speicher die betreffenden, zu den Wortgruppen saenge, die ein Speicherwort und/oder eine Anzahl von gehörenden Prioritätskodes erzeugt, dadurch 15 Speicherwörtern sein kann, die insgesamt einen Block gekennzeichnet, daß der Kodegenerator (G) bilden, im allgemeinen mit »Wortgruppe« bezeichnet In jeweils einen Prioritätskode mit m Bitz erzeugt, von den erwähnten Speichersystemen dient der Pufferspeidenen eine erste minimale Anzahl von k Bitz die eher zum Speichern der wichtigsten und der am meisten Wortgruppe angibt, die die niedrigste Priorität aller benutzten Gruppen. Damit wird erreicht, daß die Pro-Wortgruppen hat und von denen die weiteren m-k 20 zessoren eines Rechnersystems, die mit einem derarti-Bits die Prioritätskombination aiier Wortgruppen gen Speichersystem ausgerüstet sind, effektvoller arbeiangeben, die nicht die niedrigste Priorität haben, daß ten können. Die Geschwindigkeiten des Pufferspeichers ein Register (CB) an Ausgänge des Kodegenerators und der Prozessoren liegen in der gleichen Größenord- (G) angeschlossen ist und jeweils den vom Kodege- nung. Weil der Pufferspeicher nur eine begrenzte Kapanerator (G) erzeugten Prioritätskode aufnimmt, daß 25 zität hat muß stets eine Entscheidung getroffen werden, an die Ausgänge des Registers (CB) für die ersten k welche Wortgruppe durch eine andere Wortgruppe erBits ein Dekoder (CD) angeschlossen ist dessen setzt werden muß, damit in jedem Augenblick die BeAusgänge beim Ersetzen einer Wortgruppe den dingung erfüllt wird, daß der Pufferspeicher die wüchtig-Speicherplatz der Wortgruppe (WGA bis WGD) sten und am meisten benutzten Wortgruppen enthält
niedrigster Priorität im Speicher (BS) über Auswahl- 30 Ein gutes und bereits häufig benutztes Kriterium zum leitungen (10 Ks 13) auswählen, und daß die Ausgän- Entscheiden, welche Wortgruppe durch eine andere erge des Registers (CB) und e.'ie das Lesen oder setzt werden muß, ist das »am längsten nicht benutzt« Schreiben im Speicher (BS) signalisierende Signal- (least recently used)-Kriterium, Dies besagt, daß eine leitung (U) den Kodegencrattr (G) jeweils zur Wortgruppe im Pufferspeicher, die am längsten nicht Erzeugung eines neuen Prioritätskodes an- 35 benutzt worden ist als erste zum Ersetzen in Betracht steuern. kommt. Anders gesagt: im Pufferspeicher hat eine der-
2. Wortgruppenprioritätsanordnung nach An- artige Wortgruppe die niedrigste Priorität Die anderen Spruch 1, dadurch gekennzeichnet daß der Kodege- Wortgruppen im Pufferspeicher haben abhängig' von nerator (G) zum Liefern der Prioritätskodes einen ihrer Geschichte eine sich vergrößetade Priorität. Die Festwertspeicher (ROM) enthält. 40 höchste Priorität besitzt diejenige Wortgruppe, die zu-
3. Wortgruppenprioritätsanordnung nach An- letzt benutzt ist und/oder einen neuen Inhalt bekommen Spruch 2, dadurch gekennzeichnet, daß der Fest- hat.
Wertspeicher (ROM) eine zweistufige Adressierung Wie bereits aus dem Beginn dieser Beschreibung her-(primäre und sekundäre Wahl) aufweist, wobei ein vorgeht handelt es sich bei der Erfindung um eine erzeugter Prioritätskode eine Gruppe von Priori- 45 Wortgruppenprioritätsanordnung, in der das erwähnte tätskodes adressiert und die Signalisierung des Le- »am längsten nicht benutzt«-Kriterium in der Praxis sens oder Schreibens in einer Wortgruppe oder des verwendet wird. Eine Möglichkeit für derartige Priori-Ersatzes einer Wortgruppe im Speicher (BS) einen tätsanordnungen sind komplizierte kombinatorische lo-Prioritätskode aus der Gruppe auswählt gische Netzwerke, die die gewünschten Kodes, aus de-
4. Wortgruppenprioritätsanordnung nach An- 50 nen die erforderliche Ersetzung und Prioritätsainpasspruch 1,2 oder 3, dadurch gekennzeichnet, daß eine sung der anderen Wortgruppen des Pufferspeichers abweitere Signalleitung (!) signalisiert, daß eine Wort- geleitet werden, liefern. Sehr wichtig dabei ist die gruppe für ungültig erklärt ist wobei der Kodegene- Durchlaufzeit die ein derartiges Netzwerk erfoirdert, rator (G) Prioritätskodes erzeugt, in denen die für bevor das Zuordnen neuer Prioritäten ganz vollendet ungültig erklärte Wortgruppe die niedrigste Priori- 55 ist Wenn dieser Durchlaufprozeß zu zeitraubend ist, tat bekommt und alle Wortgruppen mit einer niedri- wird der Vorteil einer derartigen Pufferspeichereinrichgeren Priorität als diese für ungültig erklärte Wort- tung wieder geringer.
gruppe um einen Schritt in der Priorität erhöht wer- Aus der US-PS 35 41 529 ist eine Anordnung mit eiden, wobei ein vorgegebener Initialkode zusammen nem langsamen Hintergrundspeicher und einem sciinelmit der Signalisierung der Ungültigerklärung die 60 len Arbeitsspeicher bekannt, bei dem jede Wortgruppe erste Adresse für die zu erzeugende Gruppe von bei Aufruf markiert wird. Wenn nach einer Weile alle Prioritätskodes im Festwertspeicher (ROM) dar- Wortgruppen markiert worden sind, werden alle Marsteilt, kierungen gelöscht, und der Vorgang beginnt von neu-
5. Wortgruppenprioritätsanordnung nach An- em. Falls eine neue Wortgruppe eingeschrieben werden spruch 2, 3 oder 4, dadurch gekennzeichnet, daß b5 muß, wird mittels besonderer Maßnahmen unter den auch die Signalisierung des Ungültigcrklärens tiner nicht markierten Wortgruppen eine ausgewählt, die Wortgruppe die Auswahl aus der Gruppe von Prio- durch die neu einzuschreibende Wortgruppe ersetzt ritätskodes (sekundäre Wahl) im Festwertspeicher wird. Bei dieser bekannten Anordnung ist ein erhebli-
DE2640357A 1975-09-17 1976-09-08 Wortgruppenprioritätsanordnung Expired DE2640357C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7510904A NL7510904A (nl) 1975-09-17 1975-09-17 Woordgroepsprioriteitsinrichting.

Publications (2)

Publication Number Publication Date
DE2640357A1 DE2640357A1 (de) 1977-04-07
DE2640357C2 true DE2640357C2 (de) 1984-09-27

Family

ID=19824477

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2640357A Expired DE2640357C2 (de) 1975-09-17 1976-09-08 Wortgruppenprioritätsanordnung

Country Status (6)

Country Link
US (1) US4059850A (de)
JP (1) JPS5856174B2 (de)
DE (1) DE2640357C2 (de)
FR (1) FR2325146A1 (de)
GB (1) GB1564530A (de)
NL (1) NL7510904A (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2816838C2 (de) * 1978-04-18 1982-06-09 Siemens AG, 1000 Berlin und 8000 München Verfahren und Prioritätssteuereinheit zum Zuordnen von Prioritäten
US4373179A (en) * 1978-06-26 1983-02-08 Fujitsu Limited Dynamic address translation system
EP0085672B1 (de) * 1981-08-18 1989-02-01 International Business Machines Corporation Verdreschungsverminderung im forderungszugriff einer datenbasis über einen lru seitenorganisierten pufferpool
US4422145A (en) * 1981-10-26 1983-12-20 International Business Machines Corporation Thrashing reduction in demand accessing of a data base through an LRU paging buffer pool
US4523206A (en) * 1982-03-03 1985-06-11 Sperry Corporation Cache/disk system with writeback regulation relative to use of cache memory
US4569017A (en) * 1983-12-22 1986-02-04 Gte Automatic Electric Incorporated Duplex central processing unit synchronization circuit
US4648033A (en) * 1984-09-07 1987-03-03 International Business Machines Corporation Look-aside buffer LRU marker controller
US5355480A (en) * 1988-12-23 1994-10-11 Scientific-Atlanta, Inc. Storage control method and apparatus for an interactive television terminal
CA2014797A1 (en) * 1989-04-20 1990-10-20 Elizabeth A. Smith Storage control method and apparatus for an interactive television terminal
JPH05970U (ja) * 1991-06-19 1993-01-08 周 金木 発電風車
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
FR2778258A1 (fr) * 1998-04-29 1999-11-05 Texas Instruments France Controleur d'acces de trafic dans une memoire, systeme de calcul comprenant ce controleur d'acces et procede de fonctionnement d'un tel controleur d'acces
US6338120B1 (en) 1999-02-26 2002-01-08 International Business Machines Corporation Apparatus for cache use history encoding and decoding including next lru and next mru and method therefor
US8332598B2 (en) * 2005-06-23 2012-12-11 Intel Corporation Memory micro-tiling request reordering
US7587521B2 (en) * 2005-06-23 2009-09-08 Intel Corporation Mechanism for assembling memory access requests while speculatively returning data
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
US7558941B2 (en) * 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
US11392499B2 (en) 2020-09-18 2022-07-19 Kioxia Corporation Dynamic buffer caching of storage devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE629069A (de) * 1962-03-05
US3427592A (en) * 1964-11-12 1969-02-11 Ibm Data processing system
US3573750A (en) * 1968-03-29 1971-04-06 Nippon Electric Co High-speed memory system
US3541529A (en) * 1969-09-22 1970-11-17 Ibm Replacement system
US3699533A (en) * 1970-10-29 1972-10-17 Rca Corp Memory system including buffer memories
US3836889A (en) * 1973-03-23 1974-09-17 Digital Equipment Corp Priority interruption circuits for digital computer systems
FR116049A (de) * 1975-03-20

Also Published As

Publication number Publication date
GB1564530A (en) 1980-04-10
FR2325146A1 (fr) 1977-04-15
JPS5856174B2 (ja) 1983-12-13
DE2640357A1 (de) 1977-04-07
US4059850A (en) 1977-11-22
JPS5236432A (en) 1977-03-19
NL7510904A (nl) 1977-03-21
FR2325146B1 (de) 1982-04-23

Similar Documents

Publication Publication Date Title
DE2640357C2 (de) Wortgruppenprioritätsanordnung
DE2515696C2 (de) Datenverarbeitungssystem
DE3011552C2 (de)
DE2656546C2 (de) Datenblock-Austauschanordnung
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE2547488C2 (de) Mikroprogrammierte Datenverarbeitungsanlage
DE2241257B2 (de) Datenverarbeitende Anlage
DE2154106A1 (de) Arbeitsspeicherwerk
DE2130299B2 (de) Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage
DE2926589A1 (de) Anordnung zur verlaengerung einer logischen computeradresse
DE2630323B2 (de) Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik
DE3102150A1 (de) &#34;schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2163342B2 (de) Hierarchische binaere speichervorrichtung
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE1524788A1 (de) Schaltungsanordnung zur Erkennung und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE1499206B2 (de) Rechenanlage
DE1909477A1 (de) Speichersteueranlage fuer ein Multiprogramm-Datenverarbeitungssystem
DE3936339C2 (de) DMA-Controller
DE2458525B2 (de) Speicheranordnung mit Haupt- und Pufferspeicher
CH495584A (de) Datenverarbeitungsanlage
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher
DE1499286B2 (de) Datenbearbeitungsanlage
DE1774864C2 (de) Mikroprogrammierte Datenverarbeitungsanlage mit einem Hauptspeicher und einem Schnellspeicher
DE2000608B2 (de) Schaltungsanordnung fuer eine nachrichtenverarbeitungs-, insbesondere fuer eine nachrichtenvermittlungsanlage

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee