DE2445617A1 - Hierarchische speicheranordnung - Google Patents

Hierarchische speicheranordnung

Info

Publication number
DE2445617A1
DE2445617A1 DE19742445617 DE2445617A DE2445617A1 DE 2445617 A1 DE2445617 A1 DE 2445617A1 DE 19742445617 DE19742445617 DE 19742445617 DE 2445617 A DE2445617 A DE 2445617A DE 2445617 A1 DE2445617 A1 DE 2445617A1
Authority
DE
Germany
Prior art keywords
memory
address
buffer
data
classes
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
DE19742445617
Other languages
English (en)
Other versions
DE2445617C2 (de
Inventor
Robert Randolph Fuqua
Gerald Bernhard 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

Amtliches Aktenzeichen:
Neuanmeldung
Aktenzeichen der Anmelderin:
BU 972 018
Hierarchische Speicheranordnung
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 verwendet, 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 über-
509818/1040
einstimmen. Da eine übertragung von einzelnen, jeweils benötigten Bytes von höheren Stufen der Hierarchie (d.h. größeren Speichern), zu niedrigeren Stufen der Hierarchie (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 zzwischen 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 Datenblocks im Hauptspeicher und 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 einer1 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 Fehlanpassung 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.
509818/1046
BU 972 018
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öße der Datenübertragungswege, ab. Ein Datenblock ist also die Datenmenge, die jeweils zwischen benachbarten Stufen der Hierarchie übertragen 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 Tabelleneinrichtung, die als Verzeichnisspeicher bezeichnet werden kann, notwendig, die angibt, welche Datenblöcke z.Zt. im Pufferspeicher gespeichert sind. Der Tabellenspeicher besteht aus einem Adressembereich, einem Ersatzbereich und geeigneten Steuerschaltungen. Im Adressenbereich sind die Adressen der z.Zt. im Pufferspeicher vorhandenen Datenblö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, welche es gestatten, festzustellen, welcher Datenblock im Pufferspeicher durch einen neu einzuschreibenden Block ersetzt werden kann. Der Ersatzbereich steuert die Blockaustauschoperationen. 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 Pufferspeicherbereiche gibt es zwei Möglichkeiten.Die erste Möglichkeit wird assoziativ und ungebunden genannt, während die zweite Möglichkeit mit teilassoziativ oder gebunden bezeichnet werden kann. Nach der
S 0 9 8 18/1046-
BU 972 018
assoziativen Abbildung kann jeder Block im Hauptspeicher in jedem Blockrahmen oder Fach des Pufferspeicher gespeichert sein. Der Vorteil dieser Methode besteht darin, daß alle verfügbaren Blockrahmen, d.h., Speicherbereiche, die einen Datenblock 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 Blocks aus dem Hauptspeicher zu finden. Außerdem gestalten sich nach dieser Methode die Austauschalogrithmen zum Freimachen ein°s Blocks 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 Klasse ist dabei eine adressierbare Untereinheit des Haupt- und des Pufferspeichers. Eine Klasse im Hauptspeicher enthält X Anzahl von Blöcken, während eine Klasse im Pufferspeicher N Anzahlblöcke speichert. Hierbei ist N wesentlich kleiner als X. Alle Blöcke einer bestimmten Hauptspeicherklasse kommen zur Abspeicherung in der begrenzten Anzahl von Blockrahmen in der betreffenden Klasse im Pufferspeicher in Betracht. Als Buch wird dabei eine Reihe des Hauptspeichers bezeichnet. Die Gesamtanzahl von Bachadressen ist dabei gleich für jede Klasse im Hauptspeicher. Ein Buch enthält so viele Blöcke wie es Klassen gibt, daher ist die Buchkapazität in Worten gleich dem Produkt der Anzahl Klassen mal Blockgröße.
Eine Zeile des Pufferspeichers wird mit Fach bezeichnet. Ein Pufferspeicher mit N Fächern kann als N-fach assoziativ bezeichnet werden. Die genannten Zusammenhänge in einer 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 imIBM Systems Journal, Band 7, Nr. 1, 1968, Seite 2 beschrie-
BU 972 018 609818/10*6
ben. Eine teilssoziative, gebundene Speicherhierarchie ist in der GE OS 1 956 604 beschrieben.
Die bekannten Speicherhierarchien stehen 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 zumeist 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 mit dem Pufferspeicher gesehen wurde und daher unabhängig von diesem erzeugt wurde. Dies brachte mit sich, daß man die Möglichkeit von Verbindungsvariationen zwischen Haupt- und Pufferspeicher vorsehen mußte, wobei die tatsächlichen Verbindungen bei der 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.
Diese Zusammefassung des Hauptspeichers und Pufferspeichers auf dem gleichen Teil gestattet es sicherlich, eine Verminderung 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
509818/1046
BU 972 018
Pufferspeicher auf dem Teil fest vorgegeben waren und nicht mehr verändert werden konnten, während andererseits jedoch für verschiedene Abbildungsvariationen jeweils eine andere Leitungsführung notwendig gewesen wäre.
Der Erfindung liegt daher die Aufgabe zugrunde, unter Beibehaltung der vorteilhaften Produktion der Speicherhierarchie auf einem einzigen Maschinenteil, z.B. einem Chip, eine Rekonfiguration der AbbildungsVerhä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 eine 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 100 %ige Ausnutzung des Pufferspeierraumes, eine Konfiguration mit mehreren Klassen gewählt werden. Hierbei kann wohl 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 erfindungsgemäße neue Hierarchie mit fester Zuordnung zwischen Haupt- und Pufferspeicher gestattet auch die übertragung von Blökken variabler Größe sowie die Wahl einer gewünschten Anzahl von Klassen für solche Blöcke. Die Erfindung kann dabei unabhängig
972 018 5098 18/1046
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 Fign. gezeigten Ausführungsbeispieles näher beschrieben werden.
Es zeigen:
Fig. 1 ein Blockschaltbild einer bekannten Speicherhierarchie ,
Fign. 2a bis 2c kongruente Abbildungskonzepte, welche die Unterteilung des Hauptspeichers und des Pufferspeichers in unabhängige kongruente Klassen angeben,
Fig. 3 ein Blockschaltbild der erfindungsgemäße Speicherhierarchie, und
Fig. 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 12, dem Verzeichnisspeicher 14 und dem Speicheradressenregister (SAR) 16. SAR 16 hat eine Kapazität von n-Adressenbits, so daß 2n-Bytes im Hauptspeicher adressiert werden können. Der Hauptspeicher ist in 2n"m-Bücher, 2m"k-Klassen und in 2 -Bytes innerhalb einer Klasse (Blockgröße) unter-
BU 972 018 5098 18/1046
teilt. Mit den n-Adressenbits in SAR 16 kann also jedes der 2 Bytes adressiert werden.
Der Pufferspeicher 12 hat, wie aus Fig. 1 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 nichtgezeigte Speichersteuerung SCU 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 10 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 benutzt werden. Im Ersatzbdreich 20 kann auch ein Einspeicher-Statusbit (SIS) gespeichert werden, das anzeigt, ob eine 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 Einrichtungen 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 A und der Anzahl von Adressenbits der Buchadresse (n-m) ab. Die Kapazität des Adressenbereiches beträgt also für eine bestimmte hierarchische Konfiguration CA(n-m)-Bits,
BU 972 018 50981 8/ 1 0 46
In gleicher Weise ist die Anzahl der Bits, die im Ersatzbereich gespeichert werden müssen, eine Funktion der Pufferassoziativität A, der Anzahl von Bits, die zur Beschreibung des Austauschalgorithmus REP 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 C(REP(A) + BA) Bits.
Zur Steuerung der bekannten Speicherhierarchien sind verschiedene Anordnungen für den Verzeichnisspeicher möglich, wie sich aus den in der Beschreibungseinleitung 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 dabei als Assoziativspeicher ausgeführt sein. Das Suchargument für den assoziativen Vergleich stellt dabei die Buchadresse dar. Bei einem positiven Vergleich wird die betreffende Pufferfachadresse geliefert.
In den Fign. 2A bis 2C ist schematisch dargestellt, wie ein Hauptspeicher mit einer Kapazität von 2n adressierbarer Einheiten unter Verwendung eines Pufferspeichers mit 8 Pufferfächern, d.h., 8-facher Assoziativität in kongruente Klassen unterteilt werden kann. In Fig. 2A ist eine Hierarchie mit einer einzigen Klasse gezeigt, in der jede der 2 adressierbaren Dateneinhi Fächer des Puffers gespeichert werden kann.
in der jede der 2 adressierbaren Dateneinheiten in jedem der 8
In Fig. 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 Hauptspeicherbereiches nur in den zweiten 4 Fächern des Pufferspeichers gespeichert werden kann.
Fig. 2C zeigt ein System mit 4 Klassen im Hauptspeicher, die nur in 2 Fächern des Pufferspeichers gespeichert werden können.
BU 972 018 509818/10/16
Wie bereits eingangs beschrieben, können Datenübertragungen zwischen Puffer- und Hauptspeicher in den bekannten Einrichtungen über Verbindungskabel durchgeführt werden. Der Pufferspeicher ist dabei in den bekannten Einrichtungen in der Speichersteuerung untergebracht, welche auch die Kanaleinrichtungen, die dynamische Adressenübersetzung für die virtuellen 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 Großintegrations-Möglichkeiten kann nunmehr der schnelle Pufferspeicher zusammen mit dem langsamen, jedoch dicht gepackten Hauptspeicher auf dem gleichen Teil, z.B. demselben Chip gefertigt werden. 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 Groß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 aus 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. Fig. 3 zeigt neben den bereits im Zusammenhang mit Fig. 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 unabhängig ist, von der jeweils gewählten Konfiguration, können diese Bezeichnungen immer vom Verzeichnisspeicher 14 zur Feststellung verwendet werden, ob die gewünsch-
509818/1046
BU 972 018
ten Daten ζ.Zt. im Pufferspeicher gespeichert sind. Fig. 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 n, 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, d.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 Konfiguration der maximale Wert für n-m bestimmt werden. Sodann wird die maximal gewünschte Assoziativität
A festgestellt. Die Kapazität des Adreßbereichwortes und die max
Anzahl der Vergleichsschaltungen wird sodann A
max
in-m)max Bits·
Wenn der Puffer z.B. mit einer kleineren Assoziativität A ausgelegt wird, werden manche zusätzliche Klassenadressenbits (m-k) dazu benutzt, die betreffenden 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 * 10 Bits und einen Pufferspeicher mit 32k Bytes für die 4 verschiedenen Pufferorganisationen:
Buch
Klasse
Byte
Assoziativität
(2n"m) (2rn-k}
(2kBytes)
(2A)
64 64 64 64
64 16 128 64
32 128 64 128
16 16 4 4
In diesem Falle sind für die Buchadresse (n-m) 6 Buchbits notwendig, wobei diese Anzahl konstant bleibt. Die maximale Assoziativität
BU 972 018
5 0 9818/1046
2A ist gleich 16 und die Wortlänge des Adressenbereiches 18 ist gleich A (n-m) , d.h. 24 Bits. Der Adressenbereich 18 muß deshalb 64 Worte zu je 24 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 Austauschalgorithmus abhängt.
Anhand von Fig. 3 soll 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 geänderten hierarchischen Konfiguration weist die Puffer nun 8 effektive Pufferfä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. 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 Klassenadresse verschiedene Anordnungen denkbar.
Der Verzeichnisspeicher kann auch als assoziatives Verzeichnis ausgeführt werden, indem die gesamte Pufferadresse direkt von
Bü 972 018 509818/1046
einem vollassoziativen Adressen- und Ersatzbereich erzeugt wird. Ein assoziatives Verzeichnis ist unabhängig von der Anzahl Klassen und der Assoziativ!tat. Es ist einfach eine Funktion der Anzahl Eintragungen A · (m-k) und der Eintragungsgröße (n-m).
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 solche dynamische Steuerung ist in Fig. 3 durch den Eingang 34 zur Einrichtung 30 dargestellt.
Fig. 4 zeigt 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 funktioneile Auf-Chip-Hierarchie (HOC) mit einem
η k+A
2 Hauptspeicher und einem 2 Pufferspeicher. Das Speicheradressenregister 16 befindet sich außerhalb des Chips und speichert die Adressenbits (n-m) für die Buchadresse, m-k für die Klassenadresse und k für die Bitadressen innerhalb eines Blocks.
n—k—i Der Hauptspeicher 10 ist als Speicher mit 2 J Wortleitungen und 2n -1 Bitleitungen organisiert. Die 2 3 Bitleitungen vom Haupt-
v speicher 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
A k " ' ■ A
2 Wortleitungen und 2 Bitleitungen auf. Jede der 2 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 ge-
509818/1046
Bü 972 018
statten somit die Übertragung eines Bytes.
Zum Betrieb der in Fig. 4 gezeigten Hierarchie sind insgesamt n+A Adressenleitungen notwendig. Die (n-k-j) Adressen gestatten die Auswahl einer der 2 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 k Bitblockadreßieitungen wählen eine der 2 Pufferbitleitungen aus und die A Pufferfachadreßleitungen, die mit dem Verzeichnisspeicher verbunden sind,
A k
wählen eine der 2 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 Pufferoder 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 gezeigt. Das Chip 40 kann
A A—I
als 2,2 , ... 1-fache einfache assoziative Hierarchie betrieben werden. Jede dieser-Konfigurationen hat eine Blockgröße von 2 Bits und gibt damit die Gesamtanzahl von Leitungen zwischen Haupt- und Pufferspeicher an.
In der Einklassen-Konfiguration kann eine 2 Bitgruppe in jedes
A k
der 2 Pufferfächer übertragen werden. Diese 2 Bitgruppe kann von jeder der 2n~ "3 Wortleitungen und jedem Viertel der 2 3 Bitleitungen im Hauptspeicher 42 kommen und daher ihren Ursprung in jedem der 2 Bücher der Einklassen-Konfiguration haben. Alle n+A Adressenbits werden für die Einklassenkonfiguration gebraucht.
A—I Die Zweiklassen-Konfiguration ist mit einer 2 -fachen Assoziativität verbunden. Die Kapazität des Pufferspeichers beträgt konstant 2 Bits. Für die Abbildung der 2n K Bücher bestehen nun die folgenden Bedingungen. Eine Anzahl von 2n~m Bücher werden in die erste Hälfte des Pufferspeichers 44 abgebildet und die
BU 972 018 5 0 9 8 1 8 / 1 Q A 6
restlichen 2n"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 Wortleitungen 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. Fur die Zweiklassen-Konfiguration sind n+A-1 Bits für das Speicheradressenwort nötig. Eines der A Pufferwortleitung-Ädressenbit entspricht einem der Adressenbits und gibt die obere oder untere Hälfte des Hauptspeichers an. Dementsprechend, werden für die Vierklassen-Konfiguration n+A-2 Adressenbits benötigt .
Das folgende Beispiel zeigt nochmals die dynamische Rekonfigurationsmöglichkeit der Erfindung.
Es soll z.B. ein Hauptspeicher von 32k Bits und ein Pufferspeicher von 512 Bits vorhanden sein. Zur Darstellung der Hauptspeicheradresse, welche dem Speicheradressenregister zugeführt wird, sind insgesamt n=l8 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 Pufferfachadresse A=3 Bits benötigt 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.
BU 972 018 5098 18/1046
Bitübertragung TABELLE Bücher Konfiguration
Klassen 64 Assoziativität 512 1
1 64 8 256 2
2 64 4 128 3
4 64 2 64 4
8 1
Diese vier Konfigurationen können in Verbindung gebracht werden mit den Adressen für Bücher, Klassen und Bytes. Die folgende Tabelle zeigt, welche Adressenbits für die verschiedenen Konfigurationen dem Chip zugeführt werden.
TABELLE Konfigurations-Nr.
Buch (n-m) 9 8 7 6
Kongruenzklasse (m-k) 0 12 3
Byte (k) 6 6 6 6
Assoziativität 3 2 10
Gesamtanzahl nötiger Chipadressenbits 18 17 16 15
In diesen Konfigurationen ergibt die Decodierung der sieben Worte (n-k-2) und die zwei Decoderbits 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 notwendig. Z.B. sind für die Konfiguration 3, eine Vierklassen-Konfiguration, nur 16 der 18 verfügbaren Adressenbits notwendig. Deshalb können zwei Adresseneingänge untereinander und mit zwei der 16 notwendigen Pfade verbunden werden. Um jedoch die dynamische Rekonfiguration möglich zu machen, werden die Adressen kombiniert und vom Verzeichnisspeicher gesteuert, wie oben beschrieben.
Die oben angegebenen Einrichtungen können auch derart modifiziert und verwendet werden, daß die Verwaltung von größeren Lochkapazi-
BU 972 018 509818/1046
täten oder einer höheren Anzahl von Kongruenzklassen möglich wird. Z.B. 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 2 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 Assoziativ!tat des Puffers 44 vergrößert. In einem Pufferspeicher fester Größer verringert die Verwendung eines der k Bits als zusätzliches Klassenadressenbit die Blockgröße auf 2k~1.
Im obigen Ausführungsbeispiel wurde gezeigt, wie eine Speicherhierarchie, die dem Rechnersystem als feste Konfiguration erscheint, dynamisch derart geändert werden kann, daß die Assoziativität, die Blockgröße und die Anzahl der Kongruenzklassen je nach den Gegebenheiten und Anforderungen geändert werden kann.
972 018 509818/1046

Claims (7)

  1. PATENTANSPRÜCHE
    Hierarchische Speicheranordnung in einer Datenverarbeitungsanlage mit mindestens einem ersten, größeren und langsameren Speicher und einem zweiten kleineren und schnelleren Speicher, wobei die Daten im ersten Speicher in eine bestimmte Anzahl Klassen mit jeweils einer bestimmten Anzahl Blocks eingeteilt sind, die mit einer ersten Speicherblockadresse adressiert werden können, und wobei die Daten im zweiten Speicher in dieselbe Anzahl Klassen mit jeweils einer kleineren Anzahl Blocks als im ersten Speicher eingeteilt sind, die jeweils mit einer zweiten Speicherblockadresse adressiert werden können, die zumindest teilweise von einem Verzeichnisspeicher zur Speicherung der Adressen der im zweiten Speicher gespeicherten Datenblöcke geliefert wird,
    gekennzeichnet durch Einrichtungen (22, 30) zur Veränderung der Anzahl Klassen und der vom Verzeichnisspeicher (14) gelieferten zweiten Blockadresse, derart, daß alle Datenblöcke im zweiten Speicher (12, 44) auch nach Veränderung der Anzahl Klassen adressiert werden können.
  2. 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Einrichtungen (22, 30) von der Befehlssteuerung der Datenverarbeitungsanlage gesteuert werden.
  3. 3. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Anzahl Klassen um einen Faktor 2n erhöht wird, wobei η Adreßbits der von der zentralen Verarbeitungseinheit gelieferten Adresse in der zweiten Blockadresse verwendet werden.
  4. 4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die η Adressenbits Teil der ersten Blockadresse sind.
    Bü 972 018 5098 18/1 04 6
  5. 5. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die η Adressenbits Teil der Byteadresse sind.
  6. 6. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der erste Speicher (10) und der zweite Speicher (12) mit festen Verbindungen untereinander auf demselben Halbleiterchip (40) untergebracht sind.
  7. 7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß Blockübertragungen zwischen dem ersten Speicher (10) und dem zweiten Speicher (12) bitparallel durchgeführt werden.
    BU 972 018 50981 8/ 1 046
    L e e r s e ι t e
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 true DE2445617A1 (de) 1975-04-30
DE2445617C2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2855856A1 (de) * 1977-12-22 1980-01-10 Honeywell Inf Systems Datenverarbeitungssystem

Families Citing this family (38)

* 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
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
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
US5983322A (en) * 1997-04-14 1999-11-09 International Business Machines Corporation Hardware-managed programmable congruence class caching mechanism
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1956604A1 (de) * 1968-11-14 1970-06-11 Ibm Datenverarbeitungsanlage mit einem Speichersystem
DE2154106A1 (de) * 1970-10-29 1972-05-04 RCA Corp., New York, N.Y. (V.StA.) Arbeitsspeicherwerk
DE2230266A1 (de) * 1971-06-29 1973-01-11 Ibm Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierung

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1956604A1 (de) * 1968-11-14 1970-06-11 Ibm Datenverarbeitungsanlage mit einem Speichersystem
DE2154106A1 (de) * 1970-10-29 1972-05-04 RCA Corp., New York, N.Y. (V.StA.) Arbeitsspeicherwerk
DE2230266A1 (de) * 1971-06-29 1973-01-11 Ibm Datenverarbeitungsanlagen mit einer zentraleinheit unter verwendung virtueller adressierung

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IBM Systems Journal, Bd. 5, Nr. 2, Seiten 78 bis 101 (1966) *
IBM Systems Journal, Bd. 7, Nr. 1, Seite 2, (1968) *
IBM Systems Journal, Bd. 9, Nr. 2, Seiten 78 bis 117 (1970) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2855856A1 (de) * 1977-12-22 1980-01-10 Honeywell Inf Systems Datenverarbeitungssystem

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2445617A1 (de) Hierarchische speicheranordnung
DE3011552C2 (de)
EP1222739B1 (de) Rekonfigurierbares gate-array
DE2154106A1 (de) Arbeitsspeicherwerk
DE2260353C2 (de) Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage
DE2240433A1 (de) Hierarchische datenspeichereinrichtung
EP0908893B1 (de) Speicherarchitektur mit Mehrebenenhierarchie
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2547488C2 (de) Mikroprogrammierte Datenverarbeitungsanlage
DE3724317A1 (de) Speicherzugriffssystem
DE3438869A1 (de) Computersystem mit adressumwandlung
WO1996033499A1 (de) Inhalts-adressierbarer speicher
DE2501853A1 (de) Prozessor fuer ein datenverarbeitungssystem
DE2926322C2 (de) Speicher-Subsystem
EP0134822B1 (de) Digitalspeicher
EP0009625B1 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
DE2121490A1 (de) Orthogonaler Datenspeicher
CH495584A (de) Datenverarbeitungsanlage
DE102004006769B3 (de) Auslesevorrichtung
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
DE602004005806T2 (de) Serieller Speicher mit Mitteln zur Integration eines erweiterten Speicherfeldes
DE2750126A1 (de) Datenverarbeitungssystem mit einem zwischenpufferspeicher
DE2233164B2 (de) Schaltungsanordnung zur uebertragung von aufeinanderfolgenden bitstellen zwischen zwei registern
DE2721235A1 (de) Elektronischer prozessrechner zur steuerung des fernsprechverkehrs
EP1559111A1 (de) Verfahren zum betreiben einer speicheranordnung

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