DE2422732A1 - Hierarchische speicheranordnung - Google Patents

Hierarchische speicheranordnung

Info

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
Application number
DE2422732A
Other languages
English (en)
Other versions
DE2422732C2 (de
Inventor
Hua-Tung Lee
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 DE2422732A1 publication Critical patent/DE2422732A1/de
Application granted granted Critical
Publication of DE2422732C2 publication Critical patent/DE2422732C2/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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

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
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.
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.
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)

  1. PATENTANSPRÜCHE
    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, 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. 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. 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 145
    409881/0780
  4. 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. 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. 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. 7. Speicheranordnung nach Anspruch 1, gekennzeichnet durch Einrichtungen zur Rückspeicherung einer Datenseite, wenn die Stammseite in der benachbarten oberen Stufe gespeichert ist.
  8. 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. 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. 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. 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. 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. 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. 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. 15. Speicheranordnung nach Anspruch 10, gekennzeichnet durch Einrichtungen, die aufgrund von Signalen aus jeder Speicherstufe feststellen, wann ein vollständiger Pfad durch
    die Hierarchie freigemacht wurde.
    145 403 881/0780
    ι U ·» Leerseite
DE2422732A 1973-06-04 1974-05-10 Hierarchische Speicheranordnung Expired DE2422732C2 (de)

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)

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

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

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

Patent Citations (1)

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

* Cited by examiner, † Cited by third party
Title
IBM System Journal No. 2, 1970, S.78-117 *

Also Published As

Publication number Publication date
DE2422732C2 (de) 1983-02-17
JPS5420294B2 (de) 1979-07-21
JPS5023537A (de) 1975-03-13
FR2232009A1 (de) 1974-12-27
GB1425804A (en) 1976-02-18
CA1000412A (en) 1976-11-23
IT1010164B (it) 1977-01-10
US3911401A (en) 1975-10-07
FR2232009B1 (de) 1976-06-25

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
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
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
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
DE3936339C2 (de) DMA-Controller
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
DE2404887C2 (de) Schaltungsanordnung für den Informationsaustausch mit einem Rechner
DE2750126B2 (de)

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