DE2445617C2 - Hierarchische Speicheranordnung - Google Patents

Hierarchische Speicheranordnung

Info

Publication number
DE2445617C2
DE2445617C2 DE2445617A DE2445617A DE2445617C2 DE 2445617 C2 DE2445617 C2 DE 2445617C2 DE 2445617 A DE2445617 A DE 2445617A DE 2445617 A DE2445617 A DE 2445617A DE 2445617 C2 DE2445617 C2 DE 2445617C2
Authority
DE
Germany
Prior art keywords
memory
address
buffer
classes
data
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
DE2445617A
Other languages
English (en)
Other versions
DE2445617A1 (de
Inventor
Robert Randolph Underhill Vt. Fuqua
Gerald Bernhard Burlington Vt. Hasler
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2445617A1 publication Critical patent/DE2445617A1/de
Application granted granted Critical
Publication of DE2445617C2 publication Critical patent/DE2445617C2/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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Description

60
Die Erfindung betrifft eine hierarchische Speicheranordnung der im Oberbegriff des Hauptanspruches angegebenen Art. ■
Der Hauptspeicher einer Datenverarbeitungsanlage dient zur Speicherung der von der zentralen Verarbeitungseinheit benötigten Daten und Instruktionen. In der Arbeitsgeschwindigkeit liegt jedoch insofern eine Fehlanpassung vor, als die Verarbeitungseinheit normalerweise mit viel höherer Geschwindigkeit arbeiten kann, als der Hauptspeicher. Diese Fehlanpassung tritt bei modernen Datenverarbeitungsanlagen, deren Schaltkreise mit immer höherer Geschwindigkeit arbeiten, um so deutlicher hervor. Zur Bezeichnung der Daten werden von der zentralen Verarbeitungseinheit vielfach logische Adressen verwendet, die nur dann mit den realen Adressen, d. h. mit den Adressen, in denen die Daten tatsächlich gespeichert sind, übereinstimmen, wenn nur ein einziger Speicher verwendet wird. Zur rascheren Datenversorgung der Verarbeitungseinheit werden jedoch normalerweise Speicherhierarchien ν erwendet, die zumindest aus einem schnellen, mit der Verarbeitungseinheit direkt verbundenen Pufferspeicher, sowie aus einem langsamen, dafür aber größeren Hauptspeicher bestehen. In einer solchen Speicherhierarchie, kann der Adressenraum, der von den von der Verarbeitungseinheit gelieferten logischen Adressen umfaßt wird, mit dem Adressenraum des größten Speichers der Hierarchie übereinstimmen. Da eine Übertragung von einzelnen, jeweils benötigten Bytes von höheren Stufen der Hierarchie (d.h. größeren Speichern), zu niedrigeren Stufen der Hierachie (d. h. schnelleren Speichern) viel zu aufwendig wäre, wird zweckmäßig ein gesamter Datenblock übertragen, da erfahrungsgemäß außer dem gerade benötigten Byte auch die benachbarten Bytes in folgenden Verarbeitungsschritten benötigt werden. Für die Kapazität eines solchen Datenblocks wird meist eine feste Größe genommen.
Zur Übertragung der Datenblöcke zwischen den Stufen der Hierarchie und zur Übersetzung der logischen Adressen in reale Adressen ist eine Hierarchie-Verwaltungseinrichtung notwendig. Wenn von der Verarbeitungseinheit eine logische Adresse angeliefert wird, bestimmt diese Verwaltungseinrichtung zuerst die reale Adresse des entsprechenden logischen Daten -blocks im Hauptspeicher unü sorgt dann für die Übertragung dieses Blocks in den schnellen, der Verarbeitungseinheit direkt zugänglichen Pufferspeicher. Diese Aktionen der Verwaltungseinrichtung sind für den Benutzer des Systems transparent, d. h„ sie erscheinen dem Benutzer wie ein direkter Zugriff der Verarbeitungseinheit zu dem gewünschten Datenbyte. In einer solchen Speicherhierarchie wird natürlich angestrebt, daß die benötigten Daten sehr oft im schnellen Pufferspeicher schon vorhanden sind und nur selten vom Hauptspeicher geholt werden müssen. Gelingt dies, können Zugriffe zu von der Verarbeitungseinheit benötigten Daten meist zum schnellen Pufferspeicher ausgeführt werden, so daß die oben erwähnte Fehtanpassung in der Arbeitsgeschwindigkeit weitgehend ohne Auswirkung bleibt. Dabei beziehen sich jedoch, wie oben beschrieben, die von der Verarbeitungseinheit gelieferten logischen Adressen, auch virtuelle Adressen genannt, auf den Adressenraum des großen Speichers, in einer solchen Hierarchie wird also der Vorteil einer raschen Arbeitsweise mit dem Vorteil einer umfassenden Adressierungsmöglichkeit verbunden.
In einer zweistufigen Hierarchie, in der die Daten sowohl im Hauptspeicher als auch im Pufferspeicher in Datenblöcken organisiert sind, hängt die Größe dieser Blöcke von der verlangten Effektivität der Einrichtung, von der Hauptspeichergröße und von den physikalischen Gegebenheiten der übrigen Anlage, wie z. B. die
GröBeder DatenQUertiagungswegi;,ab. Ein Datenblock ist also die Datenmeitge, die jeweils zwischen benachbarten Stufen der Hierarchie Obertragen wird. Die optimale Größe eines solchen Datenblocks variiert dabei von Maschine zu Maschine und von Anwendung zu Anwendung.
Da der Pufferspeicher naturgemäß nicht alle im Hauptspeicher enthaltenen Informationen speichern kann, ist eine Tabelleneini ichtung, die als Verzeichnisspeicher bezeichnet werden kann, notwendig, die angibt, welche Datenblöcke z.Zt im Pufferspeicher gespeichert sind. Der Tabellenspeicher besteht aus einem Adrtssenbereich, einem Ersatzbereich und geeigneten Steuerschaltungen. Im Adressenbereich sind die Hauptspeicher-Adressen der z. Zt im Pufferspeicher vornan- denen Dater blöcke gespeichert, so daß durch Zugriff zu diesem Adressenbereich festgestellt werden kann, ob die gewünschte Information im Pufferspeicher vorhanden ist oder nicht. Im Ersatzbereich sind Informationen gespeichert, weiche es gestatten, festzustellen, welcher Datenblock im Pufferspeicher durch einen neu einzuschreibenden Block ersetzt werden kann. Der Ersatzbereich steuert die Blockaustauschoperat.onen. Der Verzeichnisspeicher ist dem Benutzer gegenüber transparent
Für den Einfluß der Größe eines Datenblocks auf die Arbeitsweise der Datenverarbeitungsanlage kann auf den Artikel von BELADY in IBM Systems Journal, Band 5. Nr. 2, Seite 78 bis 101 (1966) Bezug genommen werden.
Zur Abbildung von Hauptspeicherbereichen auf Pufferspeicherbereichen gibt es zwei Möglichkeiten. Die erste Möglichkeit wird assoziativ und ungebunden genannt, während eine zweite Möglichkeit mit teilassoziativ oder gebunden bezeichnet werden kann. Nach der voll-assoziativen Abbildung kann jeder Block im Hauptspeicher in jedem Blockrahmen oder Fach des Pufferspeichers gespeichert sein (DE-OS 22 30 266). Der Vorteil dieser Methode besteht darin, daß alle verfügbaren Blockrahmen, d. h. Speicherbereiche, die einen Date..block aufnehmen können, im Pufferspeicher benutzt werden können. Der Nachteil dieser Methode besteht darin, daß unter Umständen langwierige Suchoperationen notwendig werden, um noch einen freien Datenblock zur Aufnahme eines Blockes aus dem Hauptspeicher zu finden. Außerdem gestalten sich nach dieser Methode die Austauschalgonthmen zum Freimachen eines Blockes im Pufferspeicher als äußerst schwierig, da die relativen Prioritäten der Blöcke im Pufferspeicher berücksichtigt werden müssen.
Nach der teilassoziativen Methode wird der Hauptspeicher in Gebiete und Obergebiete, hier unten Klassen und Bücher genannt, unterteilt. Eine als Spalte des Speichers gedachte Klasse ist dabei eine adressierbare Untereinheit des Haupt- und des Pufferspeichers. Eine Klasse im Hauptspeicher enthält X Blöcke, während eine Klasse im Pufferspeicher N Blöcke speichert. Hierbei ist die Anzahl N wesentlich kleiner als die Anzahl X. Alle Blöcke einer bestimmten Hauptspeicherklasse kommen zur Abspeicherung in der begrenzten Anzahl vom Hlockrahmen in der betreffenden Klasse im Pufferspeicher in Betracht. Als Buch wird dabei eine Zeile des mat'ixartig gedachten Hauptspeichersbezeichnet.
Eine Zeile des Pufferspeichers wird mit Fach bezeichnet. Ein Pufferspeicher mit N Fächern kann als Mfach assoziativ bezeichnet werden. Die genannten Zusammenhänge in eiixr Speicherhierarchie sind in dem Artikel von MATTSON in IBM Systems Journal, Band 9, Nr. 2, Seite 78 bis 117 (1970) beschrieben.
Eine Speicherhierarchie mit einer einzigen, ungebundenen Klasse ist im IBM Systems Journal, Band 7, Nr. 1, 1968, Seite 2 beschrieben.
Eine teilassoziative, gebundene Speicherhierarchie ist in der DE-OS 19 56 604 beschrieben. In dieser Hierarchie ist der Pufferspeicher in vier Fächer unterteilt und ist ein Verzeichnisspeicher vorgesehen, der ebenfalls vier Fächer aufweist Die in dieser Hierarchie verwendete Adresse besteht aus Biockbezeichnungsbits, Gruppenadressenbits und Gruppenwortbits. Der Verzeichnisspeicher wird mit der Gruppenadresse adressiert und liefert an seinem Ausgang die gespeicherten Blockbezeichnungen, die mit der in der gegenwärtigen Adresse enthaltenen Blockbezeichnung verglichen werden. Wird Obereinstimmung mit der Blockbezeichnung in einem bestimmten Fach des Verzeichnisspeichers gefunden, so wird das entsprechende Fach im Pufferspeicher adressiert
In den bekannten Speicherhir >.rchien stehen die einzelnen Parameter, wie z. B. Kap^zi'ät der einzelnen Speicher der Hierarchie, Buchgröße, Klassengröße, etc, jeweils in einer festen Größenordnung zueinander, die beim Entwurf der Datenverarbeitungsanlage festgelegt wird. Die Dimensionierung erfolgt dabei hinsichtlich der beim Entwurf der Systeme betrachteten Erfordernisse und sollte einen optimalen Arbeitsablauf gewährleisten. Eine solche Dimensionierung gestattet also nur jeweils eine einzige Konfiguration, welche zu.neist Abbildungsbindungen zwischen Haupt- und Pufferspeicher enthält Da man, wie oben beschrieben, erst mit fortschreitender Erhöhung der Arbeitsgeschwindigkeit der Verarbeitungseinheiten zum Gebrauch eines schnellen Pufferspeichers überging, blieb der Hauptspeicher, der zunächst als Magnetkernspeicher und später als monolithischer Speicher ausgeführt war, lange Zeit ein Speicherteil, der mehr im Zusammenhang mit dem übrigen System als im Zusammenhang rrit dem Pufferspeicher gesehen wurde und daher unabhängig von diesem gefertigt wurde. Dies brachte mit sich, daß mj die Möglichkeit von Verbindungsvariationen zwischen Haupt- und Pufferspeicher vorsehen mußte, wobei die tatsächlichen Verbindungen bei eier Inbetriebnahme der Anlage realisiert wurden.
Die Weiterentwicklung der Halbleitertechnik und insbesondere der integrierten Halbleiterspeicher machte es möglich, eine einzige Einheit zu schaffen, die nunmehr Haupt- als auch Pufferspeicher enthielt. Diese Einheit (Brett, Karte, Modul oder schließlich ein einzelnes integriertes Chip) wird nach einer festen Fabrikationsvorschrift erzeugt und enthält die gesamte Speicherhierarchie.
D'.s; Zusammenfassung des Hauptspeichers und Pufferspeichers auf dem gleichen Teil gestattet sicherlich eine Vermindi-.-ung der Herstellungskosten und eine Verbesserung der Leistung, doch mußte man für jede verschiedene Konfiguration ein verschiedenes Teil herstellen, da nunmehr die Verbindungen zwischen Haupt- und Puffe· speicher auf dem Teil fest vorgegeben waren und nicht mehr verändert werden konnten, während andererseits jedoch für verschieden Abbildungsvariationen jeweils eine andere Loitungsführung notwendig gewesen wäre.
Der prfindung liegt daher die Aufgabe zugrunde, unter Beibehaltung der vorteilhaften Produktion der Speicherhierarchie auf einem einzigen Maschinenteil, z. B. einem Chip, eine Rekonfiguration der Abbildungs-
Verhältnisse möglich zu machen.
Diese Aufgabe wird durch die im Kennzeichen des Hauptanspruches beschriebene Einrichtung gelöst.
Die Erfindung hat den Vorteil, daß die Klassen- und Blockaufteilung zwischen Hauptspeicher und Pufferspeicher dynamisch, d. h. während des Betriebes geändert werden kann. Hierdurch kann einer für die jeweils gegebenen Erfordernisse optimale Konfiguration geschaffen werden. Arbeitet die Hierarchie z. B. nur mit einer einzigen Klasse, so wird der Pufferspeicher optimal ausgenutzt, da ein Datenblock aus dem Hauptspeicher im Prinzip in jedem Blockrahmen im Pufferspeicher gespeichert werden kann. Hierbei muß man jedoch, wie oben beschrieben, umfangreiche Verwaltungsoperationen in Kauf nehmen. Wenn andererseits jedoch solche Verwaltungsoperationen sich für den gewünschten Zweck zu störend auswirken, so kann, unter Verzicht auf lOO°/oige Ausnutzung des Pufferspeicherraumes, eine Konfiguration mit mehreren Klassen gewählt werden. Hierbei kann wuiii ein bestimmter Datenblock nur in einem leerstehenden oder ersetzbaren Blockrahmen innerhalb einer bestimmten Klasse im Pufferspeicher gespeichert werden, doch gestaltet sich andererseits die Adressierung des Pufferspeichers und Auswahl der Speicherstellen einfach.
Die erfiridungsgemäße neue Hierarchie mit fester Zuordnung zwischen Haupt- und Pufferspeicher gestattet auch die Übertragung von Blöcken variabler Größe sowie die Wahl einer gewünschten Anzahl von Klassen für solche Blöcke. Die Erfindung kann dabei unabhängig von dem jeweils benutzten Adressenformat Verwendung finden. Die durch die Erfindung angegebenen Einrichtungen können dabei z. B. von einem Festwertspeicher oder auch von einer steuerbaren Logik gesteuert werden. Diese Steuerung kann durch das Programm der Datenverarbeitungsanlage erfolgen und man erhält dadurch nach Wunsch entweder eine feste Konfiguration oder eine dynamische.
Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
Die Erfindung soll nun anhand eines in den Figuren gezeigten Ausfiihrungsbeispieles näher beschrieben <λ erden. Es zeigt
F i g. I ein Blockschaltbild einer bekannten Speicherhierarchic.
F1 g. 2.1 bis 2c kongruente Abbildungskonzepte. welche die Unterteilung des Hauptspeichers und des Pufferspeichers in unabhängige kongruente Klassen angeben.
F i g. 3 ein Blockschaltbild der erfindungsgemäßen Speicherhierarchie, und
F i g. 4 das Blockschaltbild einer bevorzugten Ausführungsform der Erfindung, in der ein festes Format zwischen Haupt- und Pufferspeicher für verschiedene hierarchische Konfigurationen gezeigt ist.
In Fig. 1 ist eine zweistufige Speicherhierarchie mit einem Verzeichnisspeicher gezeigt Die Anordnung besteht aus dem Hauptspeicher 10. dem Pufferspeicher IZ dem Verzeichnisspeicher 14 und dem Speicheradressenregister (SAR) 16. SAR 16 hat eine Kapazität von π-Adressenbits. so daß 2"-Bytes im Hauptspeicher adressiert werden können. Der Hauptspeicher ist in 2" - ^-Bücher, 2m - '-Klassen und in 2*-Bytes innerhalb einer Kiasse (Blockgröße) unterteilt Mit den n-Adressenbits in SAR !6 kann, also jedes der 2"-Bytes adressiert werden.
Der Pufferspeicher 12 hat. wie aus Fig. I ersichtlich ist, 4 Fächer, d. h. er ist vierfach assoziativ ausgeführt. Die 4 Fächeradressen werden von Verzeichnisspeicher 14 geliefert
Vom Verzeichnisspeicher 14 werden alle Zugriffsanforderungen von der zentralen Verarbeitungseinheit überwacht und über eine nichlgezeigte Speichersteuerung zu den betreffenden Speicherstellen dirigiert. Der Verzeichnisspeicher 14 weist einen Adressenbereich 18 und einen Ersatzbereich 20 auf. Im Adressenbereich 18 sind die Hauptspeicheradressen jedes Datenblockes gespeichert, der zu diesem Zeitpunkt auch im Pufferspeicher 12 enthalten ist. Bei jeder Adressierung des Hauptspeichers IO wird die Hauptspeicheradresse mit dem Inhalt des Verzeichnisspeichers verglichen. Der Ersatzbereich 20 speichert Angaben über die Häufigkeit der Datenzugriffe zu den verschiedenen Datenblocks im Pufferspeicher. Je nach Bedarf kann einer der bekannten Austauschalgorithmen »am ältesten benutzt (LRU)«, »Zuerst-Ein-Zuerst-Aus (FIFO)«, oder andere benuUi werden, !rn Ersatzbcrcich 20 kann auch ein Einspeicher-Statusbit (SIS) gespeichert werden, das anzeigt, ob eine Schreib-, d. h. Einspeicheroperation den betreffenden Block verändert hat In einem solchen Falle wären alle Kopien dieses Blockes in den langsameren Stufen der Hierarchie ungültig geworden. Der Adressenbereich 18 und der Ersatzbereich 20 weisen (m — k)-Eintragungen auf, d.h. so viel Eintragungen, wie es kongruente Klassen gibt. Ferner sind Einrichtung T.i zum Vergleich, zur Steuerung und zum Fortschreiben der Bereiche 18 und 20 vorgesehen, die mit den Bezugszeichen 22 und 24 versehen sind.
Die Anzahl von Bits, die im Adressenbereich gespeichert werden müssen, hängt von der Anzahl C von kongruenten Klassen, von der Pufferassoziativität und der Anzahl von Adressenbits der Buchadresse (n _ rn) ab. Die Anzahl der Pufferfächer wird nachfolgend mit F, und die Anzahl der zur Adressierung dieser Fächer nötigen Adressenbits mit A bezeichnet, d. h. F- 2A. Die Kapazität des Adressenbereiches beträgt also für eine bestimmte hierarchische Konfiguration CF//7-m>Bits.
In gleicher Weise ist die Anzahl der Bits, die im Ersatzbereich gespeichert werden müssen, eine Funktion der Pufferassoziativität A, der Anzahl REPvon Bits, die zur Beschreibung des Austauschalgorithmus notwendig sind, der Anzahl C von kongruenten Klassen und der Anzahl von zusätzlichen Steuerbits B, die pro Block notwendig sind. Die Speicherkapazität des Ersatzbereiches beträgt deshalb CF. (REP + ß/Bits.
Zur Steuerung der bekannten Speicherhierarchien sind verschiedene Anordnungen für den Verzeichnisspeicher möglich, wie sich aus den in der Beschreibuntjeinleitung genannten Dokumenten ergibt. Je nach Art des gesteckten Zieles kann eine solche Hierarchie optimiert werden, bezüglich einer minimalen Hardware, höchster Effektivität oder höchster Zuverlässigkeit und Verfügbarkeit. Die Adreßbereiche können als Assoziativspeicher ausgeführt sein. Das Suchargument für den assoziativen Vergleich stellt dabei die Buchadresse dar. Bei einem positiven Vergleich wird durch den ansprechenden Vergleicher die betreffende Pufferfachadresse geliefert
In den F i g. 2A bis 2C ist schematisch dargestellt, wie ein Hauptspeicher mit einer Kapazität von 2" adressierbarer Einheiten unter Verwendung eines Pufferspeichers mit 8 Pufferfächern, d. h. 8facher Assoziativität in kongruente Klassen, unterteilt werden kann. In F i g. 2A ist eine Hierarchie mit einer einzigen Klasse
gezeigt, in der jede der 2" adressierbaren Dateneinheiten in jedem der 8 Fächer des Puffers gespeichert werden kann.
In F- i g. 2B ist ein 2-Klassensystem dargestellt, in dem die eine Hälfte der adressierbaren Dateneinheiten im Hauptspeicher nur in den ersten 4 Fächern des Pufferspeichers und die zweite Hälfte des Hauptspeiviierbereiches nur in den zweiten 4 Fächern des Pufferspeichers gespeichert werden kann.'
F i g. 2C zeigt ein System mit 4 Klassen im Hauptspeieher, die jeweils nur in 2 Fächern des Pufferspeichers gespeichert werden können.
Wie bereits eingangs beschrieben, können Datenübertragungen zwischen Puffer- und Hauptspeicher in den bekann'en Einrichtungen über Verbindungskabel durchgeführ. werden. Der Pufferspeicher ist dabei in den bekannten Einrichtungen in der Speichersteuerung untergebracht, welche auch die Kanaleinrichtungen, die dynamische Ädressenübersetzung für die virtueiien Adressen und die Verzeichnisspeicher enthält, und ist also physikalisch getrennt vom Hauptspeicher. Da hierdurch die Anzahl von Drahtverbindungen zwischen Haupt- und Pufferspeicher nicht beliebig groß gewählt werden kann, müssen die Bytes eines Datenblockes sequentiell über die beschränkte Anzahl von Verbindungen übertragen werden. Mit fortschreitender Verbesserung der GroBintegrations-Möglichkeiten kann nunmehr der schnelle Pufferspeicher zusammen mit dem langsamen, jedoch dicht gepackten Hauptspeicher auf dem gleichen Teil, z. B. demselben Chip, gefertigt weiden. Die Datenübertragung von und zum Hauptspeicher erfolgt dabei über Pufferregister und Speicherbereiche mit hoher Arbeitsgeschwindigkeit sorgen für die Erhöhung der Speichergeschwindigkeit. Die Übertragung von großen Datenblöcken, auch in der Größe der gebräuchlichen virtuellen Datenseiten kann durch Großintegration parallel durchgeführt werden. Die Übertragungszeit eines Blockes zwischen zwei Stufen einer solchen Speicherhierarchie nimmt dabei die Größenordnung der Zykluszeit des Hauptspeichers an.
Fig.3 zeigt eine bevorzugte Ausführungsform der Erfindung. Ein Hauptspeicher 10 und ein Pufferspeicher 12 sind unter Ausnutzung der Möglichkeiten der Großintegration auf demselben Teil gefertigt und weisen jeweils ein festes Format aus. In Fig.3 sind Einrichtungen gezeigt die eine dynamische Rekonfiguration der gezeigten Speicherhierarchie möglich machen. Fi g. 3 zeigt neben den bereits im Zusammenhang mit F i g. 1 beschriebenen Einheiten 10,12,16,18 und 20 außerdem eine Vergleichsschaltung 22', eine Fortschreibelogik für den Adreßbereich 26 und eine Fortschreibelogik 28 für den Austauschbereich 20. Da die Buch- und Klassenbezeichnung als Einheit betrachtet wird, können diese Bezeichnungen immer vom Verzeichnisspeicher 14 zur Feststellung verwendet werden, ob die gewünschten Daten z. Zt. im Pufferspeicher gespeichert sind. F i g. 3 zeigt Eingänge zum Verzeichnisspeicher für die Buchadresse und für die Klassenadresse.
Bei einer Veränderung der Konfiguration müssen sich natürlich auch die Werte m und k ändern und der Verzeichnisspeicher muß deshalb so ausgelegt werden, daß er alle Konfigurationen bedienen kann, deren Wahl möglich ist Der Adressenbereich 18 und der Ersatzbereich 20 müssen deshalb (m k) Eintragungen aufweisen, & h. so viele, wie es Klassen gibt
Der Adressenbereich sowie die damit verbundenen Vergleichs- und Codierschaltungen werden wie folgt ausgelegt Zuerst muß für die insgesamt mögliche
OH OH OH
16 128 64
128 64 128
16 4 4
Konfiguration der maximale Wert für η — m bestimmt werden. Sodann wird die maximal gewünschte Assoziativität Am,, festgestellt. Die Bit-Kapazität des Adreßbcreichwortes und die Anzahl der Bit-Vergleichsschaltungen wird sodann F„m ■ (n m)„,,„ Bits. Wenn der Puffer z. B. mit einer kleineren Assoziativität ausgelegt wird, werden manche zusätzliche Klassenadressenbits (m — A^dazu benutzt,diebetreffenden Vergleichsschaltungen in der Codierlogik 30 auszuschalten, indem die betreffenden Klassenadressenbits dieser Einheit über die Sammelleitung 32 zugeführt werden, um dadurch Signale zur Ansteuerung der betreffenden Adressenleitungen A des Puffers 12 zu erzeugen. ·
Das folgende Beispiel zeigt einen Verzeichnisspeicher für einen Hauptspeicher mit 2 · I06 Bits und einen Pufferspeicher mit 32k Bytes für die 4 verschiedenen Pufferorganisationen:
DUUIl (,Z ; OH
Klasse (2m"*) 64
Byte (2* Bytes) 32
Assoziativität (2^) 16
In diesem Falle sind für die Buchadresse (n in) 6 Buchbits notwendig, wobei diese Anzahl konstant bleibt. Die maximale Assoziativität 2A ist gleich 16 Fächer und die Wortlänge des Adressenbereiches 18 ist gleich Fm3X(n — m)ma,, d. h. 96 Bits. Der Adressenbereich 18 muß deshalb 128 Worte zu je 96 Bits enthalten. Je kleiner die Blockgröße gewählt wird, desto größer muß offensichtlich die Kapazität des Adressenbereiches werden. Eine Anordnung mit einer festen Anzahl von Blocks erfordert daher nicht mehr Bitkapazität des Adressenbereiches als ein bekannter Verzeichnisspeicher ohne dynamische Konfiguration. Zusätzliche Einrichtungen sind jedoch in den Vergleichsschaltungen, in den Codiereinheiten und im Ersatzbereich notwendig, dessen Größe hauptsächlich von dem verwendeten Austauschlogarithmus abhängt.
Anhand von F i g. 3 soil nun eine Hierarchie mit zwei kongruenten Klassen betrachtet werden und zwar für ein System, das so ausgelegt ist, daß die minimale Klassenanzahl 1 und die maximale Pufferfachzahl gleich 16 ist. In der auf 2 Klassen geänderten hierarchischen Konfiguration weist der Puffer nun 8 effektive Putferfächer für jede Klasse auf. Da im Adressenbereich der Vergleich auf Wortbasis stattfindet, kann das Vergleichssignal vom Adressenbereich bei Verwendung nur der ersten 8 Fächer des Puffers nicht unterscheiden, in welcher der Klassen des Puffers die Information gespeichert ist, d. h. ob in der oberen oder der unteren Hälfte. Um nun eines der 16 Fächer des Puffers, die physikalisch adressierbar sind, auswählen zu können, spricht die Codiereinheit 30 auf die Klassenbits (m — k) an, d. h. in diesem Fall auf ein Bit das der Codierlogik 30 zugeführt wird, um die normalerweise erzeugte Fachadresse auszuschalten und z. B. das hochwertige Adressenbit von A zu erzeugen, unabhängig von dem normalerweise erzeugten Adreßbit das in der Vergleichseinheit 22' gefunden wird.
Selbstverständlich sind zur Erzeugung der notwendigen Anzahl von Pufferfachadressenbits als Funktion der KJassenadresse verschiedene Anordnungen denkbar.
Der Verzeichnisspeicher kann auch als assoziatives Verzeichnis ausgeführt werden, indem die gesamte Pufferadresse direkt von einem vollassoziativen Adressen- und Ersatzbereich erzeugt wird. Ein assoziatives Verzeichnis ist unabhängig von der Anzahl Klassen und
is
der Assoziativität. Es ist einfach eine Funktion der Anzahl Eintragungen EC. und der Eintragungsgröße (n — mji
Es sind auch Ausführungsformen denkbar, nach denen die zentrale Verarbeitungseinheit Logikeinrichtungen enthält, welche es gestatten, die Speicherhierarchie während des Betriebes dynamisch zu steuern. Eine lolche dynamische Steuerung ist in F i g. 3 durch den Eingang 34 zur Einrichtung 30 dargestellt.
Fig.4 zeigt für ein Bit eines Bytes ein Blockschema einer Speicherhierarchie mit einem Hauptspeicher und einen Pufferspeicher, sowie mit festen Verbindungen zwischen den gezeigten Einheiten. Die hierarchische Speicheranordnung kann dabei auf einen einzigen Teil 40, der als integriertes Chip, Modul oder Karte ausgeführt sein kann, untergebracht werden. Dieses Teil 40 kann z. B. eine bestimmte Teilnummer erhalten und kann dabei doch in verschiedenen Datenverarbeitungsanlagen mit verschiedenen Anforderungen verwendet werden. Für die Erzeugung und Lagerhaltung ergeben sich hierdurch große Vorteile.
Fig.4 zeigt eine funktionell Auf-Chip-Hierarchie (HOC) mit einem 2" Hauptspeicher und einem 2* + A Pufferspeicher. Das Speicheradressenregister 16 befindet sich außerhalb des Chips und speichert die Adressenbits (n — /n^fürdie Buchadresse, m — k für die Klassenadresse und k für die Bitadressen innerhalb eines Blocks.
Der Hauptspeicher 10 ist als Speicher mit 2"-*-> Wortleitungen und 2k+J Bitleitungen organisiert. Die 2k+j Bitleitungen vom Hauptspeicher werden durch den Decoder 50 zu 2* Bits decodiert, die dem Pufferspeicher 44, dem Austauschregister 46 oder der Datenschnittstelle 48 zugeführt werden. Der Pufferspeicher 44 weist 2A Wortleitungen und 2* Bitleitungen auf. Jede der 2A Wortleitungen bezeichnet ein Pufferfach. Jede der Wortleitungen und der Bitleitungen kann von den Decodierern ausgewählt werden, so daß ein einzelnes Bit geschrieben oder gelesen werden kann. Acht identische Einheiten oder Chips 40 werden zugleich adressiert und gestatten somit die Übertragung eines Bytes. .
Zum Betrieb der in F i g. 4 gezeigten Hierarchie sind insgesamt η + A Adressenleitungen notwendig. Die (n-k-j) Adressen gestatten die Auswahl einer der 2«-k-j Wortleitungen des Hauptspeichers 42 Wie gezeigt, ist eine Anzahl j der Buch-Klassen-Adressenleitungen mit einem Decoder 50 verbunden, der unter den 2/ möglichen Kombinationen eine Auswahl trifft. Die Ar-Bit Blockadreßleitungen wählen eine der 2* Pufferbitleitungen aus, und die A Pufferfachadreßleitungen, die mit dem Verzeichnisspeicher verbunden sind, wählen eine der 2A Pufferwortleitungen aus. Mit einer der 2* Bitleitungen kann entweder die Dateneingabe oder Datenausgabeschaltung über einen 2* Bitdecodierer 52 verbunden werden. Derselbe Decodierer wird dazu benutzt, die Datenleitungen zu einer Puffer- oder Hauptspeicherzelle zu verbinden und eine Schreib- oder Leseoperation bezüglich eines einzelnen Bits durchzuführen. Μ
Verschiedene Speicherraum- oder Klassenkonfigurationen für die Speicherhierarchie auf dem Chip 40 sind möglich. Das Chip 40 kann als 2\ 2A->, ... 1 fache einfache assoziative Hierarchie betrieben werden. Jede dieser Konfigurationen hat eine Blockgröße von 2* Bits und gibt damit die Gesarntanzahi von Leitungen zwischen Haupt- und Pufferspeicher an. In der Einklassen-Konfiguration kann eine 2*
40 Bitgruppe in jedes der 2A Pufferfächer übertragen werden. Diese 2* P^tgruppe kann von jeder der 2" - * -J Wortleitungen und jedem Viertel der 2k+i Bitleitungen im Hauptspeicher 42 kommen und daher ihren Ursprung in jedem der 2"-* Bücher der Einklassen-Konfiguration haben. Alle η + A Adressenbits werden für die Einklassenkonfiguration gebraucht.
Die Zweiklassen-Konfiguration ist mit einer 2A~'fachen Assoziativität verbunden. Die Kapazität des Pufferspeichers beträgt konstant 2* + A Bits. Für die Abbildung der 2" - * Bücher bestehen nun die folgenden Bedingungen. Eine Anzahl von 2" - m Bücher werden in die erste Hälfte des Pufferspeiches 44 abgebildet und die restlichen 2"-m Bücher in die zweite Hälfte des Pufferspeichers. Beispielsweise kann angenommen werden, daß die beiden Klassen im Hauptspeicher 42 die obere und untere Hälfte der Wortleitungen darstellen, und von einem der Adressenbits des Decoders 50 angegeben werden. Daten von der oberen Hälfte der Wortieitungen im Hauptspeicher 52 werden immer in die linke Hälfte des Pufferspeichers 44 und Daten der unteren Hälfte der Wortleitungen des Hauptspeichers 42 immer in die rechte Hälfte des Pufferspeichers 44 gespeichert. Für die Zweiklassen-Konfiguration sind η + A — 1 Bits für das Speicheradressenwort nötig. Eines der A Pufferwortleitung-Adressenbit entspricht einem der Adressenbits, welches die obere oder untere Hälfte des Hauptspeichers angibt, d. h. der im SAR 16 enthaltenen Klassenadresse (1 Bit). Dementsprechend werden für die Vierklassen-Konfiguration π + A — 2 Adressenbits benötigt.
Das folgende Beispiel zeigt nochmals die dynamische Rekonfigurationsmöglichkeit der Erfindung.
Es soll z. B. ein Hauptspeicher von 32* Bits und ein Pufferspeicher von 512 Bits vorhanden sein. Zur Darstellung der Hauptspeicheradresse, welche dem Speicheradressenregister 16 zugeführt wird, sind insgesamt /7=15 Bits notwendig. 6 dieser Bits werden dabei zugleich zur Adressierung des Hauptspeichers und des Pufferspeichers verwendet. Somit ist k = 6. Die maximale Assoziativität des Pufferspeichers beträgt 8, so daß zur Darstellung der Pufferfachadre.se A = 3 Bits benötigt werden. Dem Speicherchip 40 müssen daher 18 Adressenbits zugeführt werden. Als allgemeiner Fall ergibt sich die Einklassen-Konfiguration mit 8 Pufferfächern und 512 Büchern. Die folgende Tabelle macht nochmals deutlich, daß mit einem einzigen Teil vier verschiedene Konfigurationen nach der Erfindung erhalten werden können.
Tabelle
Klas Anzahl Assozia Bücher Konfi
sen Bytes/Block tivität guration
1 64 8 512 1
2 64 4 256 2
4 64 2 128 3
8 64 1 64 i
Diese vier Konfigurationen können in Beziehung gebracht werden zu den Adressen für Bücher, Klassen and Bytes. Die folgende Tabelle zeigt, welche Adressenbits für die verschiedenen Konfigurationen dem Chip zugeführt werden.
TaoeHe
Konfiguratione-Nr.
1 2 3
Buch (n-m) 9 8 7 6
Kongruenzklasse (m-k) 0 12 3
Byte W 6 6 6 6
Assoziativität _3 2 1 0_
Gesamtanzahl nötiger Ig 17 16 15 Chipadressenbits
In Konfigurationen 3 ergeben die 7-Bit-Decodierung (n — k — 2) U' d die zwei Decodierbits zum Decoder 50 die Buch- und Kongruenzklassenadresse, d. h. insgesamt neun Bits. Wie ersichtlich, haben alle Konfigurationen, außer der Nr. 1, mehr Adresseneingänge als Adressen-
Ulla. £*uiff
j:- tr —
IVUiIiIgUI α ιΐυΐ ι
machen, werden die Adressen kombiniert und vo.i Verzeichnisspeicher gesteuert, wie oben beschrieben.
Die oben angegebenen Einrichtungen können auch derart modifiziert ir.i verwendet werden, daß die Verwaltung von größeren Blockkapazitäten oder einer höheren Anzahl von Kongruenzklassen rrögiich wird. Zum Beispiel können für den Decoder 52 ein oder zwei zusätzliche Eingänge vorgesehen werden. Diese sind in Fig.4 mit 36 gezeigt und kommen vom Codierer 30
ίο außerhalb des Chips. Hierdurch kann die Hälfte der 2k Bits, die dem Decodierer 52 angeboten werden derart übertragen werden, daß jedes der Bits in dieser ersten Hälfte in jeder Speicherstelle im Pufferspeicher 44 gespeichert werden kann. Hierdurch wird die Assoziativität des Puffers 44 vergrößert. In einem Pufferspeicher fester Größe verringert die Verwendung eines der k Bits als zusätzliches Klassenadressenbit die Blockgroße auf 2*-'.
Im obigen Ausführungsbeispiel wurde gezeigt, wie
Vierklassen-Konfiguration, nur 16 oder 18 verfügbaren Adressenbits notwendig. Deshalb können zwei Adresseneingänge untereinander und mit zwei oder 16 notwendigen Adressenbit-Pfade verbunden werden. Um jedoch die dynamische Rekonfiguration möglich zu 2Ϊ) eine op6iCii€riiicrärCui£, uic ucin ivcCiincräySiciii äiS feste Konfiguration erscheint, dynamisch derart geändert werden kann, daß die Assoziativätät, die Blockgrößs und die Anzahl der Kongruenzklassen je nach den Gegebenheiten und Anforderungen geändert werden kann.
Hierzu 3 Blatt Zeichnungen

Claims (4)

Patentansprüche:
1. Hierarchische Speicheranordnung in einer Datenverarbeitungsanlage mit mindestens einem ersten, größeren und langsameren Speicher der Kapazität 2" und einem zweiten kleineren und schnelleren Speicher, wobei die Daten im ersten Speicher in 2«~m Büchern, mit jeweils einer bestimmten Anzahl 2m - k (= C) Klassen, mit jeweils einer bestimmten Anzahl 2* Bytes (Blöcke) gespeichert sind, und wobei die Daten im zweiten Speicher in derselben Anzahl C Klassen mit jeweils einer kleineren Anzahl 2A Bücher als im ersten Speicher in jeweils 2* Pufferfächern pro Klasse gespeichert sind, mit einem Verzeichnisspeicher zur Speicherung von einer der Anzahl Klassen entsprechenden Anzahl Speicherwörter, die jeweils 2A Buchadressen enthalten, mit 2A Vergleichsschaltungen zum Aufsuchen der gewünschten Buchadresse und mit einer mit den Vergleichsschaltungen verbundenen Adressierschaltung zur Erzeugung der Pufferfachadresse, dadurch gekennzeichnet, daß zwecks dynamischer Veränderung der Anzahl Klassen (C) in einer Richtung (z. B. Erhöhung) und der Assoziativität (A) in anderer Richtung (z.B. Erniedrigung) der Verzeichnisspeicher (Adressenbereich 18) eine den gewünschtsn Maximalwerten (Cmu, 2Anax, (n-m)m„) entsprechende Kapazität aufweist,
daß die von der Variabilität der Größen k und m betroffenen binären Positionen des die Speicheradresse speichernden Adressenregisters (16) mit der Adressierschaltung (Ccdierscr -Jtung 30) derart verbindbar sind (Leitungep 32,34,36),, daß die mit sinkender Assoziativ *ät entsprechend der gewünschten Konfiguration nicht mehr benötigten Vergleichsschaltungen (22') unwirksam geschaltet werden und statt dessen mittels der durch die Erhöhung der Anzahl Klassen hinzukommenden Klassenadressenbits eine entsprechende Unterteiking der Pufferfächer erfolgt.
2. Anordnung nach Anspruch 1, dadurch gekennleichnet, daß der Codierer (30) auch von der Befehlssteuerung (Leitung 34) der Datenverarbeitungsanlage steuerbar ist.
3. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß bei Erhöhung der Anzahl Klassen um einen Faktor 2xx Adreßbits der von der zentralen Verarbeitungseinheit gelieferten Klassen-Adresse in der Pufferspeicheradressen verwendet sind.
4. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der erste Speicher (10) und der zweite Speicher (12) mit festen Datenübertragungsverbindungen untereinander auf demselben Halbleiterchip (40. Fig.4) untergebracht sind, und daß zur Adressierung und dynamischen Konfigurationsänderung π + AmAdreßleitungen zum Chip vorgesehen sind.
DE2445617A 1973-10-23 1974-09-25 Hierarchische Speicheranordnung Expired DE2445617C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US00408958A US3840863A (en) 1973-10-23 1973-10-23 Dynamic storage hierarchy system

Publications (2)

Publication Number Publication Date
DE2445617A1 DE2445617A1 (de) 1975-04-30
DE2445617C2 true DE2445617C2 (de) 1983-01-20

Family

ID=23618458

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2445617A Expired DE2445617C2 (de) 1973-10-23 1974-09-25 Hierarchische Speicheranordnung

Country Status (7)

Country Link
US (1) US3840863A (de)
JP (1) JPS5322409B2 (de)
CA (1) CA1017872A (de)
DE (1) DE2445617C2 (de)
FR (1) FR2248577B1 (de)
GB (1) GB1488043A (de)
IT (1) IT1022435B (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3958222A (en) * 1974-06-27 1976-05-18 Ibm Corporation Reconfigurable decoding scheme for memory address signals that uses an associative memory table
US4099230A (en) * 1975-08-04 1978-07-04 California Institute Of Technology High level control processor
US4035778A (en) * 1975-11-17 1977-07-12 International Business Machines Corporation Apparatus for assigning space in a working memory as a function of the history of usage
US4008460A (en) * 1975-12-24 1977-02-15 International Business Machines Corporation Circuit for implementing a modified LRU replacement algorithm for a cache
DE2605617A1 (de) * 1976-02-12 1977-08-18 Siemens Ag Schaltungsanordnung zum adressieren von daten
US4084230A (en) * 1976-11-29 1978-04-11 International Business Machines Corporation Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control
US4214303A (en) * 1977-12-22 1980-07-22 Honeywell Information Systems Inc. Word oriented high speed buffer memory system connected to a system bus
GB2056135B (en) * 1977-12-22 1982-11-24 Honeywell Inf Systems Data processing system including a cache store
DE2842288A1 (de) * 1978-09-28 1980-04-17 Siemens Ag Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
JPS5619575A (en) * 1979-07-25 1981-02-24 Fujitsu Ltd Data processing system having hierarchy memory
US4315312A (en) * 1979-12-19 1982-02-09 Ncr Corporation Cache memory having a variable data block size
US4441155A (en) * 1981-11-23 1984-04-03 International Business Machines Corporation Page controlled cache directory addressing
US4430712A (en) * 1981-11-27 1984-02-07 Storage Technology Corporation Adaptive domain partitioning of cache memory space
IT1153611B (it) * 1982-11-04 1987-01-14 Honeywell Inf Systems Procedimento di mappatura della memoria in sistema di elaborazione dati
US4631660A (en) * 1983-08-30 1986-12-23 Amdahl Corporation Addressing system for an associative cache memory
US4916603A (en) * 1985-03-18 1990-04-10 Wang Labortatories, Inc. Distributed reference and change table for a virtual memory system
US4821185A (en) * 1986-05-19 1989-04-11 American Telephone And Telegraph Company I/O interface system using plural buffers sized smaller than non-overlapping contiguous computer memory portions dedicated to each buffer
JPH0673114B2 (ja) * 1987-03-31 1994-09-14 日本電気株式会社 キヤツシユ制御装置
US5155834A (en) * 1988-03-18 1992-10-13 Wang Laboratories, Inc. Reference and change table storage system for virtual memory data processing system having a plurality of processors accessing common memory
CA1301367C (en) * 1988-03-24 1992-05-19 David James Ayers Pseudo set-associative memory cacheing arrangement
US5257395A (en) * 1988-05-13 1993-10-26 International Business Machines Corporation Methods and circuit for implementing and arbitrary graph on a polymorphic mesh
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
US5455775A (en) * 1993-01-25 1995-10-03 International Business Machines Corporation Computer design system for mapping a logical hierarchy into a physical hierarchy
US5586294A (en) * 1993-03-26 1996-12-17 Digital Equipment Corporation Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5388247A (en) * 1993-05-14 1995-02-07 Digital Equipment Corporation History buffer control to reduce unnecessary allocations in a memory stream buffer
US5983322A (en) * 1997-04-14 1999-11-09 International Business Machines Corporation Hardware-managed programmable congruence class caching mechanism
US6026470A (en) * 1997-04-14 2000-02-15 International Business Machines Corporation Software-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels
WO2001006371A1 (en) * 1998-07-21 2001-01-25 Seagate Technology Llc Improved memory system apparatus and method
US6205511B1 (en) * 1998-09-18 2001-03-20 National Semiconductor Corp. SDRAM address translator
US6728823B1 (en) * 2000-02-18 2004-04-27 Hewlett-Packard Development Company, L.P. Cache connection with bypassing feature
US7080207B2 (en) * 2002-04-30 2006-07-18 Lsi Logic Corporation Data storage apparatus, system and method including a cache descriptor having a field defining data in a cache block
US20090327597A1 (en) * 2006-07-14 2009-12-31 Nxp B.V. Dual interface memory arrangement and method
KR100764052B1 (ko) * 2006-08-03 2007-10-08 삼성전자주식회사 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법
US20110321052A1 (en) * 2010-06-23 2011-12-29 International Business Machines Corporation Mutli-priority command processing among microcontrollers
US20140189244A1 (en) * 2013-01-02 2014-07-03 Brian C. Grayson Suppression of redundant cache status updates
US10235103B2 (en) * 2014-04-24 2019-03-19 Xitore, Inc. Apparatus, system, and method of byte addressable and block addressable storage and retrival of data to and from non-volatile storage memory
US20220404975A1 (en) * 2014-04-24 2022-12-22 Executive Advisory Firm Llc Apparatus, system, and method of byte addressable and block addressable storage and retrieval of data to and from non-volatile storage memory
US10592414B2 (en) * 2017-07-14 2020-03-17 International Business Machines Corporation Filtering of redundantly scheduled write passes

Family Cites Families (3)

* 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
US3699533A (en) * 1970-10-29 1972-10-17 Rca Corp Memory system including buffer memories
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing

Also Published As

Publication number Publication date
FR2248577B1 (de) 1976-10-22
CA1017872A (en) 1977-09-20
JPS5322409B2 (de) 1978-07-08
DE2445617A1 (de) 1975-04-30
GB1488043A (en) 1977-10-05
JPS5068748A (de) 1975-06-09
FR2248577A1 (de) 1975-05-16
IT1022435B (it) 1978-03-20
US3840863A (en) 1974-10-08

Similar Documents

Publication Publication Date Title
DE2445617C2 (de) Hierarchische Speicheranordnung
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
EP1222739B1 (de) Rekonfigurierbares gate-array
DE2515696C2 (de) Datenverarbeitungssystem
DE2260353C2 (de) Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage
DE2231146C3 (de) Datenverarbeitungsanlage mit virtueller Adressierung
DE2240433A1 (de) Hierarchische datenspeichereinrichtung
DE2547488C2 (de) Mikroprogrammierte Datenverarbeitungsanlage
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2640357A1 (de) Wortgruppenprioritaetsanordnung
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
EP0134822B1 (de) Digitalspeicher
DE3000012A1 (de) Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
EP0009625B1 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
CH495584A (de) Datenverarbeitungsanlage
DE2750126A1 (de) Datenverarbeitungssystem mit einem zwischenpufferspeicher
EP1081599B1 (de) Multiprozessorsystem
EP1559111A1 (de) Verfahren zum betreiben einer speicheranordnung
DE3633227A1 (de) Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage
DE102006041306A1 (de) Speicherverwaltungs-Schaltungsanordnung und Speicherverwaltungsverfahren
DE4342521C1 (de) Verfahren und Anordnung zur Expansion komprimierter Daten
DE3918453C2 (de) LRU-Schaltung
DE10056764B4 (de) Verfahren und System für eine verbesserte Nutzung der Puffergröße in einem parallelen Prozessor
DE2417840C3 (de)

Legal Events

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