DE1499182C3 - Datenspeichersystem - Google Patents
DatenspeichersystemInfo
- Publication number
- DE1499182C3 DE1499182C3 DE1499182A DE1499182A DE1499182C3 DE 1499182 C3 DE1499182 C3 DE 1499182C3 DE 1499182 A DE1499182 A DE 1499182A DE 1499182 A DE1499182 A DE 1499182A DE 1499182 C3 DE1499182 C3 DE 1499182C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- location
- access
- memory unit
- 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 OR CALCULATING; 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Communication Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
ίο Die Erfindung bezieht sich auf ein Datenspeichersy-·
stein mit einer ersten Speichereinheit mit einer Anzahl·
von Wortspeicherplätzen mit eindeutigen Adressen- und mit einer zweiten Speichereinheit mit einer gerin-;
geren Anzahl von Speicherplätzen und kürzerer Zu-:
griffszeit als die erste Speichereinheit, wobei in jedem; Speicherplatz der zweiten Speichereinheit ein Wort zu-j
sammen mit einer diesem Wort zugeordneten Adresse der ersten Speichereinheit speicherbar ist und wobei
das System Einrichtungen für den Zugriff an die Speichereinheiten zum Auslesen eines Wortes durch'i
Festlegen der zugehörigen Adresse einschließt, wobei; ferner diese Zugriffseinrichtungen zunächst die zweite!
Speichereinheit abfragen, um zu bestimmen, ob die er-| forderliche Adresse in der zweiten Speichereinrichtung
vorhanden ist, und im Fall eines Nichtauffindens der Adresse in der zweiten Speichereinheit das Wort aus
der festgelegten Adresse in der ersten Speichereinheit
auslesen. j
Die wesentlichen Teile eines Digitalrechners sind einj
Datenspeicher, eine Datenverarbeitungseinheit und; eine Programmsteuereinheit. Es ist verständlich, daßl
die höchste Datenverarbeitungsgeschwindigkeit er-j reicht werden würde, wenn der Datenspeicher Dateni
mit einer Geschwindigkeit, die die Verarbeitungsein-]
heit in kontinuierlichem Betrieb halten würde, zur Da-j tenverarbeitungseinheit übertragen und Daten von dieser
empfangen könnte.
Viele Datenverarbeitungsanwendungen erfordern einen Datenspeicher mit einer erheblichen Kapazität
von beispielsweise einer Million Worten oder mehr. Bei dem Versuch, eine volle Auslastung der Verarbeitungseinheit mit einem Speicher dieser Größe zu erzielen,
ergeben sich zwei Probleme. Zunächst sind die Kosten der Datenspeicherung angenähert proportional zur
Geschwindigkeit des Speichers, so daß ein großer Speicher mit hoher Geschwindigkeit in vielen Fällen unwirtschaftlich
ist. Zweitens wächst die Zugriffszeit eines Speichers, d. h. die Zeit, die zum Auffinden und Auslesen
eines Wortes an einer bestimmten Adresse erforderlich ist, mit der Größe des Speichers an.
Die Verwendung von hierarchisch aufgebauten Speichern mit unterschiedlichen Speicherkapazitäten und
Zugriffszeiten wurde als eine Lösung für diese Probleme vorgeschlagen. Beispielsweise ergibt eine Gruppe
von Magnetbandeinheiten einen Speicher mit einer großen Kapazität und einer langen Zugriffszeit. Diese
Einheiten liefern Daten an eine Magnettrommel mit mittlerer Kapazität und Zugriffszeit. Die Magnettrommel
liefert Daten an einen magnetischen Kernspeicher mit geringer Kapazität und kurzer Zugriffszeit, der Daten
an die Datenverarbeitungseinheit liefert. Es wurde angenommen, daß ein annehmbarer Kompromiß zwischen
großer Speicherkapazität und kurzer Zugriffszeit auf diese Weise erzielt werden könnte.
Es stellte sich jedoch bald heraus, daß das hierarchische System sehr wenig wirkungsvoll war, wenn die
Datenverarbeilungseinheit häufig Worte benötigte, die auf der Magnettrommel oder auf dem Magnetband ge-
speichert waren. Entsprechend wurde eine verbesserte Form dieses Systems entwickelt, um den Wirkungsgrad
zu erhöhen. Dieses unter dem Namen »ATLAS« bekannte System (Literaturstelle »The ATLAS Supervisor«,
Proceedings of the Eastern Joint Computer Conference 1961, S. 279 bis 294 von T. K i 1 b u r η und R. B.
Payne) verwendete zwei Techniken. Erstens erfolgten alle Übertragungen zwischen den Trommel- und
Kernspeichern in großen Blocks mit festgelegter Größe, wobei diese Blocks »Seiten« genannt wurden. Die
»Seiten«-Größe in dem bekannten System betrug 512 Worte. Somit mußte eine »Seite« von dem Trommelspeicher
zum Kernspeicher selbst dann übertragen werden, wenn die Datenverarbeitungseinheit lediglich
ein Wort dieser »Seite« benötigte. Andererseits verringerte die Übertragung einer »Seite« als ein Block wesentlich
die Übertragungszeit, verglichen mit der Übertragung einzelner Worte.
Der Kernspeicher dieses bekannten Systems ergibt 2048 »Speicherseiten« mit allgemeinem Zugriff. Zu jeder
Zeit wird eine leere »Seite« beibehalten, um eine »Seiten«-Übertragung von der Trommel aufzunehmen.
Sobald eine leere »Seite« gefüllt wurde, wird eine andere leere »Seite« dadurch geschaffen, daß eine Daten-
»Seite« auf die Trommel übertragen wird. Die Auswahl der »Seite«, die zur Trommel übertragen werden soll,
wird durch ein hochentwickeltes Lernprogramm bewirkt, das versucht, vorauszusagen, bei welcher »Seite«
in dem Kernspeicher die Wahrscheinlichkeit am geringsten ist, daß sie in der nächsten Zeit benötigt wird.
Mit dem vorstehend beschriebenen System vergleichbare Systeme sind in der britischen Patentschrift
976 499 und in der deutschen Patentschrift 1 181 460 beschrieben.
Eine weitere Verbesserung in bezug auf die Speicherzugriffszeit kann durch die Verwendung eines
weiteren Speichers erzielt werden, der eine noch höhere Geschwindigkeit und eine noch kleinere Größe aufweist
und der zwischen dem Kernspeicher und der Verarbeitungseinheit eingefügt wird, wobei dieser weitere
Speicher auf der Grundlage einzelner Worte und nicht auf der Grundlage von »Seiten« von Daten arbeitet.
Ein derartiges System ist in der britischen Patentschrift 951 160 beschrieben, bei der der weitere Speicher eine
Kapazität von lediglich sieben Worten aufweist. Wenn bei diesem System festgestellt wird, daß ein benötigtes
Wort sich nicht in dem weiteren Speicher befindet, wird dieses Wort aus dem Kernspeicher entnommen
und in den weiteren Speicher eingeschrieben, wobei ein Wort aus diesem weiteren Speicher entfernt wird. Es
ist verständlich, daß das komplizierte Lernprogramm bzw. Vorhersageverfahren des vorstehend beschriebenen
ATLAS-Systems zu langsam sein würde, um zu entscheiden, welches Wort entfernt werden sollte. In
der britischen Patentschrift 951 160 ist daher die Verwendung einer Anzahl von analogen Benutzungsanzeigern
vorgeschlagen, die eine Anzeige des Benutzungsgrades jedes Wortes in dem weiteren Speicher liefern,
um so das am wenigsten benutzte Wort auszuwählen, das aus dem weiteren Speicher entfernt wird. Dieses
System hat jedoch den Nachteil, daß die Analoganzeiger relativ komplizierte Einrichtungen sind und eine
komplizierte Vergleichsschaltung zum Vergleich aller Benutzungsanzeigen benötigen, um auf diese Weise das
am wenigstens benutzte Wort zu identifizieren.
Der Erfindung liegt die Aufgabe zugrunde, ein Datenspeichersystem der eingangs genannten Art zu
schaffen, bei dem keine analogen Anzeigeeinrichtungen und entsprechend auch keine Vergleichseinheiten zur
Feststellung des am wenigsten benutzten Wortes erforderlich sind, so daß sich ein einfacherer Aufbau des Datenspeichersystems
bei mehreren Datenspeichern unterschiedlicher Zugriffszeit ergibt.
Diese Aufgabe wird ausgehend von einem Datenspeichersystem der eingangs genannten Art erfindungsgemäß
dadurch gelöst, daß zu jeder Zeit zumindest ein Speicherplatz der zweiten Speichereinheit leer
ist, daß jeder Speicherplatz der zweiten Speichereinheit außerdem einen Anzeigeplatz einschließt, der zur
Anzeige eines erfolgten Zugriffs des Speicherplatzes in einen gestellten Zustand schaltbar ist, daß ein Abtastschalter
zur aufeinanderfolgenden Abtastung der Anzeigevorrichtungen vorgesehen ist, daß der Abtastschalter
zu Anfang so eingestellt ist, daß er den dem leeren Speicherplatz zugeordneten Anzeigeplatz anzeigt,
und daß bei Nichtauffinden der gesuchten Adresse in der zweiten Speichereinheit die Folge der folgenden
Schritte eingeleitet wird:
a) Übertragen des Wortes von dem festgelegten Speicherplatz der ersten Speichereinheit in der
leeren, durch den Abtastschalter markierten Speicherplatz der zweiten Speichereinheit,
b) Einleiten einer Abtastung der Anzeigeplätze durch den Abtastschalter, wobei der Abtastschalter auf
einen gestellten Anzeigeplatz anspricht, um diesen zurückzustellen, und wobei die Abtastung fortgesetzt
wird, bis der Abtastschalter den ersten bereits zurückgestellten Anzeigeplatz auffindet, auf
diesen durch Stoppen der Abtastung anspricht und damit anzeigt, daß kein Zugriff an den zugehörigen
Speicherplatz seit der letzten Abtastung durch den Abtastschalter erfolgte, und
c) Auslesen des Inhaltes des erneut markierten Speicherplatzes, um diesen Speicherplatz zu leeren.
Weitere vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
Durch die erfindungsgemäße Ausgestaltung des Datenspeichersystems sind lediglich binäre Anzeigeplätze
an Stelle von analogen Anzeigevorrichtungen erforderlich, so daß das System vereinfacht wird und die Kosten
verringert werden. Weiterhin ist keine Vergleichsschaltung zum Vergleich einer Anzahl von unterschiedlichen
Benutzungsanzeigen erforderlich, sondern es ist lediglich erforderlich, jeden binären Anzeigeplatz aufeinanderfolgend
abzutasten, bis ein Anzeigeplatz aufgefunden wird, der bereits zurückgestellt wurde. Hierdurch
ergibt sich eine wesentliche Vereinfachung des Datenspeichersystems.
Die Erfindung wird im folgenden an Hand eines in der Zeichnung dargestellten Ausführungsbeispiels noch
näher erläutert. In der Zeichnung zeigt
F i g. 1 schematisch die die Ausführungsform des Datenspeichersystems
bildenden Teile und die Art und Weise, in der diese zusammanarbeiten,
F i g. 2 eine schematische Darstellung der durch das Datenspeichersystem ausgeführten Operationsvorgänge.
Das in F i g. 1 dargestellte Datenspeichersystem weist eine nur zum Teil gezeigte erste, im folgenden als
Hauptspeicher 5 bezeichnete Speichereinheit mit einer großen Kapazität zum Speichern von Daten sowie eine
zweite im folgenden als HilfsSpeicher bezeichnete Speichereinheit 6 mit einer wesentlich geringeren Datenspeicherkapazität
auf. Beide Speichereinheiten wei-
sen eine Vielzahl von Speicherplätzen zur Speicherung von Datenposten auf. Im Hilfsspeicher weist jeder derartige
Speicherplatz einen »Daten«-Platz zur Speicherung einer Gruppe von Datenziffern und einen »Adressen«-Platz
zur Speicherung einer Gruppe von Adressenziffern auf, welche die in diesem Speicherplatz gespeicherte
Datengruppe und folglich den Speicherplatz im Hauptspeicher mit einer besonderen Adresse kennzeichnen.
Die einzelnen Speicherplätze im Hauptspeicher 5 können nur solche Gruppen von Datenziffern speichern.
In dem Hilfsspeieher 6 werden die Datenplätze mit A und die Adressenplätze mit B bezeichnet. Es sind
32 Datenplätze und eine gleiche Anzahl von Adressenplätzen vorhanden. Der erste Datenplatz wird mit
-4(0), der zweite mit A(\) usw. bezeichnet, wobei der letzte Datenplatz A(3\) ist. In ähnlicher Weise wird
der dem ersten Datenplatz zugeordnete Adressenplatz mit B(O), der dem zweiten Datenplatz zugeordnete
Adressenplatz mit B(]) usw. bezeichnet, wobei der dem letzten Datenplatz zugeordnete Adressenplatz mit
#(31) bezeichnet wird. Mit jedem Datenplatz im Hilfsspeicher ist ebenfalls ein Anzeigeplatz C verbunden;
auf die entsprechenden Anzeigeplätze wird in ähnlicher Weise wie bei den Daten- und Adressenplätzen Bezug
genommen, und zwar mit C(O), C(I)... C(31).
Die im Hilfsspeicher gespeicherten Datenposten stammen alle aus einem Speicherplatz des Hauptspeichers
und werden ebenfalls alle im Hauptspeicher gespeichert gehalten. In irgendeinem bestimmten Zeitpunkt
kann jedoch ein im Hilfsspeicher gespeicherter Datenposten einen, von dem gleichen im Hauptspeicher
gespeicherten Datenposten verschiedenen Wert besitzen; der ursprüngliche Wert wurde in irgendeinem
darauffolgenden Zugriff zum Hilfsspeicher verändert. In allen Fällen besitzt nichtsdestoweniger ein Datenposten
im Hilfsspeicher die gleiche Adresse wie der gleiche, im Hauptspeicher gespeicherte Datenposten.
Die Datenposten werden in zwei Klassen eingeteilt, weiche, wie im folgenden erklärt werden wird, unterschiedlich
behandelt werden; die eine Klasse umfaßt Datenposten mit einer höheren Priorität, als sie die Posten
in der anderen Klasse haben.
Wie im weiteren ausführlicher erklärt werden wird, weist der Hilfsspeicher immer einen leeren oder freien
Speicherplatz auf. Der Hilfsspeicher hat eine viel höhere Arbeitsgeschwindigkeit (oder Zugriffsgeschwindigkeit)
als der Hauptspeicher.
Es ist eine Daten-Steuerstufe 7 vorgesehen, die den Datenfluß in den Hilfsspeicher 6 hinein und aus ihm
heraus steuert. Die Daten-Steuerstufe 7 ist mit dem Hilfsspeicher durch eine Leitung 8 und mit dem Hauptspeicher
durch eine Leitung 9 verbunden. Die Daten-Steuerstufe ist ebenfalls durch eine Leitung 10 mit einer
Daten-Übertragungsstufe 11 verbunden, mittels welcher Datenposten auf einer Leitung 12 der Anlage entnommen
oder in diese eingespeist werden können.
Eine Eingabestufe 13 besitzt eine Eingangsleitung 14, auf der die Eingangssignale empfangen werden, welche
die Adressen der Datenposten, deren Zugriff erforderlich ist, darstellen oder bestimmen. Diese Eingangssignale
werden über eine Leitung 15 der Vergleichsstufe 16 eingespeist. Ein erster Abtaster 17 wird, wenn er in
Betrieb ist, seinerseits durch eine Vorrichtung 17a schrittweise an allen Adressenplätzen B im Hilfsspeicher
vorbeigeführt und liest seinerseits die Adressen (in den Adressenplätzen B) aller in dem Hilfsspeicher gespeicherten
Datenposten aus. Diese Adressen werden über eine Leitung 18 in die Vergleichsstufe 16 eingegeben.
Die Vergleichsstufe 16 ist mit dem Hauptspeicher 5 und der Steuerstufe 7 über Leitungen 19 bzw. 20 verbunden.
Weiterhin ist ein zweiter Abtaster 21 vorgesehen, dessen Zweck weiter unten erklärt werden wird. Dieser
Abtaster 21 wird durch eine Vorrichtung 21a gesteuert, und er wird, wenn er in Betrieb ist, seinerseits an allen
ίο Anzeigeplätzen C des Hilfsspeichers stufenweise vorbeigeführt.
Der Abtaster 21 ist mit der Steuerstufe 7 durch eine Leitung 22 verbunden.
Im folgenden wird der Arbeitsablauf der Anlage beschrieben.
Wenn durch ein von der Leitung 14 empfangenes Eingangssignal Zugriff zu einem bestimmten Datenposten
angefordert wird, wird die zugehörige Adresse, wie sie durch das Eingangssignal bestimmt ist, über die
Eingabestufe 13 und die Leitung 15 der Vergleichsstufe 16 zugeführt. Zur gleichen Zeit wird die Abtasteinrichtung
17a in ihren Betriebszustand versetzt und der Abtaster 17 liest die von den Adressenplätzen des Hilfsspeichers
ausgewiesenen Adressen aus. Die Vergleichs1 stufe 16 vergleicht die über die Leitung 15 erhaltene
Adresse mit den über die Leitung 18 nacheinander erhaltenen Adressen. Falls dieser Vergleich ergibt, daß
der Datenposten, zu dem Zugriff verlangt ist, im Hilfsspeicher 6 gespeichert ist, dann sendet die Vergleichsstufe 16 die Adresse des Speicherplatzes im Hilfsspei-
eher, der diesen Datenposten speichert, über Leitung 20 zur Daten-Steuerstufe 7; die Steuerstufe ermöglicht
dann Zugriff zu dem Datenposten, liest ihn aus und überträgt ihn zur Übertragungsstufe 11, von wo aus er
der Leitung 12 zugeführt wird. Darauf wird der Abtaster 17 in seine gegebene, veranschaulichte Stellung zurückgestellt
und verbleibt betriebsunwirksam, bis das nächste Eingangssignal von Leitung 14 empfangen
wird. In dem soweit beschriebenen Verfahren tritt der Hauptspeicher 5 nicht in Tätigkeit. Wegen der viel größeren
Operationsgeschwindigkeit des Hilfsspeichers ist die Geschwindigkeit, mit der Zugriff zu einem Datenposten
erhalten wird, viel größer, als sie es gewesen wäre, wenn der Zugriff statt dessen zu dem im Hauptspeicher
5 gespeicherten entsprechenden Datenposten erfolgt wäre.
Jeder Anzeigeplatz C kann auf einen »!«-Zustand oder einen »0«-Zustand eingestellt werden. Anfangs
sind alle Anzeigeplätze im »0«-Zustand; wenn aber Zugriff zu einem Datenposten in dem Hilfsspeicher erfolgt
ist und die Daten zur Übertragungsstufe 11 übertragen
sind, wird der zugehörige Anzeigeplatz durch die Vergleichsstufe 16 auf den »1«-Zustand eingestellt.
Wenn der durch die Vergleichsstufe 16 erfolgende Vergleich der Adressen ergibt, daß der spezielle Datenposten,
zu dem Zugriff angefordert ist, nicht in dem Hilfsspeicher 6 gespeichert ist (d. h., die der Stufe 16
über die Leitung 15 eingespeiste Adresse ist nicht die gleiche wie irgendeine der durch den Abtaster 17 aus
dem Hilfsspeicher 6 ausgelesenen Adressen), dann speist die Vergleichsstufe 16 die Adresse des Datenpostens,
zu dem der Zugriff verlangt ist, über die Leitung 19 in den Hauptspeicher 5 ein. Der Hauptspeicher
schafft daraufhin Zugriff zu dem Speicherplatz, der durch das Eingangssignal bestimmt ist und übermittelt
auf der Leitung 9 den gewünschten Datenposten zur Daten-Steuerstufe 7, von wo aus er zur Übertragungsstufe 11 weitergeschickt und schließlich an die Leitung
12 angelegt wird. Wegen der verhältnismäßig langsa-
I 499
men Arbeitsweise (oder der niedrigen Zugriffsgeschwindigkeit) des Hauptspeichers 5 ist die benötigte
Zeit, um Zugriff zu einem Datenposten in dem Hauptspeicher vorzusehen, viel langer, als wenn der Zugriff
zum Hilfsspeicher 6 möglich gewesen wäre.
Wenn zudem ein Datenposten, zu dem Zugriff verlangt ist, nicht im Hüfsspeicher 6 vorhanden ist und
vom Hauptspeicher beschafft werden muß, bewirkt die Daten-Steuerstufe 7, vorausgesetzt, daß der Datenposten
einer derjenigen mit höherer Priorität ist, daß dieser Datenposten sowohl in einem Speicherplatz des
Hilfsspeichers gespeichert, als auch der Übertragungsstufe 11 zugeführt wird. Dieser Datenposten wird in
dem gewählten nächsten freien oder leeren Datenplatz des Hilfsspeichers angeordnet, und auf eine im folgenden
zu beschreibende Art und Weise wird einer der bereits im Hilfsspeicher gespeicherten Datenposten
ausgewählt und entfernt, um so einen weiteren leeren oder freien Datenplatz zurückzulassen. Wenn jedoch
der Datenposten nicht zu denjenigen mit höherer Prio- ao
rität gehört, wird er nicht in den Hilfsspeicher eingebracht. Der Vorgang, durch welchen ein Datenposten
mit höherer Priorität in den gewählten nächsten leeren Speicherplatz eingebracht wird, wird im folgenden beschrieben.
J5
Die Abtasteinrichtung 21,4 ist derart angeordnet, daß sie den Abtaster 21 veranlaßt, immer an dem leeren
oder nächsten freien Datenplatz in der Ruhelage zu sein. Sie erzeugt daher ein Signal auf der Leitung 22.
das anzeigt, welcher Datenplatz leer ist. Wenn somit ein Signal, weiches einen Datenposten darstellt, zu dem
Zugriff erfolgt ist, auf der Leitung 9 vom Hauptspeicher erscheint und bewirkt, daß dieser Datenposten an die
Ausgangsstufe 11 angelegt wird, speichert die Steuerstufe 7 diesen Datenposten auch in dem erwähnten
nächsten freien Speicherplatz, dessen Identität auf Leitung 22 geliefert ist, ein.
Wenn der leere Datenplatz auf diese Weise aufgefüllt ist, schreitet der Abtaster 21 weiter und fühlt
seinerseits den Zustand jedes Anzeigeplatzes C ab. ^0
Wenn ein abgetasteter Anzeigeplatz im »1«-Zustand ist, wird er automatisch durch den Abtaster 21 in den
»O«-Zusland zurückgestellt. Der Abtaster 21 ist während dieses Abtastvorganges derart angeordnet, daß er
automatisch beim ersten Anzeigeplatz C, der sich schon ^5
im »O«-Zustand befindet, in Ruhelage kommt. Da jeder Datenplatz auf den »1«-Zustand eingestellt wird, wenn
Zugriff zu den Daten des entsprechenden Datenplatzes erfolgt, müssen die Daten in dem Datenplatz, der dem
ersten abgetasteten sich im »O«-Zustand befindlichen j0
Anzeigeplatz entspricht, der Datenposten sein, zu dem Zugriff am wenigsten kürzlich von allen Datenposten
im Hilfsspeicher verlangt war. Die Kennzeichnung des Datenplatzes, der diesen Datenposten enthält, wird
dann der Stufe 7 durch die Leitung 22 übermittelt, und jj
die Daten in diesem Datenplatz werden in den entsprechenden Speicherplatz im Hauptspeicher übertragen
und lassen den Datenplatz im Hilfsspeicher leer zurück.
Daher wird jedesmal, wenn ein Datenposten, zu dem Zugriff verlangt ist, nicht im Hilfsspeicher 6 aufgefun- βο
den wird, Zugriff zum Hauptspeicher erlangt. Zur gleichen Zeil wird dieser Posten, vorausgesetzt, daß es ein
Datenposten mit höherer Priorität ist, in den Hilfsspeicher eingebracht, und der Datenposten im Hüfsspeicher,
zu dem am wenigstens häufig der Zugriff verlangt gj war, wird dann in den Hauptspeicher übertragen. Auf
diese Weise enthält der Hilfsspeicher zu jeder Zeit die Datenposten, zu denen der Zugriff am häufigsten angefordert
ist; das Kriterium »am häufigsten angefordert« sei in diesem besonderen Falle das der »Kürzlichkeit
der letzten Zugriffsanforderung«.
Wie erläutert, werden Datenposten, die nicht zu einer Klasse von Posten mit höherer Priorität gehören,
nicht im Hilfsspeicher gespeichert, wie häufig auch immer Zugriff zu ihnen erforderlich ist. Derartige Posten
können beispielsweise Daten sein, die durch von Natur aus langsam arbeitende externe Geräte angefordert
werden; der Zugriff zu derartigen Datenposten wird nicht schnell angefordert, so daß durch die Speicherung
dieser Daten im Hilfsspeicher kein Vorteil zu erreichen ist.
Eingangssignale, die Zugriff zu Datenposten mit niedrigerer Priorität anfordern, können Mittel zur
Identifizierung derartiger Datenposten aufweisen, und die Vergleichseinrichtung kann so ausgebildet sein, daß
sie auf derartige Identifizierungsmittel dadurch anspricht, daß sie Zugriff unmittelbar zum geeigneten
Speicherplatz im Hauptspeicher sucht. Andererseits können derartige Identifizierungsmittel auch zusammen
mit den Datenposten im zugehörigen Speicherplatz des Hauptspeichers gespeichert werden; weiterhin
können auf derartige Identifizierungsmittel ansprechende Sperrmittel angeordnet sein, die dann ansprechen,
wenn zu diesem Speicherplatz Zugriff erfolgt, um die Speicherung dieses Datenpostens in dem nächsten
freien Speicherplatz des Hilfsspeichers zu sperren.
Zugriff zu einem besonderen Datenposten kann zu dem Zweck des Auslesens dieses Postens erforderlich
sein, um es ihm zu ermöglichen, daß er irgendwo in dem Rechner, beispielsweise als Operand oder als ein
Befehl usw. verwendet werden- kann; alternativ kann Zugriff zum Zwecke des Einschreibens eines neuen
Wertes für diesen Datenposten nach Ausführung irgendeines Rechnerbefehls verlangt sein.
F i g. 2 zeigt eine schematische Darstellung der oben beschriebenen Operationsfolgen; es sei angenommen,
daß alle Datenposten sich in der Klasse der Posten mit höherer Priorität befinden. Anfangs ist »x« = 0 und
deshalb ist B(x) gleichß(O). Jeder Schritt der Abtasteinrichtung
17a bringt den Abtaster 17 auf den nächsten Platz, »λ"« stellt die Adresse des Datenpostens dar, zu
dem durch die Eingangsstufe 13 Zugriff angefordert ist. B{y) (wobei »y« seinen Anfangswert besitzt) ist der
Adressenplatz, der dem leeren Datenplatz entspricht.
Wie erläutert, kann zu einem besonderen Datenposten Zugriff verlangt sein, um seinen Wert zu verändern.
Wenn der Posten ein solcher mit höherer Priorität ist, dann wird, nachdem der notwendige Zugriff erhalten
wurde, der neue Wert des Postens in den Hilfsspeicher an Stelle des ursprünglichen Wertes, der nun
gelöscht ist, eingebracht. Der entsprechende Datenposten im Hauptspeicher behält jedoch noch seinen ursprünglichen
Wert. Wenn in einem späteren Stadium dieser Datenposten derjenige Posten wird, zu dem gegenüber
den anderen seit der längsten Zeit kein Zugriff verlangt war und er infolgedessen aus dem Hilfsspeicher
entfernt wird, um seinen Speicherplatz leer zurückzulassen, dann wird er vom Hilfsspeicher in den
zugehörigen Platz im Hauptspeicher eingespeist, um den bis jetzt im Hauptspeicher gespeicherten Posten
mit dem ursprünglichen Wert zu ersetzen.
Die Anlage kann zur Ausführung der obigen Operation derart ausgebildet sein, daß wann auch immer ein
Datenposten aus dem Hilfsspeicher entfernt wird, um einen leeren Platz zurückzulassen, dieser immer in den
zugehörigen Platz des Hauptspeichers eingespeist wird,
. 509 631/20
um so sicherzustellen, daß der Wert des Postens im Hauptspeicher alle Änderungen aufweist, die an dem
Wert im Hilfsspcicher erfolgt sein können. Diese Operation kann jedoch auch auf anderen Wegen ausgeführt
werden. Beispielsweise kann die Anlage einen Satz von Anzeigeeinrichtungen aufweisen, von denen jeweils
eine mit jedem Datenplatz im Hilfsspeicher verbunden ist; jede Anzeigeeinrichtung zeigt an, ob der Wert des
Datenpostens in dem zugehörigen Platz überhaupt geändert wurde, seit der Datenposten zum erstenmal aus
dem Hauptspeicher in diesen Platz eingebracht wurde. Wenn die Anzeigeeinrichtung anzeigt, daß keine derartige
Änderung erfolgt ist, dann wird, wenn der Datenposten aus dem Hilfsspeicher entfernt werden muß, um
einen leeren Platz zurückzulassen, der Posten nicht in »5 den Hauptspeicher eingespeist. Wenn andererseits die
Anzeigeeinrichtung anzeigt, daß eine Änderung des Wertes erfolgt ist, dann wird, wenn der Posten aus dem
Hilfsspeicher entfernt werden muß, um einen leeren Platz zurückzulassen, dieser in den Hauptspeicher eingespeist.
Die Anlage kann, wenn gewünscht, eine zweite Sperreinrichtung aufweisen, die wirksam ist, um zu verhindern,
daß bestimmte Datenposten aus dem Hilfsspeicher entfernt werden, obwohl diese sogar zu bestimmten
Zeitpunkten diejenigen Daten sein können, zu denen Zugriff gegenüber den anderen seit der längsten
Zeit nicht verlangt war. Wenn beispielsweise der Zugriff zu einem Posten normalerweise sehr häufig angefordert
wird, aber für eine kurze Periode in einem 3<>
Operationsprogramm überhaupt nicht verlangt wird, dann würde die zweite Sperreinrichtung in Betrieb sein,
um zu verhindern, daß der Posten entfernt wird, selbst wenn er der Posten werden würde, der während dieser
kurzen Periode nicht angefordert worden wäre. Eine derartige zweite Sperreinrichtung kann beispielsweise
auf eine in dem einen Posten der Klasse mit höherer Priorität enthaltenden Speicherplatz des HilfsSpeichers
gespeicherte »Sperre-Information ansprechen, und sie wird infolge der Feststellung derartiger »Sperr«-Infor- 4<>
mation wirksam, um zu verhindern, daß die Abtasteinrichtung 21 als den nächsten freien Speicherplatz diesen
besonderen Speicherplatz auswählt, selbst wenn sein Anzeigeplatz im »O«-Zustand sein sollte.
Wenn dies erwünscht ist, können alle Datenposten willkürlich so behandelt werden, als ob sie Datenposten
mit höherer Priorität sein würden.
In einem weiteren Ausführungsbeispiel der Erfindung wird das Kriterium der »Kürzlichkeit der letzten
Zugriffsanforderung« nicht verwendet, wenn der Datenposten im Hilfsspeicher bestimmt wird, zu dem am
häufigsten Zugriff angefordert wurde. Statt dessen sind die im Hilfsspeicher gespeicherten Datenposten diejenigen
Posten, zu denen in einer gegebenen Zeitperiode, die unmittelbar vor dem Eintreten eines Zugriffs zum
Hauptspeicher liegt, am häufigsten Zugriff erforderlich war. Bei einem solchen Ausführungsbeispiel wird die
Auswahl des Datenpostens, der am wenigsten häufig dem Zugriff ausgesetzt war und der aus dem Hilfsspeicher
entfernt werden soll, wenn ein neuer Posten in den Hilfsspeicher eingebracht wird, durch Zähleinrichtungen
ausgeführt; die Zähleinrichtungen zählen im Ergebnis bezüglich jedes Speicherplatzes, wieviel Mal in
einem abgelaufenen vorgegebenen Zeitraum Zugriff zu dem in diesem Speicherplatz gespeicherten Datenposten
angefordert wurde. Die Zähleinrichtung bewirkt' das Entfernen desjenigen Postens, zu dem in dem vorgegebenen
Zeitraum am wenigsten oft Zugriff angefordert wurde.
Bei anderen Ausführungsbeispielen der Erfindung können andere Kriterien verwendet werden, um die
Datenposten zu bestimmen, die am häufigsten dem Zugriff ausgesetzt waren; der Bereich der Erfindung umfaßt
die Ausführungsbeispiele, die solche anderen Kriterien verwenden.
Die Anlage kann so ausgebildet sein, daß bestimmte Operationen, insbesondere der Vergleich der Adressen
in den Adressenplätzen B mit den Adressen der angeforderten Daten in paralleler Form und nicht in Serienform
ausgeführt werden.
Wenn gewünscht, können die Speicherplätze des Hauptspeichers derart ausgebildet sein, daß sie zusätzlich
zu den entsprechenden Gruppen der Datenziffern auch die entsprechenden damit verbundenen Gruppen
der Adressenziffern speichern.
Hierzu 2 Blatt Zeichnungen
Claims (4)
1. Datenspeiehersystem mit einer ersten Speichereinheit mit einer Anzahl von Wortspeicherplätzen
mit eindeutigen Adressen und mit einer zweiten Speichereinheit mit einer geringeren
Anzahl von Speicherplätzen und kürzerer Zugriffszeit als die erste Speichereinheit, wobei in jedem
Speicherplatz der zweiten Speichereinheit ein Wort zusammen mit einer diesem Wort zugeordneten
Adresse der ersten Speichereinheit speicherbar ist und wobei das System Einrichtungen für den Zugriff
an die Speichereinheiten zum Auslesen eines Wortes durch Festlegen der zugehörigen Adresse einschließt,
wobei ferner diese Zugriffseinrichtungen zunächst die zweite Speichereinheit abfragen, um
zu bestimmen, ob die erforderliche Adresse in der zweiten Speichereinrichtung vorhanden ist, und im
Fall eines Nichtauffindens der Adresse in der zweiten Speicherheinheit das Wort aus der festgelegten
Adresse in der ersten Speichereinheit auslesen, d a durch gekennzeichnet, daß zu jeder Zeit
zumindest ein Speicherplatz der zweiten Speichereinheit leer ist, daß jeder Speicherplatz der zweiten
Speichereinheit außerdem einen Anzeigeplatz (C[O)...Q31)) einschließt, der zur Anzeige eines erfolgten
Zugriffs des Speicherplatzes in einen gestellten Zustand schaltbar ist, daß ein Ablastschalter
(21) zur aufeinanderfolgenden Abtastung der Anzeigevorrichtungen vorgesehen ist, daß der Abtastschalter
(21) zu Anfang so eingestellt ist, daß er den dem leeren Speicherplatz zugeordneten Anzeigeplatz
anzeigt, und daß bei Nichtauffinden der gesuchten Adresse in der zweiten Speichereinheit die
Folge der folgenden Schritte eingeleitet wird:
a) Übertragen des Wortes von dem festgelegten Speicherplatz der ersten Speichereinheit in den
leeren, durch den Abtastschalter markierten Speicherplatz der zweiten Speichereinheit,
b) Einleiten einer Abtastung der Anzeigeplätze durch den Abtastschalter, wobei der Abtastschalter
auf einen gestellten Anzeigeplatz anspricht, um diesen zurückzustellen und wobei
die Abtastung fortgesetzt wird, bis der Abtastschalter den ersten bereits zurückgestellten
Anzeigeplatz auffindet, auf diesen durch Stoppen der Abtastung anspricht und damit anzeigt,
daß kein Zugriff an den zugehörigen Speicherplatz seit der letzten Abtastung durch den Abtastschalter
erfolgte, und
c) Auslesen des Inhaltes des erneut markierten Speicherplatzes, um diesen Speicherplatz zuleeren.
2. Datenspeiehersystem nach Anspruch 1, dadurch gekennzeichnet, daß Einrichtungen zur Unterscheidung
der in der ersten Speichereinheit enthaltenen Wörter in Wörter verschiedener Priorität
vorgesehen sind, und daß eine Sperreinrichtung verhindert, daß Wörter mit niedrigerer Priorität in
die zweite Speichereinheit eingeführt werden.
3. Datenspeiehersystem nach Anspruch 1, dadurch gekennzeichnet, daß die Entfernung von ausgewählten
Wörtern aus der zweiten Speichereinheit durch den Abtastschalter (21) unierbindbar ist.
4. Datenspeiehersystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
ein weiterer Satz von Anzeigeplätzen den Wortspeichcrpläizen
der /weilen Spcichcreinheii /u-j
geordnet ist. um anzuzeigen, daß die hierin gespeicherten Wörter geändert wurden, und daß Wörter
nur dann von der zweiten zur ersten Speicherein-j heit übertragen werden, wenn sie geändert wurden.!
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB51476/64A GB1124017A (en) | 1964-12-17 | 1964-12-17 | Data storage apparatus |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| DE1499182A1 DE1499182A1 (de) | 1969-10-30 |
| DE1499182B2 DE1499182B2 (de) | 1974-12-19 |
| DE1499182C3 true DE1499182C3 (de) | 1975-07-31 |
Family
ID=10460170
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE1499182A Expired DE1499182C3 (de) | 1964-12-17 | 1965-12-17 | Datenspeichersystem |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US3422401A (de) |
| DE (1) | DE1499182C3 (de) |
| FR (1) | FR1466603A (de) |
| GB (1) | GB1124017A (de) |
| NL (1) | NL152690B (de) |
| SE (1) | SE337307B (de) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3611315A (en) * | 1968-10-09 | 1971-10-05 | Hitachi Ltd | Memory control system for controlling a buffer memory |
| US3581291A (en) * | 1968-10-31 | 1971-05-25 | Hitachi Ltd | Memory control system in multiprocessing system |
| US3573745A (en) * | 1968-12-04 | 1971-04-06 | Bell Telephone Labor Inc | Group queuing |
| US3546681A (en) * | 1969-01-30 | 1970-12-08 | Rca Corp | Programmed method for manipulating electronic fonts in electronic photocomposition systems |
| US3593314A (en) * | 1969-06-30 | 1971-07-13 | Burroughs Corp | Multistage queuer system |
| US3670307A (en) * | 1969-12-23 | 1972-06-13 | Ibm | Interstorage transfer mechanism |
| US3806883A (en) * | 1972-11-22 | 1974-04-23 | Rca Corp | Least recently used location indicator |
| FR2226901A5 (de) * | 1973-04-19 | 1974-11-15 | Honeywell Bull Soc Ind | |
| US3868644A (en) * | 1973-06-26 | 1975-02-25 | Ibm | Stack mechanism for a data processor |
| US3938100A (en) * | 1974-06-07 | 1976-02-10 | Control Data Corporation | Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques |
| US4035778A (en) * | 1975-11-17 | 1977-07-12 | International Business Machines Corporation | Apparatus for assigning space in a working memory as a function of the history of usage |
| US4008460A (en) * | 1975-12-24 | 1977-02-15 | International Business Machines Corporation | Circuit for implementing a modified LRU replacement algorithm for a cache |
| US4075686A (en) * | 1976-12-30 | 1978-02-21 | Honeywell Information Systems Inc. | Input/output cache system including bypass capability |
| AU523670B2 (en) * | 1977-12-08 | 1982-08-12 | Honeywell Information Systems Incorp. | Cache memory location selection mechanism |
| US4229789A (en) * | 1977-12-22 | 1980-10-21 | Ncr Corporation | System for transferring data between high speed and low speed memories |
| JPS54146549A (en) * | 1978-05-09 | 1979-11-15 | Hitachi Ltd | Information processor |
| US4868734A (en) * | 1984-04-30 | 1989-09-19 | Unisys Corp. | Variable rate improvement of disc cache subsystem |
| US5241666A (en) * | 1979-06-04 | 1993-08-31 | Unisys Corporation | Variable rate improvement of disc cache subsystem |
| US4398243A (en) * | 1980-04-25 | 1983-08-09 | Data General Corporation | Data processing system having a unique instruction processor system |
| US4423479A (en) * | 1980-11-14 | 1983-12-27 | Sperry Corporation | Cache/disk subsystem with acquire write command |
| DE3138972A1 (de) * | 1981-09-30 | 1983-04-14 | Siemens AG, 1000 Berlin und 8000 München | Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb |
| US4698752A (en) * | 1982-11-15 | 1987-10-06 | American Telephone And Telegraph Company At&T Bell Laboratories | Data base locking |
| DE3302909A1 (de) * | 1983-01-28 | 1984-08-02 | Siemens AG, 1000 Berlin und 8000 München | Speicherprogrammierbare steuerung |
| US4695951A (en) * | 1983-07-07 | 1987-09-22 | Honeywell Bull Inc. | Computer hierarchy control |
| US5297269A (en) * | 1990-04-26 | 1994-03-22 | Digital Equipment Company | Cache coherency protocol for multi processor computer system |
| US5263144A (en) * | 1990-06-29 | 1993-11-16 | Digital Equipment Corporation | Method and apparatus for sharing data between processors in a computer system |
| EP1260964B1 (de) | 2001-03-23 | 2014-12-03 | Yamaha Corporation | Musiktonsynthese mit Zwischenspeichern von Wellenformen durch Prädiktion |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB976499A (en) * | 1960-03-16 | 1964-11-25 | Nat Res Dev | Improvements in or relating to electronic digital computing machines |
| GB979632A (en) * | 1960-04-20 | 1965-01-06 | Nat Res Dev | Improvements in or relating to electronic digital computing machines |
-
1964
- 1964-12-17 GB GB51476/64A patent/GB1124017A/en not_active Expired
-
1965
- 1965-12-15 US US513953A patent/US3422401A/en not_active Expired - Lifetime
- 1965-12-17 SE SE16361/65A patent/SE337307B/xx unknown
- 1965-12-17 NL NL656516493A patent/NL152690B/xx not_active IP Right Cessation
- 1965-12-17 DE DE1499182A patent/DE1499182C3/de not_active Expired
- 1965-12-17 FR FR42813A patent/FR1466603A/fr not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| NL6516493A (de) | 1966-06-20 |
| US3422401A (en) | 1969-01-14 |
| SE337307B (de) | 1971-08-02 |
| DE1499182B2 (de) | 1974-12-19 |
| FR1466603A (fr) | 1967-01-20 |
| GB1124017A (en) | 1968-08-14 |
| DE1499182A1 (de) | 1969-10-30 |
| NL152690B (nl) | 1977-03-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE1499182C3 (de) | Datenspeichersystem | |
| DE2856133C2 (de) | Datenverarbeitungsvorrichtung mit einem Hauptspeicher und einem Assoziativspeicher als Pufferspeicher | |
| DE3611223C2 (de) | ||
| DE2506117C2 (de) | Adreßumsetzungseinrichtung zur Bildung einer absoluten Adresse | |
| DE1424732C3 (de) | Einrichtung zum gegenseitigen Austausch von Angabenwörtern zwischen einem unmittelbar zugänglichen Hauptspeicher eineT Ziffernrechenmaschine und einem an diese angeschlossenen Sekundärspeicher vergleichsweise längerer Zugriffszeit | |
| DE3416939A1 (de) | Verfahren zur steuerung von betriebseinrichtungen | |
| DE2346525A1 (de) | Virtuelle speichereinrichtung | |
| DE2154106A1 (de) | Arbeitsspeicherwerk | |
| DE69027017T2 (de) | Anordnung und Verfahren zur Speicherverwaltung in einem Mikrorechner | |
| CH657218A5 (de) | Mehrbenuetzer-datenverarbeitungsmaschine mit virtuellem speicher. | |
| DE3327379A1 (de) | Einrichtung und verfahren zum umordnen von datensaetzen | |
| DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
| DE2432608A1 (de) | Speicheranordnung fuer datenverarbeitungseinrichtungen | |
| DE2149200C3 (de) | Einrichtung zur Auswahl von im Verlauf einer Programmbearbeitung am häufigsten benötigten Daten | |
| DE3441640A1 (de) | Streifenfeldspeichercontroller | |
| DE1499206B2 (de) | Rechenanlage | |
| EP1079307B1 (de) | Verfahren zum Betrieb eines Speichersystems sowie Speichersystem | |
| DE3518818A1 (de) | Datenverarbeitungsvorrichtung und verfahren und vorrichtung zur umsetzung von datenelementen | |
| DE1774607C3 (de) | Speicheranordnung mit einem informationszerstörend lesbaren Speicher | |
| DE1774211C3 (de) | Datenspeicheranordnung für ein Datenverarbeitungssystem | |
| DE1449774C3 (de) | Speichereinrichtung mit kurzer Zugriffszeit | |
| DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
| DE3688737T2 (de) | Kontextadressierbarer umlaufspeicher. | |
| WO2001006347A1 (de) | Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers | |
| DE2419836C3 (de) | Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| SH | Request for examination between 03.10.1968 and 22.04.1971 | ||
| C3 | Grant after two publication steps (3rd publication) | ||
| E77 | Valid patent as to the heymanns-index 1977 |