DE2856715C3 - Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem - Google Patents

Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem

Info

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
Application number
DE2856715A
Other languages
English (en)
Other versions
DE2856715B2 (de
DE2856715A1 (de
Inventor
Akira Yokohama Kanagawa Hattori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2856715A1 publication Critical patent/DE2856715A1/de
Publication of DE2856715B2 publication Critical patent/DE2856715B2/de
Application granted granted Critical
Publication of DE2856715C3 publication Critical patent/DE2856715C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies

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-
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
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)

Patentansprüche:
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.
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,
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.
DE2856715A 1977-12-29 1978-12-29 Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem Expired DE2856715C3 (de)

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)

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

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

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

Cited By (1)

* Cited by examiner, † Cited by third party
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
JPS5492137A (en) 1979-07-21
FR2413718B1 (fr) 1986-03-28
DE2856715B2 (de) 1981-02-19
DE2856715A1 (de) 1979-09-27
US4290103A (en) 1981-09-15
GB2011667B (en) 1982-05-19
JPS5849945B2 (ja) 1983-11-08
FR2413718A1 (fr) 1979-07-27

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)
DE3932474C2 (de) Plattenzugriff-Steuerverfahren
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
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
DE3439302A1 (de) Speichersteuerungsvorrichtung
DE1499182B2 (de) Datenspeichersystem
DE3502147C2 (de)
DE1303071B (de)
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
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
DE3431770A1 (de) Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere solchen aus ram-bausteinen
DE3429571C2 (de)

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