DE2422732A1 - Hierarchische speicheranordnung - Google Patents
Hierarchische speicheranordnungInfo
- Publication number
- DE2422732A1 DE2422732A1 DE2422732A DE2422732A DE2422732A1 DE 2422732 A1 DE2422732 A1 DE 2422732A1 DE 2422732 A DE2422732 A DE 2422732A DE 2422732 A DE2422732 A DE 2422732A DE 2422732 A1 DE2422732 A1 DE 2422732A1
- Authority
- DE
- Germany
- Prior art keywords
- page
- memory
- data
- block
- levels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Die Erfindung betrifft eine hierarchische Speicheranordnung mit
Speichern höherer Kapazität und niedrigerer Geschwindigkeit in den höheren hierarchischen Stufen und Speichern niedrigerer Kapazität
und höherer Geschwindigkeit in den niedrigeren hierarchischen
Stufen.
In einer Datenverarbeitungsanlage wird stets versucht, die benötigten
Daten in einer solchen Weise abzuspeichern, daß sie der Steuerung und Verarbeitung unmittelbar zugänglich sind. Ein idealer
Speicher könnte alle benötigten Daten speichern und diese Daten der Verarbeitungseinheit mit hoher Geschwindigkeit zugänglich
machen. Der Preis eines Speichers ist jedoch dem Produkt aus Speicherkapazität und Zugriffsgeschwindigkeit direkt proportional,'
so daß sich in allen praktischen Fällen von größeren Datenverarbeitungsanlagen viel zu hohe Kosten für einen solchen Speicher ergeben
wurden. Die zur Zeit benutzten Hochgeschwindigkeitsspeicher haben daher eine relativ kleine Kapazität, die sehr oft für die
Verarbeitung eines längeren Benutzerprogrammes oder bei MuI-tiprograrninierung
nicht ausreicht.
Zur Lösung, dieses Problems sind bereits Speicheranordnungen bekannt
geworden, in df=rien ein Großraumspeicher, dessen Speicherkapazität
zur Speicherung aller vorgesehenen Daten ausreicht, mit einem klei-"jadoch
schnellen Pufferspeicher zusammenarbeitet, dessen
409881/0 7 80
Kapazität gerade groß genug ist, die zur Verarbeitung eines Benut
ze rprogramrties nötigen Daten zu speichern. Mit Hilfe der virtuellen
Adressierung können die Programme dabei so geschrieben werden, als ob alle Daten der Verarbeitungseinheit direkt im schnellen
Pufferspeicher zugänglich wären.
dritter Speicher, der gewöhnlich als Euordnungsspeicher bezeicnnet
wird, speichert dabei Anzeigen darüber, welche Daten aus dem Großraumspeicher sich auch im schnellen Pufferspeicher zu
einem bestimmten Zeitpunkt befinden. Wenn vom Benutzerprogramm ein bestimmtes Datenwort gewünscht wird, wird der Suordnungsspeicher
überprüft, um festzustellen, ob sich das gewünschte Wort im schnellen Pufferspeicher befindet. Wenn dies der Fall ist, wird
das Wort ausgelesen und verarbeitet. Wenn das Wort nicht im schnellen Pufferspeicher gespeichert ist, wird das gewünschte
wort im Großraumspeicher aufgesucht und in den schnellen Pufferspeicher übetragen. Da man festgestellt hat, daß der Zeitaufwand
zur Übertragung eines einzelnen Wortes oder des ganzen Datenblockes, der dieses Wort enthält, nicht sehr unterschiedlich ■
ist und da andererseits die Erfahrung lehrt, daß sehr oft auch andere Worte desselben Datenblockes zusätzlich zu dem gewünschten
Wort benötigt werden, wird bei einer notwendigen Übertragung der ganze Datenblock vom Großraumspeicher in den Stellenpufferspeicher
übertragen.
Eine solche Datenübertragung ist dann leicht durchführbar, wenn im schnellen Pufferspeicher noch Speicherraum zur Speicherung
des Datenblockes frei ist. Sehr oft ist dies jedoch nicht der Fall, und es muß daher ein Seitenaustausch durchgeführt werden.
Ein solcher Seitenaustausch ist dann problemlos, wenn eine bestimmte Seite im schnellen Pufferspeicher nicht mehr benötigt
wird.
In einer Speicheranordnung, die aus mehreren hierarchischen Stufen
aufgebaut ist, ist die übertragung von Daten, die von der Verarbeitungseinheit benötigt v/erden, naturgemäß schwieriger, als bei
Speicheranordnungen mit nur einer oder zwei Stufen.
FI 972 145 40988 1/0780
Sind mehrere Stufen vorhanden, muß festgestellt werden, in welcher
Stufe sich die benötigten Daten befinden. Von dieser Stufe wird' darauf eine Kopie dieser Daten zu der nächstniedrigeren Stufe übertragen.
Vor dieser'übertragung muß zunächst festgestellt werden,
welche Seite in dem niedrigeren rliveau am besten zum Austausch
geeignet ist. Enthält die solchermaßen ausgewählte Seite veränderte oder besonders markierte Daten, muß die betreffende Seite in dem
höheren Niveau auf den geänderten Stand gebracht v/erden, bevor die betreffende Seite in dem niedrigeren Niveau durch die neue, benötigte
Seite überschrieben werden kann. Die primäre Seitenübertragung, "welche sich aus der Anforderung von Daten durch die Verarbeitungseinheit
ergibt, zieht also eine Reihe von v/eiteren Datenübertragungen, d.h. sekundäre Übertragungen, nach sich.
Eine hierarchische Speicheranordnung mit mehreren Stufen ist in der US-Patentschrift 3 588 839 beschrieben. Es ist jedoch leicht
einzusehen, daß die Durchführung der genannten primären und sekundären Seitenübertragungen sehr viele Probleme aufwirft, die
in der genannten Patentschrift nicht optimal gelöst sind. Insoferne hat die beschriebene Einrichtung den Nachteil der aufwendigen
wiederholten Abspeicherung von vielen, noch nicht austauschreifen
Seiten. Der Erfindung liegt daher die Aufgabe zugrunde, eine Einrichtung
zum Auffinden eines Übertragungspfades zwischen den einzelnen Stufen einer hierarchischen Speicheranordnung anzugeben,
Vielehe eine günstige Durchführung der primären und sekundären Seitentransporte
gestattet.
Diese Aufgabe wird durch die im Kennzeichen des Hauptanspruches beschriebene Einrichtung gelöst.
Die Erfindung hat den Vorteil, daß durch die genannte Einrichtung der Seitenaustausch in einer hierarchischen Speicheranordnung
vereinfacht wird.
Die Erfindung soll nun anhand eines in den Figuren gezeigten
Ausführungsbeispieles näher beschrieben werden. Es zeigen:
FI 972 145 40988 1/0780
Fig. 1 das Blockdiagramm einer bekannten hierarchischen Speicheranordnung, zur Darstellung des
Vorganges bei Blockübertragungen
Fig. 2 das Blockdiagramm einer hierarchischen Speicheranordnung
zur Darstellung der erfindungsgemäßen Blockübertragung,
Fig. 3 das Blockdiagramm einer hierarchischen Speicheranordnung, in dem die verschiedenen Speicher-
und Steuerungseinrichtungen zu jeder Stufe in einer bevorzugten Ausführungsform
der Erfindung dargestellt sind,
Fig. 4 ein Blockdiagramm, in dem die Zuordnung der
gezeigten Speicher- und Steuerungseinheiten zueinander und die Verwendung eines Bündels
von Steuerleitungen beschrieben ist,
Fign. 5a und 5b Flußdiagramme zur Erläuterung der Aktionsund
Entscheidungselemente, die mit einer bestimmten
Speicherstufe verbunden sind und
Fign. 6a und 6b Blockschaltbilder der Aktions- und Entscheidungseinheiten
einer Speicherstufe in einer anderen bevorzugten Ausfuhrungsform.
Mit den gegenwärtigen Technologien ist es zur Zeit ökonomisch noch nicht möglich, Speicher mit einer Kapazität von mehreren
Millionen Bits und einer Zugriffszeit von weniger als eine Mikrosekunde
zu bauen. Außerdem enthalten die meisten Computerprogramme Abschnitte, in denen der Speicher sequentiell adressiert
wird, oder in denen gewisse Speicherabschnitte wiederholt adressiert werden. Während der Ausführung eines solchen Programmes
wird also nur ein relativ kleiner Teil der Informationen im gesamten Speicher benötigt. Diesen Gegebenheiten trägt die in Fig.
Λ 0 9 8 81 /0780
FI 972 145
1 gezeigte bekannte hierarchische Speicheranordnung Rechnung.
Der Speicher H. der höchsten Stufe, der gewöhnlich als Unterstützungsspeicher
bezeichnet wird, stellt den gesamten Adressenraum der Anlage, in der die Verarbeitungseinheit die Programme
durchführt, zur Verfügung, wobei die Adressierung der Pufferspeicher in den Zwischenstufen im Programm nicht zum Ausdruck
kommt, sondern von der Anlage automatisch gesteuert wird. Man sagt, daß die Pufferspeicher aller Zwischenstufen für die Verarbeitungseiheit
"transparent" sind. In den Pufferspeichern der · Zwischenstufen werden die Seiten abgespeichert, von denen angenommen
wird, daß sie mit einer relativ hohen Wahrscheinlichkeit zur alsbaldigen Verwendung gebraucht werden. Durch eine solche
hierarchische Speicheranordnung wird also erreicht, daß der Verarbeitungseinheit ein Speicher mit der Gesamtkapazität des
Adressierungsraumes und mit der raschen Zugriffsgeschwindigkeit eines schnellen Pufferspeichers zur Verfügung steht.
Der Wirkungsgrad einer solchen Speicherhierarchie, d.h., die mittlere Geschwindigkeit, mit der ein Zugriff zu den Daten erfolgen
kann, ist eine komplexe Funktion der verschiedenen Kapazitäten der Pufferspeicher, der Seitengrößen, der Unterteilung,
der Zwischen-Pufferspeicher in kongruente Klassen, der verwendeteten Seitenaustausch-Algorithmen und schließlich der Art der
verwendeten Programme.
In der nachfolgenden Beschreibung werden mit "Seiten" feste Informationsbeträge
gemeint, die zwischen zwei benachbarten Stufen der Hierarchie übertragen werden. In höher liegenden Stufen
werden dabei Seiten größeren Umfanges übertragen. Mit "kongruenten" Klassen werden entsprechende Unterteilungen in jeweils einem
Paar benachbarter Speicherstufen bezeichnet, derart, daß bei einer Seitenübertragung zwischen diesen Stufen die Grenzen der
entsprechenden Unterteilungen nicht überschritten werden dürfen. Mit "Seitenaustausch-Algorithmus" wird die logische Regel bezeichnet,
durch die eine bestimmte Seite in einem bestimmten Pufferspeicher als auszutauschende Seite angezeigt wird, d.h. als
Fi 972 145 409881/0780
die Seite, die Platz machen muß zur Einspeicherung einer neuen
nunmehr benötigten Seite. Beispielsweise können einem solchen Algorithmus die folgenden Prinzipien zugrundeliegen: "Zuerst
ein, zuerst aus", "Benutzung zeitlich am weitesten zurückliegend" und "am wenigsten häufig benutzt".
In dem in den folgenden Figuren gezeigten Ausführungsbeispiel soll eine neue Methode beschrieben werden, mit der rasch und ohne
großen zeitlichen Aufwand ein Übertragungspfad in der Hierarchie zur Seitenübertragung gefunden wird, bzw. frei gemacht wird.
Mit der nachfolgend beschriebenen Methode werden die Nachteile der bekannten Einrichtung vermieden, die in der aufwendigen wiederholten
Abspeicherung von vielen, noch nicht austauschreifen
Seiten bestehen.
Durch die Vorteile der nachfolgend beschriebenen Methode kann die Zugriffszeit der Speicherhierarchie verkürzt werden. Dieser Vorteil
wird dadurch erzielt, daß die Freimachung eines Übertragungspfades effektvoller ist als übliche Seitenaustauschverfahren. Besonders
in modernen Anlagen, in denen zunehmend mehr stufen in der Speicherhierarchie verwendet werden, ergeben sich durch die
im Ausführungsbeispiel gezeigte Methode große Zeit- und Materialvorteile.
Wesentlich für die nachfolgend beschriebene Methode ist die andere
Reihenfolge der Gruppen von elementaren interhierarchischen Operationen, wie sie in den bekannten Seitenaustauscheinrichtungen
in einer Speicherhierarchie benutzt werden. Zu den bekannten Einrichtungen wird dabei eine einfach aufgebaute Einrichtung der
"Pfadzeiger" hinzugefügt, während andererseits beträchtliche Einsparungen in der bisher verwendeten Logik, insbesondere hinsichtlich
der Seitenübertragungssteuerungen, erzielt werden. Wichtiger als die genannte Einsparung an Baueelementen erscheint jedoch
die Verkürzung der Zugriffszeit zu der Speicherhierarchie.
Aus Fig. 3 ist ersichtlich, daß in jeder Stufe der Speicherhierar-
409881/0780
FI 972 145
chie ein Zuordnungsspeiedier 80, ein Austauschseitenanzeiger 82,
eine Rückspeichersteuerung 84 und eine übertragungssteuerung 86
vorgesehen sind. In Fig. 3 ist auch gezeigt, daß für den Unterstütz ungsspeieher 88 kein Zuordnungsspeicher, kein Austauschseitenanzeiger
oder Rückspeichersteuerung vorgesehen ist, da in dieser Speicherstufe die gesamte, zur Verarbeitung anstehende Information
gespeichert ist.
Es ist Aufgabe des Zuordnungsspeichers 80, die Identität aller im zugeordneten Pufferspeicher 6 4 abgespeicherten Seiten zu jedem
Zeitpunkt anzuzeigen. Die Identität der betrachteten Daten, ob es nun eine ganze Seite oder nur ein Wort ist, geht aus der
Adresse dieser Seite, oder des Wortes innerhalb des gesamten Adreßraumes
des Unterstützungsspeichers hervor und deshalb muß die sogenannte "Nennadresse" im Zuordnungsspeicher 80 zur gleichen
Zeit gespeichert werden, zu der die Seite selbst in dem betreffenden Pufferspeicher gespeichert wird, wobei die Speicherung der
Wennadresse im Zuordnungsspeicher in einer Speicherstelle erfolgt, die in einem festzugeordneten 1:1-Ortsverhältnis zu der betreffenden
Speicherstelle im Pufferspeicher steht. Wenn hiernach eine neue Seite in den Pufferspeicher gelesen wird und dabei eine alte
Seite ersetzt wird, muß selbstverständlich auch die neue Nennadresse
in der zugeordneten Speicherstelle im Zuordnungsspeicher die alte Nennadresse ersetzen.
Wenn bei der Verarbeitung eines Programmes von der Verarbeitungseinheit
60 eine bestimmte Seite oder ein Wort zur Verarbeitung angefordert wird, wird die betreffende Nennadresse von der Verarbeitungseinheit
ausgegeben. Hiernach erfolgt entweder nacheinander oder gleichzeitig in den verschiedenen Zuordnungsspeichern
der Speicherhierarchie ein Vergleich der gewünschten Nennadresse mit den in den Zuordnungsspeichern gespeicherten Nennadressen.
Als Abschluß dieser Adressensuche wird von der niedrigsten Spei-' cherstufe, in der ein positiver Adressenvergleich festgestellt
wurde, entweder eine Vorwärts-Seitenübertragung zu einem niedrigeren Niveau ausgelöst oder die zuaeordnete übertragungssteuerung
409881/078 0
FI 972 145
führt eine gewünschte Lese- oder Schreiboperation aus, wenn sie die antwortende übertragungssteuerung ist. Dies soll weiter unten
in der nachfolgenden Beschreibung noch näher erklärt werden.
Als günstigste Ausführung für einen Zuordnungsspeicher kann ein Assoziativspeicher verwendet werden. Andererseits ist auch die
Verwendung eines schnellen Speichers mit einer eingebauten automatischen Sucheinrichtung möglich.
Im Zuordnungsspeicher 80 ist noch eine zweite neue Einrichtung vorgesehen, welche nachfolgend als Seitenmarkierer 81 bezeichnet
wird. Dieser Seitenmarkierer wird in einer Speicherhierarchie verwendet, in der die von der Verarbeitungseinheit geänderten Daten
nicht bis zum höchsten Niveau "durchgespeichert" werden. Z.B. werden die Daten nur in dem niedrigsten Niveau H abgespeichert.
Der Seitenmarkierer 81 macht einfach Gebrauch von einem speziellen Speicherspit in jedem Wort des Zuordnungsspeicher, das im
Zuordnungsspeicher 80 der Stufe H-I als dunkle Speicherstelle gezeigt ist. Dabei wird eine "1" in diesem Seitenmarkierbit gespeichert,
wenn neue oder veränderte Information in der zugeordneten Seite gespeichert ist. Diese Eins wird durch eine Null ersetzt,
wenn der Inhalt der zugeordneten Seite gelöscht oder in die zugehörige Seite in einer höheren Stufe rückübertragen wurde.
Findet eine Seitenaustauschoperation statt, muß das Markierbit
erst auf Null gesetzt werden, bevor diese Seite durch eine andere überschrieben werden kann.
Es ist Aufgabe des Austauschseitenanzeigers 82, eine Austausch-Speicherstelle
anzugeben, d.h. die physikalische Adresse einer Seite, welche als nächste vorgesehen ist, durch eine neue Seite
in dem betreffenden Pufferspeicher überschrieben zu werden. Beim ursprünglichen Vollspeichern eines Pufferspeichers kann dabei der
Austauschseitenanzeiger 82 einfach die aufeinanderfolgenden Seitenadressen anzeigen. Der Austauschseitenanzeiger 82 kann z.B.
als einfaches Schieberegister ausgeführt sein, um den "zuerst in - zuerst aus"-Algorithmus (FIFO) zu realisieren, oder als
409881/0780
FI 972 145
doppelschleifiges bidirektionelles Schieberegister für den Algorithmus
zum Austausch der Seite, deren Verwendung zeitlich am weitesten zurückliegt (LRU). Es können auch einfache Unterroutinen
zur Realisierung des LRU-Algorithraus oder des Algorithmus zum Austausch der am wenigsten häufig verwendeten Seite
verwendet werden.
Die Rückspeichersteuerung 84 ist verantwortlich für die interhierarchischen
Rückspeicheroperationen. Sie erzeugt eine Rückspeicheranforderung und eine Adressensuchanforderung, wenn sie
eine logische Eins im Seitenmarkierer 81 an der Speicherstelle feststellt, die durch den Austauschseitenanzeiger 82 angezeigt
wird. Die Rückspeichersteuerung 84 erzeugt auch die Nennadresse für die Suchoperation. Diese Suchoperation findet dabei auf die
gleiche Weise statt, als wenn eine Anforderung von der Verarbeitungseinheit 60 erfolgt wäre. Es wird jedoch nur in Speicherstufen
gesucht, die höher liegen als die Stufe, von der die Anforderung ausging. Dies wird durch die" Verwendung eines Adressenschalters
42 (Fign. 5a und 6a) und einer ODER-Schaltung für die Anforderungssignale erzielt, wie weiter unten noch beschrieben wird.
Die Rückspeichersteuerung 84 besorgt auch das Setzen und Rückstellen
der Seitenmarkierer 81 im Zuordnungsspeicher 80 nach Erledigung der Seitenwiederherstellungs- oder Rückspeicheroperation.
Es ist vor allem Aufgabe der übertragungssteuerung 86, in der
Grundspeicherhierarchie einen Datenpfad zwischen dem zugeordneten Pufferspeicher 64 und einer benachbarten übertragungssteuerung
86 entweder im nächsthöheren oder nächstniedrigeren Niveau herzustellen. Es ist jedoch sicherlich auch denkbar, daß Seitenübertragungen
zwischen ausgewählten, nicht benachbarten hierarchischen Stufen ausgeführt werden können. Jedenfalls sind
in diesem Datenpfad gewöhnlich eine geeignete Anzahl von Pufferregistern enthalten, um eine Anpassung zwischen den verschiedenen
übertragungs-Bitweiten und verschiedenen Geschwindigkeiten
409 8 8 1/0780
FI 9 72 145
der verwendeten Speicherstufen herzustellen. Natürlich ist auch
die Verwendung eines fehlerkorrigierenden Codes in der übertragungssteuerung
86 inöglich. Wenn bei einer Seitenübertragung zwei Übertragungssteuerungen betroffen sind, so handelt eine von ihnen
als Initiator der übertragung und die andere als antwortende Einrichtung. Hinsichtlich der Verarbeitungseinheit 60 befindet sich
die erste Stufe H-I der Speicherhierarchie immer in der Position einer antwortenden Einrichtung.
In zwei Fällen wird eine übertragungssteuerung zur Auslösung einer
interhierarchischen Seitenübertragung veranlaßt:
1. für jede übertragungssteuerung, ausgenommen eine antwortende,
wenn ihr zugeordneter Zuordnungsspeicher feststellt, daß er sich in der niedrigsten Stufe der Hierarchie befindet, die eine
positive Antwort auf die Adressensuche geben kann und
2. wenn ihre zugeordnete Seitenrückspeichersteuerung 84 es notwendig
findet, eine Seitenrückspeicheroperation auszulösen.
In beiden Fällen wird der Empfänger der neuen Anforderung dazu veranlaßt. Informationen von der neuen auslösenden übertragungssteuerung
anzunehmen. Eine interhierarchische Seitenübertragung
zieht also immer eine Schreibanforderung an den antwortgebenden
Speicher nach sich.
Mit Bezugnahme auf die Figuren 1 und 2 sollen nun spezifische Seitenübertragungen von höheren Stufen erklärt werden, um den Unterschied
zwischen der gebräuchlichen Seitenaustauschoperation
darzustellen, die in Fig. l gezeigt ist und der im Ausführungsbeispiel verwendeten Technik, welche in Fig. 2 gezeigt ist und
die einen Pfad freimacht, wenn dies nötig ist.
Als Beispiel soll zunächst angenommen werden, daß die Verarbeitungseinheit
60 in Verbindung steht mit der Speicherstufe H._, und Informationen angefordexi iiat,„ die in einem Speicherblock
FI 9 72 145
FA in einer höheren Stufe, z.B. in der höchsten Stufe des Unterstützungsspeichers,
gespeichert sind. Um die Daten der niedrigeren Speicherstufe H._3 die Daten vom Datenblock FA zur Verfugung
zu stellen, werden diese Daten zum Block FB der nächstniedrigen Stufe übertragen, sodann zum Block FC in der nächstniedrigeren
Stufe H. 2 und schließlich zum Block FD der Pufferzwischenstufe, zu der die Verarbeitungseinheit Zugriff nehmen kann. Bei den gebräuchlichen
Seitenaustauschoperationen ist jeweils nur ein benachbartes
Paar von Stufen der Hierarchie direkt betroffen, wenn eine Seitenübertragung in Vorwärts- oder Rückwärtsrichtung ausgeführt
werden soll, obwohl beim Freimachen eines bestimmten Datenblockes unter Umständen viele Stufen der Hierarchie betroffen sind, um zu
erreichen, daß die gewünschte Information zu der niedrigen Stufe vorwärtsübertragen werden kann.
In Fig. 1 ist gezeigt, wie ein Seitenaustauschalgorithmus im Zuordnungsspeicher
der Speicherstufe H1, durchgeführt wird, um
die am besten geeignete Austauschseite aufzufinden, die freigemacht
werden kann, um die Daten vom benachbarten höheren Niveau im Rahmen FA zu empfangen. Wenn die im Datenrahmen, d.h. im Datenblock
FB enthaltenen Daten ein Markierbit enthalten, welches anzeigt, daß die Daten geändert worden sind, muß die entsprechende
Seite in den höheren Stufen ergänzt werden, bevor die Information im Block FB ausgelöscht werden kann und die Information vom
Block FA in den so freigewordenen Speicherplatz eingeschrieben werden kann. Im Schritt 1 ist diese sekundäre Datenübertragung
gezeigt. Im Schritt 2 wird der Teil der Seite im Block FA, welcher die benötigte Information enthält, in den Block FB gelesen.
Es soll nun einfachheitshalber angenommen werden, daß der Block FC, welcher vom Seitenaustausch-Algorithmus ausgewählt wurde
und der mit dem betreffenden Pufferspeicher verbunden ist, nicht durch ein Markierbit markiert ist. In diesem Falle kann die Information
vom Block FB direkt in den Block FC eingelesen v/erden,"
wie im Schritt 3 gezeigt ist. Im nächstniedrigeren Niveau H._,
soll nun angenommen werden, daß die zum Austausch vorgesehene Information im Block FD ein Markierbit aufweist, welches anzeigt,
P1972145 40988 1/07 80
daß die dazugehörige Information, die sich irgendwo in einer höheren
Stufe der Hierarchie befindet, ergänzt werden muß, bevor die Information in der niedrigeren Stufe gelöscht werden kann.
Eine Suche in den Zuordnungsspeichern aller höheren Stufen der Hierarchie kann nun anzeigen, daß die zugehörige Seite 70 zu den
im Block FD gespeicherten Daten sich in der Stufe H. befindet. Diese Information muß nun vorwärtsübertragen werden in die Stufe
H. _, so daß die ergänzte Information im Block PD behalten wer-
JL mm L·*
den kann. Um diese übertragung der Daten im Block 70 auszuführen,
wird von der nächstniedrigeren Stufe H1-1 nun verlangt, einen zur
Austauschoperation geeigneten Block 71 anzugeben, an dessen Stelle sodann die neue Information eingeschrieben werden kann. Wenn
der angezeigte Block 71 markierte Information enthält, muß er zuerst hinauf zur höheren Stufe H. des UnterstützungsSpeichers zu
der dazugehörigen Seite übertragen werden, wie im Schritt 4 dargestellt ist. Hierauf kann die Information im Seitenrahmen 71, wie
in Schritt 5 gezeigt, vorwärtsübertragen werden. Von der Speicherstufe
H._o wird nun verlangt, einen Seitenrahmen 72 anzugeben, der
geeignet ist, die dazugehörige Seite, welche sich nun im Seitenrahmen 71 der Stufe H. . befindet, zu empfangen. Wiederum wird nun
1 — 1
eine Suche in den hierarchischen Stufen durchgeführt und es soll nun angenommen werden, daß die zu der Information, welche sich nun
im Seitenrahmen 42 befindet, gehörige Seite sich im Unterstützungsspeicher im Seitenrahmen 73 der Stufe H. befindet. Von der
nächstniedrigen Speicherstufe H1-1 wird nun wiederum verlangt,
einen zum Austausch geeigenten Seitenrahmen 74 anzugeben, in den sodann die zu der sich im Rahmen 73 befindlichen Information gehörige
Seite gespeichert werden kann. Wenn die Information im Rahmen 74 markiert ist, muß sie erst hinaufübertragen werden
(Schritt 6), um die dazugehörige Seite zu ergänzen. Die dazugehörige Seite im Rahmen 73 wird sodann im Schritt 7 vorwärtsübertragen.
Die markierte Seite, welche sich nun im Rahmen 72 befindet, kann hinaufübertragen werden, um die Information im Rahmen 74 zu
ergänzen (Schritt 8). Die Seite im Rahmen 72 wird gelöscht, wenn die Information im Rahmen 71 im Schritt 9 vorwärtsübertragen wird.
Nun befindet sich die zu der Information im Rahmen FD gehörige Seite im Puffer der Speicherstufe, welche unmittelbar oberhalb
FI 972 1^5 AO 988 1/0780
der Stufe benachbart ist und die markierte Seite kann nun in die dazugehörige Seite, d.h. die Stammseite, wie im Schritt 10 gezeigt,
eingelesen werden. Schließlich kann nun die Seite, welche die ursprünglich von der Verarbeitungseinheit 60 angeforderten
Informationen enthält, vorwärts vom Rahmen FC zum Rahmen FD übertragen werden. Die primäre Seitenübertragung innerhalb der Hierarchie
findet also vom Rahmen FA zu FB zu FC und schließlich zu FD statt. Die restlichen Datenübertragungsoperationen beziehen sich
auf sekundäre Übertragungen, welche dazu notwendig sind, um einen Pfad für die primäre Datenübertragung freizumachen. Es ist festzustellen,
daß mit Ausnahme des Schrittes 1 alle der sekundären Übertragungen dadurch notwendig wurden, um den Rahmen FC frei oder
verfügbar zu machen für eine einzige primäre Vorwärtsübertragung von Daten vom nächsthöheren Speichemivau.
Anhand der Fig. 2 soll nun ein Verfahren zur Freimachung eines Übertragungspfades innerhalb einer Speicherhierarchie beschrieben
werden, welches auch in mehr fortgeschrittenen Speicherhierarchien Verwendung finden kann. Nach diesem Verfahren wird die Ausführung
der primären Datenübertragung, welche durch eine Anforderung der Verarbeitungseinheit nötig wurde, zurückgehalten, bis die Seitenmarkier-Bits
in dem ausgewählten Übertragungspfad verarbeitet worden sind. Die mit jeder Stufe der Hierarchie verbundenen Austauschseitenanzeiger
82 werden alle gleichzeitig betrieben. Als Resultat wird zugleich der gesamte Hauptpfad für die primäre Datenübertragung
erhalten, obwohl noch nicht alle Schritte in diesem Pfad frei sind,zur freien Datenübertragung und noch Seitenmarkierbits
verarbeitet werden müssen. Die gleiche Gruppe von Seitenrückübertragungsanforderungen
wird erzeugt, wie sie auch in dem zuvor beschriebenen gebräuchlichen System gemacht wird und diese Rückspeicheranforderungen
werden eine nach der anderen in absteigender Reihenfolge der Speicherstufen bearbeitet. Da jedoch die primäre
Seitenübertragung zurückgehalten wird, bis der gesamte Pfad frei ist, wird eine wichtige Möglichkeit zu der gesamten Seitenrückübertragungsoperation
geschaffen, was unten noch näher erläutert wird. Im wesentlichen wird die Seitenfreimachungsoperation dadurch
erleichtert, daß der Pfad benutzt wird, der durch Zurück-
Fi 972 145 40 9 881 /0780
stellung der primären Datenübertragung erhalten wird.
In den nachfolgenden Erklärungen sollen die gleichen Bedingungen angenommen werden, wie sie auch der Erklärung der Fig. 1 zugrundegelegen
haben. Die von der Verarbeitungseinheit 60 verlangte
Information soll sich im Seitenrahmen FA in der Stufe des Unterstützungsspeichers
H. befinden. Der von den Austauschseitenanzeigern 82 ausgewählte Pfad in den verschiedenen hierarchischen Stufen
läuft über FB, FC und FD in den Stufen H. , , H. ., und H. -.·
i — Jl i~~z
χ—ο
Es soll weiterhin angenommen werden, daß in den Seitenrahmen FB und FD in dem oben erwähnten Pfad markierte Seitenbits enthalten
sind, während vom Seitenrahmen FC angenommen wird, daß er kein markiertes Seitenbit enthält, wie auch im Zusammenhang mit der
Beschreibung von Fig. 1 angenommen worden war.
Das Pfadfreimachungsverfahren beginnt mit dem höchsten Seitenrahmen,
der eine Freimachung nötig hat, d.h. dem Rahmen FB in der hierarchischen Stufe, welche sich unmittelbar unterhalb der höchsten
Stufe H. befindet. Um die Beschreibung der gesamten Rückspeicheroperation zu vereinfachen, soll nun angenommen werden,
daß die Stufe H. wirklich die höchste Stufe der gezeigten Speicherhierarchie ist. Da sich die Stufe Hj-1 unmittelbar unterhalb
des Unterstützungsspeichers befindet, in dem alle Daten enthalten sind, ist es nicht notwendig, eine Rückspeicherungsadressensuche
durchzuführen, um die Informationen im Rahmen FB rückzuspeiehern
und die Rückspeicheroperation kann sofort, wie im Schritt 1 gezeigt, ausgeführt werden. Wach Beendigung des Schrittes 1 wird
das Seitenmarkierbit im Rahmen FB auf "frei" gesetzt. Nun sind bereits beide Rahmen FB und FC frei. In der nächsten Operation
wird das Seitenmarkierbit der Seite im Rahmen FD bearbeitet und die Seite somit freigemacht. Die Seitenrückspeichersteuerung 84
sendet eine Rückspeicheranforderung aus und veranlaßt eine Rückspeicheradressensuche.
Als Folge hiervon können sich drei verschiedene Situationen ergeben:
a) Die am nächsten befindliche und verfügbare Stammseite wird in FI 972 145 409881 /0780
einer Stufe gefunden, welche sich unterhalb H. und außerhalb des Hauptpfades befindet,
b) die am nächsten liegende verfügbare Stammseite wird irgendwo auf dem Pfad gefunden, z.B. im Rahmen E1C oder FB und
c) keine verfügbare Stammseite wird durch die Adressensuche gefunden.
Im letzteren Falle muß sich die einzig verfügbare Stammseite im
Unterstützungsspeicher befinden, so daß diese Situation mit der in Fig. 1 gezeigten vergleichbar ist. In der Situation a), d.h.
wenn sich die am nächsten befindliche Stammseite im unmittelbar
benachbarten höheren Niveau H. o befindet, wird eine einfache
Seitenrückspeicheroperation ausgeführt, wie im Schritt X in Fig.
5 gezeigt ist, und wird somit der Rahmen FD freigemacht. Unter den gleichen Umständen, jedoch ausgenommen den Fall, daß sich
die am nächsten befindliche Stammseite auf einem höheren Niveau wie z.B. Rahmen 75 befindet, kann der bereits freigemachte Pfad
zwischen den Stufen Hj ι und Rahmen FD zu der notwendigen Vorwärtsüberbrückung
benutzt werden, wie es im Schritt Y dargestellt ist. Nach dieser übertragungsüberbrückung kann der Inhalt im Rahmen
FD in seine dazugehörige Stammseite, welche sich nun im Rahmen FC befindet, rückübertragen v/erden, wonach FC markiert werden
muß. Diese neue Seite, welche sich nun in FC befindet, wurde jedoch in diese hierarchische Stufe H.« nicht durch eine Anforderung
der Verarbeitungseinheit, sondern im Zusammenhang mit
einer Rückspeicheranforderung übertragen und dient als überbrükkungslösung.
Unter dem Gesichtspunkt von Seitenaustauschüberlegungen sollte solch eine Seite als eine austauschbereite betrachtet
werden. Jedenfalls besteht keine Veranlassung, diese neue Seite im Rahmen FC im Seitenprioritätsstapel dieser hierarchischen
Stufe höher zu schieben.
Obwohl also der Seitenrahmen FC eine neue und ergänzte Seite enthält,
wird dennoch diese Seite als zu einem Austausch günstigste
Fi 972 145 409881/0780
Seite im Vergleich zu allen anderen Seiten in dieser Stufe betrachtet.
Dies bedeutet, daß der Rahmen FC auch weiterhin ein Schritt auf dem im Moment betrachteten Pfad betrachtet wird und
deshalb das nunmehr erworbene Seitenmarkierbit sofort bearbeitet werden muß. Dieses bietet keine Schwierigkeiten, da sich die
Stammseite im nächsthöheren Niveau der Speicherhierarchie befindet, von dem die betreffende Seite in FC hinunterübertragen worden war
und als überbrückungseinheit gedient hat. Die oben beschriebene Situation und infolge dessen auch die daraus resultierenden nötigen
einfachen Rückspeicheroperationen wiederholen sich einige Male, wenn es sich um eine ausgedehnte überbrückung handelt, welche
über mehr als eine Stufe reicht. Es ist leicht zu sehen, daß sich die überbrückungsseiten und die Unterseiten aneinanderreihen und
die Sequenz der Rückspeicheroperationen erleichtern, so daß das
Seitenmarkierbit entlang der Brücke weitergegeben wird, bis es schließlich am oberen Ende endgültig ausscheidet, wie es in den
Schritten Z, und Z2 gezeigt ist. In der Situation c), wo die einzige
verfügbare Stammseite sich in der Stufe H. befindet, wird das gesamte Teilstück des Pfades Fx, und F benutzt, um eine Vorwärts-
B C
überbrückung und Rückwärtsrückspeicherung zu erzielen, wie es
überbrückung und Rückwärtsrückspeicherung zu erzielen, wie es
durch die Folge der Schritte 2-6 dargestellt ist.
Ein Vergleich mit dem im Zusammenhang beschriebenen Verfahren mit denselben Hauptpfadbedingungen zeigt eine wirkungsvollere Datenübertragung
mit wenigen Schritten und weniger Unterbrechungen in den betroffenen Pufferspeicherstufen als Folge der Anforderung von
zum Austausch geeigneten Seitenrahmen für sekundäre Datenübertragungen.
Als deutlicher Vorteil des in Fig. 2 gezeigten Verfahrens gegenüber
dem in Fig. 1 gezeigten ergibt sich die wiederholte Verwendung des teilweise von markierten Seitenbits befreiten oberen
Teilstücks des Pfades. Durch diese Möglichkeit wird die Notwendigkeit eleminiert, andere sekundäre Pfade zu finden und von markierten
Seitenbits freizumachen. Finden bei der Freimachung des Pfa-
9 72 145 40988 1/0780
des wohl sekundäre Seitenübertragungen statt, es wird jedoch die Notwendigkeit des Auffindens von hierzu benötigten sekundären Pfaden
vermieden. Der Hauptpfad ist der einzige Pfad mit Ausnahme der endgültigen Eliminierung der markierten Seitenbits am obersten Ende
aller Rückspeicherübertragungen. Diese vereinfachte Arbeitsweise
bringt eine wesentliche Verbesserung gegenüber den gebräulichen Verfahren mit sich.
In Fig. 5 ist eine bevorzugte Ausführungsform der Steuereinrichtungen
für eine einzige Pufferspeicherstufe zur Ausführung einer "freimachen wenn benötigt"-Operation gezeigt. Zu Beginn der Operation
wird von der zentralen Verarbeitungseinheit eine Anforderung
für ein Datensegment erhalten. Die Adresse im Unterstützungsspeicher der benötigten Daten v/ird zu allen Stufen der Speicherhierarchie
auf der Leitung 10 übertragen. Gleichzeitig wird ein Komando zum Absuchen aller Zuordnungsspeicher in den verschiedenen
hierarchischen Stufen auf der Leitung 11 gesendet. Die Unterstützungsspeicheradresse
des von der Verarbeitungseinheit benötigten
Datensegmentes wird zu den höheren Stufen der Hierarchie über den Adreßschalter 42 und die Leitung 1OA übertragen. Auf der in Fig. 5
gezeigten hierarchischen Stufe werden geeignete Teile der Adresse des Datensegmentes und das Kommando erhalten und wird der Suchblock
13 in der "Speicher- und Steuereinrichtung" des Zuordnungsspeichers adressiert. Wenn die Adressensuche durchgeführt ist,
wird das Resultat zum Entscheidungsblock 13A gegeben. Wann sich die gewünschte Information nicht im Zuordnungsspeieher befindet,
gibt der Entscheidungsblock 13A ein Signal auf die Leitung 14 zum Kabelbündel 39 und die Suchoperation in dieser hierarchischen Stufe
ist damit beendet. Wenn jedoch die Adresse im Block 13 gefunden wird, wird ein Signal zum UND-Block 15 in der Speicher- und
Steuereinrichtung gegeben. Die betreffende Stufe, in der also ein positiver Vergleich festgestellt wurde, wird als antwortende Stufe
bezeichnet. Das Signal von 13A wird mit Signalen von den niedrigeren hierarchischen Stufen vom Kabelbündel 39, welches anzeigt,
daß die Adreßsuche in den niedrigeren Stufen nicht erfolgreich
FI972 145 . 409881/0780
- ie -
war, kombiniert. Diese Signale zusammen mit dem Suchkomir.ando von
der Leitung 12 erzeugen ein Kommando vom üi\iD-Block 15. Ein Signal
wird zur Einrichtung 16 gesendet, welche daraufhin die Adresse im Pufferspeicher des Seitenrahmens, der das gewünschte Datensegment
enhält, aussendet. Ebenfalls wird ein Signal auf der Leitung 15A zu den niedrigeren Schnittstellenkontrollen zur Einheit 17 gesandt,
was zur Äussendung einer Anforderung zu den niedrigeren Stufen führt, eine Austauschseite aufzufinden, welche die zu übertragende
Seite von der antwortenden Stufe aufnehmen kann. Dieses Signal von der Einheit 17 xvird über die Leitung 18 zu der Einheit
ISA gesandt. In allen empfangenden hierarchischen Stufen unterhalb
der antwortenden Stufe wird das Signal vom Block 17 zu niedrigeren Stufen über die Leitung 18 zum Block 19 weitergegeben.
Dies führt dazu, daß die Austauschseitenanzeiger 82 in jeder der niedrigeren hierarchischen Stufen einen Seitenaustauschalgorithmus
durchführen, um die Seite festzustellen, welche am besten zum überschreiben durch die benötigten Daten von der antwortenden
Stufe geeignet ist. Dieser Arbeitsweise kann gefolgt werden, wenn angenommen wird, daß die empfangende Stufe identisch ist mit
der antwortenden Stufe in Fig. 5. Das Signal von der Einheit 19 gelangt zur Einheit 20, welche eine Seitenaustauschadresse erzeugt
und außerdem ein Kommando an die Einheit 22 zur Einleitung eines Zugriffs zum Zuordnungsspeicher. Das Kommando von der Einheit 22
geht zur Einheit 2 3 des ZuordnungsSpeichers, welcher den so adressierten
Seitenrahmen überprüft, um festzustellen, ob die darin befindlichen Daten markiert sind, d.h. ob sie geändert worden waren.
Gegebenenfalls muß, wie oben beschrieben, die Stammseite durch die geänderten Daten ergänzt werden.
Die Entscheidungseinheit 2 4 stellt fest, ob ein Seitenmarkierbit
vorhanden ist in der Information in dem zum Austausch gewählten Seitenrahmen. Die Einheit 24 führt je nach Peststellung hierauf
die geeigneten Operationen durch. Wenn kein Markierbit gesetzt ist, wird ein Signal auf der Leitung 25 zur Zuordnungseinheit 26
gesandt, welche den ausgewählten Rahmen dazu bestimmt, die Information
von einer höheren Stufe zu empfangen und die als Datenpfad-
FI 972 145 409881/0780
schritt arbeitet. Zugleich wird ein Signal auf der Leitung 25A
in das Kabelbündel 29 eingegeben, welches zu den höheren Stufen übertragen wird, um anzuzeigen, daß die aussendende niedrigere
Stufe frei ist und bereit ist, eine Informationsseite zu empfangen.
Ein Signal von der Einheit 26 wird zur Einheit 27 gesandt, die zuvor die Adresse des Austauschseitenrahmens behalten hat,
um das entsprechende Bit zur Anzeige der Austauschseite zu setzen. Der Block 26 in der Steuereinrichtung des Zuordnungsspeichers
sendet ein Signal auf der Leitung 26A zu den höheren antwortenden Speicherstufen und auf der Leitung 26B zu den Übertragungssteuerungen
der niedrigeren Schnittstelle zu Block 28. Dies dient als ein Eingang, welcher die nächsthöhere Stufe vorbereitet,
Informationen vom Puffer auszulesen als Vorbereitung zur übertragung hinunter zu der nächstniedrigeren Stufe. Diese Operation
findet nicht statt, bevor nicht ein zweites Kommando beim
Block 28 eingeht. Es muß hier festgestellt werden, daß in den Übertragungssteuerungen jeder Stufe der Hierarchie, wie in Fig.
5 gezeigt, ein Unterschied zwischen primärer Vorwärtsübertragung von Daten, wie durchgeführt vom Block 30, und sekundärer Vorwärtsübertragung
von Daten, durchgeführt vom Block 51, gemacht wird. Wenn angenommen wird, daß alle Stufen unterhalb der antwortenden
hierarchischen Stufe erfolgreiche Zuordnungen von Austauschseitenrahmen über das Kabel 29 gemeldet haben, dann wird das
Signal vom UND-Block 15 auf der Leitung 15A in der anfordernden
Stufe, das ist die ursprünglich antwortende Stufe, die die Anwesenheit von Daten, welche von der Verarbeitungseinheit- gewünscht
werden, in ihrem Pufferspeicher feststellt, nun mit allen positiven Antworten über das Kabelbündel 29 beim UND-Block
3OA kombiniert, um einen Befehl von dem Aktionsblock 30 zur primären Vorwärtsübertragung auszusenden.
Das Kommando vom Block 30 gelangt zum Block 2 8 und wird mit dem
Signal vom Block 26B kombiniert, wodurch die Seite mit der von erhaltenen Adresse vom Puffer ausgelesen wird, wie im Block 2 8
dargestellt ist. Das Signal vom Block 2 8 benachrichtigt über die Leitung 2 8A die unmittelbar niedrigere Stufe auf Leitung 28B, In-
Fi 972 145 409881/0780
formationen von der ursprünglichen Stufe zu empfangen, welche nun bereit ist, Daten zu niedrigeren Stufen zu senden. Das Signal vom
Block 2 8 wird zum Aktionsblock 32 der niedrigeren Stufe übertragen. Das Signal vom Block 23 ermöglicht es dem Aktionsblock 31,
die Informationsseite zu der nunmehr bereiten niedrigeren Stufe
hinunterzuübertragen.
die Informationsseite zu der nunmehr bereiten niedrigeren Stufe
hinunterzuübertragen.
Nach Vollendung der übertragung der primären Daten zur oberen
Schnittsteile der Übertragungssteuerung der empfangenden Stufe der Hierarchie wird die empfangene Information im Pufferspeicher abgespeichert, wie im Block 33 dargestellt ist. Wenn die Datenseite
empfangen wird, wird ein Signal vom Block 32 auf der Leitung 32A
zum Block 34 in den Steuereinrichtungen der Zuordnungsspeicher gesandt. Hierdurch wird die Nennadresse der empfangenen Datenseite
in den Zuordnungsspeicher eingeschrieben. Die Nennadressfi, welche» gleich ist der Adresse im Unterstützungsspeicher der gewünschten
Information wird von der Leitung 1OB im Block 34 empfangen und die Seitenrahmenadresse im Zuordnungspeicher wird vom Block 20 empfangen. Das Signal von 32A wird auch in den UND-Block 35 zusammen mit dem Signal von 3OB eingegeben. Wenn der Block 35 beide Signale,
wie im vorliegenden Falle, erhält, wird ein Befehl zum Block 36
gesandt, der daraufhin ein Singal zum Rückstellen Austauschseitenzeigerbits im Zuordnungsspeicher erzeugt. Außerdem wird ein Signal 34A vom Block 34 zum Block 37 derselben Stufe gesandt, welches zusammen mit dem Signal 33A nach Beendigung der Pufferschreiboperation 33 den Block 37 dazu veranlaßt, ein Signal zum Zuordnungsspeicher auf der Leitung 37A zu senden, welches den Block 13A dazu veranlaßt, nicht mehr ein Signal "nein", sondern nur mehr ein Signal "ja" zu senden. In primären Datenübertragungen ist nunmehr der Zustand erreicht, um Daten zur nächstniedrigeren Stufe zu übertragen und weiter noch, bis die niedrigste Stufe erreicht ist.
Schnittsteile der Übertragungssteuerung der empfangenden Stufe der Hierarchie wird die empfangene Information im Pufferspeicher abgespeichert, wie im Block 33 dargestellt ist. Wenn die Datenseite
empfangen wird, wird ein Signal vom Block 32 auf der Leitung 32A
zum Block 34 in den Steuereinrichtungen der Zuordnungsspeicher gesandt. Hierdurch wird die Nennadresse der empfangenen Datenseite
in den Zuordnungsspeicher eingeschrieben. Die Nennadressfi, welche» gleich ist der Adresse im Unterstützungsspeicher der gewünschten
Information wird von der Leitung 1OB im Block 34 empfangen und die Seitenrahmenadresse im Zuordnungspeicher wird vom Block 20 empfangen. Das Signal von 32A wird auch in den UND-Block 35 zusammen mit dem Signal von 3OB eingegeben. Wenn der Block 35 beide Signale,
wie im vorliegenden Falle, erhält, wird ein Befehl zum Block 36
gesandt, der daraufhin ein Singal zum Rückstellen Austauschseitenzeigerbits im Zuordnungsspeicher erzeugt. Außerdem wird ein Signal 34A vom Block 34 zum Block 37 derselben Stufe gesandt, welches zusammen mit dem Signal 33A nach Beendigung der Pufferschreiboperation 33 den Block 37 dazu veranlaßt, ein Signal zum Zuordnungsspeicher auf der Leitung 37A zu senden, welches den Block 13A dazu veranlaßt, nicht mehr ein Signal "nein", sondern nur mehr ein Signal "ja" zu senden. In primären Datenübertragungen ist nunmehr der Zustand erreicht, um Daten zur nächstniedrigeren Stufe zu übertragen und weiter noch, bis die niedrigste Stufe erreicht ist.
Wenn jedoch der Entscheidungsblock 24 ein Markierbit in der Adresse
des Austauschsextenrahmens, welcher als Teilstück eines über tragungspfades
ausgewählt wurde, festgestellt, wird ein Signal zum
Fi 972 145 40 9 88 1/0780
-21- 2*22732
UND-Block 38 auf der Leitung 2 4A gesandt. Das Kabelbündel 39 enthält
Signale von allen oberen hierarchischen Speicherstufen, welche angeben, daß keine Rückspeicheroperationen in den oberen Stufen
notwendig sind. Wenn die positiven Signale von allen oberen Stufen kombiniert werden mit den positiven Signalen auf der Leitung
2 4A im Block 38, welcher Kommandos zur Rückspeicherung aussendet, wird dieser Block 38 eine Seitenrückübertragungsanforderung
zum Block 40 senden und zugleich ein Kommando aussenden zum Blcok 41 zum Aussenden der Nennadresse, welcher die Unterstützungsspeicheradresse
der Information in dem Austauschseitenrahnen,
welcher von der Box 19 über den Adreßschalter 42 ausgewählt wurde, aussenden wird. Das Signal vom UND-Block 38 betätigt auch
die Adreßschalteinrichtung 43, so daß die Nennadresse vom Block
41 anstelle der Adresse auf der Leitung 1OA, welche ursprünglich dieselbe war als die Adresse auf der Leitung 10 ausgesendet wird.
Die Bedingungspfeile auf den Leitungen, welche zu der Adressensucheinrichtung
13 und den Block 2 3 zum Auslesen des Zuordnungsspeichers führen, zeigen an, daß" das Signal auf der Leitung wohl
oder nicht die Arbeitsweise der zugehörigen Entscheidungseinrichtung verändern kann, und zwar abhängig von den ursprünglichen Bedingungen.
Die Rückspeicheranforderung, die vom Block 40 ausgeht, setzt auch den Pufferleseblock 4 4 über die Leitung 40Λ in Tätigkeit und bereitet
damit die Datenübertragungen zu höheren Stufen vor, die gemacht werden muß, um das Seitenrnarkierbit in dem ausgewählten Seitenrahmen
zu verarbeiten. Die übertragung der Information vom Block 45 aus wartet, bis das Signal von der Leitung 15C kommt, welches
schließlich vom unmittelbar benachbarten höheren Niveau vom UND-Block 15 kommt und anzeigt, daß die Stammseite der Daten in
dieser Stufe gefunden wurde. Gleichzeitig tritt der Empfangsblock 46 in der oberen Stufe in Tätigkeit durch ein Signal vom Block
in dem benachbarten unteren Niveau und durch ein Signal auf Leitung 15B vom UND-Block 15, so daß die übertragung nun ausgeführt
wird.
FI972145 409881/0780
«ach Beendigung der übertragung wird das Kommando zum Schreiben
des Puffers vom Block 47 ausgeführt und die Information in den Puffer der Stufe der Speicherhierarchie eingeschrieben. Das Kommando
zur Beendigung der Rückübertragung vom Block 48 wird durch ein Signal von 47A zusammen mit einem Signal vom Block 44 erzeugt.
Das Signal 48A vom Block 48 setzt den Block 49 in Tätigkeit und erzeugt damit eine Anforderung zum Rückstellen des Seitenmarkierbits
in der anfordernden Stufe. Gleichzeitig erzeugt das Signal auf der Leitung 48C der oberen (empfangenden) Stufe,
auch vom Block 48, über die Leitung 4 8B eine Anforderung 50 zum Setzen des Seitenmarkierbits dieser Stufe. Diese Anforderungen
werden von den Zuordnungsspeichern ausgeführt, wenn die Signale zum Block 49A "Rückstellen Seitenmarkierbit" vom Block 49 und
vom Block 50 zum Block 5OA "setze Seitenmarkierbit" in den entsprechenden Stufen erzeugt werden. Von der antwortenden Stufe
wird also der Index des Zuordnungsspeichers durch Veränderung oder Beibehaltung des Seitenmarkierbits der Information, die
nun im empfangenden Pufferspeicher gespeichert wurde, auf den neuesten Stand gebracht. Im Falle, daß das Signal von der antwortenden
Stufe zum Block 40 zur Anforderung einer Rückspeicherung in einer Stufe erzeugt wird, die mindestens eine Stufe weiter
und oberhalb der anfordernden Stufe liegt, sendet der UND-Block 15 dieser Stufe ein Signal 15D zu dem Block 51 für sekundäre
Vorwärtsübertragungen in ihren Schnittstelleinrichtungen zur übertragung nach unten. Gleichzeitig wird durch das Signal
auf der Leitung 52 ein Kommando von der Stufe, die eine Anforderung zur Rückspeicherung erzeugt hat, über einen ODER-Block
53 der Zwischenstufen zum Block 51 übertragen und liefert damit
einen zweiten Eingang hierzu. Ein drittes Eingangssignal zum Block 51 in der antwortenden Stufe kommt von dem nichtaktiven
Rückspeicheranforderungsblock 40 in der Rückspeiehersteuerung
in der benachbarten unteren Stufe über Leitung 4OB und Inverter 54.
Wenn alle drei Bedingungen zur Erzeugung von EingangsSignalen
zum Block 51 erfüllt sind, wird ein Kommando zur Erzeugung von
Fi 972 145 40 98 8 1/0780
sekundären Vorwärtsübertragungen vom Block 51 erzeugt. Die tatsächliche
übertragung erfolgt in denselben Schritten/ die oben hinsichtlich einer primären Datenübertragung beschrieben wurden.
Abweichend von einer primären übertragung erzeugen jedoch die Blöcke 30 und 51 kein Signal, welches äquivalent wäre dem Signal
3OA oder 3OB zum UND-Block 35 zu der benachbarten unteren Stufe,
um den Austauschzeigerbitblock 36 der empfangenden Stufe zu setzen.
Die oben beschriebene sekundäre Vorwärtsübertragung wird so lange wiederholt, bis die entsprechende Stammunterseite zu der Zwischenstufe
gebracht wurde, die über der Stufe liegt, die eine Anforderung zur Rückspeicherung erzeugt hat. An diesem Punkt ist
die sekundäre Vorwärtsübertragung beendet.
Fig. 4 zeigt eine Steuerungseinrichtung für eine hierarchische Speichereinrichtung mit einer Vielzahl von Speieherstufen. Von
der Prozessoreinheit 60 führt eine Leitung 10 über Adreßschalter 42 zu allen Stufen der Speicherhierarchie. Die Arbeitsweise
der Schalter 42 wird von einem Adreßschalterblock 43 in der Rückspeichersteuerung
in jeder Stufe gesteuert. In jeder Stufe der Speicherhierarchie kann über den Adreßschalter 42 eine Substitutionsadresse
eines Datensegmentes oder einer Seite zu allen Stufen der Speicherhierarchie oberhalb des betreffenden betätigten
Schalters übertragen werden. Diese Arbeitsweise' wird notwendig, wenn eine markierte Seite zu ihrer Stammseite in einer der
oberen Stufen der Speicherhierarchie rückübertragen werden muß, um den betreffenden Seitenrahmen freizumachen zur Erzeugung eines
Übertragungspfades für primäre oder sekundäre Datenübertragungen.
In der Speicher- und Steuereinrichtung der Zuordnungsspeicher in. jeder Stufe ist auch ein Entscheidungsblock 13A gezeigt und der
damit verbundene tMD-Block 15. Das Kabelbündel 39 läuft durch
alle Stufen der Speicherhierarchie und ist mit dem UND-Block 15 in jeder Stufe verbunden. Einem ähnlichen Zweck dienen die beiden
FI972145 409881/0780
Kabelbündel 29 und 39 A und die damit verbundenen UND-Blocke 3OA
und 38.
Die gezeigte Einrichtung weist zusätzlich zu den bekannten Seitenaustauscheinrichtungen
die folgenden Zusätze und Modifikationen auf:
Es sind Einrichtungen vorhanden, mit denen Befehle zur gleichzeitigen
Operation aller Austauschseitenanzeiger unterhalb der Stufe, die eine Seitenübertragungsanforderung erzeugt hat, d.h.
unterhalb der Stufe H. in dem in Fig. 2 gezeigten Beispiel, ausgesendet
werden können. Zur Realisierung dieser Einrichtungen können eine Reihe von ODER-Gliedern 18A vorgesehen werden, die
über eine Leitung 18 mit einem Block 17 zur Erzeugung einer Anforderung eines Seitenaustausches verbunden sind.
Außerdem sind Einrichtungen vorgesehen zur Speicherung der Identität
aller Ersatzseitenrahmen in dem neu geschaffenen Übertragungspfad durch die Stufen der Hierarchie. Hierzu kann z.B. ein
spezielles Bit als Austauschseitenanzeiger in jedem Wort des Zuordnungsspeichers,
ähnlich dem Seitenmarkierbit, vorgesehen werden. Dieses Bit wird nur für den einzigen identifizierten Seitenrahmen
im Austauschseitenzeigerfeld gesetzt. Im darauf folgenden Zugriff zum Pufferspeicher während der Vorwärtsübertragung
der ersten Seite und ihrer Unterseiten wird die Adressierung einfach durch eine assoziative Suche nach dem einzigen gesetzten
Zeigebit in dem Austauschseitenzeigerfeld durchgeführt. Das Austauschseitenzeigerbit wird durch den zugeordneten Austauschseitenanzeiger
zu dem Zeitpunkt gesetzt, zu dem die betreffende Stammseite identifiziert wird als die nächste Austauschseite
und zu dem diese Seite frei gefunden wird zu einem markierten Seitenbit. Das Austauschseitenzeigebit wird zurückgestellt,
wenn der angezeigte Seitenrahmen von einer neuen Seite während einer primären Seitenübertragung übernommen wird, d.
h., während der Vorwärtsseitenübertragung, die auf die Freimachung
der markierten Seite folgt. Die hierzu nötigen logischen
Fi 9 72 145 409 88 1 /0780
Einrichtungen sind in den Blöcken 35 und 36 in Fig. 5 gezeigt.
Ferner sind Einrichtungen vorgesehen, welche eine Reihenfolge und den Rückspeicheranforderungen von den verschiedenen Stufen
der Speicherhierarchie festlegen. Hierzu dienen eine Reihe von UND-Gliedern, die im Block 38 in Fig. 5 gezeigt sind, i-iier ist
festzuhalten, daß eine Rückspeichersteuerung nicht in Tätigkeit tritt, bevor nicht alle Seitenmarkierbits in den oberen Stufen
als zurückgestellt gemeldet sind.
Ferner sind Einrichtungen vorgesehen, welche die Vorwärtsübertragung
einer Seite freigeben. In zwei bestimmten Fällen kann eins Vorwärtsübertragung einer Seite bewilligt v/erden:
1. eine sekundeäre Vorwärtsseitenübertragung von einer bestimmten
Stufe H1 (k ist größer als 2) wird bewilligt, wenn eine Rüdespeicheraiiforderung
von irgendeiner Stufe unterhalb H1 , ausaeht
und wenn H1 die niedrigste Stufe ist, die positiv oeantwortet hat
ic
auf eine Rückspeicheradressensuchanforderung. Zur Realisierung dieser
Arbeitsweise ist in Fig. 5 ein UND-Block am Eingang der
Einrichtung 51 zur Durchführung von sekundären Vorwärtsübertragungen und ein Inverterblock 54 vorgesehen, der vor dem Block
51 liegt.
2. Wenn eine primäre Vorwärtsübertragung einer Seite von einem bestimmten Niveau H, bewilligt wird, wobei H, die niedrigste
Stufe ist, die positiv antwortet auf die primäre Adressensuchanforderung
und wobei ein freier Pfad gefunden wurde zwischen den Stufen H^-1 und H1. Der betreffende üSiD-Block 3OA, der vor
dem Block 30 der primären Vorwärtsübertragung in der übertragungssteuerung einer typischen Stufe liegt (Fig. 5), erzeugt
die notwendigen Steuersignale.
Ein weiterer unterschied zwischen der im Ausführungsbeispiel
gezeigten "freimachen wenn benötigt"-Steuerung und den bekannten Seitenaustauscheinrichtungen liegt darin, daß im Falle einer
FI 972 145 403881/0780
Warteschlangenbildung die Einrichtungen zur sequentiellen Abwicklung
der Operationen in jeder hierarchischen Stufe der Speicheranordnung vereinfacht werden. Im Gegensatz zu den gebräuchlichen
Seitenaustauscheinrichtungen sind in der im Ausführungsbeispiel
gezeigten .uinrichtung nur zwei Reihenfolgesteuerungen
in jeder Übertragungssteuer notwendig. Dieser Vorteil des gezeigten Verfahrens "freimachen wenn nötig" ist aus den in Fig.
2 gezeigten Ablaufbedingungen ersichtlich. Die Zeit jedoch, die nötig ist, um einen Pfad wiederaufzubauen, verzögert jedoch die
Arbeitsweise der Prozessoreinlie.it nicht, da das Aufbauen des Pfades gleichzeitig mit der Verarbeitung der Daten im Prozessor
vor sich gehen kann. Außerdem ist im allgemeinen Y1 kleiner als
Y1, da im oberen Teil der Hierarchie nichtbenutzte freie Pfade
zum Wiederaufbau eines Pfades zur Verfügung stehen.
Die Freipfadhierarchie bildet also jeweils nach jeder Anforderung
einen freien Pfad durch alle Stufen der Hierarchie. Eine Seitenübertragung jedoch, welche von der Prozessoreinheit von
einer der niedrigeren Stufen verlangt wird, beaufschlagt nur den niedrigeren Teil des Pfades und läßt den oberen Teil unbenutzt
intakt. Nach einer solchen Übertragung muß daher nur der niedrigere Teil des Pfades wiederaufgebaut werden. Zum Wiederaufbau
des Pfades sind logische Einrichtungen 90 und 91 vorgesehen, welche anstelle des Blockes 17 in Fig. 5 treten, und deren
Wirkungsweise weiter unten noch beschrieben wird.
In dem vorher beschriebenen System "freimachen wenn nötig" wird der Block 19 zur Durchführung eines Seitenaustauschalgorithmus
vom Block 17 des Austauschseitenanzeigers der übertragungssteuerung über die ODER-Logik 18A und das Kabel 18 der oberen Stufe
angestoßen. In der Freifahrthierarchie jedoch wird der Block 19 automatisch durch die Autostartblocke 90 und 91 angestoßen,
welche ihrerseits von dem Austauschseitenanzeigerbit-Rückstellblock
36 in dem Zuordnungsspeicher der eigenen Stufe angestoßen wird.
Fi 972 145 409881/0780
Das Ausgangssignal des Blockes 37 in Fig. 6 gelangt nach 'Beendigung
der primären Vorwärtsübertragung einer Datenseite zum Zuordnungsspeicher und zwar zu den Blöcken 13 und 13A. Durch die Tätigkeit
des Blockes 34 wird die Adresse der neuen erhaltenen Seite nun vom Block 13 detektiert und das Ausgangssignal der Entscheidungseinrichtung
13A wird von nein auf ja geändert, um die Anwesenheit der gewünschten neuen Seite anzuzeigen. Ixlach der Freipfadhierarchie
ist eine Leseeinrichtung für den Zuordnungsspeicher vorgesehen, welche mit dem Austauschzeigerblock 92 zusammenarbeitet
und vom UND-Block 15 angestoßen wird als Folge von Signalen
von der Adreßsuchanforderungsleitung 12, dem Kabelbündel
39 und dem Entscheidungsblock 13A. Der Block 9 2 tritt auf ein Signal vom Block 15 hin und die Adresse der Seite vom Block 16
hin in Tätigkeit. Wenn das Resultat vom Entscheidungsblock 9 2A nein ist, findet keine weitere unmittelbar folgende Aktion in
diese Speicherstufe statt. Wenn die Antwort ja ist und auch die Vorwärtsübertragung notwendig ist, erzeugt der Block 93 ein
Signal zur Rückstellung des Austauschzeigerbitblockes 36. Natürlich wird das Signal von 9 2 auch begleitet von einem Signal von
der Verarbeitungseinheit auf der Leitung 100, was notwendig ist, um den Block 9 3 anzustoßen. Der Registerblock 91 wird durch ein
Signal vom Block 36 zurückgestellt. Das Ausgangssignal vom Block 91 macht den üND-Block 90 fertig, um den Austauschalgorithmus
bis zum Empfang eines Signals 37B vom Block 37 des benachbarten unteren Niveaus durchzuführen. Die Durchführung des Seitenaustauschalgorithmus
durch den Block 19 und die Operation der Blöcke 92, 23 und 24 gestattet die Feststellung, ob oder nicht die betreffenden
Seitenmarkierbits sich in Stellung 1 oder 0 befinden, wie es im Zusammenhang mit Fig. 5 erläutert wurde. Wenn das Markierbit
0 ist und damit anzeigt, daß die Information in dieser Seite nicht markiert oder geändert ist, v/ird ein Pufferrahmen
vom Block 26 zugeteilt und ein Austauschseitenzeigebit im Zuordnungsspeicher
vom Block 27 gesetzt. Diese Operation markiert die. ausgewählte Seite als einen Schritt im Pfad zur Übertragung von
Daten in der betreffenden Stufe der Hierarchie. Z.B. ist in der Stufe Η± die übertragung im Schritt 7 die einzige wartende Ope-
FI 972 145 409881/0780
ration vor den Übertragungen in den Schritten, 1, 2 und 6. In der Stufe H1-1 ist in dem gezeigten Fall keine Reihenfolgesteuerung
notwendig. Die übertragung im Schritt 7 wurde von der Stufe H1-1
erst verlangt zum Zeitpunkt, zu dem die tatsächliche übertragung bewilligt wurde. Alle anderen Seitenübertragungen durch diese
Stufe stellen ebenfalls einfache sequentielle Operationen dar.
In Fig. 6 ist eine bevorzugte Ausführungsform einer verbesserten
Speicherhierarchie gezeigt. Diese Ausführungsform kann am besten
mit "Freipfadhierarchie" Speichersystem bezeichnet werden. Der wichtigste Unterschied gegenüber dem vorher gezeigten ersten Ausführungsbeispiel
der Erfindung besteht darin, daß in der Freipfadspeicherhierarchie ein durchlaufender freier Pfad durch alle Stufen
der Hierarchie immer zur Verfügung steht vor dem Zeitpunkt, zu dem von der Verarbeitungseinheit eine Speicheranforderung empfangen
wird. Im Gegensatz hierzu wird nach dem vorher gezeigten "freimachen wenn nötig"-Verfahren erst ein Pfad durch die verschiedenen
Speicherstufen freigemacht, wenn eine Anforderung von der Verarbeitungseinheit erhalten wird. Außerdem wird ein Pfad
nur zwischen der Stufe, die die angeforderte Information enthält,
und der niedrigsten Speicherstufe in Vorwärtsrichtung hergestellt und wird dieser Pfad vollkommen durch die primäre Vorwärtsübertragung
der Seiten mit den benötigten Daten gelöscht.
Wie aus Fig. 6 ersichtlich ist, können in der verbesserten Ausführungsform
der Freipfadspeicherhierarchie die gleichen grundlegenden Einheiten benutzt werden, wie nach dem Verfahren des Freimachens,
wenn nötig. In Fig. 6 sind Einrichtungen, die zusätzlich zu den in Fig. 5 gezeigten Einrichtungen benötigt werden, mit
dicken Linien ausgezogen und sind adererseits mögliche Weglassungen strichliert gezeichnet. Für die Bildung eines Pfades durch
alle Stufen wird das Austauschseitenzeigerbit in den Zuordnungsspeichern benutzt. In der Einrichtung nach Fig. 6 kann jede Speicheranforderung
sofort durchgeführt werden, da der Pfad automatisch nach der Beantwortung jeder Anforderung aufgebaut wird.
/»09881/078 0
FI 9 72 145
Nur zv/ei Arten von Operationen werden durchgeführt: Die parallele
Adressensuche in allen Pufferspeichern und die Sequenz der unbehinderten primären Vorwärtsseitenübertragungen. Diese letzteren
beanspruchen nur ein Teilstück des Pfades am unteren Ende,
je nach Resultat der Adressensuche.
Da es keine Wartezeit gibt bei der Durchführung eines Speicherzugriffes,
ergibt sich als wesentlicher Vorteil der Freipfadhierarchie eine minimale mittlere Speicherzugriffszeit für ein
gegebenes Programm und für eine gegebene Leistungsfähigkeit der vorgesehenen Einrichtungen.
In der "freimachen wenn nötig"-Hierarchie wird ein Pfad unmittelbar
nach Erhalt einer Anforderung von der Prozessoreinheit freigemacht, wenn die gewünschte Information nicht in der der Prozessoreinheit
unmittelbar zugänglichen Speicherstufe enthalten ist. Nach der primären Adressensuche und der Freimachung des Pfades,
wofür Zeitspannen von X bzw. Y nötig sind, wird die benötigte Information vorwärts zum niedrigeren Niveau übertragen, wofür
eine Zeit Z aufgewendet wurde. Die gesamte Zeit zur Beantwortung einer solchen' Anforderung beträgt nach diesem System also X+Y+S.
Nach der Freipfadhierarchie kann jedoch eine Anforderung nach einer in einer oberen Stufe gespeicherten Information direkt bean
twortet werden. Die Zeit, die aufgewendet werden muß für die Adressensuche und für die primären Vorwärtsübertragungen beträgt
in Analogie zum vorher beschriebenen System ungefähr X und Z. Die Gesamtzeit zur Beantwortung einer Anforderung der Prozessoreinheit
beträgt also X + Z. Nach Beantwortung dieser Anforderung wird ein Pfad in der Hierarchie automatisch wiederhergestellt,
wofür eine Zeit Y1 notwendig ist. Hierdurch werden auch die Register
91 vom üND-Block 90 beendet. Außerdem wird ein Signal 9IA
zu der niedrigeren Nachbarstufe gesandt, welches als ein Eingang für den UND-Block 94 in der ersten hierarchischen Stufe dient.
Wenn von allen Stufen der Hierarchie solche Signale empfangen wurden, die anzeigen, daß der Pfad durch die betreffenden Stufen der
409881/0780
Hierarchie geschlossen wurde, sind alle Bedingungen zum Aufbau eines freien Pfades durch die Hierarchie erfüllt und die Speicherhierarchie
ist nun zum Empfang einer Anforderung von der Prozessoreinheit 60 bereit. Wie aus Fig. 6 ersichtlich ist,
enthält die gezeigte Einrichtung nicht mehr den Block 17, welcher in der in Fig. 5 gezeigten Einrichtung notwendig war. Die
Ausführung des Seitenaustauschalgorithmus durch den Block 19
wird, wie oben beschrieben, ausgelöst.
Wenn jedoch ein Signal vom Entscheidungsblock 24 die Anwesenheit eines Markierbits in dem neu identifizierten Austauschseitenrahmen
feststellt, muß eine Seitenrückspexcheroperatxon durchgeführt werden. Diese Rückspeicherung wird jedoch verzögert,
bis die erforderliche Vorwärtsübertragung beendet ist. Die Verzögerung
wird durch einen zusätzlichen Eingang zu dem Block 38 vom Inverterblock 95 erzielt, wie durch die dick ausgezogene
Linie dargestellt ist. Der Block 38 kann also nicht in Tätigkeit treten, während von der Prozessoreinheit 60 eine Zugriffsanforderung
zur Speicherhierarchie anliegt. Wenn die gesamte primäre Vorwärtsdatenübertragung beendet ist, wird ein Signal vom Block
38 erzeugt, das eine Rückspeicheroperation im Block 40 einleitet und auch die Adreßschaltersteuerung 43, wie in der oben beschriebenen
Einrichtung in Fig. 5, betätigt. Hierdurch gelangt eine Substitutionsadresse als neue benötigte Adresse auf die
Leitung 1OA. Zusätzlich erzeugt ein Signal vom Block 38 eine Adressensuchanforderung im Block 96, welches zu den oberen hierarchischen
Stufen durch den ODER-Block S7 geleitet wird. Die Beantwortung
der Rückspeicheranforderung erfolgt im allgemeinen auf die gleiche Art wie sie nach dem "freimachen wenn nötig"-Verfahren
beschrieben wurde. Es kann jedoch festgehalten werden, daß zum Betätigen der primären Vorwärtsübertragung des Blockes
30 nunmehr eine einfachere UND-Logik 9 8 notwendig ist als in der in Fig. 5 gezeigten Einrichtung.
Da eine automatische Operation des Austauschseitenanzeigers durch die Autostartblöcke vorgesehen ist, kann die Arbeitsweise des Aus-Fi
9 72 145 409 88 1/078 0
tauschseitenanzeigers zum Teil gleichzeitig mit einer weiteren
Vorwärtsseitenübertragung von einem niedrigeren Niveau der Hierarchie
erfolgen. Diese gleichzeitige Operation nimmt dann ein Ende, wenn die neu identifizierte Austauschseite als markiert
gefunden wird, während die Weiterdurchführung der Operation auf die Beendigung der primären Seitenübertragung warten muß, und wenn
eine Seitenrückspeicheroperation notwendig wird zum Freimachen einer Seitenmarkierung. Der zusätzliche Eingang zu der Rückspeicherkommandosteuerung
38 gewährleistet, daß keine Rückspeicheranforderung erzeugt werden kann, bevor die ursprüngliche Anforderung
der Prozessoreinheit durch den Speicher bedient worden ist.
Abgesehen von den oben beschriebenen Abweichungen von der "freimachen
wenn nötig"-Methode erfolgt der Aufbau eines Pfades in den unteren Stufen der Hierarchie auf ähnliche Weise wie oben
nach der in Fig. 5 beschriebenen Methode.
Jedoch bestehen zwei bedeutsame neue Bedingungen nach der Freipfad-Methode.
1. Die wartende oder aufgeschobene Vorwärtsseitenübertragung zur
Zeit, zu der der Pfad aufgebaut wird, ist nicht vorhanden.
2. Der obere Teil eines freigemachten Pfades ist garantiert verfügbar.
Diese zwei neuen Bedingungen machen es möglich, eine Reihenfolgesteuerung in allen Stufen der Hierarchie einzusparen. Ferner kann
die Einrichtung vor dem Block 30 in der übertragungssteuerung (Fig. 5) zur Erlangung der Bewilligung für die primären Vorwärtsseitenübertragungen
durch eine einfachere Einrichtung und einen einzigen Freipfaddetektor, der auch ein Signal zur Prozessoreinheit
über die Grundlogik 9 4 und auf der Speicherbelegleitung 94A
liefern kann, ersetzt werden. Natürlich wird in den Fällen, in denen in den verschiedenen Stufen der Hierarchie kongruente Klassen
409881/0780
FI 9 72 145
geschaffen wurde, ein Pfad durch jede kongruente Klasse geschaffen.
In der Freipfad-Speicherhierarchie, gestützt einzig und allein
auf den gewählten Austauschalgorithmus, fehlt die Sicherheit, daß eine anvisierte Seite auf dem bestimmten Pfad nicht von Zeit
zu Zeit eine von der Prozessoreinheit gewünschte Seite sein kann. Wenn dies jemals eintrifft, z.B. auf der Stufe H., wird das Seitenanzeigebit
der betroffenen Seite nach der Aufwertung im Seitenprioritätsstapel dieser Stufe, oder in der betreffenden Liste
zurückgestellt. Dies bedeutet, daß nun ein Teilstück am unteren Ende der Länge j beaufschlagt ist, und nicht ein Teilstück der
Länge j-1, da sich eine Adressierung zur Stufe H. ergibt. In diesem
Fall muß festgestellt werden, daß die Arbeitsweise der Einrichtung beim Freimachen des betroffenen Teilstück des Pfades in
der Stufe H. unnütz war. Da jedoch alle Seiten, die auf dem Pfad liegen, wahrscheinlich zum Austausch geeignete Seiten sind, ist
das Eintreffen des oben erwähnten Ereignisses des Adressierens einer solchen Seite durch die Verarbeitungseinheit sehr gering.
4 0 9 8 8 1 /0780
FI 9 72 145
Claims (15)
- PATENTANSPRÜCHEHierarchische Speicheranordnung mit Speichern höherer Kapazität und niedrigerer Geschwindigkeit in den höheren hierarchischen Stufen und Speichern niedrigerer Kapazität und höherer Geschwindigkeit in den niedrigeren hierarchischen Stufen, mit Einrichtungen zur Übertragung von Datenseiten verschiedener Größe zwischen den einzelnen Stufen der Hierarchie und mit Zuordnungsspeichern in jeder Stufe zur Speicherung von Identifikationsangaben über die jeweils in der Stufe gespeicherten Datenseiten und von Markierinformationen über erfolgte Änderungen der Daten in der Seite,gekennzeichnet durch Einrichtungen (Fig. 5, 6) zur Bildung eines Übertragungspfades für die von der Prozessoreinheit (60) benötigte Datenseite zwischen mindestens der niedrigsten, die Datenseite enthaltenden Stufe und der der Prozessoreinheit (60) direkt zugänglichen Stufe.
- 2. Speicheranordnung nach Anspruch 1, gekennzeichnet durch einen Austauschseitenanzeiger (82) zur Feststellung der Datenseite in einer Stufe, die zum Austausch gegen die zu übertragende Seite am besten geeignet ist, der von einem Signal von einer der höheren Stufen der Hierarchie in Tätigkeit gesetzt wird.
- 3. Speicheranordnung nach Anspruch 2, gekennzeichnet durch Einrichtungen zur Feststellung, ob die auszutauschende Seite markiert ist, d.h. geänderte Daten enthält, durch Einrichtung- zum Aussenden von Signalen zu den höheren und zu den niedrigeren Stufen, wenn der ausgewählte Seitenrahmen frei ist, d.h. keine gesetzte Markierinformation aufweist und durch Einrichtungen zum Rückspeichern einer markierten Seite in die betreffende Stammseite in einer höheren Stufe der Hierarchie.FI 972 145409881/0780
- 4. Speieheranordnimg nach Anspruch 3, dadurch gekennzeichnet, daß für die zum Austausch vorgesenene Datenseite
anfragen nach entsprechenden Datenseiten zu den höheren Stufen gesandt werden und durch Einrichtungen/ die feststellen, ob in einer der höheren Stufen das I-iarkierbit
zu der Stammseits auf null gesetzt werden muß. - 5. Speicheranordnung nach Anspruch 4, dadurch gekennzeichnet, daß für die Anfrage zu den höheren Stufen eine
Mennadresse verwendet wird, welche gleich ist der Adresse in der höchsten Stufe bezüglich einer Datenseite mit veränderten Daten in dem Seitenrahmen, der zum Austausch angezeigt wurde. - 6. Speicheranordnung nach Anspruch 4, gekennzeichnet durch eine sekundäre Vorwärtsübertragungssteuerung zur übertragung von Datensegmanten, "welche in der angezeigten
Austauschseite vorhanden sind zu einer tieferen Speicherstufe. - 7. Speicheranordnung nach Anspruch 1, gekennzeichnet durch Einrichtungen zur Rückspeicherung einer Datenseite, wenn die Stammseite in der benachbarten oberen Stufe gespeichert ist.
- 8. Speieheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Vorwärtsübertragung der von der Prozessorainheit gewünschten primären Daten entlang des gefundenen Pfades verzögert wird, bis der Pfad vollständig bis zu der untersten Speicherstufe freigemacht ist.
- 9. Speicheranordnung nach Anspruch 8, dadurch gekennzeichnet, daß zumindest ein Teil dieses Pfades von auszutauschenden Seiten für Vorwärts- oder Rückwärtsübertragung von Datenseiten zwischen verschiedenen Stufen der Hierarchie während des Freimachens des Pfades benutzt wird.FI 972 145 40988 1/0780
- 10. Speicheranordnung nach Anspruch 1, gekennzeichnet durch Einrichtungen zur automatischen Wiederherstellung eines übertragungspfades durch alle Stufen der Hierarchie nach jeder Beantwortung einer Speicheranforderung der Prozessoreinheit.
- 11. Speicheranordnung nach Anspruch 10, dadurch gekennzeichnet, daß in jeder Speicherstufe ein auszutauschender Seitenrahman gesucht wird und daß in den jeweils nächstniedrigeren Stufen nach Vollendung einer Vorwärtsübertragung einer Datenseite eine solche Auswahl eines auszutauschenden Seitenrahmens eingeleitet wird.
- 12. Speicheranordnung nach Anspruch 10, dadurch gekennzeichnet, daß in der Speicherstufe, die die von der Prozessoreinheit gewünschten Informationen enthält,, festgestellt wird, ob sie einen auszutauschenden Seitenrahmen aufweist und daß hierauf dieser Seitenrahmen vom Übertragungspfad entfernt wird.
- 13. Speicheranordnung nach Anspruch 10, gekennzeichnet durch eine Signalleitung, welche durch alle Stufen der Hierarchie läuft, sowie durch Einrichtungen zum Abkürzen aller Ruckspeicheroperationen zwischen den Speicherstufen bis die von der Prozessoreinheit verlangte primäre Vorwärts datenübertragung beendet ist.
- 14. Speicheranordnung nach Anspruch 10, gekennzeichnet durch Einrichtungen zur Rückübertragung einer Datenseite in die in einer höheren Stufe gespeicherten Stammseite sowie durch Einrichtungen zum Auffinden einer solchen Stammseite in den höheren Speicherstufen.
- 15. Speicheranordnung nach Anspruch 10, gekennzeichnet durch Einrichtungen, die aufgrund von Signalen aus jeder Speicherstufe feststellen, wann ein vollständiger Pfad durchdie Hierarchie freigemacht wurde.
145 403 881/0780ι U ·» Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US367046A US3911401A (en) | 1973-06-04 | 1973-06-04 | Hierarchial memory/storage system for an electronic computer |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2422732A1 true DE2422732A1 (de) | 1975-01-02 |
DE2422732C2 DE2422732C2 (de) | 1983-02-17 |
Family
ID=23445718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2422732A Expired DE2422732C2 (de) | 1973-06-04 | 1974-05-10 | Hierarchische Speicheranordnung |
Country Status (7)
Country | Link |
---|---|
US (1) | US3911401A (de) |
JP (1) | JPS5420294B2 (de) |
CA (1) | CA1000412A (de) |
DE (1) | DE2422732C2 (de) |
FR (1) | FR2232009B1 (de) |
GB (1) | GB1425804A (de) |
IT (1) | IT1010164B (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5226124A (en) * | 1975-08-22 | 1977-02-26 | Fujitsu Ltd | Buffer memory control unit |
FR2344094A1 (fr) * | 1976-03-10 | 1977-10-07 | Cii | Systeme de gestion coherente des echanges entre deux niveaux contigus d'une hierarchie de memoires |
US4128882A (en) * | 1976-08-19 | 1978-12-05 | Massachusetts Institute Of Technology | Packet memory system with hierarchical structure |
US4084234A (en) * | 1977-02-17 | 1978-04-11 | Honeywell Information Systems Inc. | Cache write capacity |
US4399503A (en) * | 1978-06-30 | 1983-08-16 | Bunker Ramo Corporation | Dynamic disk buffer control unit |
CA1123964A (en) * | 1978-10-26 | 1982-05-18 | Anthony J. Capozzi | Integrated multilevel storage hierarchy for a data processing system |
US4467411A (en) * | 1981-03-06 | 1984-08-21 | International Business Machines Corporation | Scheduling device operations in a buffered peripheral subsystem |
US4458310A (en) * | 1981-10-02 | 1984-07-03 | At&T Bell Laboratories | Cache memory using a lowest priority replacement circuit |
JPS5862291A (ja) * | 1981-10-07 | 1983-04-13 | 古河鉱業株式会社 | 坑道掘削方法および坑道掘削機 |
JPS6153988A (ja) * | 1984-08-20 | 1986-03-18 | 鹿島建設株式会社 | 水噴射切削装置の移動装置 |
US4727486A (en) * | 1986-05-02 | 1988-02-23 | Honeywell Information Systems Inc. | Hardware demand fetch cycle system interface |
AU597363B2 (en) * | 1987-05-22 | 1990-05-31 | Honeywell Bull Inc. | Present bit recycle and detect logic for a memory management unit |
NL8800158A (nl) * | 1988-01-25 | 1989-08-16 | Philips Nv | Computersysteem voorzien van een hierarchisch georganiseerd geheugen. |
CA2055295C (en) * | 1991-11-12 | 2000-05-23 | Jean Gilles Fecteau | Logical mapping of data objects using data spaces |
US6378042B1 (en) * | 1999-08-11 | 2002-04-23 | Fast-Chip, Inc. | Caching associative memory |
US7855672B1 (en) * | 2004-08-19 | 2010-12-21 | Ixys Ch Gmbh | Compressed codeset database format for remote control devices |
US7484074B2 (en) * | 2006-01-18 | 2009-01-27 | International Business Machines Corporation | Method and system for automatically distributing real memory between virtual memory page sizes |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3588839A (en) * | 1969-01-15 | 1971-06-28 | Ibm | Hierarchical memory updating system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573750A (en) * | 1968-03-29 | 1971-04-06 | Nippon Electric Co | High-speed memory system |
US3541529A (en) * | 1969-09-22 | 1970-11-17 | Ibm | Replacement system |
US3647348A (en) * | 1970-01-19 | 1972-03-07 | Fairchild Camera Instr Co | Hardware-oriented paging control system |
US3701107A (en) * | 1970-10-01 | 1972-10-24 | Rca Corp | Computer with probability means to transfer pages from large memory to fast memory |
-
1973
- 1973-06-04 US US367046A patent/US3911401A/en not_active Expired - Lifetime
-
1974
- 1974-03-29 FR FR7411898A patent/FR2232009B1/fr not_active Expired
- 1974-04-19 CA CA198,066A patent/CA1000412A/en not_active Expired
- 1974-04-29 IT IT21995/74A patent/IT1010164B/it active
- 1974-05-01 GB GB1902574A patent/GB1425804A/en not_active Expired
- 1974-05-10 DE DE2422732A patent/DE2422732C2/de not_active Expired
- 1974-05-22 JP JP5679674A patent/JPS5420294B2/ja not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3588839A (en) * | 1969-01-15 | 1971-06-28 | Ibm | Hierarchical memory updating system |
Non-Patent Citations (1)
Title |
---|
IBM System Journal No. 2, 1970, S.78-117 * |
Also Published As
Publication number | Publication date |
---|---|
JPS5420294B2 (de) | 1979-07-21 |
DE2422732C2 (de) | 1983-02-17 |
FR2232009B1 (de) | 1976-06-25 |
CA1000412A (en) | 1976-11-23 |
JPS5023537A (de) | 1975-03-13 |
IT1010164B (it) | 1977-01-10 |
US3911401A (en) | 1975-10-07 |
FR2232009A1 (de) | 1974-12-27 |
GB1425804A (en) | 1976-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2422732C2 (de) | Hierarchische Speicheranordnung | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE3131341C2 (de) | ||
DE2431379C3 (de) | Datenverarbeitungseinrichtung | |
DE2231146C3 (de) | Datenverarbeitungsanlage mit virtueller Adressierung | |
DE3854481T2 (de) | Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem. | |
DE60204687T2 (de) | Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird | |
DE1499182C3 (de) | Datenspeichersystem | |
DE2523414A1 (de) | Hierarchische speicheranordnung | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE112010003594T5 (de) | Dynamische Ressourcen-Zuordnung für verteilte Gruppen-speichernetze | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE2221442A1 (de) | Assoziativspeicher | |
EP1079307B1 (de) | Verfahren zum Betrieb eines Speichersystems sowie Speichersystem | |
DE19538448B4 (de) | Datenbankmanagementsystem sowie Datenübertragungsverfahren | |
DE2558417A1 (de) | Datenverarbeitungssystem | |
DE3025167C2 (de) | Datenverarbeitungseinrichtung | |
EP0782739B1 (de) | Controller zur aufbereitung von kodierten bildinformationen | |
DE2142374A1 (de) | Datenverarbeitungseinnchtung | |
DE2404887C2 (de) | Schaltungsanordnung für den Informationsaustausch mit einem Rechner | |
DE60226024T2 (de) | Verfahren und system um auf einen gemeinsamen speicher zuzugreifen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |