DE2415900C3 - Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen - Google Patents

Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen

Info

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
Application number
DE2415900A
Other languages
English (en)
Other versions
DE2415900B2 (de
DE2415900A1 (de
Inventor
Thomas Richard St. Paul Minn. Macdonald (V.St.A.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sperry Corp
Original Assignee
Sperry Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sperry Corp filed Critical Sperry Corp
Publication of DE2415900A1 publication Critical patent/DE2415900A1/de
Publication of DE2415900B2 publication Critical patent/DE2415900B2/de
Application granted granted Critical
Publication of DE2415900C3 publication Critical patent/DE2415900C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache 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)

Patentansprüche:
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.
DE2415900A 1973-04-04 1974-04-02 Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen Expired DE2415900C3 (de)

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)

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

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

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