DE3932227A1 - Multiprozessorsystem - Google Patents

Multiprozessorsystem

Info

Publication number
DE3932227A1
DE3932227A1 DE19893932227 DE3932227A DE3932227A1 DE 3932227 A1 DE3932227 A1 DE 3932227A1 DE 19893932227 DE19893932227 DE 19893932227 DE 3932227 A DE3932227 A DE 3932227A DE 3932227 A1 DE3932227 A1 DE 3932227A1
Authority
DE
Germany
Prior art keywords
data
memory
buffer
buffer memory
working
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.)
Ceased
Application number
DE19893932227
Other languages
English (en)
Inventor
Toshihisa Taniguchi
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3932227A1 publication Critical patent/DE3932227A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

Die Erfindung betrifft ein Multiprozessorsystem mit einer hierarchischen Speicherstruktur und insbesondere ein Multiprozessorsystem mit einer zwei oder mehr Ebenen aufweisenden Speicherstruktur, die einen Hauptspeicher und eine Pufferspeicheranordnung aufweist, wobei eine Speichersteuerung auf jeder Ebene und die Verarbeitung von einer Mehrzahl von Prozessoren ausgeführt wird, und in der eine exklusive Datensteuerung zwischen einer Mehrzahl von Pufferspeichern wirksam ausgeführt wird, wenn Daten mit der gleichen Adresse in die Mehrzahl der Pufferspeicher einer jeden Ebene eingegeben werden.
In herkömmlichen Datenverarbeitungsanlagen ist die eine hierarchische Speicherstruktur besitzende Multiprozes­ sorsystemtechnik verwendet worden, um die Verarbeitungs­ geschwindigkeit und die Verarbeitungskapazität zu stei­ gern.
In Fig. 6 ist ein Beispiel eines solchen herkömmlichen Multiprozessorsystems mit einer hierarchischen Speicher­ struktur erläutert.
Wie in Fig. 6. gezeigt, weist die Speicherstruktur des Multiprozessorsystems eine hierarchische Dreiebenen­ struktur auf, die aus einem Hauptspeicher (HS) 61, einem in einer Speichersteuerung (SS) 62 enthaltenen Arbeits­ pufferspeicher (AS) 66 und aus Pufferspeichern (PS) 64 a und 64 b, die in entsprechenden Zentraleinheiten (CPU) 63 a und 63 b enthalten sind, besteht. Der AS 66, der SS 62 ist mit einem Eingabe/Ausgabeprozessor (EAP) 65 ver­ bunden, der eine Kanalverarbeitungsfunktion aufweist und die Eingabe/Ausgabesteuerung ausführt. Zwischen dem HS 61, dem AS 66 und den PS 64 a und 64 b wird eine Speicher­ steuerung ausgeführt, während die Datenverarbeitung an­ hand der Lesedaten der CPU 63 a bzw. 63 b und eines Pro­ gramms vom HS 61 ausgeführt wird.
In einem solchen Multiprozessorsystem wird die Daten- Übertragung vom AS 66 zu den PS 64 a bzw. 64 b mittels Blockeinheiten ausgeführt, während die Datenübertragung vom HS 61 zum AS 66 mittels sogenannter Zeileneinheiten, die aus einem oder einer Mehrzahl (n) von Blöcken beste­ hen, ausgeführt wird. Die in Fig. 6 gezeigte Zeilenein­ heit (A) besteht aus vier Blockeinheiten (a 0, a 1, a 2 und a 3). Wenn beispielsweise die CPU 63 a im Block a 0 enthal­ tene Daten liest, dieser Block a 0 jedoch nicht im PS 64 a der CPU 63 a enthalten ist, so wird auf den AS 66 der SS 62 zugegriffen, damit die Eingabe des Blocks a 0 in den PS 64 a erfolgen kann. Wenn in diesem Fall im AS 66 keine den Block a 0 enthaltende Zeile A vorhanden ist, greift die SS 62 auf den HS 61 zu, liest die Zeile A aus dem HS 61 aus und gibt sie einerseits in den AS 66 ein und überträgt sie andererseits zum PS 64 a.
Wenn z.B. die CPU 63 b Daten in den Block a 0 überträgt, dieser Block a 0 jedoch im PS 64 b nicht vorhanden ist, so wird der Block a 0 ebenfalls aus dem AS 66 eingegeben. Wenn, wie in Fig. 6 gezeigt, der Block a 0 in den PS 64 a eingetragen wird, ist der Block a 0 daher gleichzeitig sowohl im PS 64 a als auch im PS 64 B vorhanden.
In einem System mit einer solchen hierarchischen Spei­ cherstruktur wird als Speicherverfahren zum Schreiben von Daten in jeden der Pufferspeicher oftmals ein "Durchspeicher-Verfahren" (Store-Through-Verfahren), d.h. ein Verfahren, in dem gleichzeitig in einen Haupt- Speicher und in einer Pufferspeicher geschrieben wird, für den PS 64 a und PS 64 b verwendet, um die Steuerung zu erleichtern, während für den AS 66 ein "Einspeicher-Ver­ fahren" (Store-In-Verfahren), d.h. ein Verfahren, in dem nur in den Arbeitspufferspeicher geschrieben und in den Hauptspeicher nur für den Austausch wieder eingeschrie­ ben wird, verwendet, um die Durchsätze zu verringern. In dem in Fig. 6 gezeigten System werden für die PS 64 a und PS 64 b das "Durchspeicher-Verfahren" und für den AS 66 das "Einspeicher-Verfahren" verwendet.
Hierbei besteht die Möglichkeit, daß Daten desselben Blocks gleichzeitig in den PS 64 a und in den PS 64 b ein­ getragen werden, wie oben beschrieben worden ist. Wenn z.B. die CPU 63 a Daten in den Block a 0 des PS 64 a in ei­ nem solchen Zustand wieder einschreibt, in dem der Block a 0 gleichzeitig sowohl im PS 64 a als auch im PS 64 b vor­ handen ist, wird der Block a 0 im PS 64 a aktualisiert, während der Block a 0 im PS 64 b nicht aktualisiert wird, obwohl die Dateninhalte miteinander identisch sein soll­ ten, wodurch eine Datenfehlanpassung zwischen den Puf­ ferspeichern bewirkt wird.
Wenn ferner im AS 66 des SS 62 Daten des Blocks a 0 durch die Eingabe/Ausgabeverarbeitung mittels des EAP 65 wie­ der eingeschrieben oder geändert werden, wird der Block a 0 weder im PS 64 a noch im PS 64 b aktualisiert, so daß eine Datenfehlanpassung zwischen dem Block a 0 im AS 66 und dem Block a 0 im PS 64 a und im PS 64 b bewirkt wird.
Um die Datenfehlanpassung zwischen den Pufferspeichern zu verhindern, ist daher eine Verarbeitung erforderlich, die denjenigen Block des Pufferspeichers, dessen Daten nicht aktualisiert werden, ungültig macht.
In Fig. 7 ist ein Beispiel einer Blockinvalidierungsver­ arbeitung des Pufferspeichers im Multiprozessorsystem erläutert. In Fig. 7 bezeichnen die Bezugszeichen 67 a und 67 b PS-Verzeichnisse (Pufferadressenfelder: PAF), in denen Daten einer Hauptspeicheradresse, deren Daten im Pufferspeicher enthalten sind, gespeichert sind; diese PS-Verzeichnisse 67 a und 67 b entsprechen dem PS 64 a bzw. dem PS 64 b, d.h. das PS-Verzeichnis (PAF) 67 a ist ein Verzeichnis der im PS 64 a gespeicherten Daten, während das PAF 67 b ein Verzeichnis der im PS 64 b gespeicherten Daten ist. Die PAF 67 a und 67 b weisen eine Mehrzahl von Eintragungen auf, von denen jede so angeordnet ist, daß sie wenigstens in einem 1 : 1-Verhältnis jedem der Blöcke des PS 64 a und des PS 64 b entspricht. Wie in Fig. 8 ge­ zeigt, weist jede der Eintragungen einen Adressenbereich (ADR) 68, der Adreßdaten kennzeichnet, die die Entspre­ chung eines Pufferspeicherblocks mit einer Hauptspei­ cheradresse angeben, und einen Gültigkeitsbitbereich (G- Bit) 69, der die Gültigkeit einer Eintragung kennzeich­ net, auf.
In Fig. 7 sind ferner Schnittstellen 71, 72 und 73 ge­ zeigt, die entsprechend die CPU 63 a, die CPU 63 b und den EAP 65 miteinander verbinden und zur Steuerung der Inva­ lidierungsverarbeitung verwendet werden. Jede der Schnittstellen 71, 72 und 73 stellt einen Signalweg für die Übertragung eines Signals an jede der CPU′s dar, wo­ bei diese Signale die Speicherung in jeder der entspre­ chenden CPU′s 63 a, 63 b und 63 c und die entsprechenden Speicheradressen kennzeichnen.
Wenn der Block a 0 im PS 64 a und im PS 64 b vorhanden ist, wird im Adressenbereich 68 der entsprechenden Eintragung des PAF 67 a und des PAF 67 b eine Hauptspeicheradresse ADR a 0 im HS 61 für den Block a 0 eingetragen, während das G-Bit des Gültigkeitsbitbereichs 69 der entsprechen­ den Eintragung den Wert "1" besitzt und dadurch anzeigt, daß die Daten des Blocks gültig sind. Wenn die CPU 63 a Daten in den Block a 0 des PS 64 a in diesem Beispiel wie­ der einschreibt, wird über die Schnittstelle 71 der CPU 63 b mitgeteilt, daß der Block a 0 geschrieben wird. Damit kann die CPU 63 b im PAF 67 b den Block a 0 suchen; die Eintragung wird für ungültig erklärt, d.h. das G-Bit wird auf den Wert "0" gesetzt, wenn sich herausstellt, daß die über die Schnittstelle 71 geschickte Speicher­ adresse ADR a 0 der CPU 63 a im PAF 67 b eingetragen ist.
Wenn sich herausstellt, daß die Adresse ADR a 0 nicht im PAF 67 b eingetragen ist, wird keine Invalidierungsverar­ beitung ausgeführt. Die Speicherverarbeitung in der CPU 63 b wird ebenso ausgeführt, wie oben bereits beschrieben worden ist. Wenn ferner der EAP 65 eine Speicherverar­ beitung im AS 66 (Fig. 6) ausführt, wird über die Schnittstelle 73 sowohl zur CPU 63 a als auch zur CPU 63 b eine Speicheradresse geschickt. Die Invalidierungsverar­ beitung für die CPU′s 63 a und 63 b wird ebenso ausge­ führt, wie oben bereits beschrieben worden ist.
In Fig. 9 ist ein weiteres Beispiel der Blockinvalidie­ rungsverarbeitung für den Pufferspeicher im Multiprozes­ sorsystem erläutert. In diesem Beispiel ist in der Spei­ chersteuerung (SS) eine Kopie des Pufferadressenfeldes (PAF), das ein Verzeichnis des Pufferspeichers dar­ stellt, als Frontadressenfeld (FAF) vorgesehen, um für den Pufferspeicher eine Identitätskontrolle auszuführen. Wie in Fig. 9 gezeigt, ist also die SS 62 zusätzlich mit einem FAF 77 a, das eine Kopie des PAF 67 a darstellt, und mit einem FAF 77 b, das eine Kopie des PAF 67 b darstellt, ausgerüstet. Die Struktur des Frontadressenfeldes 77 a bzw. 77 b ist dieselbe wie diejenige des Pufferadressen­ feldes 67 a bzw. 67 b. Wenn im Pufferspeicher ein Daten­ block eingetragen wird und die Adressendaten im PAF ein­ getragen werden, werden dieselben Adressendaten zusätz­ lich im entsprechenden FAF eingetragen.
Wenn beispielsweise der Block a 0 gleichzeitig im PS 64 a und im PS 64 b vorhanden ist, wird die Blockadresse ADR a 0 sowohl im PAF 67 a und im PAF 67 b als auch im FAF 77 a und im FAF 77 b eingetragen. Um zu diesem Zeitpunkt der CPU 63 a das Wiedereinschreiben der Daten in den Block a 0 des PS 64 a zu ermöglichen, wird von der CPU 63 a über die Schnittstelle 74 an die SS 62 eine Speicheranforderung ausgegeben, da die Daten im PS entsprechend dem "Durch­ speicher-Verfahren" eingetragen werden. Die SS 62 schreibt in den Block a 0 im AS 66 die angeforderten Da­ ten wieder ein und untersucht das FAF 77 b, um zu ermit­ teln, ob der Block im PS 64 b vorhanden ist. Wenn die Adresse ADR a 0 des Blocks a 0 auch im FAF 77 b eingetragen ist, macht die SS 62 die Eintragung im FAF 77 b ungültig. Zur gleichen Zeit wird über die Schnittstelle 75 an die CPU 63 b eine Invalidierung der Eintragung im PAF 67 b an­ gefordert, woraufhin die CPU 63 b die Eintragung im PAF 67 b ungültig macht.
Wenn die CPU 63 b ebenso wie oben beschrieben eine Spei­ cheranforderung ausgibt, untersucht die SS 62 die FAF 77 a und macht die Eintragung ungültig, falls die Block­ adresse im PAF 67 b eingetragen ist; ferner veranlaßt sie über die Schnittstelle 74 die CPU 63 a, die Eintragung des PAF 67 a ungültig zu machen. Wenn der EAP 65 eine Speicherforderung ausgibt, untersucht die SS 62 sowohl das PAF 77 a als auch das PAF 77 b und macht deren Ein­ tragungen ungültig, falls die entsprechende Blockadresse eingetragen ist.
Die SS 62 ist zusätzlich zu den Verzeichnissen FAF 77 a und FAF 77 b mit einem Arbeitspufferadressenfeld (AAF) 76, das ein Verzeichnis des AS 66 darstellt, versehen. Wie in Fig. 10 gezeigt, weist jede Eintragung im AAF 76 einen Gültigkeitsbitbereich 78, der eine gültige Eintra­ gung kennzeichnet, einen Adressenbereich 79, der eine der Eintragung entsprechende Hauptspeicheradresse einer Zeile des AS 66 kennzeichnet, und einen Wiedereinschrei­ be/Nichtwiedereinschreibe-Bitbereich (C-Bitbereich) 80, der angibt, daß die Zeile in den AS 66 eingetragen wor­ den ist und daß dann die Zeile wieder eingeschrieben wurde, auf. Da in den Arbeitspufferspeicher mittels des "Einspeicher-Verfahrens" eingetragen wird, bestimmt die SS 62 aufgrund der Anzahl der Bits im C-Bitbereich 80, ob die aus dem AS 66 geholte Zeile wieder in den HS 61 geschrieben werden muß, wenn die Zeile im AS 66 ersetzt wird.
Es muß jedoch festgestellt werden, daß eine Erweiterung der Datenverarbeitungsanlage gefordert worden ist, um ein System auszubilden, mit dem Datenmengen, die in der letzten Zeit stark zugenommen haben, verarbeitet werden können oder das für verschiedene Einsatzformen geeignet ist.
Das Blockschaltbild von Fig. 11 erläutert ein Beispiel eines Multiprozessorsystems, das ein gegenüber dem in Fig. 6 gezeigten Multiprozessorsystem noch erweitertes System darstellt. Dieses erweiterte Multiprozessorsystem weist vier Zentraleinheiten (CPU#0 63 a, CPU#1 63 b, CPU#2 63 c und CPU#3 63 d) und zwei Eingabe/Ausgabeprozessoren (EAP#0 65 a und EAP#1 65 b) auf. Diese Systemstruktur wird durch Hinzufügung zweier Zentraleinheiten und eines Ein­ gabe/Ausgabeprozessors zur Systemstruktur des in Fig. 6 gezeigten Multiprozessorsystems ausgebildet. In dieser Datenverarbeitungsanlage werden die Zentraleinheiten (CPU) und die Eingabe/Ausgabeprozessoren (EAP), deren Anzahl jeweils doppelt so groß ist wie im in Fig. 6 ge­ zeigten Multiprozessorsystem, miteinander verbunden.
Wenn ein Multiprozessorsystem mit der in Fig. 11 gezeig­ ten Systemstruktur erweitert werden soll, müssen die folgenden Probleme gelöst werden: in der Speichersteue­ rung (SS) 62 im in Fig. 11 gezeigten Multiprozessorsy­ stem ist die Ausführung einer Verarbeitung erforderlich, die sich durch die Annahme von Anforderungen von jeder der vier CPU′s und jedem der beiden EAP′s ergibt; daher sollte das System einen Durchsatz haben, mit dem Verar­ beitungsanforderungen von insgesamt sechs Maschinen be­ wältigt werden können. Hierfür ist in der Speichersteue­ rung dieses erweiterten Multiprozessorsystems eine in­ terne Hochgeschwindigkeitssteuerlogik erforderlich, wes­ halb die logische Steuereinheit kompliziert wird, die Anzahl der Hardware-Logikelemente ansteigt und ein Hoch­ geschwindigkeitsspeicherelement erforderlich wird. Um ferner die Trefferrate von Anforderungen von jedem der Anforderungsausgabeelemente, also der CPU′s 63 a, 63 b, 63 c und 63 d und der EAP′s 65 a und 65 b so hoch wie im in Fig. 6 gezeigten System zu halten, ist eine Arbeitspuf­ ferspeicherkapazität (AS-Kapazität) erforderlich, die doppelt so groß ist wie die Arbeitspufferspeicherkapazi­ tät des in Fig. 6 gezeigten Systems. Weiterhin ist die Verwendung einer großen Anzahl von Leitungen, die die CPU′s 63 a, 63 b, 63 c und 63 d und die EAP′s 65 a und 65 b mit der SS 62 verbinden, ebenso erforderlich wie die Ausstattung der SS 62 mit Anschlußöffnungen, deren An­ zahl derjenigen der Verbindungsleitungen entspricht.
Wie oben beschrieben worden ist, kann der Kompliziert­ heitsgrad der Steuerlogik des in Fig. 11 gezeigten Mul­ tiprozessorsystems zur Erweiterung von dessen System­ struktur nicht erhöht werden, ohne daß die Steuerlogik aufgrund der Hardware-Leistungsfähigkeit verschiedene Einschränkungen erfährt.
Alternativ dazu kann ein Multiprozessorsystem beispiels­ weise mit einer Struktur ausgebildet werden, in der ge­ trennte Speichersteuerungen eingebaut sind. Ein diesem Beispiel gemäßes Multiprozessorsystem wird mit Bezug auf Fig. 12 beschrieben, in der ein Blockschaltbild gezeigt ist, das eine Ausführungsform einer Multiprozessorsy­ stemstruktur, in der zwei Speichersteuerungen eingebaut sind, erläutert. Die Datenverarbeitungsanlage des in Fig. 12 gezeigten Multiprozessorsystems weist zwei Spei­ chersteuerungen (SS#0, SS#1) 62 a und 62 b; vier Zentraleinheiten (CPU#0, CPU#1 und CPU#3) 63 a, 63 b, 63 c und 63 d und zwei Eingabe/Ausgabeprozessoren (EAP#0, EAP#1) 65 a und 65 b auf. Wie in Fig. 12 gezeigt, ist bei einer solchen Systemstruktur die Anzahl der mit jeweils einer Speichersteuerung (SS) 62 a bzw. 62 b verbundenen CPU′s und EAP′s gleich derjenigen der in Fig. 6 erläu­ terten Systemstruktur. Daher sind die für die SS 62 a und 62 b geforderten Durchsätze in dem in Fig. 12 gezeigten System beinahe gleich dem für die SS 62 von Fig. 6 ge­ forderten Durchsatz, so daß die Systemstruktur nicht wie bei der in Fig. 11 gezeigten Systemstruktur durch die Hardware-Leistungsfähigkeit eingeschränkt ist.
In der in Fig. 12 gezeigten Systemstruktur ist es jedoch erforderlich, eine PS-Datenidentitätskontrolle in jeder der CPU′s sowohl für die PS 64 c und 64 d als auch für die PS 64 a und 64 b auszuführen. Weiterhin ist die Ausführung der Datenidentitätskontrolle für die AS 66 a und 66 b in den jeweiligen Speichersteuerungen 62 a bzw. 62 b erfor­ derlich.
Wenn beispielsweise Daten des Blocks a 0 weder im AS noch im PS eingetragen sind, gibt die CPU 63 a an die SS 62 a eine Leseanforderung zum Lesen von Daten im Block a 0 aus. Dann werden die den Block a 0 enthaltende Zeile A in den AS 66 a und der Block a 0 in den PS 64 a eingetragen. Wenn in diesem Zustand auch die CPU 63 c eine Leseanfor­ derung zum Lesen der Daten des Blocks a 0 an die SS 62 b ausgibt, wird die Zeile A in den AS 66 b und der Block a 0 in den PS 64 c eingetragen. Wenn von der CPU 63 b und von der CPU 63 d eine Leseanforderung zum Lesen von Daten des Blocks a 0 in diesem Zustand an die SS 62 a bzw. an die SS 62 b ausgegeben wird, so wird der Block a 0 außerdem in den PS 64 b bzw. PS 64 d eingetragen. Folglich ist die Zeile A in beiden Arbeitspufferspeichern AS 66 a und 66 b eingetragen, während sämtliche Pufferspeicher PS 64 a, 64 b, 64 c und 64 d in einem Zustand sind, in dem der Block a 0 gleichzeitig eingetragen ist.
In diesem Zustand bewirkt das Wiedereinschreiben der Da­ ten im Block a 0 durch die CPU 63 a die Wiedereinschreibe­ verarbeitung der Daten des Block a 0 im PS 64 a und in der Zeile A im AS 66 a. Jedoch werden weder die Daten des Blocks a 0 in den Pufferspeichern PS 64 b, 64 c und 64 d noch die Daten des Blocks a 0 in der Zeile A des Arbeits­ speichers AS 66 b wieder eingeschrieben. Daher ist es notwendig, sowohl den Block a 0 in den Pufferspeichern PS 64 b, 64 c und 64 d mittels der PS-Datenidentitätskontrolle als auch die Zeile A des Arbeitspufferspeichers AS 66 b mittels der AS-Datenidentitätskontrolle ungültig zu ma­ chen.
Um die Invalidierungsverarbeitung auszuführen, ist die AAF-Eintragung in Erweiterung ihres Eintragungsinhaltes so ausgebildet, daß sie zusätzlich zu einem G-Bitbereich 96, einem ADR-Bereich 97 und einem C-Bitbereich einen EX-Bitbereich 99 enthält, wie in Fig. 13 gezeigt ist. Der EX-Bitbereich 99 dient der Implementierung einer ex­ klusiven Steuerung der Invalidierungsverarbeitung: eine Zeile, deren EX-Bits, jeweils den Wert "1" besitzen, ist nur in derselben Speichersteuerung und nicht im Arbeits­ pufferspeicher der anderen Speichersteuerung und nur in denjenigen Pufferspeichern, die in der mit der einen Speichersteuerung verbundenen CPU enthalten sind und nicht in denjenigen Pufferspeichern, die in der mit der anderen Speichersteuerung verbundenen CPU enthalten sind, angeordnet.
Mit dieser Anordnung ist es möglich, lediglich durch Veranlassung derjenigen Speichersteuerung, die mit der die Wiedereinschreibeverarbeitung ausführenden CPU ver­ bunden ist, ihr eigenes AAF für den AS aufzusuchen, un­ mittelbar das Nichtvorliegen der den Block enthaltenden Zeile im AS der entsprechenden anderen Speichersteuerung festzustellen, wenn die CPU Daten dieses Blocks in den Arbeitspufferspeicher wieder einschreibt; folglich wird die andere Speichersteuerung nicht gestartet, wenn die Zeile in ihrem Arbeitspufferspeicher nicht vorhanden ist.
Nun wird mit Bezug auf Fig. 14 die Operation in einem solchen Multiprozessorsystem eingehend beschrieben.
Wie in Fig. 14 gezeigt, sind mit dem HS 61 zwei Spei­ chersteuerungen SS 62 a und 62 b verbunden, während die CPU′s 63 a und 63 b und der EAP 65 a mit der SS 62 a und die CPU′s 63 c und 63 d und der EAP 65 b mit der Speichersteue­ rung SS 62 b verbunden sind. Die CPU 63 a enthält den PS 64 a und dessen Verzeichnis PAF 67 a, während die CPU 63 b den PS 64 b und dessen Verzeichnis PAF 67 b enthält. Die Speichersteuerung SS 62 a enthält den Arbeitspufferspei­ cher AS 66 a und dessen Verzeichnis AAF 76 a sowie die Verzeichnisse FAF 77 a und 77 b, die Kopien der jeweiligen Pufferadressenfelder PAF 67 a bzw. 67 b darstellen. Die SS 62 b enthält den AS 66 b und dessen Verzeichnis AAF 76 b sowie die Verzeichnisse FAF 77 c und 77 d, die Kopien der jeweiligen PAF 67 c bzw. 67 d darstellen, die CPU 63 c bzw. CPU 63 d enthält den PS 64 c und dessen Verzeichnis PAF 67 c bzw. den PS 64 d und dessen Verzeichnis PAF 67 d. Der Inhalt einer jeden Eintragung in den PAF′s 67 a, 67 b, 67 c und 67 d weist ebenso wie die in Fig. 8 gezeigte Eintra­ gung einen Gültigkeitsbitbereich und einen Adressenbe­ reich auf. Der Inhalt einer jeden Eintragung der AAF′s 76 a und 76 b weist, wie in Fig. 13 gezeigt ist, einen Gültigkeitsbitbereich (G-Bitbereich) 96, einen Adressen­ bereich (ADR-Bereich) 97, einen Wiedereinschreibe/Nicht­ wiedereinschreibe-Bitbereich (C-Bitbereich) 98 und einen EX-Bitbereich 99 auf.
Die SS 62 a beginnt mit dem Aufsuchen der AAF 76 a auf­ grund des Empfangs einer Schreibeanforderung zum Schrei­ ben von Daten in den Block a 0 der Zeile A über die Schnittstelle 74 von der CPU 63 a.
Wenn einerseits die Zeile A im AAF 76 a eingetragen ist, wird die Wiedereinschreibeanforderung im AS 66 a verar­ beitet, so daß Daten des Block a 0 der Zeile A in den AS 66 a wieder eingeschrieben werden. Um für den PS 64 b die Datenidentitätskontrolle auszuführen, untersucht die SS 62 a das FAF 77 b und macht die Eintragung im FAF 77 b un­ gültig, wenn dort der Block eingetragen ist, woraufhin über die Schnittstelle 75 an die CPU 63 b die Ausgabe ei­ ner Anforderung zum Invalidieren des Blocks im PAF 67 b erfolgt. Wenn die Zeile im FAF 77 b nicht eingetragen ist, wird keine Verarbeitung ausgeführt.
Die Datenidentitätskontrollen für den AS 66 b und die PS 64 c und 64 d können mit dem Wert der EX-Bits derjenigen Eintragung, in der die Zeile A des AAF 76 a eingetragen ist, variieren. Wenn das EX-Bit den Wert "1" besitzt, ist die Zeile A weder im AS 66 b noch in den PS 64 c und 64 d vorhanden, so daß die SS 62 a die Schnittstelle 91 nicht initialisiert. Wenn das EX-Bit den Wert "0" be­ sitzt, besteht die Möglichkeit, daß die Zeile A im AS 66 b oder daß der Block (a 0, a 1, a 2, a 3) in der Zeile A in den PS 64 c und 64 d vorhanden ist, so daß die SS 62 a die Schnittstelle 91 initialisiert und eine Datenidenti­ tätskontrollanforderung an die SS 62 b ausgibt. Diese An­ forderung ermöglicht es der SS 62 a, die Schnittstelle 91 zu initialisieren und ferner an die SS 62 b eine Anfor­ derung zur Datenidentitätskontrolle auszugeben. Diese Anforderung veranlaßt die SS 62 b, das AAF 76 b wieder aufzusuchen und die Eintragung ungültig zu machen, falls die Zeile A eingetragen ist. Wenn die Blöcke in den FAF′s 77 c und 77 d vorhanden sind, werden sie (d.h. in diesem Beispiel: a 0, a 1, a 2 und a 3) wieder aufgefunden, weshalb die entsprechende Eintragung ungültig gemacht wird und ferner eine Anforderung zum Invalidieren des Blocks über die Schnittstellen 94 und 95 an die CPU′s 63 c bzw. 63 d ausgegeben wird. Diese Operationen machen die Daten der Zeile A im AS 66 b und in den PS′s 64 c und 64 d ungültig, so daß sie verschwinden; daher setzt die SS 62 a das EX-Bit der Eintragung, in der die Zeile A im AAF 76 a eingetragen ist, auf den Wert "1" zurück.
Wenn andererseits die Zeile A im AAF 76 a nicht eingetra­ gen ist, schickt die SS 62 a eine Datenidentitätskon­ trollanforderung über die Schnittstelle 91 an die SS 62 b und unterbricht die Verarbeitung der Schreibanforderung an den AS 66 a. Dann sucht die SS 62 b das AAF 76 b auf und teilt das Suchergebnis, d.h. das Ergebnis, daß die Zeile A nicht im AAF 76 b eingetragen ist, oder den C-Bitwert der Eintragung, falls die Zeile A eingetragen ist, über die Schnittstelle 91 der SS 62 a mit; außerdem macht sie die Zeile im AAF 76 b ungültig. Ferner sucht die SS 62 b die FAF′s 77 c und 77 d auf gibt eine Anforderung zum In­ validieren der PS 64 c und 64 d an die CPU′s 63 c bzw. 63 d, wenn die Zeile A eingetragen ist.
Wenn die SS 62 a das das AAF 76 b betreffende Suchergebnis der SS 62 b über die Schnittstelle 91 empfängt, liest sie die Zeile A aus dem HS 61, schreibt sie in den AS 66 a, verarbeitet die Schreibanforderung von der CPU 63 a und trägt die Eintragung der Zeile A im AAF 76 a ein. In die­ sem Moment wird die Zeile A vom AS 76 b und von den PS′s 64 c und 64 d wie oben beschrieben. Zu diesem Zeitpunkt wird die Zeile A wie oben beschrieben vom AS 66 b und den PS 64 c und 64 d abgeschickt, während das EX-Bit mit dem Wert "1" in das AAF 76 a eingetragen wird.
In jedem Fall wird das C-Bit der Eintragung, in der die Zeile A des AAF 76 a eingetragen ist, auf den Wert "1" gesetzt. Ferner wird festgestellt, daß die Möglichkeit besteht, daß das EX-Bit für eine Leseanforderung gesetzt wird. Wenn daher die Möglichkeit besteht, daß die Daten in die Zeile A wieder eingeschrieben werden, nachdem die Daten gelesen worden sind, wird das EX-Bit im voraus ge­ setzt.
Nun wird die Operation der SS beschrieben, wenn die Le­ seanforderung für das EX-Bit der Zeile A von der CPU oder dem EAP ausgegeben wird.
Wie in Fig. 14 gezeigt, wird, wenn die CPU 63 a eine Le­ seanforderung zum Lesen der Daten der Zeile A ausgibt, um das EX-Bit zu setzen, diese Anforderung vom PS 62 a verarbeitet; wenn die Daten im PS 64 a vorhanden sind, wird das EX-Bit des AAF 76 a nicht gesetzt. Wenn die Daten im PS 64 a nicht vorhanden sind, wird die Lesean­ forderung des EX-Bits an die SS 62 a ausgegeben. Wenn die Zeile A im AAF 76 a eingetragen ist, wird die Verarbei­ tung in der SS 62 a ausgeführt, indem der AS 66 a gelesen wird, so daß das EX-Bit auch in diesem Fall nicht ge­ setzt wird. Wenn die Zeile A im AS 66 a jedoch nicht vor­ handen ist, wird über die Schnittstelle 91 bei der SS 62 b angefragt, ob die Zeile A in einem wiedereinge­ schriebenen Zustand im AS 66 b vorhanden ist. In diesem Moment sucht die SS 62 b das AAF 76 b sowie die FAF′s 77 c und 77 d und teilt über die Schnittstelle 92 mit, daß das EX-Bit gesetzt werden kann, falls die Zeile A nirgendwo vorhanden ist. In diesem Fall liest die SS 62 a die Daten der Zeile A aus dem HS 61, speichert sie im AS 66 a und setzt das EX-Bit auf den Wert "1", falls die Eintragung der Zeile A im AAF 76 a eingetragen ist.
Aus JP 60-1 38 653-A (1985) ist eine Technik zur nichtex­ klusiven Steuerung zwischen Pufferspeichern in einem er­ weiterten Multiprozessorsystem bekannt.
Es wird jedoch weiterhin festgestellt, daß dann, wenn eine exklusive Steuerung einer hierarchischen Puffer­ speicheranordnung in einem Multiprozessorsystem ausge­ führt wird, die Speicherverarbeitung durch Suchen der Zeile im AAF der jeweils anderen SS und durch Invalidie­ rung der Eintragung, falls die Zeile dann, wenn das EX- Bit derselben SS den Wert "0" besitzt, vorhanden ist, sowie durch Suchen aller Blöcke in der Zeile, um festzu­ stellen, ob die Blöcke in den PS, die mit der anderen SS verbunden sind vorhanden sind, und durch Invalidierung dieser Blöcke, falls sie vorhanden sind, ausgeführt wird. Dieses Verfahren ist bei der ununterbrochenen Speicherverarbeitung im Umfang einer Zeile wirksam. Wenn jedoch die Speicherverarbeitung nur für einen Blockbe­ reich einer Zeile ausgeführt werden soll, wird der Rest der an den PS geschickten Blöcke, die ursprünglich nicht ungültig gemacht werden sollten, nichtsdestoweniger un­ bedingt ungültig gemacht, so daß wegen des Anstiegs des NIPV ("Nicht-im-Pufferspeicher-Verhältnis" - die Wahr­ scheinlichkeit dafür, daß ein Block, auf den zugegriffen wird, nicht im PS vorhanden ist) ein Problem entsteht.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Muliprozessorsystem zu schaffen, in dem zwischen den Pufferspeichern eine exklusive Steuerung ausgeführt wer­ den kann, ohne daß das NIPV erhöht wird.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Multiprozessorsystem zu schaffen, das mindestens ei­ ne Zweifachspeichersteuerungsstruktur mit jeweils einem Arbeitspufferspeicher mit einer Zeilengröße, die um ein Vielfaches größer ist als ein Block eines Pufferspei­ chers, aufweist, wobei die wenigstens zweifache Spei­ chersteuerungsstruktur die Dateninvalidierungsverarbei­ tung aufgrund einer Datenidentitätskontrolle zwischen den Pufferspeichern der jeweils anderen Speichersteue­ rung in einer Blockeinheit und nicht in einer Zeilenein­ heit ermöglicht.
Diese Aufgaben werden erfindungsgemäß gelöst durch ein Multiprozessorsystem, das einen Hauptspeicher (HS), eine Mehrzahl von Arbeitspufferspeichern (AS) zum Speichern einer Kopie von Daten des HS, eine Mehrzahl von Zentral­ einheiten, eine Mehrzahl von Pufferspeichern (PS) zum Speichern einer Kopie von Daten eines jeden der AS, wo­ bei jedem der AS wenigstens ein PS entspricht, und Puf­ feradressenfelder (AAF, PAF), in die eine Hauptspeicher­ adresse eingetragen ist, unter der im Hauptspeicher Da­ ten gespeichert sind, die den Daten entsprechen, die un­ ter der entsprechenden Adresse in jedem der AS bzw. der PS gespeichert sind, aufweist; das erfindungsgemäße Mul­ tiprozessorssystem besitzt eine hierarchische Speicher­ struktur, in der die Größe einer Dateneintragungseinheit des AS ein Vielfaches der Größe der Dateneintragungsein­ heit des PS ist, und eine Struktur, in der der PS aus­ schließlich für jede der CPU′s verwendet wird; im erfin­ dungsgemäßen Multiprozessorsystem sind Steuereinrichtun­ gen vorgesehen, in denen eine Mehrzahl besonderer Bits so angeordnet ist, daß sie einem einem AS entsprechenden Arbeitspufferadressenfeld (AAF) zugeordnet sind, wobei die Mehrzahl der besonderen Bits angibt, ob die im der einen CPU entsprechenden AS gespeicherten Hauptspeicher­ adressendaten im der anderen CPU entsprechenden AS und im damit verbundenen PS gespeichert sind, und in der beim Wiedereinschreiben von Daten des AS das AAF dieses AS aufgesucht wird, um zu ermitteln, ob die Daten des der anderen CPU entsprechenden AS und die Daten des mit diesen AS verbundenen PS durch die Mehrzahl der besonde­ ren Bits einer Eintragung des AAF ungültig gemacht wer­ den müssen.
Das erfindungsgemäße Multiprozessorsystem ist durch die Steuereinrichtungen gekennzeichnet, in denen die beson­ deren Bits, die angeben, ob die im der einen CPU ent­ sprechenden AS gespeicherten Hauptspeicheradressendaten im der anderen CPU entsprechenden AS und im damit ver­ bundenen PS gespeichert sind, in ein erstes besonderes Bit für die Ausführung einer Datenidentitätskontrolle zwischen den Arbeitspufferspeichern (AS) und in ein zweites besonderes Bit für die Ausführung einer Daten­ identitätskontrolle zwischen dem einen AS und dem mit dem anderen AS verbundenen PS aufgeteilt und als Teil einer Eintragung des Arbeitspufferadressenfeldes (AAF) des einen AS oder als der Eintragung entsprechende Spei­ cherfeldinformation angeordnet sind und in denen dann, wenn aufgrund eines Wertes der besonderen Bits die Daten des AS wieder eingeschrieben werden, eine Identitätskon­ trolle zwischen den Arbeitspufferspeichern und eine Identitätskontrolle zwischen dem einen Arbeitspuffer­ speicher und dem Pufferspeicher des anderen Arbeitspuf­ ferspeichers unabhängig voneinander ausgeführt werden können.
Es wird festgestellt, daß im erfindungsgemäßen Multipro­ zessorsystem eine Mehrzahl besonderer Bits vorgesehen ist, die angeben, ob die im der einen CPU entsprechenden AS gespeicherten Hauptspeicheradressendaten im der ande­ ren CPU entsprechenden AS und im damit verbundenen PS gespeichert sind; diese Mehrzahl besonderer Bits ent­ spricht dem jeweiligen Arbeitspufferadressenfeld (AAF) des Arbeitspufferspeichers. Wenn Daten des AS wieder eingeschrieben werden, wird das AAF des AS aufgesucht, um zu ermitteln, ob eine Invalidierungsverarbeitung der Daten des der anderen CPU entsprechenden Arbeitspuffer­ speichers und des mit diesem AS verbundenen PS erforder­ lich ist.
Die Mehrzahl besonderer Bits wird in ein EX-Bit zum Aus­ führen einer Datenidentitätskontrolle zwischen den Ar­ beitspufferspeichern und in ein EX-Bit zum Ausführen der Datenidentitätskontrolle zwischen dem einen Arbeitspuf­ ferspeicher und dem mit dem anderen Arbeitspufferspei­ cher verbundenen Pufferspeicher unterteilt. Diese Mehr­ zahl besonderer Bits ist als Teil der AAF-Eintragung oder als der AAF-Eintragung entsprechende Speicherfeld­ information vorgesehen. Durch den Rückgriff auf jedes der besonderen Bits kann unabhängig die Identitätskon­ trolle zwischen den Arbeitspufferspeichern und die Iden­ titätskontrolle zwischen dem einen Arbeitspufferspeicher und dem mit dem anderen Arbeitspufferspeicher verbunde­ nen Pufferspeicher ausgeführt werden.
Wenn das EX-Bit der besonderen Bits des einen AS, mit dem die Identitätskontrolle zwischen den Arbeitspuffer­ speichern ausgeführt wird, beispielsweise als EXL-Bit und wenn die dem PS-Block entsprechenden besonderen Bits beispielsweise als EX0-bis EX3-Bits gespeichert werden, wird die Verarbeitung so gesteuert, daß die Daten nur in dem einen AS gespeichert werden, weil dieselben Daten im anderen AS nicht vorhanden sind, falls das EXL-Bit der AAF-Eintragung den Wert "1" besitzt. Wenn das EXi-Bit (i =0, 1, 2, 3), das dem Block der Speicheradresse ent­ spricht, den Wert "1" besitzt, ist dieser Block nicht im anderen PS vorhanden, so daß eine Blockannulierungsan­ forderung an den anderen PS ausgegeben wird. Wenn das EXi-Bit den Wert "0" besitzt, wird eine AS-Speicherope­ ration ausgeführt und eine Blockannulierungsanforderung an den anderen PS ausgegeben. Wenn die entsprechende Eintragung in diesem dem AS entsprechenden AAF nicht vorhanden ist oder wenn das EXL-Bit selbst bei Vorhan­ densein der Eintragung den Wert "0" besitzt, wird das andere AAF aufgesucht und dessen Eintragung, wenn sie in diesem AAF vorhanden ist, ungültig gemacht; dabei wird dem EXL-Bit der Wert "1" gegeben, ferner werden die ak­ tualisierten Daten in dem einen AAF und in dem einen PS eingetragen. In diesem Moment werden die Blöcke des an­ deren PS, die den Blöcken 0 bis 3 entsprechen, nicht al­ le ungültig gemacht, vielmehr wird nur der der Speicher­ adresse des einen Arbeitspufferspeichers entsprechende Block ungültig gemacht, wobei das EXi-Bit (i = Blockzahl der Speicheradressen) den Wert "1" erhält und in dem ei­ nen AAF eingetragen wird.
Wenn daher die Datenidentitätskontrolle zwischen den Ar­ beitspufferspeichern ausgeführt wird, kann die Invali­ dierungsverarbeitung der Pufferspeicherdaten der anderen Speichersteuerung in Blockeinheiten und nicht in Zeilen­ einheiten ausgeführt werden. Das bedeutet, daß die die Speicheroperation begleitende Ausführung der Invalidie­ rungsverarbeitung der Daten im AS und im PS in bezug auf die Daten des mit der anderen Speichersteuerung verbun­ denen PS nur auf den Block, der die Speicheradresse ent­ hält, gerichtet ist, während die Daten der anderen Blöcke der Zeile ungeändert gelassen werden. Solange da­ her keine Speicheranforderung für sämtliche Blöcke in der Zeile ausgegeben wird, kann ein Absinken des Tref­ ferverhältnisses des Pufferspeichers verhindert werden.
Die Erfindung wird im folgenden anhand von Ausführungs­ beispielen unter Bezug auf die Zeichnungen näher erläu­ tert; es zeigen:
Fig. 1 ein Blockschaltbild, das die Gesamtstruktur des wesentlichen Teils einer Ausführungsform des er­ findungsgemäßen Multiprozessorsystems erläutert;
Fig. 2 ein Beispiel der Eintragungsstruktur eines Ver­ zeichnisses des Arbeitspufferspeichers gemäß ei­ ner Ausführungsform der vorliegenden Erfindung;
Fig. 3 ein Blockschaltbild, das eine Ausführungsform einer Trefferbeurteilungsschaltung für den Ver­ gleich einer Anforderungsadresse mit der Eintra­ gung im Arbeitspufferadressenfeld erläutert;
Fig. 4 ein Schaltbild, das den wesentlichen Teil einer Steuerschaltung zum Ausführen der Treffersteue­ rung und zur exklusiven Steuerung des Arbeits­ pufferspeichers in der Speichersteuerung erläu­ tert;
Fig. 5 ein Schaltbild, das eine weitere Ausführungsform einer Trefferbeurteilungsschaltung zum Vergleich der Anforderungsadresse mit der AAF-Eintragung erläutert;
Fig. 6 ein Blockschaltbild, das eine Ausführungsform eines Multiprozessorsystems mit einer hierarchi­ schen Speicherstruktur erläutert;
Fig. 7 ein Beispiel der Blockinvalidierungsverarbeitung für den Pufferspeicher im Multiprozessorsystem;
Fig. 8 ein Beispiel der Eintragungsstruktur eines Ver­ zeichnisses des Pufferspeichers;
Fig. 9 ein weiteres Beispiel der Blockinvalidierungs­ verarbeitung für den Pufferspeicher im Multipro­ zessorsystem;
Fig. 10 ein Beispiel der Eintragungsstruktur eines Ver­ zeichnisses des Arbeitspufferspeichers;
Fig. 12 ein Blockschaltbild, in dem die Struktur eines Multiprozessorssystems mit zwei eingebauten Speichersteuerungen erläutert wird;
Fig. 13 ein weiteres Beispiel der Eintragungsstruktur eines Verzeichnisses des Arbeitspufferspeichers; und
Fig. 14 ein Beispiel der Blockinvalidierungsverarbeitung für den Pufferspeicher im Multiprozessorsystem von Fig. 12.
In Fig. 1 ist ein Blockschaltbild gezeigt, mit dem die Gesamtstruktur eines wesentlichen Teils des erfindungs­ gemäßen Multiprozessorsystems gemäß einer Ausführungs­ form erläutert wird, während in Fig. 2 ein Beispiel der Eintragungsstruktur eines Verzeichnisses des Arbeitspuf­ ferspeichers gemäß einer Ausführungsform der Erfindung erläutert wird.
Wie in Fig. 1 gezeigt, sind mit dem Hauptspeicher (HS) 61 zwei Speichersteuerungen (SS) 62 a und 62 b verbunden, während mit der SS 62 a die Zentraleinheiten (CPU#0, CPU#1) 63 a und 63 b und der Eingabe/Ausgabeprozessor (EAP#0) 65 a und mit der SS 62 b die Zentraleinheiten (CPU#2, CPU#3) 63 c und 63 d und der Eingabe/Ausgabeprozessor (EAP#1) 65 b verbunden sind. Die CPU 63 a enthält einen Pufferspeicher (PS) 64 a und ein Pufferadressenfeld (PAF) 67 a, das ein Verzeichnis des PS 64 a darstellt, die CPU 63 b enthält genauso einen Pufferspeicher (PS) 64 b und ein Pufferadressenfeld (PAF) 67 b, das ein Verzeich­ nis des PS 64 b darstellt. Die SS 62 a enthält einen Ar­ beitspufferspeicher (AS) 66 a, ein Arbeitspufferadressen­ feld (AAF) 76 a, das ein Verzeichnis des AS 66 a dar­ stellt, sowie Frontadressenfelder (FAF) 77 a und 77 b, die Kopien der entsprechenden PAF′s 67 a und 67 b sind. Die SS 62 b, die CPU 63 c und die CPU 63 d sind genauso aufgebaut und weisen entsprechend einen Arbeitspufferspeicher, Pufferspeicher und deren Verzeichnisse bzw. Kopien die­ ser Verzeichnisses auf. Der Inhalt einer jeden Eintra­ gung der PAF′s 67 a, 67 b, 67 c und 67 d weist, wie in Fig. 8 gezeigt, einen Gültigkeitsbitbereich und einen Adres­ senbereich auf. Der Inhalt einer jeden Eintragung der AAF′s 76 a und 76 b weist einen Gültigkeitsbitbereich, ei­ nen Adressenbereich, einen Wiedereinschreibe/Nichtwie­ dereinschreibe-Bitbereich und einen Bereich für beson­ dere Bits, in den eine Mehrzahl besonderer Bits einge­ tragen wird, um die exklusive Steuerung zwischen den Pufferspeichern auszuführen, auf.
Wie oben beschrieben worden ist, ist die Struktur des in Fig. 1 gezeigten Multiprozessorsystems dieselbe wie die mit Bezug auf Fig. 12 beschriebene Multiprozessorsystem­ struktur, jedoch wird als Inhalt einer jeden Eintragung der Arbeitspufferadressenfelder 76 a und 76 b der in Fig. 2 gezeigte Eintragungsinhalt verwendet. Dieser Eintra­ gungsinhalt ist dadurch gekennzeichnet, daß die besonde­ ren Bits zum Ausführen der exklusiven Steuerung zwischen den Pufferspeichern mehrere sind. Wie in Fig. 2 gezeigt, weist die Mehrzahl der Bereiche für besondere Bits in der Eintragung 20 ein EXL-Bit 21 und die den jeweiligen Blöcken entsprechenden Bits EX 0 22, EX 1 23, EX 2 24 und EX 3 25 auf. Das EXL-Bit 21 ist ein Bit, das angibt, daß Zeilendaten im AS sich in einem ausschließenden Zustand zwischen den Arbeitspufferspeichern befinden. Wenn das EXL-Bit 21 den Wert "1" besitzt, ist gewährleistet, daß im AS der anderen SS keine identische Datenzeile vorhan­ den ist. Die Bits EX 0 22, EX 1 23, EX 2 24 und EX 3 25 sind Steuerbits und entsprechen der jeweiligen Anzahl der aus Zeilendaten der Eintragung 20 der Arbeitspufferspeicher bestehenden PS-Blöcke. Wenn jedes der Bits EX 0 22, EX 1 23, EX 2 24 und EX 3 25 den Wert "1" besitzt, ist gewähr­ leistet, daß in bezug auf jeden Block in den PS, die mit dem AS der anderen SS verbunden sind, keine identischen Daten vorhanden sind.
Nun wird mit Bezug auf Fig. 3 die Trefferbeurteilungs­ operation und mit Bezug auf Fig. 4 die gegenseitige Ab­ frageoperation des AS und des PS für die Ausführung der exklusiven Steuerung beschrieben.
Fig. 3 ist ein Blockschaltbild, in dem eine Ausführungs­ form einer Trefferbeurteilungsschaltung für den Ver­ gleich einer Anforderungsadresse mit einer AAF-Eintra­ gung erläutert wird. In Fig. 3 sind eine AAF-Eintragung 20, eine Anforderungsadresse 30, Eintragungsadressenda­ ten 30 a für die Anforderungsadresse, 2-Bitdaten 30 b, die die Blocknummer in der AS-Zeile angeben, ein 2-Bit-Deco­ der 31, eine Eintragungsadresse-Vergleichsschaltung 32, UND-Gatter 33 bis 37, ein ODER-Gatter 38, UND-Gatter 39 und 40, ein Invertierer 41, UND-Gatter 42 und 43 und ein ODER-Gatter 44 gezeigt. Mit der Eintragungsadressenver­ gleichsschaltung 32 werden die Eintragungsadressendaten 30 a für die Anforderungsadresse 30 mit der AAF-Eintra­ gung 20 verglichen. Anschließend wird über eine Logik­ schaltung anhand dieses Vergleichsergebnisses, anhand der EX0- bis EX3-Bits und anhand der Dekoderausgabe der Blockanzahl in jeder der AS-Zeilen ein Status beurteilt. Die Signale A, B, C und D des Beurteilungsergebnisses, die an den entsprechenden Ausgängen des ODER-Gatters 44, des Inverters 41, des UND-Gatters 42 und des UND-Gatters 43 anliegen, geben den jeweiligen Status wieder, wie er in Tabelle 1 angegeben ist:
Tabelle 1
Signal A:
In einem "Trefferstatus" wird keine exklusive Steuerung für den anderen AS und den anderen PS gefordert. Dieser Fall tritt ein, wenn für eine von der Speicheranforderung verschiedene Anforderung eine Zeile vorhanden ist und im AS eine gewünschte Zeile mit EXL = 1 für die Speicheranforderung vorhanden ist.
Signal B:
kein "Trefferstatus".
Signal C:
Obwohl im AS eine Zeile, auf die zugegriffen worden ist, vorhanden ist, wird für die andere SS eine exklusive Steuerung gefordert, da das EXL-Bit den Wert "0" besitzt, wenn eine Speicheranforderung ausgegeben wird.
Signal D:
Obwohl im AS eine Zeile, auf die zugegriffen worden ist, vorhanden ist, ist für den mit dem anderen AS verbundenen PS eine Blockannulierung erforderlich, da das EXi-Bit des Blocks, auf den zugegriffen worden ist, den Wert "0" besitzt.
In Fig. 4 ist ein Blockschaltbild gezeigt, in dem ein wesentlicher Teil der Steuerschaltung zur Ausführung der Treffersteuerung und der exklusiven Steuerung des Ar­ beitspufferspeichers in der Speichersteuerung erläutert ist.
Nun wird mit Bezug auf Fig. 4 die Treffersteuerung und die exklusive Steuerung der SS mittels Integration der Signale A, B, C und D aus der Trefferbeurteilungsschal­ tung (Fig. 3) für jede Zeile im einzelnen beschrieben. In Fig. 4 bezeichnen die Bezugszeichen 45 a, 45 b, 45 c und 45 d Trefferbeurteilungsschaltungen für die Zeilennummern 0, 1, 2 bzw. 3. Die Signale A, B, C und D einer jeden Trefferbeurteilungsschaltung entsprechen je nach Zeilen­ nummer den Signalen A 0 bis A 3, B 0 bis B 3, C 0 bis C 3 bzw. D 0 bis D 3. In Fig. 4 sind ferner ODER-Gatter 46 a bis 46 d, 47, 48, 50, 54 und 56, UND-Gatter 49 und 51 bis 53, ein 4-Bit-Encoder 56 und ein Selektor 57 gezeigt. Das Signal 59 von einer Austauschlogik (WRA) dient zur Fest­ legung einer Zeile, die eine bestimmte Zeile, die im AS nicht vorhanden ist, ersetzen soll; diese Zeile besteht aus 2-Bit-Zeilendaten. Ferner ist in Fig. 4 ein Zeilen­ nummernregister 68 (2 Bits) des AS gezeigt.
Die logischen Ausgaben I, II, III, IV, V und VI ergeben sich aus der aus den Logikgattern aufgebauten Logik­ schaltung und werden in Tabelle 2 erläutert:
Tabelle 2
  • I: "Treffer"-Verarbeitungsanforderung; keine exklusive Steuerung für die anderen AS erforderlich.
    Wenn das EXi-Bit eines eine Speicheradresse enthaltenden Blocks den Wert "1" besitzt, wird von der logischen Ausgabe VI eine Blockannulierungsanforderung an die andere SS ausgegeben, während dasselbe EXi-Bit den Wert "1" behält.
  • II: "Treffer"-Verarbeitungsanforderung mit exklusiver Steuerung der anderen AS erforderlich.
    Da das EXL-Bit den Wert "0" besitzt, obwohl im selben AS die gewünschten Zeilendaten vorhanden sind, wird angefragt, ob die identische Zeile im AAF des anderen AS vorhanden ist; falls sie vorhanden ist, wird die Eintragung ungültig gemacht.
  • III: "Kein Treffer"-Verarbeitungsanforderung für die Nur-Lese-Holanforderung.
    Wenn sich aufgrund des Aufsuchens des anderen AAF herausstellt, daß die letzten Daten in diesen anderen AAF vorhanden sind, werden diese Daten vom anderen AS übertragen, während die Bits EXL und EX 0 bis EX 3 des einen AAF mit dem Wert "0" erhalten.
  • IV: "Kein Treffer"-Verarbeitungsanforderung für eine Holanforderung mit EX-Abruf.
    Wenn sich aufgrund des Aufsuchens des anderen AAF herausstellt, daß die letzten Daten in diesem anderen AAF vorhanden sind (falls die Daten im anderen AS verändert sind), werden die Daten vom anderen AS zu diesem AS übertragen und die Eintragung des anderen AAF ungültig gemacht.
  • V: "Kein Treffer"-Verarbeitungsanforderung für die Speicheranforderung.
    Wenn sich aufgrund des Aufsuchens des anderen AAF herausstellt, daß die entsprechende Zeile in diesem anderen AAF vorhanden ist, wird die Eintragung ungültig gemacht und dem EXL-Bit der Wert "1" zugeteilt.
    Die letzten Daten werden vom anderen AS oder vom Hauptspeicher an diesen AS übertragen. An den anderen PS wird eine Invalidierungsanforderung nur für den Block ausgegeben, der die Speicheranforderung (IV) enthält, während das EXi-Bit den Wert "1" erhält (i ist die Blocknummer desjenigen Blocks, an den die Invalidierungsanforderung ausgegeben worden ist).
  • VI: Blockannulierungsanforderung für den anderen PS während der Speicherverarbeitung.
    Für einen die Speicheradresse enthaltenden Block wird eine Blockannulierungsanforderung ausgegeben, während das EXi-Bit den Wert "1" erhält (i ist die Blocknummer desjenigen Blocks, der die Speicheradresse enthält).
Bei der von der SS 62 a ausgegebenen Blockannulierungsan­ anforderung für die PS wird die Blockannulierung der PS 64 c und 64 d im System auf der Seite der SS 62 b dadurch ermittelt, ob die entsprechende Eintragung in den PAF′s 67 c und 67 d vorhanden ist und daß eine Invalidie­ rungsanforderung der Eintragung an die PAF′s 67 c und 67 d nur dann ausgegeben wird, wenn sich aufgrund des Aufsu­ chens herausgestellt hat, daß die Eintragung vorhanden ist.
Die Holanforderung mit EX-Abfrage bedeutet eine Anfor­ derung, bei der ein Block oder eine Zeile, die mit hoher Wahrscheinlichkeit geholt wird, gespeichert wird.
In Fig. 6 ist ein Blockschaltbild gezeigt, das eine wei­ tere Ausführungsform der Trefferbeurteilungsschaltung für den Vergleich der Anforderungsadresse mit der AAF- Eintragung erläutert. Diese Trefferbeurteilungsschaltung hat im wesentlichen die gleiche Struktur wie die in Fig. 3 gezeigte Trefferbeurteilungsschaltung; im Unterschied zu der in Fig. 3 gezeigten Schaltung ist bei den beson­ deren Bits, die in die AAF-Eintragung eingetragen wer­ den, kein EXL-Bit vorgesehen. Anstatt des Signals vom EXL-Bit der Schaltung von Fig. 3 ist in der in Fig. 5 gezeigten Schaltung ein aus der logischen Summe der Si­ gnale der besonderen Bits EX 0 bis EX 3 sich ergebendes Signal vorgesehen. Daher ist gegenüber der in Fig. 3 ge­ zeigten Schaltung ein ODER-Gatter 60 vorgesehen, dessen Ausgangssignal anstatt des EXL-Bit-Signals verwendet wird. Bei der Anwendung einer solchen Trefferbeurtei­ lungsschaltung ergibt sich gegenüber der in Fig. 3 ge­ zeigten Trefferbeurteilungsschaltung, in der ein EXL-Bit vorgesehen ist, der Unterschied, daß das EXi-Bit in der Verarbeitung der Holanforderung mit EX-Abfrage den Wert "1" erhalten soll, selbst wenn das EXi-Bit des Blocks i, der der Zugriffadresse entspricht, nicht gespeichert ist.
Wie oben beschrieben, kann der wesentliche Teil des er­ findungsgemäßen Multiprozessorsystems wie folgt zusam­ mengefaßt werden:
  • 1. Die Identitätskontrolle zwischen den Arbeitspuffer­ speichern wird für die Speicheranforderung in einer Zeileneinheit ausgeführt, allerdings werden die Daten des Pufferspeichers im anderen System solange nicht ungültig gemacht, wie der Block nicht aktualisiert ist, um die Daten des Pufferspeichers in einer Block­ einheit zu verwalten. Damit wird eine Erhöhung des NIPV im anderen Pufferspeicher verhindert.
  • 2. Bei der Identitätskontrolle zwischen den Arbeitspuf­ ferspeichern für die Holanforderung mit EX-Abfrage wird die Eintragung des anderen Arbeitspufferspei­ chers ungültig gemacht, allerdings wird der andere Pufferspeicher solange nicht ungültig gemacht, bis eine Speicheranforderung ausgegeben wird. Daher kann das NIPV des anderen Pufferspeichers kleiner gemacht werden.
Obwohl die obigen Beispiele auf eine dreistufige hierar­ chische Speicherstruktur gerichtet sind, versteht es sich, daß die vorliegende Erfindung auf ein System ange­ wendet werden kann, in dem die Speicherstruktur eine Hierarchie mit vier oder mehr Ebenen aufweist. Es wird festgestellt, daß die Anzahl der CPU′s, EAP′s und AS′s leicht erhöht werden kann.
Wie erwähnt, ist die vorliegende Erfindung anhand von Beispielen beschrieben worden, aber es versteht sich, daß sie durch diese Beispiele nicht beschränkt werden soll, und daß verschiedene Änderungen und Abwandlungen möglich sind, ohne daß vom Geist und vom Umfang der vor­ liegenden Erfindung abgewichen wird.
Erfindungsgemäß ist es im Multiprozessorsystem, der ei­ nen Hauptspeicher, eine Mehrzahl von Arbeitspufferspei­ chern und Pufferspeicher aufweist, möglich, daß der eine Arbeitspufferspeicher die Daten des anderen Arbeitspuf­ ferspeichers und gleichzeitig den die Speicheradresse enthaltenden Block im mit der anderen Speichersteuerung verbundenen Pufferspeicher ungültig machen kann, und dennoch die Daten der restlichen Blöcke der Zeile in ei­ nem nicht ungültig gemachten Zustand belassen kann, wenn die Daten im Arbeitspufferspeicher und im Pufferspeicher während einer Speicheroperation ungültig gemacht werden sollen. Folglich kann eine Abnahme des Trefferverhält­ nisses im Pufferspeicher solange verhindert werden, wie keine Speicheranforderung für sämtliche Blöcke der Zeile ausgegeben wird.

Claims (6)

1. Multiprozessorsystem, das
einen Hauptspeicher (61);
eine Mehrzahl von Arbeitspufferspeichern (66 a, 66 b) zum Speichern einer Kopie von Daten des Haupt­ speichers (61);
eine Mehrzahl von Zentraleinheiten (63 a, 63 b, 63 c, 63 d);
eine Mehrzahl von Pufferspeichern (64 a, 64 b, 64 c, 64 d) zur Speicherung einer Kopie von Daten in jedem der Arbeitspufferspeicher (66 a, 66 b); und
ein Verzeichnis, in das eine Hauptspeicheradresse eingetragen ist, unter der im Hauptspeicher (61) Da­ ten gespeichert sind, die den Daten entsprechen, die unter der entsprechenden Adresse in jedem der Ar­ beitspufferspeicher (66 a, 66 b) und der Pufferspeicher (64 a bis 64 d) gespeichert sind, aufweist,
eine hierarchische Speicherstruktur besitzt, bei der die Größe einer Dateneintragungseinheit des Ar­ beitspufferspeichers (66 a, 66 b) um ein Vielfaches größer ist als eine Dateneintragungseinheit des Puf­ ferspeichers (64 a bis 64 d); und
eine Struktur besitzt, in der jeder der Puffer­ speicher (64 a bis 64 d) exklusiv für eine Zentralein­ heit (63 a bis 63 d) verwendet wird, dadurch gekennzeichnet, daß
eine Mehrzahl von besonderen Bits vorgesehen ist, die dem Verzeichnis (76 a, 76 b) des Arbeitspufferspei­ chers (66 a, 66 b) korrespondieren und die angeben, ob die im der einen Zentraleinheit (63 a, 63 b; 63 c, 63 d) entsprechenden Arbeitspufferspeicher (66 a; 66 b) ge­ speicherte Hauptspeicheradressendaten im der anderen Zentraleinheit (63 c, 63 d; 63 a, 63 b) entsprechenden Arbeitspufferspeicher (66 b; 66 a) oder in den mit die­ sen Zentraleinheit verbundenen Pufferspeichern (64 c, 64 d; 64 a, 64 b) gespeichert sind; und
eine Invalidierungsverarbeitung ausgeführt wird, wenn Daten des Arbeitspufferspeichers (66 a; 66 b) wie­ der eingeschrieben werden, indem das Verzeichnis (76 a; 76 b) des Arbeitspufferspeichers (66 a; 66 b) auf­ gesucht und indem beurteilt wird, ob die Daten des der anderen Zentraleinheit (63 c, 63 d; 63 a, 63 b) ent­ sprechenden Arbeitspufferspeichers (66 b; 66 a) und die im mit dieser Zentraleinheit verbundenen Pufferspei­ cher (64 c, 64 d; 64 a, 64 b) enthaltenen Daten ungültig gemacht werden sollen, wofür ein Wert aus der Mehr­ zahl der besonderen Bits einer Eintragung des Ver­ zeichnisses (76 a; 76 b) verwendet wird.
2. Multiprozessorsystem gemäß Anspruch 1, dadurch gekennzeichnet, daß die entsprechend dem Verzeichnis (76 a; 76 b) des Arbeits­ pufferspeichers (66 a; 66 b) vorgesehene Mehrzahl von besonderen Bits eine Summe n+1 Bits aufweist, von de­ nen der der anderen Zentraleinheit (63 c, 63 d; 63 a, 63 b) entsprechende Arbeitspufferspeicher (66 b; 66 a′) ein Bit belegt und eine Blockeinheit des der einen Zentraleinheit (63 a, 63 b; 63 c, 63 d) entsprechenden Pufferspeichers (64 a, 64 b; 64 c, 64 d) oder jede der Einheiten, deren Größe ein Vielfaches der Größe einer Blockeinheit ist, n Bits belegt.
3. Multiprozessorsystem gemäß Anspruch 1, dadurch gekennzeichnet, daß
die entsprechend dem Verzeichnis (76 a; 76 b) des Arbeitspufferspeichers (66 a; 66 b) vorgesehene Mehr­ zahl von besonderen Bits so ausgebildet ist, daß die Blockeinheit des der einen Zentraleinheit (63 a, 63 b; 63 c, 63 d) entsprechenden Pufferspeichers (64 a, 64 b; 64 c, 64 d) oder jeder der Einheiten, deren Größe ein Vielfaches der Größe einer Blockeinheit ist, n Bits aufweisen kann; und
ein Signal der besonderen Bits für den der anderen Zentraleinheit (63 c, 63 d; 63 a, 63 b) entspre­ chenden Arbeitspufferspeicher (66 b; 66 a) aus der lo­ gischen Summe der Signale der besonderen Bits, die n Bits aufweisen und für den Pufferspeicher (64 c, 64 d; 64 a, 64 b) vorgesehen sind, gebildet wird.
4. Multiprozessorsystem gemäß Anspruch 1, dadurch gekennzeichnet, daß dann, wenn Daten des Arbeitspufferspeichers (66 a; 66 b) wieder eingeschrieben werden, Daten des Arbeits­ pufferspeichers (66 b; 66 a) der anderen Zentraleinheit (63 c, 63 d; 63 a, 63 b) durch einen logischen Summenwert der besonderen Bits, die aus einem Bit für den Ar­ beitspufferspeicher (66 b; 66 a) und n Bits für den Pufferspeicher (64 c, 64 d; 64 a, 64 b) bestehen, ungül­ tig gemacht werden.
5. Multiprozessorsystem gemäß Anspruch 1, dadurch gekennzeichnet, daß dann, wenn Daten des Arbeitspufferspeichers (66 a; 66 b) wieder eingeschrieben werden, Daten des Arbeits­ pufferspeichers (66 b; 66 a) der anderen Zentraleinheit (63 c, 63 d; 63 a, 63 b) durch einen Wert der besonderen Bits, der einem Pufferspeicherblock eines Verzeich­ nisses (76 b; 76 a) des Arbeitspufferspeichers (66 b; 66 a) entspricht, ungültig gemacht werden.
6. Multiprozessorsystem, das
einen Hauptspeicher (61);
eine Mehrzahl von Arbeitspufferspeichern (66 a, 66 b) zum Speichern einer Kopie von Daten des Haupt­ speichers (61);
eine Mehrzahl von Zentraleinheiten (63 a bis 63 d);
eine Mehrzahl von Pufferspeichern (64 a bis 64 d) zur Speicherung einer Kopie von Daten eines jeden der Arbeitspufferspeicher (66 a, 66 b) und
Verzeichnisse (67 a bis 67 d, 76 a, 76 b), in die eine Hauptspeicheradresse eingetragen ist, unter der im Hauptspeicher (61) Daten gespeichert sind, die den Daten entsprechen, die unter der entsprechenden Adresse in jedem der Arbeitspufferspeicher (66 a, 66 b) bzw. der Pufferspeicher (64 a bis 64 d) gespeichert sind, aufweist,
eine hierarchische Speicherstruktur besitzt, in der eine Dateneintragungseinheit des Arbeitspuffer­ speichers (66 a, 66 b) um ein Vielfaches größer ist als eine Dateneintragungseinheit des Pufferspeichers (64 a bis 64 d); und
eine Struktur besitzt, in der jeder Pufferspei­ cher (64 a bis 64 d) exklusiv für eine der Zentralein­ heiten (63 a bis 63 d) verwendet wird, dadurch gekennzeichnet, daß
besondere Bits, die angeben, ob die im der einen Zentraleinheit (63 a, 63 b; 63 c, 63 d) entsprechenden Arbeitspufferspeicher (66 a; 66 b) gespeicherten Haupt­ speicheradressendaten im der anderen Zentraleinheit (63 c, 63 d; 63 a, 63 b) entsprechenden Arbeitspuffer­ speicher (66 b; 66 a) und im mit der anderen Zentral­ einheit verbundenen Pufferspeicher (64 c, 64 d; 64 a, 64 b) gespeichert sind, in ein erstes besonderes Bit zur Ausführung einer Datenidentitätskontrolle zwi­ schen den Arbeitspufferspeichern (66 a, 66 b) und in ein zweites besonderes Bit zur Ausführung einer Da­ tenidentitätskontrolle zwischen dem Arbeitspuffer­ speicher (66 a; 66 b) und dem mit dem anderen Arbeits­ pufferspeicher (66 b; 66 a) verbundenen Pufferspeicher (64 c; 64 d; 64 a, 64 b) aufgeteilt werden und die beson­ deren Bits als Teil einer Eintragung des Verzeichnis­ ses (76 a, 76 b) des Arbeitspufferspeichers (66 a, 66 b) oder als Speicherfeldinformation vorgesehen sind und
die Identitätskontrolle zwischen den Arbeitspuf­ ferspeichern (66 a, 66 b) aufgrund des Wiedereinschrei­ bens von Daten in den Arbeitspufferspeicher (66 a, 66 b) mittels des ersten besonderen Bits und die Iden­ titätskontrolle zwischen dem Arbeitspufferspeicher (66 a, 66 b) und dem anderen Pufferspeicher (64 c, 64 d; 64 a, 64 b) mittels des zweiten besonderen Bits unab­ hängig voneinander ausgeführt werden.
DE19893932227 1988-09-27 1989-09-27 Multiprozessorsystem Ceased DE3932227A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63241386A JPH0290259A (ja) 1988-09-27 1988-09-27 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
DE3932227A1 true DE3932227A1 (de) 1990-03-29

Family

ID=17073514

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19893932227 Ceased DE3932227A1 (de) 1988-09-27 1989-09-27 Multiprozessorsystem

Country Status (3)

Country Link
JP (1) JPH0290259A (de)
DE (1) DE3932227A1 (de)
GB (1) GB2223868B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197139A (en) * 1990-04-05 1993-03-23 International Business Machines Corporation Cache management for multi-processor systems utilizing bulk cross-invalidate
CA2047888A1 (en) * 1990-07-27 1992-01-28 Hirosada Tone Hierarchical memory control system
GB2256512B (en) * 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system
KR100515059B1 (ko) * 2003-07-22 2005-09-14 삼성전자주식회사 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
EP1986101B1 (de) * 2006-02-14 2012-06-20 Fujitsu Ltd. Kohärenz-aufrechterhaltungseinrichtung und kohärenz-aufrechterhaltungsverfahren
JP2015182104A (ja) 2014-03-24 2015-10-22 ファナック株式会社 レーザ光の伝播監視機能を備えたレーザ加工機

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4675811A (en) * 1983-12-27 1987-06-23 Hitachi, Ltd. Multi-processor system with hierarchy buffer storages

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4675811A (en) * 1983-12-27 1987-06-23 Hitachi, Ltd. Multi-processor system with hierarchy buffer storages

Also Published As

Publication number Publication date
JPH0290259A (ja) 1990-03-29
GB8921803D0 (en) 1989-11-08
GB2223868B (en) 1993-01-20
GB2223868A (en) 1990-04-18

Similar Documents

Publication Publication Date Title
DE69317729T2 (de) Cache-Etikettenspeicher
DE2847960C2 (de) Speichersteuereinrichtung
DE69031086T2 (de) Cache-Speicherinhaltssteuerung in Mehrprozessornetzwerken
DE3803759C2 (de)
DE3932675C2 (de)
DE69733374T2 (de) Speichersteuerungsvorrichtung und -system
DE3011552C2 (de)
DE69715203T2 (de) Ein Datenverarbeitungssystem mit cc-NUMA (cache coherent, non-uniform memory access) Architektur und im lokalen Speicher enthaltenem Cache-Speicher für Fernzugriff
DE68902193T2 (de) Datenspeicheranordnung.
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE69029173T2 (de) Mikroprozessor
DE2241257A1 (de) Datenverarbeitende anlage
DE2630323A1 (de) Datenspeichereinrichtung
DE3502147C2 (de)
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2547488A1 (de) Mikroprogrammierte datenverarbeitungsanlage
DE68928333T2 (de) Pufferspeicher, der zur Speicherung von Befehls- und Datenblöcken auf verschiedene Blockgrössen geeignet ist
DE3588061T2 (de) Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät.
DE69421340T2 (de) Kohärenter Datenaustausch, Verwaltungsverfahren zwischen den Stufen einer mindestens dreistufigen Speicherhierarchie
DE69230159T2 (de) Steuerschaltung für Zwei-Torspeicher
DE3873388T2 (de) Cache-speicher.
DE4117672A1 (de) Verfahren und vorrichtung zur steuerung eines zwischen einer zentraleinheit und einem arbeitsspeicher angeordneten cache-speichers
DE69131761T2 (de) Datenverarbeitung zur Kohärenzaufrechterhaltung von Cache-Speicherdaten
DE3919802C2 (de) Speichersteuersystem für ein Multiprozessorsystem
DE69131212T2 (de) Cache-Kohärenz in logischen Caches

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection