DE4029861C2 - Mehrprozessorsystem und Speichersteuerverfahren dafür - Google Patents
Mehrprozessorsystem und Speichersteuerverfahren dafürInfo
- Publication number
- DE4029861C2 DE4029861C2 DE4029861A DE4029861A DE4029861C2 DE 4029861 C2 DE4029861 C2 DE 4029861C2 DE 4029861 A DE4029861 A DE 4029861A DE 4029861 A DE4029861 A DE 4029861A DE 4029861 C2 DE4029861 C2 DE 4029861C2
- Authority
- DE
- Germany
- Prior art keywords
- cpu
- memory
- common
- shared
- shared 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Memory System (AREA)
Description
Ein Mehrprozessorsystem mit den im Oberbegriff des Anspruchs
5 angegebenen Merkmalen sowie ein Speichersteuerverfahren für
ein solches Mehrprozessorsystem sind aus US 4 811 216 bekannt.
Das bekannte System umfaßt mehrere CPUs, deren jede
sowohl einen lokalen als auch einen globalen Speicher aufweist.
Die globalen Speicher dienen zwar einem gemeinsamen
Zweck, enthalten aber nicht dieselben Daten und können auch
nicht beliebig von anderen CPUs angesteuert werden.
Bei einem weiteren, aus DE 37 36 169 A1 bekannten Mehrprozessorsystem
sind mehrere Slave-Prozessoren einem Master-Prozessor
untergeordnet. Die den einzelnen Slave-Prozessoren zugeordneten
Speicher weisen alle unterschiedliche Inhalte auf.
Ein Zugriff einer CPU auf den Speicher einer anderen CPU findet
nicht statt.
Bei dem aus DE 36 10 155 A1 bekannten Mehrprozessorsystem arbeiten
zwei Prozessoren mit zwei Speichern zusammen, die jedoch
unterschiedliche Inhalte aufweisen und auch nicht von
mehreren CPUs angesteuert werden.
Der Erfindung liegt die Aufgabe zugrunde, in einem Mehrprozessorsystem
bei geringer Gesamt-Speicherkapazität hohe Zuverlässigkeit
auch bei Auftreten von Speicherfehlern sowie
hohe Flexibilität bei Systemerweiterungen zu erreichen.
Diese Aufgabe wird durch das in Anspruch 1 gekennzeichnete
Speichersteuerverfahren und das in Anspruch 5 gekennzeichnete
Mehrprozessorsystem gelöst.
Danach sind mindestens zwei gemeinsame Speicher vorhanden, in
denen dieselben Daten gespeichert werden. Diese gemeinsamen
Speicher werden von allen CPUs gemeinsam benutzt. Tritt in
einem Speicher ein Fehler auf, so stehen die Daten in dem anderen
Speicher noch fehlerlos zur Verfügung. Im Normalfall,
d. h. wenn kein Fehler vorliegt, nimmt jede der mit einem gemeinsamen
Speicher ausgerüsteten CPUs bei Anforderung von
"gemeinsamen" Daten auf den eigenen gemeinsamen Speicher Zugriff,
so daß die Zugriffszeit so kurz wie möglich wird. Weitere
vorhandene CPUs weisen keinen oder einen kleineren gemeinsamen
Speicher auf und nehmen bei Anforderung von "gemeinsamen"
Daten, die nicht in ihrem gegebenenfalls vorhandenen
gemeinsamen Speicher geringerer Kapazität enthalten sind,
auf den gemeinsamen Speicher einer der erstgenannten CPUs Zugriff.
Dadurch wird es möglich, das System um beliebige CPUs
zu erweitern, auch wenn diese keinen gemeinsamen Speicher
aufweisen, so daß die Flexibilität des Systems bei geringem
Gesamt-Speicheraufwand erhöht wird.
Ein Ausführungsbeispiel der Erfindung wird nachstehend anhand
der Zeichnungen näher erläutert, in denen
Fig. 1(a) ein Blockschaltbild eines gesamten Mehrprozessorsystems
zeigt,
Fig. 1(b) eine einzelne Einheit aus dem Blockschaltbild nach
Fig. 1(a) veranschaulicht,
Fig. 2 ein Blockschaltbild über den inneren Aufbau einer
CPU nach Fig. 1(a) zeigt,
Fig. 3 ein Blockschaltbild des inneren Aufbaus einer Bus-Anschlußeinheit der Fig. 2 darstellt,
Fig. 4 ein Blockschaltbild ist, das die Innenanordnung eines un
tergeordneten Systembus-Interface (System Bus Slave In
terface) innerhalb des GMP zeigt,
Fig. 5 ein Blockschaltbild ist, das die Innenanordnung eines Ab
frage-Kontrollabschnitts (Request Control Section) inner
halb des GMP zeigt,
Fig. 6 die logische Struktur zum Festlegen der Bestimmung des
Zugriffs für den Kontrollabschnitt zeigt,
Fig. 7 ein Blockschaltbild ist, das die Innenanordnung eines
Haupt-Interface (Master Interface) für den gemeinsamen
Speicher-Bus (Common Memcry Bus) innerhalb des GMP zeigt,
Fig. 8 ein Zeitablaufdiagramm für den gemeinsamen Speicher-Bus
ist,
Fig. 9 ein Zeitablaufdiagramm für den gemeinsamen Speicher-Bus
im Fall des "Belegungszugangs" (Reserve Access) ist,
Fig. 10 ein Blockschaltbild ist, das die innere Anordnung eines
untergeordneten Interface für den gemeinsamen Speicher-
Bus innerhalb des GMP zeigt,
Fig. 11 eine Tabelle ist, die die Wirkungsweise des Steuerab
schnitts des Arbeitsrechner-Interface darstellt,
Fig. 12 ein Diagramm ist, um ein Beispiel des Einstellens von
Server-Flaggen (Server Flags) im untergeordneten Inter
face zu erläutern,
Fig. 13 ein Blockschaltbild ist, das die innere Anordnung eines
Systembus-Hauptinterface innerhalb des GMP zeigt,
Fig. 14 eine Tabelle ist, die die Wirkungsweise des Kontrollab
schnitts des Haupt-Interface darstellt,
Fig. 15 ein Diagramm ist, um Beispiele des Einstellens für eine
Abbildungseinheit (Mapping Unit) innerhalb des GMP zu
zeigen,
Fig. 16 ein Flußdiagramm ist, das eine Folge von System-Programm
schritten zeigt, wenn man einen Bereich des eigenen ge
meinsamen Speichers ändert,
Fig. 17 ein Flußdiagramm ist, das eine Folge des Kopierens des
gemeinsamen Speichers zeigt,
Fig. 18 und 19 Diagramme sind, um ein Konzept einer Speicher-Mana
gementeinheit (Memory Management Unit) innerhalb des GMP
zu erläutern, und
Fig. 20 ein Diagramm ist, um die Korrespondenz der Adressen vor
und nach der Adressenübersetzung zum Zeitpunkt der On
line-Ausweitung zu erläutern.
Es folgt nun die Beschreibung bevorzugter Beispiele.
Fig. 1(a) zeigt eine gesamte Ausbildung eines Systems gemäß einem Ausführungsbeispiel der
vorliegenden Erfindung, und Fig. 1(b) zeigt die Hauptelemente des
GMP 1′ des Systems in Fig. 1(a).
Eine Anzahl von Zentral-Prozessoreinheiten CPU sind über Doppel-Ge
meinschaftsspeicherbusse (Dual Common Memory Buses) 3A und 3B mit
einander verbunden (G-BUS A und G-BUS B). Jede der Zentral-Prozes
soreinheiten CPU besteht aus einer Anschlußeinheit 1 (GMP: Gesamt-
Speicher-Port) zum Anschluß an die gemeinsamen Speicherbusse, einem
verteilten gemeinsamen Speicher 8 (GM: Gesamt-Speicher), der in je
der Zentral-Prozessoreinheit CPU enthalten ist, einer Grund-Prozes
soreinheit (Basic Processor Unit) BPU 5, und einem Haupt-Speicher
(Main Storage) MS 4. Im Prinzip ist jeder Gesamt-Speicher-Port GMP
so angeordnet, daß er eine gemeinsame Speicher-Ablesetätigkeit nur
von jenem Gesamtspeicher GM durchführt, der in seiner Zentral-Pro
zessoreinheit CPU enthalten ist, und eine gemeinsame Speicher-
Schreibtätigkeit an alle in allen Zentral-Prozessoreinheiten CPU
enthaltenen Gesamt-Speicher GM über die Doppel-Gesamt-Busse G-BUS
durchführt.
Der Gesamt-Speicher-Port GMP mindestens einer Zentral-Prozessorein
heit CPU (in diesem Beispiel CPU 1), der den gesamten Bereich des
gemeinsamen Speichers aufweist, ist mit einer Einrichtung versehen,
um die Gesamt-Speicher- (GM-) Ablesedaten zum Gesamt-Bus G-BUS A zu
senden, und der Gesamt-Speicher-Port GMP mindestens einer anderen
Zentral-Speichereinheit CPU (in diesen Beispiel CPU 2), der eben
falls den gesamten Bereich des gemeinsamen Speichers aufweist, ist
mit einer Einrichtung bzw. Mitteln versehen, um Gesamt-Speicher
(GM-) Ablesedaten zum Gesamt-Bus G-BUS B zu senden.
Zusätzlich ist jeder der Gesamt-Speicher-Ports GM der anderen Zen
tral-Prozessoreinheiten CPU mit einer Abbildungseinrichtung (GMAP-
mapping means) 24 versehen, die als eine Adressen-Zuordnungsein
richtung funktioniert, um einen Adressenbereich eines Gesamt-Spei
chers GM, der in seiner eigenen Zentral-Prozessoreinheit CPU ent
halten ist, innerhalb des Adressenbereiches der gemeinsamen Spei
cher der Zentral-Prozessoreinheiten CPU 1 und 2 einzustellen, sowie
eine Ableseeinrichtung, um die Daten von den Zentral-Prozessorein
heiten CPU 1 und 2 abzulesen, von denen jede die Ablesedaten-Sende
einrichtung aufweist, und zwar durch den Gesamt-Bus G-BUS, wenn sie
außerhalb des Adressenbereiches des Gesamt-Speichers GM liegen.
Ferner ist der Gesamt-Speicher-Port GMP mit einem Adressenüberset
zer (GMMU: Global Memory Management Unit/Gesamt-Speicher-Manage
menteinheit) 18 versehen, um die Adressen auf den G-BUSsen zu über
setzen, die allen Zentral-Prozessoreinheiten CPU gemeinsam sind
(gemeinsame bzw. allgemeine virtuelle Adressen/Common Virtual Ad
dresses), in die entsprechenden physischen Adressen des Gesamt-
Speichers GM zu übersetzen, der in seiner eigenen Zentral-Prozes
soreinheit CPU enthalten ist.
Die detaillierte Beschreibung der Ausführungsbeispiele gemäß der
vorliegenden Erfindung werden nun vorgenommen, wobei man der bis
lang beschriebenen Anordnung Rechnung trägt.
Es wird nun auf Fig. 2 Bezug genommen, die die innere Anordnung der
Zentral-Prozessoreinheit CPU zeigt; die gemeinsame Speicher-Bus-An
schlußeinheit GMP 1, der Haupt-Speicher MS 4, der gemeinsame Spei
cher GM 8, die Grund-Prozessoreinheit (Basic Processor Unit) BPU 5
und ein Eingangs-/Ausgangs-Bus-Adapter (Input/Output Bus Adapter)
10A 6 sind über einen System-Bus SYSBUS 2 verbunden. Der Gesamt-
Speicher-Port 1 ist mit den Doppel-Gemeinschaftsbussen 3A und 3B
(G-BUSe A und B) verbunden. Der Haupt-Speicher MS und der gemeinsa
me Speicher GM können getrennt an unterschiedlichen Speicherplatten
angebracht sein, sind in diesem Ausführungsbeispiel jedoch an der
selben Speicherplatte angebracht und werden entsprechend ihren
Adressen als "MS" und "GM" unterschieden. (Es ist auch möglich, den
Gesamt-Speicher GM innerhalb des Gesamt-Speicher-Ports GMP anzu
bringen.) Die Grund-Prozessoreinheit BPU gibt, wenn man zum gemein
samen Speicher Zugriff sucht, eine Nachfrage ab (die Adressen- und
Schreibdaten umfaßt), und zwar an den Gesamt-Speicher-Port GMP, der
dann eine Antwort (die die Ablesedaten umfaßt) zur Grund-Prozessor
einheit GPU abgibt, nach dem Zugang zum Gesamt-Speicher GM in sei
ner eigenen Zentral-Prozessoreinheit CPU über SYSBUS oder dem Zu
gang zum Gesamtspeicher GM in einer anderen Zentral-Prozessorein
heit CPU über den Gesamt-Bus G-BUS Zugang genommen hat.
Fig. 3 zeigt die innere Anordnung der Anschlußeinheit GMP 1 an den
Gemeinschaftsspeicher-Bus (Common Memcry Bus Connection Unit). Ein
System-Bus-Unter-Interface SYSBUS SLAVE 11 empfängt den Zugriff vom
System-Bus 2. Eine Abfragesteuerung bzw. -kontrolle REQCTL 12 über
prüft den Inhalt dieses Zugangs, um seine Bestimmung zu festzule
gen. Ein Haupt-Interface für den Gemeinschaftsspeicher-Bus G-BUS
MASTER 13 empfängt die Anfrage von der Anfragesteuerung 12 und un
terstützt den Zugriff zu den Doppel-Gemeinschaftsspeicher-Bussen 3A
und 3B. Ein Unter-Interface für den Gemeinschaftsspeicher-Bus G-BUS
SLAVE 14 empfängt einen Zugriff von dem Gemeinschaftsspeicher-Bus
3A oder 3B und bestimmt, ob er bearbeitet werden soll oder nicht.
Ein Haupt-Interface für den System-Bus SYSBUS MASTER 19 empfängt
eine Anfrage für die Bearbeiturg von der Anfragekontrolle 12 oder
von dem Unter-Interface 14 für den Gemeinschaftsspeicher-Bus über
einen örtlichen Bus LOCAL BUS 22 und führt eine Lese-/Schreibe-Tä
tigkeit zum Gesamt-Speicher GM der eigenen Zentral-Prozessoreinheit
CPU über den System-Bus 2 durch.
Fig. 4 zeigt die innere Anordnung des Unter-Interface 11 des Sy
stem-Bus bei der Einheit GMP zum Anschluß an einen gemeinsamen
Speicher, die in Fig. 3 gezeigt ist. Das Unter-Interface 11 des Sy
stem-Bus empfängt eine Anfrage-Information (zusammen mit der Adres
se (A) 101, Schreibdaten (WD) 102, einem Rückfragesignal (MREQ) 105
und einem Belegungssignal (Reserve Signal) (MRSV) 104) vom System-
Bus 2, akzeptiert eine solche Information jedoch nur, wenn die
Adresse 101 innerhalb jenes Bereichs liegt, der dem Gesamt-Spei
cher-Port GMP zugeordnet ist, und sendet die Frageinformation (zu
sammen mit der Adresse 108, den Schreibdaten 106, einem Anfragesi
gnal 112 und einem Belegungssignal 111) an das Interface 20 der Ab
fragekontrolle 12. Zusätzlich empfängt das Unter-Interface 11 des
System-Bus die Antwortinformation (zusammen mit den Ablesedaten
(RD) 110, einem Antwortsignal (MACK) 113 und einem Fehlersignal
(MERR) 114) und sendet das Antwortsignal (das die Ablesedaten 103,
ein Antwortsignal 106 und ein Fehlersignal 107 umfaßt) an den Sy
stem-Bus 2.
Fig. 5 zeigt die innere Anordnung der Abfrage- bzw. Auftragskon
trolle (request control) 12 innerhalb der Anschlußeinheit an den
gemeinsamen Speicher GMP, die in Fig. 3 gezeigt ist. Die Abfrage
kontrolle 12 empfängt eine Abfrageinformation vom Interface 20 des
untergeordneten System-Bus-Interface 11, legt eine Bestimmung des
Zugriffs gemäß der nachfolgend beschriebenen Bedingung fest, sendet
die Abfrageinformation an das Interface 21, wenn ein Zugriff zu dem
Gemeinschafts-Speicher-Bus vorgenommen werden soll, oder an das In
terface 22, wenn der Zugriff zu dem eigenen gemeinsamen Speicher
vorgenommen werden soll, empfängt eine Antwortinformation und sen
det die Antwortinformation an das Interface 20. Eine Abbildungsein
heit MAP 131, die in übereinstimmung mit einem der Merkmale der
vorliegenden Erfindung aufgebaut ist, indiziert eine Abbildung
(Map) in Abhängigkeit von der Adresse 108 und setzt das Ergebnis in
ein Bit- bzw. Treffer-Signal (Bit bzw. Hit Signal) 133. Wenn das
Treffer-Signal bei "1" liegt, dann bezeichnet dies, daß ein Teil
des gemeinsamen Speichers entsprechend der Adresse innerhalb des
eigenen gemeinsamen Speichers vorliegt. Wenn dagegen das Treffer-
Signal 133 "0" beträgt, dann bedeutet dies, daß kein Abschnitt des
gemeinsamen Speichers entsprechend der Adresse am gemeinsamen Spei
cher vorliegt. Die Einstellung der Abbildung wird unter dem System
programm der Zentral-Prozessoreinheit CPU ausgeführt. Die zeitliche
Einstellung der Abbildung kann dynamisch vorgenommen werden, wenn
die Initiierung der Zentral-Prozessoreinheit CPU ausgeführt wird,
oder sonst in Übereinstimmung mit der Transaktion der Zentral-Pro
zessoreinheit CPU.
Fig. 6 zeigt den logischen Ablauf zum Ermitteln der Bestimmung des
Zugriffs, der durch den Steuer- bzw. Kontrollkreis 132 in der Ab
fragekontrolle 12 bewirkt wird, die in Fig. 5 gezeigt ist. Wenn das
Treffer-Signal "0" beträgt, dann wird ein Zugriff zu einem externen
gemeinsamen Speicher über einen der Gemeinschaftsspeicher-Busse
vorgenommen. Wenn das Treffer-Signal "1" beträgt und ein Nicht-Be
legungszugriff (Non-Reserver Access) vorgenommen wird, dann wird
der Zugriff zum eigenen gemeinsamen Speicher vorgenommen. Ferner
wird zum Sicherstellen der Kohärenz während des Schreibbetriebes
auch ein Schreibvorgang zum externen gemeinsamen Speicher vorgenom
men. Wenn das Treffer-Signal "1" beträgt und ein Belegungszugriff
(Reserve Access) vorgenommen werden soll, dann wird eine Ablese-/
Schreib-Tätigkeit und eine Belegung beim gemeinsamen Speicher
durchgeführt und ein Zugriff wird sowohl zu den externen gemeinsa
men Speichern als auch zum eigenen gemeinsamen Speicher vorgenom
men.
Fig. 7 zeigt die innere Anordnung des Gemeinschaftsspeicher-Bus-
Hauptinterface 13 im Gemeinschaftsspeicher-Verbindungsmechanismus
GMP, der in Fig. 3 gezeigt ist. Das Bus-Hauptinterface 13 empfängt
eine Abfrageinformation vom Interface 21 der Abfragekontrolle 12.
Eine Doppelsteuerung bzw. -kontrolle DUAL CTL 140 im Bus-Hauptin
terface 13 erlangt den Zugriff zu einem Gemeinschaftsspeicher-Bus
3A über das Interface 26A und gibt im Fall einer normalen Antwort,
worin das Speicher-Fehlersignal 138 "0" beträgt und das Speicher-
Antwortsignal 137 aufrechterhalten ist, die Antwortinformation, die
die abgelesenen Daten 143A umfaßt, an das Interface 21 ab. Im Fall
einer abnormalen Antwort jedoch, bei der das Speicher-Fehlersignal
138 "1" beträgt und das Speicher-Antwortsignal 137 aufrechterhalten
ist, wird ein Zugriff zum Gemeinschaftsspeicher-Bus 3B über das In
terface 26B vorgenommen. Wenn der letztgenannte Zugriff als normale
Antwort angenommen wird, dann liefert die Doppelkontrolle 140 eine
normale Antwort (das Signal 121 beträgt "0" und das Signal 120 ist
aufrechterhalten) an das Interface 21. Zu diesem Zeitpunkt wählt
ein Wähler (Selector) 141 die abgelesenen Daten 143B. Wenn jedoch
der letztgenannte Zugriff ebenfalls als abnormale Antwort aufgefaßt
wird, dann gibt die Doppelkontrolle 140 eine abnormale Antwort (das
Signal 121 beträgt "1" und das Signal 120 wird aufrechterhalten) an
das Interface 21 ab.
Die Gemeinschaftsspeicher-Buskontrolle 142 dient dazu, eine Bele
gung zu kontrollieren und an den Gemeinschaftsspeicher-Bus zu über
tragen. Eine Busbelegungs-Anforderungs-Signalleitung (Bus Occupa
tion Request Signal Line) 139 ist für jede Zentral-Prozessoreinheit
CPU vorgesehen. Eine Adressen/Daten-(AD)Signalleitung 134 ist ein
Bus, auf dem Adressen, Schreibdaten und Lesedaten zeitüberlappt
übertragen werden.
Fig. 8 ist ein zeitliches Ablaufdiagramm, das die Belegung und
Übertragung auf dem Gemeinschaftsspeicher-Bus zeigt. Es wird davon
ausgegangen, daß die Bus-Belegungsanforderung BREQi der Zentral-
Prozessoreinheit CPUi aufrechterhalten ist. Dann tritt nach der
Zeit T1 jede Zentral-Prozessoreinheit CPU in die Halte-(HCLD)-Be
triebsart, in der sie keine neue Bus-Belegungsanfrage abgibt, und
nach der Zeit T2 erlangt eine Zentral-Prozessoreinheit CPU mit dem
höchsten Vorrang unter den Zentral-Prozessoreinheiten CFU, die die
Belegungsanfrage aufrechterhalten, die Belegung des Bus und sendet
eine Adresse auf 134 und erhält das Fragesignal 136 aufrecht, wobei
sie den Übertragungsbetrieb startet. Wenn das Antwortsignal 137
aufrechterhalten wird, dann wird die Übertragungstätigkeit beendet
und das Programm geht auf die nachfolgende Kontrolle der Bus-Bele
gung über.
Fig. 9 ist ein Zeitablaufdiagramm, das die Belegung und Übertragung
auf den Gemeinschaftsspeicher-Bus im Fall des Belegungszugriffs
(Reserve Access) zeigt. Der Unterschied zwischen dem Belegungszu
griff in Fig. 9 und dem Normalbetrieb in Fig. 8 ist so, daß infolge
der Aufrechterhaltung des Belegungssignales 135 die Bus-Belegung
(Bus Occupation) zum Zeitpunkt der Antwort auf dem erstzeitigen Zu
griff (Lese-Zugriff) gehalten wird. Zum Zeitpunkt eines zweiten Zu
griffs jedoch (Schreib-Zugriff) geht das Programm auf die nachfol
gende Kontrolle der Bus-Belegung über, infolge des Widerrufs des
Belegungssignals 135.
Fig. 10 zeigt die innere Anordnung des untergeordneten Gemein
schaftsspeicher-Bus-Interface 14 in der Gemeinschaftsspeicher-An
schlußeinheit GMP, wie in Fig. 3 gezeigt. Eine Adresse auf dem
Adressen-/Daten-Bus 134 des Gemeinschaftsspeicher-Bus 3A wird in
einem Register 163 empfangen, und die Einschreibedaten werden in
einem Register 164 empfangen. Die empfangene Information wird durch
eine Überprüfungseinheit 159 überprüft, und wenn irgendein Fehler
aufgetreten ist, dann wird ein empfangenes Fehlersignal 165 auf
rechterhalten. Ein Kontrollabschnitt 157 (der aus 157a und 157b be
steht) gibt die empfangene Information auf einem örtlichen Bus 22
als Abfrageinformation gemäß dem unten festgestellten Zustand ab
und gibt die Antwortinformation vom örtlichen Bus 22 auf den Ge
meinschaftsspeicher-Bus 3A ab, und zwar ebenfalls gemäß dem unten
festgestellten Zustand. Wähler 160, 161 und 162 dienen dazu, ir
gendeinen der Gemeinschaftsspeicher-Busse 3A und 3B auszuwählen.
Die Belegung des örtlichen Bus 22 wird durch Bus-Belegungs-Abfrage
signale 151A/151B sowie Bus-Belegungs-Gewährungssignale 152A/152B
kontrolliert. Server-Flaggen 156A/156B, die in Übereinstimmung mit
einem der Merkmale der vorliegenden Erfindung angeordnet sind, sind
solche Flaggen, welche das untergeordnete Interface 14 als Server
für einen der Gemeinschaftsspeicher-Busse bestimmen. Die Einstell
tätigkeit hiervon wird unter dem Systemprogramm zum Zeitpunkt der
Initiierung bewirkt. Ansonsten kann die Einstellung in der Hardware
festgelegt sein.
Fig. 11 zeigt den Betrieb (genauer gesagt, die Zuordnung zu den
Server-Flaggen 156 A und B des Kontrollabschnitts 157 im unterge
ordneten Interface 14. Im Fall des Betriebs ohne Server (die Ser
ver-Flagge = AUS) bleibt das Antwortsignal 137 (MACK) AUS. Das Feh
lersignal 138 (MERR) ergeht, wenn das Empfangs-Fehlersignal 165 EIN
ist. Das Fehlersignal 138 (MERR) ist so angeordnet, daß es ein ver
drahtetes ODER (Wired-OR) am Gemeinschafts-Speicher-Bus ist, so daß
das verdrahtete ODER-Signal selbst dann auftritt, wenn ein auf
rechterhaltenes Fehlersignal am Bus ermittelt wird. Um die Kohärenz
aufrechtzuerhalten, wird der Schreib-Zugriff zum eigenen gemeinsa
men Speicher infolge des Schreibbetriebs vorgenommen. Im Fall des
Server-Betriebes (die Server-Flagge = EIN) wird das Antwortsignal
137 (MACK) aufrechterhalten. In einem solchen Server-Betrieb wird
der Lese-Zugriff zum eigenen gemeinsamen Speicher so vorgenommen,
daß man die gelesenen Daten auf dem Bus 134 abgibt. Für den
Schreib-Zugriff wird dieselbe Operation wie jene beim Betrieb ohne
Server vorgenommen, ausgenommen das Aufrechterhalten des Antwort
signals 137.
Fig. 12 zeigt ein Beispiel des Setzens der Server-Flaggen 156A und
B. Die Einstellregel ist so, daß die Server-Flagge 156A einer der
Gemeinschafts-Speicher-Anschlußeinheiten GMP im System EIN ist, die
Server-Flagge 156B einer anderen Gemeinschafts-Speicher-Anschluß
einheit GMP EIN ist und alle verbleibenden Server-Flaggen AUS sind.
In anderen Worten, es gibt einen einzigen Server für jeden der Bus
se A und B, und die verbleibenden sind ohne Server. Für das System
programm wird ein Festeinstellverfahren verkörpert, bei dem die An
zahl der Zentral-Prozessoreinheiten CPU (die in der Systemdatei
oder am Schalter festgesetzt ist, der an der gedruckten Schalttafel
angebracht ist) dann überprüft wird, wenn das System beispielsweise
unter Strom gesetzt wird, und das Einstellen der Server-Flaggen
wird dementsprechend ausgeführt. Es wird beispielsweise die Flagge
156A für die Zentral-Prozessoreinheit CPU Nr. 1 auf EIN geschaltet
und die Flagge 156B wird für die Zentral-Prozessoreinheit CPU Nr. 2
auf EIN geschaltet. Es kann aber auch ein Halbfest-Einstell-Verfah
ren (Semi-Fixed Setting Method) als Abänderung hiervon verkörpert
sein, bei dem das Einstellen der Server-Flaggen in Abhängigkeit von
der Reihenfolge der Stromversorgung der Zentral-Prozessoreinheiten
CPU bewirkt wird. Zusätzlich kann auch ein anderes Verfahren der
dynamischen Änderung entsprechend der Variation der Vorgänge ausge
führt werden. Ferner kann noch ein weiteres Verfahren ausgeführt
werden, bei dem in der Hardware festgelegte Server-Flaggen statt
schreibbarer Flaggen verwendet werden, die Zentral-Prozessoreinheit
CPU 1 GMP mit der Server-Funktion für den Bus A umfaßt, die Zen
tral-Prozessoreinheit CPU 2 GMP mit der Server-Funktion für den Bus
B umfaßt und die Zentral-Prozessoreinheiten CPU 3 bis N GMFs ohne
Server-Funktion umfassen. In jedem der oben erwähnten Fälle ist es
erwünscht, daß die Zentral-Prozessoreinheit CPU, die GMP als Server
umfaßt, den gesamten Bereich des gemeinsamen Speichers aufweist.
Fig. 13 zeigt die innere Anordnung eines System-Bus-Hauptinterface
19 im Gemeinschaftsspeicher-Anschlußmechanismus GMP, wie in Fig. 3
gezeigt. Eine Orts-Bus-Entscheidungseinrichtung (Local Bus Arbiter)
174 trifft die Entscheidung, welche der Belegungsanforderungen
151A, 151B oder 128 des örtlichen Bus den höchsten Vorrang hat, und
gemäß dem Ergebnis der Entscheidung setzt sie eines der Belegungs-
Erlaubnissignale 152A, 152B und 129 auf dem örtlichen Bus ein. Eine
Abbildungseinheit 171, die in Übereinstimmung mit einem der Merkma
le der vorliegenden Erfindung aufgebaut ist, trifft die Entschei
dung der Adresse 122 auf dem örtlichen Bus, bezieht sich auf die
Abbildung, die auf der Adresse beruht, und setzt deren Inhalt in
das Treffersignal 175 ein. Wenn das Treffersignal 175 "1" beträgt,
dann bezeichnet es, daß der gemeinsame Speicher entsprechend dieser
Adresse im eigenen Gemeinschaftsspeicher vorliegt. Wenn das Tref
fersignal 175 "0" beträgt, dann liegt der gemeinsame Speicher, der
dieser Adresse entspricht, nicht im eigenen Gemeinschaftsspeicher
vor. Die Abbildungseinheit 171 hat dieselben Funktionen, und die
selbe Einstellmethode und Einstell-Zeitsteuerung der Abbildung sind
auf jene der Abbildungseinheit 131 anwendbar, die in der Abfrage
kontrolle 12 enthalten ist, wie in Fig. 5 gezeigt. Obwohl die Zen
tral-Prozessoreinheiten CPU mit oder ohne gesamten Bereich des ge
meinsamen Speichers nicht notwendigerweise die Abbildungseinheit
131 oder 171 aufweisen (wegen eines ständigen "Treffers" oder
"Trefferfehlers"), ist es im Hinblick auf die Flexibilität bevor
zugt, daß sie solche Abbildungseinheiten umfassen.
Die Adresse 122 wird dann in eine Speicher-Managementeinheit MMU
172 eingegeben, wo die Adressenübersetzung durchgeführt wird. Nach
der Übersetzung wird die Adresse als Adresse 108 auf dem Zentral-
Prozessoreinheit-Systembus (CPU-Systembus) 2 abgegeben, wie er zu
dem Zeitpunkt des Zugriffs zum eigenen Gemeinschaftsspeicher be
nutzt wird. Ein Steuerabschnitt 173 dient dazu, die Abfrage vom
örtlichen Bus 22 zu empfangen, die Entscheidung der Annehmbarkeit
des Zugriffs zum Systembus 2 gemäß der unten eingesetzten Bedingung
vorzunehmen und den Zugriff zum Systembus 2 zu ergreifen, wenn die
Zustimmung hierfür vorliegt, wobei die endgültige Antwort auf den
örtlichen Bus 22 zurückkehrt.
Fig. 14 zeigt den Zustand zum Bestimmen der Annehmbarkeit des Zu
griffs zum Systembus 2 des Steuerabschnitts 173 im Haupt-Interface
19. Unter der bezeichneten Bedingung wird, wenn das Treffersignal
175 "0" beträgt, der Zugriff zum Systembus 2 nicht bewirkt, sondern
die Antwort wird unmittelbar zurückgeführt. Wenn das Treffersignal
175 "1" beträgt, dann wird der Zugriff zum Systembus 2 bewirkt und
die Antwort wird zum örtlichen Bus 22 zurückgeführt, nachdem die
Antwort vom Systembus 2 empfangen wurde.
Fig. 15 zeigt Beispiele des Einstellens von GMP-Abbildungseinheiten
131 (Fig. 5) und 171 (Fig. 13). Das Beispiel (a) in Fig. 15 stellt
den Fall dar, bei dem alle Zentral-Prozessoreinheiten CPU den ge
samten Bereich gemeinsamer Speicher aufweisen, der dem bereits frü
her beschriebenen "Stand der Technik 2" entspricht. Das Beispiel
(b) in Fig. 15 stellt den Fall dar, in welchem zwei Zentral-Prozes
soreinheiten CPU den gesamten Bereich gemeinsamer Speicher aufwei
sen, die verbleibenden Zentral-Prozessoreinheiten CPU jedoch keine
gemeinsamen Speicher aufweisen; dieser Fall ist ähnlich dem bereits
früher erläuterten "Stand der Technik 1". Die Anordnung der vorlie
genden Erfindung hat jedoch den Vorteil, daß eine verkürzte Ablese
zeit erreicht wird, verglichen mit dem "Stand der Technik 1", und
zwar wegen der Tatsache, daß die Ablesetätigkeit stets an dem ge
meinsamen Speicher vorgenommen wird, der in der Zentral-Prozessor
einheit CPU fest enthalten ist, genauer gesagt am eigenen gemein
samen Speicher der Zentral-Prozessoreinheit CPU. Das Beispiel (c)
in Fig. 15 stellt den Fall dar, in dem vier Zentral-Prozessorein
heiten CPU den gesamten Bereich gemeinsamer Speicher aufweisen, um
eine Verarbeitung mit hoher Geschwindigkeit zu ermöglichen, während
die verbleibenden zwei Zentral-Prozessoreinheiten CPU keine gemein
samen Speicher aufweisen, sondern einen der gemeinsamen Speicher
der Zentral-Prozessoreinheiten CPU 1 und 2 benutzen können. Die An
ordnung des Beispiels (c) ist für einen solchen Umstand geeignet,
daß die Zentral-Prozessoreinheiten CPU 5 und 6 lediglich für Ein
gang-/Ausgang-Funktionen bestimmt sind und demzufolge die Kosten
leistung verschlechtert werden kann, wenn auch sie eigene gemeinsa
me Speicher aufweisen, oder daß die Zentral-Prozessoreinheiten 5
und 6 wegen der unterschiedlichen Arten der Zentral-Prozessorein
heiten CPU keine eigenen Speicher aufweisen können. Das Beispiel
(d) in Fig. 15 stellt den Fall dar, in dem die Zentral-Prozessor
einheiten CPU 1 und 2 den gesamten Bereich gemeinsamer Speicher
aufweisen, während die verbleibenden Zentral-Prozessoreinheiten CPU
nur einen Teil des gemeinsamen Speichers in einem Bereich aufwei
sen, der für schnelles Auslesen im Hinblick auf spezielle Vorgänge
erforderlich ist, die mit dem eigenen Speicherbereich befaßt sind,
und keinen gemeinsamen Speicher an einem anderen Bereich aufweisen,
bei welchem das Auslesen der Daten vom gemeinsamen Speicher der
Zentral-Prozessoreinheit CPU 1 oder 2 erfolgt. Die oben beschriebe
ne Einstellung kann dynamisch in Abhängigkeit von den betroffenen
Vorgängen geändert werden, aber erfordert die nachstehende Folge
von Schritten.
Fig. 16 zeigt ein Systemprogramm mit mehreren Schritten zum dynami
schen Ändern der Bereiche des eigenen gemeinsamen Speichers. Nach
dem "START"-Schritt geht das Programm auf den Schritt 1010 über, in
dem die Hauptabbildung (Abbildungseinheit 131) gelöscht wird. Nach
folgend bezieht sich das Zentral-Prozessorprogramm (CPU-Programm)
nicht auf seinen eigenen gemeinsamen Speicher. Dann wird im Schritt
1020 die untergeordnete Abbildung (Abbildungseinheit 171) gelöscht,
wobei der eigene gemeinsame Speicher vollständig vom Gemein
schaftsspeicher-Bus isoliert wird. Dann wird im Schritt 1030 die
Einstellung der untergeordneten Abbildung erneut vorgenommen, wobei
der eigene gemeinsame Speicher wieder an den Gemeinschaftsspeicher-
Bus angeschlossen wird. Das Programm geht auf den Schritt 1040
über, in dem das Kopieren des gesamten Bereichs des gemeinsamen
Speichers oder seines Adressenbereichs, der neuerdings eingerichtet
ist, so bewirkt wird, daß die Inhalte des eigenen gemeinsamen Spei
chers zu denen des gemeinsamen Speichers der Server-Zentral-Prozes
soreinheit CPU treffen. Nachfolgend wird im Schritt 1050 die Ein
stellung der Hauptabbildung erneut vorgenommen, damit das Zentral-
Prozessoreinheit-(CPU-)Programm den eigenen gemeinsamen Speicher
benutzen kann.
Fig. 17 zeigt eine Folge von Schritten zum Kopieren des Inhalts des
gemeinsamen Speichers. Das Programm beginnt mit dem "START"-Schritt
und geht auf den Schritt 1041 über, wo eine Kopie-Anforderungsseite
(Kopie-Empfangsseite) eine Sendeanforderung für eine Kopie an die
Zentral-Prozessoreinheit CPU des Servers A (oder B) über den Ge
meinschafts-Speicher-Bus 3A (oder 3B) abgibt. Die Server-Zentral-
Prozessoreinheit CPU, die die Anforderung empfängt, setzt den Be
ginn der Kopieradresse in Gang (Schritt 1042), nimmt die Reservie
rung des Gemeinschafts-Speicher-Bus vor, liest Daten unter der
Adresse des eigenen gemeinsamen Speichers ab und gibt die Daten an
den Gemeinschafts-Speicher-Bus ab (Schritt 1043). Dann wird an der
Empfangsseite das Schreiben der aufgenommenen Daten für den eigenen
gemeinsamen Speicher bewirkt (Schritt 1044). Nachfolgend wird die
Kopieradresse auf Stand gebracht (Schritt 1045), und dieselben
Schritte 1043 bis 1045 werden wiederholt ausgeführt, bis die Kopie
des gesamten Bereiches des gemeinsamen Speichers fertiggestellt ist
(Schritt 1046). Nach Fertigstellung des Kopiervorganges wird ein
Kopiervorgang-Fertigstellungssignal an den Gemeinschafts-Speicher-
Bus abgegeben (Schritt 1047), und die Empfangsseite erkennt die
Fertigstellung des Kopiervorganges an (Schritt 1048). Auf diese
Weise wird der Inhalt des gesamten Bereiches des gemeinsamen Spei
chers aufeinanderfolgend kopiert. Es muß vermerkt werden, daß wäh
rend der Kopiertätigkeit jeder normale Zugriff vorgenommen wird,
aber keine Inkohärenz stattfinden kann, und zwar wegen der Art, daß
die Belegung des Gemeinschafts-Speicher-Bus jedesmal dann bewirkt
wird, wenn eine Kopieradresse vorgenommen wird. Ferner wird die
Reservierung des Gemeinschafts-Speicher-Busses zum Zeitpunkt einer
jeden Fertigstellung des Kopierzuganges so gelöst, daß die normale
Zugriffstätigkeit für nur einen kürzeren Zeitraum wartet. Wenn es
erwünscht ist, daß ein Teil des gesamten Bereiches des gemeinsamen
Speichers kopiert wird, dann führt die Sendeseite den Vorgang zum
Senden der Daten des gesamten Bereiches an den gemeinsamen Speicher
durch, doch die Empfangsseite empfängt und schreibt lediglich die
Daten der zu ihrem eigenen gemeinsamen Speicher zugeordneten Adres
sen. Es kann auch die Sendezeit so angeordnet sein, daß sie nur die
Daten eines Abschnitts des gesamten Bereiches senden.
Es wird nun auf die Fig. 18 und 19 Bezug genommen; das Konzept der
Adressenübersetzung in der Speicher-Management-Einheit 172 (Fig.
13) des GMP wird nun beschrieben. Die Adresse 181, die die Gemein
schaftsspeicher-Anschlußeinheit (GMP) vom Systembus empfangen hat,
wird die Gemeinschaftsspeicher-Busadresse 182 ohne jede Änderung.
Die Gemeinschaftsspeicher-Adresse wird von der Speicher-Management-
Einheit 172 übersetzt. Die übersetzte Adresse 184 ist die System
bus-Adresse, die der Adresse 185 des eigenen Gemeinschaftsspei
chers der Zentral-Prozessoreinheit CPU entspricht. Jedes Element
mit Sternchenmarkierung (*) ist unabhängig für jeden der vielen ge
meinsamen Speicher. In anderen Worten, die Gemeinschaftsspeicher-
Busadresse ist für alle die vielen gemeinsamen Speicher gemeinsam,
aber die Speicher-Management-Einheiten 172 sind für jeden der vie
len gemeinsamen Speicher vorgesehen, wobei die physische Speicher
adresse erzeugt wird. Dies ist eines der Merkmale der vorliegenden
Erfindung, wodurch es möglich ist, die gemeinsame Adresse als vir
tuelle Adresse zu benutzen, die von jedem Zentral-Prozessorein
heits-Programm (CPU-Programm) benutzt wird, und die unabhängige
Einstellung der Korrespondenz mit dem physischen Speicher für jeden
der vielen Speicher vorzunehmen, wobei die Online-Aufweitung der
Funktion ermöglicht wird.
Fig. 20 zeigt die Ergebnisse der Adressenübersetzung vor und nach
der Online-Aufweitung. Es wird nun auf diese Figur Bezug genommen;
die Tabellen A, B und C sind mit hinlänglich Zwischenraum auf der
Gemeinschaftsspeicher-Busadresse oder virtuellen Adresse zum Zwecke
zukünftiger Aufweitung angeordnet, sind aber ohne Zwischenabstand
auf dem physischen Speicher mittels der Adressen-Übersetzungsfunk
tion angeordnet.
Wenn man davon ausgeht, daß es erwünscht ist, die Tabelle A aus
mancherlei Gründen auszuweiten, etwa um die Anzahl der Eingangs-/
Ausgangsvorrichtungen zu erhöhen, die unterstützt werden sollen und
dergl., dann wird der Online-Betrieb der Zentral-Prozessoreinheit
CPUi bendet und nachfolgend wird eine zusätzliche Speicherplatte
angebracht, die Tabelle A wird aufgeweitet, so daß sie die Tabelle
A′ bildet, und die Korrespondenz der Adressenübersetzung wird wie
derhergestellt. Dann wird der Inhalt des gemeinsamen Speichers einer
anderen Zentral-Prozessoreinheit CPU, die unter Online-Bedingung
läuft, auf neue Adressenzonen des aufgeweiteten gemeinsamen Spei
chers kopiert, wobei man ihn in den Online-Betrieb versetzt. Die
Adressen, die während der Kopiertätigkeit zwischen den Zentral-Pro
zessoreinheiten CPU übertragen werden, sind die virtuellen Adres
sen, die allen Zentral-Prozessoreinheiten CPU gemeinsam sind. Ob
wohl die Adressen der Tabellen B und C auf der Grundlage der physi
schen Adressen tatsächlich geändert werden, werden die gemeinsamen
Adressen für die anderen Zentral-Prozessoreinheiten CPU unverän
dert gehalten, so daß sie fortfahren können, die Bearbeitung des
Programmes auszuführen. Dann wird die Korrespondenz der Adressen
übersetzung für andere Zentral-Prozessoreinheiten CPU aufeinander
folgend wiederhergestellt und der Inhalt der Tabelle A′ wird vom
gemeinsamen Speicher der Zentral-Prozessoreinheit CPUi her abko
piert. Auf diese Weise wird die Aufweitung für alle die gemeinsamen
Speicher wiederholt. Nach der Aufweitung aller gemeinsamer Speicher
wird die aufgeweitete Tabelle A′ benutzt, um aufeinanderfolgend das
funktionell erweiterte Programm in die Zentral-Prozessoreinheiten
CPU zu laden. Somit kann die Online-Aufweitung der vielen gemeinsa
men Speicher erreicht werden.
Angesichts der oben geäußerten Lehren kann
eine andere Anordnung verkörpert werden,
bei welcher die Gemeinschaftsspeicher-Busse G-BUS aus Kabeln beste
hen, die innerhalb des Gehäuses der Bus-Einheit aufgenommen sind,
oder sind aus Leitern der gedruckten Schaltplatte der Buseinheit
hergestellt. Obwohl im oben erläuterten Ausführungsbeispiel die
Übertragungsleitungen in Form eines Bus vorliegen, können ferner
auch andere Formen von Übertragungsleitungen herangezogen werden,
etwa eine Ringleitung, Einzelanschlußverbindungen und dergl. Zu
sätzlich kann die Abbildungseinheit 131 durch Hardware fest einge
richtet sein, wenn kein Erfordernis für Modifizierungen vorliegt.
Es ist somit aus dem vorangehenden ersichtlich, daß gemäß der vor
liegenden Erfindung ein verbessertes Gemeinschaftsspeichersystem
vorgesehen ist, bei dem nicht für alle Zentral-Prozessoreinheiten
CPU das Erfordernis besteht, die selbe Kapazität der gemeinsamen
Speicher aufzuweisen, es hinsichtlich der Ausgeglichenheit der Ko
sten und der Leistung optimiert ist, und es eine hervorragende Kom
patibilität hat. Ferner wird im Gemeinschaftsspeichersystem der
vorliegenden Erfindung das virtuelle Adressieren für Gemeinschafts
speicheradressen realisiert, die allen Zentral-Prozessoreinheiten
CPU gemeinsam sind, und die Korrespondenz mit den physischen Spei
chern kann unabhängig für jeden der physischen Speicher wiederher
gestellt werden, wobei man die Online(Nonstop)-Aufweitung ermög
licht.
Claims (9)
1. Speichersteuerverfahren für ein Mehrprozessorsystem mit
mindestens drei CPUs, von denen mindestens zwei jeweils einen
gemeinsamen Speicher enthalten, dadurch gekennzeichnet,
daß die beiden in einer ersten und einer zweiten CPU enthaltenen gemeinsamen Speicher mit gleicher Kapazität versehen und denselben, gemeinsamen Daten geladen werden,
daß in einer dritten CPU kein gemeinsamer Speicher vorgesehen wird oder ein gemeinsamer Speicher mit geringerer Kapazität vorgesehen und mit einem Teil der gemeinsamen Daten geladen wird,
daß die erste und die zweite CPU bei Lese-Anforderung von gemeinsamen Daten im Normalbetrieb jeweils ihren eigenen gemeinsamen Speicher ansteuert, und
daß die dritte CPU bei Lese-Anforderung von gemeinsamen Daten, die nicht in ihrem gemeinsamen Speicher mit geringerer Kapazität enthalten sind, den gemeinsamen Speicher der ersten oder der zweiten CPU ansteuert.
daß die beiden in einer ersten und einer zweiten CPU enthaltenen gemeinsamen Speicher mit gleicher Kapazität versehen und denselben, gemeinsamen Daten geladen werden,
daß in einer dritten CPU kein gemeinsamer Speicher vorgesehen wird oder ein gemeinsamer Speicher mit geringerer Kapazität vorgesehen und mit einem Teil der gemeinsamen Daten geladen wird,
daß die erste und die zweite CPU bei Lese-Anforderung von gemeinsamen Daten im Normalbetrieb jeweils ihren eigenen gemeinsamen Speicher ansteuert, und
daß die dritte CPU bei Lese-Anforderung von gemeinsamen Daten, die nicht in ihrem gemeinsamen Speicher mit geringerer Kapazität enthalten sind, den gemeinsamen Speicher der ersten oder der zweiten CPU ansteuert.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
in einem Schreibmodus dieselben Daten in die gemeinsamen
Speicher des ersten und des zweiten CPU an den jeweiligen
Adressen eingeschrieben werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß bei einer Inhaltsänderung des dem gemeinsamen Speicher
mit geringerer Kapazität der dritten CPU entsprechenden
Teils des in der ersten und der zweiten CPU enthaltenen gemeinsamen
Speichers die entsprechenden Daten aus dem gemeinsamen
Speicher der ersten oder der zweiten CPU in den gemeinsamen
Speicher der dritten CPU kopiert werden.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß den jeweiligen tatsächlichen Adressen jedes
der gemeinsamen Speicher virtuelle Adressen zugeordnet werden,
die für alle gemeinsamen Speicher gleich sind.
5. Mehrprozessorsystem mit mindestens drei CPUs, von denen
mindestens zwei jeweils einen gemeinsamen Speicher enthalten,
dadurch gekennzeichnet,
daß die beiden in einer ersten und einer zweiten CPU enthaltenen gemeinsamen Speicher die gleiche Kapazität zur Aufnahme derselben, gemeinsamen Daten aufweisen,
daß eine dritte CPU keinen gemeinsamen Speicher oder einen gemeinsamen Speicher mit geringerer Kapazität zur Aufnahme eines Teils der gemeinsamen Daten aufweist,
daß die erste und die zweite CPU jeweils eine Steuerung enthält, die bei Lese-Anforderung von gemeinsamen Daten im Normalbetrieb den jeweils eigenen gemeinsamen Speicher ansteuert, und
daß die dritte CPU eine Steuerung aufweist, die bei Lese-Anforderung von gemeinsamen Daten, die nicht in ihrem gemeinsamen Speicher mit geringerer Kapazität enthalten sind, den gemeinsamen Speicher der ersten oder der zweiten CPU ansteuert.
daß die beiden in einer ersten und einer zweiten CPU enthaltenen gemeinsamen Speicher die gleiche Kapazität zur Aufnahme derselben, gemeinsamen Daten aufweisen,
daß eine dritte CPU keinen gemeinsamen Speicher oder einen gemeinsamen Speicher mit geringerer Kapazität zur Aufnahme eines Teils der gemeinsamen Daten aufweist,
daß die erste und die zweite CPU jeweils eine Steuerung enthält, die bei Lese-Anforderung von gemeinsamen Daten im Normalbetrieb den jeweils eigenen gemeinsamen Speicher ansteuert, und
daß die dritte CPU eine Steuerung aufweist, die bei Lese-Anforderung von gemeinsamen Daten, die nicht in ihrem gemeinsamen Speicher mit geringerer Kapazität enthalten sind, den gemeinsamen Speicher der ersten oder der zweiten CPU ansteuert.
6. Mehrprozessorsystem nach Anspruch 5, dadurch gekennzeichnet,
daß die dritte CPU zum wahlweisen Empfang von gemeinsamen
Daten über zwei Datenleitungen jeweils sowohl mit
der ersten als auch mit der zweiten CPU verbunden ist.
7. Mehrprozessorsystem nach Anspruch 5 oder 6, dadurch gekennzeichnet,
daß die dritte CPU eine Zuordnungseinrichtung
aufweist, mit der sich der Inhalt des in der dritten CPU enthaltenen
gemeinsamen Speichers auf einen wählbaren Teil der
in den gemeinsamen Speichern der ersten und der zweiten CPU
gespeicherten Daten einstellen läßt.
8. Mehrprozessorsystem nach einem der Ansprüche 5 bis 7,
gekennzeichnet durch eine Einrichtung zum Einschreiben derselben,
gemeinsamen Daten in die gemeinsamen Speicher der ersten
und der zweiten CPU.
9. Mehrprozessorsystem nach einem der Ansprüche 5 bis 8,
dadurch gekennzeichnet, daß die erste und die zweite CPU jeweils
einen Adressenübersetzer aufweisen, der bei Ansteuerung
des gemeinsamen Speichers mit einer für alle gemeinsamen
Speicher geltenden virtuellen Adresse diese in die tatsächliche
Adresse des gemeinsamen Speichers der betreffenden ersten
bzw. zweiten CPU übersetzt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1243617A JPH0697449B2 (ja) | 1989-09-20 | 1989-09-20 | 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4029861A1 DE4029861A1 (de) | 1991-03-28 |
DE4029861C2 true DE4029861C2 (de) | 1995-04-27 |
Family
ID=17106486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4029861A Expired - Fee Related DE4029861C2 (de) | 1989-09-20 | 1990-09-20 | Mehrprozessorsystem und Speichersteuerverfahren dafür |
Country Status (3)
Country | Link |
---|---|
US (1) | US5551007A (de) |
JP (1) | JPH0697449B2 (de) |
DE (1) | DE4029861C2 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5895495A (en) * | 1997-03-13 | 1999-04-20 | International Business Machines Corporation | Demand-based larx-reserve protocol for SMP system buses |
US6618777B1 (en) * | 1999-01-21 | 2003-09-09 | Analog Devices, Inc. | Method and apparatus for communicating between multiple functional units in a computer environment |
EP1068669A1 (de) * | 1999-01-29 | 2001-01-17 | Cellon France SAS | Elektronisch ein- und ausschaltende vorrichtung |
US20020062415A1 (en) * | 2000-09-29 | 2002-05-23 | Zarlink Semiconductor N.V. Inc. | Slotted memory access method |
US20020161452A1 (en) * | 2001-04-25 | 2002-10-31 | Peltier Michael G. | Hierarchical collective memory architecture for multiple processors and method therefor |
US7996517B2 (en) * | 2002-01-23 | 2011-08-09 | Novell, Inc. | Transparent network connection takeover |
US7337258B1 (en) * | 2004-04-12 | 2008-02-26 | Apple Inc. | Dynamically allocating devices to buses |
TWI277877B (en) * | 2005-03-08 | 2007-04-01 | Via Tech Inc | Method and related apparatus for monitoring system bus |
GB2493340A (en) * | 2011-07-28 | 2013-02-06 | St Microelectronics Res & Dev | Address mapping of boot transactions between dies in a system in package |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4240143A (en) * | 1978-12-22 | 1980-12-16 | Burroughs Corporation | Hierarchical multi-processor network for memory sharing |
US4622631B1 (en) * | 1983-12-30 | 1996-04-09 | Recognition Int Inc | Data processing system having a data coherence solution |
JPS619738A (ja) * | 1984-06-26 | 1986-01-17 | Fuji Electric Co Ltd | アドレスマツピング方式 |
US4823259A (en) * | 1984-06-29 | 1989-04-18 | International Business Machines Corporation | High speed buffer store arrangement for quick wide transfer of data |
US4991081A (en) * | 1984-10-31 | 1991-02-05 | Texas Instruments Incorporated | Cache memory addressable by both physical and virtual addresses |
JPS62100858A (ja) * | 1985-10-28 | 1987-05-11 | Panafacom Ltd | 共有メモリ制御方式 |
DE3610155A1 (de) * | 1986-03-26 | 1987-10-08 | Joachim Bauer | Mehrprozessorsystem fuer paralleles schreiben und lesen von informationen |
US4885680A (en) * | 1986-07-25 | 1989-12-05 | International Business Machines Corporation | Method and apparatus for efficiently handling temporarily cacheable data |
US4811216A (en) * | 1986-12-22 | 1989-03-07 | American Telephone And Telegraph Company | Multiprocessor memory management method |
US4959777A (en) * | 1987-07-27 | 1990-09-25 | Motorola Computer X | Write-shared cache circuit for multiprocessor system |
DE3736169A1 (de) * | 1987-10-26 | 1989-05-03 | Philips Patentverwaltung | Verfahren und schaltungsanordnung zur kopplung von master- und slaveprozessoren zu einem multiprozessorsystem |
GB8728494D0 (en) * | 1987-12-05 | 1988-01-13 | Int Computers Ltd | Multi-cache data storage system |
KR920006617B1 (ko) * | 1988-06-07 | 1992-08-10 | 가부시기가이샤 히다찌세이사꾸쇼 | 멀티프로세서시스템 |
US5029070A (en) * | 1988-08-25 | 1991-07-02 | Edge Computer Corporation | Coherent cache structures and methods |
US5043886A (en) * | 1988-09-16 | 1991-08-27 | Digital Equipment Corporation | Load/store with write-intent for write-back caches |
IT1227360B (it) * | 1988-11-18 | 1991-04-08 | Honeywell Bull Spa | Sistema multiprocessore di elaborazione dati con replicazione di dati globali. |
-
1989
- 1989-09-20 JP JP1243617A patent/JPH0697449B2/ja not_active Expired - Lifetime
-
1990
- 1990-09-20 DE DE4029861A patent/DE4029861C2/de not_active Expired - Fee Related
-
1993
- 1993-09-16 US US08/121,449 patent/US5551007A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5551007A (en) | 1996-08-27 |
DE4029861A1 (de) | 1991-03-28 |
JPH0697449B2 (ja) | 1994-11-30 |
JPH03105546A (ja) | 1991-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3803759C2 (de) | ||
DE69031967T2 (de) | Informationsverarbeitungsanordnung | |
DE69233655T2 (de) | Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren | |
DE69127101T2 (de) | System für verteilte mehrfachrechnerkommunikation | |
DE69730164T2 (de) | Steuerung von speicherzugriffsanordnung in einem multiprozessorsystem | |
DE68925046T2 (de) | Konfigurationssteuerungssystem | |
DE69128107T2 (de) | Busanordnung für Speicherzugriff | |
DE69031086T2 (de) | Cache-Speicherinhaltssteuerung in Mehrprozessornetzwerken | |
DE3486299T2 (de) | Bus-Arbitrierungssystem. | |
DE3851554T2 (de) | Steuerungsanordnung für gemeinschaftlichen Speicher. | |
DE69024078T2 (de) | Mehrprozessoranordnung mit Vervielfältigung von globalen Daten und mit zwei Stufen von Adressübersetzungseinheiten | |
DE60202898T2 (de) | Speicherzugriffsarbitrierung mit garantierter Datentransferrate | |
DE69109803T2 (de) | Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers. | |
DE3485980T2 (de) | Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem. | |
DE10296959T5 (de) | System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen | |
DE3502147C2 (de) | ||
DE4029861C2 (de) | Mehrprozessorsystem und Speichersteuerverfahren dafür | |
DE69724879T2 (de) | Verfahren und Vorrichtung für einen Kohärenzumwandler zur Verbindung von Rechnersystemkohärenzdomänen | |
DE112012004926B4 (de) | Gemeinsame Speichernutzung durch Prozessoren | |
DE68924368T2 (de) | Datenverarbeitungssystem mit verzögertem Cache-Schreibvorgang. | |
EP0739509B1 (de) | Anordnung mit master- und slave-einheiten | |
DE3851241T2 (de) | Speicheranordnung. | |
DE3919802C2 (de) | Speichersteuersystem für ein Multiprozessorsystem | |
DE3854770T2 (de) | Busadapter für digitales Rechensystem | |
DE102006034486B4 (de) | Master zum Arbitrieren eines Zugriffs auf eine geteilte Speichereinrichtung, System und Verfahren zum Arbitrieren eines Zugriffs auf eine Speichereinrichtung unter einer Anzahl von Mastern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 13/14 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |