DE2415900B2 - Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen - Google Patents
Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen RechenanlagenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- 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.
Claims (7)
1. Digitaler Rechenautomat mit mehreren Rechenanlagen, deren Anzahl der Anzahl der mit ihnen
direkt verbundenen, mit hoher Geschwindigkeit arbeitenden Vorratsspeicher entspricht, die je
eine beschränkte 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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3339183A (en) * | 1964-11-16 | 1967-08-29 | Burroughs Corp | Copy memory for a digital processor |
US3387283A (en) * | 1966-02-07 | 1968-06-04 | Ibm | Addressing system |
JPS4731652A (de) * | 1966-02-22 | 1972-11-13 | ||
US3569938A (en) * | 1967-12-20 | 1971-03-09 | Ibm | Storage manager |
US3525081A (en) * | 1968-06-14 | 1970-08-18 | Massachusetts Inst Technology | Auxiliary store access control for a data processing system |
GB1218406A (en) * | 1968-07-04 | 1971-01-06 | Ibm | An electronic data processing system |
US3588829A (en) * | 1968-11-14 | 1971-06-28 | Ibm | Integrated memory system with block transfer to a buffer store |
US3588839A (en) * | 1969-01-15 | 1971-06-28 | Ibm | Hierarchical memory updating system |
US3699533A (en) * | 1970-10-29 | 1972-10-17 | Rca Corp | Memory system including buffer memories |
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
-
1973
- 1973-04-04 US US00347970A patent/US3848234A/en not_active Expired - Lifetime
-
1974
- 1974-03-21 IT IT42516/74A patent/IT1013924B/it active
- 1974-03-26 FR FR7410307A patent/FR2224812B1/fr not_active Expired
- 1974-04-02 DE DE2415900A patent/DE2415900C3/de not_active Expired
- 1974-04-03 GB GB1476274A patent/GB1472921A/en not_active Expired
- 1974-04-03 JP JP49037021A patent/JPS5063853A/ja active Pending
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 |