[go: up one dir, main page]

DE1499182C3 - Datenspeichersystem - Google Patents

Datenspeichersystem

Info

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
Application number
DE1499182A
Other languages
English (en)
Other versions
DE1499182B2 (de
DE1499182A1 (de
Inventor
James Robert Stoke-On- Trent Staffordshire Lucking (Grossbritannien)
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.)
ENGLISH ELECTRIC COMPUTERS Ltd LONDON
Original Assignee
ENGLISH ELECTRIC COMPUTERS Ltd LONDON
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 ENGLISH ELECTRIC COMPUTERS Ltd LONDON filed Critical ENGLISH ELECTRIC COMPUTERS Ltd LONDON
Publication of DE1499182A1 publication Critical patent/DE1499182A1/de
Publication of DE1499182B2 publication Critical patent/DE1499182B2/de
Application granted granted Critical
Publication of DE1499182C3 publication Critical patent/DE1499182C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0804Addressing 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)

Patentansprüche:
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.!
DE1499182A 1964-12-17 1965-12-17 Datenspeichersystem Expired DE1499182C3 (de)

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)

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

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

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