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ätInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0851—Cache with interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address 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
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
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).
. 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)
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
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)
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)
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 |
-
1974
- 1974-11-11 US US05/522,553 patent/US3967247A/en not_active Expired - Lifetime
-
1975
- 1975-11-06 FR FR7533944A patent/FR2290710A1/fr active Granted
- 1975-11-07 IT IT29118/75A patent/IT1049044B/it active
- 1975-11-07 SE SE7512524A patent/SE411404B/sv not_active IP Right Cessation
- 1975-11-08 DE DE2550339A patent/DE2550339C2/de not_active Expired
- 1975-11-08 DE DE2560206A patent/DE2560206C2/de not_active Expired
- 1975-11-10 CH CH1448875A patent/CH607139A5/xx not_active IP Right Cessation
- 1975-11-10 GB GB46376/75A patent/GB1532798A/en not_active Expired
- 1975-11-11 JP JP50135592A patent/JPS6118222B2/ja not_active Expired
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 |