DE2637054A1 - Steuervorrichtung fuer einen pufferspeicher - Google Patents

Steuervorrichtung fuer einen pufferspeicher

Info

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
Application number
DE19762637054
Other languages
English (en)
Other versions
DE2637054C3 (de
DE2637054B2 (de
Inventor
Takashi Dipl Ing Chiba
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2637054A1 publication Critical patent/DE2637054A1/de
Publication of DE2637054B2 publication Critical patent/DE2637054B2/de
Application granted granted Critical
Publication of DE2637054C3 publication Critical patent/DE2637054C3/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

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)

  1. Patentanspruch
    Steuervorrichtung 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
DE2637054A 1975-08-22 1976-08-18 Steuervorrichtung für einen Pufferspeicher Expired DE2637054C3 (de)

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)

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

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

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

Patent Citations (1)

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