DE2637054A1 - Steuervorrichtung fuer einen pufferspeicher - Google Patents
Steuervorrichtung fuer einen pufferspeicherInfo
- Publication number
- DE2637054A1 DE2637054A1 DE19762637054 DE2637054A DE2637054A1 DE 2637054 A1 DE2637054 A1 DE 2637054A1 DE 19762637054 DE19762637054 DE 19762637054 DE 2637054 A DE2637054 A DE 2637054A DE 2637054 A1 DE2637054 A1 DE 2637054A1
- Authority
- DE
- Germany
- Prior art keywords
- block
- unit data
- priority
- blocks
- sentence
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
- G06F12/125—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Transfer Systems (AREA)
Description
PATENTANWÄLTE
DR. CLAUS REINLÄNDER DIPL.-ING. KLAUS BERNHARDT
Orthstraße 12 · D-8000 München 60 · Telefon (089) 832024/5
Telex 5212744 · Telegramme Interpatent
6/278
FUJITSU LIMITED
Wo.1015, Kamikodanaka
Nakahara-ku, Kawasaki
Japan
Steuervorrichtung für einen Pufferspeicher
Priorität: 22. August 1975 Japan 101750/1975
Zum Extrahieren eines Einheitendatenblocks der niedrigsten Priorität aus mehreren Einheitendatenblocken, die in einem
Pufferspeicher mit großer Kapazität gespeichert sind, werden die Einheitendatenblöcke in Satzblöcke geteilt,
von denen jeder eine vorbestimmte Zahl von Einheitendatenblöcken
aufweist, und werden Prioritätspegel der Satzblöcke bestimmt, um einen von diesen zu extrahieren.
Gleichzeitig werden die Prioritätspegel der vorbestimmten Zahl von Einheitendatenblöcken, die jeden Satzblock bilden,
bestimmt, um einen von diesen zu extrahieren. Ein Einheitendatenblock wird durch eine Kombination des extrahierten
Satzblocks mit den Einheitendatenblöcken extrahiert, die von den jeweiligen Satzblöcken extrahiert sind. Auf diese
Weise wird einer von vielen Einheitendatenblöcken unter Verwendung einer sehr kleinen Zahl von Bits extrahiert.
Die Erfindung betrifft ein Steuersystem für einen Pufferspeicher
und insbesondere eine Steuervorrichtung für einen Pufferspeicher, in der bei der Bestimmung der Priorität
der in dem Pufferspeicher eingesetzten Einheitendatenblöcke
709808/0911
Prioritätspegel von Satzblöcken, von denen jeder eine vorbestimmte
Zahl von Einheitendatenblocken enthält, bestimmt
werden und gleichzeitig Prioritätspegel der Einheitendatenblöcke, die jeden Satzblock bilden, bestimmt werden,
wodurch die Zahl der für die Prioritätsverarbeitung notwendigen Bits verringert wird.
Im allgemeinen ist ein Datenprozessor mit einem Pufferspeicher so ausgebildet, daß ein Zugriff zu einem Markenteil
des Pufferspeichers erfolgt, um festzustellen, ob die
gewünschte Information in einen Datenteil des Pufferspeichers eingesetzt worden ist oder nicht. Ein Datenprozessor
mit einem Hauptspeicher und einem Pufferspeicher ist beispielsweise in der TJS-Patentschrift 3*588,829 beschrieben.
Da nur eine beschränkte Zahl von Einheitendatenblöcken in den Datenteil des Pufferspeichers eingesetzt ist, ist
eine Prioritätsschaltung vorgesehen und werden beispielsweise im Falle des Satz-Assoziativsystems Prioritätspegel
der Einheitendatenblöcke einer vorbestimmten Zahl von für jede Spalte eingesetzten Sätzen bestimmt, wodurch die Einheitendatenblöcke
wirksam in den Datenteil eingesetzt werden. Es wird angenommen, daß beispielsweise die höchste
Priorität dem letzten Einheitendatenblock, zu dem der Zugriff
erfolgt, der vorbestimmten Zahl von Sätzen gegeben wird und daß die niedrigste Priorität dem Einheitendatenblock
gegeben wird, zu dem als erstes der Zugriff erfolgt ist. Dies wird der LRTJ-Algorithmus genannt. In dem Fall, in
dem es notwendig ist, einen neuen Einheitendatenblock zu dem Pufferspeicher von einem anderen Speicher (Hauptspeicher)
zu übertragen, wird der Einheitendatenblock, dem die niedrigste Priorität gegeben ist, als Block zugewiesen, der mit
dem neuen Einheitendatenblock ersetzt werden soll, und aus dem Pufferspeicher verdrängt, und dann wird der neue
Einheitendatenblock zu dem Pufferspeicher übertragen.
Bei einer solchen bekannten Prioritätsverarbeitung ist ein Bit, falls beispielsweise die Satzzahl des Pufferspeichers
709808/0911
2 ist, d.h. die Zahl der Einheitendatenblöcke, die in den
Pufferspeicher eingesetzt werden können, 2 ist, für die Bestimmung von zwei Prioritätsbeziehungen erforderlich.
Das bedeutet, daß einer der beiden Sätze die Priorität gegenüber dem anderen in Abhängigkeit davon hat, ob das
Bit "1" oder "O" ist. In dem lall, in dem die Zahl der in den Pufferspeicher eingesetzten Sätze 4 ist, ist in
gleicher Weise die Zahl der erforderlichen Bits insgesamt 6, die jeweils für die Prioritätsbeziehungen zwischen ersten
und zweiten Sätzen, zwischen ersten und dritten Sätzen, zwischen ersten und vierten Sätzen, zwischen zweiten und
dritten Sätzen, zwischen zweiten und vierten Sätzen und zwischen dritten und vierten Sätzen bezeichnend sind. In den
Fällen, in denen die Zahl der Sätze 8, 16 und 32 ist,
ist die erforderlich Zahl von Bits jeweils 28, 120 und 4-96.
Wenn die Zahl der Sätze mit χ bezeichnet wird, ist mit anderen Worten die erforderliche Zahl der Bits durch
x(x-1)/2 gegeben. Diese Beziehung wird erhalten, da die Zahl der Paare von Sätzen, die aus der Satzzahl χ ausgewählt
werden, x(x-1)/2 ist und da einem der beiden Sätze jedes Paares die Priorität gegenüber dem anderen Satz in Abhängigkeit
davon gegeben wird, ob ein Bit "1" oder 11O" ist.
Es wird jedoch im allgemeinen angenommen, daß die Zahl der Bits, die in der Praxis verwendet wird, höchstens
beträgt, und eine Prioritätsverarbeitung für einen Pufferspeicher
mit relativ großer Kapazität mit mehr als 16 Sätzen erfordert einen sehr großen Umfang von Hardware und wird
auch unter technischen Gesichtspunkten als schwierig angesehen.
Die Aufgabe der Erfindung besteht darin, eine Steuervorrichtung für einen Pufferspeicher zu schaffen, die eine
Prioritätsverarbeitung eines Pufferspeichers durch eine geringe Zahl von Bits ermöglicht, auch wenn der Pufferspeicher
eine große Kapazität aufweist. Dabei soll die Prioritätsverarbeitung des Pufferspeichers ausgeführt werden,
ohne daß die Verarbeitungsgeschwindigkeit verringert wird. 709808/0911
- Jf «· H-
Kurz gesagt wird bei der Prioritätsverarbeitung spielsweise 16 Sätzen, d.h. 16 Einheitendatenblöcken, der
Grundgedanke von Satzblöcken, von denen jeder vier Einheitendatenblöcke enthält, verwirklicht. Die Prioritätspegel von vier Satzblöcken insgesamt werden bestimmt und
gleichzeitig werden die Prioritätspegel von vier Einheiten-
datenblöcken, die jeden Satzblock bilden, bestimmt, um dadurch die zu ersetzenden Einheitendatenblöcke zuzuweisen,
wodurch die Zahl der für die Prioritätsverarbeitung erforderlichen
Bits von 120 auf 30 (=6+6x4) verringert wird. Um dies auszuführen, sind gemäß der Erfindung in der Steuervorrichtung
für einen Pufferspeicher, der einen Datenteil zum Einsetzen mehrerer Einheitendatenblöcke und einen
Markenteil zum Halten einer Adresseninformation jedes der
in den Datenteil eingesetzten Einheitendatenblöcke aufweist, die in den Datenteil eingesetzten Einheitendatenblöcke in
Satzblöcke aufgeteilt, wobei jeder mit einer vorbestimmten Zahl von Einheitendatenblöcken gebildet ist und
die Adresseninformation jedes Satzblocks in den Markenteil
eingesetzt ist. Eine erste Prioritätsschaltung ist vorgesehen, um eine Priorität für die Satzblöcke untereinander
zu geben,und des weiteren sind zweite Prioritätsschaltungen vorgesehen, um die Prioritätspegel der
die jeweiligen Satzblöcke bildenden Einheitendatenblöcke zu bestimmen. Bei der Prioritätsverarbeitung werden die
Prioritätspegel der Einheitendatenblöcke durch einen Satzblock, der ein Signal von der ersten Prioritätsschaltung
zuweist, und einen Einheitendatenblock, der Signale von
den zweiten Prioritätsschaltungen zuweist, bestimmt, wodurch
einer der Einheitendatenblöcke extrahiert wird.
Die Erfindung wird beispielhaft anhand der Zeichnung beschrieben, in der sind
Pig. 1 ein Diagramm eines Satz-Assoziatiwerfahrens zum Erläutern der Steuervorrichtung für einen Pufferspeicher
nach der Erfindung,
709808/0911
Fig. 2 ein Blockschaltbild der Steuervorrichtung für einen
Pufferspeicher nach der Erfindung und
Fig. 3A und B ein Schaltbild einer Ausführungsform einer Prioritätsverarbeitungsschaltung gemäß der Erfindung
und ein Diagramm zum Erläutern der Arbeitsweise dieser Schaltung.
In Fig. 1 bezeichnen 1 einen Hauptspeicher, 2 einen Markenteil eines Pufferspeichers zum Aufrechterhalten einer
Adresseninformation jedes Einheitendatenblocks, der in
einen Datenteil 3 des Pufferspeichers eingesetzt ist, 3 den Datenteil, in dem eine vorbestimmte Zahl von in den Hauptspeicher
1 eingesetzten Datenblöcken für jede Spalte eingesetzt werden kann, 4- Einheitendatenblöcke, 5 Satzblöcke,
von denen jeder aus einer Kombination einer vorbestimmten Zahl von Einheitendatenblöcken 4- besteht, 6 Einheitenadressenblöcke,
wobei in jedem Block eine Adresseninformation für jeden Einheitendatenblock A- eingesetzt ist, und 7 Satzblöcke,
von denen jeder aus Einheitenadressen entsprechend jedem der Satzblöcke 5 zusammengesetzt ist.
Der Hauptspeicher 1 enthält #0 bis W(m-1) Sätze und #0 bis
#(n-1) Spalten und darin sind m χ η Einheitendatenblöcke
eingesetzt.
In den Markenteil 2 und den Datenteil 3 des Pufferspeichers sind jeweils die Einheitenadressenblöcke 6 und die Einheitendatenblöcke
M- entsprechend 16 Sätzen #0 bis #15 der m Sätze
des Hauptspeichers 1 für jede Spalte eingesetzt. Beim Einsetzen der Daten des Hauptspeichers 1 in den Pufferspeicher
werden die Daten in denjenigen Bereichen des Pufferspeichers eingesetzt, welche dieselben Spaltenzahlen
wie die in dem Hauptspeicher 1 haben.
Es wird angenommen, daß eine Yerarbeitungseinheit mit dem
Pufferspeicher Daten einer gewünschten Adresse Aij erfordert und daß die Adresse Aij zu der j-ten Spalte eines i-ten
Satzes in dem Hairt.y<; speicher gefeostu In diesem Pail erfolgt
2837054
der Zugriff zu den 3«ten Spalten sowohl des Markenteils
als auch des Datenteils gleichzeitig und 16 von dem Markenteil ausgelesene Adressen werden mit i der Adresse Aij
verglichen. Wenn zwischen diesen eine Übereinstimmung festgestellt worden ist, werden die Daten ausgegeben,
die in dem Datenteil an der Stelle eingesetzt sind, die der Stelle in dem Markenteil entspricht, an der die
Adresse eingesetzt ist. Wenn keine Übereinstimmung festgestellt wird, wird ein erforderlicher Einheitendatenblock
von dem Hauptspeicher übertragen.
Im allgemeinen führt der Pufferspeicher die vorstehend erläuterte Operation aus. Im Falle der Übertragung eines
neuen Einheitendatenblocks zu dem Pufferspeicher ist es notwendig, einen der Einheitendatenblöcke zu verdrängen,
falls alle Flächen des Pufferspeichers, die der Spaltenzahl
des neuen Einheitendatenblocks entsprechen, bereits durch vorangehende Einheitendatenblöcke besetzt sind. Um
zu bestimmen, welcher der Einheitendatenblöcke verdrängt
werden soll, wird die Priorität der Einheitendatenblöcke auf der Basis des LRU-Algorithmus bestimmt und für diese
Bestimmung werden die Prioritätspegel zu den Einheitendatenblöcken gegeben. Für eine wirksame Bestimmung der Prioritätspegel hat gemäß der Erfindung der Pufferspeicher beispielsweise
vier Satzblöcke 5-1 bis 5-4· für jede Spalte und
jeder Satzblock hat vier Einheitendatenblöcke.
Fig. 2 zeigt den Aufbau einer Ausführungsform nach der Erfindung, die eine Prioritätsverarbeitung der Spalten
des in Fig. 1 gezeigten Pufferspeichers, der den Datenteil 3
und den Markenteil 2 aufweist, ausführen kann.
In Fig. 2 bezeichnen 8 eine erste Prioritätsschaltung, welche die Prioritätspegel der vier Satzblöcke 5-1 bis 5-4- in
jeder Spalte bestimmt und zweite Prioritätsschaltungen 9-1
bis 9-4 mit den Satzblockzuweisungssignalen S1 bis S4-,
die einen Satzblock der niedrigsten Priorität zuweisen, speist. Jeder der vorstehend erwähnten zweiten Prioritätsschaltungen 9-1 bis 9-4- bestimmt die Prioritätspegel der
709808/0911
vier Einheitendatenblöcke 4-, die Jeweils die vorstehend
erwähnten Satzblöcke 5-1 bis 5-4 bilden. Die zweiten Prioritätsschaltungen 9-1 bis 9-4 führen jeweils eine
Prioritätsverarbeitung für die vier Einheitendatenblöcke in den #0 bis #3 Satzstellungen, die den Satzblock 5-1
bilden, in den #4- bis #7 Satzstellungen, die den Satzblock
5-2 bilden, in den 4Q bis #11 Satzstellungen, die den Satzblock
5-3 bilden, und in den #12 bis #15 Satzstellungen,
die den Satzblock 5-4 bilden, aus. Des weiteren gibt jede
der Prioritätsschaltungen 9-1 bis 9-4 Einheitendatenblock-Be
ze ichnungs signale XJO bis U3 zum Bezeichnen desjenigen
der vier Einheitendatenblöcke, die jeden Satzblock bilden, mit der niedrigsten Priorität ab. 10 bezeichnet eine Sammelschiene
zum Ersetzen des Einheitendatenblocks 4 oder zum Übertragen einer Zugriffsinformation. M und M1 bis M4-bezeichnen
Speicher. Unter der Annahme, daß der Satzblock 5-1
die niedrigere Priorität als die anderen Satzblöcke 5-2
bis 5-4 hat und daß der Einheitendatenblock in der #2 Satzstellung
die niedrigere Priorität als die anderen in dem Satzblock 5-1 hat, gibt die erste Prioritätsschaltung
nur das Satzblockbezeichnungssignal S1 ab und gibt die zweite Prioritätsschaltung 9-11 die mit dem vorstehend erwähnten
Satzblockbezeichnungssignal S1 gespeist wird,
allein das Einheitendatenblock-Bezeichnungssignal Ü2 ab. In dem Fall, in dem der Zugriff zu dem Pufferspeicher
in dem oben erwähnten Zustand erfolgt und ein Einheitendatenblock mit der gewünschten Information nicht in den Datenteil
3 (Fig. 1) eingesetzt worden ist, wird beispielsweise der Einheitendatenblock in der #2 Satzstellung auf der
Basis des vorstehend erwähnten Einheitendatenblock-Bezeichnungssignals
U2 verdrängt, das von der zweiten Prioritätsschaltung 9-1 abgeleitet ist, und neue Daten in dem Hauptspeicher
(Fig· 1) werden erneut zu der #2 Satzstellung übertragen.
Fig. 3A zeigt den Aufbau eines Beispiels der Schaltung, die jeweils der ersten Prioritätsschaltung 8 und den zweiten
Prioritätsschaltungen 9-1 bis 9-4 entspricht· Fig. 3B
7 09808/0911
zeigt ein Beispiel der Operation dieser .Schaltung. Die
folgende Beschreibung geht von der Annahme aus, daß der Schaltungsaufbau der Pig. 3A der zweiten Prioritätsschaltung
9-1 entspricht.
In Fig. 3A bezeichnen 10-1 bis 10-6 Flip-Flops, die den
Speicher M1 bilden. S1 bezeichnet ein Satzblockbezeichnungssignal.
11-0 bis 11-3 sind HND-Tore. UO bis U3 stellen
Einheitendatenblockbezeichnungssignale dar, die von den UND-Toren
11-0 bis 11-3 abgeleitet werden. Das UUD-Tor 11-0 bezeichnet
als Austauschblock den Einheitendatenblock in der =0-Satzstellung,
nachfolgend mit Block (0) bezeichnet, der einer der vier Einheitendatenblocke 4 ist, die den in Fig. 1
gezeigten Satzblock 5-1 bilden. Das UND-Tor 11-1 bezeichnet als Austauschblock den Einheitendatenblock in der
#1 Satzstellung, nachfolgend mit Block (1) bezeichnet, der
einer der vorstehend erwähnten vier Einheitendatenblöcke ist. Das UliD-Tor 11-2 bezeichnet gleichermaßen als Austauschblock
den Einheitendatenblock in der #2 Satzstellung, nachfolgend mit Block (2) bezeichnet. In .gleicher Weise bezeichnet
das UED-Tor 11-3 als Austauschblock den Einheitendatenblock
in der #3 Satsstellung, nachfolgend mit Block (3) bezeichnet. Wenn die Zahl der Eingangssignale des logischen
Werts "1" an den TIND-Toren 11-0 bis 11-3 ansteigt, wird die
Priorität der durch die Ausgangssignale der UKD-Tore bezeichneten
Einheitendatenblöcke niedriger. xO bis x3 bezeichnen
Eingangssignale zu den Flip-Flops 10-1 bis 10-«6. Das Signal xO wird "1", wenn der Zugriff zu dem Block (0) erfolgt
oder wenn der Block ausgetauscht wird. In gleicher Weise werden die Signale x1, x2 und x3 oeweils "1"» wenn der
Zugriff zu den Blöcken (1), (2) und (3) erfolgt oder wenn diese Blöcke ausgetauscht werden.
Unter der Annahme, daß die Flip-Flops 10-1 bis 10-6 jeweils mit Löschsignalen gespeist werden, um Q-Ausgangssignale
des logischen Werts 11O" zu erhalten, wenn das Satzblockbezeichnungssignal S1 zugeführt wird, erzeugt nur
709808/091 1
das UND-Tor 11-0 ein Ausgangssignal des logischen Werts "1",
um den Block (0) als Austauschblock zu bezeichnen. Wenn angenommen wird, daß die Flip-Flops 10-1 bis 10-6 jeweils
mit Bits "011V1Oa", "03", "12", "13" und "23" dargestellt
werden, kann nun der Zustand, bei dem die oben erwähnten Löschsignale den Flip-Flops zugeführt werden, durch (1)
in Fig. 3B ausgedrückt werden. In Fig. 3B bezeichnen jeweils
REP(k) und AOC(k) Austauschblöcke und Blöcke mit Zugriff,
wobei gilt k=0, 1, 2, 3· Pfeile mit gestrichelten Linien stellen Änderungen dar.
Bei dem oben erwähnten Zustand (1), wenn der Block (0) ausgetauscht wird, wird als nächstes das Signal xO "1",
so daß die Flip-Flops 10-1 bis 10-3 (jeweils Q-Ausgangssignale des logischen Werts "1" erzeugen. Der Zustand (1) wird
nämlich in den in Fig. 3B gezeigten Zustand (2) geändert.
Da dieser Zustand (2) dazu dient, das Ausgangssignal
des UND-Tors 11-1 allein zu ändern, um den logischen Wert "1" zu erhalten, wird der Block (1) als Block mit niedrigster
Priorität, d.h. als Austauschblock, bezeichnet, wie durch EEP(I) angegeben ist.
In dem Zustand (2), wenn der Block (1) ausgetauscht wird, wird das Signal x1 "1", um den Flip-Flop 10-1 zurückzusetzen,
um davon ein Q-Ausgangssignal des logischen Werts "0"
abzuleiten. Des weiteren werden die Flip-Flops 10-4 und 10-5 jeweils gesetzt, um Q-Ausgangssignale des logischen
Werts "1" zu erzeugen. Das bedeutet, daß der Zustand (2) in den in Fig. 3B gezeigten Zustand (3) geändert wird. Da
der Zustand (3) nur dazu dient, ein Ausgangssignal des
logischen Werts "1" von dem UND-Tor 11-2 allein abzuleiten, wird der Block (2) als Austauschblock bezeichnet.
In dem Zustand (3), wenn der Zugriff zu dem Block (0) erfolgt, wird das Signal xO "1", um den Flip-Flop 10-1 zu setzen,
um davon ein Q-Ausgangssignal des logischen Werts "1" abzuleiten.
Die anderen Flip-Flops 10-2 bis 10-6 werden in denselben Ausgangszuständen wie bei dem oben erwähnten
709808/091 1
Zustand (2) gehalten. Folglich wird der Zustand (3) in den
in Fig. 3B gezeigten Zustand (4·) verschoben. In dem Zustand
(4-) werden die Zustände der Flip-Flops durch einen Zugriff zu dem Block (0) geändert, wie durch ACC(O) angezeigt ist,
jedoch wird das Ausgangssignal des UND-Tors 11-2 allein
dazu gebracht, daß es den logischen Wert "1" wie in dem Fall des oben erwähnten Zustande (3) hat, so daß der Block (2)
noch als Austauschblock bezeichnet ist, wie durch EEP(2) angezeigt ist.
In gleicher Weise wird in dem Zustand (4-), wenn der Block (2)
ausgetauscht wird, das Signal x2 "1", um die Flip-Flops 10-2 und 10-4 zurückzusetzen, um davon Q-Ausgangssignale des
logischen Werts "0" abzuleiten, und gleichzeitig wird der Flip-Flop 10-6 gesetzt, um ein Q-Ausgangssignal des
logischen Werts "1" zu erzeugen. Das bedeutet, daß der Zustand (4-) in den in Fig. 33 gezeigten Zustand (5) geändert
wird. In dem Zustand (5) wird der Block (3) als Austauschblock bezeichnet. Aufgrund des Austausches des Blocks (3)
werden die Flip-Flops 10-3 > 10-5 und. 10-6 jeweils zurückgestellt,
um den in Fig. 3B gezeigten Zustand (6) herbeizuführen.
In dem Zustand (6), wenn der Zugriff zu dem Block (2) erfolgt, wird der Flip-Flop 10-6 mit dem Ergebnis gesetzt,
daß der in Fig. 3B gezeigte Zustand (7) herbeigeführt wird. In dem Zustand (7) wird der Block (1) als Austauschblock
bezeichnet. Wenn der Block (1) ausgetauscht wird, wird dann der Flip-Flop 10-1 zurückgesetzt und die Flip-Flops 10-4-
und 10-5 werden gesetzt, um den in Fig. 3B gezeigten Zustand
(8) zu erzeugen. In dem Zustand (8) wird der Block (0) als Austauschblock bezeichnet.
Auf diese Weise führt die Prioritätsschaltung 9-1 die Prioritätsverarbeitung der vier Einheitendatenblöcke (0),
(1), (2) und (3) aus. Die anderen zweiten Prioritätsschaltungen 9-2, 9-3 und 9-4- sind jeweils auch im Aufbau mit der
oben erwähnten Prioritätsschaltung 9-1 identisch und führen dieselbe Prioritätsverarbeitung der vier Einheitendatenblöcke
709808/0911
und der vier Satzblöcke, wie oben beschrieben, aus. Gemäß der Erfindung werden nämlich die Prioritätspegel der Satzblöcke
durch die erste Prioritätsschaltung 8 bestimmt, um den
Satzblock der niedrigsten Priorität zuzuweisen und die Prioritätspegel der Einheitendatenblöcke, die jeden Satzblock bilden,
werden durch Jede der zweiten Prioritatsschaltungen 9-1 bis 9-4 bestimmt, um den Einheitendatenblock der niedrigsten
Priorität, zuzuweisen. Demgemäß wird der Austauschblock durch eine Kombination der Prioritätsverarbeitung der ersten Prioritätsschaltung
8 mit der Priorität der zweiten Prioritätsschaltungen 9-1 bis 9-4 bestimmt. Mit anderen Worten werden
aus der Mehrzahl der Einheitendatenblöcke, die den Satzblock mit niedrigster Priorität bilden, der durch die erste Prioritätsschaltung
8 zugewiesen ist, der Einheitendatenblock mit niedrigster Priorität, der durch die zweite Prioritätsschaltung
entsprechend dem oben erwähnten Satzblock bezeichnet ist, als Austauschblock ausgewählt. Da die Priorität bereits zum
Zeitpunkt des Zugriffs zu dem Pufferspeicher bestimmt worden ist, spielt in diesem Fall eine Zeitverzögerung aufgrund der
Prioritätsschaltung keine Rolle.
Gemäß der Erfindung werden die Prioritätspegel der Satzblöcke
durch die erste Prioritätsschaltung 8 bestimmt und die Prioritätspegel der Einheitendatenblöcke, die jeden Satzblock
bilden, werden durch jede der zweiten Prioritätsschaltungen
9-1 bis 9-4 bestimmt, wie vorstehend beschrieben
wurde. Dies ermöglicht eine wesentliche Verringerung der Zahl der Bits, die für die Prioritätsverarbeitung in den Pufferspeichern
erforderlich ist, die eine relativ große Kapazität haben sollen, und des weiteren erfordert diese Prioritäts- .
verarbeitung nicht viel Zeit, so daß der Pufferspeicher mit hoher Geschwindigkeit gesteuert werden kann.
709808/0911
Claims (1)
- PatentanspruchSteuervorrichtung für einen i-ifferspeieher zum Extrahieren eines von mehreren Einheitendatenblöcken, die in dem Pufferspeicher gespeichert sind, gekennzeichnet durch Einrichtungen zum Extrahieren eines von mehreren Satr=blocken durch Bestimmen ihres Prioritätspegels, wobei die Satzblöcke jeweils eine vorbestimmte Zahl von Einheitendatenblöcken enthalten, und durch Einrichtungen zum Extrahieren eines der Einheitendatenblöcke jedes der Satzblöcke durch Bestimmen der Prioritätspegel der Einheitendaterblocke jedes der Satzblöcke durch Bestimmen der Prioritätspegel der Einheitendatenblöcke gleichzeitig mit der Prioritätsverarbeitung der Satzblöcke, wobei ein Einheitendatenblcck durch eine Kombination des extrahierten Satzblocks nit dem Einheitendatenblock extrahiert wird, der von jedem Satzblock extrahiert ist.709808/0911[pa τ; ρ ι f p
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP50101750A JPS5226124A (en) | 1975-08-22 | 1975-08-22 | Buffer memory control unit |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2637054A1 true DE2637054A1 (de) | 1977-02-24 |
DE2637054B2 DE2637054B2 (de) | 1981-01-08 |
DE2637054C3 DE2637054C3 (de) | 1981-10-22 |
Family
ID=14308905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2637054A Expired DE2637054C3 (de) | 1975-08-22 | 1976-08-18 | Steuervorrichtung für einen Pufferspeicher |
Country Status (5)
Country | Link |
---|---|
US (1) | US4115855A (de) |
JP (1) | JPS5226124A (de) |
DE (1) | DE2637054C3 (de) |
FR (1) | FR2321747A1 (de) |
GB (1) | GB1551450A (de) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2659662C3 (de) * | 1976-12-30 | 1981-10-08 | Ibm Deutschland Gmbh, 7000 Stuttgart | Prioritätsstufengesteuerte Unterbrechungseinrichtung |
US4361878A (en) * | 1980-10-27 | 1982-11-30 | Control Data Corporation | Degradable LRU circuit |
JPS58501645A (ja) * | 1981-10-02 | 1983-09-29 | ウエスタ−ン エレクトリツク カムパニ−,インコ−ポレ−テツド | 最下位プライオリテイ置換え回路を使用するキヤツシユ・メモリ |
JPS58102381A (ja) * | 1981-12-15 | 1983-06-17 | Nec Corp | バツフアメモリ |
JPS58121455A (ja) * | 1982-01-13 | 1983-07-19 | Mamoru Tanaka | 優先回路 |
US4511994A (en) * | 1982-09-27 | 1985-04-16 | Control Data Corporation | Multi-group LRU resolver |
US4680702A (en) * | 1984-04-27 | 1987-07-14 | Honeywell Information Systems Inc. | Merge control apparatus for a store into cache of a data processing system |
EP0173556A3 (de) * | 1984-08-31 | 1987-05-27 | Texas Instruments Incorporated | Hierarchische Architektur zur Bestimmung von dem am wenigsten kürzlich benutzten Cachespeicher |
EP0173769B1 (de) * | 1984-09-05 | 1989-03-08 | Siemens Aktiengesellschaft | Anordnung zur Prioritätsvergabe |
GB2167583B (en) * | 1984-11-23 | 1988-11-02 | Nat Res Dev | Apparatus and methods for processing an array of items of data |
EP0309712A3 (de) * | 1987-09-30 | 1990-06-20 | Siemens Aktiengesellschaft | Anordnung zur Realisierung eines LRU (Least Recently Used) - ähnlichem Mechanismus für mehr als drei Elemente durch Binär-Matrix-Bäume |
EP0309737A3 (de) * | 1987-09-30 | 1990-06-20 | Siemens Aktiengesellschaft | Anordnung zur Realisierung eines LRU (Least Recently Used) - ähnlichem Mechanismus für mehr als drei Elemente durch Binär-Matrix-Bäume |
US5089957A (en) * | 1989-11-14 | 1992-02-18 | National Semiconductor Corporation | Ram based events counter apparatus and method |
US5532841A (en) * | 1990-07-31 | 1996-07-02 | Minolta Camera Kabushiki Kaisha | Facsimile apparatus comprising a plurality of image reading units |
US5983313A (en) * | 1996-04-10 | 1999-11-09 | Ramtron International Corporation | EDRAM having a dynamically-sized cache memory and associated method |
US6260090B1 (en) * | 1999-03-03 | 2001-07-10 | International Business Machines Corporation | Circuit arrangement and method incorporating data buffer with priority-based data storage |
US7284064B1 (en) | 2000-03-21 | 2007-10-16 | Intel Corporation | Method and apparatus to determine broadcast content and scheduling in a broadcast system |
US7275254B1 (en) | 2000-11-21 | 2007-09-25 | Intel Corporation | Method and apparatus for determining and displaying the service level of a digital television broadcast signal |
US20020144265A1 (en) * | 2001-03-29 | 2002-10-03 | Connelly Jay H. | System and method for merging streaming and stored content information in an electronic program guide |
US20020144269A1 (en) * | 2001-03-30 | 2002-10-03 | Connelly Jay H. | Apparatus and method for a dynamic electronic program guide enabling billing broadcast services per EPG line item |
US7328455B2 (en) * | 2001-06-28 | 2008-02-05 | Intel Corporation | Apparatus and method for enabling secure content decryption within a set-top box |
US20030046683A1 (en) * | 2001-08-28 | 2003-03-06 | Jutzi Curtis E. | Server-side preference prediction based on customer billing information to generate a broadcast schedule |
US8943540B2 (en) | 2001-09-28 | 2015-01-27 | Intel Corporation | Method and apparatus to provide a personalized channel |
US20030135605A1 (en) * | 2002-01-11 | 2003-07-17 | Ramesh Pendakur | User rating feedback loop to modify virtual channel content and/or schedules |
US6831587B1 (en) * | 2003-07-31 | 2004-12-14 | Micron Technology, Inc. | Priority encoding |
US8984198B2 (en) * | 2009-07-21 | 2015-03-17 | Microchip Technology Incorporated | Data space arbiter |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3588829A (en) * | 1968-11-14 | 1971-06-28 | Ibm | Integrated memory system with block transfer to a buffer store |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3331055A (en) * | 1964-06-01 | 1967-07-11 | Sperry Rand Corp | Data communication system with matrix selection of line terminals |
US3353160A (en) * | 1965-06-09 | 1967-11-14 | Ibm | Tree priority circuit |
NL154023B (nl) * | 1969-02-01 | 1977-07-15 | Philips Nv | Prioriteitscircuit. |
US3611305A (en) * | 1969-02-10 | 1971-10-05 | Scanders Associates Inc | Data processor interrupt system |
US3820078A (en) * | 1972-10-05 | 1974-06-25 | Honeywell Inf Systems | Multi-level storage system having a buffer store with variable mapping modes |
US3911401A (en) * | 1973-06-04 | 1975-10-07 | Ibm | Hierarchial memory/storage system for an electronic computer |
US3964028A (en) * | 1973-08-02 | 1976-06-15 | International Business Machines Corporation | System and method for evaluating paging behavior |
US3840862A (en) * | 1973-09-27 | 1974-10-08 | Honeywell Inf Systems | Status indicator apparatus for tag directory in associative stores |
US3979726A (en) * | 1974-04-10 | 1976-09-07 | Honeywell Information Systems, Inc. | Apparatus for selectively clearing a cache store in a processor having segmentation and paging |
FR116049A (de) * | 1975-03-20 |
-
1975
- 1975-08-22 JP JP50101750A patent/JPS5226124A/ja active Pending
-
1976
- 1976-08-18 DE DE2637054A patent/DE2637054C3/de not_active Expired
- 1976-08-19 US US05/715,862 patent/US4115855A/en not_active Expired - Lifetime
- 1976-08-20 FR FR7625371A patent/FR2321747A1/fr active Granted
- 1976-08-23 GB GB35084/76A patent/GB1551450A/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3588829A (en) * | 1968-11-14 | 1971-06-28 | Ibm | Integrated memory system with block transfer to a buffer store |
Also Published As
Publication number | Publication date |
---|---|
JPS5226124A (en) | 1977-02-26 |
DE2637054C3 (de) | 1981-10-22 |
DE2637054B2 (de) | 1981-01-08 |
US4115855A (en) | 1978-09-19 |
FR2321747B1 (de) | 1982-02-05 |
FR2321747A1 (fr) | 1977-03-18 |
GB1551450A (en) | 1979-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2637054A1 (de) | Steuervorrichtung fuer einen pufferspeicher | |
DE2803989C2 (de) | Digitaldatenspeicher mit wahlfreiem Zugriff | |
DE2550339C2 (de) | Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität | |
DE3132225C2 (de) | Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation | |
DE4019135C2 (de) | Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung | |
DE2310631C3 (de) | Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2725718A1 (de) | Verarbeitungssystem mit mehreren virtuellen adressenraeumen | |
DE1956604B2 (de) | Datenverarbeitungsanlage | |
DE2523414A1 (de) | Hierarchische speicheranordnung | |
DE2556661A1 (de) | Steuerschaltung mit adressenerweiterung | |
DE2725395B2 (de) | Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordnete Wörter der Bitlänge n | |
DE2364408B2 (de) | Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers | |
DE2261694A1 (de) | Speichersystem | |
DE2432608C3 (de) | Speicheranordnung fur eine Datenverarbeitungseinrichtung | |
DE3015875A1 (de) | Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem | |
DE2725396A1 (de) | Pufferspeicher | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE2221442A1 (de) | Assoziativspeicher | |
DE2111642A1 (de) | Vorrichtung zum Informationsaustausch zwischen einem schnellen und einem langsamen Speicher | |
DE3214230A1 (de) | Speicheranordnung mit mehrfach-zugriffsleitungen | |
DE2121490A1 (de) | Orthogonaler Datenspeicher | |
DE2556357A1 (de) | Adressiereinrichtung | |
DE3535215C2 (de) | ||
DE2750126A1 (de) | Datenverarbeitungssystem mit einem zwischenpufferspeicher | |
DE3016269C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8328 | Change in the person/name/address of the agent |
Free format text: REINLAENDER, C., DIPL.-ING. DR.-ING., PAT.-ANW., 8000 MUENCHEN |