DE4029861C2 - Mehrprozessorsystem und Speichersteuerverfahren dafür - Google Patents

Mehrprozessorsystem und Speichersteuerverfahren dafür

Info

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
Application number
DE4029861A
Other languages
English (en)
Other versions
DE4029861A1 (de
Inventor
Yoshihiro Miyazaki
Yoshiaki Takahashi
Manabu Araoka
Soichi Takaya
Hiroaki Fukumaru
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 DE4029861A1 publication Critical patent/DE4029861A1/de
Application granted granted Critical
Publication of DE4029861C2 publication Critical patent/DE4029861C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling 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.
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.
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.
DE4029861A 1989-09-20 1990-09-20 Mehrprozessorsystem und Speichersteuerverfahren dafür Expired - Fee Related DE4029861C2 (de)

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)

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

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

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