DE2422732C2 - Hierarchische Speicheranordnung - Google Patents

Hierarchische Speicheranordnung

Info

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
Application number
DE2422732A
Other languages
English (en)
Other versions
DE2422732A1 (de
Inventor
Hua-Tung Poughkeepsie N.Y. 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

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.
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
Block 41 anstelle der Adresse auf der Leitung 1OA,
weiche 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 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)

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

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

* 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
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

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) &#34;pufferspeicherorganisation&#34;
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