DE2422732C2 - Hierarchische Speicheranordnung - Google Patents
Hierarchische SpeicheranordnungInfo
- Publication number
- DE2422732C2 DE2422732C2 DE2422732A DE2422732A DE2422732C2 DE 2422732 C2 DE2422732 C2 DE 2422732C2 DE 2422732 A DE2422732 A DE 2422732A DE 2422732 A DE2422732 A DE 2422732A DE 2422732 C2 DE2422732 C2 DE 2422732C2
- Authority
- DE
- Germany
- Prior art keywords
- page
- block
- level
- memory
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
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
— Adressenschulteinrichuingen (42, 43, Fig.5A,
6A), welche bis zur An wortstufe die vom Prozessor (60) empfangene Seitenadresse und
zu höheren Stufen die Adresse einer rückzuübertragenden Seite übertragen,
— ein mit der zweiten Sammelleitung und mit einer Leitung (24/4Jzum Empfang der Markier- *o
information verbundenes erstes UND-Glied (38) zur Steuerung der Adressenschalteinrichtungen,
— ein mit der ersten Sammelleitung und mit dem Ausgang der Adressenvergleichseinrichtung «
{13A) der betreffenden Stufe verbundenes zweites UND-Glied (15),
— eine erste Aktionseinheit (30) zur Durchführung der Übertragung der angeforderten Seite
(»primäre« Datenübertragung), Μ
—
eine zweite Aktionseinheit (51) zur Durchführung der Übertragung von rückzuübertragenden Seiten (»sekundäre« Datenübertragung),
wobei beide Aktionseinheiten vom zweiten UND-Glied (15) gesteuert werden.
— zusätzliche Speichereinrichtungen im Zuordnungsspeicher (80) zum Anzeigen einer einzigen rtlckzuübertragenden Seite.
2. Speicheranordnung nach Anspruch 1, dadurch w gekennzeichnet, daß die Vorwärtsübertragung (von
hohen zu niederen Stuten) der von der Prozessoreinheit gewünschten primären Daten entlang des
gefundenen Pfades verzögert wird, bis der Pfad vollständig bis zu der untersten Speicherstufe
freigemacht ist.
3. Speicheranordnung nach Anspruch 2, 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 4er Hierarchie während
des Freimachens des Pfades benutzt wird*
4. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß eine Prozessor-Seitenanforderungsleitung (100) mit allen Stufen der Hierarchie,
und in jeder Stufe über ein INVERTER-GHed (95)
mit einem zusätzlichen Eingang des erstem UND-Gliedes (38) verbunden ist, derart daß zwischen
jeweils zwei Prozessor-Anforderungen ein freier Pfad durch die Hierarchie ermittelt wird.
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, gemäß dem Oberbegriff des Anspruchs 1.
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 Daicn 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 würden. 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 Multiprogrammierung nicht ausreicht
Zur Lösung dieses Problems sind bereits Speicheranordnungen bekanntgeworden, in denen ein Großraumspeicher, dessen Speicherkapazität zur Speicherung
aller vorgesehenen Daten ausreicht, mit einem kleineren, jedoch schnellen Pufferspeicher zusammenarbeitet,
dessen Kapazität gerade groß genug ist, die zur Verarbeitung eines Benutzerprogrammes 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.
Ein dritter Speicher, der gewöhnlich als Zuordnungsspeicher bezeichnet 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
Zuordnungsspeicher ü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 übertragen. 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 schnellen Pufferspeicher
Obertragen.
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 SeHe 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
werden, naturgemäß schwieriger, als bei Speicheranordnungen mit nur einer oder zwei Stufen.
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 Niveau am
besten zum Austausch geeignet ist Lathä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 werden, 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 weiteren Datenübertragungen, d.h. sekundäre
Übertragungen, nach sich.
Eine hierarchische Speicheranordnung mit zwei Stufen sowie ein Übertragungsverfahren zur Übertragung
von Datenseiten zwischen zwei Stufen ist in der US-PS 35 88 839 beschrieben. In einem mehrstufigen
hierarchischen Speichersystem ist es jedoch notwendig, die Übertragung von Datenseiten über mehrere Stufen
hinweg planmäßig und coordiniert auszuführen. Die Probleme, welche bei der Übertragung von Datenseiten
über mehrere Stufen hinweg entstehen, sind daher weitaus komplizierter, als die, die bei einer Übertragung
zwischen nur zwei Stufen entstehen. Insbesondere bedarf die Reihenfolge von primären und sekundären
Seitenübertragungen einer genauen Planung, wofür die genannte US-PS keine Hinweise gibt
In der Zeitschrift »IBM Systems Journal« Nr. 2,1970,
Seiten 78—117 sind theoretische Methoden beschrieben, in denen verschiedene Seitenersatz-Algorithmen in
einem mehrstufigen Speichersystem hinsichtlich ihrer Effektivität bewertet werden können. Der genannte
Artikel enthält jedoch keine Hinweise auf Einrichtungen, mit denen ein Übertragungspfad für einen
Seitentransport durch die Speicherhierarchie freige- v> macht werden kann und auf Einrichtungen, welche zur
Zwischenspeicherung der Seiten im Zuge der Übertragung geeignet sind.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, in einer mehrstufigen Speicherhierarchie die
Anzahl sekundärer Datenübertragungen dadurch zu vermindern, daß zumindest ein Teil des für die primäre
Übertragung aufgebauten Datenpfades nicht sofort für die primäre, sondern zuerst für die sekundäre
Datenübertragung benutzt wird. M
Diese Aufgabe wird durch die im Kennzeichen des Hauptanspruches beschriebene Einrichtung gelöst.
Die Erfindung gestai-et eine wesentliche Verringerung
der Anzahl Übertragungsoperationen für primäre und sekundäre Übertragungen,
Da für jede einzelne Übertragungsoparation mit Hilfe
eines Ersatzalgorithmus erst eine Seite gefunden werden muß, die rückübertragen werden kann, ermöglicht
die Erfindung eine ganz wesentliche Zeitersparnis sowie eine bessere Ausnutzung der bestehenden
Einrichtungen.
Die Erfindung soll nun anhand eines in den Figuren gezeigten Ausführungsbeispieles näher beschrieben
werden. Es zeigt
F i g. 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 Speicherund
Steuerungseinrichtungen zu jeder Stufe in einer bevorzugten Ausführungsform de/ Erfindung dargestellt
sind,
F i g. 4 ein Blockdiagramm, in dem die Zuordnung der gezeigten Speicher- und Steuerungseinheiten zueinander
und die Verwendung eines Bündels von Stcuerleitunger*
beschrieben ist
F i g. 5a und 5b Flußdiagramme zur Erläuterung der Aktions- und Entscheidungselemente, die mit einer
bestimmten Speicherstufe verbunden sind und
Fig.6a und 6b Blockschaltbilder der Aktions- und Entscheidungseinheiten einer Speicherstufe in einer
anderen bevorzugten Ausführungsform.
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 Spekherabschnitte
wiederholt adressiert werden. Während der Ausführung eines solchen Programmes wird also nur ein
rerativ kleiner Teil der Informationen im gesamten Speicher benötigt Diesen Gegebenheiten trägt die in
F i g. 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 Zwi.v.hsnstufen für die Verarbeitungseinheit »transparent«
sind. In den Pufferspeichern der Zwischenstufen werden die Seiten abgespeichert, von denfen angenommen
wird, daß sie mit einer relativ hohen Wahrscheinlichkeit zur alsbpldigen 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 Zugriffsgeschw:ndigkeit
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-Puffer-
speicher in kongruente Klassen, der verwendeten Scitenaustausch-Algorithmen und schließlich der Art
der verwendeten Programme.
In der nachfolgenden Beschreibung werden mit »Seiten« feste Informationsbeträge gemeint, die zwisehen
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 die Seite,
die Platz machen muß zur Einspeicherung einer neuen nunmehr benötigten Seite. Beispielsweise können einem
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ützungsspeicherE. 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 Nennadresse 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 Pufferspeit Her 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
, VJIV IUIgVIIUVI
liegen: »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übertragunbssteuerungen, erzielt werden. Wichtiger
als die genannte Einsparung an Bauelementen erscheint jedoch die Verkürzung der Zugriffszeit zu der
Speicherhierarchie.
Aus Fig.3 ist ersichtlich, daß in jeder Stufe der Speicherhierarchie ein Zuordnungsspeicher 80, ein
Austauschseitenanzeiger 82, eine Rückspeichersteuerung 84 und eine Übertragungssteuerung 86 vorgesehen
sind. In F i g. 3 ist auch gezeigt daß für den ω Unterstützungsspeicher 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 64
abgespeicherten Seiten zu jedem Zeitpunkt anzuzeigen.
rkoihtn rrcomKi
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 Speicherstufe, in der ein positiver Adressenvergleich
festgestellt wurde, entweder eine Vorwärts-Seitenübertragung ai einem niedrigeren Niveau ausgelöst oder die
zugeordnete Übertragungssteuerung 86 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.
Zum Beispiel 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-\ 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 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-Algorithmus oder des Algorithmus zum
Austausch der am wenigsten häufig verwendeten Seite verwedJet werden.
Die Rückspeichersteuerung 84 ist verantwortlich für die interhierarchischen Rückspeicheroperationen. Sie
erzeugt eine Rückspeicheranforderung und fine 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 SpciChci'Siüfcn
gesucht, die höher liegen als die Stufe, von der die Anforderung ausging. Dies wird durch die Verwendung
eines Adressenschalters 42 (Fig. 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 voii Pufferregistern enthalten,
um eine Anpassung zwischen den verschiedenen Übertragungs-Bitweiten und verschiedenen Geschwindigkeiten
der verwendeten Speicherstufen herzustellen. Natürlich ist auch die Verwendung eines fehlerkorrigierenden
Codes in der Übertragungssteuerung 86 mö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-X 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:
55
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
Z wenn ihre zugeordnete Seitenrückspeichersteuerung 84 es notwendig findet, eine Seitenrückspeicheroperation
auszulösen.
65
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 Fig. 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 F i g. 1 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 Hn und Informationen angefordert hat,
die in einem Speicherblock FA in einer höheren Stufe, z. B. in der nächsten Stufe des Unterstützungsspeichers,
gespeichert sind. Um die Daten der niedrigeren Speicherstufe H1.) die Daten vom Datenblock FA zur
Verfügung zu stellen, werden diese Daten zum Block FB der nächstniedrigen Stufe übertragen, sodann zum
üiock j C in der riaCiiSinicdrigcrcr: otütc rii-i 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 F i g. 1 ist gezeigt, wie ein Seitenaustauschalgorithmus
im Zuordnungsspeicher der Speicherstufe HiA
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 FS 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 werden, wie im Schritt 3 gezeigt ist. Im nächstniedrigeren Niveau Hn soll nun angenommen
werden, daß die zum Austausch vorgesehene Information im Block FD ein Markierbit aufweist welches
anzeigt 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 ///befindet Diese Information muß nun vorwärtsübertragen
werden in die Stufe Hn, so daß die ergänzte Information im Block FD behalten werden kann. Um
diese Übertragung der Daten im Block 70 auszuführen,
wird von der nächstniedrigeren Stufe Hi.\ 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 ii.i Seitenrahmen 71, wie in Schritt 5
gezeigt, vorwärtsübertragen werden. Von der Speicherstufe Hn wird nun verlangt, einen Seitenrahmen 72
anzugeben, der geeignet ist, die dazugehörige Seite, welche sich nun im Seitenrahmen 71 der Stufe f/,.i
befindet, zu empfangen. Wiederum wird nun 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
zum Austausch geeigneten 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 der Stufe benachbart is* 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
Speicherniveau.
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, weiche
durch eine Anforderung der Verarbeitungseinheit nötig wurde, zurückgehalten, bis die Seitenrr.arkier-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ückstellung
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 F i g. 1 zugrundegelegen haben. Die vo^ der Verarbeitungseinheit 60 verlangte Information soll sich im Seitenrahmen FA in der Stufe des Unterstütze zun^ss^sichers /^1 befinden. Der vnn ^ρπ An^taii^rhcpitenanzeigern 82 ausgewählte Pfad in den verschiedenen hierarchischen Stufen läuft über FB, FC und FD in den Stufen Hm, f/,.2 und Hi-3. 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.
In den nachfolgenden Erklärungen sollen die gleichen Bedingungen angenommen werden, wie sie auch der Erklärung der F i g. 1 zugrundegelegen haben. Die vo^ der Verarbeitungseinheit 60 verlangte Information soll sich im Seitenrahmen FA in der Stufe des Unterstütze zun^ss^sichers /^1 befinden. Der vnn ^ρπ An^taii^rhcpitenanzeigern 82 ausgewählte Pfad in den verschiedenen hierarchischen Stufen läuft über FB, FC und FD in den Stufen Hm, f/,.2 und Hi-3. 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 in 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 f/,
befindet. Um die Beschreibung der gesamten Rück-Speicheroperation zu vereinfachen, soll nun angenommen
werden, daß die Stufe Hi wirklich die höchste Stufe
der gezeigten Speicherhierarchie ist. Da sich die Stufe Hi.] 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ückzuspeichern und die Rückspeicheroperation kann
sofort, wie im Schritt 1 gezeigt, ausgeführt werden. Nach 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ück-Speicheranforderung 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 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 FCoder FB und
c) keine verfügbare Stammseite wird durch die Adressensuche gefunden.
Im letzteren Falle muß «ich die einzig verfügbare Stammseite im Unterstützungsspeicher befinden, so daß
diese Situation mit der in F i g. 1 gezeigten vergleichbar ist In der Situation a), d. h. wenn sich die am nächsten
befindliche Stammseite im unmittelbar benachbarten
höheren Niveau Hn befindet, wird eine einfache
Seitenrückspeicheroperation ausgeführt, wie im Schritt X in F i g. 2 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 H,.\ 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 werden, 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ückungslösung. Unter dem Gesichtspunkt von Seitenaustauschüberlegungen sollte solch
eine Seite als eine austauschbereite betrachtet werden. Jedenfalls best .ht 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 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 w^r 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 urn 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 Ζϊ gezeigt ist. In der Situation
c), wo die einzige verfügbare Stammseite sich in der Stufe //,befindet, wird das gesamte Teilstück des Pfades
FB und Fc benutzt, um eine Vorwärtsü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ären Datenübertragungen.
Als deutlicher Vorteil des in F i g. 2 gezeigten Verfahrens gegenüber dem in F i g. 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 Ffade zu finden und
von markierten Seitenbits freizumachen. Finden bei der Freimachung des Pfade« '»/oh! sekundäre Seitenübertragungen
statt, es wird jedoch die Nofwsijdigkeit d?s
Auffindens von hierzu benötigten sekundären Pfader, vermieden. Der Hauptpfad ist der einzige Pfad mit
Ausnahme der endgültigen F.liminierung der markierten
Seitenbits am obersten Ende aller Piickspeicherübertragunge1
Liese vereinlachte Arbeitsweise bringt eine westn'J' :he Verbesserung gegenüber den gebräuchlichen
Verfahren mit sich.
In Fig. 5 ist eine bevorzugte Ausfiihrungsform der Steuereinrichtungen für eine einzige Pufferspeicherslufe
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 wird 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 10 übertragen. Auf der in F i g. 5 gezeigter, hierarchischen Stufen werden geeignete Teile
der Adresse des Datensegmentes und das Kommando erhalten und wird der Suchblock 13 in der Zuordnungsspeichersteuerung
adressiert. Wenn die Adressensuche durchgeführt ist, wird das Resultat zum Entscheidungsblock 13.4 gegeben. Wenn sich die gewünschte
Information nicht im Zuordnungsspeicher befindet, gibt der Entscheidungsblock 13/4 ein Signal auf die Leitung
14 zur Sammelleitung 39, die nachfolgend als »Kabelbündel« bezeichnet wird, 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 Steuereinrichtung gegeben. Die betreffende Stufe, in der also ein positiver
Vergleich festgestellt wurde, wird als antwortende Stufe bezeichnet. Das Signal von 13,4 wird mit Signalen von
den niedrigeren hierarchischen Stufen vom Kabelbündel 39, welches anzeigt, daß die Adreßsuche in den
niedrigeren Stufen nicht ertolgreich war. kombiniert. Diese Signale zusammen mit dem Suchkommando von
der Leitung 12 erzeugen ein Kommando vom UND-Block 15. Ein Signal wird zur Einrichtung 16
gesendet, welche daraufhin die Adresse im Pufft,; jpeicher
des Seitenrahmens, der das gewünschte Datensegment enthält, aussendet. Ebenfalls wird ein Signal auf
der Leitung 15/4 zu den niedrigeren Schnittstellenkontrollen zur Einheit 17 gesandt, was zur Aussendung 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 wird über die Leitung
18 zu der Einheit 18Λ 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 Oberschreiben 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
Signa! von der Einheit 19 gelangt zur Einheit 20, welche eine Seitenaustauschadresse erzeugt und außerdem ein
Kcmma-iJo au die Einheit 22 zur Einleitung eines
Zugriffs zum Zuordmingsspeicher. Das Kommando von
der Einheit 22 geht zur Einheit 23 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 24 stellt fest, ob ein Seitenmarkierbit vorhanden ist in der Information in
dem zum Austausch gewählten Seitenrahmen. Die Einheit 24 führt je nach Feststellung hierauf die
geeigneten Operationen durch. Wenn kein Markierbit gesetzt ist, wird ein Signal auf der Leitung 25 zur
Zuordnungseinheit 26 gesandt, weiche den ausgewählten Rahmen dazu bestimmt, die Information von einer
höheren Stufe zu empfangen und die als Datenpfadschritt arbeitet Zugleich wird ein Signal auf der Leitung
25/4 in das Kabelbünde] 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 26/4 zu den höheren antwortenden Speicherstufen und
iuf der Leitung 26 B 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 F i g. 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 ISA 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ün*
del 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 28 und wird mit dem Signal vom Block 260 kombiniert,
wodurch die Seite mit der von 16 erhaltene Adresse vom Puffer ausgelesen wird, wie im Block 28 dargestellt
ist. Das Signal vom Block 28 benachrichtigt Ober die Leitung 28A die unmittelbar niedrigere Stufe auf
Leitung 285, Informationen von der ursprünglichen Stufe zu empfangen, welche nun bereit ist, Daten zu
niedrigeren Stufen zu senden. Das Signal vom Block 28 wird zum Aktionsblock 32 der niedrigeren Stufe
übertragen. Das Signal vom Block 28 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 Schnittstelle 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 Nennadresse, welche gleich ist der Adresse im
ίο Unterstützungsspeicher der gewünschten Information
wird von der Leitung 105 im Block 34 empfangen und die Seitenrahmenadresse im Zuordnungsspeicher wird
vom Block 20 empfangen. Das Signal von 32Λ wird auch
in den UND-Block 35 zusammen mit dem Signal von
is 305 eingegeben. Wenn der Block 35 beide Signale, wie
im vorliegenden Falle, erhält wird ein Befehl zum Block 36 gesandt der daraufhin ein Signal 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 33-4 nach Beendigung der Pufferschreiboperation 33 den Block 37 dazu veranlaßt ein Signal
zum Zuordnungsspeicher auf der Leitung 37A zu senden, welches den Block 13Λ 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 Austauschseitenrahmens, welcher
als Teilstück einer Übertragungspfades ausgewählt wurde, festgestellt wird ein Signal zum UND-Block 38
auf der Leitung 24/4 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 über die Sammelleitung 55 übertragenen positiven Signale von allen oberen Stufen kombiniert
werden mit den positiven Signalen auf der Leitung 24/4 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 Block 41 zum
Aussenden der Nennadresse, welcher die Unterstützungsspeicheradresse der Information in dem Austauschseitenrahmen, 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
so Adreßschalteinrichtung 43, so daß die Nennadresse vom
weiche ursprünglich dieselbe war als die Adresse auf der
der Adressensucheinrichtung 13 und den Block 23 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
ursprunglichen Bedingungen.
Die Rückspeicheranforderung, die vom Block 40 ausgeht, setzt auch den Pufferleseblock 44 über die
Leitung 40/4 in Tätigkeit und bereitet damit die Datenübertragungen zu höheren Stufen vor, die
gemacht werden muß, um das Seitenmarkierbit 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 voro 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 44 in dem benachbarten unteren Niveau und durch ein Signal auf
Leitung 15B vom UND-Block 15, so daß die Übertragung nun ausgeführt wird.
Nach 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 48Λ 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 48Cder oberen (empfangenden) Stufe,
auch vom Block 48, über die Leitung 485 eine Anforderung 50 zum Setzen des Seitenmarkierbits
dieser Stufe. Diese Anforderungen werden von den Zuordnungsspeichern ausgeführt, wenn die Signale zum
Block 49Λ »Rückstellen Seitenmarkierbit« vom Block
49 und vom Block 50 zum Block 5UA »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
Stute erzeugt wird, die mindestens eine Stufe weiter und oberhalb der anfordernden Stufe liegt, sendet der
UND-Block 15 dieser Stufe ein Signal 15Ozu 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ückspeichersteuerung 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 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 beschrie·
ben wurden. Abweichend von einer primären Übertragung erzeugen jedoch die Blöcke 30 und 51 kein Signal,
welches äquivalent wäre dem Signal 30A oder 30Ä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ärtsUbertragung beendet.
Fig.4 in Verbindung mit Fig.5 zeigt eine Steuerungseinrichtung für eine hierarchische Speichereinrich
tung mit einer Vielzahl von Speicherstufen, 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 Steuereinrichtung der Zuordnungsspeicher in jeder Stufe ist auch ein Entscheidungsblock 13A gezeigt
und der damit verbundene UND-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 Kabelbündel 29 und 39Λ und die damit verbundenen
UND-BIöcke 30Λ und38.
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 F i g. 2 gezeigten Beispiel, ausgesendet werden können. Zur Realisierung dieser Einrichtungen können
eine Reihe von ODER-Gliedern 18Λ 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 Auitauschseitenzeigerfeld 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 Einrichtungen sind in den Blöcken 35 und 36 in Fig. 5
gezeigt.
Ferner sind Einrichtungen vorgesehen, welche eine Reihenfolge unter den Ruckspeicheranforderungen von
den verschiedenen Stufen der Speicherhierarchie festlegen. Hierzu dienen eine Reihe von UND-Gliedern,
die im Block 38 in Fig.5 gezeigt sind. Hier ist
festzuhalten, daß eine RQckspeichenrteuerung 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 eine Vorwärtsübertragung einer Seite bewilligt werden:
1, eine sekundäre Vorwärtsseitenübertragung von einer bestimmten Stufe Ht (k ist größer als 2) wird in
bewilligt, wenn eine Rückspeicheranforderung von irgendeiner Stufe unterhalb Ht-\ ausgeht und wenn
Ht die niedrigste Stufe ist, die positiv geantwortet
hat auf eine Rückspeicheradressensuchanforderung. Zur Realisierung dieser Arbeitsweise ist in π
F i g. 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 <bine primäre Vorwärtsübertragung einer -")
Seite von einem bestimmten Niveau Hk bewilligt wird, wobei Ht die niedrigste Stufe ist, die positiv
antwortet auf die primäre Adressensuchanforderung und wobei ein freier Pfad gefunden wurde
zwischen den Stufen Ht-\ und H\. Der betreffende
UND-Block 30Λ, der vor dem Block 30 der primären Vorwärtsübertragung in der Übertragungssteuerung
einer typischen Stufe liegt (F i g. 5), erzeugt die notwendigen Steuersignale.
JO
Ein weiterer Unterschied zwischen der im Ausführungsbeispiel gezeigten »freimeohen wenn benötigt«-
Steuerung und den bekannten Seitenaustauscheinrichtungen liegt darin, daß in? Falle einer 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 Einrichtung nur zwei Reihenfolgesteuerungen in jeder ·*ο
Übertragungssteuerung notwendig. Dieser Vorteil des gezeigten Verfahrens »freimachen wenn nötig« ist aus
den in F i g. 2 gezeigten Ablaufbedingungen ersichtlich.
Zum Beispiel ist in der Stufe H1 die Übertragung im
Schritt 7 die einzige wartende Operation vor den Übertragungen in den Schritten, 1,2 und 6. in der Stufe
Hi.] ist in dem gezeigten Fall keine Reihenfolgesteuerung
notwendig. Die Übertragung im Schritt 7 wurde von der Stufe Hu 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 F i g. 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
Ausfuhrungsbeispiel der Erfindung besteht darin, daß in der Freipfadspeicherhierarchie ein durchlaufender
freier Pfad durch alle Stufen der Hierarchie immer zur b0
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 freige- h>>
macht, wenn eine Anforderung von der Verarbeitungseinheit erhalten wird. Außerdem wird ein Pfad nur
zwischen der Stufe, die die angeforderte Information enthalt, 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
andererseits 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 F i g. 6 kann
jede Speicheranforderung sofort durchgeführt werden, da der Pfad automatisch nach der Beantwortung jeder
Anforderung aufgebaut wird.
Nur zwei 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 Xbzw. Knotig sind, wird
die benötigte Information vcrwärts zum niedrigeren Niveau übertragen, wofür eine '£eh Z aufgewendet
wurde. Die gesamte Zeit zur Beantwortung einer solchen Anforderung beträgt nach diesem System also
X + Y+Z
Nach der Freipfadhierarchie kann jedoch eine Anforderung nach einer in einer oberen Stufe
gespeicherten Information direkt beantwortet 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 Y' notwendig ist
Die Zeit, die nötig ist, um einen Pfad wiederaufzubauen,
verzögert jedoch die Arbeitsweise der Prozessoreinheit nicht, da das Aufbauen des Pfades gleichzeitig mit
der Verarbeitung der Daten im Prozessor vor sich gehen kann. Außerdem ist im allgemeinen !"kleiner als
Y, 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. F,ine 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 18Λ und das Kabel 18 der oberen
Stufe angestoßen. In der Freipfadhierarchie jedoch wird der Block 19 automatisch durch die Autostartblöcke 90
und 91 angestoßen, welche ihrerseits von dem Austauschseitenanzeigerbit-Rückstellblock 36 in dem
Zuordnungsspeicher der eigenen Stufe angestoßen wird
Das Ausgangssignal des Blockes 37 in F i g. 6 gelangt nach Beendigung der primären Vorwärtsübertragung
einer Datenseite zum Zuordnungsspeicher und zwar zu den Brocken 13 und 13A Durch die Tätigkeit des
Blockes 34 wird die Adresse der neuen erhabenen Seite nun vom Block 13 detektiert und das Ausgangssignal
der Entscheidungseinrichtung 13Λ wird von nein auf ja geändert, um die Anwesenheit der gewünsciiten neuen
Seite anzuzeigen. Nach 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 92 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
92A 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 92 auch begleitet von einem Signal von der Verarbeitungseinheit auf der Leitung 100, was notwendig
ist, um den Block 93 anzustoßen. Der Registerblock 91 wird durch ein Signal vom Block 36 zurückgestellt
Das Ausgangssignal vom Block 91 macht den UND-Block 90 fertig, um den Austauschalgorithmus bis
zum EmpJang 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
Seitenrnarkierbits sich in Stellung 1 oder 0 befinden, wie es im Zustmmenhang mit F i g. 5 erläutert wurde. Wenn
das Markierbit 0 ist und damit anzeigt, daß die Information in dieser Seite nicht markiert oder geändert
ist, wird 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.
Hierdurch werden auch die Register 91 gesetzt und das Signal zum UND-Block 90 beendet. Außerdem wird
ein Signal 9t A 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 anzeige.), daß der Pfad durch die betreffenden Stufen der Hierarchie geschlossen wurde,
ι ο
ι»
sind alle Bedingungen zum Aufbau eines freien Pfades durch die Hierarchie erfüllt und die Speicherhierarchie
ist nun 2um Empfang einer Anforderung von der
Prozessoreinheit 60 bereit Wie aus F i g, 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ückspeicheroperation 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 isc Der Block 38 kann also nicht in Tätigkeit treten, während von der
Prozessoreinheit 60 eine Zugriffsanforderung zur Speicherhierarchie anliegt Wenn ι«λ- 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
F i g. L, 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 cfen ODER-Block
97 geleitet wird. Die Beantwortung der Rückspeicheranüorderung
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 98 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 Austauschseitenanzeigers 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 dir 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
F i g. 5 beschriebenen Methode.
Jedoch bestehen zwei bedeutsame neue Bedingungen
nach der Freipfad-Methode.
1. Die wartende oder aufgeschobene Vorwärtsseitenüberiragung
ζ :r 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 (F i g. 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 94 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 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 Hj, 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/-I, da
sich eine Adressierung zur Stufe Hj ergibt. In diesem Fall muß festgestellt werden, daß die Arbeitsweise der
ίο Einrichtung beim Freimachen des betroffenen Teilstück
des Pfades in der Stufe Hj unnütz war. Da jedoch alle Seiten, die auf d^m Pfad liegen, wahrscheinlich zum
Austausch geeignete Seiten sind, ist das Eintreffen des oben erwähnten Ereignisses des Adressierens einer
solchen Seite durch die Verarbei'ungseinheit sehr gering.
nierzu / Diati z.eicnnungen
Claims (1)
- Patentansprüche:t, Hierarchische Speicheranordnung mit Speichern höherer Kapazität und niedrigerer Geschwindigkeit in den höheren hierarchischen Stufen und Speicher niedrigerer Kapazität und höherer Geschwindigkeit in den niedrigeren hierarchischen Stufen, deren letzte an einen Prozessor angeschlossen ist, mit Einrichtungen zur Übertragung von Datenseiten verschiedener Größe zwischen den einzelnen Stufen der Hierarchie, mit Zuordnungsspeichern in jeder Stufe zur Speicherung und zum vergleichenden Absuchen von Identifikationsangaben über die jeweils in der Stufe gespeicherten Datenseiten und von Markierinfonnationen über erfolgte Änderungen der Daten in der Seite, und mit Austauschseitenanzeigern zum Auffinden von Datenseiten, welche durch neu gebrauchte Seiten aberschrieben werden können, gekennzeichnet durch eine von den niederen zu den hohen Stufen laufende erste Sammelleitung (39) zur Übertragung der Ergebnisse der Adressenvergleiche in jeder Stufe und zur Feststellung der niedrigsten Stufe auf der eine vom Prozessor angeforderte Seite gespeichert ist (»Antwortstufe«),durch eine von den hohen zu den niederen Stufen laufende zweite Sammelleitung (55) für Rückübertragungs-Anforderungssignale vorher geänderter Seiten, die überschrieben werden sollen, sowie durch folgende Einrichtungen in den einzelnen Stufen der Hierarchie:
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 DE2422732A1 (de) | 1975-01-02 |
DE2422732C2 true 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. |
CA2285089C (en) * | 1991-11-12 | 2000-05-09 | Ibm Canada Limited-Ibm Canada Limitee | 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 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573750A (en) * | 1968-03-29 | 1971-04-06 | Nippon Electric Co | High-speed memory system |
US3588839A (en) * | 1969-01-15 | 1971-06-28 | Ibm | Hierarchical memory updating 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
Also Published As
Publication number | Publication date |
---|---|
US3911401A (en) | 1975-10-07 |
FR2232009B1 (de) | 1976-06-25 |
FR2232009A1 (de) | 1974-12-27 |
JPS5023537A (de) | 1975-03-13 |
JPS5420294B2 (de) | 1979-07-21 |
IT1010164B (it) | 1977-01-10 |
DE2422732A1 (de) | 1975-01-02 |
GB1425804A (en) | 1976-02-18 |
CA1000412A (en) | 1976-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2422732C2 (de) | Hierarchische Speicheranordnung | |
DE60204687T2 (de) | Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE2431379C3 (de) | Datenverarbeitungseinrichtung | |
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE2523414A1 (de) | Hierarchische speicheranordnung | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
DE2241257B2 (de) | Datenverarbeitende Anlage | |
DE3131341A1 (de) | "pufferspeicherorganisation" | |
DE112010003594T5 (de) | Dynamische Ressourcen-Zuordnung für verteilte Gruppen-speichernetze | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE4213073A1 (de) | Cache-steuergeraet und verfahren zur auswahl eines pfades eines cache-verzeichnisses bei einem zeilen-fuell-zyklus | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE3441640A1 (de) | Streifenfeldspeichercontroller | |
DE2640357A1 (de) | Wortgruppenprioritaetsanordnung | |
DE3752239T2 (de) | Vorrichtung zur Anzeigebestimmung in einer Anzeigeeinrichtung eines Computerterminals | |
DE3936339C2 (de) | DMA-Controller | |
DE19538448B4 (de) | Datenbankmanagementsystem sowie Datenübertragungsverfahren | |
EP0782739B1 (de) | Controller zur aufbereitung von kodierten bildinformationen | |
DE3025167C2 (de) | Datenverarbeitungseinrichtung | |
DE2458777C2 (de) | Schaltungsanordnung zur Textverarbeitung | |
DE3787213T2 (de) | Verzögerungsverwaltungsverfahren und -vorrichtung. | |
DE2355814C2 (de) | Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung | |
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 |