DE2856715C3 - Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem - Google Patents
Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem MehrprozessorsystemInfo
- Publication number
- DE2856715C3 DE2856715C3 DE2856715A DE2856715A DE2856715C3 DE 2856715 C3 DE2856715 C3 DE 2856715C3 DE 2856715 A DE2856715 A DE 2856715A DE 2856715 A DE2856715 A DE 2856715A DE 2856715 C3 DE2856715 C3 DE 2856715C3
- Authority
- DE
- Germany
- Prior art keywords
- data block
- buffer memory
- buffer
- copy
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
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)
- Multi Processors (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem
Mehrprozessorsystem gemäß der im Oberbegriff des Patentanspruchs 1 genannten Art
Es handelt sich um ein Verfahren zur Überwachung
einer Pufferspeicher-Hierarchie in einem Computersystem, welches mehrere zentrale Verarbeitungseinheiten
mit je einem Pufferspeicher, mehrere Kanalprozessoren, einen Hauptspeicher und einen Zwischenpufferspeicher
umfaßt, der gemeinsam durch die Pufferspeicher, die KEnalprozessoren und den Hauptspeicher
belegt wird.
Ein Computersystem, welches mehrere zentrale Verarbeitungseinheiten enthält, nennt man gewöhnlich
ein Mehrprozessorsystem oder auch Multiprozessorsystem. In einem solchen System ist es wichtig, daß
zwischen einem an einer Adresse eines Pufferspeichers in einem Prozessor gespeicherten Datenblock und
einem an einer korrespondierenden Adresse eines Pufferspeichers in einem anderen Prozessor gespeicherten
Datenblock immer Koinzidenz besteht Diesen Zustand nennt man Pufferspeicher-Koinzidenz.
Bisher kennt man bei zweistufigen Speicherhierarchien zwei Verfahren zur Durchführung dieser
sog. Pufferspeicher-Koinzidenz. Bei dem ersten Verfahren wird eine Pufferungültigkeits-Adresse gleichzeitig
an sämtliche Prozessoren mit Ausnahme eines Prozessors gegeben, wenn ein an einer Adresse des
Pufferspeichers in diesem Prozessor gespeicherter Datenblock ausgetauscht wird. Diese Abgabe der
Pufferungültigkeits-Adresse an die Pufferspeicher aller übrigen Prozessoren mit Ausnahme des einen Prozessors
erfolgt ohne Rücksicht, ob die entsprechende Adresse des Pufferspeichers in jedem der erstgenannten
Prozessoren gefunden worden ist oder nicht Diese korrespondierende Adresse ist die gleiche wie die
Pufferungültigkeitsadresse.
Bei dem zweiten Verfahren zur Durchführung der Pufferspeicher-Koinzidenz erhält jeder Prozessor ein
Identifizierungskennzeichen II im Unterschied zu dem üblichen Identifizierungskennzeichen I. Bei dem zweiten
bekannten Verfahren wird durch das Identifizierungskennzeichen Il die bei der Beschreibung des ersten
Verfahrens erwähnte Puffergültigkeits-Adresse nur an die Pufferspeicher in den betreffenden Prozessoren
gegeben, die entsprechende Adressen enthalten.
Bei dem vorstehend beschriebenen konventionellen Multiprozessorsystem besteht das Speichersystem aus
einem Hauptspeicher und aus Pufferspeichern, die in den einzelnen zentralen Verarbeitungseinheiten enthalten
sind. In den letzten Jahren ist jedoch für das konventionelle Simultan- bzw. Multiprozessor-System
eine neue Speicheranordnung bekanntgeworden, bei der zusätzlich ein Zwischenpufferspeicher zwischen
dem Hauptspeicher und den Pufferspeichern vorgesehen ist, siehe beispielsweise »Determinig Hit Rations for
Multilevel Hierarchies« von I. Gesei, I. B. M. J. Res. Develop., Juli 1974, oder »On Memory System Design«
von Robert M. Meade, FJCC, 1970, Seite 33'34. Macht man jede zentrale Verarbeitungseinheit des Multiprozessorsystems
in der Verarbeitungs-Kapazität groß und in der Arbeitsgeschwindigkeit schnell, dann ist es relativ
leicht, mit hoher Geschwindigkeit arbeitende Pufferspeicher zu erzielen. In Bezug auf den Hauptspeicher ist
es jedoch sehr schwierig, einen Hauptspeicher mit großer Kapazität und gleichzeiig mit einer hohen
Arbeitsgeschwindigkeit zu bilden. Wenn also jede zentrale Verarbeitungseinhek des Multiprozessorsystems
eine große Verarbeitungskapazität und eine hohe Arbeitsgeschwindigkeit erhält, ist es notwendig, den
Hauptspeicher über einen Zwischenpufferspeicher mit den Pufferspeichern zu verbinden. Der Zwischenpufferspeicher
hat eine größere Speicherkapazität als jeder Pufferspeicher, aber eine kleinere als der Hauptspeicher.
Auch ist die Zugriffszeit zum Zwischenpufferspeicher länger als zu jedem Pufferspeicher, aber kürzer als
zu dem Hauptspeicher.
ίο Deshalb besteht der Wunsch nach einem Verfahren
zur Durchführung einer Pufferspeicher-Koinzidenz, und dieses Verfahren sollte für ein Speichersystem geeignet
sein, welches den Zwischenpufferspeicher enthält Es gibt bereits ein solches Verfahren zur Durchführung
einer Pufferspeicher-Koinzidenz, und das Multiprozessor- bzw. Simultan-Datenverarbeitungssystem, bei dem
es angewendet wird, enthält mehrere zentrale Verarbeitungseinheiten, mehrere Kanalprozessoren, einen Zwischenpufferspeicher,
einen Hauptspeicher und mehrere in den jeweiligen zentralen Verarbeitungseinheiten
enthaltene Pufferspeicher. Wenn der Zwischenpufferspeicher eine Anforderung auf Zugriff zu einem
Datenblock des Pufferspeichers aus einer der zentralen Verarbeitungseinheiten erhält, beginnt er mit einer
Feststellung, ob ein entsprechender Datenblock darin enthalten ist oder nicht mittels eines darin enthaltenen
Identifizierungskennzeichens. Ist der entsprechende Datenblock nicht dann gespeichert, dann bestimmt der
Zwischenpufferspeicher, welcher Datenblock daraus zu ersetzen ist, und dann wird der entsprechende
Datenblock in die Adresse dieses Speichers aus dem Hauptspeicher bewegt wobei diese Adresse die
Position ist, wo der ersetzte Datenblock in dem Zwischenpufferspeicher gespeichert war. Das Identifizierungskennzeichen
des Zwischenpufferspeichers enthält eine Anzahl von Überwachungsinformations-Speicherbereichsn
und von Datenblock-Speicherbereichen. Jeder Überwachungsinformations-Speicherbereich
enthält außer einer Adresseninformation des in dem entsprechenden Datenblock-Speicherbereich gespeicherten
Datenblockes Kopiekennzeichen, welche aussagen, welcher der Pufferspeicher eine Kopie des
betreffenden Datenblockes enthält. Wenn der Zwischenpufferspeicher bestimmt, welcher der zuvor
erwähnten Datenblöcke daraus zu ersetzen ist, dann überprüft der Zwischenpufferspeicher die Kopiekennzeichen.
Als Resultat sendet der Zwischenpufferspeicher die Pufferungültigkeits-Adresseninformation nur
an diejenigen Pufferspeicher, welche Kopien des ersetzten Datenblockes enthalten. Die Pufferungültigkeitsadresse
ist die gleiche wie die Adresse von jedem der Pufferspeicher, welche eine Kopie des ersetzten
Datenblockes in sich gespeichert enthalten.
Wenn im Gegensatz zu den vorstehenden Ausführungen der betreffenden Datenblock im Zwischenpufferspeicher gespeichert ist, dann wird, wenn der Zwischenpufferspeicher eine Anforderung von einer der zentralen Verarbeitungseinheiten auf Zugriff zu dem entsprechenden Datenblock erhält und wenn ferner diese Anforderung sich auf das Schreiben eines Datenblocks bezieht, eine Adresse dieses zu schreibenden Datenblokkes als die Pufferungültigkeits-Adresseninformation nur an jeden Pufferspeicher gesandt, welcher eine entsprechende Adresse von dem Zwischenpufferspeicher enthält, ,in Übereinstimmung mit den Zuständen der Kopiekennzeichen. Wenn alternativ dazu eine solche Anforderung sich nicht auf das Schreiben eines Datenblockes, sondern auf das Lesen eines Datenblok-
Wenn im Gegensatz zu den vorstehenden Ausführungen der betreffenden Datenblock im Zwischenpufferspeicher gespeichert ist, dann wird, wenn der Zwischenpufferspeicher eine Anforderung von einer der zentralen Verarbeitungseinheiten auf Zugriff zu dem entsprechenden Datenblock erhält und wenn ferner diese Anforderung sich auf das Schreiben eines Datenblocks bezieht, eine Adresse dieses zu schreibenden Datenblokkes als die Pufferungültigkeits-Adresseninformation nur an jeden Pufferspeicher gesandt, welcher eine entsprechende Adresse von dem Zwischenpufferspeicher enthält, ,in Übereinstimmung mit den Zuständen der Kopiekennzeichen. Wenn alternativ dazu eine solche Anforderung sich nicht auf das Schreiben eines Datenblockes, sondern auf das Lesen eines Datenblok-
kes bezieht, dann ist es nicht erforderlich, die Pufferungültigkeits-Adresseninformation vom Zwischenpufferspeicher
zu den Pufferspeichern zu senden..
Nachstehend wird ein unerwünschtes Problem erläutert, das bei Anwendung des bekannten Verfahrens
bei dem zuvor beschriebenen Multiprozessorsystem auftritt. Wenn nämlich eine zentrale Verarbeitungseinheit
eine Anforderung auf Schreiben oder Lesen eines Datenblockes an den Zwischenpufferspeicher abgibt,
und wenn der betreffende Datenblock jedoch darin nicht gespeichert ist, dann muß der Zwischenpufferspeicher
entscheiden, welcher Datenblock daraus ersetzt werden soll, um den entsprechenden Datenblock vom
Hauptspeicher in den Zwischenpufferspeicher zu bewegen. In diesem Falle wird die Adresse des ersetzten
Datenblockes als Pufferungültigkeits-Adresseninformation an jeden Pufferspeicher gesandt, welcher eine
Kopie des ersetzten Datenblockes in Übereinstimmung mit den Zuständen der Kopiekennzeichen enthält.
Danach werden Kopien des ersetzten Datenblockes aus den entsprechenden Pufferspeichern gelöscht. Wenn
jedoch eine bestimmte zentrale Verarbeitungseinheit eine Kopie des ersetzten, an dem Pufferspeicher dieser
zentralen Verarbeitungseinheit enthaltenen ersetzten Datenblockes sehr häufig verwendet, dann ist es
ungünstig für diese zentrale Verarbeitungseinheit, die Kopie des aus dem Pufferspeicher ersetzten Datenblocks
zu löschen. Leider wird bei dem bekannten Verfahren eine solche Kopie unvermeidbar daraus
gelöscht, und das zuvor erwähnte unerwünschte Problem tritt somit auf, weil der Zwischenpufferspeicher
und die Pufferspeicher in dem Verfahren so überwacht werden, da die in mindestens einem der
Pufferspeicher gespeicherten Datenblöcke auch in dem Zwischenpufferspeicher gespeichert werden müssen..
Ein dem Verfahren nach dem Oberbegriff des Anspruchs 1 entsprechendes Verfahren ist aus der
DE-OS 22 26 382 bekannt In diesem bekannten Fall fehlt der Zwischenpufferspeicher, so daß ein direkter
Informationsaustausch zwischen den Pufferspeichern der einzelnen Prozessoren und dem Hauptspeicher
stattfindet. Dabei können modifizierte Daten in einem Pufferspeicher gespeichert werden und durch Verbindungseinrichtungen
allen Prozessoren zugänglich gemacht werden.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Durchführung einer Pufferspeicher-Koinzidenz
der eingangs genannten Art anzugegeben, bei dem es möglich ist daß die in einem Pufferspeicher
enthaltene Kopie eines Datenblocks des Zwischenpufferspeichers erhalten bleibt, auch wenn dieser
Datenblock im Zwischenpufferspeicher ersetzt wird.
Die erfiiidürigsgcffiauc Lösung dieser Aufgabe im im
Patentanspruch 1 angegeben. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen
enthalten.
Ein Beispiel für den einschlägigen St d. T. und Ausführungsbeispiele der Erfindung werden nachfolgend
anhand der Zeichnungen näher erläutert Es zeigt
F i g. 1 ein herkömmliches Simultan-Datenverarbeitungssystem,
von dem die Erfindung ausgeht;
Fi g. 2 ein Flußdiagramm mit bekannten Schriften zur
Durchführung einer Pufferspeicher-Koinzidenz;
F i g. 3A, 3B und 3C Einzelheiten zu den Schritten von
Fig. 2;
Fig.4 ein im Rahmen der Erfindung verwendetes
Identifizierungskennzeichen;
Fig.5A und 5B Flußdiagramme mit Verfahrensschritten zur erfindungsgemäßen Durchführung einer
Pufferspeicher-Koinzidenz;
F i g. 6A, 6B, 6C und 6D zusätzliche Darstellungen zu
den in F i g. 5A und 5B enthaltenen erfindungsgemäßen Schritten;
Fig. 7A eine schematische Darstellung einer bei Anwendung eines erfindungsgemäßen Verfahrens gebildeten
Speicherkapazitätsstruktur;
F i g. 7B eine ähnliche schematische Darstellung einer
ίο bei Anwendung des bekannten Verfahrens gebildeten
Speicherkapazitätsstruktur;
F i g. 8 ein Blockschaltbild mit Einzelheiten eines erfindungsgemäßen, in den Fig. 6A bis 6D enthaltenen
Pufferspeichers 63; und
F i g. 9 ein Beispiel für Torschaltung zur Bildung der logischen Schaltung 100 von F i g. 8.
Bei einem in F i g. 1 dargestellten konventionellen Multiprozessor sind mit den Bezugszahlen 11-0,11-1 bis
11-777 zentrale Verarbeitungseinheiten (CPUo,
CPU1... CPUm), mit den Bezugszahlen 12-0, 12-1 bis
12-/7 Kanalprozessoren (CHP0, CHP1... CHPn), mit der
Bezugszahl 13 ein Zwischenpufferspeicher (IBM), und mit der Bezugszahl 14 ein Hauptspeicher (MM)
bezeichnet. Die zentralen Verarbeitungseinheiten 11-0 bis ll-m enthalten jeweils Pufferspeicher (BM) 15-0,
15-1 bis 15-/77.
Wenn in Verbindung mit den F i g. 1 bis 3 ein bekanntes Verfahren zur Durchführung einer Pufferspeicher-Koinzidenz
durchgeführt wird und dabei der Zwischenpuffer-Speicher 13 eine Anforderung auf Zugriff zu einem Datenblock in diesem Speicher 13
(siehe »Anforderung auf Zugriff an Zwischenpuffer- Speicher« in Fig.2) von beispielsweise der zentralen
Verarbeitungseinheit 11-1 erhält dann beginnt der Zwischenpuffer-Speicher 13 mittels eines in ihm
enthaltenen Identifizierungskennzeichens 31 (siehe F i g. 3A bis 3C) festzustellen, ob ein entsprechender
Datenblock darin gespeichert ist oder nicht (siehe »Wird der angesteuerte Datenblock gefunden?« in
Fig. 2). Wird der angesteuerte Datenblock nicht gefunden, so erfolgt die Antwort »nein«, und der
Zwischenpufferspeicher 13 bestimmt dann, welcher Datenblock zu ersetzen ist (siehe »Bestimmung des zu
ersetzenden Datenblockes« in Fig.2). Das Identifizierungskennzeichen
31 enthält außer mehreren in F i g. 1 und 3 nicht dargestellten Überwachungsinformations-Speicherbereichen
einen Datenblock-Speicherbereich 32 (siehe F i g. 3A bis 3C). Jeder Überwachungsinformations-Speicherbereich
enthält außer einer Adresseninformation eines entsprechenden Datenblock-Speicherbereiches
Kopiekennzeichen 33 (siehe F i g. 3A bis 3C), welche angeben, in welchem der Pufferspeicher 15-0 bis
Ϊ5-/77 eine Kopie des betreffenden DatenuiöckcS
gespeichert ist Wenn der Zwischenpuffer-Speicher 13 bestimmt hat welcher der Datenblöcke zu ersetzen ist
dann prüft er die Kopiekennzeichen 33. Die Kopiekennzeichen entsprechen jeweils den Pufferspeichern 15-0
bis 15-/77. Ein Kopiekennzeichen mit einer logischen »1« für den ersetzten Datenblock-Speicherbereich gibt an,
daß in dem betreffenden Pufferspeicher eine Kopie des ersetzten Datenblockes gespeichert ist Wenn der
Zwischenpufferspeicher 13 einen daraus zu ersetzenden Datenblock bestimmt sendet er an die Pufferspeicher in
Übereinstimmung mit den Zuständen der Kopiekennzeichen 33 die Pufferungültigkeits-Adresseninformation
(BIA) (siehe hierzu das Feld links unten in Fi g. 2). Die
Folge ist daß beim Ersetzen des Datenblockes aus dem Zwischenpufferspeicher 13 auch die Kopien dieses
ersetzten Datenblockes aus den Pufferspeichern gelöscht werden, wobei jeder Block anzeigt, daß das
Kopiekennzeichen eine logische »1« hat (siehe F i g. 3C).
Wenn der angesteuerte Datenblock, im folgenden' Zugriffs-Datenblock genannt, gefunden ist (siehe »ja«
bei »Ist der angesteuerte Datenblock gefunden;« in F i g. 2) dann stellt der Speicher 13 ferner fest, ob die von
der zentralen Verarbeitungseinheit 11-1 kommende Anforderung sich auf das Schreiben oder Lesen eines
Datenblockes bezieht (siehe in Fig. 2 »Ist es eine Anforderung zum Schreiben?«). Ist es eine Anforderung
zum Schreiben eines Datenblockes, dann erfolgt die Antwort »ja«, es erfolgt eine Absendung einer Adresse
des zu schreibenden Zugriffs-Datenblockes an die Pufferspeicher als Pufferungültigkeits-Adresseninformation
(BIA). und das Kopiekennzeichen 33 im Zwischenpuffer-Speicher 13 jedes dieser Pufferspeicher
hat den logischen Zustand »1« (siehe hierzu das unterste Feld in F i g. 2 und F i g. 3B).
Handelt es sich im Gegensatz dazu nicht um eine Anforderung zum Schreiben, sondern Lesen eines
Datenblockes, dann erfolgt die Antwort »nein«, und es geht keine Ungültigkeits-Adresseninformation an irgendeinen
der Pufferspeicher 15-0 bis 15-m, weil es nicht notwendig ist, Kopien von Zugriffs-Datenblöcken zu
löschen. Vielmehr liest die zentrale Verarbeitungseinheit 11-2 nur den Zugriffs-Datenblock (siehe hierzu das
rechte untere Feld in F i g. 2 sowie F i g. 3A).
Bei Ausführung des bekannten Verfahrens zur Durchführung einer Pufferspeicher-Koinzidenz in Verbindung
mit dem zuvor erläuterten und in den F i g. 1 bis 3 dargestellten Multiprozessorsystem ergeben sich die
in der Beschreibungseinleitung geschilderten unerwünschten Probleme. Wenn, siehe hierzu F i g. 3C,
beispielsweise die zentrale Verarbeitungseinheit 11-1 eine Anforderung zum Schreiben oder Lesen eines
Datenblockes an den Zwischenpuffer-Speicher 13 abgibt, der Zugriffs-Datenblock jedoch darin nicht
gefunden wird, dann bestimmt der Speicher 13, welcher Datenblock daraus in dem Hauptspeicher 14 zu ersetzen <to
ist, um diesen Zugriffs-Datenblock von Speicher 14 in Speicher 13 zu bewegen. In diesem Falle wird die
Adresse des ersetzten Datenblockes als Pufferungültigkeits-Adresseninformation
vom Speicher 13 an die Pufferspeicher in Obereinstimmung mit den Zuständen
der Kopiekennzeichen übertragen. Als nächstes werden Kopien des ersetzten Datenblockes aus den betreffenden
Pufferspeichern gelöscht. Ist jedoch eine Kopie des ersetzten Datenblocks, die beispielsweise im Pufferspeicher
15-1 gespeichert war und nunmehr gelöscht worden ist häufig von der zentralen Verarbeitungseinheit
11-1 benutzt worden, so ist dies natürlich nicht sehr
erwünscht, weil die zentrale Verarbeiiungseinheit ίί-ί
den entsprechenden Datenblock wieder vom Hauptspeicher 14 abrufen und sowohl im Speicher 13 als auch
im Speicher 15-1 speichern muß. Dies fällt besonders ins Gewicht, wenn dieser Datenblock häufig verwendet
wird.
Durch Anwendung des erfindungsgemäßen Verfahrens zur Durchführung einer Pufferspeicher-Koinzidenz ω
kann man diesen Nachteil vermeiden und zusätzlich noch einige Vorteile erlangen, die aus der nachfolgenden
Beschreibung hervorgehen werden.
Die vorliegende Erfindung enthält folgende wichtige Merkmale:
a) Die Pufferungültigkeits-Adresseninformation wird
von dem Zwischenpufferspeicher 13 nicht ausgegeben, obwohl ein bestimmter Datenblock daraus
ersetzt worden ist;
b) jeder der Pufferspeicher 15-0 bis 15-m kann
Datenblöcke speichern, welche nicht im Zwischenpufferspeicher 13 gespeichert sind;
c) die Operation zur Durchführung des Ersatzes eines Datenblockes aus dem Speicher 13 kann vereinfacht
werden.
Nachstehend wird die Erfindung unter Bezugnahme auf die F i g. 4,5, 6, 7,8 und 9 erläutert. In F i g. 4 sind die
bereits zuvor erläuterten zentralen Verarbeitungseinheiten 11-0 bis 11-m sowie die Pufferspeicher 15-0 bis
15-m enthalten, und ein dem Identifizierungskennzeichen
31 von Fig.3 entsprechendes Kennzeichen trägt
hier die Bezugszahl 41. Mit 42 ist ein Oberwachungsinformations-Speicherbereich bezeichnet, zu dem Kopiekennzeichen
43-0,43-1 bis 43-m, ein oberer Adresseninformationsbereich
44, und ein nachstehend erläutertes Gültigkeitskennzeichen 45 gehören. Das Identifizierungskennzeichen
41 ist in dem in Fig.4 nicht dargestellten erfindungsgemäßen Zwischenpuffer-Speicher
enthalten. Auch ist der aus dem in F i g. 1 bis 3 dargestellten Stand der Technik bekannte Hauptspeicher
14 in F i g. 4 nicht dargestellt.
F i g. 5A enthält in Form eines Flußdiagramms die zu einem Verfahren zur Durchführung einer Pufferspeicher-Koinzidenz
notwendigen Schritte, insbesondere die Schritte zur Erzeugung einer Pufferungültigkeits-Adresseninformation
(BIA). Fig.5B enthält ein Flußdiagramm
mit den Verfahrensschritten zur Durchführung der Pufferspeicher-Koinzidenz, insbesondere die
Schritte zur Verarbeitung der Kopiekennzeichen 43-0... 43-773 und des Gültigkeitskennzeichens 45,
dargestellt in F i g. 4.
In F i g. 6A bis 6D wird die Kommunikation zwischen dem Zwischenpuffer-Speicher 63 und den Pufferspeichern
15-0 bis 15-/77 mittels einer sog. »Durchspeicher-Steuermethode«
überwacht. Wenn bei Anwendung dieser Steuermethode beispielsweise die eine zentrale
Verarbeitungseinheit 11-1 eine Anforderung zum Einschreiben eines Datenblockes in ihren Pufferspeicher
15-1 ausgibt, dann geht diese Anforderung gleichzeitig in den Zwischenpufferspeicher 63, mit dem
Erfolg, daß dieser Zwischenpufferspeicher 63 immer auf dem neuesten Stand befindliche Datenblöcke speichert.
Dagegen wird die Kommunikation zwischen dem Zwischenpufferspeicher 63 und dem Hauptspeicher 14
überwacht durch eine sogenannte »Wechsel-Steuermethode« (»Swap control method«), was bedeutet, daß
jedes Mal, wenn die angeforderten Daten in dem Zwischenpuffer-Speicher nicht gefunden werden, ein
besonderer auf dem neuesten Stand befindlicher
Datenblock aus dem Zwischenpuffer-Speicher 63 aufgrund des Austausches dieses Datenblockes in den
Hauptspeicher 14 bewegt wird, so daß der betreffende Datenblock im Hauptspeicher 14 nunmehr auf dem
neuesten Stand ist Daraus ergibt sich der Vorteil, daß der Kommunikationsprozeß zwischen den Speichern 63
und 14 vereinfacht werden kann.
Zunächst erhält der Zwischenpuffer-Speicher 63 eine Anforderung zum Zugriff von einer besonderen
zentralen Verarbeitungseinheit zum Beispiel der Einheit 11-1 (siehe »Anforderung auf Zugriff zum
Zwischenpuffer-Speicher« in Fi g. 5A). Falls die Anforderung auf Zugriff keine Anforderung zum Schreiben
eines Datenblockes sondern eine Anforderung zum Lesen eines Datenblockes ist (siehe »nein« von »Ist es
eine Anforderung zum Schreiben?« in Fig.5A) dann
wird die Pufferungültigkeit-Adresseninformation nicht zu irgendeinem der Pufferspeicher 15-0, 15-1... 15-m
ausgesandt (siehe F i g. 6A und »Pufferungültigkeitsadresseninformation geht nicht an die Pufferspeicher«
in F i g. 5A).
Wenn danach die Anforderung auf Zugriff eine Anforderung zum Schreiben eines Datenblockes ist
(siehe »ja« von »Ist es eine Anforderung zum Schreiben?« in Fig.5A), falls ferner der durch Zugriff
angesteuerte Datenblock im Zwischenpuffer-Speicher 63 gefunden wird (siehe »ja« von »Ist der angesteuerte
Datenblock gefunden ?«in F i g. 5A) und falls schließlich das Gültigkeitskennzeichen 45 (F i g. 4, 6A bis 6D) eine
Gültigkeit anzeigt, das heißt die Logik des Gültigkeitskennzeichens 45 jetzt »1« ist (siehe »ja« von »Zeigt das
Gültigkeitskennzeichen Gültigkeit an ?« in F i g. 5A), dann wird die Pufferungültigkeitsadresseninformation
(BIA) in Übereinstimmung mit den Zuständen der Kopiekennzeichen 43-0, 43-1... 43-m (F i g. 4, 6A bis
6D) an die Pufferspeicher gesandt. Die logische »1« des Kopiekennzeichens, zum Beispiel des Kopiekennzeichens
43-0, zeigt an, daß eine Kopie des angesteuerten Datenblockes in dem entsprechenden Pufferspeicher
15-0 gespeichert ist. Demgemäß wird die Pufferungültigkeitsadresseninformation zum Speicher 15-0 gesandt
(siehe »Pufferungültigkehsadresseninformation geht an
alle Pufferspeicher mit Ausnahme des Pufferspeichers der zugreifenden zentralen Verarbeitungseinheit ent
sprechend den Zuständen der Kopiekennzeichen« in F i g. 5A; siehe auch F i g. 6B). Das erwähnte Gükigkeitskennzeichen
45 zeigt, falls das Bit dieses Kennzeichens den logischen Zustand »1« einnimmt, an, daß sämtliche
Kopiekennzeichen 43-0, 43-1... 43-/n gültig sind. Demzufolge ist der Zustand des jeweiligen Kopiekennzeichens
korrekt. Falls das Bit des Gültigkeitskennzeichens 45 im Gegensatz hierzu den logischen Zustand
»0« einnimmt, dar.n wird hierdurch angezeigt, daß sämtliche Kopiekennzeichen 43-0, 43-1... 43-m ungültig
sein können. Demzufolge kann der Zustand jedes Kopiekennzeichens falsch sein. Der Grund, weshalb bei
dem erfindungsgemäßen Verfahren das Gültigkeitskennzeichen verwendet werden sollte, wird nun
erläutert.
In F i g. 5A folgt der Schritt »Setzen oder Rücksetzen des Zustandes des Kopiekennzeichens der zugreifenden
zentralen Verarbeitungseinheit in Abhängigkeit davon, ob der hineingebrachte Datenblock im Pufferspeicher
der zugreifenden zentralen Verarbeitungseinheit gefunden worden ist oder nicht und Rücksetzen aller übrigen
Kopiekennzeichen sowie Setzen des Gültigkeitskenn zeichens« nach dem Schritt »Pufferungültigkeitsadresssninformstion gsht zn alle Pufferspeicher mit A.usnskme des Pufferspeichers der zugreifenden zentralen
Verarbeitungseinheit in Abhängigkeit von den Zustän- den der Kopiekennzeichen« welcher Schritt in F i g. 6C
schematisch dargestellt ist Da die Kommunikation, das heißt der Verkehr zwischen den Pufferspeichern 15-0
bis 15-/Π und dem Zwischenpufferspeicher 63 durch die
Durchspeicher-Steuermethode überwacht wird, muß, falls eine der zentralen Verarbeitungseinheiten eine
Anforderung zum Einschreiben eines Datenblockes abgibt, der Datenblock im korrespondierenden Pufferspeicher
ebenfalls neu eingeschrieben werden, wenn der Datenblock in diesem gespeichert ist und es wird
außerdem eine Anforderung zum Einschreiben des Datenblockes an den Speicher 63 gegeben. Wird der
gleiche Datenblock im Speicher 63 gefunden, dann wird der entsprechende Datenblock in diesen Speicher 63
neu eingeschrieben. Wird im Gegensatz hierzu der gleiche Datenblock im Pufferspeicher der zugreifenden
zentralen Verarbeitungseinheit nicht gefunden jedoch im Zwischenpufferspeicher 63 gefunden, dann wird nur
der im Speicher 63 gespeicherte gleiche Datenblock neu geschrieben, dieser Datenblock jedoch nicht in dem
Pufferspeicher der zugreifenden zentralen Verarbeitungseinheit gespeichert. Folglich muß das Kopiekennzeichen
dieses Pufferspeichers gesetzt oder zurückgesetzt werden, abhängig von dem Zustand, ob der gleiche
Datenblock in diesem Pufferspeicher gefunden worden ist oder nicht.
Wenn gemäß Fi g. 6B die zentrale Verarbeitungseinheit,
beispielsweise die Einheit 11-1, eine Anforderung zum Schreiben eines Datenblockes ausgibt, und wenn
außerdem dieser angesteuerte zu schreibende Datenblock
in dem Zwischenpufferspeicher 63 gefunden worden ist, dann wird der Inhalt des Überwachungsinformationsspeicherbereiches
42, der mit diesem angesteuerten zu schreibenden Datenblock korrespondiert, ausgelesen. Da das Gültigkeitskennzeichen 45 jetzt die
Gültigkeit der Kopiekennzeichen 43-0, 43-1... 43-m angibt, wird die Pufferungültigkeitsadresseninformation
nur an die Pufferspeicher weitergegeben, deren Kopiekennzeichen den logischen Zustand »1« haben.
Wird im Gegensatz dazu gemäß F i g. 6D der angesteuerten Datenblock im Zwischenpufferspeicher 63
nicht gefunden (siehe »nein« von »Ist der angesteuerte Datenblock gefunden worden?« in Fig.5A), dann
schließt sich der Schritt »Pufferungültigkeitsadresseninformation geht an alle Pufferspeicher mit Ausnahme des
Pufferspeichers der zugreifenden zentralen Verarbei tungseinheit« von F i g. 5A an. Nach Durchführung
dieses Schrittes wird der spezifizierte bestimmte Datenblock aus dem Zwischenpuffer-Speicher 63
ersetzt, um den angesteuerten Datenblock aus dem Hauptspeicher 14 in den Zwischenpuffer-Speicher 63 zu
bewegen (siehe »Der bezeichnete, bestimmte Daten block wird aus dem Zwischenpuffer-Speicher ersetzt« in
F i g. 5A). Der in den Zwischenpuffer-Speicher 63 gebrachte angesteuerte Datenblock wird in der gleichen
Position untergebracht, in der sich der ersetzte Datenblock ursprünglich befand. Angenommen, die
Adresse des angesteuerten Datenblockes ist© und der entsprechende Datenblock wird unter dieser Adresse
©nicht gefunden, dann wird die Pufferungültigkeitsadresseninformation
an alle Pufferspeicher mit Ausnahme des Pufferspeichers der im Zugriff befindlichen
zentralen Verarbeitungseinheit ausgegeben (siehe F i g. 6D). Gleichzeitig wird unter der Annahme, daß die
Adresse des bestimmten aus dem Speicher 63 zu ersetzenden Datenblockes (E) ist, der unter dieser
Adresse ® gespeicherte Datenblock aus dem Hauptspeicher 14 gebracht und der unter der Adresse® des
Hauptspeichers 14 gespeicherte Datenblock in den Speicher 63 gebracht wird. Es soll bemerkt werden, daß
in diesem Fall, obgleich der Datenblock der Adresse ©in irgendeinem der Pufferspeicher vorhanden ist, der
Datenblock in jedem dieser Pufferspeicher nicht ungültig gemacht wird für den Fall, daß die Pufferungültigkeitsadresseninformation
(BlA) nicht vom Speicher 63 ausgesandt wird. Gleichzeitig wird nur eines der
Kopiekennzeichen des in den Speicher 63 gebrachten Datenblockes, das der im Zugriff befindlichen zentralen
Verarbeitungseinheit entspricht, gesetzt (Wechsel in den logischen Zustand »1«) oder zurückgesetzt
(Wechsel in den logischen Zustand »0«), je nachdem, ob
der angesteuerte Datenblock in dem Pufferspeicher dieser im Zugriff befindlichen zentralen Verarbeitungseinheit gefunden worden ist oder nicht (siehe Fig.6D
und den Schritt »Setzen oder Rücksetzen des Kopiekennzeichens der zugreifenden zentralen Verarbeitungseinheit in Abhängigkeit da von, ob der hineingebrachte Da tenblock im Pufferspeicher der zugreifenden
zentralen Verarbeitungseinheit gefunden worden ist oder nicht und Rücksetzen alier übrigen Kopiekennzei-
chen«m Fig.5A).
Wenn zwar der angesteuerte Datenblock im Zwischenpuffer-Speicher 63 gefunden worden ist (siehe
»ja« des Schritts »Ist angesteuerter Datenblock gefunden worden?« in Fig.5A), aber das Gültigkeitskennzeichen angibt, daß sämtliche Kopiekennzeichen
ungültig sind (siehe »nein« des Schritts »Zeigt das Gültigkeitskennzeicken Gültigkeit an?« in Fig. 5A),
dann wird die Pufferungültigkeitsadresseninformation an sämtliche Pufferspeicher mit Ausnahme des Pufferspeichers
gesandt, der der im Zugriff befindlichen zentralen Verarbeitungseinheit zugeordnet ist (siehe
Fig.6C und »Pufferungültigkeitsadresseninformation
geht an alle Pufferspeicher mit Ausnahme des Pufferspeichers der zugreifenden zentralen Verarbei
tungseinheit« in F i g. 5A). Danach wird das Gültigkeitskennzeichen in den logischen Zustand »1« zurückgesetzt,
der anzeigt, daß sämtliche Kopiekennzeichen gültig sind (siehe »Gültigkeitskennzeichen ist gesetzt«
in F i g. 5A). Danach wird das Kopiekennzeichen der im Zugriff befindlichen zentralen Verarbeitungseinheit
entweder gesetzt (Obergang zum logischen Zustand »1«) oder zurückgesetzt (Übergang zum logischen
Zustand »0«), je nachdem, ob der angesteuerte Datenblock in dem Pufferspeicher dieser im Zugriff
befindlichen zentralen Verarbeitungseinheit gefunden worden ist oder nicht, und es werden sämtliche übrigen
Kopiekennzeichen ebenfalls zurückgesetzt (Übergang in den logischen Zustand »0«).
Die Verwendung des Gültigkeitskennzeichens 45 (F i g. 4,6A bis 6D) bei der Erfindung hat den folgenden
Grund.
Wenn eine der zentralen Verarbeitungseinheiten, zum Beispiel die Einheit 11-1 (Fig.6A bis 6D) eine
Anforderung zum Lesen eines Datenblockes an den Zwischenpufferspeicher 63 abgibt, aber der zu lesende
Datenblock in dem Speicher nicht gefunden wird, dann wird hieraus ein bestimmter Datenblock ersetzt und der
zu lesende Datenblock aus dem Hauptspeicher 14 in den Speicher 63 gebracht In diesem Fall ist es nicht klar, ob
eine Kopie dieses in den Speicher 63 gebrachten Datenblockes noch in irgendeinem der Pufferspeicher
15-0, 15-1 bis 15-m existiert Das heißt, es besteht die
Möglichkeit daß eine Kopie dieses eingebrachten Datenblockes in irgendeinem der Pufferspeicher, zum
Beispiel im Pufferspeicher 15-m, existiert, das heißt in
einem anderen Pufferspeicher als dem der zugreifenden zentralen Verarbeitungseinheit 11-1. Existiert eine
Kopie dieses eingebrachten Datenblockes in irgendeinem der übrigen Pufferspeicher und ist jedoch nur ein
Kopiekennzeichen der im Zugriff befindlichen zentralen Verarbeitungseinheit gesetzt worden (Wechsel zum
logischen Zustand »1«), während die übrigen Kopiekennzeichen zurückgesetzt worden sind (Wechsel in
den logischen Zustand »0«), dann sind die übrigen Kopiekennzeichen ungültig, well der Pufferspeicher
15-m immer noch eine Kopie dieses eingebrachten
Datenblockes speichert Wenn demnach irgendeines der Kopiekennzeichen ungültig ist dann muß das Gültigkeitskennzeichen
in den logischen Zustand »0« gesetzt werden (Übergang zum logischen Zustand »0«), um
anzuzeigen, daß wenigstens eines der Kopiekennzeichen falsch ist. Gibt beispielsweise die zentrale
Verarbeitungseinheit 11-1 eine Anforderung zum Lesen
eines Datenblockes A aus und dieser Datenblock A kann im Speicher 63 nicht gefunden werden, dann wird
der Datenblock A in den Speicher 63 gebracht und außerdem im Pufferspeicher 15-1 gespeichert. Wenn
ίο danach beispielsweise die zentrale Verarbeitungseinheit
11-m eine Anforderung zum Lesen eines Datenblockes E ausgibt, dieser Datenblock im Speicher 63 jedoch
nicht gefunden werden kann, dann erfolgt ein Ersetzen bzw. Austausch von Datenblöcken im Speicher 63. Für
den Fall, daß der Datenblock A ersetzt wird, um den Datenblock ,Baus dem Speicher 14 in den Speicher 63 zu
bringen und die zentrale Verarbeitungseinheit ü-0 danach eine Anforderung zum Lesen des Datenblocks A
abgibt, dann muß dieser Datenblock A vom Hauptspeieher 14 in den Speicher 63 gebracht werden. Zu diesem
Zeitpunkt kann die zentrale Verarbeitungseinheit 11-0 keine Information darüber geben, ob der Pufferspeicher
15-1 eine Kopie des Datenblockes A eingespeichert hat oder nicht, obgleich dieser Datenblock A im Speicher 63
nicht gefunden worden ist Folglich ist das Kopiekennzeichen des Pufferspeichers 15-1, dessen logischer
Zustand jetzt »0« ist, falsch. Folglich muß das Gültigkeitskennzeichen 45 in den logischen Zustand »0«
gesetzt werden (geändert in den logischen Zustand »1«), um anzuzeigen, daß wenigstens eines der Kopiekennzeichen
falsch ist.
Die Bedingung zum Setzen des Gültigkeitskennzeichens 45 (gewechselt in den logischen Zustand »1«) ist
folgende.
Gibt beispielsweise die zentrale Verarbeitungseinheit 11-1 eine Anforderung zum Schreiben eines Datenblokkes
ab, dann geht die Pufferungültigkeitsadresseninformation an alle Pufferspeicher mit Ausnahme des
Pufferspeichers 15-1. Sowohl für den Fall, daß der zu schreibende Datenblock im Speicher 63 nicht gefunden
wird, als auch für den Fall, daß der zu schreibende 'Datenblock gefunden wird, wird das Gültigkeitskennzeichen
45 in den logischen Zustand »1« gesetzt Wenn der Datenblock im Speicher 63 gefunden wird und das
Gültigkeitskennzeichen 45 somit die Gültigkeit anzeigt, wird die Pufferungültigkeitsadresseninformation an die
Pufferspeicher gesandt, die Kopien des entsprechenden Datenblockes enthalten. In jedem Fall wird, wenn eine
Anforderung /um Schreiben eines Datenblockes von
so irgendeiner der zentralen Verarbeitungseinheiten ergehl,
das (iültigkeitskennzeichen 45 gesetzt (umgewandelt in den logischen Zustand »1«). Wenn, im Gegensatz
hierzu, em angesteuerter Datenblock aufgrund einer Anforderung /um lesen dieses Datenblockcs in den
Speicher 63 gebracht wird, wird das Güliigkcu^kenn/ci
chen 45 in den logischen Zustand »0« /uruckgcsetZt
(geändert in den logischen Zustand »0«). der «lii/oigt.
daß wenigstens eines der Kopiekenn/eichen nicht richtig sein könnte.
Fig.5B stellt ein Flußdiagramm dar.das die Schritte
des Verfahrens zur Durchführung der Pufferspeicher Koinzidenz, insbesondere die Schritte zur Verarbeitung
der erwähnten Kopiekennzeichen und des Gültigkeitskennzeichens,
angibt In F i g. 5B beginnt der Ablauf mit dem Schritt »Anforderung auf Zugriff zum Zwischen
puffer-Speicher«. An diesen schließt sich der Schritt »Ist
der angesteuerte Datenblock im Zwischenpufferspei cher gefunden worden ?« an. Ist die Antwort »nein«.
dann geht der Ablauf zum dritten Schritt »Angesteuerter Datenblock wird in den Zwischenpuffer-Speicher
gebracht«. War hingegen das Ergebnis des zweiten Schrittes »ja« dann iolgt als vierter Schritt »Ist es eine
Anforderung zum Schreiben oder Lesen?« Auf die Antwort »Lesen« schließt sich der fünfte Schritt
»Kopiekennzeichen des Pufferspeichers der zugreifen den zentralen Verarbeitungseinheit wird gesetzt« an. Ist
hingegen das Ergebnis des vierten Schrittes »Schrei ben«, dann schließt sich als sechster Schritt »Setzen
oder Rücksetzen des Kopiekennzeichen des Pufferspeichers der zugreifenden zentralen Verarbeitungseinheit
in Abhängigkeit davon, ob der angesteuerte Datenblock in diesem Pufferspeicher gefunden worden ist oder nicht
und Rücksetzen der Kopiekennzeichen der Pufferspei- is
eher der übrigen zentralen Verarbeitungseinheiten« an. Daraufhin folgt als siebter Schritt »Setzen des
Gültigkeitskennzeichens«.
Wird andererseits beim zweiten Schritt »Ist der angesteuerte Datenblock im Zwischenpufferspeicher
gefunden worden?« als Ergebnis »Nein« erhalten, dann folgt der dritte Schritt »Angesteuerter Datenblock wird
in den Zwischenpufferspeicher gebracht«. Als achter Schritt folgt »Ist es eine Anforderung zum Schreiben
oder Lesen ?«. Falls das Ergebnis des achten Schrittes »Schreiben« ist, folgt der neunte Schritt »Setzen oder
Rücksetzen des Kopiekennzeichens des Pufferspeichers der zugreifenden zentralen Verarbeitungseinheit in
Abhängigkeit davon, ob der angesteuerte Datenblock in diesem Pufferspeicher gefunden worden ist oder nicht
und Rücksetzen des Kopiekennzeichens der Pufferspei cher der übrigen zentralen Verarbeitungseinheiten«. Ist
im Gegensatz hierzu die Antwort »Lesen«, dann folgt der zehnte Schritt »Kopiekennzeichen des Pufferspeichers der zugreifenden zentralen Verarbeitungseinheit
wird gesetzt und das Gültigkeitskennzeichen zurückgesetzt«.
Bei der obigen Beschreibung wird das Kopiekennzeichen des Pufferspeichers der im Zugriff befindlichen
zentralen Verarbeitungseinheit in Abhängigkeit davon gesetzt oder zurückgesetzt, ob der angesteuerte
Datenblock in diesem Pufferspeicher gefunden worden ist oder nicht. Es besteht aber auch die Möglichkeit den
folgenden Schritt anzuwenden, d. h. das Kopiekennzeichen wird ohne Bedingung gesetzt, wenn eine
Anforderung zum Schreiben an einen Datenblock gerichtet wird, der im Zwischenpufferspeicher gefunden
worden ist, oder, wenn ein Datenblock bei Vorhandensein einer Anforderung zum Schreiben in den
Zwischenpufferspeichci gebracht wird.
Die vorstehende Erläuterung betrifft die Verwendung des Gültigkeitskennzeichens. Es kann aber auch der
folgende Schritt angewandt werden, d. h., wenn ein ''Datenblock in den Zwischenpufferspeicher bei Vorhandensein
einer Anforderung zum Lesen eingebracht wird, dann werden sämtliche Kopiekennzeichen, die diesen
angesteuerten Datenblock betreffen, gesetzt, ohne Anwendung des Gültigkeitskennzeichens.
Die durch die Erfindung erzielbaren Vorteile sind folgende.
Zunächst wird die Pufferungüitigkeits-Adresseninformation nicht an die Pufferspeicher gesandt, wenn ein
bestimmter Datenblock im Zwischenpufferspeicher ersetzt wird. Bei der bekannten Methode muß die
Pufferungültigkeits-Adresseninformation an die Puffer- b5 speicher gegeben werden, die Kopien des ersetzten
Datenblockes in Übereinstimmung mit Kopiekennzeichen haben. Insbesondere muß bei Anwendung des
bekannten Verfahrens der in F i g. 2 mit *1 gekennzeichneten Schritt zwischen die in Fig.5A mit *2 und *3
gekennzeichneten Schritte eingefügt werden. Da die Pufferungültigkeits-Adresseninformalion bezüglich des
vom Zwischenpufferspeicher ersetzten Datenblockes nicht zu den Pufferspeichern gesandt wird, ist es
demzufolge möglich, in den Pufferspeichern Dalenblökke zu speichern. Folglich werden die Datenblöcke in
dem Zwischenpufferspeicher ersetzt und nicht gespeichert. Somit läßt sich im Pufferspeicher das in F i g. 7A
dargestellte Speicherkapazitätsmuster bilden. In F i g. 7A stellen die Kreise B1, B 2... Bm Speicherinformationen
der Pufferspeicher 15-0,15-1... 15-m dar und
der Kreis I repräsentiert eine Speicherinformation des Zwischenpufferspeichers 63. Im Gegensatz hierzu sind
bei dem bekannten Verfahren gemäß Fig.7B die
Speicherinformationen S1,52... Bm vollständig in der
Speicherinformation Γ des Zwischenpufferspeichers 13 eingeschlossen, weil bei dem bekannten Verfahren der
Zwischenpufferspeicher 13 und die Pufferspeicher 15-0, 15-1 bis 15-;n unter der Bedingung überwacht werden,
daß die in wenigstens einem der Pufferspeicher gespeicherten Datenblöcke auch in dem Zwischenpufferspeicher
gespeichert werden müssen. Wie aus einem Vergleicl der F i g. 7A und 7B ersichtlich, wird die
gesamte Speicherkapazität bei dem Mehrprozessorsystem gemäß vorliegender Erfindung wesentlich erweitert.
Ferner wird durch die Anwendung des erfindungsgemäßen Verfahrens das vorstehend genannte unerwünschte
Problem eliminiert. Wenn folglich ein Austausch in dem Zwischenpufferspeicher erfolgt, der
sehr häufig von irgendeiner der zentralen Prozeßeinheiten benutzt wird und es wird ein bestimmter
bezeichneter Datenblock so aus diesem ersetzt, dann wird dieser Datenblock durch die Pufferungültigkeits-Adresseninformation
nicht gelöscht.
Als weiterer Vorteil kann genannt werden, daß selbst wenn im Zwischenpufferspeicher ein Austausch erfolgt,
es nicht notwendig ist, die Pufferungültigkeits-Adresseninformation
abhängig von den Zuständen der Kopiekennzeichen an ausgewählte Pufferspeicher zu
senden, wie das gewöhnlich bei dem bekannten Verfahren der Fall ist. Demgemäß wird der Austauschsteuervorgang
verglichen zu dem beim bekannten Verfahren vereinfacht.
Zur Verwirklichung der genannten Vorteile ist es notwendig, den in Fig. 5A mit M bezeichneten Schritt
einzuführen. Ein diesem Schritt ähnlicher Schritt ist in Fig.2 nicht vorgesehen. Obwohl die Einführung eines
solchen Schrittes *4 nachteilig erscheint, muß dieser Schritt bei der Erfindung eingeführt werden, damit nicht
garantiert ist, das Kopien des vom Zwischenpufferspeicher ersetzten Datenblockes immer aus den Pufferspeichern
gelöscht werden. Mit anderen Worten, die Gesamtkapazität wird beträchtlich erweitert, da, wie
F i g. 7A zeigt, eine solche Garantie bei vorliegender Erfindung nicht existiert. Es soll jedoch bemerkt
werden, daß die Wahrscheinlichkeit eines Auftretens von Schritt *4 während des Ablaufs sehr gering ist, weil
dieser Schritt *4 nur auftritt, wenn der angesteuerte, einzuschreibende Datenblock nicht im Zwischenpufferspeicher
gefunden wird. Gewöhnlich tritt ein solcher »Nicht-Auffindbar-Fall« nur mit einer Häufigkeit von
beispielsweise etwa 5% ein, während der »Aufgefundene Fall« beispielsweise mit einer Häufigkeit von etwa
95% auftritt. Dadurch fällt der zuvor erwähnte Nachteil nicht ins Gewicht.
Fig.8stellt ein Blockschaltbild eines detaillierten
Ausführungsbeispiels des in den F i g. 6A bis 6D dargestellten Zwischenpufferspeichers 63 gemäß dieser
Erfindung dar. In F i g. 8 repräsentieren die Bezugszeichen 81-1 bis 81-p jeweils Adressenfelder, 82-1 bis 82-p
Kopiekennzeichen, die jeweils das Gültigkeitskennzeichen enthalten, 83-1 bis 83-p Datenfelder, 84-1 bis 84-p
Adressenkomparatoren, 85 einen Kennzeichenwähle··, 86 ein Kennzeichenregister, 87 einen Datenwähler und
88-1 bis 88-4 sowie 88-Λ/ ein Datenregister. Das in den
F i g. 4 und 6A bis 6D enthaltene Identifizierungskennzeichen 41 ist aus den oben zitierten Elementen mit
Ausnahme der Elemente 83-1 bis 83-m, 86, 87, 88-1 bis
88-4 und 88-M aufgebaut Bei diesem Ausführungsbeispiel gibt es 4 zentrale Verarbeitungseinheiten 11-1 bis
11-4 und vier Adressenregister 91-1 bis 91-4. Alle vier Register sind an einen Adressenwähler 92 angeschlossen,
mit dem wiederum ein ausgewähltes Adressenregister 93 verbunden ist Vier Datenregister 94-1 bis 94-4
sind vorhanden, da es vier zentrale Verarbeitungseinheiten 11-1 bis 11-4 gibt Ein Datenregister 94-Λ/ist an den
Hauptspeicher 14 angeschlossen. Die Register 94-1 bis 94-4 und 94-M sind an einen Datenwähler 99
angeschlossen. Die Bezugszahl 100 repräsentiert eine logische Schaltung zum Erzeugen der Pufferungültigkeits-Adresseninformation
(BIA). Diese logische Schaltung ist ein wichtiges Element bei der Durchführung des
erfindungsgemäßen Verfahrens. Einzelheiten dieser logischen Schaltung werden anhand von F i g. 9
erläutert.
Der in F i g. 8 dargestellte Zwischenpufferspeicher 63 arbeitet wie folgt.
Jede Adresseninformation für einen Zugriff zum Zwischenpufferspeicher 63 wird von den zentralen
Verarbeitungseinheiten 11-1 bis 11-4 jeweils an die Adressenregister 91-1 bis 91-4 geliefert. Eine konventionelle
Vorrang-Bestimmungseinrichtung 95 bestimmt, welche Adresseninformation zuerst gewählt werden
soll. Nach dieser Wahl wird die ausgewählte Adresseninformation in das ausgewählte Adressenregister 93
übertragen und in diesem Register gespeichert Dieses Register 93 liefert die obere Adresse L) (siehe oberer
Adresseninformationsbereich 44 in Fi g. 4) und eine Setzadresse 5. Die Setzadresse 5 kann im Hinblick auf
die obere Adresse L/eine untere Adresse sein.
Die Setzadresse 5 ist jedoch abhängig von der Änderung der oberen Adresse U veränderbar, um den
gesamten Speicherbereich gleichförmig ausnutzen zu können. Durch die Adressen U und S werden die
Adressenfelder 81-1 bis 81-p, die Kopiekennzeichen 82-1 bis 82-p und die Datenfelder 83-1 bis 83-p wieder
auffindbar. Die Adressenkomparatoren 84-1 bis 84-p vergleichen die jeweils von den Adressenzählern 81-1
bis 81-p abgeleiteten oberen Adressen mit der oberen Adresse I). Wenn die angesteuerte Adresse zum
Beispiel auf den Pegel »p« trifft, dann wird vom Adresser.Uomparator S4-p ein Treffersignal (Signal für
erfolgreichen Vergleich) ρ erzeugt Danach werden mit Hilfe des Kennzeichenwählers 85 bzw. des Datenwählers
87 durch das Treifersignal P das Kopiekennzeichen 82-p und das Datenfeld 83-p ausgewählt Somit
speichert das Kennzeichenregister 86 die Gültigkeitskennzeicheninformation des betreffenden Datenblokkes
in einem Bereich V und speichert gleichzeitig jede Kopiekennzeicheninformation dieses Datenblockes in
ίο Bezug auf die zentralen Verarbeitungseinheiten 11-1 bis
11-4 jeweils in einem Bereich »COPY«. Die Kopiekennzeichen (siehe 43-1 bis 43-3 in den F i g. 4 und 6A bis 6D)
und das Gültigkeitskennzeichen (siehe 45 in den genannten Figuren) werden der logische Schaltung 100
zugeführt Die Ausgänge der Adressenkomparatoren 84-1 bis 84-p werden über ein ODER-Gatter 98 an die
logische Schaltung 100 geliefert Der Ausgang des ODER-Gatters 98 entspricht der gefunden/nicht gefunden
Information. Der Ausdruck »gefunden« bedeutet wie bereits erwähnt, daß der angesteuerte Datenblock
im Zwischenpufferspeicher 63 gefunden worden ist. Der Ausdruck »nicht gefunden« bedeutet, daß der angesteuerte
Datenblock nicht gefunden worden ist Die logische Schaltung 100 erhält ferner von der Vorrang-Beslimmungseinrichtung95
eine Information ζ)'welche
die laufende Nummer der zentralen Verarbeitungseinheit angibt. Außerdem erhält die logische Schaltung
vom Adressenwähler 92 eine Information R. Das Ausgangssignal des Adressenwählers 92 zeigt die
Information R an, die erkennen läßt, daß eine Anforderung für den Zugriff zum Speicher 63 keine
Anforderung zum Lesen eines Datenblockes sondern eine Anforderung zum Schreiben eines Datenblockes
ist. Wird die Information R erzeugt, dann wird von der im Zugriff befindlichen zentralen Verarbeitungseinheit
ein Schreibdatenblock geliefert und im entsprechenden Datenregister (94-1, 94-2, 94-3 oder 94-4) gespeichert.
Dann wird der Datenblock in das im Zugriff befindliche Datenfeld (83-1, 83-2, 83-3 oder 83-4) eingeschrieben.
Liefert die im Zugriff befindliche zentrale Verarbeitungseinheit eine Anforderung zum Lesen eines
Datenblockes, dann wird ein entsprechender Lese-Datenblock von dem betreffenden Datenregister (88-1,
88-2,88-3 oder 88-4) übertragen.
Wenn im Speicher 63 der erwähnte Austausch erfolgt, wird der in diesen Speicher 63 zu bringende Datenblock
vom Hauptspeicher 14 geliefert und vorübergehend im Datenregister 94-M gespeichert. Gleichzeitig wird der
bestimmte aus dem Speicher 63 in den Hauptspeicher 14
to zu bringende Datenblock vorübergehend im Datenregister 88-Mgespeichert.
Die in F i g. 8 dargestellte logische Schallung 100 zur
Erzeugung der Pufferungüitigkeitsadresseninformation (BlA) arbeitet gemäß dem folgenden logischen Ausdruck:
IiIA CO
REQ CK
Hx :/v I■' x
In diesem logischen Ausdruck gibt der Begriff »ΒΙΑ GO U i« an, daß jeder der Pufferungültigkeits- bo
adresseninformation entsprechende Ausgang der logi sehen Schaltung 100 (dargestellt in F i g. 8) an die Me
zentrale Verarbeitungseinheit gesandt werden muß, wobei /=1, 2, 3 oder 4 bedeuten kann. Der Begriff
»REQ ■ CPU« gibt an, daß die /-te zentrale Verarbei- b1)
tungseinheit eine Verarbeilungseinheit ist, welche keine Anforderung auf Zugriff zum Zwischenpufferspeicher
abgibt, weil es nicht erforderlich ist, die Pufferungültig-'COI'Ytt i)\
keitsadresseninformation an einen Pufferspeicher der
im Zugriff befindlichen /-ten zentralen Verarbeitungseinheit zu senden. Der Begriff » W« gibt an. daß die Me
zentrale Verarbeitungseinheit eine Anforderung zum Schreiben eines Datenblocks an den Zwischenpufferspeicher
ausgibt. Der Begriff »F« gibt an, daß der angesteuerte Datenblock im Zwischenpufferspeicher
nicht gefunden worden ist Der Ausdruck »F« bedeutet, daß der angesteuerte Datenblock im Zwischenpufferspeicher
gefunden worden ist. Der Begriff » VIF« sagt
130 212/479
aus, daß das Gültigkeitskennzeichen eine Ungültigkeit von Kopiekennzeichen bezeichnet Der Begriff
»COPY # i« gibt an, daß sich das Kopiekennzeichen des Pufferspeichers der Men zentralen Verarbeitungseinheit im logischen Zustand »1« befindet rerner stellt
das Symbol » χ « ein logisches Produkt (UND) und das Symbol » ν « eine logische Summe (ODER) dar. Der
Begriff »ΒΙΑ GO # i« wird erzeugt, wenn a) die /-te
zentrale Verarbeitungseinheit nicht eine im Zugriff befindliche zentrale Verarbeitungseinheit ist, also
»REQ ■ CPU gilt, wenn b) die zentrale Verarbeitungseinheit eine Anforderung auf Schreiben eines Datenblockes
gibt, also bei» W«, und wenn c) der Ausdruck
IfVfX (VIF ν COPY# Oi
erfüllt wird. Dieser vorstehende Ausdruck wird erfüllt
erfüllt wird. Dieser vorstehende Ausdruck wird erfüllt
wenn d) der angesteuerte Datenblock nicht gefunden wird, also »F« gilt, oder wenn e) der Ausdruck
»Fχ (VlF ν COPY # i)« erfüllt wird. Dieser letztgenannte
Ausdruck wird erfüllt wenn f) der Zugriffsdatenbloek
gefunden und g) der Ausdruck VZFv COPY # i erfüllt wird. Dieser vorstehende Ausdruck wird erfüllt
wenn h) das Gültigkeitskennzeichen aussagt, daß die Kopiekennzeichen ungültig sein können, also VIF gilt
oder wenn eine Kopie dieses Datenblocks in dem Pufferspeicher der /-ten zentralen Verarbeitungseinheit
gespeichert ist, also wenn »COPY#i« gilt Die
Ausdrücke a) bis h) sind bereits oben unter Bezugnahme auf die Flußdiagramme von Fig.5A und 5B erwähnt
worden.
Wie schon erwähnt, arbeitet die logische Schaltung 100 von F i g. 8 nach dem logischen Ausdruck
BIAG0#i = REQ · CPU X W X Ifvf X (VIFν COPY# i)\
Aus diesem Grund kann man die logische Schaltung 100 beispielsweise mit den in Fig.9 dargestellten
Gatterschaltungen aufbauen. Man beachte, daß in der logischen Schaltung 100 von Fig.8 vier ähnliche
Gatterschaltungen gemäß Fig.9 vorhanden sind, nämlich jeweils für die vier zentralen Verarbeitungseinheiten
11-1 bis 11-4. Die Schaltung von Fig.9 enthält
einen Inverter INV, ODER-Gatter Oi, O2, und
UND-Gatter A 1, A 2. Der Ausdruck »REQ ■ CPU« ist
eine Inversion für den Begriff »REQ ■ CPU« aus dem zuvor aufgeführten logischen Ausdruck. In F i g. 8 ist der
Begriff »REQ ■ CPU« durch eine Information Q repräsentiert. Der Begriff »W« in F i g. 9 ist der gleiche
wie in dem logischen Ausdruck oben und entspricht der Information R von F i g. 8. Die Begriffe »F« und »F« in
.Fig. 9 entsprechen den gleichen Begriffen in dem logischen Ausdruck, nämlich dem Ausgang des ODER-Gatters
98 von Fig.8. Der Begriff »VW« von Fig.9
entspricht dem gleichen Begriff aus dem logischen Ausdruck und bedeutet eine logische:*0« in dem Bereich
V des Kennzeichenregisters 86 von F i g. 8. Der Begriff »COPY#i« von F i g. 9 ist der gleiche wie im logischen
Ausdruck, er entspricht dem /-ten Bit im Bereich »COPY« des Kennzeichenregisters 86 von F i g. 8.
Folglich weiden in F i g. 8 die »ΒΙΑ GOff-Ausgänge,
welche einer logischen »1« oder »0« entsprechen, von der logischen Schaltung 100 erzeugt, an den ersten
Eingang eines entsprechenden der UND-Gatter 97-1 bis
97-4 abgegeben.
Die Pufferungültigkeits-Adresseninformation (BIA) entspricht der Adresse des zu schreibenden Datenblokkes.
Folglich wird diese Adresse von dem Adressen-Wähler 92 geliefert und in einem Adressen-Register 96
gespeichert, dessen Ausgang gemeinsam an die zweiten Eingänge der UND-Gatter 97-1 bis 97-4 geht. Wenn
beispielsweise BIA GO#3 den logischen Zustand »1« annimmt, dann öffnet das UND-Gatter 97-3, und
gleichzeitig wird die Pufferungültigkeits-Adresse, d. h. die im Adressenregister 96 gespeicherte Adresse an die
dritte zentrale Verarbeitungseinheit 11-3 gesandt.
Hierzu 11 Blatt Zeichnungen
Claims (8)
1. Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem
— welches mehrere zentrale Verarbeitungseinheiten,
die je einen Pufferspeicher enthalten, einen gemeinsam von den zentralen Verarbeitungseinheiten
benutzten Hauptspeicher und einen zwischen dem Hauptspeicher sowie den Pufferspeichern
angeordneten Zwischenpufferspeicher aufweist,
— wobei der Zwischenpufferspeicher Datenblockspeicherbereiche
und mit diesen jeweils verbundene Überwachungsinformations-Speicherbereiche enthält, von denen jeder Überwachungsinformation
speichert, aus der entnehmbar ist, ob eine Kopie eines in dem betreffenden Datenblockspeicherbereich
enthaltenen Datenblocks in jedem der Pufferspeicher richtig gespeichert ist oder nicht,
— wobei zunächst festgestellt wird, ob eine der zentralen Verarbeitungseinheiten eine Anforderung
auf Zugriff zum Zwischenpufferbereich abgibt,
gekennzeichnet durch folgende weitere Verfahrensschritte.·
a) bei einer Anforderung zum Einschreiben eines Datenblocks in den Zwischenpufferspeicher
wird geprüft, ob der betreffende Datenblock in dem Zwischenpufferspeicher vorhanden ist,
wobei
bl) im Nein-Falle eine Pufferungültigkeits-Adresseninformation
an alle Pufferspeicher mit Ausnahme des Pufferspeichers der im Zugriff befindlichen zentralen Verarbeitungseinheit abgegeben
wird, wobei eine Adresse der Pufferungültigkeits-Adresseninformation
identisch ist mit der Adresse des angesteuerten Datenblocks,
b2) im Ja-Falle eine Pufferungültigkeits-Adresseninformation nur an die Pufferspeicher abgegeben
wird, welche durch diesen Zwischenpufferspeicher in Übereinstimmung mit der Überwachungsinformation
bestimmt werden,
c) bei einer Anforderung zum Lesen eines Datenblocks vom Zwischenpufferspeicher wird verhindert, daß eine Pufferungültigkeits-Adresseninformation an irgendeinen der Pufferspeicher gegeben wird.
c) bei einer Anforderung zum Lesen eines Datenblocks vom Zwischenpufferspeicher wird verhindert, daß eine Pufferungültigkeits-Adresseninformation an irgendeinen der Pufferspeicher gegeben wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß eine Anforderung zum Einschreiben
bezüglich der Pufferspeicher einerseits und dem Zwischenpufferspeicher andererseits mittels der
Durchspeicher-Steuermethode (store-through-control method) verarbeitet wird.
3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß jeder Überwachungsinformations-Speicherbereich
Kopiekennzeichen und ein Gültigkeitskennzeichen umfaßt, von denen jedes Kopiekennzeichen einem bestimmten Pufferspeicher
zugeordnet ist und angibt, ob dieser eine Kopie des im Zugriff befindlichen Datenblocks
speichert, während das Gültigkeitskennzeichen in einem ersten von zwei Zuständen angibt, daß die
Aussage aller Kopiekennzeichen wahr ist.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß das Gültigkeitskennzeichen im Nein-Falle
in den zweiten Zustand zurückgesetzt wird, wenn der betreffende Datenblock nicht in dem
Zwischenspeicher gefunden wird und daraufhin in den Zwischenpufferspeicher gebracht wird, und daß
der zweite Zustand des Gültigkeitskennzeichens anzeigt, daß die Aussage wenigstens eines der
Kopiekennzeichen falsch sein könnte.
5. Verfahren nach einem der Ansprüche 3 oder 4, dadurch gekennzeichnet, daß das einem Datenblock
zugeordnete Gültigkeitskennzeichen in den ersten Zustand gesetzt wird, wenn die in Zugriff befindliche
zentrale Verarbeitungseinheit eine Anforderung auf Schreiben in diesen Datenblock im Zwischenpufferspeicher
abgibt.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß auch im
Schritt b2 keine Pufferungültigkeits-Adresseninformation an den Pufferspeicher der im Zugriff
befindlichen zentralen Verarbeitungseinheit abgegeben wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Information
»gefunden«/»nicht gefunden« von der im Zugriff befindlichen zentralen Verarbeitungseinheit
abgegeben wird, wenn diese Einheit an den Zwischenpufferspeicher eine Anforderung auf
Schreiben eines Datenblocks ausgibt, und daß die Information »gefunden«/»nicht gefunden« aussagt,
daß ein entsprechender Datenblock in dem Pufferspeicher der im Zugriff befindlichen zentralen
Verarbeitungseinheit gefunden bzw. nicht gefunden worden ist.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Zwischenpufferspeicher
folgende sechs Informationsarten: REQ CPU, W, F, F, Copy # /und VlFprüft
und dann die Information BIA GO # / erzeugt, welche angibt, daß eine Pufferungültigkeits-Adresseninformation
an die /-te (7=1, 2, 3...) zentrale Verarbeitungseinheit zu senden ist, nach folgendem
logischem Ausdruck
BlAGO #i = REQ ■ CPU χ Wx IF ν F χ (COPY# 1 ν VIF)}
worin der Begriff »REQ ■ CPU« aussagt, daß die /-te zentrale Verarbeitungseinheit keine Anforderung
auf Zugriff zu dem Zwischenpufferspeicher abgibt,
der Begriff »W« aussagt, daß die oben genannte Anforderung sich auf das Schreiben eines Datenblocks bezieht,
der Begriff »W« aussagt, daß die oben genannte Anforderung sich auf das Schreiben eines Datenblocks bezieht,
die Begriffe »F« und »F« aussagen, daß der Zugriffs-Datenblock in dem Zwischenpufferspeicher
gefunden bzw. nicht gefunden worden ist,
der Begriff »COPY # i« aussagt, daß eine Kopie
eines korrespondierenden Datenblockes in dem Pufferspeicher der /-ten zentralen Verarbeitungseinheit
gespeichert ist,
der Begriff» VIF« erkennen läßt, daß Kopiekennzeichen
ungültig sein könnten, und
die Symbole » χ « und » ν « ein logisches Produkt bzw. eine logische Summe repräsentieren.
die Symbole » χ « und » ν « ein logisches Produkt bzw. eine logische Summe repräsentieren.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP52160451A JPS5849945B2 (ja) | 1977-12-29 | 1977-12-29 | バツフア合せ方式 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2856715A1 DE2856715A1 (de) | 1979-09-27 |
DE2856715B2 DE2856715B2 (de) | 1981-02-19 |
DE2856715C3 true DE2856715C3 (de) | 1981-10-15 |
Family
ID=15715208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2856715A Expired DE2856715C3 (de) | 1977-12-29 | 1978-12-29 | Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US4290103A (de) |
JP (1) | JPS5849945B2 (de) |
DE (1) | DE2856715C3 (de) |
FR (1) | FR2413718B1 (de) |
GB (1) | GB2011667B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4005319A1 (de) * | 1989-02-22 | 1990-08-23 | Siemens Ag | Verfahren und anordnung zur aufrechterhaltung der datenkonsistenz in einem multiprozessorsystem mit privaten cachespeichern |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4345309A (en) * | 1980-01-28 | 1982-08-17 | Digital Equipment Corporation | Relating to cached multiprocessor system with pipeline timing |
US4399506A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Store-in-cache processor means for clearing main storage |
CA1187198A (en) * | 1981-06-15 | 1985-05-14 | Takashi Chiba | System for controlling access to channel buffers |
US4464712A (en) * | 1981-07-06 | 1984-08-07 | International Business Machines Corporation | Second level cache replacement method and apparatus |
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
JPS60124754A (ja) * | 1983-12-09 | 1985-07-03 | Fujitsu Ltd | バッファ記憶制御装置 |
CA1241768A (en) * | 1984-06-22 | 1988-09-06 | Miyuki Ishida | Tag control circuit for buffer storage |
US4755930A (en) * | 1985-06-27 | 1988-07-05 | Encore Computer Corporation | Hierarchical cache memory system and method |
JPS62147548A (ja) * | 1985-12-23 | 1987-07-01 | Mitsubishi Electric Corp | 外部記憶制御装置 |
US4797814A (en) * | 1986-05-01 | 1989-01-10 | International Business Machines Corporation | Variable address mode cache |
US5179665A (en) * | 1987-06-24 | 1993-01-12 | Westinghouse Electric Corp. | Microprocessor information exchange with updating of messages by asynchronous processors using assigned and/or available buffers in dual port memory |
US5058006A (en) * | 1988-06-27 | 1991-10-15 | Digital Equipment Corporation | Method and apparatus for filtering invalidate requests |
EP0348628A3 (de) * | 1988-06-28 | 1991-01-02 | International Business Machines Corporation | Cache-Speicheranordnung |
US5032985A (en) * | 1988-07-21 | 1991-07-16 | International Business Machines Corporation | Multiprocessor system with memory fetch buffer invoked during cross-interrogation |
JPH035851A (ja) * | 1989-06-01 | 1991-01-11 | Fujitsu Ltd | バッファ記憶装置 |
US5307477A (en) * | 1989-12-01 | 1994-04-26 | Mips Computer Systems, Inc. | Two-level cache memory system |
US5467460A (en) * | 1990-02-14 | 1995-11-14 | Intel Corporation | M&A for minimizing data transfer to main memory from a writeback cache during a cache miss |
CA2047888A1 (en) * | 1990-07-27 | 1992-01-28 | Hirosada Tone | Hierarchical memory control system |
US5269009A (en) * | 1990-09-04 | 1993-12-07 | International Business Machines Corporation | Processor system with improved memory transfer means |
JP2707958B2 (ja) * | 1993-12-09 | 1998-02-04 | 日本電気株式会社 | キャッシュ一致処理制御装置 |
GB2450538A (en) * | 2007-06-28 | 2008-12-31 | Symbian Software Ltd | Copying computer files when manipulation is requested |
KR102629561B1 (ko) * | 2021-01-15 | 2024-01-25 | 한국건설기술연구원 | 슬래브의 단열 구조물 및 그 시공방법 |
KR102570281B1 (ko) * | 2022-06-14 | 2023-08-24 | 한국건설기술연구원 | 입체 경사의 형성이 가능한 단열부재 및 이를 이용한 슬래브의 단열 구조물 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3581291A (en) * | 1968-10-31 | 1971-05-25 | Hitachi Ltd | Memory control system in multiprocessing system |
US3771137A (en) * | 1971-09-10 | 1973-11-06 | Ibm | Memory control in a multipurpose system utilizing a broadcast |
JPS5440182B2 (de) * | 1974-02-26 | 1979-12-01 | ||
JPS5295128A (en) * | 1976-02-06 | 1977-08-10 | Hitachi Ltd | Information processing device |
US4136386A (en) * | 1977-10-06 | 1979-01-23 | International Business Machines Corporation | Backing store access coordination in a multi-processor system |
US4142234A (en) * | 1977-11-28 | 1979-02-27 | International Business Machines Corporation | Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system |
-
1977
- 1977-12-29 JP JP52160451A patent/JPS5849945B2/ja not_active Expired
-
1978
- 1978-10-26 GB GB7842069A patent/GB2011667B/en not_active Expired
- 1978-10-30 US US05/955,760 patent/US4290103A/en not_active Expired - Lifetime
- 1978-12-29 DE DE2856715A patent/DE2856715C3/de not_active Expired
- 1978-12-29 FR FR7836905A patent/FR2413718B1/fr not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4005319A1 (de) * | 1989-02-22 | 1990-08-23 | Siemens Ag | Verfahren und anordnung zur aufrechterhaltung der datenkonsistenz in einem multiprozessorsystem mit privaten cachespeichern |
Also Published As
Publication number | Publication date |
---|---|
GB2011667A (en) | 1979-07-11 |
JPS5849945B2 (ja) | 1983-11-08 |
JPS5492137A (en) | 1979-07-21 |
FR2413718B1 (fr) | 1986-03-28 |
GB2011667B (en) | 1982-05-19 |
US4290103A (en) | 1981-09-15 |
FR2413718A1 (fr) | 1979-07-27 |
DE2856715A1 (de) | 1979-09-27 |
DE2856715B2 (de) | 1981-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2856715C3 (de) | Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem | |
DE3011552C2 (de) | ||
DE3102150C2 (de) | Multiprozessor-Datenverarbeitungsanlage | |
DE3131341C2 (de) | ||
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE69222060T2 (de) | Semaphore umgehung. | |
DE2809602C3 (de) | Kanalbus-Steuereinrichtung | |
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
DE1499182B2 (de) | Datenspeichersystem | |
DE2521436A1 (de) | Informationswiedergewinnungsanordnung | |
DE3502147C2 (de) | ||
DE1303071B (de) | ||
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE69031696T2 (de) | Cache-Speicher mit der Möglichkeit im Fehlgriffsfall gleichzeitig zu aktualisieren und eine Entscheidung über die nächste Adresse zu treffen | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE69030072T2 (de) | Schneller Durchschreib-Cache-Speicher | |
DE3911721C2 (de) | ||
DE2710477C2 (de) | ||
DE60003426T2 (de) | Statusbits für cachespeicher | |
DE10158393A1 (de) | Speicher für die Zentraleinheit einer Rechenanlage, Rechenanlage und Verfahren zum Synchronisieren eines Speichers mit dem Hauptspeicher einer Rechenanlage | |
DE2750126A1 (de) | Datenverarbeitungssystem mit einem zwischenpufferspeicher | |
EP0970426B1 (de) | Abhängigkeitssteuerung für überlappende speicherzugriffe | |
DE4005319C2 (de) | Verfahren und Anordnung zur Aufrechterhaltung der Datenkonsistenz in einem Multiprozessorsystem mit privaten Cachespeichern | |
DE2947115A1 (de) | Loeschanordnung fuer einen cache- speicher eines prozessors in einem multiprozessorsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
C3 | Grant after two publication steps (3rd publication) | ||
8328 | Change in the person/name/address of the agent |
Free format text: BLUMBACH, KRAMER & PARTNER, 81245 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |