DE2415900C3 - Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen - Google Patents
Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen RechenanlagenInfo
- Publication number
- DE2415900C3 DE2415900C3 DE2415900A DE2415900A DE2415900C3 DE 2415900 C3 DE2415900 C3 DE 2415900C3 DE 2415900 A DE2415900 A DE 2415900A DE 2415900 A DE2415900 A DE 2415900A DE 2415900 C3 DE2415900 C3 DE 2415900C3
- Authority
- DE
- Germany
- Prior art keywords
- block
- memory
- storage
- main memory
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Description
Die Erfindung betrifft einen digitalen Rechenautomaten
mit mehreren Rechenanlagen, deren Anzahl der Anzahl der mit ihnen direkt verbundenen, mit hoher
Geschwindigkeit arbeitenden Vorratsspeicher entspricht, die je eine beschränkte Anzahl Blöcke mit
Wörtern an ihren adressierbaren Plätzen speichern,
mit einem eine große Aufnahmefähigkeit aufweisenden Hauptspeicher mit einer längeren Zykluszeit zur
Aufnahme aller im Rechenautomaten verwendbaren Blöcke und mit einem dem Hauptspeicher zugeordneten
Zwischenspeicher, in den Zustandssteuerwörter aus jeweils einer Blockadresse zur Adressierung eines
für einen Block bestimmten Abschnittes des Hauptspeichers und aus zumindest einem Kennbit einspeisbar
sind, das die Rechenanlage bezeichnet, die den durch die Blockadresse definierten Block des Haupt-Speichers
anfordert.
Beim Bau von Rechenautomaten hat man die Vorteile erkannt, die sich-aus einem puffernden Vorratsspeicher mit einer geringen Zykluszeit ergeben, der
zwischen dem Hauptspeicher mit einer größeren Zy-
kluszeit und der verarbeitenden Rechenanlage eingeschaltet ist. Der Zweck des Vorratsspeichers ist es,
eine günstigere Anpassung zwischen dem ziemlich langsam arbeitenden Hauptspeicher und den hohen
Rechengeschwindigkeiten, der Rechenanlagen zu erreichen. In mehreren aufeinanderfolgenden Aufsätzen
von C. J. Co nti u. a. sowie J. S. Liptay in der Zeitschrift:
»IBM Systems Journal«, Band 7, Nr. 1 (1968), wird die Anwendung des Vorratsspeicher-Prinzips auf
den IBM-Rechenautomaten 360 Model 85 erläutert.
Ein weiterer Aufsatz, der sich auf die Benutzung eines Vorratsspeichers im System eines Rechenautomaten
bezieht, ist in der Zeitschrift: »Electronics« von R. M. Meade mit dem Titel: »How a Cache Memory
Enhances a Computer's Performance« am 17. Januar 1972 herausgegeben. In der US-Patentschrilr
36 99 533 ist ferner eine Anordnung erläutert, mit der die Wahrscheinlichkeit vergrößert wird, daß ein gerade
von der Rechenanlage gesuchtes Wort im Vorratsspeicher vorhanden ist.
so Diese Vorveröffentlichungen beziehen sich prinzipiell
auf den Einbau eines Vorratsspeichers in das System einer Rechenanlage. Obgleich es im Aufsatz von
R. M. Meade als wünschenswert erachtet wird, Vorratsspeicher in einem System mit mehreren Rechen-
Y-, anlagen anzuwenden, ist jedoch nicht die Art dieser
erwünschten Konstruktion erläutert.
In einem üblichen System mit mehreren Rechenanlagen tauschen zahlreiche Rechen- und Ein-/Ausgabemoduln
mit einem gemeinsamen Hauptspeicher
über passende Vorrangschaltungen und elektronische Schalter Nachrichten aus. Obwohl viele Fachleute erkannt
haben, daß der Einbau von Vorratsspeichern in ein System mit mehreren Rechenanlagen wegen der
Erhöhung des Durchsatzes erwünscht ist, so sind doch
h-, bis heute nur wenige Lösungen für diese Aufgabe vorgeschlagen
worden.
Eine Lösung ist in der Dissertation von Alan R.
Geller mit dem Titel: »A Block Transfer Memory
Design in a Multiprocessing Computer System« an der »Graduate School of Syracuse University« (Juni
1969) erläutert; bei dieser muß jedesmal, wenn ein Wort in einen im Hauptspeicher untergebrachten
Block eingeschrieben werden soll, eine Durchsuchung der Vorratsspeicher eingeleitet werden, um zu bestimmen,
ob der Block darin untergebracht ist. Im positiven Fall muß er ungültig gemacht werden, damit
gewährleistet ist, daß sich bei einem nachfolgenden Zugriff der neue, in den Vorratsspeicher zu übertragende
Block ergibt Bei dieser Lösung geht viel Zeit verloren.
Aus der US-Patentschrift 35 81 291 ist eine Steuerschaltungfür
einen Rechenautomaten mit mehreren Rechenanlagen und einem ziemlich langsam arbeitenden
Hauptspeicher van grauer Kapazität bekannt, dem über eine Wahlschaltung für jede Rechenanlage
ein schnell arbeitender Vorratsspeicher von geringer Kapazität vorgeschaltet ist. Von der Wahlschaltung
sind entsprechend einem gegebenen Vorrang die Adresse eines Blockes und seine Daten zwischen der
als vorrangig gewählten Rechenanlage ur:i dem
Hauptspeicher gegebenenfalls unter Umgehung des Vorratsspeichers übertragbar, während die entsprechende
Verbindung der anderen Rechenanlagen zum Hauptspeicher an dieser Wahlschaltung unterbrochen
ist. An der Wahlschaltung ist neben dem Hauptspeicher ein Schlüsselspeicher angeschlossen, der die Aufgabe
hat zu verhindern, daß ein Block Daten von einer Rechenanlage in den Hauptspeicher eingeschrieben
wird, wenn ein gleicher Block bereits zu einem früheren Zeitpunkt von der anderen Rechenanlage in den
der Blockadresse entsprechenden Abschnitt des Hauptspeichers eingebracht war. Zur Erfüllung dieser
Aufgabe sind die Adressen aller Blöcke, auf die im Hauptspeicher zum Auslesen bzw. Einschreiben zugegriffen
werden kann, auch im Schlüsselspeicher vorhanden, und ihnen wurde von der Steuerschaltung
je ein Kennbit zugeteilt, das diejenige Rechenanlage angibt, von dir der jeweilige Block ursprünglich in
den Hauptspeicher eingebracht war. Sobald ein neuer Block von der Rechenanlage unter Umgehung ihres
Vorratsspeichers, in dem dieser Block nicht aufgefunden wird, durch die Wahlschaltung hindurch in den
Hauptspeicher eingeschrieben werden soll, wird seine Adresse zu einem Adressenregister des Schlüsselspeichers
abgezweigt, damit das dieser Blockadresse zugeteilte Kennbit aus dem Schlüsselspeicher zu seiner
Prüfung ausgelesen wird, von welcher Rechenanlage der bei dieser Blockadres'J?. im Hauptspeicher befindliche
Block stammt, dessen Adresse zum Adressenregister des Schlüsselspeiehers abgezweigt wurde. Je
nach dem Ergebnis dieser Prüfung läuft der neue Block Daten zum Hauptspeicher weiter, oder seine
Adresse wird vom Hauptspeicher ferngehalten, damit das Einschreiben unterbleibt.
Der wesentliche Nachteil dieser bekannten Steuerschaltung ist darin zu sehen, daß mit einer zunehmenden
Kapazität und/oder Unterteilung des Hauptspei' chers in getrennt adressierbare Blöcke auch die
Kapazität des Schlüsselspeiehers anwächst. Da dem Zugriff auf den Hauptspeicher der Zugriff auf den
Schlüsselspeicher vorausgehen muß, damit das Kennhit in diesen eingeschrieben bzw. aus ihm ausgelesen
werden kann, wird mit der wachsenden Kapazität des Schlüsselspeiehers die relativ lange Zugriffszeit des
Hauptspeichers noch weiter ausgedehnt.
Der Hrfindung liegt daher die Aufgabe zugrunde,
einer Verlängerung der Zugriffszeit auf den Hauptspeicher bei dem Rechenautomaten der zur Rede stehenden
Art durch die Ausbildung des die Biockadressen mit einem Kennbit aufnehmenden Zwischenspeichers
weitgehend entgegenwirken.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst,
daß die Anzahl der Zustandssteuerwörter und damit die Kapazität des Zwischenspeichers der maximalen
Anzahl der in den Vorratsspeichern aller Rechenanlagen aufnehmbaren Blöcke entspricht.
Dieser Zwischenspeicher arbeitet als inhaltsadressierbarer Suchspeicher mit Steuerschaltungen zur
Verfolgung des Zustandes derjenigen Blöcke zusammen, deren Daten in den verschiedenen Vorratsspeiehern
untergebracht sind. Er sei auch als CACMT-Liste bezeichnet, die für jeden Block Informationen, der
in jedem der zahlreichen Vorratsspeicher ruht, einen Eingang aufweist. Gemeinsam mit den Adressen jedes
Blockes ist eine Reihe Steuerbits gespeichert, die nach ihrer Zuordnung durch die SteuerscbaUungen es der
anfordernden Einheit (einer Recherr&nlage oder einem
Ein-/Ausgabemodul) gestatten, mit dem Hauptspeicher in Verbindung zu treten, nachdem festgestellt
ist, daß das gerade zum Lesen oder Schreiben durch die anfordernde Rechenanlage gesuchte Wort nicht
im zugehörigen Vorratsspeicher zur Verfügung steht. Wenn eine Einheit des Systems Informationen anfordert,
wird zuerst auf ihren zugeordneten Vorratsspeicher zugegriffen. Falls der das gewünschte Wort
μ enthaltende Block im Vorratsspeicher vorhanden ist,
wird das Datenwort ausgelesen und unmittelbar zur Rechenanlage gesendet. Im negativen Fall wird die
CACMT-Listc abgefragt, um festzustellen, ob der gewünschte Block im Vorratsspeicher einer anderen
Rechenanlage ruht. Wenn dies der Fall ist und gewisse vorgegebene Steuerbedingungen erfüllt sind, sendet
die anfordernde Rechenanlage ein Anforderungs-Steuersignal zum Hauptspeicher und greift auf den
gewünschten Block zu. In der Zwischenzeit wird der
leere Raum in dem der anfordernden Rechenanlage zugehörigen Vorratsspeicher aufgehoben, und ein
spezielles Bit des in der CACMT-Liste enthaltenen Steuerwortes wird gesetzt, um anzuzeigen, daß der
Vorratsspeicher der anfordernden Rechenanfage ge-
rade auf den gewünschten Block wartet. Falls die ursprüngliche Suche in der CACMT-Liste ergibt, daß
der zum Lesen oder Schreiben gerade angeforderte Block nicht im Vorratsspeicher einer anderen Rechenanlage
des Systems enthalten ist, wird der ge-
wünschte Block aus dem Hauptspeicher angefordert und ein Raum für diesen Block im Vorratsspeicher
der anfordernden Rechenanlage zur Verfügung gestellt, wobei die Blockadresse in das Suchfeld des Vorratrspelehers
eingeschrieben wird. Außerdem wird ein Eingang in der CACMT-Liste vorbereitet, für die die
Adresse des Blockt!» in das Suchfeld geset.it wird; dann wird ein Anforderungsbit gcetzt, das anzeigt,
daß die Daten angefordert, aber noch nicht im Speicher eingetroffen sind,
Beim System der Erfindung ist die Arbeitsweise der CACMT-Liste, eine Kombination aus der Rechenanlage
und dem Vorratsspeicher anzuzeigen, damit ein von einer unterschiedlichen Rechenanlage abgeänderter
Datenblock ungültig gemacht wird oder die geänderten Daten der Kombination rückgespeichert
werden, wenn eine andere Rechenanlage diesen Block Informationen angefordert hat, in idealer Weise an
die Bearbeitung der Prüf- und Setzbefehle angepaßt.
Dadurch, daß je ein Vorratsspeicher allen Rechenanlagen des Systems hinzugesetzt und Hilfsmittel zur
Überwachung und Anzeige der Gegenwart oder Abwesenheit eines gewünschten Wortes oder Blockes
Informationen in einem oder mehreren von diesen "> Vorratsspeichern vorgesehen sind, kann die effektive
Zykluszeit des Hauptspeichers von normalerweise 1 bis 2 msec bis auf einen Wert im Bereich von 80 bis
200 nsec herabgesetzt werden, was von den Hilfsgrößen der Vorratsspeicher und speziellen Merkmalen "'
des Systems abhängig ist.
Dem inhaltsadressierbaren Zwischenspeicher sind Steuerschaltungen zugeordnet, damit von ihm Zustandssteuerwörter
aufbewahrt werden können, die aus Adressenbits und Steuerbits für jeden Block in i>
einem oder mehreren Vorratsspeichern untergebrachter Daten bestehen, damit schnell ermittelt werden
kann, ob ein gegebener Block von einer Rechenanlage erwünschter Informationen in einem Vorratsspeicher einer anderen Rechenanlage vorhanden ist. -"
Somit wird von ihm eine Aufzeichnung des Zustandes der Datenblöcke festgehalten, die die verschiedenen
puffernden Vorratsspeicher verlassen bzw. in diese eintreten.
Ausführungsbeispiele der Erfindung sind in der r> Zeichnung dargestellt und werden im folgenden näher
erläutert. Es »eigen
Fig. la und Ib, die zu einer Fig. 1 zusammengesetzt
werden, den Aufbau eines datenverarbeitenden Systems als Blockschaltung, in der die Erfindung an- )<>
gewendet wird,
Fig. 2 den schematischen Aufbau der in der CACMT-Liste enthaltenen Zustandssteuerwörter,
Fig. 3a, 3b und 3c, die nach Fig. 3 untereinander angeordnet werden, ein Flußdiagramm zur Veran- r>
schaulichung der Arbeitsgänge, falls sich eine der Rechenanlagen im System der Fig. 1 im Lesevorgang
befindet, und
Fig. 4a, 4b und 4c, die gemäß der Fig. 4 zusammenzustellen
sind, als Flußdiagramm die Folge der -in Arbeitsvorgänge im System der Fig. 1, wenn eine Re-
1- — I -IC* __. «4 * μ Γ t.»A*L>
·>ηπ μ»
durchführt.
In seiner einfachsten Form enthält der Rechenautomat gemäß der Fig. 1 mehrere gesonderte Rechenanlagen
2 und 4, eine entsprechende Anzahl Vorratsspeicher 6 und 8, eine CACMT-Liste 10 und einen
Hauptspeicher 12, wobei zur Vereinfachung der Darstellung die Zahl der Rechenanlagen auf 2 beschränkt
wurde, obgleich eine weit größere Anzahl zur Anwen- in
dung kommen kann, die an weiteren Öffnungen der CACMT-Liste 10 anschließbar sind. Außerdem gehören
zum Rechenautomaten dieser Art gewöhnlich mehrere Steuereinrichtungen, die die Ein-/Ausgabe-Vorgänge
zwischen den peripheren Geräten, wie Magnetband-Einheiten, Magnettrommeln, Tastaturen
usw. und dem Hauptspeicher des Systems bewirken. Obgleich sie im Blockschaltbild der Fig. 1 nicht zu
sehen sind, würden sie mit weiteren Öffnungen der CACMT-Liste 10 verbunden sein, damit die periphe- «>
ren Geräte wie eine Rechenanlage mit dem Hauptspeicher 12 Nachrichten austauschen können. Auch
den Steuereinrichtungen können Vorratsspeicher zugeordnet werden, falls sie sich für das System nützlich
erweisen. Wenn auch zu Zwecken der Erläuterung die ts
Fig. 1 nur eine Öffnung für eine Rechenanlage zu ihrem
zugeordneten Vorratsspeicher zeigt, soll daraus nicht entnommen werden, daß nur eine solche vorhanden
sein darf; in gewissen Fällen ist es erwünscht, mehrere Eingänge zwischen einer Rechenanlage und
ihrem Vorratsspeicher vorzusehen.
Die Rechenanlagen 2 und 4 weisen jeweils übliche Befehlsabfrage- und -ausführungsschaltungen (nicht
gezeigt) auf, die allgemein in der zentralen, datenverarbeitenden Einheit eines solchen Systems vorgefunden
werden. In den Rechenanlagen 2 und 4 sind je ein Adressen-Register 14, ein Datenregister 16 und
eine Steuerung 20 untergebracht, deren logische Schaltungen das sich der Bearbeitung unterziehende
Befehlswort decodieren und Befehlsschalt-Signale hervorbringen, die in anderen Abschnitten des Systems
Steuerfunktionen bewirken. Von den bistabilen Flipflopstufen des Adressen-Registers 14 werden
vorübergehend Signale festgehalten, die nach ihrer Zuordnung die Adresse im zugehörigen Vorratsspeicher
von einem Wort vorschreiben, auf das zum Lesen oder Schreiben zugegriffen werden soii. Die tatsächlichen
Daten, die in den Vorratsspeicher eingeschrieben oder aus ihm erhalten werden sollen, gehen durch
das Datenregister 16 hindurch.
Die Konstruktion der beiden Vorratsspeicher 6 und 8, die der Rechenanlage 2 bzw. 4 zugeordnet sind,
ist etwa dieselbe; ihr inhaltsadressierbarer Speicherabschnitt 22 ist vorzugsweise blockorganisiert und in
seinem Aufbau als Suchspeicher allgemein bekannt, in derii jeder Block aus zahlreichen adressierbaren
Größen oder Bitzusammenstellungen besteht (die Befehle oder Operanden sein können), und als eine
einzige Größe kombiniert und bearbeitet wird, wobei die Adresse des Blockes der Adresse der ersten Bitzusammenstellung
entsprechen kann.
In den Vorratsspeichern befinden sich zusätzlich zum inhaltsadressierbaren Speicherabschnitt 22 ein
Halteregister 24, ein Suchregister 26 und ein Datenregister 28. Das Halteregister 24 ist mit dem Adresse
nregister 14 der Rechenanlage 2 über ein Kabel 3C verbunden, das eine Parallel-Übertragung einei
Adresse aus mehreren Bits vom Adressen-Registei 14 zum Halteregister 24 zuläßt, wenn dazwischen liegende
natter (nicht gezeigt) von einem Steuersignal geschaltet sind. In ähnlicher Weise ist das Datenregister
28 der Vorratsspeicher mit dem Datenregister K der zugehörigen Rechenanlage 2 bzw. 4 durch ein Kabel
32 verbunden, das ebenfalls eine Parallel-Über
tragung eines Operanden oder Befehls zwischen die sen beiden Registern ermöglicht.
Die Vorratsspeicher 6 und 8 weisen schließlich noch eine Steuerung 34 auf, deren Schaltungen Lese
und Schreibströme hervorbringen, die das Auoleser
von Daten aus dem Speicherabschnitt 22 und die Ein speisung neuer Daten, also eines neuen Wortes in die
sen bewirken. Ferner enthält die Steuerung 34 einei Anpassungs-Detektor, von dem die An- oder Abwe
senheit eines gerade im Speicherabschnitt 22 gesuch ten Wortes angezeigt werden kann.
Zusätzlich zu diesem Detektor bestimmen weiten Schaltungen der Steuerung 34 der Vorratsspeicher
ob der Speicherabschnitt 22 gänzlich gefüllt ist, d; seine Kapazität in typischer Weise eine Konstruk
tions-Hilfsgröße darstellt. Wenn neue Blöcke In formationen in ihn eingespeist werden, wird ein Zäh
ler ausgelöst. Beim Erreichen einer vorgegebene) Zahl dient der Überlauf des Zählers als Anzeigesigna
dafür, daß keine weiteren Eingaben in den Speicher abschnitt 22 erfolgen sollen, falls nicht die zuvor ge
speicherte Information aus ihm hinaus befördert isi
Die Steuerung 20 der Rechenanlage 2 bzw. 4 ist über eine Steuerleitung 36, in der die Anforderungssignale
zum Lesen und Schreiben übertragen werden, an die Steuerung 34 des zugehörigen Vorratsspeichers
6 oder 8 angeschlossen. Eine zweite parallele Steuerleitung 38 dient der Übertragung eines Anerkenntni«signals,das
die Rechenanlage 2 bzw. 4 unterrichtet, daß die von der Rechenanlage vorgeschriebene
Anforderung erfolgt ist. Eine vollständigere Erläuterung für die Übermittlung von Anforderungssignalen und Anerkenntnissignalen zwischen untereinander
verbundenen digitalen Recheneinheiten ist in tier US-Patentschrift 32 43 781 von Ehrrnan
U. a. wiedergegeben.
In der Schaltung nach der Fig. 1 kann eine Blockadresse
in das Suchregister 26 des Vorratsspeichers eintreten, damit parallel bestimmt werden kann, ob
ein Block mit dieser Adresse im Vorratsspeicher vorhanden ist; wenn sich bei der parallelen Abtragung
eine Übereinstimmung ergibt, kann in einzigartiger Weise ein beliebiges in jenem Block enthaltenes Datenwort
adressiert und über das Datenregister 28 zur Rechenanlage übertragen werden.
Die beiden Rechenanlagen 2 und 4 und ihre zugehörigen Vorratsspeicher 6 und 8 sind mit Hilfe von
Daten- und Adressenkabeln sowie Steuerleitungen an der CACMT-Liste 10 angeschlossen, die ein den Vorrang
auswertendes Schaltnetzwerk 40 mit zahlreichen Öffnungen 0, 1, 2,...n aufweist. Die Funktion des
letzteren besteht darin, die zahlreichen, von den verschiedenen Rechenanlagen und Ein-/Ausgabe-Steuerschaltungen
des Systems eintreffenden Anforderungssignale zu prüfen und auf der Basis eines gegebenen Vorrangschemas eine einzige Einheit unter
Ausschluß aller anderen auszuwählen. Sobald der Vorrang einer gegebenen Subeinheit aus Rechenanlage
und Vorratsspeicher festgestellt ist, lenkt das Schaltnetzwerk 40 die Übertragung der Daten- und
Steuersignale zwischen den gewählten Einheiten und den übrigen Teilen der CACMT-Liste 10.
Wenn auch die Art der Steuersignale und Datenhahnen 7wisrhen rler Steuerung rip« Vnrratssneirher«
und dem Netzwerk 40 der CACMT-Liste später ausführlich erläutert wird, soll jetzt bereits auf einen Leiter
42 hingewiesen werden, der ein Blockanforderungs-Steuersignal von der CACMT-Liste 10 zur
Steuerung 34 des Vorratsspeichers 6 über die Öffnung 0 des den Vorrang auswertenden Schaltnetzwerkes
40 zurückleitet, und ein ähnlicher Leiter 44 übernimmt diese Funktion zwischen der Öffnung η
und der Steuerung 34 des Vorratsspeichers 8. Außerdem ist die Steuerung 34 der Vorratsspeicher 6 und
8 mit Hilfe von Steuerleitungen 46 und 48 an der zugehörigen Öffnung des Schaltnetzwerkes 40 angeschlossen.
Ähnliches gilt für die Halteregister 24, aus denen je ein Kabel 50 austritt, sowie für die Suchregister
26 mit einem weiteren, zum Schaltnetzwerk 40 laufenden Kabel 52. Schließlich ermöglicht ein Kabel
54 einen Datenaustausch zwischen dem Schaltnetzwerk 40 und dem Datenregister 28 der von ihm ausgewählten
Rechenanlage.
Zusätzlich zu dem den Vorrang auswertenden Schaltnetzwerk 40 weist die CACMT-Liste 10 einen
wortorientierten, inhaltsadressierbaren Speicherabschnitt 56, ein zugehöriges Suchregister 58 und ein
Datenregister 60 auf. Wie in Verbindung mit den Speicherabschnitten der Vorratsspeicher 6 und 8 erklärt
ist, gehört zum Speicherabschnitt 56 ebenfalls
eine Steuerung 62 mit einem Anpassungs-Detektor, sowie anderen logischen Schaltungen, die zur Eingabe
und zum Auslesen von Daten in bzw. aus dem Speicherabschnitt 56 benötigt werden.
Fig. 2 macht das Format der im Speicherabschnitt 56 untergebrachten Zustandssteuerwörter anschaulich.
Die Länge L dieses Speicherabschnittes 56 ist derart gewählt, daß für jeden Datenblock, der von
den Vorratsspeichern aufgenommen werden kann, ein Zustandssteuerwort einen ausreichenden Platz vorfindet.
Diese Zustandssteuerwörter weisen eine solche Zahl Adressenbits auf, daß auf einen beliebigen, im
Hauptspeicher 12 festgehaltenen Datenblock zugegriffen werden kann. Außer den Adressenbits ist eine
Anzahl Identifizierbits P0 bis Pn vorhanden, der die
Zahl der im Rechenautomaten benutzten, unabhängigen Rechenanlagen entspricht. In gleicher Weise ist
den Ein-/Ausgabe-Steuerschaltungen des Systems je ein Identifizierbit /Vo0 bis /Von innerhalb des Zustandssteuerwortes
zugeordnet. Weitere Steuerbits des letzteren sind ein GUItigkeitsbit V, ein Anforderungsbit
R und ein Änderungsbit C.
Zwischen dem Hauptspeicher 12 und dem den Vorrang auswertenden Schaltnetzwerk 40 werden die
Adresseninformationen und Daten durch Kabel 74. 76 und 78 übertragen. Von Verstärkern und Taktgebern
des Schaltnetzwerkes 40 werden diejenigen Signale erstellt, die innerhalb der CACMT-Liste ihren
Ausgang nehmen und den Eigenschaften des Hauptspeichers angepaßt sind.
Zum Hauptspeicher 12 gehören ein ziemlich umfangreicher Speicherabschnitt 66 sowie die benötigten
Adressierschaltungen 68, Informations-Übertragungsschaltungen 70 und Steuerungen 72. In der Praxis
ist der Speicherabschnitt 66 vorzugsweise ein blockorganisierter Speicher, in dem die Informationen
an adressierbaren Plätzen untergebracht sind; sobald ein Zugriff auf einen dieser Plätze, gewöhnlich auf
die erste Bitzusammenstellung des Blockes zwecks Lesen oder Schreiben erfolgt, wird auf den gesamten,
aus zahlreichen Bitzusammenstellungen oder Wörtern bestehenden Block zugegriffen. Obgleich er Ringkerne
oder ebene, dünne, ferromagnetische Filme als Speicherelemente aufweisen kann, werden für den
Speicherabschnitt 66 vorzugsweise plattierte Speicherdrähte benutzt, da sich diese wegen ihrer erheblichen
Speicherkapazität, des nichtlöschenden Lesens und ziemlich kurzer Zykluszeiten besonders eignen.
Ein magnetischer Drahtspeicher ist für diesen Zweck in der Zeitschrift: »Computer Hardware« am 15. Februar
1971 unter dem Titel: »Plated Wire Makes its Move« und in der Zeitschrift: »Honeywell Computer
Journal«, Band 6, am 1. November 1972 unter dem Titel: »Plated Wire Memory - Its Evolution for Aerospace Utilization« näher erläutert. Die Blockgröße,
also die Anzahl der Wörter oder Bitzusammenstellungen eines Blockes hängt etwas von der getroffenen
Auswahl und anderen Größen des Rechenautomaten ab, wie von der Gesamtzahl der gemeinsam in den
Vorratsspeichern unterzubringenden Blöcke, der Aufnahmefähigkeit des Speicherabschnittes 56 der
CACMT-Liste 10, der Zykluszeit der Vorratsspeicher und von der Art des Ersatz-Algorithmus, der für den
Umlauf des Inhaltes der verschiedenen Vorrangspeicher angewendet wird.
Beim Zugriff auf den Hauptspeicher laufen die die Adresse angebenden Signale vom Schaltnetzwerk 40
über das Kabel 74 in die Adressier-Schaltungen 68
hinein, wo sie vorübergehend festgehalten werden; bei
Empfangeines Ubertragungbefehis auf dem Kabel 76
werden sie in den Steuerungen 72 zugeordnet, damit infolge einer Erregung von Stromtreibern der gewünschte
Datenblock durch das Kabel 78 die Datenübertragungs-Schaltungen 70 verläßt und in das
Schaltnetzwerk 40 gelangt. Wenn in ähnlicher Weise ein Block neu^r Informationen aus den Ein-/Ausgabe-Steuerschaltungen
(nicht gezeigt) oder aus einem Vorratsspeicher in den Hauptspeicher gebracht werden soll, werden die Daten wiederum in Blockform
vom Kabel 78 übertragen. Der Datenaustausch zwischen dem Hauptspeicher 12 und der CACMT-Liste
10 sowie der zwischen der letzteren und dem Vorratsspeicher 6 und 8 erfolgt auf der Blockbasis, während
der Datenaustausch zwischen einer Rechenanlage und ihrem zugehörigen Vorratsspeicher dagegen
auf der Wortbasis stattfindet. In typischer Weise kann ein Block aus 16 Wörtern und jedes Wort aus 36 Bits
aufgebaut sein. Jeder Block innerhalb eines Vorratsspeichers besitzt einen Adressen-Anzeiger, dem die
Blockadresse des Hauptspeichers entspricht, die in jener Blockposition des Vorratsspeichers zugegen ist.
Nachdem zuvor die Organisation des Systems erörtert ist, sei nun seine Arbeitsweise betrachtet.
AusderFig. 1 unddemFlußdiagrammderFig. 3a,
3 b und 3c läßt sich die Art und Weise entnehmen, in der eine gegebene Rechenanlage ein spezielles
Wort in ihrem zugehörigen Vorratsspeicher aufsuchen, also lesen kann. Zunächst sei angenommen, daß
in dem von der Rechenanlage 2 der Fig. I a durchlaufenen
Programm gefordert wird, es solle aus dem zugehörigen Vorratsspeicher 6 ein Wort herausgesucht
werden. Natürlich kann diese Art Operation auch in einer anderen Rechenanlage des Systems stattfinden.
Die Steuerung 20 ermittelt, daß gemäß dem gerade auszuführenden Befehl Daten aus einem Speicher angefordert
werden sollen, und erzeugt ein Leseanforderungs-Steuersignal,
das in die Steuerung 34 des Vorratsspeichers 6 über die Leitung 36 übertragen wird. Die im Adressen-Register 14 aufbewahrte
Adresse des gewünschten Datenwortes wird durch das Kabei 3« dem Haiieregister24 zugeieitei. Nach ihrem
Eintritt gelangen diese Adresse anzeigende Signale weiter in das Suchregister 26. Sobald die Suchkriterien
im Suchregister 26 untergebracht sind, bewirkt die Steuerung 34 eine gleichzeitige (parallele) Durchsuchung
aller im Speicherabschnitt 22 vorhandenen Blockadressen, ob dort der Block, der das gesuchte
Wort enthält, vorliegt und das der Blockadresse zugeordnete Gültigkeitsbit in seinen 1-Zustand gebracht
ist. Von den Detektoren des Speicherabschnittes 22 wird ein das Antreffen oder Vermissen angebendes
Signal erzeugt. Im Falle des Antreffens wird also angezeigt, daß der gewünschte Block im Speicherabschnitt
22 zur Verfügung steht, worauf das angeforderte Wort dieses Blockes zum Datenregister 28 hin
ausgegeben wird. Anschließend laufen diese Daten in das Datenregister 16 der Rechenanlage 2 zurück,
und ein Anerkennungssignal wird von der Steuerung 34 durch den Leiter 38 zur Steuerung 20 der Rechenanlage
7urückgeleitet. Es stellt ein Hilfsmittel dar, durch das der Rechenanlage mitgeteilt wird, daß die
gesuchten Daten übertragen worden sind.
Die zuvor erläuterte Arbeitsweise ist in der Fi g. 3 a als Bahn mit Blöcken Su 82, 84, 86, 88, 90 und 92
wiedergegeben, wobei die Annahme gemacht ist, daß der das angeforderte Wort enthaltende Block im Spei
cherabschnitt 22 des Vorratsspeichers zu der Zeit vorhanden war, als das Leseanforderungs-Steuersignal
über die Leitung 36 zu ihm herangeführt wurde. Nunmehr sei angenommen, daß der das gewünschte Wort
enthaltende Block im Vorratsspeicher fehlt und beim Abfragen des Speicherabschnittes 22 ein das Vermissen
angebendes Signal erzeugt wird. In der Fig. 5a wird dieser Fall durch eine mit Nein bezeichnete, aus
dem Block 86 austretende Bahn dargestellt, die zu einem Block 94 führt. Wenn also das gerade gesuchte
Wort im Speicherabschnitt 22 fehlt, muß es natürlich im Hauptspeicher 12 aufgesucht werden. Da jede Datenübertragung
über den zugeordneten Vorratsspeicher 6 erfolgen soll, wird geprüft, ob der Speicherabschnitt
22 gefüllt ist, damit im positiven Falle ein Raum verfügbar gemacht werden kann, in den der
Block hineinpaßt, der das gewünschte, aus dem Hauptspeicher 12 zu empfangende Wort enthält. Bei
dieser Prüfung wird der Speicherabschnitt 22 des Vorratsspeichers,
der der anfordernden Rechenanlage zugeordnet ist, darauf untersucht, ob in einem beliebigen
Blockadressen-Register das Gültigkeitsbit K=O ist, was einen ungültigen Block bedeutet. Hierbei werden
alle Bits im Suchregister 26 mit Ausnahme des am äußeren Ende, als des Bits V1 ausgeblendet (abgeschirmt),
und dann erfolgt eine parallele Durchsuchung der Blockadressen. Von einem in einer speziellen
Leitung auftretenden Signal wird angezeigt, daß das Gültigkeitsbit V bei jener Blockadresse null ist
und der mit dieser Adresse versehene Block keine Gültigkeit besitzt und somit ersetzt werden kann.
Diese Folge von Vorgängen geben Blöcke 94, 96 und 98 der Fig. 3a an.
Falls die Prüfung ergibt, daß kein Gültigkeitsbit V der Blockadressen null ist, muß die Entscheidung getroffen
werden, welcher Block zur Schaffung des Raumes beseitigt werden soll. Mehrere Lösungen stehen
für diese Entscheidung zur Verfügung. Für die Folge von Schritten, die durch die Steuerungen des Vorrats-Speichers
zum Ausfindigmachen eines freizumachenden Raumes zur Anwendung kommen, wird der Begriff
»Ersatz-Algorithmus« benutzt. Beispielsweise kann derjenige Bipck, der am längsten im Vorraisspeicher
ohne Abänderung verweilt hat, für den Ersatz ausgesucht werden. Bei einem anderen Schema
können die verschiedenen Datenblöcke des Vorratsspeichers unter Mitwirkung von Eingaben in eine Tätigkeitsliste
entsprechenden Blöcken des Hauptspeichers zugeordnet werden. Die Liste wird unter dem
Gesichtspunkt geordnet, daß der Block, auf den zuletzt vom Programm der Rechenanlage zugegriffen
wurde, stets an den Anfang der Liste gesetzt wird. Infolgedessen gelangen die Eingaben in der Tätigkeitsliste,
die sich auf Blöcke beziehen, auf die weniger zugegriffen wird, an den Schluß. Sobald der gewünschte
Block nicht im Vorratsspeicher vorgefunden wird und dieser bereits gefüllt ist, wird der Block, auf
den zuvor während der längsten Zeit nicht zugegriffen wurde, unterdrückt.
Um den Ersatz-Algorithmus durch Geräte zu verwirklichen, kann in der Steuerung 34 des Vorratsspeichers
auch ein /η-stufiger Zähler vorgesehen sein, wobei 2m gleich oder größer als die Aufnahmefähigkeit
für die Blöcke des Vorratsspeichers ist. Jedesmal, wenn ein neuer Block Informationen eingelassen und
seine zugehörige Adresse eingeschrieben wird, rückt der Zähler um einen Schritt vor, so daß man sagen
kann, daß der Inhalt des m-stufigen Zählers ein An-
zeigewort bildet, das den zu ersetzenden Block im
Vorratsspeicher stets identifiziert. Wenn bei der Suche nach den Gü't'.gkeitsbits ein ungültiger Block für den
l;rsatz nicht angezeigt werden kann, wird das Anzeigewort überprüft und der von ihm identifizierte Block "·
zum Ersatz ausgewählt. Ein solcher Ersatz erfolgt tatsächlich in der Weise, daß die Adresse des vom Anzeigewort
identifizierten Blockes in das Suchregister 26 eingelassen und das Gültigkeitsbit V dieser Blockadresse
gelöscht wird. Das Anzeigewort wird dadurch l(l
auf dem neuesten Stand gehalten, daß zur vorherigen Zahl des m-stufigen Zählers der Wert +1 während
der Zeitspanne addiert wird, in der der neue Block gerade in den von der vorherigen Zahl festgelegten
Zwischenraum eingegeben wird (Block 100 der r>
Fig. 3a).
Als nächstes muß ermittelt werden, ob das Änderungsbit C der Blockadresse für den zu verwerfenden
Block gesetzt ist; hierdurch wird angezeigt, daß ein oder mehrere Inrormationswörter dieses Blockes ge- -'"
genüber denjenigen abgeändert sind, die im entsprechenden
Block des Hauptspeichers vorliegen. Sobald festgestellt ist, daß das Änderungsbit für den Block
im Vorratsspeicher gesetzt ist, gibt die anfordernde Rechenanlage unmittelbar ein Schreibanforderungs- r>
Steuersignal an den Hauptspeicher ab, um diesen Block des Hauptspeichers auf den neuesten Stand zu
bringen. Die Art und Weise, in der der letzte Schritt durchgeführt wird, wird noch in Verbindung mit dem
Schreibvorgang erklärt. Sobald festgestellt ist, daß das Änderungsbit C nicht gesetzt ist, würde der Schritt,
eine Anforderung zum Schreiben einzuleiten, umgangen werden, wie Blöcke 102 und 104 der Fig. 3a anschaulich
machen.
Im Flußdiagramm der Fig. 3b folgt der Ermittlung r> des zu ersetzenden Blockes der Schritt gemäß einem
Block 106, in dem die Adresse des zu verwerfenden Datenblockes, die bei der Ausführung des Ersatz-Algcrithmus
ermittelt und im Suchregister 26 des Vorratsspeichers 6 festgehalten wird, in das Suchregister 4«
58 der CACMT-Liste 10 eingeschleust wird. Mit Hilfe dieser Information wird dann der Speicherabschnitt
50 abgefragt, um zu bestimmen, üb uicsci Siuck iuii
der zu beseitigenden Information sonst noch im System, z. B. in einem Vorratsspeicher, der zu einer anderen
Rechenanlage gehört, oder im Hauptspeicher 12 enthalten ist. Bei dieser Abfragung entsteht wieder
ein das Antreffen oder Vermissen angebendes Steuersignal, von denen das letztere zur Erzeugung eines
Fehlerunterbrechungssignals führt, da in Gegenwart eines Blockes in einem Vorratsspeicher notwendigerweise
ein ihm entsprechendes Zustandssteuerwort in der CACMT-Liste vorhanden sein muß. Im Falle eines
das Antreffen angebenden Signals wird das Zustandssteuerwort aus der Adresse plus Kennbits vom
Speicherabschnitt 56 in das Datenregister 60 übertragen. Die Steuerung 62 überprüft die Rechenanlagen-Identifizierbits
dieses Zustandssteuerwortes mit Hilfe eines Zuordnungs-Netzwerkes, um zu betimmen, ob
ein weiterer Vorratsspeicher, der einer anderen Re- t>o
chenanlage zugeordnet ist, den zu verwerfenden Block enthält. Diese Vorgänge sind in Blöcken 108, 110,
112 und 114 des Flußdiagramms der Fig. 3 b angegeben.
Wenn die Steuerung 62 feststellt, daß zwei oder b5
mehrere Rechenanlagen den zu beseitigenden Block enthalten (Block 116), müssen das Identifizierbit P
der Rechenanlage und das Änderungsbit C des Zustandssteuerwortes bei dieser Adresse des Speicherabschnittes
56 gelöscht werden (Block 118). Gemäß der F i g. 2 befindet sich das Identifizierbit im Kennfeld
der Zustandssteuerwörter, die im Speicherabschnitt 56 gespeichert sind,, also im Feld von P0 bis Pn ; auch
die Ein'/Ausgabe-Einrichtungen des Systems verfügen über ein Identifizierbit HO0 bis HOn in jedem
Zustandssteuerwort.
Falls die Prüfung ergibt (Block 116 der Fig. 3b),
daß der zu verwerfende Block allein im Vorratsspeicher der anfordernden Rechenaniage und in keiner
anderen enthalten ist, wird eine Eingabe des Zustandssteuerwortes in die CACMT-Liste 10 entsprechend
dem für den Ersatz ausgesuchten Block einfach dadurch ausgeschaltet, daß sein Gültigkeitsbit gelöscht
wird (Block 120). Unabhängig vom Ergebni? der Durchsicht bei den Identifizierbits der Rechenanlagen
im Zustandssteuerwort für den zu ersetzenden Block muß die neue Blockadresse, die von der anfordernden
Rechenanlage erzeugt wird (und im Schritt des Blockes 82 der Fig. 3a in das Halteregister 24
des Vorratsspeichers eingelassen war), vom letzteren zum Suchregister 26 und von dort an den ungefüllten
Platz in der Reihe der Blockadressen gebracht werden. Nach diesem Vorgang (Block 126 der Fig. 3 b)
wird der Inhalt des Halteregisters 24 des Vorratsspeichers zum Suchregister 58 der CACMT-Liste durch
das Kabel 50 übermittelt, das an der öffnung O der
CACMT-Liste 10 angeschlossen ist (Block 22 der Fig. 3b). Sobald sich diese Adresse im Suchregister
58 befindet, wird der Speicherabschnitt 56 parallel abgefragt, und es wird festgestellt, ob das Zustandssteuerwort
für den ursprünglich angeforderten Datenblock in diesem Speicherabschnitt 56 enthalten ist
(Block 124 der Fig. 3 c). Im positiven Falle ergibt ein das Antreffen anzeigendes Bit an jener Adresse eine
Übertragung des Zustandssteuerwortes zum Datenregister 60 und zur Steuerung 62.
Die Arbeitsweise der CACMT-Liste ist beim Anzeigen einer Kombination von Rechenanlage und
Vorratsspeicher, um einen von einer anderen Rechenanlage abgeänderten Block ungültig zu machen,
bzw. um seine gcänucricn Daten ι ückzuspciuici n.
wenn eine andere Rechenanlage diesen gle<hen Block angefordert hat, in idealer Weise an die Bearbeitung
von Prüf- und Setzbefehlen angepaßt. Das Änderungsbit C des Zustandssteuerwortes (Fig. 2)
wird geprüft. Falls es gesetzt ist, zeigt es der anfordernden Rechenanlage an, daß eine andere Rechenanlage
laufend Informationsänderungen in dem jenem Zustandssteuerwort zugeordneten Block bewirkt, so
daß eine Verzögerung herbeigeführt werden muß. Die anfordernde Rechenaniage muß also warten, bis der
gerade gesuchte Block von der speziellen Rechenanlage freigegeben wird, die die Änderungen dieses
Blockes herbeiführte. Die CACMT-Liste 10 signalisiert der Rechenaniage, die den Setzzustand dieses
Änderungsbit bewirkt hatte, daß eine andere Rechenaniage gerade zum Zugriff auf denselben Block auffordert,
und sie deshalb diesen Block unmittelbar in den Hauptspeicher rückspeichern und das Änderungsbit
löschen soll, damit die anfordernde Rechenanlage Gelegenheit zum Zugriff auf den geänderten
Block erhält (Blöcke 132 und 134 der Fig. 3 c).
Gemäß der bisherigen Annahme ruht das Zustandssteuerwort für den angeforderten Block in der
CACMT-Liste, so daß das Änderungsbit überprüft werden konnte. Falls das Durchsuchen der letzteren
ergibt, daß das Zustandssteuerwort dort nicht vorhanden ist, muß ein neues gebildet werden, was durch
eine Übertragung des Inhaltes des Suchregisters 56 an den ersten PJatz der CACMT-Liste geschieht, wo
das Gültigkeitsbit gelöscht ist. Wie erinnert sei, wurde bei der Ausführung des Schrittes gemäß dem Block
118oder 120der Fig. 3b das Gültigkeitsbit Fin mindestens einem der in der CACMT-Liste enthaltenen
Zustandssteuerwörter gelöscht. Somit ist sichergestellt, daß an zumindest einem Platz der CACMT-Liste das Gültigkeitsbit null ist. Bei der Bildung des
neuen Zustandssteuerwortes in der CACMT-Liste zur Vorbereitung des Zugriffes auf einen Block des
Hauptspeichers werden das Identifizierbit der anfordernden Rechenanlage und das Anforderungsbit R
für diesen Block gesetzt, wie als Blöcke 136 und 138 in der Fig. 3c gezeigt ist. Dadurch, daß das Anforderungsbit K im einem Block zugeordneten Zustandssteuerwort gesetzt wird, wird eine beliebige andere
anfordernde Rechenanlage des Systems unterrichtet,
daß eine erste Rechenanlage diesen Block auch schon angefordert hat und gerade auf die Ankunft des gewünschten Blockes aus dem Hauptspeicher wartet.
Unter der ursprünglichen Annahme, daß die Rechenanlage 2 die gerade anfordernde ist, wird durch
das Setzen des Identifizierbit P0 bei dieser Adresse der CACMT-Liste angezeigt, daß die anfordernde
uechenaniage gerade herangeht, diesen Block zu benutzen. A!s nächstes wird das Leseanforderungs-Steuersignal über das Kabel 76 zu den Steuerungen
72 des Hauptspeichers 12 übertragen. Mit Hilfe dieses Signais wird dem Hauptspeicher mitgeteilt, daß ein
Vorratsspeicher einen von einer Rechenanlage angeforderten Block zu empfangen wünscht, der aber nicht
im zugehörigen Vorratsspeicher vorgefunden wurde. Während das Leseanfordenings-Steuersignal über das
Kabel 76 an die Steuerungen 72 abgegeben wird, wird die im Suchregister 26 des Vorratsspeichers 6 aufbewahrte Blockadresse zu dem den Vorrang auswertenden Schaltnetzwerk 40 der CACMT-Liste 10 hindurchgelassen (Block 140 der Fig. 3c).
Sobald die Adresse des gewünschten Blockes und ein Anforderungssignal dem Hauptspeicher 12 dargeboten werden, wird der bei der vorgeschriebenen
Adresse aufbewahrte Block vom Hauptspeicher aus in das Datenregister 70 ausgelesen und von dort über
das Schaltnetzwerk 40 und das Kabel 54 zum Datenregister 28 des der anfordernden Rechenanlage zugeordneten Vorratsspeichers übertragen. Sobald dies
geschehen ist, wird in der Steuerung 34 ein Befehl erzeugt, der bewirkt, daß der neue Block aus dem
Hauptspeicher an den richtigen Plätzen des Vorratsspeichers bei der Adresse eingeschrieben wird, die im
Suchregister 26 festgehalten wird. Somit wird der spezielle Block Daten, der das gewünschte, von der Rechenanlage angeforderte Wort enthält, vom Hauptspeicher aus dem Vorratsspeicher jener Rechenanlage
zur Verfügung gestellt. Diese Schritte sind In def Fig. 3c durch Blöcke 142 und 144 angegeben.
Nach dem Einspeisen des gewünschten Blockes in den Vorratsspeicher der anfordernden Rechenanlage
wird das Gültigkeitsbit V für diesen Block im Speicherabschnitt 22 gesetzt, und das Anforderungsbit R
(Fig. 2), das im Zustandssteuerwort des Speicherabschnittes 56 enthalten ist, muß gelöscht werden, wodurch angezeigt wird, daß der angeforderte Block aus
dem Hauptspeicher empfangen und im Speicherabschnitt 22 vorhanden ist. Fernerhin muH das Gültig-
keitsbit V in dem diesem neuen Block zugeordneten Zustandssteuerwort in der CACMT-Liste gesetzt
werden, um anderen anfordernden Rechenanlagen anzuzeigen, daß der zur Rede stehende Block gültig
ist.
Gemäß den Blöcken 150 und 152 der Fig. 3c werden die Daten vom Vorratsspeicher 6 über das Datenregister 28 und das Kabel 32 in das Datenregister 16
der anfordernden Rechenanlage 2 befördert, damit
1(1 das Datenwort bei der Ausführung des in der Rechenanlage 2 ablaufenden Programms verwendet werden
kann.
Nun seien nochmals die Steuersignale in den Steuerleitungen 46 und 48 der F i g. I betrachtet. Als der
υ Ersatz-Algorithmus des Vorratsspeichers zur Schaffung von Raum für einen neuen Block erforderlich
wurde, lief die Adresse des wegfallenden Blocks vom Suchregister 26 des Vorratsspeichers über ein Verknüpfungsglied in das Suchregister 58 der CACMT-
x Liste 10 hinein. In diesem Zeitpunkt wird ein Blockbeseitigungs-Anforderungs-Steuersignal von der
Steuerung 34 des Vorratsspeichers über die Steuerleitung 46 an die Steuerung 62 der CACMT-Liste gegeben. Nachdem der zu beseitigende Block im Vorrats-
^5 speicher gelöscht ist, unterdrückt die CACMT-Liste
das Zustandssteuerwort im Speicherabschnitt 56 oder löscht das Identifizierbit in Abhängigkeit davon, ob
zumindest eine weitere Rechenanlage jenen Block benutzte. Dann wurde es notwendig, die Adresse der
ursprünglichen Anforderung vom Halteregister 24 des Vorratsspeichers zum Suchregister 58 der CACMT-Liste zu übertragen, damit der Speicherabschnitt 56
parallel durchsucht werden konnte, ob er das Zustandssteuerwort mit der Adresse des ursprünglich
» angeforderten Blockes enthält. Gleichzeitig wird ein
Steuersignal zur Blockanforderung der CACMT-Liste von der Steuerung 34 des Vorratsspeichers 6 über die
Steuerleitung 48 zur Steuerung 62 der CACMT-Liste 10 übermittelt.
Folglich bewirken die Steuersignale in den Steuerleitungen 46 und 48 eigentlich den Einlaß der Adresseninformation in das Suchregister 58, um zur Bestimmung, ob eine Übereinstimmung mit jener Adresse
im Speicherabschnitt 56 vorhanden ist, den Vergleich
4~> einzuleiten.
Bei der anschließenden Erläuterung des Schreibvorganges ist die Annahme gemacht, daß die Rechenanlage 4 (anstatt 2) ein neues Datenwort in einen
Block einzuführen wünscht. In derselben Weise, wie
beim Lesevorgang die Rechenanlage 2 nur als Beispiel
gewählt war, soll fUr die Erörterung des Schreibvorganges die Rechenanlage 4 benutzt werden, obgleich
die Rechenanlage 2 genauso arbeiten würde.
Mit der Abgabe des Schreibanforderungs-Steuersi-
gnals in der Steuerleitung 36 wird der Schreibvorgang
der Rechenanlage 4 eingeleitet, wie in einem Block 154 der Fig. 4a angegeben ist. Hierdurch wird die
Adresse des Blockes, in dem das neue Datenwort ein· geführt werden soll, vom Adressen-Register 14 der
Mi Rechenanlage 4 zum Halteregister 24 des Vorratsspeichers und von dort zum zugehörigen Suchregister
26 befördert (Block 156). Die erste durchzuführende Prüfung (Block 158) ist die Bestimmung, ob der angeforderte Block im Vorratsspeicher 8 ruht, der der Re-
h-, chenanlage 4 zugeordnet ist. Hierbei werden die
Blockadressen des Vorratsspeichers parallel durchsucht und daraufhin geprüft, ob eine dieser Blockadressen mit derjenigen übereinsiimmt, die von der
Rechenanlage 4 in das Suchregister 26 eingespeist ist. Gleichzeitig wird das Gültigkeitsbit V bei jeder
Blockadresse mit dem Gültigkeitsbit V verglichen,
das sich im 1-Zustand innerhalb des Suchxegisters 26 befindet (Block 160 der F i g. 4 a). Im Falle, daß die
im Vorratsspeicher aufbewahrte Blockadresse in jeder Hinsicht mit den Adressen-Kriterien des Suchregisters 26 übereinstimmen sollte, aber das Gültigkeitsbit
für eine solche Blockadresse 0 (und nicht 1) ist, bedeutet dies, daß ein oder mehrere gespeicherte Wörter
nicht mehr gültig sind und ersetzt werden müssen.
Angenommen, daß der angeforderte Block sich im Vorratsspeicher befindet und sein Gültigkeitsbit eins
ist, wird vom Speicherabschnitt 22 ein das Antreffen angebendes Signal an die Steuerung 34 des Vorrats-Speichers 8 abgegeben. Sobald es von der Steuerung
erkannt ist, werden die im Datenregister 16 der Rechenanlage aufbewahrten Daten durch das Kabel 32
zum Datenregister 28 des Vorratsspeichers 8 fiberführt (Block 162 der Fig. 4a). Unter der weiteren
Steuerung der Lese-ZSchreibschaltungen der Steuerung 34 wird das neue Datenwort aus dem Datenregister 28 in den Speicberabschnitt 22 an den Platz des
Wortes innerhalb des gewählten Blockes eingeschrieben, wobei die Plätze des Wortes und Blockes durch
die Adressensignale im Suchregister 26 bezeichnet sind (Block 164 der Fig. 4a).
Nach der Eingabe eines neuen Datenwortes an seinen Platz im vorgechriebenen Block wird bestimmt,
ob das Änderungsbit C der im Suchregister 26 (FVg. la) aufbewahrten Blockadresse zuvor gesetzt
war (Block 166). Im positiven Falle ist der Schreibvorgang beendet. Ansonsten müssen dieses Änderungsbit C (Block 168) und das des Zustandssteuerwortes für diesen in der CACMT-Liste bezeichneten
Block gesetzt werden, damit einer anderen Rechenanlage oder einer anderen Ein-/Ausgabe-Steuerung,
die auf den entsprechenden Block des Hauptspeichers zugreifen will, angezeigt wird, daß er nicht mehr die
laufende Information enthält; daher muß die spezielle, für diese Abänderung verantwortliche Rechenanlage
den neuen Block in den Hauptspeicher einschreiben, damit er den anderen anfordernden Rechenanlagen
des Systems zur Verfugung steht. Gemäß den Blöcken
170(Fig. 4a), 172,174,176,178 und 180 der Fig. 4b
wird in den dort angegebenen Schritten das Änderungsbit C der Zustandssteuerwörter in der
CACMT-Liste dadurch auf den neusten Stand gebracht, daß die Adresse des Blockes vom Halteregister
24 über das Kabel 50 und das den Vorrang auswertende Schaltnetzwerk 40 in das Suchregister 58 der
CACMT-Liste überfuhrt wird. Dann wird das parallele Heraussuchen aus dem Speicherabschnitt 56 zur
Bestimmung eingeleitet, ob ein Zustandssteuerwort mit demselben Adreßteil innerhalb des Speicherabschnittes 56 wie die Adressen-Signale im Suchregister
58 vorhanden ist Im negativen Falle liegt ein Fehler vor, da gemäß dem Aufbau des Systems ein Zustandssteuerwort in der CACMT-Liste für jeden Block vorhanden sein muß, der im Vorratsspeicher ruht. Sobald
der Platz des erwünschten Zustandssteuerwortes im Speicherabschnitt 56 gefunden ist, werden die
Schreibeinblend-, die passenden Wortadressen- und Bitleitungen erregt, damit das Änderungsbit C des
vorgeschriebenen Zustandssteuerwortes (Fig. 2) gesetzt wird (Block 176 der Fig. 4b).
Als nächstes werden die Identifizicrhiis /',. P1,
l\...l\ der Rechenanlagen und / O11. I/O,. . I ()„
ι ο
der Steuereinrichtungen dieses Zustandssteuerwortes zur Bestimmung abgetastet, ob der fragliche Block im
Vorratsspeieher einer anderen anfordernden Rechenanlage des Systems vorhanden ist (Block 178). In einem solchen Fall führt die Steuerung 62 über die
Leiter 43, an die die Steuerungen 34 des Vorratsspeichers angeschlossen sind, in dem der abzuändernde
Block enthalten ist, ein Steuersignal ab, das das Ungültigkeits-Flipflop (nicht gezeigt) setzt, ein Steuersignal ab, das das Ungültigkeits-Flipflop (nicht gezeigt)
setzt, das in den vorgeschriebenen Steuerungen des Vorratsspeichers enthalten ist. Zusätzlich zu dem
Steuersignal für die Anforderung eines ungültigen Blockes empfängt der Vorratsspeicher die Adresse
des gerade geänderten Blockes über das i'.ebel 52 aus
dem Suchregister 58 der CACMT-Liste. Diese Blockadresse wird in das Suchregister 26 des passenden
Vorratsspeichers eingelassen. Dann werden die Blöcke durchsucht, und für diesen Block wird das
Gültigkeitsbit V gelöscht. Zugleich wird auch das Identifizierbit Pn der Rechenanlage in der Blockadresse der CACMT-Liste gelöscht. Daher ergibt sich
bei einer nachfolgenden Anforderung dieser Information aus der Rechenanlage η die Feststellung, daß sie
nicht im Vorratsspeicher der Rechenanlage π enthalten ist, sondern daß der Hauptspeicher ausgelesen
werden muß, um diese Information in den Vorratsspeicher η hineinzubringen.
Hiermit wird die Erläuterung des Schreibvorganges in einem Rechenautomaten mit mehreren Rechenanlagen und Vorratsspeichern beendet, wenn der abzuändernde Block im Vorratsspeicher der gerade anfordernden Rechenanlage ruht. Nunmehr seien die
zusätzlichen Arbeitsschritte beschrieben, die sich dann ergeben, falls der abzuändernde Block zu Anfang nicht im Vorratsspeicher der anfordernden Rechenanlage vorhanden ist. Gemäß der Fig. 4a laufen
die weiteren Arbeitsgänge dann auf der rechten Seite längs der Markierung »Nein« vom Block 158 aus weiter.
Wenn man die Flußdiagramme der Fig. 3 und 4 vergleicht, erkennt man die Identität der Blöcke 182
bis 234 der Fig. 4 mit den geradzahligen Blöcken 94 bis 146 der Fig. 3. Da diese Arbeitsvorgänge in Verbindung mit dem Lesevorgang bereits vollständig beschrieben sind, brauchen sie in Verbindung mit dem
Schreibvorgang nicht nochmals erläutert zu werden. Es erscheint ausreichend anzugeben, daß bei den Vorgängen der Blöcke 182 bis 188 der Fig. 4a ein Platz
im Vorratsspeicher geschaffen wird, an dem ein neuer Block aus dem Hauptspeicher eingesetzt werden
kann; in den Schritten gemäß den Blöcken 190 und 192 wird der Hauptspeicher auf den neuesten Stand
gebracht, wenn sich der zu verwerfende Block im Vorratsspeicher von seinem Gegenstück im Hauptspeicher unterscheidet; in den weiteren Schritten der
Blöcke 194 bis 206 der Fig. 4b wird das Zustandssteuerwort in der CACMT-Liste für den zu verwerfenden Block auf den neuesten Stand gebracht, um
die Aufnahme eines Ersatzzustands-Steuerwortes für den neuen, aus dem Hauptspeicher 12 herauszusuchenden Block vorzubereiten. Bei dem Vorgang gemäß dem Block 210 wird die Blockadresse des Vor
ratsspeichers ermittelt, um festzulegen, wo der neue
Block aus dem Hauptspeicher im Vorratsspeicher untergebracht werden soll; in weiteren Arbeitsschritten
gemäß den Blöcken 212 bis 228 tritt ein neues Zustandssteuerwort (Fig. 2) in die CACMT-Liste für
den neuen Block ein, der in den Vorratsspeicher eingebracht werden soll, der zur gerade anfordernden
Rechenanlage gehört; schließlich wird in den Stufen der Blöcke 230 bis 234 der neue Block aus dem
Hauptspeicher 12 über das den Vorrang auswertende Schaltnetzwerk 40 zum Datenregister 28 der anfordernden
Rechenanlage hin ausgelesen und in den Bereich des Vorratsspeichers eingeschrieben, der zu seiner
Aufnahme vorbereitet ist.
Sobald der einzuschreibende Block im Vorratsspeicher der anfordernden Rechenanlage abgelegt ist,
werden die Gültigkeits- und Änderungsbits der Blockadresse im Vorratsspeicher gesetzt, um anzugeben,
daß der betreffende Block gültig ist und bereitsteht, sich einer Änderung zu unterziehen, die ihn von
seinem Gegenstück im Hauptspeicher 12 unterschiedlich macht. Anschließend wird das Zustandssteuerwort
im Speicherabschnitt 56 der CACMT-Liste mit derselben Bbdcadresse wie der gewählte Block
im Vorratsspsicher dadurch auf den neuesten Stand
gebracht, daß das Änderungsbit C und das Gültigkeitsbit V gesetzt werden und das Anforderungsbit R
gelöscht wird, was in den Blöcken 236 und 238 der Fig. 4c gezeigt wird.
Beim Schreibvorgang wird der Inhalt des Datenregisters 16 der Rechenanlage in das Datenregister 28
des zugeordneten Vorratsspeichers eingelassen. Wenn ein Impuls auf die Schreibeinblendleitung gelegt wird,
tritt der Inhalt des Datenregisters 28 in das Wortregister ein, das von der im Suchregister 26 festghehaltenen
Adresse vorgeschrieben ist, womit die Eingabe eines adressierten Wortes innerhalb ties Blockes beendet
ist.
Beim Rechenautomaten gemäß der E. findung wird die Information im Hauptspeicher nur bei einer beabsichtigten
Änderung auf den neusten Stand gebracht, und dies auch nur dann, wenn eine andere Rechenanlage
auf jenen selben geänderten Block zugreifen will.
Hier bietet sich der Vorteil an, daß dasselbe Wort mehrere Male vor seinem Rückschreiben in den
Hauptspeicher geändert werden kann; da diese Information mehrmals abgeändert werden kann, wird
s die Notwendigkeit zusätzlicher Speicherschreibzyklen umgangen.
Eine gegebene Rechenanlage des Systems gemäß der Erfindung greift auf die CACMT-Liste zu, um zu
bestimmen, ob eine andere in ihrem Vorratsspeicher
ίο einen speziellen Block aufgenommen hat, und ob der
Block geändert wurde. Im Falle einer Änderung spricht die CACMT-Liste auf die Anforderung der
anderen Rechenanlage an und unterrichtet die Rechenünlage, in deren Vorratsspeicher dieser Block
is enthalten ist, daß er in den Hauptspeicher rückzuschreiben
ist, damit die neue anfordernde Rechenanlage die auf den neuesten Stand gebrachten Blöcke
aus dem Hauptspeicher heraussuchen kann. In jedem Fall wird die CACMT-Liste abgefragt, und die Daten
werden stets über den Hauptspeicher von Rechenanlage zu Rechenanlage übertragen. Obgleich es im ersten
Augenblick wünschenswert erscheinen mag, eine direkte Übertragung zwischen den Vorratsspeichern
zuzulassen, erweist sich dies nicht als vorteilhaft, weil zwei oder mehrere Rechenanlagen an einer derartigen
Übertragung beteiligt unci somit gebunden wären. Der
Grund für die Benutzung eines Vorratsspeichers im ersten Fall besteht darin, die Arbeitsweise im Zwischenraum
zwischen den Rechenanlagen und dem Hauptspeicher zu beschleunigen und damit den Durchsatz der Rechenanlagen zu vergrößern. Wenn
zwei oder mehrere Vorratsspeicher am Datenaustausch innerhalb des Rechenautomaten teilnehmen,
sind sie gleichzeitig beschäftigt und hindern die ihnen zugeordneten Rechenanlagen daran, Informationen
zu verarbeiten, während diese Datenübertragungen gerade stattfinden.
Hierzu 9 Blatt Zeichnungen
Claims (7)
1. Digitaler Rechenautomat mit mehreren Rechenanlagen, deren Anzahl der Anzahl der mit ihnen
direkt verbundenen, mit hoher Geschwindigkeit arbeitenden Vorratsspeicher entspricht, die je
eine beschränkte Anzahl Blöcke mit Wörtern an ihren adressierbaren Plätzen speichern, mit einem
eine große Aufnahmefähigkeit aufweisenden Hauptspeicher mit einer längeren Zykluszeit zur
Aufnahme aller im Rechenautomaten verwendbaren Blöcke und mit einem dem Hauptspeicher
zugeordneten Zwischenspeicher, in den ZustanJssieuerwörter
aus jeweils einer Blockadresse zur Adressierung eines für einen Block bestimmten
Abschnittes des Hauptspeichers und aus zumindest einem Kennbit einspeisbar sind, das die Rechenanlage
bezeichnet, die den durch die Blockadresse deffaierten Block des Hauptspeichers
anfordert, dadurch gekennzeichnet, daß die Anzahl der Zustandssteuerwörter und damit die
Kapazität des Zwischenspeichers (10) der maximalen Anzahl der in den Vorratsspeichern (6; 8)
aller Rechenanlagen (2; 4) aufnehmbaren Blöcke (O.../ΐ) entspricht.
2. Rechenautomat nach dem Anspruch 1, dadurch gekennzeichnet, daß von der Blockadresse
des in den Zwischenspeicher (10) einspeisbaren Zustandssteuerwortes gemeinsam mit dem durch
sie bezeichneten Block ein Platz desjenigen Vorratsspeichers (6 oder 8) belegb^x ist, dessen vorgeschaltete
Rechenanlage (2 oder 4) den durch die Blockadresse definierten Block des Hauptspeichers
(12) anfordert.
3. Rechenautomat nach dem Anspruch 2, dadurch gekennzeichnet, daß der zu belegende Platz
des Vorratsspeichers (6 oder 8) gemäß einem Ersatz-Algorithmus auswählbar ist, und daß der am
ausgewählten Platz vorgefundene Block gelöscht oder in den Hauptspeicher (12) übertragen wird.
4. Rechenautomat nach dem Anspruch 3, dadurch gekennzeichnet, daß für die Entscheidung
einer Löschung oder Übertragung des Blockes die Blockadresse durch ein Gültigkeitsbit (V) und/
oder ein Änderungsbit (C) ergänzt ist.
5. Rechenautomat nach den Ansprüchen 2 und 4, dadurch gekennzeichnet, daß bei einer von einer
Rechenanlage (2 oder 4) bewirkten Abänderung eines in ihrem Vorratsspeicher (6 oder 8) gespeicherten
Blockes sowohl das in diesem Vorratsspeicher (6 oder 8) vorgesehene Änderungsbit (C)
der Blockadresse als auch das Änderungsbit (C) derselben Blockadresse des in den Zwischenspeicher
(10) eingespeisten Zustandssteuerwortes gesetzt wird.
6. Rechenautomat nach den Ansprüchen 1 und 4, dadurch gekennzeichnet, daß zur Unterrichtung
der anderen Rechenanlage(n) (2 bzw. 4) die Blockadresse im Zustandssteuerwort durch das
Gültigkeitsbit (V), das Änderungsbit (C) und/ oder ein Anforderungsbit (R) ergänzt ist, das in
Vorbereitung eines Zugriffes auf den durch die Blockadresse bezeichneten Abschnitt des Hauptspeichers
(12) gesetzt und mit dem Ende des Zugriffes gelöscht wird.
7. Rechenautomat nach dem Anspruch 1, dadurch gekennzeichnet, daß die Zustandssteuerwörter
weitere Kennbits (//O0, //O1,.,. //On) enthalten,
die je einer Ein-ZAusgabe-Steuerschaltung
zugeordnet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US00347970A US3848234A (en) | 1973-04-04 | 1973-04-04 | Multi-processor system with multiple cache memories |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2415900A1 DE2415900A1 (de) | 1974-10-31 |
DE2415900B2 DE2415900B2 (de) | 1980-01-17 |
DE2415900C3 true DE2415900C3 (de) | 1981-01-29 |
Family
ID=23366091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2415900A Expired DE2415900C3 (de) | 1973-04-04 | 1974-04-02 | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen |
Country Status (6)
Country | Link |
---|---|
US (1) | US3848234A (de) |
JP (1) | JPS5063853A (de) |
DE (1) | DE2415900C3 (de) |
FR (1) | FR2224812B1 (de) |
GB (1) | GB1472921A (de) |
IT (1) | IT1013924B (de) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
US4123794A (en) * | 1974-02-15 | 1978-10-31 | Tokyo Shibaura Electric Co., Limited | Multi-computer system |
US3979726A (en) * | 1974-04-10 | 1976-09-07 | Honeywell Information Systems, Inc. | Apparatus for selectively clearing a cache store in a processor having segmentation and paging |
US3967247A (en) * | 1974-11-11 | 1976-06-29 | Sperry Rand Corporation | Storage interface unit |
US4181937A (en) * | 1976-11-10 | 1980-01-01 | Fujitsu Limited | Data processing system having an intermediate buffer memory |
US4199811A (en) * | 1977-09-02 | 1980-04-22 | Sperry Corporation | Microprogrammable computer utilizing concurrently operating processors |
US4136386A (en) * | 1977-10-06 | 1979-01-23 | International Business Machines Corporation | Backing store access coordination in a multi-processor system |
GB1601955A (en) * | 1977-10-21 | 1981-11-04 | Marconi Co Ltd | Data processing systems |
US4357656A (en) * | 1977-12-09 | 1982-11-02 | Digital Equipment Corporation | Method and apparatus for disabling and diagnosing cache memory storage locations |
US4228503A (en) * | 1978-10-02 | 1980-10-14 | Sperry Corporation | Multiplexed directory for dedicated cache memory system |
US4257097A (en) * | 1978-12-11 | 1981-03-17 | Bell Telephone Laboratories, Incorporated | Multiprocessor system with demand assignable program paging stores |
ATE16426T1 (de) * | 1979-01-09 | 1985-11-15 | Sullivan Computer | Computer mit speicher fuer mehrere gleichzeitige benutzer. |
US4264953A (en) * | 1979-03-30 | 1981-04-28 | Honeywell Inc. | Virtual cache |
US4449183A (en) * | 1979-07-09 | 1984-05-15 | Digital Equipment Corporation | Arbitration scheme for a multiported shared functional device for use in multiprocessing systems |
LU83822A1 (fr) * | 1981-12-08 | 1983-09-01 | Omnichem Sa | Derives n-(vinblastinoyl-23)d'acides amines,leur preparation et leur application therapeutique |
US4410944A (en) * | 1981-03-24 | 1983-10-18 | Burroughs Corporation | Apparatus and method for maintaining cache memory integrity in a shared memory environment |
US4445174A (en) * | 1981-03-31 | 1984-04-24 | International Business Machines Corporation | Multiprocessing system including a shared cache |
US4513368A (en) * | 1981-05-22 | 1985-04-23 | Data General Corporation | Digital data processing system having object-based logical memory addressing and self-structuring modular memory |
US4441155A (en) * | 1981-11-23 | 1984-04-03 | International Business Machines Corporation | Page controlled cache directory addressing |
US4803655A (en) * | 1981-12-04 | 1989-02-07 | Unisys Corp. | Data processing system employing a plurality of rapidly switchable pages for providing data transfer between modules |
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
US4463420A (en) * | 1982-02-23 | 1984-07-31 | International Business Machines Corporation | Multiprocessor cache replacement under task control |
US4464717A (en) * | 1982-03-31 | 1984-08-07 | Honeywell Information Systems Inc. | Multilevel cache system with graceful degradation capability |
US4561051A (en) * | 1984-02-10 | 1985-12-24 | Prime Computer, Inc. | Memory access method and apparatus in multiple processor systems |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
CA1241768A (en) * | 1984-06-22 | 1988-09-06 | Miyuki Ishida | Tag control circuit for buffer storage |
US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
US4785398A (en) * | 1985-12-19 | 1988-11-15 | Honeywell Bull Inc. | Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page |
GB8728494D0 (en) * | 1987-12-05 | 1988-01-13 | Int Computers Ltd | Multi-cache data storage system |
EP0377970B1 (de) * | 1989-01-13 | 1995-08-16 | International Business Machines Corporation | Ein-/Ausgabecachespeicherung |
JPH0348951A (ja) * | 1989-07-18 | 1991-03-01 | Fujitsu Ltd | アドレスモニタ装置 |
JPH061463B2 (ja) * | 1990-01-16 | 1994-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
US5261067A (en) * | 1990-04-17 | 1993-11-09 | North American Philips Corp. | Method and apparatus for providing synchronized data cache operation for processors in a parallel processing system |
US5278966A (en) * | 1990-06-29 | 1994-01-11 | The United States Of America As Represented By The Secretary Of The Navy | Toroidal computer memory for serial and parallel processors |
JP3236287B2 (ja) * | 1990-11-29 | 2001-12-10 | キヤノン株式会社 | マルチプロセッサシステム |
WO1992020033A1 (en) * | 1991-04-24 | 1992-11-12 | Michael Sussman | Digital document magnifier |
US5185861A (en) * | 1991-08-19 | 1993-02-09 | Sequent Computer Systems, Inc. | Cache affinity scheduler |
US5813030A (en) * | 1991-12-31 | 1998-09-22 | Compaq Computer Corp. | Cache memory system with simultaneous access of cache and main memories |
US5666515A (en) * | 1993-02-18 | 1997-09-09 | Unisys Corporation | Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address |
US6405281B1 (en) * | 1994-12-09 | 2002-06-11 | Neomagic Israel Ltd | Input/output methods for associative processor |
US6021466A (en) * | 1996-03-14 | 2000-02-01 | Compaq Computer Corporation | Transferring data between caches in a multiple processor environment |
US5960453A (en) | 1996-06-13 | 1999-09-28 | Micron Technology, Inc. | Word selection logic to implement an 80 or 96-bit cache SRAM |
US5995967A (en) * | 1996-10-18 | 1999-11-30 | Hewlett-Packard Company | Forming linked lists using content addressable memory |
US5862154A (en) * | 1997-01-03 | 1999-01-19 | Micron Technology, Inc. | Variable bit width cache memory architecture |
US6122711A (en) | 1997-01-07 | 2000-09-19 | Unisys Corporation | Method of and apparatus for store-in second level cache flush |
US6260114B1 (en) | 1997-12-30 | 2001-07-10 | Mcmz Technology Innovations, Llc | Computer cache memory windowing |
US6661421B1 (en) | 1998-05-21 | 2003-12-09 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for operation of semiconductor memory |
US6504550B1 (en) | 1998-05-21 | 2003-01-07 | Mitsubishi Electric & Electronics Usa, Inc. | System for graphics processing employing semiconductor device |
US6535218B1 (en) | 1998-05-21 | 2003-03-18 | Mitsubishi Electric & Electronics Usa, Inc. | Frame buffer memory for graphic processing |
US6559851B1 (en) | 1998-05-21 | 2003-05-06 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for semiconductor systems for graphics processing |
US6467020B1 (en) * | 2000-05-17 | 2002-10-15 | Neomagic Israel Ltd. | Combined associate processor and memory architecture |
US7475190B2 (en) * | 2004-10-08 | 2009-01-06 | International Business Machines Corporation | Direct access of cache lock set data without backing memory |
US8068114B2 (en) * | 2007-04-30 | 2011-11-29 | Advanced Micro Devices, Inc. | Mechanism for granting controlled access to a shared resource |
JP5118562B2 (ja) * | 2008-06-20 | 2013-01-16 | 株式会社東芝 | デバッグ支援装置 |
JP4650552B2 (ja) * | 2008-10-14 | 2011-03-16 | ソニー株式会社 | 電子機器、コンテンツ推薦方法及びプログラム |
US9729659B2 (en) * | 2013-03-14 | 2017-08-08 | Microsoft Technology Licensing, Llc | Caching content addressable data chunks for storage virtualization |
US10176102B2 (en) * | 2016-03-30 | 2019-01-08 | Infinio Systems, Inc. | Optimized read cache for persistent cache on solid state devices |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3339183A (en) * | 1964-11-16 | 1967-08-29 | Burroughs Corp | Copy memory for a digital processor |
US3387283A (en) * | 1966-02-07 | 1968-06-04 | Ibm | Addressing system |
JPS4731652A (de) * | 1966-02-22 | 1972-11-13 | ||
US3569938A (en) * | 1967-12-20 | 1971-03-09 | Ibm | Storage manager |
US3525081A (en) * | 1968-06-14 | 1970-08-18 | Massachusetts Inst Technology | Auxiliary store access control for a data processing system |
GB1218406A (en) * | 1968-07-04 | 1971-01-06 | Ibm | An electronic data processing system |
US3588829A (en) * | 1968-11-14 | 1971-06-28 | Ibm | Integrated memory system with block transfer to a buffer store |
US3588839A (en) * | 1969-01-15 | 1971-06-28 | Ibm | Hierarchical memory updating system |
US3699533A (en) * | 1970-10-29 | 1972-10-17 | Rca Corp | Memory system including buffer memories |
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
-
1973
- 1973-04-04 US US00347970A patent/US3848234A/en not_active Expired - Lifetime
-
1974
- 1974-03-21 IT IT42516/74A patent/IT1013924B/it active
- 1974-03-26 FR FR7410307A patent/FR2224812B1/fr not_active Expired
- 1974-04-02 DE DE2415900A patent/DE2415900C3/de not_active Expired
- 1974-04-03 JP JP49037021A patent/JPS5063853A/ja active Pending
- 1974-04-03 GB GB1476274A patent/GB1472921A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
US3848234A (en) | 1974-11-12 |
IT1013924B (it) | 1977-03-30 |
FR2224812A1 (de) | 1974-10-31 |
GB1472921A (en) | 1977-05-11 |
FR2224812B1 (de) | 1977-06-24 |
DE2415900B2 (de) | 1980-01-17 |
JPS5063853A (de) | 1975-05-30 |
DE2415900A1 (de) | 1974-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE2241257C3 (de) | Datenverarbeitende Anlage | |
DE3151745C2 (de) | ||
DE69327387T2 (de) | An einen paketvermittelten Bus gekoppelte Nachschreibsteuerungsschaltung für eine Cachespeichersteuerungsschaltung | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE1966633B2 (de) | Datenverarbeitungsanlage mit überlappter Arbeitswelse bei Verwendung eines Haupt- und Pufferspeichers | |
DE2847960A1 (de) | Speichersteuereinrichtung | |
DE3439302A1 (de) | Speichersteuerungsvorrichtung | |
DE69031297T2 (de) | Eingabewarteschlange für Speichersubsysteme | |
DE1286789B (de) | Einrichtung an einem elektronischen Ziffernrechner zum schnellen Datenaustausch zwischen der Verarbeitungseinheit und dem zentralen Speicher | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE2641722A1 (de) | Hierarchisch geordnetes speichersystem fuer eine datenverarbeitende anlage mit virtueller adressierung | |
DE2856680A1 (de) | Befehlspuffer fuer ein datenverarbeitungssystem | |
DE2912073C2 (de) | ||
DE2111642A1 (de) | Vorrichtung zum Informationsaustausch zwischen einem schnellen und einem langsamen Speicher | |
DE4114053A1 (de) | Computersystem mit cachespeicher | |
DE1524155B2 (de) | Verfahren und schaltungsanordnung zum einspeichern und oder lesen von informationen in einem speichersystem das mit mehre ren verarbeitungsei nrichtungen einer datenverarbeitungsanlage zusammenarbeitet | |
DE1774211C3 (de) | Datenspeicheranordnung für ein Datenverarbeitungssystem | |
DE3121710C2 (de) | Steuereinrichtung für einen virtuellen Speicher in einer Datenverarbeitungsanlage | |
DE1449774A1 (de) | Speichersystem mit kurzer Zugriffzeit | |
DE2355814C2 (de) | Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung | |
DE2853165C2 (de) | ||
DE2927451A1 (de) | Verfahren und vorrichtung zur gewaehrleistung der informationskohaerenz zwischen den vorspeichern und weiteren speichern eines informationsverarbeitungssystems mit mehrfachverarbeitung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
BGA | New person/name/address of the applicant | ||
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |