DE2550339C2 - Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität - Google Patents

Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität

Info

Publication number
DE2550339C2
DE2550339C2 DE2550339A DE2550339A DE2550339C2 DE 2550339 C2 DE2550339 C2 DE 2550339C2 DE 2550339 A DE2550339 A DE 2550339A DE 2550339 A DE2550339 A DE 2550339A DE 2550339 C2 DE2550339 C2 DE 2550339C2
Authority
DE
Germany
Prior art keywords
buffer memory
data
block
main memory
memory
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
DE2550339A
Other languages
English (en)
Other versions
DE2550339A1 (de
Inventor
Vernon Kenneth New Brighton Minn. Andersen
Michael Wayne Roseville Minn. Goddard
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.)
Unisys Corp
Original Assignee
Sperry Corp 10104 New York NY
Sperry 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 Sperry Corp 10104 New York NY, Sperry Corp filed Critical Sperry Corp 10104 New York NY
Publication of DE2550339A1 publication Critical patent/DE2550339A1/de
Application granted granted Critical
Publication of DE2550339C2 publication Critical patent/DE2550339C2/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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache

Description

60
Die Erfindung betrifft ein Speichersystem mit einem langsam arbeitenden Hauptspeicher von großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher von geringer Kapazität, zwischen dem und einem anfordernden Gerät Adressensignale und ein diesen zugeordnetes Datenwort übertragbar sind, mit einer Vergleichsschaltung, von der bei der Feststellung, da3 das den Adressensignalen zugeordnete Datenwort nicht im Pufferspeicher erreichbar ist, ein Schaltsignalgeber einschaltbar ist, von dem sowohl ein Datenblock, der das den Adressensignalen zugeordnete Datenwort enthalt bzw. aufnehmen sol!, aus dem Hauptspeicher zu einem freigemachten Platz des Pufferspeichers als auch ein am längsten unbenutzt im Pufferspeicher verweilender Datenblock vom Pufferspeicher zu dem freigemachten Platz des Hauptspeichers übertragbar sind.
Wie aus der US-Patentschrift 32 75 991 bekannt ist, ist der Pufferspeicher normalerweise mit einer vorgegebenen, beschränkten Anzahl Datenwörter gefüllt, auf die einzeln ohne eine Beteiligung des langsam arbeitenden Hauptspeichers sehr schnell durch ein äußeres Gerät oder einen Rechner zugegriffen werden kann, der auch als anforderndes Gerät betrachtet sei. Wenn zur Ausgabe oder Abänderung eines solchen Datenwortes die zugeordneten Adressensignale in ein dem Pufferspeicher vorgeschaltetes Register eingegeben werden, findet eine Prüfung statt, ob sich dieselben Adressensignale im Pufferspeicher befinden. Im positiven Fall wird das diesen Adressensignalen zugeordnete Datenwort unter Rückstellung eines Fehlerflipflops vom Pufferspeicher in ein Halteregister ausgelesen und dann zum Rechner oder äußeren Gerät weiterbefördert Im negativen Fall, wenn also dieselben Adressensignale nicht im Pufferspeicher auffindbar sind, bewirkt das gesetzt gebliebene Fehlerflipflop mit dem nächsten Taktpuls die Einschleusung der Adressensignale in ein der Adressierschaltung des Hauptspeichers vorgeschaltetes Register, damit das Datenwort, das nunmehr entsprechend den herangeführten Adressensignalen im Hauptspeicher adressiert wird, in ein nachgeschaltetes Register ausgelesen wird. Dieses läuft dann einmal über ein Ausgabe-Register zum Rechner oder äußeren Gerät und zum anderen zum Pufferspeicher, wobei aus diesem gleichzeitig ein Datenwort, auf das im Pufferspeicher während einer längsten Zeitspanne irn Vergleich mit der der anderen Datenwörter des Pufferspeichers nicht zugegriffen wurde, vom Pufferspeicher zum Hauptspeicher an den dort gerade freigewordenen Platz zurückbefördert wird. Um dieses spezielle Datenwort im Pufferspeicher ausfindig zu machen, weist der Pufferspeicher einen gesonderten Abschnitt auf, in dem für jedes Datenwort einige Bits festgehalten werden, die das Alter, also die Zeitspanne angeben, die seit dem letzten Zugriff auf das Datenwort verstrichen ist Folglich werden bei der Heranführung der Adressensignale aus dem Rechner oder dem äußeren Gerät und bei einem unmittelbaren Zugriff auf ein Datenwort im Pufferspeicher alle diese das Alter angebenden Bits um einen Schritt abgeändert Dasselbe ist der Fall, wenn aus dem Hauptspeicher ein Datenwort ausgegeben und zugleich im Pufferspeicher anstelle des Datenwortes abgelegt wird, das zum Hauptspeicher zurückbefördert wird, weil es während der längsten zurückliegenden Zeitspanne im Pufferspeicher unbenutzt blieb. Außer den das Alter angebenden Bits kann jedem Datenwort im Pufferspeicher noch ein weiteres Bit zugeordnet sein, das anzeigt, daß ein Schreibvorgang, also eine Abänderung an dem betreffenden Datenwort ohne eine Beteiligung des Hauptspeichers stattgefunden hat
Die Besonderheit dieser bekannten /anordnung liegt darin, daß zwischen dem Pufferspeicher und dem Hauptspeicher nur einzelne Datenwörter gegeneinander ausgetauscht werden, also nur ein Datenwort vom Pufferspeicher zum Hauptspeicher und ebenso nur ein Datenwort vom Hauptspeicher zum Pufferspeicher
'. -ti, if
befördert werden, falls das vom äußeren Gerät oder Rechner angeforderte Datenwort nicht im Pufferspeicher auffindbar ist Eine weitere Besonderheit besteht darin, daß im Falle der Nichtauffindbarkeit des Datenwortes im Pufferspeicher dessen Abschnitt, der die das Alter des betreffenden Datenworte; angebenden Bits speichert, diejenigen Adressensigmle ermittelt, die zum Datenwort gehören, auf das während der längsten zurückliegenden Zeitspanne nicht zugegriffen
- ^Λ&ιάϊλ
* Jz -f>s
Ψ ektk !
Pufferspeicher derart aufzubauen, daß die Häufigkeit des Austausches von Datenblöcken zwischen dem Pufferspeicher und dem Hauptspeicher verringert und damit die mittlere Zugriffszeit des anfordernden Gerätes auf das Speichersystem wette· herabgesetzt wird.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst daß von einem ersten Teil der aus dem anfordernden Gerät übertragenen Adressensignalc in einem ersten
wurde, und die so ermittelten Adressensignale aus dem io Abschnitt des Pufferspeichers mehrere Blockadressen Pufferspeicher ausgibt und an die Adressierschaltung gemeinsam mit ihren das Alter 'snd/oder eine des Hauptspeichers heranbringt damit das zugehörige Abänderung des Datenblockes angebenden Bits idres-Datenwort, insbesondere wenn es innerhalb des sierbar und zu der Vergleichsschaltung hin ausgebbar Pufferspeichers vor etlicher Zeit einer Änderung sind, in der durch einen Vergleich mit einem zweiten unterzogen wurde, an den richtigen Platz des Haupt- 15 Teil der Adressensignale zur Anzeige einer der speichere gelangt adressierten Blockadressen ein Übereinstimmungssi-
Aus der deutschen Offenlegungsschrift 24 15 900 ist gnal erzeugbar ist und daß vom ersten Teil und von bekannt die Datenwörter im Pufferspeicher zu einem dritten Teil der übertragenen Adressensignale in Datenblöcken zusammenzufassen, die z. B. jeweils !6 einem zweiten Abschnitt des Pufferspeichers eine der Datenwörter enthalten. Dementsprechend sind die aus 20 Zahl der gleichzeitig adressierbaren Elockadressen r, den Rechner bzw. dem äußeren Gerät herangeführten entsprechende Zahl Datenwörter adressierbar und zu ■ ^Adressensignale in Abschnitte unterteilt vcn denen der einer Auswahlschaltung hin ausgebbar sind, von der «i;eine für ^ Aufsucnen emer im Pufferspeicher unter der Mitwirkung des im ersten Abschnitt erzeugten ^vorhandenen Datenblockadresse und der andere für das Übereinstimmungssignals das eine Datenwort unter den L ,Aufsuchen eines der 16 Datenwörter innerhalb des 25 adressierten Datenwörtern zwecks Überträgung zum r" - aufgefundenen Datenblockes vorgesehen ist anfordernden Gerät oder einer Abänderung durch das
s s Im Vergleich mit der zuerst erläuterten bekannten anfordernde Gerät auswählbar ist
Anordnung kann die Vergleichsschaltung zur Feststel- Ein Ausführungsbeispiel der Erfindung ist in der
lung, ob die durch die Adressensignale festgelegten Zeichnung dargestellt und wird im folgenden näher Daten im Pufferspeicher enthalten sind oder nicht 30 erläutert Es zeigt
kleiner gehalten werden, da der andere Abschnitt der Fig. 1 als Kombination der Fig. la und Ib ein
herangeführten Adressensignale nicht mehr an dem Blockschaltbild des Speichersystems, in dem die ¥ Vergleich innerhalb der Vergleichsschaltung teilnimmt Erfindung angewendet wird,
',Umgekehrt gesehen, kann bei einer Beibehaltung des Fig.2 und 3 den Anzeichen- und Datenteil eines
Umfanges der Vergleichsschaltung die Kapazität des 35 Pufferspeichers,
Pufferspeichers z.B. um den Faktor 16 vergrößert Fig.4 als Kombination der Fig.4a bis 4c ein
werden, was insbesondere dann von Interesse ist wenn Flußbild, aus dem die Reihenfolge der verschiedenen der Hauptspeicher eine sehr große Kapazität besitzt auszuführenden Operationen hervorgeht. * Entsprechend der Zusammenfassung von jeweils 16 Wie bereits angedeutet sind Pufferspeicher zwischen Datenwörtern im Pufferspeicher zu einem Datenblock 40 mehreren anfordernden Geräten einer Rechenanlage werden auch in einem solchen Hauptspeicher sehr und einem Hauptspeicher angeordnet um die Zugriffszeit auf einen Operanden mit Kufe des gesamten Speichersystems, verglichen mit der Zugriffszeit des Hauptspeichers, wesentlich herabzusetzen. Statistisch
ist Im Falle der Nichtauffindbarkeit des Datenblockes 45 gesehen, besteht nämlich in den meisten Fällen eine im Pufferspeicher muß zwangsläufig von den Adressen- hohe Wahrscheinlichkeit daß ein gegebener Operand, Signalen des einen Abschnittes, der sog. Blockadresse der von einem anfordernden Gerät zum Lesen oder ein Datenblock im Hauptspeicher adressiert werden, Schreiben gesucht wird, in diesem "Pufferspeicher der bei der bekannten Anordnung nach der deutschen vorgefunden wird, so daß kein Zugriff auf den mit Offenlegungsschrift 2415 900 als Ganzes in den 50 geringer Geschwindigkeit arbeitenden Hauptspeicher Pufferspeicher übertragen werden muß. Falls dieser zu erfolgen braucht
gefüllt war, erfolgt ein Austausch gegen einen Das System der Fig. 1 weist zwei in ihrer
Datenblock, der während der längsten zurückliegenden Konstruktion identische Abschnitte, nämlich einen sog. Zeitspanne im Pufferspeicher unbenutzt blteb. Dieser »ungeraden« Abschnitt und einen sog. »geradzahligen« Austausch zweier Datenblöcke zwischen dem Puffer- 55 Abschnitt auf, die parallel in derselben Weise arbeiten, speicher und dem Hauptspeicher, der mit dem Aus diesem Grunde werden die verschiedenen Funk-Austausch zweier Datenwörter zwischen dem Puffer- tionselemente nur beim »ungeraden« Abschnitt links [speicher und dem Hauptspeicher bei der Anordnung von einer Linie 10 erläutert, obgleich diese Angaben nach der US-Patentschrift 32 75 991 Ähnlichkeit hat, ist auch für den »geradzahligen« Abschnitt rechts von mit einem erheblichen Aufwand an Zwischenregister- 60 einer Linie 12 geltea Diejenigen Elemente, die mit den stufen, Schaltgliedern und Leitungen verknüpft, wenn beiden Abschnitten zusammenarbeiten, sind zwirnen die Übertragung aller 16 Datenwörter eines Datenblok- den Linien 10 und 12 gezeigt
kes zwischen dem Pufferspeicher und dem Hauptspei- Von drei anfordernden Geräten 0, 1 sind 2 gehen
eher bzw. umgekehrt parallel, also gleichzeitig erfolgen Eingabe-Leitungen 13 aus und führen dem Pufferspeisoll, was natürlich aus Gründen der Zeitersparnis 65 eher der Anforderung dienende Steueisignale und angestrebt wird. Adressen wiedergebende Signale, sowie einzuschrei-
Der Erfindung liegt die Aufgabe zugrunde, in dem bende Daten zu. Zu den anfordernden Geräten können Speichersysten. der eingangs bezeichneten Art den ein oder mehrere zentrale Bearbeitungseinheiten und
großer Kapazität jeweils 16 Datenwörter an einem einzigen adressierbaren Platz des Hauptspeichers untergebracht dem also eine Blockadresse zugeordnet
Ein-ZAusgabe-Geräte gehören. Die am unteren Ende der Fig. Ib eintretenden, der Anforderung dienenden Signale gelangen zu je einem Prioritätsnetzwerk 14, das sich in dem einen oder anderen Abschnitt des Pufferspeichers befindet; beim gleichzeitigen Empfang von Anforderungssignalen aus zwei oder mehreren anfordernden Geräten wird nur einem solchen Gerät für die Übertragung zum Pufferspeicher die Priorität zuerkannt Sowohl die zentralen Bearbeitungseinheiten als auch die Ein-/Ausgabe-Geräte übermitteln die Daten zum Pufferspeicher auf der Grundlage einer Anforderung und eines Anerkenntnisses, wie in der US-Patentschrift 32 43 781 von Ehrman u. a. in Verbindung mit der Konstruktion bzw. Organisation solcher der Anforderung dienender Geräte ausführlich erläutert ist Wie dort ferner beschrieben ist, werden mehrere von unterschiedlichen Geräten kommende Anforderungssignale einem Prioritätsnstzwerk zugeleitet, das zu einem gegebener Zeitpunkt ein derartiges Gerät für eine Datenübertragung zum übrigen System auswählt
Gemeinsam mit dem Anforderungssignal zum Lesen oder Schreiben wird eine Adresse zugeführt, die das gewünschte Wort auswählt, das gelesen oder abgeändert werden solL Die die Adressen wiedergebenden Signale bilden die Eingangssignale von Anforderungs-Adressenwählern 16, die lediglich Verknüpfungsschaltungen sind, die auf Steuersignale ansprechen, die aus dem jeweiligen Prioritätsnetzwerk 14 austreten und die die Adressen wiedergebenden Signale aus dem einen Anforderungs-Adressenwähler 16 zu Anforderungs-Adressenregistern 18 hindurchgehen lassen. In ähnlicher Weise lassen Puiferschreibwähler 20 als übliche Verknüpfungsschaltungen zu schreibende Daten vom gewählten anfordernden Gerät in Pufferschreib-Register 22 hineinlaufen.
Die von den Anforderungs-Adressen- und Pufferschreib-RegJstern 18 und 22 abgegebenen Signale werden zugehörigen Satzspeicher-Einheiten 24 und 26 zur Verfügung gestellt, von denen die erstere die ungeradzahiägen Adressen mehrerer Blöcke und die letztere die geradzahligen Adressen in denselben Blöcken speichern, und die übliche adressierbare Speicher mit zufallsverteiltem Zugriff sein können, aber in zw.· Teile, nämlich einen Anzeichenteil und einen
τι te i_:i _; α,—Uj. _: t
I'UJICIlCli CIIIgCSlCIlL SlIlU.
Zur Aufbewahrung sog. Anzeichenwörter enthält die Satzspeichereinheit 24 einen Stapel adressierbarer Register 28 und zur Speicherung mehrerer Sätze aus vier halben Datenblöcken mit vier Wörtern einen weiteren Stapel adressierbarer Register 30. In ähnlicher Weise ist die Satzspeichereinheit 26 in zwei Teile, nämlich je einen Stapel von Registern 32 und 34 zerlegt, die Anzeichenwörter bzw. mehrere Sätze von halben Datenblöcken speichern, in den Registern 28 und 32 ist ein Anzeichenwort für jeden halben Datenblock vorhanden, der in den Registern 30 bzw. 34 untergebracht ist
Zum besseren Verständnis der Gesamtorganisation des Pufferspeichers erscheint die Betrachtung einer Ausführungsform hilfreich, obgleich die Speicherkapazitäten frei wählbar sind. Beispielsweise mögen die beiden Satzspeicher-Einheiten 24 und 26 kombiniert eine Kapazität von 4096 Datenwörtern und ein Hauptspeicher 36 eine Kapazität von 262 144 Wörtern aufweisen. Die Satzspeicher-Einheiten können in 128 Sätze aus vier Datenblöcken mit je acht Wörtern (128 χ 4 χ 8-4096) unterteilt sein. Man kann dann auch den Hauptspeicher als aus 128 Sätzen aufgebaut
betrachten, wobei der einzelne Satz '/m der Wortkapazität des Hauptspeichers aufweist Dabei würde jeder Satz 256 Datenblöcke aus acht Wörtern (128x256x8-262144) enthalten. Vier von den 256 Datenblöcken aus 8 Wörtern in einem Satz des Hauptspeichers können in einem entsprechenden Satz der 128 Sätze in den Satzspeicher-Einheiten 24 und 28 ruhen.
Um das Adressieren der im Pufferspeicher untergebrachten Daten zu beschleunigen, ist dieser in einen Abschnitt mit ungeradzahligen Adressen und einen Abschnitt mit geradzahligen Adressen unterteilt, damit unter bestimmten, noch zu erklärenden Bedingungen der Zugriff überlappend erfolgen kann. Die Einteilung in ungerad- und geradzahlige Abschnitte bewirkt, daß der Aufbau der Sätze und Datenblöcke zwei halbe Datenblöcke aus vier Wörtern je Block mit acht Wörtern enthält Somit kann der Pufferspeicher 2048 Wörter mit ungeradzahligen Adressen und 2048 Wörter mit geradzahligen Adressen aufnehmen, wie aus der nachfolgenden Tabelle I hervorgeht
Tabelle I
25 4 Blöcke 4 halbe Blöcke 4 halbe Blöcke
aus 8 Wörtern aus 4 Wörtern aus 4 Wörtern
ABC D<— Block— ->A BCD ABCD
30 E E E E EEEE OOOO
oooo EEEE OOOO
EEEE EEEE OOOO
OOOO EEEE OOOO
35 E E E E
OOOO
EEEE Satzspeicher Satzspeicher
OOOO einheit 26 einheit 24
Das Format, das für die Adresse angenommen ist, die von den gewählten anfordernden Geräten geliefert wird und dem Zugriff auf die Information dient, die in den Satzspeichereinheiten 24 und 26 oder falls die zum Lesen oder Schreiben gerade gesuchte Adresse nicht in den Satzspeichereinheiten 24 und 28 ruht, im Hauptspeicher 36 aufbewahrt ist, ist in der folgenden Tabelle II angegeben. Wiederum ist dabei vorausgesetzt, daß dieses Format für einen einzigen Hauptspeicher 36 mit
so der Kapazität von 262144 Wörtern und einen mit ihm kombinierten Pufferspeicher mit der Kapazität von 4096 Wörtern verwendet wird Bei einer Anwendung zusätzlicher Speichermoduln sind weitere Adressenbits zur Auswahl der Moduln notwendig.
Tabelle Π
22-10 9-3 Blockwahl Satzwahl Hauptspeicher-Adresse 20« >3
2-1 Wortwahl
0 O/E-Wahl
Nun seien die Satzspeichereinheit 24 mit dem Stapel Register 28 und die Satzspeichereinheit 26 mit dem Stapel Register 32 in Verbindung mit der Fig.2 bezüglich ihrer Organisation und Arbeitsweise ausführlich betrachtet Bei der Satzspeichereinheit 24 werden
der Anzeichen- und Pufferten in üblicher Weise adressiert Die vom Anforderungs-Adressenregister 18 abgegebenen Signale laufen über ein Kabel 38 zu einem Adressen-Zuordner 40 innerhalb der Satzspeichereinheit 24, wo die Bits 3 bis 9 der Adresse geprüft werden, damit eine von 128 Leitungen ausgewählt wird, über die eines der 128 Register im Stapel des Anzeichenteiles einem Zugriff unterzogen wird. In jedem Register des Anzeichenteiles werden 64 Bits in dem Format aufgenommen, das als Satzadresse 000 in der Fig.2 gezeigt ist. Der Teil des Anzeichenwortes mit der Bezeichnung: »Blockadresse« schließt die Bits 10—22 der Adresse des ersten Wortes in allen vier Blöcken ein, die jenen Satz im Pufferspeicher bilden, wobei ein Block acht Wörter umfaßt, die nebeneinander an acht Wortbegrenzungen angeordnet sind.
Mit dem Begriff: »Alter« werden zwei Bits in einem Feld bezeichnet, das alien vier Blockadressen am ■ Anzeichenplatz zugeordnet ist und eine relative Angabe darüber liefert, wie lange es her ist, seitdem auf alle Blöcke zugegriffen wurde. Über dieses Feld folgen noch Erläuterungen, wenn der Ersatzalgorithmus für den seit einer maximalen Zeitspanne nicht benutzten Block ausführlich erklärt wird.
Ein Feld Wb ist 1 Bit breit und wird beim Rückschreiben der Bits verwendet, um anzuzeigen, ob in dem vorgeschriebenen Block abgeänderte Daten vorhanden sind. Falls dieses Bit ein 1-Bit ist und der in Frage kommende Block für einen Ersatz ausgewählt ist, müssen alle vier Wörter in diesem Datenblock in den Hauptspeicher rückgeschrieben werden. Im Falle eines O-Bit braucht der verdrängte Block nicht in den Hauptspeicher eingeschrieben zu werden, da kein Wort in diesem Block durch einen Schreibvorgang abgeändert wurde, während er sich im Pufferspeicher befand.
Um festzustellen, ob ein gewünschter Datenblcck im Pufferspeicher ruht, werden die vier Blockadressen des Anzeichenwortes, das zum angeforderten Satz gehört, Bit für Bit mit den Bits 10 bis 22 derjenigen Adresse verglichen, die im Anforderungs-Adressenregister 18 (F i g. 2) enthalten ist Falls eine der vier Blockadressen übereinstimmt, was von einer Vergleichsschaltung 42 festgestellt wird, ruht das angeforderte Wort im Pufferspeicher und kann aus diesem unmittelbar erhalten werden. Da die Abschnitte des Pufferspeichers mit den Satzzahlen (Bits 3-9) und die Bits adressiert werden, die ein Wort innerhalb des Blockes (Bits 1—2) identifizieren) umfaßt der Ausgang die Breite von vier Wörtern, wobei ein Wort von jedem der vier Datenblöcke im angeforderten Satz abgegeben wird. Die Ausgangssignale der Vergleichsschaltung 42, die die Nummer des Blockes angeben, in dem die Übereinstimmung auftrat, werden zur Auswahl des passenden Wortes aus dem Pufferspeicher benutzt, damit es zum anfordernden Gerät übertragen wird.
In der Fig.3 ist die Organisation der Satzspeichereinheit 24 mit den zahlreichen adressierbaren_Registern 30 zum Speichern von Daten gezeigt Die einzelnen Wörter sind in 128 Sätzen gruppiert, die je vier halbe Blöcke mit vier Wörtern aufweisen; die geradzahligen Adressen sind dabei in der Satzspeichereinheit 26 und die ungeradzahligen in der Satzspeichereinheit 24 untergebracht Um auf ein gegebenes Wort einen Zugriff zu ermöglichen, wählen die Bits 09 bis 03 der Adresse aus dem anfordernden Gerät mit Hilfe eines Satzwählers 44 einen der 128 im Pufferspeicher untergebrachten Sätze aus. Das Bit 0 aus dem Anforderungs-Adressenregister wird decodiert und schreibt infolgedessen vor, ob die Adresse ungerad- oder geradzahlig ist, damit auf die Satzspeichereinheit 24 oder 26 zugegriffen werden kann; von einem Wortwähler 46 werden die Bits 02 und 01 aus dem Anforderungs-Adressenregister 18 übersetzt, damit in einmaliger Form eines der vier Wörter in allen Blöcken innerhalb eines gegebenen Satzes in dem betreffenden ungerad- oder geradzahligen Abschnitt ausgewählt wird. Da dieselbe Adresse aus dem anfordernden Gerät gleichzeitig dem Stapel der Anzeichen-Register der Fig.2 zugeleitet wird, wird in dem Falle, daß eine Übereinstimmung zwischen der Adresse eines angeforderten Blockes und der Adresse eines im Pufferspeicher ruhenden Blockes auftritt, ein Ausgangssignal auf einer Leitung A, B, C oder D entwickelt, die aus der Vergleichsschaltung 42 des vorgeschriebenen ungerad- oder geradzahligen Abschnittes austritt Dadurch daß dieses Ausgangssignal zu den Eingangsklemmen eine' Blockwählers 48 der Fig.3 gelangt kann allein das gewählte Wort des ausgewählten Blockes im ausgesuchten Satz des gewählten Abschnittes aus der Satzspeichereinheit 24 oder 26 ausgelesen werden. Falls natürlich der gewünschte Block nicht im Pufferspeicher vorhanden ist kann die Vergleichsschaltung 42 kein derartiges Signal liefern, wodurch der Wortwähler 48 den Austritt eines Wortes aus der Satzspeichereinheit 24 verhindert
Die von den Satzspeicher-Einheiten 24 und 2)5 abgegebenen Wörter laufen durch Kabel 50 der F i g. 1 in Lesedatenwähler 52 hinein, die vom Prioritätsnetzwerk 14 beeinflußt werden und die Wörter über Kabel 54 zu einem von mehreren Leseregistern 56,58 oder 60 des anfordernden Gerätes hindurch..eten lassen,das die Anforderung zum Lesen an den Pufferspeicher gesendet hat
Falls in Verbindung mit einer Ani^rderung zum Lesen oder Schreiben ermittelt wird, daß sich das gerade gesuchte Wort nicht im Pufferspeicher befindet wird die gewünschte Adresse aus den Anforderungs-Adressenregistern 18 über ein Kabel 61 zu einem Verfehlungs-Adressenregister 62 übertragen, wo sie festgehalten wird, damit sie in einem späteren Zeitpunkt verwendet werden kann. Als nächstes wird der während der längsten, vorausgehenden Zeitspanne nicht benutzte Algorithmus angerufen, wodurch die dem zu ersetzenden Block zugeordnete Anzeichenadresse aus dem AnzeichenteiLder Satzspeichereinheit 24 oder 26 zu einem Anzeichen-Adressen-Register 64 ausgelesen und von diesem zu einem Pufferanzeichen-Adressen-Register 66 durch ein Kabel 63 übertragen wird.
Hiernach werden während vier Lesezyklen des Pufferspeichers die beiden für einen Ersatz ausgesonderten, halben Datenbiöcke mit vier Wörtern aus den Satzspeicher-Einheiten 24 und 26 ausgelesen und der Reihe nach zu den vier Abschnitten von Schreibdaten-Registern 68 des Hauptspeichers übertragen, in denen sie festgehalten werden.
Der gewünschte Datenblock wird mit je zwei Wörtern gleichzeitig aus dem Hauptspeicher 36 über ein Kabel 70 in vier Zyklen ausgelesen und durch die Pufferschreibwähler 20 in die Pufferschreib-Register 22 eingelassen. Der Ersatzblock aus dem Hauptspeicher wird bei der Adresse des Pufferspeichers untergebracht, die vom Inhalt des Pufferanzeichen-Adressenregisters 66 bezeichnet ist; jedesmal wenn ein Wort eintritt werden die Bits 1 und 2 zur Bildung einer Wortadresse um Eins vergrößert Auch das neue Anzeichenwort wird in die Anzeichenteiie der Satzspeicher-Einheiten 24 und
230 241/131
28 eingeschrieben, wie noch zu erläutern ist
Während diese Vorgänge ablaufen, wird das Rückschreibebit des Anzeichenwortes, das gegenwärtig im Anzeichen-Adressenregister 64 enthalten ist, geprüft; falls es gesetzt ist, bedeutet dies, daß der jetzt in den Schreibdaten-Registern 68 ruhende Datenblock einer Abänderung unterzogen wurde, während er sich im Pufferspeicher befand. Somit ist es notwendig, daß dieser Datenblock in den Hauptspeicher 36 ruckgeschrieben wird.
Während der vier Zyklen des Hauptspeichers werden die Wörter paarweise aus den Schreibdaten-Registern ■68, nämlich abwechselnd je eines aus dem ungeradzahligen Abschnitt und je eines aus dem geradzahligen Abschnitt in den Hauptspeicher eingelassen, wobei der Platz dieses Blockes von der Adresse vorgeschrieben ist, die zu einem früheren Zeitpunkt im Verfehlungs-Adressenregister 82 aufgenommen wurde, dessen Inhalt einem Adressen-Register 72 des Hauptspeichers 36 zugeleitet v/ird.
Nachdem das letzte Wort der aus dem Hauptspeicher ausgelesenen Daten in den Pufferspeicher eingetreten ist, wird die Abtastung der Priorität erneut eingeleitet, wodurch das ursprünglich anfordernde Gerät Zugang zu der nun im Pufferspeicher ruhenden Adresse gewinnt Und ihm das gewünschte Wort zum Lesen oder Schreiben zur Verfugung gestellt wird.
Wie aus der Erläuterung des Anzeichenteiles in der Satzspeichereinheit der Fig.2 hervorgeht, verfügt jeder Satz über ein Anzeichenwort, das die Adresse der vier laufend im Pufferspeicher ruhenden Blöcke, sowie zwei das Alter angebende Bits für jeden Datenblock vorschreibt, die die Binärwerte 00, 01, 10 oder 11 einnehmen können. Die Binärwerte 00 geben den zuletzt benutzten Block und die Binärwerte 11 den während der längsten Zeitspanne nicht verwendeten Block an. Wenn also ein Block des Pufferspeichers durch einen neuen Datenblock aus dem Hauptspeicher ersetzt werden soll, brauchen die Steuerschaltungen nur die das Alter des Blockes angebenden Bits im gerade adressierten Satz zu prüfen und den Datenblock mit den das Alter nennenden Bits 11 zum Ersatz auszuwählen.
. Zur weiteren Erläuterung der Arbeitsweise der Schaltung nach der Fig. 1 sei das Flußbild der Fig.5a, 5b und 5c herangezogen. Zu Anfang ist das Prioritätshetzwerk 14 bereit, eingehende Anforderungssignale aus mehreren der Anforderung dienenden Geräten anzunehmen, die an der. Eingangsleitungen 13 des Pufferspeichers angeschlossen sind (Block 102). Nach dem Empfang eines Anforderungssignals zum Lesen oder Schreiben wird festgestellt, ob gerade mehrere derartige Geräte Anforderungssignale übertragen (Block 104). Im positiven Falle wählt das Prioritäisnetzwerk J4 (Fig. 1) nur ein solches Gerät für eine Übermittlung aus (Block 106); im negativen Falle werden alle anderen Geräte mit Ausnahme des gerade anfordernden während der Dauer des folgenden Leseoder Schreibvorganges gesperrt (Block 108). Das Prioritätsnetzwerk 14 sendet ein Schaltsignal zu dem der Anforderung dienenden Gerät, wodurch die Bits 09 bis 03 der angeforderten Adresse in den Adressen-Zuordner 40 und Satzwähler 44 (Fig.2 und 3) der Satzspeicher-Einheiten 24 und 26 eingeschleust werden. Gleichzeitig laufen die Bits 02 und 01 der vom anfordernden Gerät dargebotenen Adresse in den Wortwähler 46 (F i g. 3) hinein (Block 110).
Als nächstes werden die Satzspeicher-Einheiten 24 und 26 zyklisch durchgeschaltet, und das Anzeichenwort wird für den gewählten Satz in die Vergleichsschaltung 42 übertragen; ferner werden die vier Datenwörter aus den gewählten Blöcken des gewählten Satzes in den Blockwähler 48 der Fi g. 3 eingelassen (Blöcke 112 und
114). Daraufhin werden die Blockadressen der vier Datenblöcke, die den gewählten Satz bilden und in der Vergleichsschaltung 42 enthalten sind, Bit für Bit mit der von der Satzspeichereinheit dargebotenen Adresse verglichen (Block 116).
ίο Falls sich beim Vergleich eine Übereinstimmung ergibt, wird auf einer der aus der Vergleichsschaltung 42 austretenden Leitungen A, B, Coder Z? ein Steuersignal zu einem Vergleichswähler übermittelt, wodurch die das Älter angebenden Bits des Anzeichenwortes in der Vergleichsschaltung 42 auf den neuesten Stand gebracht werden (Blöcke 118 und 120). Bei einer fehlenden
Übereinstimmung gehen die Vorgänge gemäß den Blöcken der F i g. 5b weiter.
Nachdem im Falle einer Übereinstimmung die das Alter bezeichnenden Bits des Anzeichenwortes im gewählten Satz auf den neuesten Stand gebracht sind, wird festgestellt, ob die vom Prioritätsnetzwerk ίι4 angenommene Anforderung für das Lesen oder Schreiben bestimmt ist (Block 122). Im Falle des Schreibens geht das Flußbild in der Fig.5c weiter. Unter der Annahme einer Anforderung zum Schreiben wird den Satzspeicher-Einheiten 24 und 26 ein Schaltsignal übermittelt, das das Datenwort, das im Pufferschreib-Register 22 untergebracht ist, an demjenigen Platz einschreiben läßt, der von der Adresse bestimmt ist, die im Anforderungs-Adressenregister 18 ruht (Block 124 der Fig.5c). Da sich infolge des Schreibvorganges die in einem Datenblock des Pufferspeichers untergebrachten Daten von denen im entsprechenden Biock des Hauptspeichers unterscheiden, muß der abgeänderte Datenblock in den Hauptspeicher eingeschrieben werden, sobald er vom Ersatz-Algorithmus für einen Ersatz ausgewählt wird. Um eine derartige Abänderung anzuzeigen, wird das Rückschreibebit des Anzeichenwortes für den abgeänderten Datenblock gesetzt (Block 126). Schließlich wird ein Anerkennungssignal zum ausgesuchten anfordernden Gerät zurückgesandt, das die Mitteilung gibt, daß das von ihm gelieferte Datenwort in dem mit der hohen Geschwindigkeit arbeitenden Pufferspeicher eingeschrieben ist. Mit dem Ende dieser Folge wird das Prioritätsnetzwerk 14 freigegeben, damit es neue Anforderungssignale abtasten kann (Block 18 der F ig. 5c).
Falls sich die ursprüngliche Anforderung auf das Lesen bezieht, wird das gewählte Wort im ausgesuchten Datenblock des ausgewählten Satzes durch den Biockwähler 48 der F i g. 3 in den Lesedatenwähler 52 der F i g. 1 und von diesem aus in die Anforderungs-Leseregister 56, 58 und 60 des anfordernden Gerätes mit der höchsten Priorität eingeschleust (Block 130 der F i g. 5a). An dieses Gerät gibt dann die Steuerung des Pufferspeichers ein Anerkennungssignal ab, von dem mitgeteilt wird, daß das gewünschte Wort in seinem
eo Leseregister vorhanden ist und aus diesem abgeholt werden kann (Block 132).
Wenn die Adressen der vier Datenblöcke im ausgewählten Satz nicht mit der angeforderten Adresse übereinstimmen, was die Vergleichsschaltung 42 abtastet, muß das Flußbild der Fig.5b weiterverfolgt werden. Dann gibt die Vergleichsschaltung 42 des gerade adressierten Abschnittes auf einer Leitung 67 ein Steuersignal zu einer Steuerung 15 hin ab, die bei seinem
Empfang einen Befehlsgenerator mit einer Verzögerungsleitung einschaltet, um in vorgegebenen Zeitpunkten Befehle herauszugeben und den Datenaustausch zwischen dem mit hoher Geschwindigkeit arbeitenden Pufferspeicher und dem mit geringer Geschwindigkeit arbeitenden Hauptspeicher zu steuern. Wegen ihrer unterschiedlichen Zykluszeiten können mehrere Vorgange parallel nebeneinander oder auch zeitlich sich überlappend ablaufen. In der Fig.5b sind die sich überlappenden Operationen in den beiden parallelen Zweigen angegeben, in denen jedoch nicht spezifische zeitliche Beziehungen zur Schau gestellt werden.
Wenn die Steuerung 15 das die mangelnde Übereinstimmung angebende Signal empfängt, gibt sie einen Befehl heraus, durch den die Adresse des nicht ruhenden Datenblockes, also diejenige Adresse gespeichert wird, die vom anfordernden Gerät geliefert wurde, dem zuvor die Priorität zuerteilt war. Im einzelnen bewirkt der Befehl aus der Steuerung 15, daß der Inhalt des Anforderungs-Adressenregisters 18 durch die Leitungen des Kabels 61 zum Verfehlungs-Adressenregister 62 übertragen wird (Block 134 der F i g. 5b). Gleichzeitig Vi ird der spezielle Block A, B, C, D, in dem die das Alter bezeichnenden Bits 11 vorhanden sind, in der Vergleichsschaltung 42 identifiziert; es wird also der am längsten unbenutzte Block ermittelt Die diesem Block , zugeordneten Bits der Blockadresse, des Alters und das Ruckschreibebit werden aus dem Anzeichenteil der Satzspeichereinheit in das Anzeichen-Adressenregister 64 ausgelesen und von dort zum Pufferanzeichen-Adressenregister 66 übertragen (Block 136).
Hiernach sendet die Steuerung 15 ein Anforderungssignal zum Lesen an den Hauptspeicher, wodurch der Dat;nblcck mit acht Wörtern ausgelesen wird, der durch die im Verfehlungs-Adressenregister 62 enthaltene Adresse bezeichnet ist (Block '38) Insbesondere wird der Inhalt des Verfehlungs-Ad ressenregisters 62 in das Adressen-Register 72 des Hauptspeichers 36 eingeschleust, in dem er zur Auswahl des gewünschten Blockes zur Verfügung steht, der als nicht im Pufferspeicher vorhanden festgestellt wurde.
Von der Steuerung 15 wird außerdem ein Anforderungssignal zum Lesen an die Satzspeicher-Einheiten 24 und 26 abgegeben (Block 140 der F i g. 5b). Hierdurch werden die ächi Wörter ausgegeben, die in dem am längsten unbenutzten Dateublock enthalten sind. Zu diesel·! Zweck wird die Steuerung 15 in Gang gesetzt, die in vier aufeinanderfolgenden Zeitpunkten zyklisch durchschaltet. In jedem Zyklus wird ein Wort aus den beiden Abschnitten des Pufferspeichers von einem Pufferleseregister 69 ausgelesen und in vorübergehend festhaltende Register, nämlich die Schreibdaten-Register 68 eingegeben. Am Ende des ersten Zyklus wird in der Steuerung 15 ein Belade-Flip-Flop gesetzt, wodurch angezeigt wird, daß die ersten beiden Wörter aus den Satzspeicher-Einheiten 24 und 26 zu den Schreibdaten-Registern 68 hin ausgelesen sind. Nach dem Setzen des genannten Flipflop werden die Daten über die Schreibdatenwähler 71 in den Hauptspeicher 36 übertragen (Block 142). Im dritten Zyklus wird ein in der Steuerung 15 enthaltenes Rückschreibe-Flipflop gesetzt, vorausgesetzt daß das Ruckschreibebit des Anzeichenwortes gesetzt ist, das dem am längsten unbenutzten Datenblock zugeordnet ist (Block 144).
Falls ein Schreibschaltsignal vorhanden und das Rückschreibe-Flipflop gesetzt ist, wird im vierten Zyklus wenn die Wörter 7 und 8 des am längsten unbenutzten Datenblockes gerade in den Hauptspeicher 36 übertragen werden, ein Anforderungssignal zum Schreiben in den Hauptspeicher ausgegeben, das einp" Eintritt des Datenblockes in die entsprechende Adres»v des Hauptspeichers bewirkt (Block 146). Während der am längsten unbenutzte Datenblock gerade aus dem Pufferspeicher ausgegeben und in die vorübergehend festhaltende Register eingespeist wird, arbeitet der Hauptspeicher gerade in Abhängigkeit von einem zeitigeren Anforderungssignal zum Leser, so daß aus
ίο ihm die acht Wörter des gewünschten Datenblockes in ein vorübergehend festhaltendes Register eingelesen werden. Etwa zur selben Zeit, wenn die Steuerung ein Anforderungssignal zum Schreiben gerade dem Hauptspeicher anbietet, sind die aus dem Hauptspeicher ausgelesciien Daten verfügbar, damit sie zu den Satzspeicher-Einheiten übermittelt werdesi können. Sie werden während vier Srhreibzyklen dur^h das Kabel 70 über die Pufferschreibwahit; .· j: uau .. '' ^'•"'"•eib-Register 22 zu den Satzspeicher-Einheiten &t, a> übertragen.
Im ersten Zyklus wird der Inhalt des Anforderungs-Adressenregisters 18 in den Abschnitt des Anzeichenwortes für den Datenblock eingeschrieb...%*!." -? «lern früheren Zeitpunkt als am längsten unbenutzte.
Datenblock ermittelt wurde. Außerdem wird währen** jedes der vier Schreibzyklen das zum neuen Datenblock gehörende Rückschreibebit des Anzeichenwortes gelöscht Dies ist deshalb notwendig, weil während jedes Einschreibvorganges in den Pufferspeicher das Rückschreibebit automatisch gesetzt wird; während des Eintretens eines Ersatzblockes besteht jedoch eine Übereinstimmung zwischen den gerade isi den Pufferspeicher eingespeisten Daten und den Daten des im Hauptspeicher enthaltenen Datenblockes. Folglich muß das Rückschreibebit in allen vier Schreibzyklen gelöscht werden, damit beim Abschluß des Ersatzes das Rückschreibebit für den Ersatzblock gelöscht ist, um anzuzeigen, daß dieses Wort, das im Hauptspeicher vorgefunden wurde, keiner Abänderung unterzogen wurde. Beim Eintritt des Ersatzblockes in den Pufferspeicher werden außerdem für ihn die das Alter bezeichnenden Bits in dem Anzeichenwort auf den neuesten Stand gebracht, damit arn Schluß des Einschreibvorganges diese Bits angeben, daß der Ersatzblock der zuletzt eingespeiste DäicfibsGek äst. Zur Übertragung des gewünschten Datenblockes vom Hauptspeicher in den Pufferspeicher, zu seiner Einspeisung an dem zuvor identifizierten Platz und zur Weiterschaltung der Anzeichenadresse, der das Alter bezeichnenden Bits und zum Löschen des Rückschreibebits sei auf das Flußbild der F i g. 5b verwiesen (Blöcke 148,150 und 152).
Nachdem der Ersatzblock an dem gewünschten Platz des Pufferspeichers eingespeist ist, gibt der Hauptspeieher ein Ende-Schreibsignal heraus, das der Steuerung 15 anzeigt, daß eine rückgeschriebene Information im Hauptspeicher abgelegt ist. Nahezu gleichzeitig gibt der Hauptspeicher ein Ende-Lesesignal ab, das dem Pufferspeicher angibt, daß der Lesezyklus des Haupt-Speichers beendet, also die Datenübertragung zum Lesen abgeschlossen ist (Blöcke 154 und 15*).
Nach der Erzeugung des Ende-Lesesiginals setzt die Steuerung 15 wieder das ursprüngliche anfordernde Gerät in Gang, das zum früheren Zeitpunkt Anlaß zur
mangelnden Übereinstimmung gegeben hatte (Block 158). Diesem ursprünglich anfordernden Gerät erteilt das Prioritätsnetzwerk 14 die höchsie Priorität, wodurch die Vorgänge in der Reihenfolge ablaufen, wie
vom entsprechenden Punkt in der Fig.5a an zu sehen ist (Blöcke IU bis 132). Es wird bestimmt, ob das anfordernde Gerät ein Anforderungssignal zum Schreiben Keferti im positiven Falle gehen dann die Vorgänge ki der Folge gemäß der Fig.Se weiter. Itn FsIIe eines Anforderungssignals zun Lesen kann man die weiteren Vorgänge in der F i g. 5a verfolgen (Blöcke 130 und 132).
Hierzu 7 Blatt Zeichnungen
Pi.
\* jsisjaa« ür-^&i "τι
% "■■

Claims (2)

Patentansprüche:
1. Speichersystem mit einem langsam arbeitenden Hauptspeicher von großer Kapazität und mit zumindest einem sehne!! arbeitenden Pufferspeicher von geringer Kapazität, zwischen dem und einem anfordernden Gerät Adressensignale und ein diesen zugeordnetes Datenwort Obertragbar sind, mit einer Vergleichsschaltung, von der bei der Feststellung, ia daß das den Adressensignalen zugeordnete Datenwort nicht im Pufferspeicher erreichbar ist, ein Schaltsignalgeber einschaltbar ist, von dem sowohl ein Datenblock, der das den Adressensignalen zugeordnete Datenwort enthält bzw. aufnehmen soll, aus dem Hauptspeicher zu einem freigemachten Platz des Pufferspeichers als auch ein am längsten unbenutzt im Pufferspeicher verweilender Datenblock vom Pufferspeicher zu dem freigemachten Platz des Hauptspeichers übertragbar sind, dadurch gekennzeichnet, daß von einem
■;i ersten Teil (Bits 9 bis 3) der aus dem anfordernden ■~'~- Gerät (0,1 oder 2) übertragenen Adressensignale in einem ersten Abschnitt (28,32) des Pufferspeichers (24,26) mehrere Blockadressen gemeinsam mit ihren das Alter und/oder eine Abänderung des Datenblokkes angebenden Bits (Alt, Wb) adressierbar und zu der Vergleichsschaltung (42) hin ausgebbar sind, in „der durch einen Vergleich mit einem zweiten Teil (Bits 22 bis 10) der Adressensignale zur Anzeige einer der adressierten Blockadressen ein Übereinstimmungssignal erzeugbar ist, und daß vom ersten Teil (Bits 9 bis 3) und von einem dritten Teil (2,1) der . übertragenen Adressensignale in einem zweiten Abschnitt (30, 34) des Pufferspeichers (24, 26) eine der Zahl der gleichzeitig adressierbaren Blockadressen entsprechende Zahl Datenwörter adressierbar und zu einer Auswahlschaltung (48) hin ausgebbar sind, von der unter der Mitwirkung des im ersten Abschnitt (28, 32) erzeugten Übereinstimmungssignals das eine Datenwort urter den adressierten Datenwörtern zwecks Übertragung zum anfordernden Gerät (0,1 oder 2) oder einer Abänderung durch das anfordernde Gerät (0,1 oder 2) auswählbar ist.
2. Speichersystem nach dem Anspruch 1, dadurch gekennzeichnet, daß die aus dem anfordernden Gerät (0,1 oder 2) übertragenen Adressensignale in einem von zwei getrennten Systemabschnitten (10, 12) mit je einem gesonderten Pufferspeicherteil (24 bzw. 26) auswertbar sind, die mit einem dritten, den gemeinsamen Hauptspeicher (36) enthaltenden Systemabschnitt zusammenwirken, und daß von einem vierten Teil (Bit 0) der übertragenen Adressensignale festsetzbar ist, welcher der beiden Systemabschnitte (10, 12) auf die Adressensignale anspricht
DE2550339A 1974-11-11 1975-11-08 Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität Expired DE2550339C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/522,553 US3967247A (en) 1974-11-11 1974-11-11 Storage interface unit

Publications (2)

Publication Number Publication Date
DE2550339A1 DE2550339A1 (de) 1976-06-16
DE2550339C2 true DE2550339C2 (de) 1982-10-14

Family

ID=24081323

Family Applications (2)

Application Number Title Priority Date Filing Date
DE2550339A Expired DE2550339C2 (de) 1974-11-11 1975-11-08 Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität
DE2560206A Expired DE2560206C2 (de) 1974-11-11 1975-11-08 Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE2560206A Expired DE2560206C2 (de) 1974-11-11 1975-11-08 Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität

Country Status (8)

Country Link
US (1) US3967247A (de)
JP (1) JPS6118222B2 (de)
CH (1) CH607139A5 (de)
DE (2) DE2550339C2 (de)
FR (1) FR2290710A1 (de)
GB (1) GB1532798A (de)
IT (1) IT1049044B (de)
SE (1) SE411404B (de)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
FR2348544A1 (fr) * 1976-04-15 1977-11-10 Honeywell Bull Soc Ind Ensemble double de memoire associative
DE2703559A1 (de) * 1977-01-28 1978-08-03 Siemens Ag Rechnersystem
US4126893A (en) * 1977-02-17 1978-11-21 Xerox Corporation Interrupt request controller for data processing system
US4158235A (en) * 1977-04-18 1979-06-12 Burroughs Corporation Multi port time-shared associative buffer storage pool
US4149262A (en) * 1977-04-19 1979-04-10 Semionics Associates Associative memory device with variable recognition criteria
US4141067A (en) * 1977-06-13 1979-02-20 General Automation Multiprocessor system with cache memory
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
US4142234A (en) * 1977-11-28 1979-02-27 International Business Machines Corporation Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
JPS5489444A (en) * 1977-12-27 1979-07-16 Fujitsu Ltd Associative memory processing system
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
US4432050A (en) * 1978-10-02 1984-02-14 Honeywell Information Systems, Inc. Data processing system write protection mechanism
US4258417A (en) * 1978-10-23 1981-03-24 International Business Machines Corporation System for interfacing between main store memory and a central processor
CA1123964A (en) * 1978-10-26 1982-05-18 Anthony J. Capozzi Integrated multilevel storage hierarchy for a data processing system
US4323968A (en) * 1978-10-26 1982-04-06 International Business Machines Corporation Multilevel storage system having unitary control of data transfers
GB2037039B (en) * 1978-12-11 1983-08-17 Honeywell Inf Systems Cache memory system
US4225922A (en) * 1978-12-11 1980-09-30 Honeywell Information Systems Inc. Command queue apparatus included within a cache unit for facilitating command sequencing
US4276609A (en) * 1979-01-04 1981-06-30 Ncr Corporation CCD memory retrieval system
US4298929A (en) * 1979-01-26 1981-11-03 International Business Machines Corporation Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
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
US4298932A (en) * 1979-06-11 1981-11-03 International Business Machines Corporation Serial storage subsystem for a data processor
US4445191A (en) * 1979-08-13 1984-04-24 Burroughs Corporation Data word handling enhancement in a page oriented named-data hierarchical memory system
DE2934771C3 (de) * 1979-08-28 1982-03-25 Siemens AG, 1000 Berlin und 8000 München Speichervorrichtung.
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
JPS5680872A (en) * 1979-12-06 1981-07-02 Fujitsu Ltd Buffer memory control system
US4322795A (en) * 1980-01-24 1982-03-30 Honeywell Information Systems Inc. Cache memory utilizing selective clearing and least recently used updating
US4345309A (en) * 1980-01-28 1982-08-17 Digital Equipment Corporation Relating to cached multiprocessor system with pipeline timing
US4323967A (en) * 1980-04-15 1982-04-06 Honeywell Information Systems Inc. Local bus interface for controlling information transfers between units in a central subsystem
US4371929A (en) * 1980-05-05 1983-02-01 Ibm Corporation Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory
US4382278A (en) * 1980-06-05 1983-05-03 Texas Instruments Incorporated Hierarchial memory system with microcommand memory and pointer register mapping virtual CPU registers in workspace cache #4 and main memory cache
US4370710A (en) * 1980-08-26 1983-01-25 Control Data Corporation Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses
US4381541A (en) * 1980-08-28 1983-04-26 Sperry Corporation Buffer memory referencing system for two data words
JPS57105879A (en) * 1980-12-23 1982-07-01 Hitachi Ltd Control system for storage device
EP0055579B1 (de) * 1980-12-31 1991-03-20 Bull HN Information Systems Inc. Cache-Speicher mit Doppelwort-Zugriff
US4355306A (en) * 1981-01-30 1982-10-19 International Business Machines Corporation Dynamic stack data compression and decompression system
US4414644A (en) * 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4821184A (en) * 1981-05-22 1989-04-11 Data General Corporation Universal addressing system for a digital data processing system
CA1187198A (en) * 1981-06-15 1985-05-14 Takashi Chiba System for controlling access to channel buffers
US4439837A (en) * 1981-06-16 1984-03-27 Ncr Corporation Non-volatile memory system for intelligent terminals
US4525777A (en) * 1981-08-03 1985-06-25 Honeywell Information Systems Inc. Split-cycle cache system with SCU controlled cache clearing during cache store access period
JPS58147879A (ja) * 1982-02-26 1983-09-02 Toshiba Corp キヤツシユメモリ制御方式
US4811203A (en) * 1982-03-03 1989-03-07 Unisys Corporation Hierarchial memory system with separate criteria for replacement and writeback without replacement
US4493026A (en) * 1982-05-26 1985-01-08 International Business Machines Corporation Set associative sector cache
US4574346A (en) * 1982-09-29 1986-03-04 International Business Machines Corporation Method and apparatus for peripheral data handling hierarchies
US4675812A (en) * 1983-02-14 1987-06-23 International Business Machines Corp. Priority circuit for channel subsystem having components with diverse and changing requirement for system resources
US4607331A (en) * 1983-05-13 1986-08-19 Motorola, Inc. Method and apparatus for implementing an algorithm associated with stored information
US4695951A (en) * 1983-07-07 1987-09-22 Honeywell Bull Inc. Computer hierarchy control
US4858111A (en) * 1983-07-29 1989-08-15 Hewlett-Packard Company Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
US4625273A (en) * 1983-08-30 1986-11-25 Amdahl Corporation Apparatus for fast data storage with deferred error reporting
US4710966A (en) * 1984-01-04 1987-12-01 Itek Corporation Digital frame processor pipe line circuit
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
US4630195A (en) * 1984-05-31 1986-12-16 International Business Machines Corporation Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage
USRE34052E (en) * 1984-05-31 1992-09-01 International Business Machines Corporation Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage
DE3429571A1 (de) * 1984-08-10 1986-02-20 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur prioritaetsbezogenen einordnung und registrierung von speicherabschnitten bzw. speicherbaenken, unter anwendung des lru-algorithmus
EP0173884B1 (de) * 1984-08-10 1989-11-23 Siemens Aktiengesellschaft Schaltungsanordnung zur prioritätsbezogenen Einordnung und Registrierung einzelner Speicherabschnitte bzw. Bänke unter Anwendung des LRU-Algorithmus
JPH0670773B2 (ja) * 1984-11-01 1994-09-07 富士通株式会社 先行制御方式
US4714994A (en) * 1985-04-30 1987-12-22 International Business Machines Corp. Instruction prefetch buffer control
CH672816A5 (de) * 1986-10-03 1989-12-29 Pantex Stahl Ag
US5034885A (en) * 1988-03-15 1991-07-23 Kabushiki Kaisha Toshiba Cache memory device with fast data-write capacity
US4939641A (en) * 1988-06-30 1990-07-03 Wang Laboratories, Inc. Multi-processor system with cache memories
US5097409A (en) * 1988-06-30 1992-03-17 Wang Laboratories, Inc. Multi-processor system with cache memories
US5027270A (en) * 1988-10-11 1991-06-25 Mips Computer Systems, Inc. Processor controlled interface with instruction streaming
US5025365A (en) * 1988-11-14 1991-06-18 Unisys Corporation Hardware implemented cache coherency protocol with duplicated distributed directories for high-performance multiprocessors
US5202972A (en) * 1988-12-29 1993-04-13 International Business Machines Corporation Store buffer apparatus in a multiprocessor system
EP0419961A3 (en) * 1989-09-26 1991-10-23 Siemens Aktiengesellschaft Method and circuit for replacement control, particularly for a system containing digital memory elements
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
US5434990A (en) * 1990-08-06 1995-07-18 Ncr Corporation Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch
US5218246A (en) * 1990-09-14 1993-06-08 Acer, Incorporated MOS analog XOR amplifier
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
US5345582A (en) * 1991-12-20 1994-09-06 Unisys Corporation Failure detection for instruction processor associative cache memories
US5404484A (en) * 1992-09-16 1995-04-04 Hewlett-Packard Company Cache system for reducing memory latency times
US5673415A (en) * 1993-12-03 1997-09-30 Unisys Corporation High speed two-port interface unit where read commands suspend partially executed write commands
JP3266470B2 (ja) * 1994-10-03 2002-03-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
WO1996012229A1 (en) 1994-10-14 1996-04-25 Silicon Graphics, Inc. Indexing and multiplexing of interleaved cache memory arrays
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
EP1114542B1 (de) * 1998-09-18 2008-03-12 Harris Corporation Verteilter verbindungsmechanismus für ein vhf-netzwerk
US7069406B2 (en) * 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
US9274964B2 (en) 2012-02-02 2016-03-01 Qualcomm Incorporated Multi-bank cache memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE622921A (de) * 1961-10-06
BE629069A (de) * 1962-03-05
US3275991A (en) * 1962-12-03 1966-09-27 Bunker Ramo Memory system
US3569938A (en) * 1967-12-20 1971-03-09 Ibm Storage manager
US3581291A (en) * 1968-10-31 1971-05-25 Hitachi Ltd Memory control system in multiprocessing system
US3588839A (en) * 1969-01-15 1971-06-28 Ibm Hierarchical memory updating system
US3670309A (en) * 1969-12-23 1972-06-13 Ibm Storage control system
US3647348A (en) * 1970-01-19 1972-03-07 Fairchild Camera Instr Co Hardware-oriented paging control system
US3737871A (en) * 1971-07-28 1973-06-05 Hewlett Packard Co Stack register renamer
GB1354827A (en) * 1971-08-25 1974-06-05 Ibm Data processing systems
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US3848234A (en) * 1973-04-04 1974-11-12 Sperry Rand Corp Multi-processor system with multiple cache memories

Also Published As

Publication number Publication date
CH607139A5 (de) 1978-11-30
GB1532798A (en) 1978-11-22
IT1049044B (it) 1981-01-20
FR2290710A1 (fr) 1976-06-04
SE7512524L (sv) 1976-05-12
JPS5176936A (de) 1976-07-03
JPS6118222B2 (de) 1986-05-12
SE411404B (sv) 1979-12-17
DE2560206C2 (de) 1983-01-20
DE2550339A1 (de) 1976-06-16
US3967247A (en) 1976-06-29
FR2290710B1 (de) 1980-04-18

Similar Documents

Publication Publication Date Title
DE2550339C2 (de) Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität
DE3011552C2 (de)
DE2523414C3 (de) Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
DE2163342C3 (de) Hierarchische binäre Speichervorrichtung
DE2230987C2 (de)
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2415900B2 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE2928488A1 (de) Speicher-subsystem
DE2310631A1 (de) Speicherhierarchie fuer ein datenverarbeitungssystem
DE3618136C2 (de)
DE1524788A1 (de) Schaltungsanordnung zur Erkennung und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE2912073A1 (de) Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem
DE3343348A1 (de) Anordnung zur datenuebertragung zwischen mehreren prozessoren und einem speicher
DE2558417A1 (de) Datenverarbeitungssystem
DE2842288A1 (de) Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher
DE2404887C2 (de) Schaltungsanordnung für den Informationsaustausch mit einem Rechner
DE2853501A1 (de) Speicherhierarchie mit ladungsverschiebungsspeicher
DE2853165C2 (de)
DE1774849C3 (de) Adressierungseinrichtung für eine Speicherabschnittkette
DE3009317A1 (de) Hybrid-assoziativspeicher
DE2854286A1 (de) Schaltungsanordnung mit einem befehlspuffer fuer eine cachespeichereinheit eines datenverarbeitungssystems

Legal Events

Date Code Title Description
OD Request for examination
OI Miscellaneous see part 1
OI Miscellaneous see part 1
OGA New person/name/address of the applicant
D2 Grant after examination
AH Division in

Ref country code: DE

Ref document number: 2560206

Format of ref document f/p: P

8339 Ceased/non-payment of the annual fee
8327 Change in the person/name/address of the patent owner

Owner name: UNISYS CORP. (N.D.GES.D.STAATES DELAWARE), BLUE BE

8328 Change in the person/name/address of the agent

Free format text: EISENFUEHR, G., DIPL.-ING. SPEISER, D., DIPL.-ING. RABUS, W., DR.-ING. BRUEGGE, J., DIPL.-ING., 2800 BREMEN MAIWALD, W., DIPL.-CHEM.DR., PAT.-ANWAELTE, 8000 MUENCHEN