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

Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen

Info

Publication number
DE2415900B2
DE2415900B2 DE2415900A DE2415900A DE2415900B2 DE 2415900 B2 DE2415900 B2 DE 2415900B2 DE 2415900 A DE2415900 A DE 2415900A DE 2415900 A DE2415900 A DE 2415900A DE 2415900 B2 DE2415900 B2 DE 2415900B2
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.)
Granted
Application number
DE2415900A
Other languages
English (en)
Other versions
DE2415900A1 (de
DE2415900C3 (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 Rand 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 Rand Corp filed Critical Sperry Rand 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)
  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

Die Erfindung betrifft einen digitalen Rechenauto-
Mi maten 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,
i"> 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
->(i aus jeweils einer Blockadresse zur Adressierung eines für einen Block bestimmten Abschnittes des Hauptspeichers und aus zumindest einem Kennbit cinspcisbar 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-
(Ii 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 Rechenanlage zu errei-
s, chen. In mehreren aufeinanderfolgende!! 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.
in Ein weiterer Aufsatz, der sich auf.-'ie Benutzungeines 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
r, 1972 herausgegeben. In der USA-Patentschrift 3699533 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.
,ι. Diese Vorveröfrentlichungcn 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-
,-, 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-/Ausgahemoduln mit einem gemeinsamen Hauptspeicher
,,,, über passende Voriangschaltiingcn und elektronische Schalter Nachrichten aus. Obwohl viele Fachleute erkannt haben, daß der Einbau von Vorratsspeichern in ein System mit mehreren Rcchcnanlagen wegen der Erhöhung des Durchsatzes erwünscht ist, so sind doch
,,, 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 IiIcI: »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 nachfolgendne Zugriff der neue, in den Vorratsspeicher zu übertragende Block ergibt. Bei dieser Lösung geht viel Zeit verloren.
Aus der USA-Patentschrift 3 581 291 ist eine Steuerschaltung für einen Rechenautomaten mit mehreren Rechenanlagen und einem ziemlich langsam arbeitenden Hauptspeicher von großer 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 Rcchenaniagc und dem Hauptspeicher gegebenenfalls unter Umg.hung des Vorratsspeichers übertragbar, während die entsprechende Verbindung der anderen Rechenanlagen zum Hauptspeicher an dieser Wahlschaltung unterbrochen ist. An der Wahlschaltung ist neben dem Hauptspeicherein 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 der der jeweilige Block ursprünglich in den Haupts,.eicher 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üssclspeichers abgezweigt, damit das diesci Blockadresse zugeteilte Kennbit aus dem Schliisselspeichei zu seiner Prüfung ausgelesen wird, von welcher Reihenanlage der bei dieser Blockadressc im Hauptspeicher befindliche Block stammt, dessen Adresse zum Adressenregister des Schlüsselspcichers 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 Hauptspeichers in getrennt adressierbare Blöcke auch die Kapazität des Sehlüsselspeichers anwächst. Da dem Zugriff auf den Hauptspeicher der Zugriff auf den Schlüsselspeicher vorausgehen muß, damit das Kennbit in diesen eingeschrieben bzw. aus ihm ausgelesen werden kann, wird mit der wachsenden Kapazität des Schlüsselspeicher1, die relativ lange Zugriffszeit des Hauptspeichers noch weiter ausgedehnt.
Der Erfindung lieg! taher die Aulgabe zugrunde.
einer Verlängerung der Zugriffszeit auf den Hauptspeicher bei dem Rechenautomaten der zur Rede stehenden Art durch die Ausbildung des die Blockadressen 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 Vorratsspeichern 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 tsteine Reihe Steuerbits gespeichert, die nach ihrer Zuordnung durch die Steuerschaltungen es der anfordernden Einheit (einer Rech :nanlage oder einem Ein-ZAusgabemodu!) gestatter·., mit darr. Haup: speicher 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-Liste abgefragt, um festzustellen, ob der gewünschte Block im Vorratsspeicher einer anderen Rechenanlage ruht. Wenn dies der Fall ist u:sd gev, isse 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 wrd der leere Raum in dem der anfordernden Rechenanlage zugehörigen Vorratsspeicher aufgehoben, und ein spezielles Bit des in der CAC MI-Liste enthaltenen Steuerwortes wird gesetzt, um anzuzeigen, daß der Vorratsspeicher der anfordernden Rechetianlage gerade auf den gewünschten Block wartet tails die ursprüngliche Suche in der CAC MT-LiJe ergibt, daß der zum Lesen oder Schreiben gerade angeforderte Block nicht im Vorratsspeicher einer anderen Rechenanlage des Systems enthalten ist. wird der gewünschte Block aus dem Hauptspeicher angefordert und ein Raum für diesen Block im Vorratsspeicher der anfordernden Rechenanlage zur Verfugung gestellt, wobei die Blockadresse in das Suchfeld des Voi ratsspeichers eingeschrieben wird. Außerdem wird ein Eingang in der CACMT-Liste vorbereitet für die die Adresse des Blockes in da- Suchfeld gesetzt v,ircJ; dann wird ein Anforderungsbit gesetzt, das anzeigt, daß die Daten angefordert, aber noch nicht im Speicher eingetroffen sind.
Beim System drr Erfindung ist die Arbeitsweise der CACMT-Liste, eine Kombination aus der Rechenanlage und dem Vorratsspeieher anzuzeigen, damit ein von einer unterschiedlichen Reihenanlage abgeänderter Datenblock ungültig gemacht wird oder die geänderten Daten der Kombination rückgespeichert werden, wenn eine ;,ndere Reihenanlage diesen Block Informationen angefordert hat, in idealer Weise an die Bearbeitung der Prüf- und Setzbefehle angepaßt.
Dadurch, daß je ein Vorratsspeichcr allen Recheniinlagen 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 I bis 2 msec bis auf einen Wert im Bereich von 80 bis 200 nsec herabgesetzt werden, was von den Hilfsgrö-Ben der Vorratsspeicher und speziellen Merkmalen des Systems abhängig ist.
Dem inhallsadressierbaren Zwischenspeicher sind SieiuTschaltungcn zugeordnet, damit von ihm Zustandssteuerwörter aufbewahrt werden können, die aus Adrcssennits und Steueibits für jeden Block in 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 w ird von ihm eine Aufzeichnung des Zustandcs der Datenblöcke festgehalten, die die verschiedenen pul'lernden Vorralsspcicher verlassen bzw. in diese eintreten.
Ausfuhr ungsbcispiele der Erfindungen sind in der Zeichnung dargestellt und werden im folgenden näher erläutert. Ks zeigen
I ig. 1 a und 1 b, die zu einer Fig. 1 zusammengesetzt werden, den Aufbau eines datenvcrarhcitcnden Systems als Blockschaltung, in der die Erfindung angewendet wird.
I ig. 2 den schematischen Aufbau der in der C'ACMT-Liste enthaltenen ZustandssteuerWörter.
Fig. 3a, 3h und 3c. die nach Hg. 3 untereinander angeordnet werden, ein Mußdiagramm zur Veran schaulichung der Arbeitsgänge, falls sich eine der Rechenanlagcn im System der (ig. I im l.esevorgang befindet, und
lig. 4a. 4b und 4c. die gemäß dei lig. 4 zusammenzustellen sind, als Flußdiagramm die Folge der Arbeitsvorgänge im System der Fig. 1, wenn eine Rechenanlage des Systems gerade einen Schreibvorgang 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-Listc 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 Anwendung kommen kann, die an weiteren Öffnungen der C'ACMT-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 C ACMT-Liste 10 verbunden sein, damit die peripheren 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 Fig. 1 nur eine Öffnung für eine Rechenanlage zu ihrem zugeordneten Vorratsspeicher zeigt, soll daraus nicht entnommen werden, daß nur eine solche vorbanden sein darf; in gewissen Füllen ist es erwünscht, mehrere Eingänge zwischen einer Rechcnanlage 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 Bcfchlsschalt-Signalc hervorbringen, die in anderen Abschnitten lies Systems Stcuerfunktionen bewirken. Von den bistabilen I lipflopstufcn 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 soll. Die talsächlichen Daten, die in den Vorratsspeicher eingeschrieben oder aus ihm erhalten werden sollen, gehen durch das Datenregister 16 hindurch.
Die Konstruktion der beiden Vorralsspeieher 6 und 8. die der Rechenanlage 2 bzw. 4 zugeordnet sind, ist etwa dieselbe; ihr inhaltsadressierharer Speichelabschnitt 22 ist vorzugsweise blockorganisiert und in seinem Aufbau als Suchspeicher allgemein bekannt, in dem jeder Block aus zahlreichen adressierbaren Größen oder Bit/.usammenstellungcn 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 inhaltsadressierbarcn Speicherabschnitt 22 ein Halteregister 24, ein Suchregister 26 und ein Datenregister 28. Das Haltcregister 24 ist mit dem Adressenregister 14 der Rechenanlage 2 über ein Kabel 30 verbunden, das eine Parallcl-Lbertragung einer Adresse aus mehreren Bits vom Adressen-Register 14 zum Halteregister 24 zuläßt, wenn dazwischen liegende Gatter (nicht gezeigt) von einem Steuersignal geschaltet sind. In ähnlicher Weise ist das Datenregister 28 der Vorratsspeicher mit dem Datenregister 16 der zugehörigen Rechenanlage 2 bzw. 4 durch ein Kabel 32 verbunden, das ebenfalls eine Parallel-Übertragung eines Operanden oder Befehls zwischen diesen 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 Auslesen von Daten aus dem Speicherabschnitt 22 und die Einspeisung neuer Daten, also eines neuen Wortes in diesen bewirken. Ferner enthält die Steuerung 34 einen Anpassungs-Detektor, von dem die An- oder Abwesenheit eines gerade im Speicherabschnitt 22 gesuchten Wortes angezeigt werden kann.
Zusätzlich zu diesem Detektor bestimmen weitere Schaltungen der Steuerung 34 der Vorratsspeicher, ob der Speicherabschnitt 22 gänzlich gefüllt ist, da seine Kapazität in typischer Weise eine Konstruktions-Hilfsgröße darstellt. Wenn neue Blöcke Informationen in ihn eingespeist werden, wird ein Zähler ausgelöst. Beim Erreichen einer vorgegebenen
dafür, daß keine weiteren Eingaben in den Speicherabschnitt 22 erfolgen sollen, falls nicht die zuvor gespeicherte Information aus ihm hinaus befördert ist.
Die Steuerung 20 der Rechcnanlage 2 bzw. 4 ist über eine Steucrleitung 36, in der die Anforderungssigiuile zum Lesen und Schreiben übertragen werden, im die Steuerung 34 des zugehörigen Vorratsspeichers 6 oder 8 angeschlossen. Kine zweite parallele Steuerleitung 38 dient der Übertragung eines Anerkenntnissignals, das die Rechenanlage 2 bzw. 4 unterricht«·* daß die von der Rechenanlage vorgeschriebene Anforderung erfolgt ist. Eiine vollständigere Krläuterung für die Übermittlung von Anforderungssignalcn und Ancrkcnntimsignalen /wichen untereinander veibundenen digitalen Recheneinheiten ist in der USA-Patentschrift .124.1781 von Lhiman ii. a. wiedergegeben.
In der Schaltung nach der I· ig. I kann eine lilockadresse in das Suchregister 26 des Vorratsspeicheis eintreten, damit parallel bestimmt werden kann, ob ein Block mit dieser Adresse im Vorratsspeicher vor-
r-h h,
Λ Iifr
eine Steuerung 62 mit einem Anpassungs-Detektor. sowie anderen logischen Schaltungen, die zur Hingabe 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 /. dieses Speicherabschnittes 56 ist derart gewählt, dal.! 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 Adressenhits ist eine Anzahl Identifizierhits /',, bis I'n vorhanden, der die Zahl der im Rechenautomaten benutzten, unabhängigen Rcchenanlagcn entspriiht. In gleicher Weise ist den Hin-Ausgahe-Steuerschaltungen des Systems je
.•in l.l.-ntifr.-ii>rhit J,f> UU in mti.'rhulh' /!.'>. /u-
cinc Übereinstimmung ergibt, kann in einzigartiger Weise ein beliebiges in jenem Block enthaltenes Da-Kinvort adressiert und über das Datenregister 28 zur Rechenanlage übertragen wrclen.
Die beiden Rechenanlagen 2 und 4 und ihre zugehörigen Vorratsspeicher 6 und 8 sind mit Hilfe von Daten- und Adressenkabeln sowie Stellerleitungen an der CACVI I-Liste 10 angeschlossen, die ein den Vorrang auswertendes Schaltnetzwerk 40 mit zahlreichen
Offnungen 0. 1. 2 /ι aufweist. Die Funktion des
letzteren besteht darin, die zahlreichen, von ilen verschiedenen Rechenanlagen und Fun-/ 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 Feinheiten und den übrigen Teilen der CACMT-Liste 10.
»vVnii aucii die Ari der Steuersignale uno Ddienbahnen zwischen der Steuerung des Vorratsspeichers 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 Blockanfordcrungs-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 Steuerieitungen 46 und 48 an der zugehörigen Öffnung des Schaltnetzwerkes 40 angeschlossen. Ähnliches gilt für die HaUeregister 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 mil den Speicherabschnitten der Vorratsspeicher 6 und 8 erklärt ist, gehört zum Speicherabschnitt 56 ebenfalls standssteuerwortes zugeordnet. Weitere Steuerbus des letzteren sind ein (iiiltigkeitsbit 1 . ein Anforderungshit R und ein Anderungsbit 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 Speichelabschnitt 66 sowie die benötigten Adressierschaltungen 68. Informations-Übertragungsschaltungen 70 ind 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 Bi.Zusammenstellung des Blockes zwecks Lesen oder Schreiben erfolgt, wird auf den gesamten, aus zahlreichen Bii/usammensieiiungen 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. Iiin magnetischer Drahtspeicher ist für diesen Zweck in der Zeitschrift: »Computer Hardware« am 15. Februar 1971 unter dem Titel: »Plated Wire Makes its Mc.ve« und in der Zeitschrift: »Honeywell Computer Journal«, Band 6, am 1. November 1972 unter dem Titel: »Plated Wire Memory - Hs 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; hei Empfangeines Ühertragunghefehls 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 nc.jer 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. Her Datenaustausch zwischen dem Hauptspeicher 12 und der CACM T-IJ-ste 1(1 sowie der zwischen der letzteren und dem Vorratsspeicher 6 und 8 erfolgt auf der Blockbasis, während der Datenaustausch /wischen einer Rechenanlage und ihrem zugehörigen Voi ratsspeicher 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. I und dem Flußdiagramm der Fig. 3a. 3b 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, das in dem von der Rechenanlage 2 der Fig. 1 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 Lescanforderungs-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 Kabel 30dem Halteregister 24 zugeleitet. Nach ihrem Eintritt gelangen diese Adresse anzeigenden 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 Verfugung steht, worauf das angeforderte Wort dieses Blockes zum Datenregister 28 hin eingeschleust wird. Anschließend laufen diese Daten in das Datenregister 16 der Rechenanlage 2 zurück, und ein Anerkenntnissignal wird von der Steuerung 34 durch den Leiter 38 zur Steuerung 20 der Rechenanlage mitgeteilt wird, daß die gesuchten Daten übertragen worden sind.
Die zuvor erläuterte Arbeitsweise ist in der Fig. 3 a als Bahn mit Blöcken 80, 82, 84, 86, 88, 90 und 92 wiedergegeben, wobei die Annahme gemacht ist, daß der das angeforderte Wort enthaltende Block im Speicherabschnitt 22 des Vorratsspeichers zu der Zeit vorhandcn war, als das Lcscanfordcrungs-Stcucrsignal über die Leitu.ig 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. Sa 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 df;m Hauptspeicher 12 zu empfangende Wort enthält. Bei dieser Prüfung wird der Speicherabschnitt 22 des Vorratssneichers. der der anfordernden Rechenanlage zugeordnet ist. darauf untersucht, ob in einem beliebigen Blockadressen-Register das Gültigkeitsbit V = 0 ist, was einen ungültigen Block bedeutet. Hierbei werden alle Bits im Suchregister 26 mit Ausnahme des am äußeren Ende, als des Bits V, 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 Γ der Blockadresscn 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 Vorratsspeichers zum Ausfindigmachen eines freizumachenden Raumes zur Anwendung kommen, wird der Begriff »Ersatz-Algori'hmus« benutzt. Beispielsweise kann derjenige Block, der am längsten im Vorratsspeicher 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 w-stuf iger 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 urn einen Schritt vor, so daß man sagen kann, daß der Inhalt des w-stufigen Zählers ein Anzeigewort bildet, das den zu ersetzenden Block im
Vorratsspeicher stets identifiziert. Wenn hei der Suche nach den Giilligkeitsbits ein ungültiger Block für den Ersatz nic!<t 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 auf dem neuesten Stand gehalten, daß zur vorherigen Zahl des w-stufigen Zählers der Wert + I wiihrend der Zeitspanne addiert wird, in der der neue Block gerade in den von der vorherigen Zahl festgelegten Zwischenraum eingegeben wird (Block 100 der Fig. 3a).
Als nächstes muß ermittelt werden, ob das AmIerungsbit (der Blockadresse für den zu verwerfenden Block gesetzt ist; hierdurch wird angezeigt, daß ein oder mehrere Informationswörter dieses lllnrkes υι·- genübcr denjenigen abgeändert sind, die im entsprechenden BIi -;k des Hauptspeichers vorliegen. Sobald festgestellt ist. daß das Änderungsbit für den Block im Vorratsspeichcr gesetzt ist. gibt die anfordernde Rechenanlage unmittelbar ein Sehreibanforilerungs-Steuersignal an den Hauptspeicher ah. um diesen Block des Hauptspeichers auf ilen neuesten Stand zu bringen. Die Art und Weise r. der tier letzte Sehritt durchgeführt wird, wird noch in Verbindung mit dem Sehreibvorgang 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. 3 h folgt tier Ermittlung 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-Algorithmus ermittelt und im Suchregister 26 des Vorratsspeichers 6 festgehalten wird, in das Suehregister 58 der CACMT-Liste K)eingeschleust wird. Mit Hilfe dieser information wird dann der Speicherabschnitt 56 abgefragt, um zu bestimmen, ob dieser Block mit der zu beseitigenden Information sonst noch im System, z. B. in einem Vorratsspeichcr. 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 Rechenanlage 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. 3b angegeben.
Wenn die Steuerung 62 feststellt, daß zwei oder 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 Fig. 2 befindet sich das Identifizierbit im Kennfeld der Zustandssteuerwörter. die im Speicherabschnitt 56 gespeichert sind, also im Feld von Pn bis Pn; auch die Ein-VAusgabe-Einrichtungen des Systems verfügen über ein Identifizierbit //O11 bis // On in jedem Zustandssteuerwort
Falls die Prüfung ergibt (Block 116 der Fig. 3b). daß der zu verwerfende Block allein im Vorratsspeicher der anfordernden Rechenanlage 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ültigkeitshit gelöscht wird (Block 120). Unabhängig vom Ergebnis der Durchsicht bei den Identifizierbits der Rechena ι lagen im Zustandssteuerwort für den zu ersetzenden Block muß die neue Blockadresse, die von der anfordernden Rprhrnanlaor pr7fMmt wtril lunii im Schritt —σ- -· — **£?· * -
des Blockes 82 der Fig. 3a in das Halteregister 24 des Vorratfspcichers eingelassen war), vom letzteren zum Suehregister 26 und von dort an den ungefüllten Platz in der Reihe der Blockadressen gebracht werden. Nach diesem Vorgang (Block 126 der Fig 3hl wird der Inhalt des Halteregisters 24 des Vorratsspeichers zum Suehregister 58 der CACMl -Liste durch das Kabel 50 übermittelt, das an der Öffnung O der CACMT-Liste 10 angeschlossen Ist (Block"22 det Fig. 3b). Sobald sich diese Adresse im Suehregister 58 befindet, win! der Speicherabschniu 56 parallel abgefragt, und es wird festgestellt, ob das Zustandssteuerwort für den ursprünglich angeforderten Datenblock in diesem Speicherahschnitt 56 enthalten ist (Block 124 der Fig. 3c). 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 Rechenwaage und Vorratsspeicher, um einen von einer anderen Rechenanlage abgeänderten Block ungültig zu machen. bzw. um seine geänderten Daten rückzuspeichern. wenn eine andere Rechenanlage diesen bleichen Block angefordert hat, in idealer Weise an d>- Bearbeitung von Prüf- und Setzbefehlen angepaßt Das Änderungsbit C des Zustandssteuerwortes (Fig. 21 wird geprüft. Falls es gesetzt ist. zeigt es der anfordernden Rechenanlage τη. 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 Rechenanlage 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 Rechenanlage, die den Setzzustand dieses Änderungsbit bewirkt hatte, daß eine andere Rechenanlage 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. 3c).
Gemäß der bisherigen Annahme ruht das Zustandssteuerwort für den angeforderten Block in der CACMT-Lisie, so daß das Änderungsbit überprüft werden konnte. Falls das Durchsuchen der letzteren ergibt, daß das Zustandssteuerwort dort nicht vornan-
den ist, muß ein neues gebildet werden, was durch eine Übertragung des Inhaltes des Suchregisters 56 an den ersten Platz der CACMT-Liste geschieht, wo das Gültigkeitsbit gelöscht ist. Wie erinnert sei, wurde bei der Ausführung des Schrittes gemäß dem Block 118oderl20derFig. 3b das Gültigkeitsbit Kin 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 R im einem Block zugeordneten Zustandssteuerwort gesetzt wird, wird eine beliebige andere anfordernde Rechenanlage des Systems unterrichtet, daß eine erste Rechenanlage diesen Block auch schon nnnnf/>^apt Ko* «irtH παπικά oitf AIc* λ nL^nfI Ac*e- r~n
ailLVfiuiubi t iiui uiiu gvi uuv «&u« uiv minuiiii vjwj f^W" wü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 Rechenanlage gerade herangeht, diesen Block zu benutzen. Als nächstes wird das Leseanforderungs-Meuersignal über das Kabel 76 zu den Steuerungen 72 des Hauptspeichers 12 übertragen. Mit Hilfe dieses Signals 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 Leseanforderungs-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 Schalinetzwerk 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 Vorratsspeicher ü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 26festgehalten wird. Somit wird der spezielle Block Daten, der das gewünschte, von der Rechcnanlagc angeforderte Wort enthält, vom Hauptspeicher aus dem Vorratsspeicher jener Rechenanlage zur Verfugung gestellt. Diese Schritte sind in der Fig. 3c durch Blöcke 142 und 144 angegeben.
Nach dem Einspeisen des gewünschten Blockes in den Vorratsspeicher der anfordernden Rechenanlagc wird das üültigkeitshit V für diesen Block im .Speicherabschnitt 22 gesetzt, und das Anforderungsbit R (Fig. 2). das im Zustandssteuerwort des Speicherabschnitlcs 56 enthalten ist. muß gelöscht werden, wodurch angezeigt wird, daß der angeforderte Block aus dem Hauptspeicher empfangen und im Speichcrabschnitt 22 vorhanden ist. Fernerhin muß das Gültigkeilsbil Γ in dem diesem neuen Block /uecordnclcn Zustandssteuerwort in der CACMT-Liste gesetz werden, um anderen anfordernden Rechenanlager anzuzeigen, daß der zur Rede stehende Block gültif ist.
Gemäß den Blöcken 150 und 152 der Fig. 3c wer den die Daten vom Vorratsspeicher 6 über das Datenregister 28 und das Kabel 32 in das Datenregister IC der anfordernden Rechenanlage 2 befördert, damii das Datenwort bei der Ausführung des in der Rechenanlage 2 ablaufenden Programms verwendet werder kann.
Nun seien nochmals die Steuersignale in den Steu erleitungen 46 und 48 der Fig. 1 betrachtet. Als dei Ersatz-Algorithmus des Vorratsspeichers zur Schaffung von Raum für einen neuen Block erforderlich wurde. lief die Adresse des wegfallenden Blocks vorr Suchregister 26 des Vorratsspeichers über ein Ver knüpfungsglied in das Suchregister 58 der CACMT-Liste 10 hinein. In diesem Zeitpunkt wird ein Blockbeseitigungs-Anforderungs-Steuersignal von dei Steuerung 34 des Vorratsspeichers über die Steucrlcitung 46 an die Steuerung 62 der CACMT-Liste gegeben. Nachdem der zu beseitigende Block im Vorratsspeicher gelöscht ist, unterdrückt die CACMT-Liste das Zustandssteuerwort im Speicherabschnitt 56 odei löscht das Identifizierbit in Abhängigkeit davon, ob zumindest eine weitere Rechenanlage jenen Block benutzte. Dann wurde es notwendig, die Adresse dei ursprünglichen Anforderung vom Halteregister 24 de; Vorratsspeichers zum Suchregister 58 der CACMT-Liste zu übertragen, damit der Speicherabschnitt 5( parallel durchsucht werden konnte, ob er das Zuslandssteuerwort mit der Adresse des ursprünglicl· angeforderten Blockes enthält. Gleichzeitig wird eir Steuersignal zur Blnckanforderung der CACMT-LisU von der Steuerung 34 des Vorratsspeichers 6 über dit Steuerleitung 48 zur Steuerung 62 der CACMT-LisU 10 übermittelt.
Folglich bewirken die Steuersignale in den Steuer leitungen 46 und 48 c igcntlich den Einlaß der Adres seninformation in das Suchregister 58, um zur Bestim mung, ob eine Übereinstimmung mit jener Adresse im Speicherabschniü 5i& vorhanden isi, den Vergieie! einzuleiten.
Bei der anschließenden Erläuterung des Schreibvorganges ist die Annahme gemacht, daß die Rechenanlage 4 (anstatt 2) ein neues Datenworl in einer Block einzuführen wünscht. In derselben Weise, wit beim Lesevorgang die Rechenanlage 2 nur als Beispie gewählt war, soll für die Erörterung des Schreibvor ganges die Rechenanlagc 4 benutzt werden, obgleicl die Rechenanlagc 2 genauso arbeiten würde.
Mit der Abgabe des Schreibariforderungs-Stcuersi gnals in der Steuerleitung 36 wird der Schreibvorganj der Reihenanlage 4 eingeleitet, wie in einem Bloci 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 dei Rechenanlagc 4 zum Haltcregister 24 des Vorrats Speichers und von dort zum zugehörigen Suchrcgistci 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 Rechenanlagc 4 zugeordnet ist. Hierbei werden die Blockadressen des Vorratsspeichers parallel durch sucht und daraufhin geprüft, ob eine dieser Block adressen mit derjenigen übereinstimmt, die von dei Rechenanlagc 4 in das Suchregistcr 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 Suchregisters 26 befindet (Block 160 der Fig. 6a). 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 ni^ht 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 Vorratsspeichers 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 überführt (Block 162 der Fig. 4a). Unter der weiteren Steuerung der Lese-/Schrcibschaiiungen der Steuerung 34 wird das neue Datenwort aus dem Datenregister 28 in den Speieberabschnitt 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 (Fig. 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 Rechenaniagen des Systems zur Verfügung steht. Gemäß den Blöcken 170(Fig. 4a), 172,174,176,178 und 180der Fig. 4b wird in den dort angegebenen Schritten das Änderungsbit C der Zustandssteucrwörter in der CACMT-Liste dadurch auf den neusten Stand gebracht, daß die Adresse des Blockes vom Haltcregister 24 über das Kabel 50 und das den Vorrang auswertende Schaltnetzwerk 40 in das Suchregister 58 der CACMT-Liste überführt 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 Suchregistcr 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 Spcichcrabschnitt 56 gefunden ist, werden die Schreibeinblcnd-, die passenden Wortadressen- und Bitlcitungcn erregt, damit das Änderungsbit C des vorgeschriebenen Zustandssteuerwortes (Fig. 2) gesetzt wird (Block 176 der l-'ig. 4h).
Als nächstes werden die Identifi/.ierhits /'„, /',. /'2.../'„dcr Rechenaniagen und 1/O11. I/()V...I/On der Steuereinrichtungen dieses /ustandsstcuerwortcs zur Bestimmung abgetastet, ob der fragliche Block im Vorratsspeicher einer anderen anfordernden Rechenanlage des Systems vorhanden ist (Block 178). In einem solchen Fall führte 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 Kabel 52 aus
ι. dem Suchregister 58 der CACMT-Liste. Diese Blockadresse wird in das Suchregister 26 des pa/^nden Vorratsspeichers eingelassen. Dann werden die Blöcke durchsucht, und für diesen Block wird das Gültigkeitsbit V gelöscht. Zugleich wird auch das
jo idciiiifizicrbit Pm der Rechenaniage in der Biockadresse 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 η enthal-
r> ten 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 Rechenan-
iii lagen 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 An-
r. fang nicht im Vorrat^speicher der anfordernden Rechenanlage vorhande.« 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 be-
-ΐϊ schrieben 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. 4 a 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 Hauptspei-
;-, eher 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
hi ι den neuen, aus dem Hauptspeicher 12 herauszusuchenden Block vorzubereiten. Bei dem Vorgang gemäß dem Block 210 wird die Blockadressc des Vorratsspeichers ermittelt, um festzulegen, wo der neue Block aus dem Hauptspeicher im Vorratsspeicher un-
i,-, tcrgebracht 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 ein-
gebracht 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 Rechenaniage 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 Blockadresse wie der gewählte Block im Vorratsspeicher dadurch auf den neuesten Stand gebracht, d?»8 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 Rechenaniage in das Datenregister 28 des zugeordneten Vorratsspeiebers eingelassen. Wenn ein Impuls auf die Schreibeinb.'endleitung 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 adressit. ien Wortes innerhalb des Blockes beendet ist.
Beim Rechenautomaten gemäß der Erfindung wird die Information im Hauptspeicür r 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 "> die Notwendigkeit zusätzlicher Speicherschreibzyklen umgangen.
Eine gegebene Rechenanlage des Systems gemäß der Erfindung greift auf die CACMT-Liste zu, um zu bestimmten, 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 Rechenaniage an und unterrichtet die Rechenanlage, in deren Vorratsspeicher dieser Block
r> 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
2(i 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 und 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
w 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
jj 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 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 Hauptspeichers anfordert, Jadurch gekennzeichnet, daß die Anzahl der Züstandsstcucrwörter und damit die Kapazität des Zwischenspeichers (10) der maximalen Anzahl der in den Vorratsspeichern (('»; 8) aller Rechenanlagen (2; 4) aufnehmbaren Blöcke (()...«) 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 Vorratsspeicher· (6 oder 8) belegbar ist, dessen vorgeschaltete Rechenanlage (2 oder 4) den durch die Blockadresse definierten Block des Hauptspeichers (12) anfordert.
3. Rechenautomat nach dt;ii 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 Vorratsspeichcr (6 oder 8) gespeicherten Blockes sowohl das in diesem Vorratsspeichcr (6oder 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 I und 4, dadurch gekennzeichnet, daß zur Unterricht ung der anderen Rechenanlage(n) (2 bzw. 4) die Blockadressc im Zustandssteuerwort durch das Gültigkeitsbit ( V), das Änderungshit (C) und/ oder ein Anforderungsbit (K) ergänzt ist, das in Vorbereitung eines Zugriffes auf den durch die Blockadresse bezeichneten Abschnitt des Hauptspeichers (12) gesetzt und mit dem linde des Zugriffes gelöscht wird.
7. Rechenautomat nach dem Anspruch 1, dadurch gekennzeichnet, daß die ZustanJsstcucr-
wörter weitere Kennbits (I/O0, I/O UOn ) enthalten, die je einer Ein-/Ausgabe-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 true DE2415900B2 (de) 1980-01-17
DE2415900C3 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
WO1980001421A1 (en) * 1979-01-09 1980-07-10 Sullivan Computer Shared memory computer method and apparatus
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 キヤノン株式会社 マルチプロセッサシステム
ES2083178T3 (es) * 1991-04-24 1996-04-01 Michael Sussman Amplificador digital de documentos.
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
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
US6661421B1 (en) 1998-05-21 2003-12-09 Mitsubishi Electric & Electronics Usa, Inc. Methods for operation of semiconductor memory
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
JPS5063853A (de) 1975-05-30
IT1013924B (it) 1977-03-30
US3848234A (en) 1974-11-12
DE2415900A1 (de) 1974-10-31
FR2224812A1 (de) 1974-10-31
FR2224812B1 (de) 1977-06-24
DE2415900C3 (de) 1981-01-29
GB1472921A (en) 1977-05-11

Similar Documents

Publication Publication Date Title
DE2415900B2 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE2241257C3 (de) Datenverarbeitende Anlage
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3011552C2 (de)
DE2550339C2 (de) Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität
DE1956604C3 (de) Datenverarbeitungsanlage
DE2841041A1 (de) Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren
DE2717702C2 (de) Speicher-Zugriff-Steuersystem
DE2847960A1 (de) Speichersteuereinrichtung
DE2523414A1 (de) Hierarchische speicheranordnung
DE3439302A1 (de) Speichersteuerungsvorrichtung
DE2163342A1 (de) Hierarchische binäre Speichervorrichtung
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE68925336T2 (de) Datenverarbeitungsvorrichtung mit Cache-Speicher
DE2912073C2 (de)
DE2063195C2 (de) Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern
DE4114053A1 (de) Computersystem mit cachespeicher
DE1549486A1 (de) Verfahren zur Datenuebertragung zwischen mindestens einer zentralen Recheneinheit und mehreren externen Speichern
DE102007055138B4 (de) System zum Zugreifen auf einen Einzelport-Mehrwege-Cache
DE2824711A1 (de) Steuereinrichtung fuer speicherzugriffe
DE2261586C3 (de) Speichereinrichtung
DE3121710C2 (de) Steuereinrichtung für einen virtuellen Speicher in einer Datenverarbeitungsanlage
DE2853165C2 (de)
DE69030368T2 (de) Tandem-Cache-Speicher
DE3216238C1 (de) Datenverarbeitungsanlage mit virtueller Teiladressierung des Pufferspeichers

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