DE2550339A1 - Pufferspeicher mit sehr kurzer zykluszeit zwischen mehreren daten anfordernden einheiten und einem hauptspeicher mit ziemlich langer zykluszeit - Google Patents
Pufferspeicher mit sehr kurzer zykluszeit zwischen mehreren daten anfordernden einheiten und einem hauptspeicher mit ziemlich langer zykluszeitInfo
- Publication number
- DE2550339A1 DE2550339A1 DE19752550339 DE2550339A DE2550339A1 DE 2550339 A1 DE2550339 A1 DE 2550339A1 DE 19752550339 DE19752550339 DE 19752550339 DE 2550339 A DE2550339 A DE 2550339A DE 2550339 A1 DE2550339 A1 DE 2550339A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- main memory
- block
- address
- buffer 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims description 232
- 239000000872 buffer Substances 0.000 title claims description 144
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 239000003550 marker Substances 0.000 claims 1
- 238000000034 method Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000008520 organization Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000284 resting effect Effects 0.000 description 2
- VOXZDWNPVJITMN-ZBRFXRBCSA-N 17β-estradiol Chemical compound OC1=CC=C2[C@H]3CC[C@](C)([C@H](CC4)O)[C@@H]4[C@@H]3CCC2=C1 VOXZDWNPVJITMN-ZBRFXRBCSA-N 0.000 description 1
- 101100069818 Caenorhabditis elegans gur-3 gene Proteins 0.000 description 1
- 101150021395 JUND gene Proteins 0.000 description 1
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 1
- 240000002834 Paulownia tomentosa Species 0.000 description 1
- 241000183024 Populus tremula Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 150000001412 amines Chemical class 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
PATEMT Λ -■ "/ ALT ' ' "" " "1^'
H. F. E ■. ^ ;.ί E R
FRIEPEN5S7RASSE £9/31
TELEFON; IDSTElN 8137
TELEFON; IDSTElN 8137
SPKSRT HAND CORPOHAT10», KeH lork, H. Ϊ./U. S. A.
P-<:':*.·?e.r*?pa' db.er nn ϊ sehr kn^er Zykl-i3v,e^t· ■awi'aohen mehreren Daten
sn.fordernden E'nbeiten ;md ei.nem. Hanptspeicher m'.t Eiemlich langer
•!•r'e Xj'f^.ndTng hetcjffi'· e*ner· 2v,'r5Johenspe3,cb.ar, der als mit hoher
Qsrebw'.ruVlgkv^i!- ar te". lender P -fferspei eher ','wischen mehreren die
"OaI β"« an.fo.r*iio'inden E:'.rhe;vten und einem mit ziemlich geringer
Oci.st'l.'w'rjdlgkoit ax'beitenden UcT.iptnpeieher ir>
einem datenvei'arbei- ts.ndei) Sys^SiTi eingeschaltet, ist. D.'ftser Pufferspeicher sorgt für
ei;-e ",'oWibe^geherde .Speicherung einer hsgcenKten Anzahl Blöcke von
im Ha-}.pt..vpeJcbe.t» nnhcrgatrachten Daten, Wenn eine spezielle
Ad^'espe τοη ο ine** Einheit, angei'ojt-dert wird, wird nachgeprüft, ob
sr'.dh diene Adresse im Pufferspeicher befindet, und im positiven
Falle w3:-/d eis- der anfordernden Einheit zum Lesen oder Schreiben
'.'.Ui" Verfügung gestellt, Falls jsdooh die gewünschte Adresse im
P'jfferppslchs'.* nicht vorhanden ist, wird in diesem zum Ersatz
ein Block ausgewählt*
Es 1st bekannt, daß die Arbeitsgeschwindigkeit des Hauptspeichers
eines Reshetiautomaten durroh die Anwendung eines Pufferspeichers
60 9825/0 64 3
2550333
• λ ·
von geringer Kapassitat, der ate? mit einer dienlich hohen Geschwindigkeit arteitet, gesteigert werden kann. Wenn also ein
mit hoher Geschwindigkeit arbeitender Pufferspeicher in passender Weise In das System sines Rechenautomaten eingefügt wird,
scheint sich d:' e Arbeitsgeschwindigkeit des Hauptspeichers der
des Pufferspeichers anzunähern. In den Falle, in dem die Zyklus*
zeit des Pufferspeichers ein Zehntel der des Hautspeichers beträgt, kann die effektive Zugriffszeit acht- bis neunmal geringer
als die des Hauptspeichers sein· Der Grund für diese Beschleunigung
der Arbeitsweise ist darin au eehen, dad erfahrungsgemäß
die laufend bearbeiteten Daten »it hoher Wahrscheinlichkeit in naher Zukunft eraeut benutzt werden, und daß irgendwie
zueinander in Beziehung stehende Daten gewöhnlich an benachbarten Adressenplätaen des Hauptspeichers untergebracht werden.
Im Aufsatz von J. S. Lipt.ay Bit de» Titel: ^Structural Aepeete
of the System/360 Model 85, TI the Cache*, erschienen in der
Zeitschrift! "IBH Systems Journal11, Band 7, Kr· 1, Seiten 15 21,
in einem Aufsata von D. H. Gibson nit dem Titel: "Considerations
in Block-Orient ed Systems Design" ι erschienen in den Mitteilungen
der; "Spring Joint Computer Conference 196711Jund in
einem dritten Auf sat a von C. J. Conti u. a. mit den Titel:
"Structural Aspects of the Systen/360 Hodel 85, I General Organization"
in der Zeitschrift: "IBM Systene Journal11, Band 7, Mr.
1, (1968) ist der Anschluß sog. Depotspeicher «la Pufferspeicher
in verschiedenen Systemen von Rechenautomaten erläutert. Bei dem
609825/0643
"IBM System 36O - Modell 85" bewirken die Speichervorgänge stets,
daß der Hauptspeicher unmittelbar auf den neuesten Stand gebracht wird. Wenn dem Abschnitt des Hauptspeichers, der gerade
abgeändert wird, ein Abschnitt im Pufferspeicher zugeteilt ist,
wii'd auch dieser auf den neuesten Stand gebracht; sonst findet
ke5ne auf den Pufferspeicher bezogene Tätigkeit statt. Daher können
die Spei ehe** vox'gänge keine erneute Zuteilung der Abschnitte
des Pufferspeichers, keine Beladung mit einem Rlock und keine
Überarbeitung der Tätigkeitsliste zur Folge haben, die den Ersatzalgorithmus beeinflußt«
Gemäß der Erfindung empfangen ein oder mehrere Rechenanlagen und/
oder Ein-/Ausgabe-Geräte Befehle und Operanden, die hier gemeinsam
als Daten bezeichnet seien, aus einem Hauptspeicher allein über einen Pufferspeicher mit kurzer Zyklusaeit, durch den außer~
dem die im Hauptspeicher unterzubringenden Daten aus den Rechenanlagen
und/oder Ein-/Ausgabe-Geräten hindurchgehen müssen» Somit ist dieser Pufferspeicher derart konstruiert; daß die gesamte
Verzögerungszeit beim Speichern dadurch herabgesetzt wird, daß selbsttätig eine große Anzahl Zugriffe in den Pufferspeicher verlegt
werden, also außerhalb des Hauptspeichers mit langer Zykluszeit stattfinden. Bei der bevorzugten Ausführungsform tiberträgt
zu diesem Zweck eine Schaltung jedesmal dann einen Datenblock
aus acht Wörtern in den Paff er spei eher, wenn ein beliebiges Wort
aus diesem Block von einer Rechenanlage und/oder einem Ein-/Ausgabegex'ät
benötigt wird«, Dieser Datenblock verbleibt mit mehre-
609825/0643
ren Blöcken so lange im Pufferspei eher, bis er von einem neuen
la-jfenden Datenblock verdrängt wird, wie von einem Ersataalgor.ithmus
vorgeschrieben wird.
Xm Pufferspeicher gemäß der Erfindung wird ein sog.^Kugeordneter
Speicher1* verwendet, der 4.096 Wörter enthalten kann, die in
Sätze unterteilt s5nd5 von denen jeder aus vier Datenblöcken mit
acht Wörtern besteht. Der im System angewendete Hauptspeicher ist dann auch in 128 Sät'/e eingeteilt, die je 1/128 der Anzahl
Wörter im gesamten Adressierbereich des Hauptspeichers enthalten*
Andererseits kann der Pufferspeicher mit zusätzlichen Wörtern
erweitert werden, die in einer größeren Anzahl Sätze unterteilt
sind, die je aus- vier Datenblöcken aus acht Wörtern bestehen.
Bei dieser andersartigen Anordnung wird auch der Hauptspeicher in dieselbe Anzahl Sätze eingeteilt, aber jeder Sata enthält
dann eine geringere Anzahl von Datenblöcken aus acht Wörtern.
Ein beliebiger derartiger Datenblock kann aus einem gegebenen
Satz des Hauptspeichers in einen der vier Datenblöcke des entsprechenden
Satzes im Pufferspeicher verlegt werden. Wenn eine Datenübertragung eum Lesen oder Schreiben zwischen dem Puffer»
und Hauptspeicher stattgefunden hat, wird während «ines einsigen
Zyklus des Hauptspeichers ein Datenblock aus acht Wörtern von nebeneinander liegenden Adressen aus Übermittelt·
Wenn ein Wort aus dem Hauptspeicher von einer Rechenanlage oder · einem Ein-/Ausgabegerät angefordert wird, nimmt nur der Puffer-
609825/0643
2550333
speieher diese Anfordering wahr. In üblicher Weise wird durch
eine unmittelbare Adressenauswahl einer der 128 SSf.ze addressiert,
in dem sich das gewünschte bzw. benötigte Wort befindet. Bei dieser
Wohl wird der Pufferspeicher veranlaßt, gleichzeitig die Adresse aller vier Datenblöcke zu lesen, die sich laufend -im
Satz befinden, und mit der angeforderten Adresse zu vergleichen.
Wenn eine der vier Blockadressen mit der angeforderten Adresse übereinstimmt, wird das entsprechende Wort aus diesem Datenblock
ausgelesen und zur anfordernden Einheit übermittelt. Falls keine der vier Blockadressen passend ist, wird der Hauptspeicher vom
Pufferspeicher nach dem gesamten Datenblock abgefragt, der das gewünschte Wort enthält. Während des Wartens auf diesen neuen
Datenblook bestimmt der Pufferspeicher, welcher der vier laufenden
Datenblöcke am wenigsten verwendet wurde, und markiert ihn zum Ersetzen. Als nächstes Überprüft der Pufferspeicher den zu
ersetzenden Datenblock daraufhin, ob ein Wort in diesem Block
abgeändert worden war, während er sich i« Pufferspeicher befand.
In dem Falle, daß eine Abänderung vorgenommen wurde, wird der gesamte Datenbloek samt seiner Adresse in ein vorübergehend
speicherndes Halteregister des Pufferspeichers eingebracht, damit er in den Hauptspeicher rückgespeichert werden kann, so
bald der laufende Zyklus des Hauptspeichers beendet ist. Wenn die Daten aus dem Hauptspeicher eintreffen, wird er in dem nun
leeren Block untergebracht, und schließlich wird das entsprechende Wort vom Pufferspeicher aum ursprünglich anfordernden Gerät
übermittelt, womit der Zyklus abgeschlossen ist.
609825/0643
2550333
* fr-Wenn in den bekannten Systemen von Rechenautomaten mit hoher Geschwindigkeit
arbeitende Pufferspeicher zur Steigerung des Datendurchsatzes verwendet; werden, bewirken die Speichervorgänge
stets, daß der Hauptspeicher auf den neuesten Stand gebracht wird- Falls der gerade abgeänderte Sata des Hauptspeichers einem
entsprechenden Sate· im Pufferspeicher zugeteilt ist, wird der
Pufferspeicher ebenfalls auf den neuesten Stand gebracht. Jedesmal wenn exneRechenanlage oder ein £in-/Ausgabegerät einen
Schreibvorgang einleitet, muß der Hauptspeicher unmittelbar auf den neuesten Stand gebracht werden. Da dieser über eine ziemlich
lange Zykluszeit verfügt, setzt ein häufiger Zugriff auf den Hauptspeicher die gesamte Bearbeitungsaeit des Systems herab.
Um dieses Problem zu umgehen, wird vom System gemäß der Erfindung
ein sog· Nachspeicher-Verfahren ausgenutzt. Anstatt jedesmal
den Hauptspeicher einem Schreibvorgang zu unterziehen, wenn in den Pufferspeicher Daten eingeschrieben werden, wird der
Hauptspeicher gemäß der Erfindung nur dann auf den neuesten Stand gebracht, wenn sich die abzuändernde Adresse nicht im
Pufferspeicher befindet und ein die abgeänderten Daten enthaltender
Block - gemeint sind gegenüber dem entsprechenden Block unterschiedliche Daten - zum Ersetzen gewählt wird. Bei der
Wahrnehmung, daß sich die gewünschte Adresse nicht im Pufferspeicher befindet, sendet der letztere ein Leseanforderungseignal
zum Hauptspeicher, um den gesamten Datenblock zu erhalten, in dem sich die gewünschte Adresse befindet. Gleichzeitig be-
609825/0643
Au
stimmt der Pufferspeicher mit Hilfe eines Ersatzalgorithmus, welcher der im Pufferspeicher laufenden Datenblöcke ersetzt werden
soll. Weiter wird geprüft, ob der Inhalt dieses gewählten Datenblockes abgeändert wurde, während er sich im Pufferspeicher
befand; 5on positiven Falle wird der gesamte Datenblock samt seiner
Adresse in ein vorübergehend speicherndes Halteregister eingeschleust. Während der neue Datenblock gerade vom Hauptspeicher
in den Pufferspeicher an den nun leeren Platz des Blockes gebracht wird, wird der im Halteregister aufbewahrte, verdrängte
Datenblock zum Hauptspeicher rückgeschrieben, wodurch dieser auf seinen neuesten Stand gebracht wird.
Die Einsparung an Zeit bei diesem Nachspeicherverfahren geht aus der folgenden Erklärung einleuchtend hervor. Anstatt in bekannter Weise den ziemlich langsam arbeitenden Hauptspeicher jedesmal
auf den neuesten Stand bringen zu müssen, wenn ein im Pufferspeicher untergebrachter Datenblock verändert wird, wird gemäß
der Erfindung nur ein Zyklus des Hauptspeichers ausgenutzt, um diesen auf den neuesten Stand zu bringen, und dies geschieht
nur dann, wenn ein Datenblock für einen Ersatz ausgewählt ist, bei dem sein Inhalt abgeändert wurde, während er Im Pufferspeicher
verblieb» Beim Verweilen im Pufferspeicher kann dieser Datenblock jedoch zahlreichen Abänderungen unterzogen werden, bis
er für einen Ersatz oder Austausch ausgewählt wird.
6 0 9825/06A3
Ziel der Erfindung ist ess einen mit hoher Geschwindigkeit arbeitenden
Pufferspeicher als Zwischenspeicher zwischen einem oder mehreren anfordernden Geräten und einem Hauptspeicher anzugeben,
der auf statistischer Grundlage mit hoher Wahrscheinlichkeit eine Wortädresse enthält, die von dem anfordernden Gerät vorgeschrieben
ist.
Bin weiteres Ziel der Erfindung ist es, eine Verdrahtung für den
Hauptspeicher eines digitalen Rechenautomaten anzugeben, bei der ein gegebener Datenblock in einem mit hoher Geschwindigkeit arbeitenden
Pufferspeicher wiederholt abgeändert werden kann, ohne daß der zugehörige Block im Hauptspeicher bei jeder derartigen
Abänderung des Datenblockes im Pufferspeicher entsprechend verändert zu werden braucht»
Ein Ausführungsbeispiel der Erfindimg ist in der Zeichnung dai*-
gestellt und wird im folgenden näher erläutert» Es stellen dar:
Figur 1 , die sich aus den Figuren la und Ib zusammensetzt,
ein Blockschaltbild des Pufferspeichers, in dem die Erfindung angewendet wird,
Figur 2 den Am e^henabschnitt der den Sat?a zugehörigen Speichermoduln
in Blockdarstellung,
Figur 3 den Pufferabschnitt der auvor genannten Speichermoduln,
8 -
609825/0643
Figur 4 ein Blockschaltbild derjenigen Schaltungen, von denen
der die langete Zeit nioht verwendete Algorithms ermittelt wird,
Figur 5 , die sich aus den Figuren 5a bis 5c zusammensetzt,
die Reihenfolge der verschiedenen, von der bevorzugten Ausführungsform der Erfindung auszuführenden Operationen
in einem Flußbild und
Figur 6 das Blockschaltbild des steuernden Netsswerkes la
System der Figur 1.
In Verbindung mit der Figur 1 werden die Organisation und die funktionellen Arbeitsgänge des Pufferspeichers gemäß der Erfindung
erklärt; hiernach werden der Aufbau und die Arbeitswe5.se der einzelnen Blöcke aus der Figur 1 ausführlich erläutert, so
weit sie vom bekannten Stand der Technik abweichen*
Wie bereite angedeutet, 1st der Pufferspeicher gemäß der Erfindung
als Zwischenspeicher zwischen mehreren anfordernden Geräten und einem Hauptspeicher in der Weise angeordnet, daß die Zugriffszeit für einen Operanden auf den gesamten Speicher wesentlich
herabgesetzt wird· Dabei enthält der Pufferspeicher nur eine Teilmenge der im Hauptspeicher aufbewahrten Informationen« Bei
diesem Aufbau besteht, statistisch gesehen, eine hohe Wahrscheinlichkeit, daß ein gegebener Operand, der von eine« anfor-
609825/0643
2550333
* tr.
dernden Gerät «um Lesen oder Schreiben gesucht wird, in diesem
Pufferspeicher vorgefunden wird, so daß kein Zugriff auf den mit geringer Geschwindigkeit arbeitenden Hauptspeicher "zu erfolgen
braucht=
Has System der Figur 1 wei^t zwei in ihrer Konstruktion identische
Abschnitte, nämlich einen sog. "ungeraden" Abschnitt und
einen sog. "geradzahligen" Abschnitt auf, die parallel in derselben
Weise arbeiten. Aus diesem Grunde v/erden die verschiedenen Funktionselemente nur beim "ungeraden" Abschnitt links von
einer Linie IO erläutei't, obgleich diese Angaben auch für den
"geradzahligen" Abschnitt rechts von einer Linie 12 gelten. Diejenigen
Elemente, die mit den beiden Abschn5.tten zusammenarbeiten, 3ind zwischen den Linien 10 und 12 gezeigt.
Von drei anfordernden Geräten 0, .1 und 2 gehen Eingabe-Leitungen 13 aus und führen dem Pufferspeicher der Anforderung dienende
Steuersignale und Adressen wiedergebende Signale, sowie einzuschreibende Daten zu. Zu den anfordernden Geräten können ein
oder mehrere zentrale Bearbeitungseinheiten und Bin-/Ausgabe-Geräte
gehören. Die am unteren Ende der Figur Ib eintretenden, der
Anforderung dienenden Signale gelangen zxi je eine» Prioritätsnetfcwerk
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 Pufferspei-
- 10
609825/06 A3
2550333
* f
eher die Priorität zuerkannt. Sowohl die aentralen Bearbeitungseinheiten
als auch die Ein-/Ausgabe-Geräte übermitteln die Daten
zum Pufferspeicher auf der Grundlage einer Anforderung und eines Anerkenntnisses, wie in der USA-Patentschrift Hr. 3»243.781 ron
Ehraian 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ätsnetzwerk zugeleitet, das zu einem gegebenen Zeitpunkt
ein derartiges Gerät für eine Datenübertragung zum übrigen System auswählt.
Gemeinsam mit dem Anforderungssignal sum 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 Pufferschreibwähler 20 als übliche Verknüpfungsschaltungen zu schreibende Daten vom gewählten anfordernden Gerät
in Pufferschreib-Register 22 hineinlaufen.
- 11 -
609825/0643
25^0339
Die vor. den Anfordertmgs-Adressen- und PiuCTerachreib-Registtrn
18 und 22 abgegebenen 3ignale werden zugehörigen Sat'^Speicher-Einheiten
24 und 26 zur Verfugung gestellt, τοη denen die erstere
die ungeradzahllgen Adressen mehrerer Blöcke und die letztere
die geradzahligen Adressen in denselben Blocken speichern, und die übliche adressierbare Speicher mit zufallsverteiltem Zugriff
sein können, aber in zwei Teile, nämlich einen An^eichenteil unc
einen Pufferteil eingeteilt sind.
Zur Aufbewahrung sog. Ar.ze3 chenwörter enthllt dl· Satiepeicherainheit
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 Sataspeichefeinheit 26 in «wei Teile, nämlich Je
einen Stapel von Registern 32 und 34 zerlegt, die ter bzw. mehrere Sätze von halben Datenblöcken speichern· In den
Registern 28 und 32 ist ein An^e:? cJienwort für jeden, halben Datenblock
vorhanden, der in den Registern 30 baw. 34 untergebracht
Zum besseren Verständnis der Gesamtorganisation des PtAff er speichere
erscheint die Betrachtung einer AusfUhrungsfoni hilfreich,
obgleich die Speicherkapazitäten frei wählbar sind· Beispielsweise
mögen die beiden Satzspeicher-Binheiten 24 und 26 konbiniert
eine Kapazität von 4·096 Datenwörtern und ein Hauptspeicher 36
eine Kapazität von 262.144 Wörtern aufweisen. Die 8atK«peicher-
- 12 -
60982S/0643
Einheiten können in 128 Sätze ana vier Datenblöcken mit je acht
Wörtern (128 χ 4 χ 8 «» 4.096) unterteilt sein. Man kann dann
auch den Hauptspeicher als aus 128 Sätzen aufgebaut betrachten, wobei der einzelne Satz 1/128 der Wortkapazität des Hauptspeiciers
aufweist. Dabei würde jeder Satz 256 Datenblöcke aus acht Wörtern (128 χ 256 χ 8 ~ 262.144) enthalten. Vier τοη den 256
Datenblöeken aus 8 Wörtern in einem Satz des Hauptspeichers können
in einem entsprechenden Satss der 128 Sätze in den Satzspeicher-Einheiten 24 und 26 ruhen.
Um das. Adressieren der im Pufferspeicher untergebrachten Daten KU 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
2a048 Wörter mit ungeradzahligen Adressen und 2.046 Wörter eit
geradzahligen Adressen aufnehmen, wie aus der nachfolgenden Tabelle X hervorgeht.
- 13 -
60 9 8 25/0643
255033S
4 Blöcke aus 8 Wörtern
ABCD <—BLOCK-ESEE
0 0 0 0 ESSE 0 0 0 0 EESS
0 0 0 0 EESS 0 0 0 0
4 halbe Blöcke aus 4 Wörtern
A BGD EEEE
EEEE EEEE
EEEE
Satzspeichereinheit 26
4 halbe Blöcke 4 Wörtern
ABCD 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0
Satzspeichereinheit 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 Sat«Speichereinheiten 24 und
2ό oder im Hauptspeicher 36 in den Fällen aufbewahrt ist, falls die zum Lesen oder Schreiben gerade gesuchte Adresse nicht in
den Satzspeichereinheiten 24 und 26 ruht, ist in der folgenden Tabelle II angegeben. Wiederum ist dabei vorausgesetzt, daß dieses
Format für einen einzigen Hauptspeicher 36 mit der Kapazität
von 262.144 Wöi*tern und einen mit ihm kombinierten Pufferspeicher
mit der Kapazität von 4.096 Wörtern verwendet wird. Bei einer Anwendung zusätzlicher Speichermoduln sind weitere Adressenbits
zur Auswahl der Moduln notwendig.
609825/0643
22-10 9-3 2-1 O
Blockwahl Sat«wähl Wortwahl · O/E-Wahl
Hauptspeicher-Adresse
ftun seien die Satzspeichereinheit 24 mit dem Stapel Register 28
und die Satzspeichereinheit 26 mit dem Stapel Register 32 in Verbindung mit der Figur 2 bezüglich ihrer Organisation und Arbeitsweise
ausführlich betrachtet. Bei der Satzspeichereinheit 24 werden der Anzeichen- und Pufferteil in üblicher Weise adressiert.
Die vom Anforderungs-Adressenregister 18 abgegebenen Signale laufen über ein Kabel au 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
0 0 0 in der Figur 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 enthalten, wobei ein Block
acht Wörter umfaßt, die nebeneinander an acht Wortbegrenzungen .angeordnet Bind.
- 15 -60 982 5/064
Mit dem Begriff: "Alter" werden zwei Bits in einem Feld bezeichnet,
das allen vier Blockadressen am Anzeichenplats 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 Wg 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üekgeschrieben 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 Datenblock im Pufferspeicher ruht, werden die vier Blockadressen des Anzeichens, das zum
angeforderten Satz gehört, Bit für Bit mit den Bits 10 bis 22 derjenigen Adresse verglichen, die im Anforderungs-Adressenregister
18 (Figur 2) enthalten ist. Falls die eine der vier Blockadressen übereinstimmt, was von einer Vergleichsschaltung 4.2
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)
16 -
60982 5/064 3
and die Bits adressiert werden, die ein Wort innerhalb des Blokkes
(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 1rerglei<f.hsschaltung 42, die die Nummer des Blockes angeben, in
dem die Übereinstimmung auftrat, werden aur Auswahl des passenden Wortes aus dem Pufferspeicher benutzt, damit es zum anfordernden
Gerät übertragen wird·
In der Figur 3 ist die Organisation der Satzspeichereinheit 24 aufgezeigt; diese enthält Kahlreiche adressierbare Register zum
Speichern von Baten. 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 SataSpeichereinheit
26 und die ungeradzahligen in der Satzspeichereinheit 24 untergebracht. Um auf ein gegebenes Vort einen Zugriff au ermöglichen,
wählen die Bits 09 bis 03 der Adresse aus dem anfordernden Gerät einen der 128 im Pufferspeicher untex'gebrachten Sätae 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 werden die Bits 02 und 01 aus dem Anforderungs-Adressenregister übersetzt, damit in
(iinaaliger Form eines der vier Wörter in allen Blöcken innerhalb
eines gegebenen Sataes in dem betreffenden ungerad- oder geradzahligen
Abschnitt ausgewählt wird« Da diestlb« Adresse aus dem
- 17 -
609825/0643
anfordernden Gerät gleichzeitig dem Stapel der Anzeichen-Register
der Figur 2 zugeleitet wird, wird in dem Falle, dafl eine
Übereinstimmung -zwischen der Adresse eines angeforderten Blokkes
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 geradsahligen Abschnittes austritt. Dadurch
daß dieses Ausgangssignal zu den Eingangsklemmen eines Blockwählers
48 der Figur 3 gelangt, kann allein das gewählte Wort des ausgewählten Blockes im ausgesuchten Sats; 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 Signal liefern,
wodurch der Wortwähler 48 den Austritt eines Wortes aus der Satzspeichereinheit 24 verhindert.
Die von den Satsspeicher-Einheiten 24 und 26 abgegebenen Wörter
laufen durch Kabel $0 der Figur 1 in Lesedatenwähler 52 hinein, die vom Prioritätsnetsswerk 14 beeinflußt werden und die Wörter
über Kabel 54 zu einem von mehreren Leseregistern 56, 58 oder
des anfordernden Gerätes hindurchtreten lassen, das im ersten Fall die Anforderung zum Lesen an den Pufferspeicher gesendet
hat.
Falls in Verbindung mit einer Anforderung zum Lesen oder Schreiben
ermittelt wird, daß sich das gerade gesuchte Wort nicht im
- 18 -
ORIGINAL INSPECTED
609825/0643 X
Pufferspeicher befindet, wird die gewünschte Adresse aus den Anforderungs-Adressenregistern 18 über ein Kabel 6l zu einem
Verfehlungs-Adressenregister 62 übertragen, wo sie festgehalten wird, damit sie in einem späteren Zeitpurkt 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 angeordnete Anseichenadresse aus dem Anseichenteil
der Satesäspeichereinheit 24 oder 26 au einem Anaeichen-Adressen-Register
6k ausgelesen und von diesem ssu 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 Datenblöcke mit
vier Wörtern aus den Sataspeicher-Einheiten 24 und 26 ausgelesen
und der Reih· nach zu den vier Abschnitten von Schreibdaten-Registern
68 des Hauptspeichers übertragen, in denen sie festgehalten werden.
Der gewünschte, nicht ruhende Datenblock wird zu je zwei IfSrtern
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 beginnenden Pufferadresse untergebracht, die vom Inhalt des Pufferanzeichen-Adressenregisters
66 bezeichnet ist; wenn ein Wort eintritt, werden die Bits 1 und 2 zur Bildung der Wortadresse beim Einlaß um ei-
- 19 -
609825/0643
ne Einheit vergrößert. Auch das neue Anaeichenwort wird
in die Ansseichenteile der Satzspeicher-Einheiten Zk und 26 eingeschrieben,
wie noch zu erläutern ist.
Während diese Vorgänge ablaufen, wird das Rückschreibebit des Anzeichenwortes., das gegenwärtig im Anaeichen-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 rückgeschrieben wird.
Während der vier Zyklen des Hauptspeichers werden die Wörter paarweise
aus den Schreibdaten-Regä&ern 68. näm3.ich eines aus dem
ungeradaaiiligen Abschnitt und eines aus dem geradzahligen Abschnitt
in den Hauptspeicher eingelassen, wobei der Platz dieses Blockes von der Adresse Torgeschrieben ist, die au einem früheren
Zeitpunkt im Verfehlungs-Adressenregister 62 aufgenommen
wurde» dessen Inhalt einem Adressen-Register 72 des Hauptspeichers 36 augeleitet wird.
Nachdem das letzte Wort der aus dem Hauptspeicher ausgelesenen Daten in den Pufferspeicher eingetreten ist, wird die Abtastung
einer weiteren Priorität 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
20 -
609825/0643
Schreiben zur Verfügung gestellt wird. Zum besseren Verständnis der Vorgänge, die mit einem während einer längsten Zeitspanne
nicht benutzten Algorithmus in Verbindung stehen, mit dessen Hilfe ein Block zum Ersatz gewählt wird, falls ein Wort angefordert
wird, das sich nicht 5.m Pufferspeicher befindet, sei
auf d?e Figur 4 verwiesen.
Wie aus der Erläuterung des Anseichenteiles in der Satzspeichereinheit
der Figur 2 hervorgeht, verfügt jeder Satz über ein Anzeichenwort, das die Adresse der vier laufend im Pufferspeieher
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»
Mit Hilfe der Schaltung nach der Figur 4 werden die das Alter angebenden Bits eines Änzeichenwortes eines Satzes jedesmal
auf den neuesten Stand gebracht, wenn auf einen Block in diesem Satz zugegriffen wird. Vier Register 74, 76. *?8 und 80 am unteren
Ende der Figur 4 können einen Teil der Vergleichsschal-
21 -
609825/0643
tung 42 der Figur 2 bilden. Bei der Heranführung einer Anaeichenadresse
aus dem mit der höchsten Priorität anfordernden Gerät an den Adressen-Zuordner 40 wird das Anaeichenwort dieses Satzes
in die Vergleichsschaltung 42 eingelassen, wobei die das Alter
der Blockadresse angebenden Bits und ein Rückschre5.bbit für einen
Block A in das Register 745 die für einen Block B in das Register
76 usw. eintreten. Die das Alter nennenden Bits werden von den Registern 74, ?6, 78 und 80 zu einem Vergleichswähler 82
und Komparatoren 84, 86, 88 und 90 übertragen, deren zweites
Eingangssignal aus dem Vergleichswähler 82 herangeführt wird. An die Ausgangsklemme des jeweiligen Komparators 84, 86, 88 und
90, der feststellt, welche der beiden Eingangsgrößen größer oder kleiner als die andere ist, oder ob beide gleich sind, ist über
je einen Addierer 92, 94» 96 bzw. 98 zum zugehörigen Register 74, 76, 78 bzw. 80 zurückgeführt. Beim Empfang des Ausgangssignals
von den Komparatoren 84, 86, 88 und 90 fügen die Addierer zu den in den Registern 74, 76, 78 und 80 vorhandenen, das Alter
bezeichnenden Bits eine Eins oder Null hinzu oder löschen dieselben auf Null.
Als Beispiel sei angenommen, daß die das Alter anzeigenden Bits in den Registern 74, 76, 78 und 80 die Binärwerte 00, 10, 01 und
11 sind, und daß ein Signal aus der Vergleichsschaltung 42 der
Figur 2 auf einer Leitung B erscheint, womit angezeigt wird, daß jener Block in einem vom Adressen-Zuordner 40 bestimmten
Satz gerade adressiert wird. Aus der Vergleichsschaltung 42
- 22 -
609825/0643
empfängt der Vergleichswähler 82 ein Signal, von dem die das Alter bezeichnenden Bits IO der einen Eingangskierarae der Kompa
ratoren 84, 86, 88 -and 90 zugeleitet werden. Daher wird der Bi
närwert 10 mit den das Alter angebenden Bits in den Registern 74j 76, 78 und 80 verglichen. Wenn der Binärwert 10 aus dem
Vergleichswähler 82 mit dem angenommenen Binärwert 00 im Komparator
84 verglichen wird, entsteht ein Ausgangssignal, das anzeigt,
daß die das Alter angebenden Bits im Register 74 einen niedrigeren Binärwert als die vom Vergleichswähler 82 abgegebenen
Bits aufweisen, und der Addierer 92 fügt die Zahl 1 zum Inhalt
des Registers 74 hinzu.
die Bits aus dem Vergleichswähler 82 mit den das Alter angebenden Bits aus dem Register 76 verglichen werden, kann sich
eine Übereinstimmung ergeben, und unter dieser Bedingung gibt der Addierer 94 ein Signal ab, das das Register 76 auf Null
einstellt, also löscht. Der Vergleich der das Alter bezeichnenden Bits aus dem Register 78 mit den das Alter angebenden Bits
des gewählten Datenblockes im Komparator 88 bewirkt, daß der Addierer 96 zum Inhalt des Registers 78 eine Eins hinzufügt,
zumal angenommen ist, daß die Bits des Registers 78 einen kleineren Binärwert darstellen, als es beim gewählten Binärwert 10
der Fall ist.
Da die das Alter angebenden Bits aus dem Register 80 einen größeren
Binärwert als die aus der Vergleichsschaltung 42 aufweisen
609825/0643
2550333
sollen, gibt der Komparator 90 ein Signal ab, mit dessen Hilfe
zum Inhalt des Registers 80 eine Hull hinzugefügt wird. Beim
Verfolgen dieser Weiterschaltvorgänge werden die das Alter angebenden
Binärwerte 01, 00, 01 und 11 vex'wendet, von denen angezeigt
wird, daß der Block B der zuletzt in Anspruch genommene Block ist und der Block I1 während der längsten Zeitspanne nicht
benutzt, wurde.
Zusammenfassend betrachtet, bestimmen die Komparatoren 845 86,
88 und 90, ob die das Alter angebenden Bits in den Registern 74,
76, 78 und 80 größer, gleich oder kleiner als die das Alter bezeichnenden
Anzeichenbits aus dem gewählten Block des ausgesuchten Sataes sind, und die Addierer 92, 94, 96 und 98 zählen unter
den zuvor aufgezählten Bedingungen eine Null au den Bits aus den Registern 74$ 76, 78 und 80 zu, löschen diese oder addieren
eine Eins hinzu. Bei jedem Zugriff auf einen Satz werden dann die das Alter angebenden Bits des Anzeichenteils dieses
Satzes auf den neuesten Stand gebracht, um den Block in diesem Satz zu identifizieren, auf den während der längsten Zeitspanne
nicht zugegriffen wurde. Die genannten Komparatoren 84, 86, 88 und 90 sind in der USA-Patentschrift 3.293.6O3 näher erläutert.
Zur weiteren Erläuterung der Arbeitsweise der Schaltung nach der Figur 1 sei das Flußbild der Figuren 5a, 5b und 5c herangezogen.
Zu Anfang ist das Prioritätsnetzwerk 14 bereit, eingehende Anforderungssignale aus mehreren dex- Anforderung dienenden Geräten
- 24 -
609825/06A 3
2550333
anzunehmen, die an den Eingangsieifcungen 13 des Pufferspeichers
angeschlossen sind, (Block 102} Nach dem Empfang eines Anforderungssignals zum Lesen oder Schreiben wird festgestellt, ob gerade
mehrere derartige üeräte Anforderungssignale übertragen. (Block 104) Tm positiven Falle wählt das Prioritätsnetswerk 14
(Figur 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 Sehreibvorganges gesperrt. (Block 108) Das Prioritätsnetzwerk
14 sendet ein Schalbsignal au dem der Anforderung dienenden
Gerät, wodurch die Bits 09 bis 03 der angeforderten Adresse in den Adressen-Zuordner 40 und Satawähler 44 (Figuren 2 und 3)
der Anasichenteile und Pufferteile der SatKspeicher-Einheiten
24 und 26 eingeschleust warden. Gleichzeitig laufen die Bits 02 und 01 der rom anfordernden Gerät dargebotenen Adresse in den
Wortwähler 46 (F5.gur 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 Figur 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
Satζspeiehereinheit dargebotenen Adresse verglichen. (Block 116)
609825/0643
Falls sich beim Vergleich eine Übereinstimmung ergibt, wird auf
einer der aus der Vergleichsschaltung 42 austretenden Leitungen A, Β, C oder D ein Seuersignal zum Vergleichswähler 82 (Figur 4)
übermittelt, wodurch d:?e das Alter 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 Figur 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 Priori tätenetzwerk
14 angenommene Anforderung für das Lesen oder Schrei« ben bestimmt ist. (Block 122) Im Falle des Schreibens geht das
Flußbild in der Figur 5c weiter. Unter der Annahme einer Anforderung zum Schreiben wird den Satzspeicher-Einheiten 24 und 26
ein Schalt signal ü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 Figur 5c) Da sich infolge des Sehreibvorganges die in einem Datenblock des
Pufferspeichers untergebrachten Daten von denen im entsprechen den Block des Hauptspeichers unterscheiden, muß der abgeänderte
Datenblock in den Hauptspeicher eingeschrieben werden, so bald er vom Ersatz-Algorithmus für einen Ersatz ausgewählt wird. Um
eine derartige Abänderung anzuzeigen, wird das Rückschreibebit
- 20
509825/0643
des Anseic'ienwortes für den abgeänderten Datenblock gesetzt.
(Block 126} S'„'fcl:leÄl:'oh wird ein Anerkenntnissignal zum ausgesuchten
anfordernden Gerät zurückgesandt-, das die Mitteilung gibt, daß das von ihm gelieferte Batenwort in dem mit der hohen
Geschwindigkeit arbeitenden Pufferspeicher eingeschrieben ist.
Mit dem Ende dieser Folge wird das Prioritätsnetmwerk 14 freigegeben
damit es neue Anforderungssignale abtasten kann« (Block 128 der Figur 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 Blockwähler 148 der Figur 3 in den Lesedatenwähler
52 der Figur 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 Figur 5a) An dieses Gerät gibt dann die Steuerung des Pufferspeichers ein
Anerkenntnissignal ab, von dem mitgeteilt wird, daß das gewünschte Wort in seinem Leseregister vorhanden ist und aus diedem
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 Figur 5b weiterverfolgt werden* Dann gibt die Vergleichsschaltung 42 des
gerade adressierten Abschnittes auf der Leitung 6? ein Steuersignal
zu einer Steuerung 15 hin ab, die bei seinem Empfang
- 27 60 98 25/06A3
2550333
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 Vorgänge parallel nebeneinander oder auch zeitlich sich überlappend ablaufen« In der Figur 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 wird, dem
zuvor die Priorität zuerteilt wurde. Xm 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 Figur 5b) Gleichzeitig arbeitet die Schaltung der Figur 4 in der
bereits erläuterten Weise, damit der spezielle Block A, B, C,, B
in der Vergleichsschaltung 42 identifiziert wird, in dem die das Alter bezeichnenden Bits 11 vorhanden sind; es wird also der am
längsten unbenutzte Block ermittelt. Die diesem Block zugeordneten Bits der Blockadresse» des Alters und das Rtickschreibebit
werden aus dem Anaeichenteil der Satzspeichereinheit in das An-
- 28 609825/0643
zeichen-Adressenregister 64 ausgelesen und von dort zum Pufferanzeiehen-Adressenregister
66 übertragen. (Block 136)
Hiernach sendet die Steuerung 15 ein Anforderungssignal zum Lesen
an den Hauptspeieher, wodurch der Datenblock mit acht Wörtern ausgelesen wird, der durch die im Yerfehlungs-Adressenregister
62 enthaltene Adresse bezeichnet ist. (Block 138) Insbesondere wird der Inhalt des Verfehlungs-Adressenregisters 62 in
das Adressen-Register 72 des Hauptspeichers 36 eingeschleust5
in dem er aur Auswahl de3 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 dia Satzspeicher-Einheiten 2k und 26 abgegeben.(Block
IZ1X) der .Figur 5b) Hierdurch werden die acht Wörter ausgegeben»
die in dem am längsten unbenutzten Datenblock enthalten sind. Zu diesem Zweck wird die Hauptverzögerungsleitung der Steuerung
15 in Gang gesetzt, dJe in vier aufeinanderfolgenden Zeitpunkten
zyklisch durchschaltet. In jedem Zyklus wird ein Wort aus den beiden Abschnitten des Pufferspeichers über die Anzeichen-Adressenregister
64 ausgelesen und in vorübergehend festhaltende Register, nämlich die Schreibdaten-Register 68 eingegeben. Am
Ende des ersten Zyklus dieser Hauptverzögerungsleitung wird in der Steuerung 15 ein Belade-Flipflop gesetzt, wodurch angezeigt
wird} daß die ersten beiden Wörter aus den Satzspeicher-
- 29 609825/0643
Einheiten 24 und Zd au 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 der Hauptverzögerungsleitung wird ein Jn der Steuerung 15 enthaltenes Rückschrelbe-Flipflop
gesetzt,. vorausgesetzt daß das Rückschreibebit 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 der Hauptverzögerungsleitung, wenn die Wörter 7 und 8 des am längsten unbenutzten
Datenblockes gerade 3n den Hauptspeicher 36 übertragen werden,
ein Anforderungasignal zum Schreiben in den Hauptspeicher ausgegeben, das einen Eintritt des Datenblockes in die entsprechende
Adresse des Hauptspeichers bewirkt. (Block 146) Während der am längsten unbenutzte Datenblock gerade aus dem Pufferspeicher
ausgegeben und in die vorübergehend festhaltenden Register eingespeist wird, arbeitet der Hauptspeicher gerade in Abhängigkeit
von einem zeitigeren Anforderungssignal zum Lesen, 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 ausgelesenen Daten verfügbar, damit sie zu den Satz· speicher-Einheiten übermittelt werden können. Sie laufen
- 30 609825/0643
durch das Kabel 70 zu den Pufferschreibwählern 20 und Pufferschreib-Registern
22 während der vier Zyklen, die von der Hauptverzögerungsleitung innerhalb der Steuerung 15 eingestellt werdenj
die für die Schreibvorgänge vorgesehen ist·
Auch diese Hauptverzögerungsleitung setzt vier Zyklen fest. !Da ersten wird der Inhalt des Anforderungs-Adressenregisters 18
in den Abschnitt der Blockadresse des Anzeichenwortes für den Datenblock eingeschrieben, der zu einem früheren Zeitpunkt als
am längsten unbenutzter Datenblock ermittelt wurde, damit nach diesem Schreibvorgang das Anzeichenwort den zuvor nicht vorhandenen
Datenblock vorschreibt, der am Schluß der gesamten Datenübertragung im Pufferspeicher ruht. Außerdem wird während jedes
der vier Schreibzyklen das Rückschreibebit des Anzeichenwortes gelöscht, das dem neuen Datenblock gehört, was deshalb notwendig
ist, weil während des Einschreibens in den Pufferspeicher das Rückschreibebit automatisch gesetzt wird; während des Eintretens
eines Ersatzblockes besteht jedoch eine Übereinstimmung zwischen den gerade in den Pufferspeicher eingespeisten Daten
und den Daten für den im Hauptspeicher enthaltenen Datenblock· Folglich muß das Rückschreibebit bei jedem Durchgang der Hauptverzögerungsleitung
zum Schreiben in den Pufferspeicher gelöscht werden, damit beim Abschluß des Ersetzens das Rückschreibebit
für den Ersatzblock gelöscht ist, um anzuzeigen, daß dieses Wort, das im Hauptspeicher wiedergefunden wurde, einer Abänderung
unterzogen ist. Auch beim Eintritt des Ereatzblockee
. - 31 609825/0643
aus acht Wörtern in den Pufferspeicher werden die das Alter bezeichnenden
Bits in dem Ar.sseichenwori-, für den Ersafczblock auf
den neuesten Stand gebracht, damit am Schluß des Einschreibvorganges
in den Pufferspeicher die das Alter angebenden Bits für den Ersatssblock anzeigen, daß er der auletzt eingespeiste Datenblock
ist. Zur Übertragung des gewünschten Datenblockes aus acht Wörtern vom Hauptspeicher in den Pufferspeicher, zur Einspeisung
dieses Datenblockes an dem zuvor identifizierten Platz und zur Weiterschaltung der Anzeichenadresse, der das Alter bezeichnenden
Bits und aum Löschen des Rückschreibebit sei auf dae P.lußbild
der Figur 5b verwiesen. (Blöcke 148, 150 und 152)
Nachdem der Ersatsblock an dem gewünschten Platz des Pufferspeichers
eingespeist ist, gibt der Hauptspeicher ein Weiterschreibsignal
heraus, das der Steuerung 15 anzeigt, daß eine rückgeschriebene Information im Hauptspeicher abgelegt ist.. Nahezu
gleichzeitig gibt der Hauptspeicher ein Weiterleseaignal ab, das dem Pufferspeicher angibt, daß der Lesezyklus des Hauptspeichers
beendet, also die Datenübertragung zum Lesen abgeschlossen ist. (Blöcke 154 und 156)
Nach der Erzeugung des Weiterlesesignals setzt die Steuerung 15 wieder das ursprüngliche anfordernde Gerät in Gang, das zum früheren
Zeitpunkt Anlaß zur mangelnden Übereinstimmung gegeben hatte. Diesem ursprünglich anfordernden Gerät erteilt das Prioritätsnetzwerk 14 die höchste Priorität, wodurch die Vorgänge in der
609828/0643
. 33.
Reihenfolge ablaufen, wie vom entsprechenden Pu*kt in der Figur
5a an zv sehen ist. (Blöcke 122 bis 132) Es wird bestimmt, ob
das anfordernde Gerät ein Anforderungssignal zum Schreiben liefert;
im positiven Falle gehen dann die Vorgänge in der Folge gemäß der Figur 5« weiter. ICm Falle eines Arsforderungssignals
stun Lesen kann man die weiteren Vorgänge in der Figur 5a verfolgen.
(Blöcke 130 und 132)
In der Figur 6 sind Einzelheiten der Steuerung 1.5 gemäß der Figur
1 wiedergegeben. Ihre Hauptf^nktion besteht darin, die im
Pufferspeiche?· untergebrachten Daten ordnungsgemäß durch die im Hauptspeicher untergebrachten Daten sju ersetzen, wozu die folgenden
Schritte notwendig sind:
1) Im ungeradzahligen Abschnitt oder im geradzahligen
wird eine mangelnde Ütereinstimmung wahrgenommen.
2) Die Steuerung bietet ein Anforderungssignal dem Hauptspeicher
für eine nicht vorhandene Adresse an.
3) Die Steuerung entnimmt die am längsten unbenutzten Daten dem Pufferspeicher«
4) Die nicht vorhandenen Daten werden vom Hauptspeicher in den Pufferspeicher eingeschrieben, und eine nwx&t
nahende Adresse wird in den Anzeichenteil eingeschrieben.
- 33 -
609825/0643
5) Die zuvor entnommenen, am längsten "unbenutzten Daten
werden in den Hauptspei eher eingeschrieben, wenn sie
während ihres Aufenthaltes im Pufferspeicher abgeändert wurden.
6) Das ursprünglich anfordernde Gerät gewinnt wieder die Priorität und kann nun auf die gewünschten Daten im
Pufferspeicher zugreifen.
Von der Steuerung 15 werden die erforderlichen Schalt- und Befehlssignale
für das übrige System in einer derartigen Folge erzeugt, daß die zuvor aufgezählten Schritte Zustandekommen. Gemäß
der Figur 6 enthält die Steuerung mehrere Verzögerungsleitungen l6O, 162 und I64. sowie die zur Entwicklung erforderlichen, logischen
Schaltungen, Wie an sich bekannt ist, verfügt eine Verzögerungsleitung über eine endliche Impulsfortpflanzungszeitj
wenn also ein Impuls in sie eintritt, läuft er sie mit einer bekannten
Geschwindigkeit abwärts, so daß an den längs der Verzögerungsleitung
angeordneten Anzapfungen Impulse abgenommen werden können» Die nacheinander erzeugten Impulse können in den
Netzwerken des Rechenautomaten als Befehle- oder Schaltsignale
für andere Einheiten des Systems benutzt werden»
Die Ausgangsleitungen A, B, C und D der Vergleichsschaltung 42
(Figur 2) werden für den ungeradzahligen Abschnitt zu einem MQR-Glied
166 geführt, damit in dem Falle, daß die gerade vom anfordernden
Gerät gesuchte Adresse nicht mit den im Anzeichenteil
- 34 -609825/0643
des Pufferspeichers ruhenden Adressen übereinst5.mmt,
das NOR-Glied 166 ein Fehlersignal erzeugt. In ähnlicher Heise
laufen die Ausgangsleitungen A, B, C und D vom geradzahligen Abschnitt
des Pufferspeichers an einem NOR-Glied 168 zusammen, das ein Fehlersignal abgibt, wenn die angeforderte Adresse nicht mit
dem Anaeichenteil des im geradsahligen Abschnitt gewählten Satzes
tibereinstimmt. Die NOR-Glieder 166 und 168 führen ihre Signale einem ODER-Glied 170 zu; im Falle, daß die eine Eingangsklemme en-egt wird, gibt das ODER-Glied 170 ein Setzsignal an
ein Fehler-Flipflop 172 ab, dessen Set'/ausgangsklemme mit der Eingangsklemme der Verzögerungsleitung l60 verbunden ist, damit
in die letztere ein Impuls eintreten kann. Dieser Impuls läuft die Verzögerungsleitung 160 hinab und erzeugt der Reihe nach
mehrere Sehaltsignale. Insbesondere erscheint der Impuls zuerst
an einer Anzapfung 174, über die die Verknüpfungsglieder (nicht gezeigt) zwischen dem Anforderungs-Adressenregister 18 und dem
Verfehlungs-Adressenregister 62 eingeschaltet werden, damit der Inhalt in das letztere eingelassen und für eine spätere Verwendung
dort vorübergehend festgehalten wird.
Xn demselben Zeitpunkt, in dem der Pufferspeicher zur Feststellung
abgefragt wurde, ob eine angeforderte Adresse in ihm enthalten ist, arbeitete die Schaltung der Figur 4 asynchron, um zu
bestimmen, welcher der vier Datenblöcke des gewählten Satzes während der längsten zurückliegenden Zeit nicht benutzt wurde.
Da.der Impuls dann die Verzögerungsleitung 160 in einem vorgege-
609825/0643
benen Zeitabschnitt durchquert, erscheint ein Schaltsignal an
einer Anzapfung 176, von dem die Adresse des am längsten unbenutzten Blockes in das Anzeichen-Adressenregister 64 und in das
Pufferanseichen-Adressenregister 66 eingeschleust wird.
Im nächsten Augenblick ruft der die Verzögerungsleitung l60 entlang laufende Impuls ein Signal an einer Anzapfung 178 hervor,
das als Leseanforderungssignal für den Hauptspeicher dient. Auf dieses Anforderungssignal sprechen die üblichen Steuerschaltungen
des Hauptspeichers an und bewirken, daß eiu Block mit acht Wörtern von einer Startadresse, die vom Verfehlungs-Adressenregister
62 über das Adressen-Register 72 augeleitet
wird, ausgelesen wird·
Nach der Übertragung des Anforderungssignals zum Lesen zum Hauptspeicher
36 erreicht der die Verzögerungsleitung I60 durchquerende
Impuls eine Leitung 180, die ihn einem üblichen Zähler 182 zuführ.t, der dadurch auf die Zahl 3 bzw. den Binärwert 11 eingestellt
wird. Das Ausgangssignal dieses Zählers 182 bildet das Eingangssignal der Hauptverzögerungsle5.tung 162 zum Lesen des
Pufferspeichers, Wenn der Zähler 182 bis zum Binärwert 11 vorgerückt ist und anschließend hinabgeschaltet wird, entsteht ein
Impuls, der die Hauptverzögerungsleitung 162 durchläuft. Wenn im ersten Zyklus der Zähler 182 auf der Zahl 3 steht, läuft der
Impuls die Hauptverzögerungsleitung 162 entlang, wobei er eine Anzapfung 184 erregt, so daß ein Anforderungssignal zum Lesen
609825/0643
sowohl zum ungeradzahligen Abs'chnitt als auch zum geradzahligen
Abschnitt des Pufferspeichers übermittelt wird, um die Entnahme des am längsten unbenutzten Datenblockes einzuleiten. Als nächstes
tritt an einer Anzapfung 186 ein Impuls auf, der an einer Eingangsklemme eines UND-Gliedes erscheint, das jedoch nicht
eingeschaltet werden kann; dieses UND-Glied 188 leitet sonst mit Hilfe des von ihm abgegebenen Befehlssignals die Einschreibvorgänge
am Hauptspeicher ein»
Fernerhin erreicht der die Hauptverzögeningsleitung 162 durchquerende
Impuls eine Anzapfung 190, wodurch einem UND-Glied 192 das eine Eingangssignal angeleitet wird* Falls das Rückschreibebit
im Anzeichen des am längsten unbenutzten Blockes, -das im
Anzeichen-Adressenregister 64 enthalten ist, gesetzt ist, wird das UND-Glied voll geschaltet, und es setzt ein Rückschreibe-Flipflop
194. In dem Falle natürlich, daß das Rückschreibebit nicht gesetzt ist, was bedeutet, daß die dieser Adresse entsprechenden
Daten nicht geändert wurden, während sich der am längsten nicht benutzte Datenblock im Pufferspeicher befand, wird
das UND-Glied 192 in diesem Zeitpunkt nicht eingeschaltet, so daß dae Rückschreibe-Flipflop 194 gelöscht bleibt.
Wenn der die Hauptverzögerungsleitung 162 durchlaufende Impuls am Ende eine Leitung 196 erreicht, wird er zum Zähler 182 zurückgeführt,
der um die Zahl 1 abwärts geschaltet wird. Hierdurch wird wiederum ein Impuls der Eingangsklemme der Hauptver-
- 37 ~
6098 2 5/0643
zögerungsleitung l62 zugeleitet, so daß der Reihe nach wieder
Impulse an den Anzapfungen 184j 186 und 190 1JUId in der Leitung
196 erscheinen. Wenn zusätzlich die Zahl 5„m Zähler 182 von Drei
auf Zwei hinunter geschaltet wird, spricht ein Komparator 198 an, der dann über eine Leitung 200 ein Belade-Flipflop 202 setzt.
Falls während der zweiten Wiederholung der die Hauptverzögerungsleitung
162 durchlaufende Impuls an der Anzapfung 186 erscheint, wird im Setazustand des Belade-Flipflop 202 das UND-Glied 188
voll eingeschaltet, wodurch der Befehl zur Einleitung des Schreibvorganges in den Hauptspeicher erzeugt wird. Wie erinnert
sei, wird während des ersten Zyklus der Hauptverzögerungsleitung I62 der an der Anzapfung 184 erscheinende Impuls zum Lesen der
Wörter 0 und 1 des ausgewählten Blockes im ausgesuchten Satz verwendet, was von den Satzspeichereinheiten 24 und 26 über die
Pufferlese-Register 69 zum Schreibdaten-Register 68 vonstatten geht. Im zweiten Zyklus der Hauptverzögerungsleitung 162 bewirkt
das Signal an der Anzapfung 184 das Auslesen der Wörter 2 und 3 des gewählten Blockes im ausgesuchten Satz in die Schreibdaten-Register
68 des Hauptspeichers; kurz danach wird das UND-Glied 188 voll eingeschaltet, um die Übertragung zum Einschreiben
durch die Schreibdatenwähler 71 zu den Halteregistern des Hauptspeichers
36 einzuleiten.
Am Schluß des dritten Arbeitszyklus erscheint der durch die Hauptverzögerungsleitung 162 hindurchgehende Impuls in der Leitung
196, von dem der Zähler 182 auf Null hinabgeschaltet wird.
609825/0643
Die Einstellung des Zählers 182 auf Null wird von einem Komparator
204 wahrgenommen, der ein Sehaltsignal über eine Leitung
206 einem UND-Glied 208 zuleitet. Wenn zu dieser Zeit das Rückschrei.be-Flipflop
194 gesetzt ist, erscheint über eine Leitung
210 ein weiteres Schaltsignal am UND-Glied 208. Wenn schließlich ein Schreibschaltsignal über eine Leitung 212 dem UND-Glied
208 zugeleitet wird, wird es vollständig eingeschaltet und erzeugt ein Anforderungssignal sum Einschreiben in den Hauptspeicher,
von dem der zum Ersatz ausgewählte Datenblock an die Speicherplätze gebracht wird, die durch den Inhalt des Adressen-Registers
72 des Hauptspeichers festgelegt sind.
Eine vorgegebene Zeitspanne nach der Erzeugung des Anforderungssignals zum Lesen des Hauptspeichers« das an der Anzapfung 178
der Verzögerungsleitung 160 erscheint, erzeugen die Steuerschaltungen des Hauptspeichers ein Signal zur Übertragung der gelesenen
Daten, wobei die Zeitspanne zwischen dem letzteren und dem genannten Anforderungssignal so groß gewählt ist, daß die acht
Wörter des gewünschten Datenblockes ausgelesen werden können. Das zuvor bezeichnete Übertragungssignal gelangt über eine Leitung
214 zu einem weiteren Zähler 210, von dem dieser auf die Zahl 3 bzw. den Binärwert 11 eingestellt werden soll* Infolge
dieser Einstellung und des sich anschließenden Abwärtsschaltens wird eine Folge hintereinander liegender Impulse über eine Leitung
218 in die Hauptverzögerungsleitung 164 eingelassen. Bei jedem Einschreibzyklus von aus dem Hauptspeicher kommenden Daten
- 39 -6098 2 5/0643
werden von der Hauptveraogesningsleitung 164 dem ungerad- und
geradzahligen Abschnitt des Pufferspeichers die .Adresse aus dem
ursprünglich anfordernden Gerät und deren Zunahmebits 2 und 1 herangebracht. Wenn während des ersten Schreibzyklus des Pufferspeichers
der erste Impuls über die Leitung 218 in die Hauptverzögerungsleitung 164 eintritt, läuft er diese abwärts und erzeugt
an der Anzapfung 220 ein Schaltsignal, mit dessen Hilfe eine neue Adresse im Anzeichenteil der Satzspeicher-Einheiten
24 und 26 gespeichert wird. Die eingespeiste Adresse wird als zuvor verfehlende Adresse des anfordernden Gerätes aus dem Pufferanzeichen-Adressenregister
66 über die Anforderungs-Adressenwähler l6 und Anforderungs-Adressenregister 18 empfangen. Die
Anzeichenadresse wird an dem Platz des zuletzt benutzten Datenblockes eingeschrieben. Dieser jüngste Datenblock ist die am
längsten unbenutzte Adresse gewesen, die während der vier Zyklen der Hauptverzögerungsleitung 162 entlastet wurde; auf Grund der
Art der Lesezyklen werden die das Alter angebenden Anzeichenbits selbsttätig auf den Wert des neuesten Alters gebracht«
Wenn während der Zyklen ein Impuls an einer Anzapfung 222 der Hauptverzögerungsleitung I64 auftritt, wird ein Befehlssignal
erzeugt, das die aus dem Hauptspeicher ausgelesenen Daten in den passenden Platz des Pufferspeichers einschleust. In ähnlicher
Weise tritt in jedem der vier Zyklen anschließend ein Impuls an einer Anzapfung 224 der Hauptverzögerungsleitung I64
auf und löscht das Rückschreibebit. Dies ist deswegen notwendig,
40 -
609825/0643
weil der Anzeichenteil selbsttätig das Rückschreibebit stets dann setzt, wenn der ihm zugeordnete Platz des Pufferspeichers
abgeändert wird, also in ihn Daten eingeschrieben werden. Somit muß die Steuerung 15 das Rückschreibebit bei jedem Schreibvorgang
am Pufferspeicher löschen, damit nicht später eine Information in den Pufferspeicher eingespeist wird, die sich von der
unterscheidet, die aus dem entsprechenden, im Hauptspeicher enthaltenen Datenblock stammt.
Wenn im vierten Zyklus der Hauptverzögerungsleitung 164 die Wörter 7 und 8 des gewünschten Datenblockes vom Hauptspeicher
ausgelesen und in den Pufferspeicher eingebracht werden, ist der Stand des Zählers 216 bis auf Null abwärts geschaltet, was
von einem Komparator 226 wahrgenommen wird, der ein den letzten Durchlauf angebendes Flipflop 228 setzt. Die Setzausgangsklemme
des letzteren ist am Prioritätsnetzwerk 14 angeschlossen, damit dieses angewiesen wird, am Ende des letzten Zyklus der Hauptverzögerungsleitung
I64 weitere äußere, anfordernde Geräte einzuschalten. Das Ende dieses letzten Zyklus wird auch von einem
UND-Glied 230 wahrgenommen, dessen eines Eingangssignal vom Komparator 226 herankommt,und dessen anderes Eingangssignal der
Impuls an der Anzapfung 232 der Hauptverzögerungsleitung I64 ist. Das Ausgangssignal des UND-Gliedes 230, das nach dem letzten
Durchlauf eines Impulses durch die Hauptverzögerungsleitung 164 auftritt, löscht alle Flipflops in der Steuerung 15 der Figur
6, die eine Information über den Fehlerzyklus enthält.
- 41 -
609825/0643
Am Schluß der vier Arbeitszyklen der Hauptverzögerungsleitung 164 sind also das Flipflop 228, das nach dem letzten Durchlauf
gesetzt wird, das Belade-Flipflop 202 und das Fehler-Flipflop 172 gelöscht., während das Prioritätsnetzwerk 14 das ursprünglich
anfordernde Gerät wieder in Betrieb nimmt und ihm die höchste
Priorität gewährt. Infolgedessen kann sü die neuen gespeicherten
Daten aus dem Pufferspeicher zur Erfüllung der früheren Anfox'derung
auslesen.
Zusammenfassend betrachtet, ist zuvor ein Zwischenspeicher für eine begrenzte Anzahl Datenblöcke aus einem Hauptspeicher erläutert,
der etwa, wie folgt, mit hoher Geschwindigkeit arbeitet ο Wenn eine -spezielle Adresse aus einem Rechenwerk oder äußeren
Ein-/Ausgabegerät angefordert wird, wird geprüft, ob diese Adresse
im Zwischenspeicher ruht; im positiven Fall steht sie gum
Lesen oder Schreiben '/.ur Verfugung« Im negativen Falle wird ein
Datenblock im Zwischenspeicher ausgewählt und durch einen passenden Datenblock aus dem Hauptspeicher ersetzt. Während der
neue Datenblock aus dem Hauptspeicher angefordert wird, wird zugleich der bisherige, su verdrängende Datenblock auf Abänderungen
überprüft, die seit seiner ursprünglichen Entnahme aus dem Hauptspeicher erfolgt sind. Bei einer Abänderung auch nur
eines Wortes wird der bisherige Block in ein vorübergehend festhaltendes
Register eingespeist und im Hauptspeicher wiederhegestellt, während gleichzeitig der neue Datenblock in den Zwischenspeicher
eingegeben wird.
- 42 -
609825/0643
- ί
Claims (1)
- PATENTANWALTH. F. E L L M E R627 IDSTEiN
FRIEDENSSTRASSE 29/31
TELEFON: IDSTElN 8237 Jo O Γ C Π 1 ο Λζοουοοα— it. -; -Q Schaltung zur übertragung voii Jörtern in DateiiclC ;ken 3-zischen mehreren aufordernden Geräten und einem mi"o hoher Gesioiiwiaditkait; arbeitenden Pufferspeicher von niedriger Kapazität, von dem eine Teilmenge von Datenbiocken aus einem adrussierbaren Plats sines nachgcschalteten Hauptspeichers aufnehmbar ist, der eine große Kapazität und eine lange Zykluszeit besitzt, dadurch gekennzeichnet, daß eine Vergleichsschaltung (42) you den anfordernden Geräten (0, 1 und 2) herankommende Adressensignale daraufhin prüft, ob ein gewünschter Datenbiock im Pufferspeicher (24, 2o) vorhanden ist, und im negativen Fall ein Fehlersignal an eine Steuerung (15) abgibt, die denjenigen Datenblock, auf den während der längsten, zurückliegenden Zeitspanne nicht zugegriffen ist, aus dem Pufferspeicher (24, 26) in ein vorübergehend festhaltendes Register (68) und den gewünschten Datenbiock aus dem Hauptspeicher (36) zu dem Platz im Pufferspeicher (24, 26) überträgt, der durch die Adresse festgelegt ist, bei der der andere Datenblock zu dem vorübergehend festhaltenden Register (68) ausgelesen wurde, und daß von einer innerhalb der Steu-erung vorgesehenen Prüfvorrichtung feststellbar ist, ob die Daten/im vorübergehend festhaltenden Register (68) befindlichen Datenblockes während ihres Verbleibs im Pufferspeicher (24, 26) einer Abänderung unterzogen wurden, und im positiven Fall diesen Datenblock aus dem vorübergehend festhaltenden Register (68) in den Hauptspeicher (36) überträgt.2) Schaltung nach dem Anspruch !,dadurch gekennzeichnet, daß die Vergleichsschaltung (42) mit Registern (28, 32) des Anzeichenteiles der Satzspeichereinheit (24, 26) zusammenwirkt, in denen Anzeichenwörter gespeichert sind, deren eines Feld die Adresse von mehreren Datenblöcken anzeigt, die gerade in der SatzSpeichereinheit (24, 26) ruhen, und daß von der Vergleichsschaltung (42), die die Ausgangssignale des Anzeichenteiles und die Adressensignale aus einem anfordernden Gerät (0,-1 und 2) überprüft, das .Fehlersignal nur erzeugbar ist, wenn die Adressensignale nicht mit dem Feld des ausgewählten ilnzeichenwortes übereinstimmen.609825/0643'3. Schaltung nach dem Anspruch 2, dadurch g e k e η η zeichnet, daß ein weiteres Feld (Älter) des Änzeichenwortes die relative Reihenfolge angibt, in der die anfordernden Geräte (O, 1 und 2) auf die zugehörigen Datenblöcke zugegriffen haben, die vom erstenFeld dieses Anzeichenwortes vorgeschrieben sind.4. Schaltung nach dem Anspruch 3, dadurch ge kenn zeichnet, daß ein drittes Feld (¥ß) des Anzeichenwortes angibt, ob der zugeordnete Datenblock im Pufferteil (30, 34), der vom ersten Feld dieses Anzeichenwortes vorgeschrieben ist, während seines Verbleibs im Pufferteil (30, 34) abgeändert wurde.5· Schaltung nach dem Anspruch 4, dadurch gekenn zeichnet, daß das im dritten Feld (Wg) des Anzeichenwortes enthaltene 1-Bit von der innerhalb der Steuerung (15) vorgesehenen Prüfvorrichtung abtastbar ist.6. Schaltung nach dem Anspruch 5, dadurch gekennzeichnet, daß von Komparatoren (84, 86, 88) das weitere Feld (Älter) des gewählten Anzeichenwortes mit allen weiteren Feldern (Älter) der übrigen Datenblöcke vergleichbar ist und in Abhängigkeit davon, ob die letzteren größer, gleich oder kleiner als das zuerst genannte weitere Feld .(Alter) sind, um den Viert 0 vergrößerbar ist, gelöscht wird bzw. um den Wert 1 vergrößerbar ist.7. Schaltung zur Übertragung von Wörtern in Datenblöcken zwischen mehreren anfordernden Geräten, die Adressen- und Datensignale, sowie Anforderungs-Steuersignale abgeben bzw. annehmen, und einem Hauptspeicher, in dem an adressierbaren Plätzen M Sätze mit N Datenblöcken aus je P Wörtern Länge speicherbar sind, unter Zwischenschaltung eines Pufferspeichers nach dem Anspruch 1,- da durch ge-, kennzeichnet, daß der Pufferspeicher (24, 26) in den Registern (30, 34) seines Pufferteiles an adressierbären Plätzen M Sätze* mit η Datenblöcken aus je P Wörtern Länge y wobei η { N ist, und in den Registern (28, 32) seines Anzeiehenteiles M Anzeichenwörter aufnimmt,609825/0643 'die Felder von η Blockadressen zur Angabe, welche der N Datenblöcke aus einem gegebenen Satz des Hauptspeichers (36) in einem festgesetzten Zeitpunkt zusätzlich in einem entsprechenden Satz dee Puffer(teils (30, 34) ruhen, und einen Abänderungs-Anzeiger (Wg) enthalten, der angibt, ob sich die Daten in den η Datenblöcken, die durch das Feld der η Blückadressen vorgeschrieben sind, von den Dateminterscheiden, die in den entsprechenden N Datenblöcken des Hauptspeichers (36) aufbewahrt sind.8. Schaltung nach den Ansprüchen 1 und 7j <i a d u r c h gekennzeichnet, daß ein Prioritätsnetzwerk (14) die aus mehreren anfordernden Geräten (0, 1 und 2) herangeführten Anforderungs-Steuersignale auswertet und in einem vorgegebenen Zeitpunkt einem solchen Gerät (0, 1 oder 2) den Vorrang für die Übertragung der Adressensignale zum Pufferspeicher (24, 26) zuerteilt.>. Schaltung nach dem Anspruch 8, dadurch gekennzeichnet, daß eine Einrichtung (18, 40) die Adressensignale aus dem mit Vorrang anfordernden Gerät (0, 1 oder 2) auswertet und für den gewünschten Satz ein Anzeichenwor.t aus dem Pufferspeicher (24, .26) ausliest.10. Schaltung nach dem Anspruch 1, dadurch gekennzeichnet, daß die Vergleichsschaltung (42) die Bitpermutationen des Anzeichenwortes für den gewünschten Satz und die Adressensignale aus dem mit Vorrang anfordernden Gerät (0, 1 oder 2) auswertet und ein Fehlersignal erzeugt, wenn die η Datenblöcke des gewünschten Satzes nicht denjenigen der N Datenblöcke aus dem entsprechenden Satz des Hauptspeichers (36) enthalten.11. Schaltung nach dem Anspruch 10, dadurch gekennzeichnet, daß das Fehlersignal aus der Vergleichsschaltung (42) der Steuerung (15) zuführbar ist, die einen der η Datenblöcke aus dem gewünschten Satz des Pufferspeichers (24, 26) zum Ersatz durch einen der N Datenblöcke des Hauptspeichers (36) auswählt.609825/064312. Schaltung nach dem Anspruch 7, dadurch gekenn zeichnet, daß eine den Abänderungs-Änzeiger (Wg) auswertende Vorrichtung in dem Falle, daß der Abänderungs-Anzeiger eine vorgegebene binäre Bedeutung aufweist, den Hauptspeicher (36) zur Aufnahme eines der η Datenblöcke veranlaßt, der zwecks Ersatz bei der Adresse ausgewählt ist, die durch die Adressensignale aus dem mit Vorrang anfordernden Gerät vorgeschrieben ist.13. Schaltung nach dem Anspruch 3, dadurch gekennzeichnet, daß die in den Registern (28, 32) des Anzeichenteiles untergebrachten Anzeichenwörter η das Alter angebende Felder zur ständigen Anzeige der relativen Reihenfolge enthalten, in der ein anforderndes Gerät (O, 1 oder Z) auf die η Datenblöcke des Pufferteiles zugegriffen hat.Schaltung nach dem Anspruch 13,dadurch gekenn zeichnet, daß die η das Alter angebenden Felder ihren Inhalt an die Steuerung (15) aur Auswahl desjenigen der η Datenblöcke in einem gegebenen Satz abgeben, auf den während der am längsten zurückliegenden Zeitspanne von einem anfordernden Gerät (0, 1 oder 2) nicht zugegriffein ist.6098 2 5/0643Leers
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 true DE2550339A1 (de) | 1976-06-16 |
DE2550339C2 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 |
US4323968A (en) * | 1978-10-26 | 1982-04-06 | International Business Machines Corporation | Multilevel storage system having unitary control of data transfers |
CA1123964A (en) * | 1978-10-26 | 1982-05-18 | Anthony J. Capozzi | Integrated multilevel storage hierarchy for a data processing 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 |
GB2037039B (en) * | 1978-12-11 | 1983-08-17 | Honeywell Inf Systems | Cache memory system |
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 |
DE3574421D1 (en) * | 1984-08-10 | 1989-12-28 | Siemens Ag | Circuit arrangement for classifying in order of priority and for recording individual memory sections or banks using the lru algorithm |
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 |
US5097409A (en) * | 1988-06-30 | 1992-03-17 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
US4939641A (en) * | 1988-06-30 | 1990-07-03 | 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 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム |
JPH10509819A (ja) | 1994-10-14 | 1998-09-22 | シリコン グラフィックス インク. | インターリーブされるキャッシュメモリアレイのインデッキシングとマルチプレキシング |
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 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3243781A (en) | 1961-10-06 | 1966-03-29 | Sperry Rand Corp | Digital communication system |
US3275991A (en) * | 1962-12-03 | 1966-09-27 | Bunker Ramo | Memory system |
US3581291A (en) * | 1968-10-31 | 1971-05-25 | Hitachi Ltd | Memory control system in multiprocessing system |
DE2246405A1 (de) * | 1971-09-25 | 1973-04-12 | Ibm | Speichersystem |
DE2241257B2 (de) * | 1971-08-25 | 1974-01-03 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitende Anlage |
DE2240433B2 (de) * | 1971-08-25 | 1974-10-10 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | |
DE2415900A1 (de) * | 1973-04-04 | 1974-10-31 | Sperry Rand Corp | Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen |
DE2233193C3 (de) * | 1971-07-28 | 1975-04-24 | Hewlett-Packard Co., Palo Alto, Calif. (V.St.A.) | Stapel-Speichersystem |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE629069A (de) * | 1962-03-05 | |||
US3569938A (en) * | 1967-12-20 | 1971-03-09 | Ibm | Storage manager |
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 |
-
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 SE SE7512524A patent/SE411404B/sv not_active IP Right Cessation
- 1975-11-07 IT IT29118/75A patent/IT1049044B/it active
- 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
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3243781A (en) | 1961-10-06 | 1966-03-29 | Sperry Rand Corp | Digital communication system |
US3275991A (en) * | 1962-12-03 | 1966-09-27 | Bunker Ramo | Memory system |
US3581291A (en) * | 1968-10-31 | 1971-05-25 | Hitachi Ltd | Memory control system in multiprocessing system |
DE2233193C3 (de) * | 1971-07-28 | 1975-04-24 | Hewlett-Packard Co., Palo Alto, Calif. (V.St.A.) | Stapel-Speichersystem |
DE2241257B2 (de) * | 1971-08-25 | 1974-01-03 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | Datenverarbeitende Anlage |
DE2240433B2 (de) * | 1971-08-25 | 1974-10-10 | International Business Machines Corp., Armonk, N.Y. (V.St.A.) | |
DE2246405A1 (de) * | 1971-09-25 | 1973-04-12 | Ibm | Speichersystem |
DE2415900A1 (de) * | 1973-04-04 | 1974-10-31 | Sperry Rand Corp | Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen |
Non-Patent Citations (3)
Title |
---|
IBM Systems Journal, Bd. 7, No. 1, S. 15-21 * |
IBM Systems Journal, Bd.7, Nr. 1 (1968) * |
Spring Joint Computer Con- ference 1967, Aufsatz: Con- siderations in Blook-Orient Systems Design" * |
Also Published As
Publication number | Publication date |
---|---|
IT1049044B (it) | 1981-01-20 |
DE2560206C2 (de) | 1983-01-20 |
JPS6118222B2 (de) | 1986-05-12 |
FR2290710B1 (de) | 1980-04-18 |
CH607139A5 (de) | 1978-11-30 |
FR2290710A1 (fr) | 1976-06-04 |
GB1532798A (en) | 1978-11-22 |
DE2550339C2 (de) | 1982-10-14 |
SE411404B (sv) | 1979-12-17 |
US3967247A (en) | 1976-06-29 |
JPS5176936A (de) | 1976-07-03 |
SE7512524L (sv) | 1976-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2550339A1 (de) | Pufferspeicher mit sehr kurzer zykluszeit zwischen mehreren daten anfordernden einheiten und einem hauptspeicher mit ziemlich langer zykluszeit | |
DE69132195T2 (de) | System für verteilte Mehrfachrechnerkommunikation | |
DE3854481T2 (de) | Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem. | |
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE3508291C2 (de) | Datenverarbeitungssystem | |
DE2646296C3 (de) | Elektronische assoziative Mehrrechner Schaltungsanordnung mit einem modularen Aufbau | |
DE2230987C2 (de) | ||
DE4206286C2 (de) | Speicherzugriffssystem und Verfahren zum Ausgeben eines digitalen Datenstromes | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
DE2803989A1 (de) | Wahlfreie zugriffsspeichervorrichtung fuer digitale daten | |
DE2621882A1 (de) | Dynamischer digitalspeicher mit ununterbrochen umlaufendem datenfluss | |
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE2310631A1 (de) | Speicherhierarchie fuer ein datenverarbeitungssystem | |
DE2926322A1 (de) | Speicher-subsystem | |
DE2912073A1 (de) | Stapelspeicheranordnung zur kurzzeitigen speicherung von informationen bei nichtabsetzbarkeit dieser informationen in einem datenverarbeitungssystem | |
DE1191145B (de) | Elektronische Zifferrechenmaschine | |
DE1499713A1 (de) | Verfahren und Schaltungsanordnung zum Packen von Informationen in einem zyklisch umlaufenden Speicher mit wahlfreiem Zugriff zu den auf den Spuren befindlichen Speicherzellen | |
DE69321544T2 (de) | Halbleiterspeicheranordnung | |
DE2502920A1 (de) | Steueranordnung fuer den betrieb eines datenendgeraetes | |
DE69031948T2 (de) | System zur Speicherung von Daten auf FIFO-Basis | |
DE2853165A1 (de) | Anordnung zur auswahl einer speicherelementgruppe aus einer vielzahl von speicherelementgruppen in einer cachespeichereinheit | |
DE3016738A1 (de) | Verfahren zur uebertragung eines bitmusterfeldes in einen speicher und schaltungsanordnung zur ausuebung des verfahrens | |
DE2855856A1 (de) | Datenverarbeitungssystem | |
DE19843048C2 (de) | Verfahren für einen Softwarezugriffswechsel in einem Netzwerkknoten eines Telekommunikationsnetzwerkes sowie ein zum Durchführen eines solchen Verfahrens geeigneter Netzwerkknoten | |
DE10310340A1 (de) | Datenzugriffsverfahren und System mit verteiltem, gemeinsam genutzten Speicher |
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 |