DE4238593A1 - Mehrprozessor-Computersystem - Google Patents
Mehrprozessor-ComputersystemInfo
- Publication number
- DE4238593A1 DE4238593A1 DE4238593A DE4238593A DE4238593A1 DE 4238593 A1 DE4238593 A1 DE 4238593A1 DE 4238593 A DE4238593 A DE 4238593A DE 4238593 A DE4238593 A DE 4238593A DE 4238593 A1 DE4238593 A1 DE 4238593A1
- Authority
- DE
- Germany
- Prior art keywords
- private
- memory area
- assigned
- common
- areas
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- 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/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
Die Erfindung betrifft ein Computersystem mit
wenigstens zwei mit Speichermitteln versehenen
Prozessoren, wobei jedem der Prozessoren wenigstens ein
privater Speicherbereich in den Speichermitteln
zugeordnet ist. Des weiteren betrifft die Erfindung ein
Verfahren zum Zuordnen eines Teils eines privaten
Speicherbereichs zu einem gemeinsamen Speicherbereich
bei einem derartigen Computersystem.
Mehrprozessor-Computersysteme der genannten Art sind
bekannt. Ebenfalls sind verschiedene Möglichkeiten
bekannt, wie die Speichermittel von
Mehrprozessor-Computersystemen verwaltet werden. Die
Art und Weise einer derartigen Verwaltung ist meist
abhängig vom jeweiligen Anwendungsfall. Sollen die
Speichermittel beispielsweise dazu verwendet werden,
Nachrichten zwischen den einzelnen Prozessoren des
Mehrprozessor-Computersystems zu übermitteln, so
unterscheidet sich in diesem Fall die Verwaltung der
Speichermittel von dem davon abweichenden Anwendungs
fall, daß ein mehreren Prozessoren zugeordneter
gemeinsamer Speicherbereich zur Erlangung von
definierten Zugriffsabfolgen verriegelt und entriegelt
wird. Die Verwaltung der Speichermittel von
Mehrprozessor-Computersystemen ist also zweckgebunden
und damit nicht flexibel.
Aufgabe der Erfindung ist es, ein
Mehrprozessor-Computersystem sowie ein entsprechendes
Verfahren zu schaffen, das eine Verwaltung der
Speichermittel ermöglicht, die in einfacher Weise an
verschiedene Zwecke und Anforderungen angepaßt werden
kann.
Diese Aufgabe wird nach der Erfindung im wesentlichen
dadurch gelöst, daß bei einem Computersystem der
eingangs genannten Art wenigstens ein gemeinsamer
Speicherbereich in den Speichermitteln vorgesehen ist,
dem ein Teil von wenigstens einem der privaten
Speicherbereiche zugeordnet ist. Bei einem Verfahren
der eingangs genannten Art wird die Aufgabe
erfindungsgemäß im wesentlichen dadurch gelöst, daß in
Abhängigkeit von dem gemeinsamen Speicherbereich aus
einer Tabelle der gemeinsamen Speicherbereiche ein
Verweis zu einer Tabelle der zugeordneten Teile der
privaten Speicherbereiche ausgelesen wird, und daß in
Abhängigkeit von dem Verweis der dem gemeinsamen
Speicherbereich zugeordnete Teil des privaten
Speicherbereichs aus der Tabelle der zugeordneten Teile
der privaten Speicherbereiche ausgelesen wird.
Der gemeinsame Speicherbereich kann in Abhängigkeit von
dem jeweiligen Anwendungsfall ausgestaltet werden.
Ebenfalls kann die Anzahl zugeordneter privater
Speicherbereiche, wie auch die Ausgestaltung dieser
privater Speicherbereiche flexibel vorgenommen werden.
Die Erfindung ermöglicht somit eine flexible Verwaltung
der Speichermittel eines Mehrprozessor-Computersystems.
Insbesondere wird dies mit Hilfe der Tabelle der
gemeinsamen Speicherbereiche und der Tabelle der
zugeordneten Teile der privaten Speicherbereiche
erreicht. In der Tabelle der gemeinsamen Speicher
bereiche ist für jeden gemeinsamen Speicherbereich ein
Verweis zu der Tabelle der zugeordneten Teile der
privaten Speicherbereiche enthalten. Unter diesem
Verweis kann dann in der letztgenannten Tabelle
derjenige Teil des privaten Speicherbereichs entnommen
werden, der dem gemeinsamen Speicherbereich zugeordnet
ist. Mit Hilfe der beiden Tabellen wird somit in
einfacher Weise jegliche Zuordnung von privaten und
gemeinsamen Speicherbereichen verwaltet.
Bei einer vorteilhaften Ausgestaltung der Erfindung ist
eine prozessorabhängige Hilfstabelle und eine
adressabhängige Hilfstabelle vorgesehen. Mit Hilfe
dieser beiden Hilfstabellen ist es möglich, den Zugriff
auf zugeordnete Teile der privaten Speicherbereiche
schneller durchzuführen.
Bei einer weiteren Ausgestaltung der Erfindung sind
Befehle vorgesehen, mit deren Hilfe die gemeinsamen
Speicherbereiche und die Teile der privaten
Speicherbereiche definiert und einander zugeordnet
werden können. Des weiteren sind Befehle vorgesehen,
mit deren Hilfe Informationen im weitesten Sinne
zwischen den gemeinsamen und den privaten
Speicherbereichen ausgetauscht werden können.
Weitere Vorteile und Ausgestaltungen der Erfindung
ergeben sich aus der nachfolgenden Beschreibung eines
Ausführungsbeispiels, das in der Zeichnung dargestellt
ist. Dort zeigen
Fig. 1 bis 3 mögliche Zuordnungen von gemeinsamen
Speicherbereichen eines Mehrprozessor-Com
putersystems zu Teilen von privaten
Speicherbereichen einzelner Prozessoren, und
Fig. 4 eine schematische Darstellung der Tabellen
zur Zuordnung der gemeinsamen Speicherbereiche
und der Teile der privaten Speicherbereiche.
Ein Mehrprozessor-Computersystem weist wenigstens zwei,
üblicherweise eine Mehrzahl von Prozessoren auf. Jeder
Prozessor ist zumeist mit irgendwelchen Speichermedien
ausgestattet, wie beispielsweise mit Halbleiterspeichern
oder mit Speicherplatten. Diese Speichermedien können
einerseits dem jeweiligen Prozessor zugeordnet sein,
andererseits ist es jedoch auch möglich, daß sämtliche
Speichermedien zusammen die Speichermittel des gesamten
Mehrprozessor-Computersystem bilden.
In den Fig. 1 bis 3 sind mögliche Zuordnungen dieser
Speichermittel eines Mehrprozessor-Computersystem zu
den einzelnen Prozessoren dargestellt. Es wird dabei
immer zwischen privaten Speicherbereichen und
gemeinsamen Speicherbereichen unterschieden. Unter
einem privaten Speicherbereich ist zu verstehen, daß
auf diesen privaten Speicherbereich nur von einem
bestimmten Prozessor zugegriffen werden kann. Dies
bedeutet jedoch nicht, daß dieser private Speicher
bereich eines Prozessors identisch ist mit den dem
Prozessor zugeordneten Speichermedien; dies kann der
Fall sein, muß aber nicht. Unter einem gemeinsamen
Speicherbereich ist zu verstehen, daß auf diesen
gemeinsamen Speicherbereich mehrere oder gar alle
Prozessoren des Mehrprozessor-Computersystems eine
Zugriffsberechtigung haben. Ein derartiger gemeinsamer
Speicherbereich kann in den Speichermedien eines
bestimmten, ausgewählten Prozessors vorhanden sein; es
ist jedoch auch möglich, daß ein derartiger gemeinsamer
Speicherbereich einem oder gar mehreren Prozessoren des
Mehrprozessor-Computersystems zugeteilt ist.
In der Fig. 1 sind eine Mehrzahl privater
Speicherbereiche 10, 11, 12 dargestellt. Des weiteren
sind eine gleich große Anzahl gemeinsamer
Speicherbereiche 16, 17, 18 gezeigt. Der private
Speicherbereich 10 und der gemeinsame Speicherbereich
16 gehören zusammen, der private Speicherbereich 11 und
der gemeinsame Speicherbereich 17, usw.
In jedem der privaten Speicherbereiche 10, 11, 12 ist
ein Teil 13, 14, 15 vorhanden, der dem jeweils
zugehörigen gemeinsamen Speicherbereich 16, 17, 18
zugeordnet ist. Diese Zuordnung bedeutet, daß
beispielsweise der Inhalt des Teils 13 des privaten
Speicherbereichs 10 mit dem Inhalt des zugehörigen
gemeinsamen Speicherbereichs 16 übereinstimmt, wenn man
von zeitlichen Verzögerungen beim Abspeichern absieht.
Der Prozessor, der die Zugriffsberechtigung zu dem
privaten Speicherbereich 10 und damit auch zu dem Teil
13 des privaten Speicherbereichs 10 hat, kann in diesem
Teil 13 Daten lesen und/oder verändern. Danach ist es
möglich, daß dieser Prozessor den Teil 13 in den
gemeinsamen Speicherbereich 16 kopiert. Zu einem
späteren Zeitpunkt kann der gemeinsame Speicherbereich
16 wieder in den Teil 13 des privaten Speicherbereichs
10 für eine weitere Bearbeitung zurückgeholt werden.
Da in der Fig. 1 jedem gemeinsamen Speicherbereich nur
ein einziger Teil der privaten Speicherbereiche zugeord
net ist, können mit Hilfe dieser gemeinsamen Speicher
bereich- 16, 17, 18 im Fall der Fig. 1 keine Funktionen
durchgeführt werden wie beispielsweise die Übertragung
von Nachrichten zwischen den einzelnen Prozessoren.
Demgegenüber sind in der Fig. 2 eine Anzahl privater
Speicherbereiche 20, 21, 22, 23 dargestellt, wobei
jeweils ein Teil 24, 25, 26, 27 dieser privaten
Speicherbereiche 20, 21, 22, 23 gesondert ausgewiesen
ist. Im Unterschied zur Fig. 1 sind in der Fig. 2
mehrere gemeinsame Speicherbereiche 28, 29, 30
vorgesehen, die nicht jeweils einem einzigen privaten
Speicherbereich, sondern die teilweise mehreren
privaten Speicherbereichen zugeordnet sind.
So ist der gemeinsame Speicherbereich 28 dem Teil 24
des privaten Speicherbereichs 20, wie auch dem Teil 25
des privaten Speicherbereichs 21 zugeordnet.
Entsprechend ist der gemeinsame Speicherbereich 29 dem
Teil 26 des privaten Speicherbereichs 22 sowie weiteren
Teilen von privaten Speicherbereichen zugeordnet. Nur
der gemeinsame Speicherbereich 30 ist einem privaten
Speicherbereich, nämlich dem Teil 27 des privaten
Speicherbereichs 23 zugeordnet.
Der dem privaten Speicherbereich 20 zugehörige Prozessor
kann auf den Teil 24 des privaten Speicherbereichs 20
zugreifen und diesen gegebenenfalls verändern. Danach
kann der Teil 24 des privaten Speicherbereichs 20 in
den gemeinsamen Speicherbereich 28 kopiert werden. Von
dort ist es möglich, daß der dem privaten Speicherbereich
21 zugehörige Prozessor den gemeinsamen Speicherbereich
28 wiederum in den ihm zugeordneten Teil 25 des privaten
Speicherbereichs 21 kopiert. Jetzt kann der Prozessor
die Daten in dem Teil 25 des privaten Speicherbereichs
21 bearbeiten und verändern. Danach ist es wiederum
möglich, daß der Teil 25 in den gemeinsamen Speicher
bereich 28 kopiert wird, um eventuell wieder von dem
Teil 24 übernommen zu werden. Insgesamt ist es auf
diese Weise möglich, daß der dem privaten Speicher
bereich 20 zugeordnete Prozessor und der dem privaten
Speicherbereich 21 zugeordnete Prozessor über den
gemeinsamen Speicherbereich 28 Informationen austauschen.
Bei diesen Informationen kann es sich um Nachrichten
handeln, die zwischen den Prozessoren übermittelt
werden sollen. Ebenfalls kann der gemeinsame
Speicherbereich 28 dazu verwendet werden, die beiden
genannten Prozessoren gegeneinander zu verriegeln. Auf
diese Möglichkeiten wird später noch näher eingegangen
werden.
Des weiteren weisen in der Fig. 2 die privaten
Speicherbereiche 20, 21 noch zusätzlich die Teile 31,
32 auf, die einem weiteren gemeinsamen Speicherbereich
33 zugeordnet sind. Auch auf diese Ausführungsform wird
später noch näher eingegangen werden.
In der Fig. 3 sind schließlich eine Anzahl privater
Speicherbereiche 40, 41, 42 dargestellt, die jeweils
einen Teil 43, 44, 45 aufweisen, denen ein einziger
gemeinsamer Speicherbereich 46 zugeordnet ist. Bei
dieser Ausgestaltung ist es möglich, daß der dem
privaten Speicherbereich 40 zugehörige Prozessor Daten
in den Teil 43 schreibt. Diese Daten werden in den
gemeinsamen Speicherbereich 46 übernommen, so daß
nunmehr die Daten von den den privaten Speicherbe
reichen 41, 42 zugehörigen Prozessoren in die jewei
ligen Teile 44, 45 dieser privaten Speicherbereiche 41,
42 eingelesen werden können. Dort können die Daten
wiederum von den jeweiligen Prozessoren bearbeitet und
verändert werden, um danach wieder in den gemeinsamen
Speicherbereich 46 eingeschrieben zu werden.
Bei der Fig. 3 kann der gemeinsame Speicherbereich 46
dazu verwendet werden, Nachrichten zwischen den den
privaten Speicherbereichen 40, 41, 42, zugehörigen
Prozessoren zu übermitteln. Ebenfalls kann der
gemeinsame Speicherbereich 46 wiederum zum Verriegeln
verwendet werden, also zur Erlangung einer geordneten
Zugriffsabfolge auf Daten.
Unabhängig davon, ob die Speichermittel des
Mehrprozessor-Computersystems in Form der Darstellung
der Fig. 1 oder der Fig. 2 oder der Fig. 3 aufgeteilt
sind, erfolgt die Verwaltung der Speichermittel immer
durch dieselben nachfolgend beschriebenen Befehle.
Ist ein gemeinsamer Speicherbereich noch nicht
existent, so kann ein derartiger gemeinsamer
Speicherbereich durch den Befehl "DEFINE GSB (GSBID)"
neu definiert und damit eingerichtet werden. Die
Buchstaben GSB zeigen dabei an, daß es sich um die
Definition eines gemeinsamen Speicherbereiches handelt.
Die Buchstaben GSBID stellen eine Abkürzung für den
Namen des neu zu schaffenden gemeinsamen
Speicherbereiches dar, also eine Identifikation des
neuen gemeinsamen Speicherbereichs.
Nach diesem Befehl kann der neu errichtete gemeinsame
Speicherbereich mit Hilfe des Befehls "ALLOCATE GSB
(GSBID, GSBAA, PSBID, PSBAA, SBL)" näher festgelegt und
insbesondere einem Teil eines privaten Speicherbereichs
zugeordnet werden. Wie bereits erwähnt, ist dabei GSBID
die Identifikation des gemeinsamen Speicherbereichs.
GSBAA ist eine Abkürzung für die Anfangsadresse dieses
gemeinsamen Speicherbereichs. Entsprechend stellt PSBID
die Identifikation des zugeordneten Teils des privaten
Speicherbereichs dar, während PSBAA eine Abkürzung für
die Anfangsadresse dieses zugeordneten Teils des
privaten Speicherbereichs ist. SBL ist schließlich eine
Abkürzung für die Länge des gemeinsamen Speicherbereichs
und des zugeordneten Teils des privaten Speicherbereichs.
Mit Hilfe der beiden vorstehend beschriebenen Befehle,
ist es möglich, einen gemeinsamen Speicherbereich zu
definieren und diesem einen bestimmten Teil eines
privaten Speicherbereichs zuzuordnen. Des weiteren
können mittels der beiden Befehle die Anfangsadressen
und die Längen des gemeinsamen Speicherbereichs und des
zugeordneten Teils des privaten Speicherbereichs
festgelegt werden.
Im Hinblick beispielsweise auf Fig. 1 können also mit
Hilfe der beiden beschriebenen Befehle die gemeinsamen
Speicherbereiche 16, 17, 18 und die jeweils zugeordneten
Teile 13, 14, 15 der privaten Speicherbereiche 10, 11,
12 definiert und näher festgelegt werden.
Durch eine entsprechende Wiederholung des Befehls
"ALLOCATE . . . " ist es darüber hinaus möglich, einem
einzigen gemeinsamen Speicherbereich mehrere Teile von
privaten Speicherbereichen zuzuordnen. Bei den aufeinan
derfolgenden ALLOCATE-Befehlen ändert sich jeweils nur
die Identifikation PSBID für den jeweiligen Teil der
entsprechenden privaten Speicherbereiche. Des weiteren
ist es möglich, daß sich die Anfangsadressen PSBAA der
jeweiligen Teile der privaten Speicherbereiche von
einander unterscheiden. Die Länge SBL der Speicher
bereiche ist jedoch für alle zugeordneten Teile gleich.
Mit Hilfe einer derartigen Wiederholung des Befehls
"ALLOCATE . . . " ist es also möglich, die in der Fig. 2
dargestellte Zuordnung eines gemeinsamen Speicher
bereichs zu zwei oder mehreren Teilen von privaten
Speicherbereichen oder die in Fig. 3 gezeigte Zuordnung
eines gemeinsamen Speicherbereichs zu allen Teilen der
privaten Speicherbereiche zu bewerkstelligen.
Das Gegenstück des Befehls "ALLOCATE . . . " ist der
Befehl "DEALLOCATE GSB (GSBID, GSBAA, SBL)". Mit Hilfe
dieses Befehls ist es möglich, die Zuordnung eines
gemeinsamen Speicherbereichs zu Teilen von privaten
Speicherbereichen aufzuheben und den gemeinsamen
Speicherbereich als solchen zu löschen. Nach Ausführung
der Befehls "DEALLOCATE . . . " ist also der gemeinsame
Speicherbereich mit der Identifikation GSBID nicht mehr
existent. Auf diesen ehemaligen gemeinsamen Speicher
bereich kann somit nach dem Befehl "DEALLOCATE . . . "
nicht mehr zugegriffen werden.
Ist nun wenigstens ein gemeinsamer Speicherbereich
eingerichtet, dem wenigsten ein privater Speicherbereich
zugeordnet ist, so können mit Hilfe der Befehle "COPY
FROM PSB TO GSB (GSBID, PSBAA, SBL)" und "COPY FROM GSB
TO PSB (GSBID, PSDAA, SBL)" Daten zwischen dem
gemeinsamen Speicherbereich und dem zugeordneten Teil
des privaten Speicherbereichs ausgetauscht werden.
Aufgrund der Identifikation GSBID ist der gemeinsame
Speicherbereich bekannt, der an dem Datenaustausch
teilnehmen soll. Mit Hilfe der Anfangsadresse PSBAA des
zugeordneten Teils des privaten Speicherbereichs ist
bekannt, welcher Teil des privaten Speicherbereichs
des weiteren an dem Datenaustausch teilhaben soll.
Durch die Angabe der Länge des Speicherbereichs SBL
wird die Menge der auszutauschenden Daten festgelegt.
Insgesamt ist es mittels der in den Copy-Befehlen
enthaltenen Angaben möglich, den Datenaustausch
durchzuführen.
Im Hinblick auf die Fig. 1 bis 3 kann also mit Hilfe
der Copy-Befehle beispielsweise der gemeinsame
Speicherbereich 29 der Fig. 2 in den Teil 26 des
gemeinsamen Speicherbereichs 22 kopiert werden oder der
Teil 44 des privaten Speicherbereichs 41 der Fig. 3 in
den gemeinsamen Speicherbereich 46.
In ähnlicher Weise wie die beiden beschriebenen
Copy-Befehle ist es möglich, sogenannte Page-In- und
Page-Out-Befehle einzuführen. Derartige Befehle können
wie die Copy-Befehle Daten vom gemeinsamen Speicherbe
reich in den zugeordneten Teil des privaten Speicherbe
reichs und umgekehrt kopieren. Die Datenmenge kann
jedoch auf einen bestimmten Wert, beispielsweise auf
denjenigen Wert festgelegt werden, der auch im Rahmen
der allgemeinen Speichermittel-Verwaltung beim
sogenannten "Paging" verwendet wird. Dadurch kann die
Angabe der Länge SBL des gemeinsamen Speicherbereichs
und des zugeordneten Teils des privaten Speicherbe
reichs in den Page-In- bzw. Page-Out-Befehlen
unterbleiben.
Ist ein gemeinsamer Speicherbereich eingerichtet, und
sind diesem gemeinsamen Speicherbereich wenigsten zwei
Teile privater Speicherbereiche zugeordnet, so
ist es möglich, mit Hilfe des gemeinsamen
Speicherbereichs Nachrichten zwischen den zugehörigen
Prozessoren zu übermitteln. Zu diesem Zweck sind die
Befehle "SEND GSB ( . . . )" und "RECEIVE GSB ( . . . )"
vorgesehen. Die zu sendenden Daten werden also mit
Hilfe des SEND-Befehls aus dem zugeordneten Teil des
privaten Speicherbereichs des sendenden Prozessors in
den gemeinsamen Speicherbereich eingeschrieben. Danach
kann der empfangende Prozessor diese Daten mit Hilfe
des RECEIVE-Befehls in den ihm zugehörigen Teil seines
privaten Speicherbereichs übernehmen.
Durch die Zuordnung des gemeinsamen Speicherbereichs
nur zu zwei Teilen privater Speicherbereiche und damit
nur zu zwei zugehörigen Prozessoren ist eindeutig
festgelegt, zwischen welchen Prozessoren die
Übermittlung der Daten erfolgen soll. Will
beispielsweise der sendende Prozessor an einen anderen
Prozessor Daten übermitteln, mit dem er bisher noch
keinen gemeinsamen Speicherbereich teilt, so ist es
erforderlich, daß vor dem SEND-Befehl zuerst ein
gemeinsamer Speicherbereich für diese beiden
Prozessoren neu definiert und festgelegt wird. Erst
danach können die Daten über den neuen gemeinsamen
Speicherbereich übermittelt werden.
Ebenfalls ist es möglich, daß auf diese Weise
sogenannte Broadcast-Übermittlungen durchgeführt
werden. Zu diesem Zweck muß ein gemeinsamer
Speicherbereich eingerichtet werden, auf den alle
Prozessoren Zugriff haben, wie dies beispielsweise in
der Fig. 3 dargestellt ist. Will nunmehr einer der
Prozessoren Daten an alle andere Prozessoren
übermitteln, so schreibt er diese Daten mit Hilfe des
SEND-Befehls in den gemeinsamen Speicherbereich. Von
dort können dann alle anderen Prozessoren die Daten mit
Hilfe des RECEIVE-Befehls abholen.
Damit bei der letztgenannten Broadcast-Übermittlung die
empfangenden Prozessoren überhaupt Kenntnis davon
erhalten, daß ein anderer Prozessor Daten gesendet hat,
ist es erforderlich, daß alle Prozessoren immer wieder
den genannten gemeinsamen Speicherbereich im Hinblick
auf Datenänderungen abfragen. Diese Abfrage kann jeder
Prozessor völlig unabhängig von allen anderen
Prozessoren durchführen, so daß die beschriebene
Broadcast-Übermittlung keine Synchronisierung aller
Prozessoren erforderlich macht.
Sind zwei gemeinsame Speicherbereiche beispielsweise
zwei privaten Speicherbereichen zugeordnet, wie dies in
der Fig. 2 bei den beiden gemeinsamen Speicherbereichen
28, 33 und den zugeordneten Teilen 24, 25, 31, 32 der
beiden privaten Speicherbereiche 20, 21 der Fall ist,
so ist es möglich, mit Hilfe des einen gemeinsamen
Speicherbereichs den anderen gemeinsamen Speicherbereich
zu verriegeln bzw. zu entriegeln. Zu diesem Zweck sind
die Befehle "LOCK GSB ( . . . )" und "UNLOCK GSB ( . . . )"
vorgesehen.
Wenn beispielsweise in der Fig. 2 der zu dem privaten
Speicherbereich 20 gehörige Prozessor erreichen will,
daß der zu dem privaten Speicherbereich 21 gehörige
Prozessor irgendwelche Daten in dem gemeinsamen
Speicherbereich 28 nicht lesen darf, so setzt der zu
dem privaten Speicherbereich 20 gehörige Prozessor mit
Hilfe des LOCK-Befehls in dem gemeinsamen
Speicherbereich 33 eine sogenannte LOCK-Variable. Der
zu dem privaten Speicherbereich 21 gehörige Prozessor
prüft diese LOCK-Variable in dem gemeinsamen
Speicherbereich 33 und stellt dadurch fest, daß für ihn
zumindest derzeit der Zugriff auf den gemeinsamen
Speicherbereich 28 verriegelt ist. Nachdem der zu dem
privaten Speicherbereich 20 gehörige Prozessor
beispielsweise irgendwelche Daten in den Teil 24 des
privaten Speicherbereichs 20 verändert und dann diesen
Teil 24 in den gemeinsamen Speicherbereich 28 kopiert
hat, ist es möglich, daß der zu dem privaten
Speicherbereich 20 gehörige Prozessor den Zugriff des
zu dem privaten Speicherbereich 21 gehörigen Prozessors
auf den gemeinsamen Speicherbereich 28 wieder zulassen
will. Zu diesem Zweck setzt der zu dem privaten
Speicherbereich 20 gehörige Prozessor die LOCK-Variable
in dem gemeinsamen Speicherbereich 33 mit Hilfe des
UNLOCK-Befehls wieder zurück. Dies kann der zu dem
privaten Speicherbereich 21 gehörige Prozessor durch
eine entsprechende Abfrage feststellen. Da nunmehr der
gemeinsame Speicherbereich 28 für den zu dem privaten
Speicherbereich 21 gehörigen Prozessor nicht mehr
verriegelt ist, kann dieser letztgenannte Prozessor
den gemeinsamen Speicherbereich 28 in den Teil 25
seines privaten Speicherbereichs 21 kopieren und
bearbeiten.
Das Setzen und Rücksetzen der LOCK-Variablen durch den
LOCK- und den UNLOCK-Befehl erfolgt mit Hilfe des
gemeinsamen Speicherbereichs 33 und der beiden
zugeordneten Teile 31, 32 der privaten Speicherbereiche
20, 21. In einer einfachen Ausführung des LOCK- bzw.
des UNLOCK-Befehls wird die LOCK-Variable zuerst in den
Teil 31 von dem zu dem privaten Speicherbereich 20
gehörigen Prozessor gesetzt und danach dieser Teil 31
in den gemeinsamen Speicherbereich 33 kopiert.
Entsprechend verläuft die Abfrage des gemeinsamen
Speicherbereichs 33. Dazu genügt es, wenn der
gemeinsame Speicherbereich 33 beispielsweise in den
Teil 32 des privaten Speicherbereichs 21 kopiert wird,
um danach von dem zu dem privaten Speicherbereich 21
gehörigen Prozessor abgefragt zu werden.
In den zuvor beschriebenen Befehlen ist es erforderlich,
ausgehend von der Identifikation GSBID des gemeinsamen
Speicherbereichs die zugeordneten Teile der privaten
Speicherbereiche aufzufinden. Die zu diesem Zweck in
den Befehlen enthaltenen Information, wie
beispielsweise die Identifikation PSBID des Teils des
privaten Speicherbereichs oder die Anfangsadresse PSBAA
dieses Teils des privaten Speicherbereichs, stellen
jedoch keine absoluten Adressen dar, sondern nur
indirekte Hinweise auf derartige absolute Adressen. Es
ist deshalb erforderlich, die in den Befehlen
enthaltenen Information weiter zu verarbeiten, um
daraus die absolute Anfangsadresse des zugeordneten
Teils des privaten Speicherbereichs zu erhalten. Dies
ist nachfolgend anhand der Fig. 4 näher erläutert.
In der Fig. 4 ist eine Tabelle 50 dargestellt, in der
die gemeinsamen Speicherbereiche abgespeichert sind.
Des weiteren ist eine Tabelle 60 gezeigt, in der die
zugeordneten Teile der privaten Speicherbereiche
abgespeichert sind. Schließlich sind in der Fig. 4 noch
eine prozessorabhängige Hilfstabelle 70 sowie eine
adressabhängige Hilfstabelle 80 dargestellt.
In der Tabelle 50 der gemeinsamen Speicherbereiche ist
für jeden gemeinsamen Speicherbereich ein Verweis 51
zur Tabelle 60 der zugeordneten Teile der privaten
Speicherbereiche, ein Verweis 52 zur prozessorabhängigen
Hilfstabelle 70 und ein Verweis 53 zur adressabhängigen
Hilfstabelle 80 enthalten. Die einzelnen gemeinsamen
Speicherbereiche sind in der Tabelle 50 in der Reihen
folge ihrer Identifikationen GSBID abgespeichert. Dies
ist in der Fig. 4 mit einem Pfeil 54 gekennzeichnet,
wobei die Reihenfolge der Identifikationen GSBID der
gemeinsamen Speicherbereiche mit dem Buchstaben i zum
Ausdruck gebracht ist.
Ist beispielsweise der dritte gemeinsame Speicherbe
reich betroffen, ist also i = 3, so zeigt der in der
Tabelle 50 enthaltene Verweis 51 für diesen dritten
gemeinsamen Speicherbereich auf ein Datenfeld 61 in der
Tabelle 60 der zugeordneten Teile der privaten Speicher
bereiche. Dies ist in der Fig. 4 durch einen Pfeil 55
dargestellt. In dem Datenfeld 61 sind jedoch nicht alle
Informationen zu den dem dritten gemeinsamen Speicher
bereich zugeordneten Teilen der privaten Speicherbe
reiche enthalten. Statt dessen sind nur beispielsweise
diejenigen Informationen in dem Speicherfeld 61 ent
halten, die zu einem ersten zugeordneten Teil eines
privaten Speicherbereichs gehören. Die zu einem zweiten
und zu einem dritten zugeordneten Teil eines privaten
Speicherbereichs gehörenden Informationen sind in
Datenfeldern 62, 63 abgespeichert. Diese Datenfelder
62, 63 können dadurch erreicht werden, daß
beispielsweise in dem Datenfeld 61 ein Verweis auf das
Datenfeld 62, in dem Datenfeld 62 ein Verweis auf das
Datenfeld 63, usw. enthalten ist. Zum Auffinden eines
bestimmten zugeordneten Teils eines privaten
Speicherbereichs muß also unter Umständen eine Schlange
64, 65 von mehreren Datenfeldern durchlaufen werden.
Damit auf einen bestimmten Teil eines privaten
Speicherbereichs schneller zugegriffen werden kann,
damit also der Durchlauf durch die genannte Schlange
64, 65 von Datenfeldern vermieden wird, sind die
prozessorabhängigen und adreßabhängigen Hilfstabellen
70, 80 vorgesehen. Dabei ist für jeden gemeinsamen
Speicherbereich jeweils eine prozessorabhängige und
eine adressabhängige Hilfstabelle vorhanden. Die Anzahl
der prozeßabhängigen Hilfstabellen 70 und der
adressabhängigen Hilfstabellen 80 entspricht also der
Anzahl der in der Tabelle 50 abgespeicherten
gemeinsamen Speicherbereiche.
In der Fig. 4 sind die prozessorabhängige Hilfstabelle
70 und die adressabhängige Hilfstabelle 80 für den
dritten gemeinsamen Speicherbereich gezeigt, also für
i = 3. Diese speziellen Hilfstabellen 70, 80 können
über die Verweise 52, 53 in der Tabelle 50 der
gemeinsamen Speicherbereiche erreicht werden. Dies ist
in der Fig. 4 durch Pfeile 56, 57 dargestellt.
In der prozessorabhängigen Hilfstabelle 70 sind
Verweise 71 enthalten zur Tabelle 60 der zugeordneten
Teile der privaten Speicherbereiche. Diese Verweise
sind entsprechend der Reihenfolge der Prozessoren in
der Tabelle 70 abgespeichert. Die Reihenfolge der
Prozessoren ist dabei gleichbedeutend mit der
Reihenfolge der Identifikationen PSBID der zugeordneten
Teile der privaten Speicherbereiche. Dies ist in der
Fig. 4 durch einen Pfeil 72 und den Buchstaben j
gekennzeichnet.
Sind einem gemeinsamen Speicherbereich beispielsweise
eine Mehrzahl von Teilen privater Speicherbereiche
zugeordnet, und ist für den relevanten Befehl bei
spielsweise der vierte Teil eines privaten Speicherbe
reichs von Bedeutung, so zeigt der Verweis 71 in der
prozessorabhängigen Tabelle 70 direkt auf das Datenfeld
62, in dem die Informationen für den vierten zugeord
neten Teil eines privaten Speicherbereichs enthalten
sind. Es ist somit nicht mehr erforderlich, zuerst zu
dem Datenfeld 61 zu gehen, um dann in der Schlange 64
schrittweise zu dem Datenfeld 62 zu gelangen, sondern
über den Verweis 71 ist ein direkter Zugriff auf das
Datenfeld 62 möglich. Dieser direkte Zugriff ist in der
Fig. 4 mit einem Pfeil 73 gekennzeichnet.
Selbst wenn nun zum Auffinden eines bestimmten Teils
eines privaten Speicherbereichs mit Hilfe der
prozessorabhängigen Hilfstabelle 70 direkt, also ohne
den Durchlauf durch die Schlange 64, auf das Datenfeld
62 zugegriffen werden kann, so ist es möglich, daß
immer noch nicht der richtige Teil des privaten
Speicherbereichs aufgefunden worden ist. Wie erläutert
wurde, ist dies möglich, wenn einem gemeinsamen
Speicherbereich mehrere private Speicherbereiche
zugeordnet sind. In diesem Fall ist es dann an sich
erforderlich, daß, wie bereits erläutert worden ist,
von dem Datenfeld 62 über die Schlange 65 das gesuchte
Datenfeld 63 ermittelt werden muß.
Damit dieses Durchlaufen der Schlange 65 nicht
erforderlich ist, ist die adressabhängige Hilfstabelle
80 vorgesehen.
Die Hilfstabelle 80 enthält Verweise 81, durch die auf
bestimmte Datenfelder in der Tabelle 60 der
zugeordneten Teile der privaten Speicherbereiche
verwiesen wird. Diese Verweise 81 sind in der
adressabhängigen Hilfstabelle 80 in der Reihenfolge der
Anfangsadressen GSBAA der gemeinsamen Speicherbereiche
abgespeichert. Dies ist in der Fig. 4 mit Hilfe eines
Pfeils 82 und des Buchstabens k gekennzeichnet.
Mit Hilfe des Verweises 81 ist es also möglich, wie
dies in der Fig. 4 auch mit einem Pfeil 83 dargestellt
ist, direkt auf das gesuchte Datenfeld 63 zuzugreifen.
Ein Durchlauf durch die Schlangen 64, 65 ist somit
nicht erforderlich.
Es hängt nun von den einzelnen Befehlen ab, inwieweit
die prozessorabhängige Hilfstabelle 70 und die
prozessorabhängige Hilfstabelle 80 verwendet werden
können. Beispielsweise enthalten die erläuterten
Copy-Befehle keine Informationen hinsichtlich der
Identifikation PSBID der zugeordneten Teile der
privaten Speicherbereiche. Aus diesem Grund kann
insoweit auch kein Eintrag in der prozessorabhängigen
Hilfstabelle 70 vorhanden sein. Auch in der Tabelle 50
der gemeinsamen Speicherbereiche ist dann kein Eintrag
für den Verweis 52 vorhanden. Im Unterschied dazu sind
in dem beschriebenen ALLOCATE-Befehl sämtliche Informa
tionen enthalten, um entsprechende Einträge in den
beiden Hilfstabellen vornehmen zu können. In diesem
Fall können also die beiden Hilfstabellen 70, 80 direkt
zum Auffinden des zugeordneten Teils des privaten
Speicherbereichs verwendet werden. Bei allen Befehlen
ist jedoch die Identifikation GSBID des gemeinsamen
Speicherbereichs als Information vorhanden. Somit ist
es bei allen Befehlen möglich über die Schlangen 64, 65
das relevante Datenfeld in der Tabelle 60 der zugeord
neten Teile der privaten Speicherbereiche aufzufinden.
Die Tabelle 50 der gemeinsamen Speicherbereiche, die
Tabelle 60 der zugeordneten Teile der privaten Speicher
bereiche sowie sämtliche prozessorabhängigen Hilfs
tabellen 70 und sämtliche adressabhängigen Hilfstabellen
80 sind in jedem der privaten Speicherbereiche der
Prozessoren des Mehrprozessor-Computersystems abge
speichert. Liegt nun einer der beschriebenen Befehle
einem dieser Prozessoren zur Verarbeitung vor, so sucht
der Prozessor aus den genannten Tabellen und Hilfs
tabellen die notwendigen Informationen, die für die
Verarbeitung des Befehls erforderlich sind. Insbesondere
entnimmt der Prozessor aus der Tabelle 60 der zugeord
neten Teile der privaten Speicherbereiche die absoluten
Adressen dieser gemeinsamen Speicherbereiche und der
zugeordneten Teile der privaten Speicherbereiche.
Danach führt der Prozessor den Befehl aus, kopiert also
beispielsweise einen bestimmten Teil eines privaten
Speicherbereichs in einen bestimmten gemeinsamen
Speicherbereich.
Hat ein Befehl zur Folge, daß in den genannten Tabellen
und Hilfstabellen Daten verändert werden, wie dies
beispielsweise bei dem ALLOCATE-Befehl der Fall ist, so
führt der Prozessor diese Datenänderungen nicht nur in
seinem eigenen privaten Speicherbereich durch, sondern
auch in allen anderen Tabellen und Hilfstabellen der
übrigen privaten Speicherbereiche. Diese Änderungen der
Tabellen und Hilfstabellen müssen dabei in der Form von
sogenannten Transaktionen erfolgen, damit in jedem
Zeitpunkt sämtliche Tabellen und Hilfstabellen in allen
privaten Speicherbereichen übereinstimmen.
Die gesamte bisherige Beschreibung betrifft ein
Mehrprozessor-Computersystem. Darüberhinaus ist es
jedoch auch möglich, daß die beschriebene Erfindung in
einem Ein-Prozessor-Computersystem angewendet wird. In
diesem Fall können die dem einen Prozessor zugehörigen
Speichermittel so aufgeteilt sein, wie dies in einer
der Fig. 1 bis 3 dargestellt ist. Letztendlich stellen
in diesem Fall die unterschiedlichen privaten
Speicherbereiche "mehrere Prozessoren" dar, wobei
diese "mehreren Prozessoren", identisch sind.
Claims (11)
1. Computersystem
mit wenigstens zwei mit Speichermitteln versehenen Prozessoren,
wobei jedem der Prozessoren wenigstens ein privater Speicherbereich (10) in den Speichermitteln zugeordnet ist, dadurch gekennzeichnet, daß wenigstens ein gemeinsamer Speicherbereich (16) in den Speichermitteln vorgesehen ist, dem ein Teil (13) von wenigstens einem der privaten Speicherbereiche (10) zugeordnet ist.
mit wenigstens zwei mit Speichermitteln versehenen Prozessoren,
wobei jedem der Prozessoren wenigstens ein privater Speicherbereich (10) in den Speichermitteln zugeordnet ist, dadurch gekennzeichnet, daß wenigstens ein gemeinsamer Speicherbereich (16) in den Speichermitteln vorgesehen ist, dem ein Teil (13) von wenigstens einem der privaten Speicherbereiche (10) zugeordnet ist.
2. Computersystem nach Anspruch 1,
dadurch gekennzeichnet, daß
mehrere gemeinsame Speicherbereiche vorgesehen
sind, von denen jeder mehreren Teilen privater
Speicherbereiche zugeordnet ist.
3. Computersystem nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß
eine Tabelle (50) der gemeinsamen Speicherbereiche
und eine Tabelle (60) der zugeordneten Teile der
privaten Speicherbereiche in den Speichermitteln
abgespeichert sind.
4. Computersystem nach Anspruch 3,
dadurch gekennzeichnet, daß
in der Tabelle (50) der gemeinsamen
Speicherbereiche für jeden der gemeinsamen
Speicherbereiche ein Verweis (51) zur Tabelle (60)
der zugeordneten Teile der privaten
Speicherbereiche abgespeichert ist.
5. Computersystem nach Anspruch 3 oder 4,
dadurch gekennzeichnet, daß
für jeden der gemeinsamen Speicherbereiche eine
prozessorabhängige Hilfstabelle (70) und eine
adressabhängige Hilfstabelle (80) in den
Speichermitteln abgespeichert ist.
6. Computersystem nach Anspruch 5,
dadurch gekennzeichnet, daß
eine Tabelle (50) der gemeinsamen Speicherbereiche
für jeden der gemeinsamen Speicherbereiche ein
Verweis (52) zu der zugehörigen
prozessorabhängigen Hilfstabelle (70) und ein
Verweis (53) zu der zugehörigen adressabhängigen
Hilfstabelle (80) abgespeichert ist.
7. Computersystem nach Anspruch 5 oder 6,
dadurch gekennzeichnet, daß
in der prozessorabhängigen Hilfstabelle (70) für
jeden der Prozessoren ein Verweis (71) zur Tabelle
(60) der zugeordneten Teile der privaten
Speicherbereiche abgespeichert ist.
8. Computersystem nach einem der Ansprüche 5 bis 7,
dadurch gekennzeichnet, daß
in der adressabhängigen Hilfstabelle (80) für jede
der Anfangsadressen der zugeordneten Teile der
privaten Speicherbereiche ein Verweis (81) zur
Tabelle (60) der zugeordneten Teile der privaten
Speicherbereiche abgespeichert ist.
9. Verfahren
zum Zuordnen eines Teils (13) eines privaten
Speicherbereichs (10) zu einem gemeinsamen
Speicherbereich (16) bei einem aus wenigstens zwei
mit Speichermitteln versehenen Prozessoren
bestehenden Computersystems
mit den folgenden Schritten:
in Abhängigkeit von dem gemeinsamen Speicherbereich wird aus einer Tabelle (50) der gemeinsamen Speicherbereiche ein Verweis (51) zu einer Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen,
in Abhängigkeit von dem Verweis (51) wird der dem gemeinsamen Speicherbereich (16) zugeordnete Teil (13) des privaten Speicherbereichs (10) aus der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen.
in Abhängigkeit von dem gemeinsamen Speicherbereich wird aus einer Tabelle (50) der gemeinsamen Speicherbereiche ein Verweis (51) zu einer Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen,
in Abhängigkeit von dem Verweis (51) wird der dem gemeinsamen Speicherbereich (16) zugeordnete Teil (13) des privaten Speicherbereichs (10) aus der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen.
10. Verfahren nach Anspruch 9,
mit den folgenden Schritten:
in Abhängigkeit von dem gemeinsamen Speicherbereich wird aus der Tabelle (50) der gemeinsamen Speicher bereiche ein Verweis (52) zu einer prozessorab hängigen Hilfstabelle (70) ausgelesen,
in Abhängigkeit von dem betroffenen Prozessor wird aus der prozessorabhängigen Hilfstabelle (70) ein Verweis (71) zu der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen,
in Abhängigkeit von dem Verweis (71) wird der dem gemeinsamen Speicherbereich (16) zugeordnete Teil (13) des privaten Speicherbereichs (10) aus der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen.
in Abhängigkeit von dem gemeinsamen Speicherbereich wird aus der Tabelle (50) der gemeinsamen Speicher bereiche ein Verweis (52) zu einer prozessorab hängigen Hilfstabelle (70) ausgelesen,
in Abhängigkeit von dem betroffenen Prozessor wird aus der prozessorabhängigen Hilfstabelle (70) ein Verweis (71) zu der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen,
in Abhängigkeit von dem Verweis (71) wird der dem gemeinsamen Speicherbereich (16) zugeordnete Teil (13) des privaten Speicherbereichs (10) aus der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen.
11. Verfahren nach Anspruch 9 oder 10,
mit den folgenden Schritten:
in Abhängigkeit von dem gemeinsamen Speicherbereich wird aus der Tabelle (50) der gemeinsamen Speicher bereiche ein Verweis (53) zu einer adreßabhängigen Hilfstabelle (80) ausgelesen,
in Abhängigkeit von der betroffenen Anfangsadresse wird aus der adreßabhängigen Hilfstabelle (80) ein Verweis (81) zu der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen,
in Abhängigkeit von dem Verweis (81) wird der dem gemeinsamen Speicherbereichs (16) zugeordnete Teil (13) des privaten Speicherbereichs (10) aus der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen.
in Abhängigkeit von dem gemeinsamen Speicherbereich wird aus der Tabelle (50) der gemeinsamen Speicher bereiche ein Verweis (53) zu einer adreßabhängigen Hilfstabelle (80) ausgelesen,
in Abhängigkeit von der betroffenen Anfangsadresse wird aus der adreßabhängigen Hilfstabelle (80) ein Verweis (81) zu der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen,
in Abhängigkeit von dem Verweis (81) wird der dem gemeinsamen Speicherbereichs (16) zugeordnete Teil (13) des privaten Speicherbereichs (10) aus der Tabelle (60) der zugeordneten Teile der privaten Speicherbereiche ausgelesen.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4238593A DE4238593A1 (de) | 1992-11-16 | 1992-11-16 | Mehrprozessor-Computersystem |
US08/256,424 US5642495A (en) | 1992-11-16 | 1993-10-29 | Multi-processor computer system having assignment table processor-dependent help table and address-dependent help table for efficiently managing private and common storage areas |
EP93924548A EP0621967A1 (de) | 1992-11-16 | 1993-10-29 | Mehrfachrechner - computersystem. |
JP6511658A JPH07503567A (ja) | 1992-11-16 | 1993-10-29 | マルチプロセッサ・コンピュータ・システム |
PCT/EP1993/003022 WO1994011824A1 (en) | 1992-11-16 | 1993-10-29 | Multi-processor computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4238593A DE4238593A1 (de) | 1992-11-16 | 1992-11-16 | Mehrprozessor-Computersystem |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4238593A1 true DE4238593A1 (de) | 1994-05-19 |
Family
ID=6472965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4238593A Ceased DE4238593A1 (de) | 1992-11-16 | 1992-11-16 | Mehrprozessor-Computersystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US5642495A (de) |
EP (1) | EP0621967A1 (de) |
JP (1) | JPH07503567A (de) |
DE (1) | DE4238593A1 (de) |
WO (1) | WO1994011824A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001016760A1 (en) * | 1999-08-31 | 2001-03-08 | Times N Systems, Inc. | Switchable shared-memory cluster |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5903913A (en) * | 1996-12-20 | 1999-05-11 | Emc Corporation | Method and apparatus for storage system management in a multi-host environment |
US6574720B1 (en) | 1997-05-30 | 2003-06-03 | Oracle International Corporation | System for maintaining a buffer pool |
US5946711A (en) * | 1997-05-30 | 1999-08-31 | Oracle Corporation | System for locking data in a shared cache |
US6324623B1 (en) | 1997-05-30 | 2001-11-27 | Oracle Corporation | Computing system for implementing a shared cache |
US6078994A (en) * | 1997-05-30 | 2000-06-20 | Oracle Corporation | System for maintaining a shared cache in a multi-threaded computer environment |
US6418505B1 (en) | 1998-12-17 | 2002-07-09 | Ncr Corporation | Accessing beyond memory address range of commodity operating system using enhanced operating system adjunct processor interfaced to appear as RAM disk |
US6658525B1 (en) | 2000-09-28 | 2003-12-02 | International Business Machines Corporation | Concurrent access of an unsegmented buffer by writers and readers of the buffer |
US7383412B1 (en) * | 2005-02-28 | 2008-06-03 | Nvidia Corporation | On-demand memory synchronization for peripheral systems with multiple parallel processors |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55103664A (en) * | 1979-02-02 | 1980-08-08 | Nec Corp | Multiprocessor system |
JPS57153359A (en) * | 1981-03-18 | 1982-09-21 | Ibm | Data processing system with common memory |
US4591977A (en) * | 1983-03-23 | 1986-05-27 | The United States Of America As Represented By The Secretary Of The Air Force | Plurality of processors where access to the common memory requires only a single clock interval |
US5220669A (en) * | 1988-02-10 | 1993-06-15 | International Business Machines Corporation | Linkage mechanism for program isolation |
US5117350A (en) * | 1988-12-15 | 1992-05-26 | Flashpoint Computer Corporation | Memory address mechanism in a distributed memory architecture |
JP2825906B2 (ja) * | 1990-02-01 | 1998-11-18 | 株式会社日立製作所 | 計算機システム |
US5303362A (en) * | 1991-03-20 | 1994-04-12 | Digital Equipment Corporation | Coupled memory multiprocessor computer system including cache coherency management protocols |
-
1992
- 1992-11-16 DE DE4238593A patent/DE4238593A1/de not_active Ceased
-
1993
- 1993-10-29 JP JP6511658A patent/JPH07503567A/ja active Pending
- 1993-10-29 US US08/256,424 patent/US5642495A/en not_active Expired - Fee Related
- 1993-10-29 WO PCT/EP1993/003022 patent/WO1994011824A1/en not_active Application Discontinuation
- 1993-10-29 EP EP93924548A patent/EP0621967A1/de not_active Withdrawn
Non-Patent Citations (4)
Title |
---|
BREITENBACH, R.C. und REED, G.: Processor-to- processor communications, In: IBM Technical Disclosure Bulletin, Vol. 22, No. 1, Juni 1979, S. 40,41 * |
EICHELE, Hermann: Multiprozessor-Systeme, Teubner-Verlag, Stuttgart, 1990, S. 97-99 * |
FABER, Barbara: Neue Wege gehen - Vereinigung der Vorteile verschiedener Multiprozessor-Architek- turen. In: DESIGN & ELEKTRONIK, 1990, Ausgabe 21, S. 82, 89, 90, 92, 94 * |
LIPOVSKI, G. Jack: Parallel Computing. John Wiley & Sons, Inc., 1987, S. 270 bis 279 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001016760A1 (en) * | 1999-08-31 | 2001-03-08 | Times N Systems, Inc. | Switchable shared-memory cluster |
Also Published As
Publication number | Publication date |
---|---|
US5642495A (en) | 1997-06-24 |
EP0621967A1 (de) | 1994-11-02 |
WO1994011824A1 (en) | 1994-05-26 |
JPH07503567A (ja) | 1995-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0115609B1 (de) | Schaltungsanordnung zur Adressierung der Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozesssorsystem | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE3805107C2 (de) | ||
DE3854909T2 (de) | Cacheverwaltungsverfahren und System in einem anteilig genutzten Dateisystem | |
DE69822541T2 (de) | Verfahren zum Verwalten eines geteilten Speichers | |
DE69033540T2 (de) | Verfahren zur Verwaltung von in Familien aufgeteilten mehrfachen virtuellen Speichern und entsprechende Struktur | |
DE69802437T2 (de) | Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen | |
EP0703534B1 (de) | Speicherverwaltungssystem eines Rechnersystems | |
DE2455803C2 (de) | Mehrprozessor-Datenverarbeitungsanlage | |
DE69025232T2 (de) | Verfahren zur Aufrechterhaltung der Cache-Speicherkohärenz in einem Mehrrechnersystem | |
DE69526751T2 (de) | Multiprozessorsystem zur lokalen Verwaltung von Adressenübersetzungstabellen | |
DE2227882A1 (de) | Virtuelle Speicheranordnung | |
DE69131840T2 (de) | Verfahren zur Vervielfältigung eines geteilten Speichers | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
DE69225671T2 (de) | Semaphormechanismus für Datenverarbeitungssystem | |
DE2415900A1 (de) | Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen | |
CH620306A5 (de) | ||
DE3011552A1 (de) | Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer | |
EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE4238593A1 (de) | Mehrprozessor-Computersystem | |
DE2710477A1 (de) | Anordnung zur kohaerenten leitung des informationsaustauschs zwischen zwei aneinanderstossenden niveaus einer speicherhierarchie | |
DE69808628T2 (de) | Mikroprozessorcachespeicherübereinstimmung | |
DE19538448B4 (de) | Datenbankmanagementsystem sowie Datenübertragungsverfahren | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
DE2311503A1 (de) | Datenverarbeitungsanlage mit mehreren zentraleinheiten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |