DE4016667A1 - Multiprozessoren zur wechselseitigen datenuebertragung durch einen gemeinsamen speicher - Google Patents

Multiprozessoren zur wechselseitigen datenuebertragung durch einen gemeinsamen speicher

Info

Publication number
DE4016667A1
DE4016667A1 DE4016667A DE4016667A DE4016667A1 DE 4016667 A1 DE4016667 A1 DE 4016667A1 DE 4016667 A DE4016667 A DE 4016667A DE 4016667 A DE4016667 A DE 4016667A DE 4016667 A1 DE4016667 A1 DE 4016667A1
Authority
DE
Germany
Prior art keywords
transmission
operating system
information
discrimination information
program
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.)
Granted
Application number
DE4016667A
Other languages
English (en)
Other versions
DE4016667C2 (de
Inventor
Akira Yamaoka
Kenichi Wada
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 DE4016667A1 publication Critical patent/DE4016667A1/de
Application granted granted Critical
Publication of DE4016667C2 publication Critical patent/DE4016667C2/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/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

Die Erfindung betrifft ein Multiprozessorsystem und eine Datenübertragungsanordnung zwischen Prozessoren, die geeignet ist zur Gemeinkostenverminderung der Zentralverarbeitungs­ einheit (CPU) der Datenübertragung zwischen Prozessoren.
In einer der Anordnungen zur Datenübertragung zwischen einer Mehrzahl von Untersystemen, die je einen Hauptspeicher und eine Befehlsverarbeitungseinrichtung umfassen, wird diese Datenübertragung unter Verwendung einer Kanalkopplungsein­ richtung auf die gleiche Art durchgeführt wie die Datenüber­ tragung zwischen dem Eingang und dem Ausgang, wie in der JP- A-60-84 658 beschrieben. Wenn diese Anordnung verwendet wird, werden die Gemeinkosten eines für die Datenübertragung benötigten Prozessors hoch. In einer anderen Anordnung wie z.B. derjenigen, die unten beschrieben wird, ist daher eine gemeinsame Speichereinrichtung, zu welcher ein Prozessorbe­ fehl Zugriff hat, getrennt von einem Hauptspeicher vorgese­ hen, und die gemeinsame Speichereinrichtung wird von einer Mehrzahl von Untersystemen gemeinsam genutzt und als Übertra­ gungspuffer verwendet.
In einem in einer in JP-A-58-56 063 beschriebenen Anordnung ist eine gemeinsame Speichereinrichtung zur Datenübertragung in einer Systemüberwachungseinrichtung vorgesehen und unter­ teilt in Übertragungspuffer, die mit jeweiligen Untersystemen verknüpft sind. Hinsichtlich des Sendebetriebs schreibt ein Betriebssystem oder Operationssystem (nachfolgend als OS ab­ gekürzt), das von einem Programm der Sendeseite angefordert wird, Übertragungsdaten in einen Übertragungspuffer, der so in der gemeinsamen Speichereinrichtung vorgesehen ist, daß er mit einem Untersystem des anderen Teilnehmers verknüpft ist. Die Übertragungsdaten schließen eine Übertragungsnachricht (nachfolgend einfach als Nachricht bezeichnet) ein, die von einem Sendeprogramm zu einem Empfangsprogramm zu übermitteln ist, und Diskriminierinformation zwischen dem Programm der Sendeseite und dem Programm der Empfangsseite. Die System­ überwachungseinrichtung erzeugt ein Interrupt bezüglich des Untersystems des anderen Teilnehmers. Hinsichtlich des Emp­ fangsbetriebs liest das Betriebssystem in dem Untersystem des anderen Teilnehmers, welches das Interrupt erhalten hat, die Datenübertragung aus dem Übertragungspuffer, decodiert die Diskriminierinformation und übermittelt eine Nachricht an das Programm der Empfangsseite.
In einer in der JP-A-60-2 37 566 beschriebenen Anordnung ist ein Teil der gemeinsamen Speichereinrichtung in Übertragungs­ puffer unterteilt, die jeweils mit Untersystemen verknüpft sind, und diese Übertragungspuffer sind im voraus mit ent­ sprechenden Adressen versehen. Hinsichtlich des Sendebetriebs schreibt das Betriebssystem, das durch ein Programm der Sen­ deseite angefordert wird, Übertragungsdaten (z.B. die Nach­ richt und die diskriminierende Information) in einen Übertra­ gungspuffer, der so in der gemeinsamen Speichereinrichtung vorgesehen ist, daß er mit dem Untersystem des anderen Teil­ nehmers verbunden ist und eine andere Einrichtung dazu bringt, ein Interrupt bezüglich des Untersystems des anderen Teilnehmers zu erzeugen. Hinsichtlich des Empfangsbetriebs liest das Betriebssystem, das in dem Untersystem des anderen Teilnehmers enthalten ist, welches ein Interrupt erhalten hat, Übertragungsdaten aus einem Übertragungspuffer, der mit seinem eigenen Untersystem verbunden ist, und übermittelt eine in den Übertragungsdaten enthaltene Nachricht zu einem Programm der Empfangsseite, das durch Diskriminierinformation spezifiziert ist, welche in den so ausgelesenen Übertragungs­ daten enthalten ist. Ferner schreibt das Betriebssystem der Empfangsseite ein spezifisches Muster in eines seiner Unter­ systeme, um ein Untersystem der Sendeseite zu informieren, daß die Übertragungsdaten empfangen worden sind.
Der oben beschriebene Stand der Technik zeigt die nachfolgend beschriebenen Probleme.
  • 1) In dem Untersystem werden mehrere durch das Betriebs­ system gesammelte Programme aktiviert. Diskriminierinforma­ tion zum Spezifizieren des Sendeprogramms und des Empfangsprogramms und eine zwischen diesen Programmen zu übertragende Nachricht sind in den Übertragungsdaten gemischt enthalten. Daher muß das Betriebssystem des Untersystems der Empfangsseite einmal die Übertragungsdaten aus der gemeinsa­ men Speichereinrichtung in die in diesem Untersystem enthal­ tene Hauptspeichereinrichtung lesen, die Diskriminierinforma­ tion decodieren und das Programm der Empfangsseite informie­ ren, das durch dieses Betriebssystem der so decodierten Diskriminierinformation gesteuert wird. Da der in der gemein­ samen Speichereinrichtung enthaltene Übertragungspuffer früh für die nächste Übertragung freigegeben werden muß, muß je­ doch das Betriebssystem den Nachrichtanteil der Übertragungs­ daten zu der Hauptspeichereinrichtung transferieren. Das heißt, das Betriebssystem der Empfangsseite muß die in der gemeinsamen Speichereinrichtung gespeicherten Übertragungsda­ ten in einen Bereich lesen, der in der Hauptspeichereinrich­ tung enthalten und dem Betriebssystem zugeteilt ist, und muß dann die so ausgelesenen Übertragungsdaten transferieren zu einem Bereich der Hauptspeichereinrichtung, der durch Diskri­ minierinformation spezifiziert ist, welche in diesen Übertra­ gungsdaten enthalten und dem Empfangsprogramm zugewiesen ist. Also wird ein zwei Stufen umfassender Transfer erforderlich, was zu erhöhten Gemeinkosten der Zentralverarbeitungseinheit der Datenübertragungsverarbeitung führt.
  • 2) Der Übertragungspuffer, welcher Teil der gemeinsamen Speichereinrichtung ist, weist eine feste Größe auf. Falls Übertragungsdaten (die eine Nachricht und Diskriminierinfor­ mation umfassen) zu transferieren sind, deren Größe die Größe des Übertragungspuffers übersteigt, müssen daher diese Über­ tragungsdaten durch das Programm der Sendeseite unterteilt werden in Teile, von denen jeder die Größe des Übertragungs­ puffers aufweist, und also muß eine Mehrzahl von Übertra­ gungsoperationen ausgeführt werden. Daher nehmen die CPU- Gemeinkosten des Untersystems der Sendeseite und des Unter­ systems der Empfangsseite für die Übertragung mit der Anzahl von Übertragungsoperationen zu.
  • Andererseits kann eine Zunahme der Anzahl von Übertragungs­ operationen vermieden werden, indem im voraus ein Bereich vorbereitet wird, welcher ausreichend größer ist als ver­ schiedene Übertragungsdaten, wie beispielsweise ein Übertra­ gungspuffer. Da ein Abschnitt, welcher tatsächlich nicht ver­ wendet wird, in der gemeinsamen Speichereinrichtung erzeugt wird, vermindert sich jedoch die Nutzungseffizienz der ge­ meinsamen Speichereinrichtung.
  • 3) Wenn jedes Untersystem einen Übertragungspuffer aufweist, wie in JP-A-60-2 37 556 beschrieben, muß ferner die oben be­ schriebene Mehrzahl von Übertragungsoperationen nacheinander durchgeführt werden. Das heißt, der Übertragungspuffer wird durch eine einzelne Übertragungsoperation besetzt. Daher kann das Untersystem der Sendeseite nicht in die nächste Übertra­ gungsoperation kommen, bis bestätigt ist, daß das Untersystem der Empfangsseite die Nachricht empfangen hat. Folglich wird die für die Übertragung benötigte Zeit verlängert.
  • Selbst wenn eine Mehrzahl von Übertragungsoperationen nicht erhalten wird als Ergebnis der Unterteilung einer einzelnen Übertragung, wie oben beschrieben, sondern eine große Anzahl unabhängiger Übertragungsoperationen umfaßt, welche jeweils verschieden sind in der Kombination von Programmen auf der Sendeseite und der Empfangsseite, aber gleich sind in den Un­ tersystemen auf der Sendeseite und der Empfangsseite, werden ferner die Übertragungsoperationen der Reihe nach auf die gleiche Weise durchgeführt, was zu einer verlängerten Über­ tragungszeit führt.
  • 4) Wenn die Übertragungsoperationen der Reihe nach durchge­ führt werden, wie oben beschrieben, weist ferner eine Mehr­ zahl von Übertragungsoperationen eine Wartezeit auf. Daher wird in dem Untersystem der Sendeseite eine Steuerung der re­ sultierenden Warteschlange erforderlich. Das heißt, falls das Betriebssystem eines Untersystems durch eine Mehrzahl von Programmen in diesem Untersystem der Reihe nach zum Senden angefordert wird, muß das Betriebssystem eine zweite und nachfolgende Operationen während der ersten Übertragungsope­ ration der Reihe nach warten lassen, zum Beispiel durch Bil­ den einer Warteschlange, und muß eine Steuerung so durchfüh­ ren, daß die zweite Übertragungsoperation nach Beendigung der ersten Übertragungsoperation gestartet werden kann. Daher nehmen die CPU-Gemeinkosten für die Warteschlangensteuerung zu.
Ein Hauptziel der Erfindung ist die Lösung der oben in (1) bis (4) beschriebenen Probleme.
Zur Lösung des oben in (1) beschriebenen Problems umfaßt ein Multiprozessorsystem gemäß der Erfindung eine Einrichtung zur Unterteilung von Übertragungsdaten in Diskriminierinforma­ tion, die ein Programm spezifiziert, welches eine Nachricht erhalten sollte, und eine Nachricht, die zu dem Empfangspro­ gramm gesendet werden soll, und zum Senden der Übertragungs­ daten, eine Einrichtung zum Halten der Diskriminierinforma­ tion und eine Einrichtung zum Empfangen der Diskriminierin­ formation. Um das oben in (2) beschriebene Problem zu lösen, wird ein Übertragungspufferbereich mit einer variablen Größe entsprechend einer Anforderung, die von einem Sendeprogramm ausgegeben wird, je nach Bedarf auf dem in der gemeinsamen Speichereinrichtung enthaltenen Speicher belegt, um die von diesem Sendeprogramm gelieferte Nachricht zu speichern.
Zur Lösung des oben (3) beschriebenen Problems wird eine Übertragungskennung (communication ID) zum Spezifizieren des Empfangsprogramms bei entsprechenden Bitpositionen als die oben beschriebene Diskriminierinformation verwendet. Zur Lösung des oben in (4) beschriebenen Problems wird eine Ein­ richtung vorgesehen zum Halten der logischen Summe einer Mehrzahl von Übertragungskennungen durch Speichern der oben beschriebenen Diskriminierinformation.
Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand der Zeichnungen beschrieben. Es zeigt:
Fig. 1 eine Systemkonfiguration einer Ausführungsform der Erfindung;
Fig. 2 ein Diagramm einer Speicherbereichszuordnung in einer gemeinsamen Speichereinrichtung der Erfin­ dung;
Fig. 3 ein Diagramm der Struktur eines Registers zum Hal­ ten einer Übertragungskennung, welche Diskrimi­ nierinformation ist, in der Ausführungsform;
Fig. 4 die Anordnung einer in Fig. 1 gezeigten Befehls­ verarbeitungseinrichtung 110;
Fig. 5 die Anordnung einer in Fig. 1 gezeigten gemeinsa­ men Speichersteuereinrichtung 60;
Fig. 6 die Anordnung einer in Fig. 1 gezeigten Halteschaltung 40;
Fig. 7 ein Diagramm der dynamischen Zuordnungsprozedur eines Übertragungspuffers;
Fig. 8 ein Diagramm der Prozedur des Nachrichttransfers; und
Fig. 9 ein Diagramm der Übertragungsprozedur, die zwischen einer Mehrzahl von Programmen ausgeführt wird.
Fig. 1 ist ein Blockschaltbild der Systemkonfiguration der Erfindung. Das System umfaßt n Untersysteme 10-1 bis 10-n und eine gemeinsame Speichereinrichtung 20, die von diesen Unter­ systemen gemeinsam genutzt wird. Jedes Untersystem arbeitet unter Kontrolle eines Betriebssystems. Jedes Untersystem kann eine Mehrzahl von Befehlsverarbeitungseinrichtungen umfassen. Der Kürze halber wird jetzt jedoch der Fall beschrieben, in welchem jedes Untersystem 10-i (i=1, . . ., n) eine Befehlsver­ arbeitungseinrichtung 110-i und eine Hauptspeichereinrichtung 120-i umfaßt. Der Kürze halber wird das Suffix i zur Identi­ fizierung jedes Untersystems in der folgenden Beschreibung weggelassen, solange kein Mißverständnis hervorgerufen wird. Die gemeinsame Speichereinrichtung 20 umfaßt eine gemeinsame Speichersteuerungseinrichtung 60 zum Auswählen einer von den durch Untersysteme gemachten Abfragen, einen Speicher 50 mit einem RAM sowie eine Halteschaltung 40 gemäß einem Merkmal der Erfindung.
Die Halteschaltung 40 umfaßt eine ODER-Schaltung 41, ein Gatter 42, ein Übertragungskennung-Register 43, eine Nichtnull-Nachweisschaltung und eine Lese/Schreibinterrupt- Erzeugungsschaltung 44.
Dieses Register 43 kann zur Vereinfachung der Schaltung auch in dem Speicher 50 angeordnet sein.
In einem Untersystem arbeiten typisch mehrere Verarbeitungs­ programme parallel unter Kontrolle eines Betriebssystems. In einem Multiprozessor mit einer Mehrzahl von Untersystemen ist nicht nur eine Übertragung zwischen Betriebssystemen erfor­ derlich, sondern auch eine Übertragung zwischen Verarbei­ tungsprogrammen. Die Länge von Daten, die in einer Übertra­ gungsoperation zwischen Verarbeitungsprogrammen gesendet und empfangen werden, schwankt je nach dem Inhalt dieser Verar­ beitung. In der vorliegenden Ausführungsform wird daher ein Übertragungspuffer mit einer Größe, die durch das Verarbei­ tungsprogramm der Sendeseite angefordert wird, dynamisch be­ legt oder festgelegt (secured) auf dem Speicher 50, der in der gemeinsamen Speichereinrichtung 20 enthalten ist.
Zur dynamischen Belegung eines Bereiches wird eine Übertra­ gung zwischen Betriebssystemen verwendet. Diese Übertragung braucht jedoch nur Information zu übermitteln zur Identifi­ zierung des Sendeprogramms und des Empfangsprogramms und über die Position und die Ausdehnung eines Bereichs zu informie­ ren, der so auf dem in der gemeinsamen Speichereinrichtung 20 enthaltenen Speicher 50 angeordnet ist, daß er als Übertra­ gungspuffer zu verwenden ist. Selbst wenn der Übertragungs­ puffer fixiert ist, wird daher keine Schwierigkeit veranlaßt. In der vorliegenden Ausführungsform ist daher der Übertra­ gungspuffer zur Übertragung zwischen Betriebssystemen festge­ legt vorgesehen, wogegen der Übertragungspuffer für das Ver­ arbeitungsprogramm dynamisch festgelegt ist.
Nachfolgend wird eine Anordnung zur dynamischen Festlegung eines Bereiches beschrieben. Es wird jetzt angenommen, daß ein bestimmtes Verarbeitungsprogramm (Sendeprogramm) mit einem anderen Verarbeitungsprogramm (Empfangsprogramm) in Verbindung tritt. Auf Betriebssysteme, welche das Sendepro­ gramm bzw. das Empfangsprogramm steuern, wird hier als Sende­ betriebssystem und Empfangsbetriebssystem Bezug genommen. Zuerst informiert das Sendeprogramm das Sendebetriebssystem über Information, welche die zur Übertragung und das Empfangsprogramm benötigte Speicherkapazität wiedergibt, und fordert dadurch die Festlegung eines Übertragungspuffers auf dem in der gemeinsamen Speichereinrichtung 20 enthaltenen Speicher 50 an. Das Sendebetriebssystem ordnet diesem Über­ tragungspuffer, z.B. 23 A, eine spezifizierte Speicherkapazi­ tät (Adresse und Größe) zu aus einem Raumbereich auf dem in der Speichereinrichtung 20 enthaltenen Speicher und ordnet dem Übertragungspuffer eine noch nicht verwendete Bitposition (1 Bit) zu aus einem Abschnitt der oben beschriebenen Übertragungskennung, welche Diskriminierinformation ist, entsprechend dem Empfangsuntersystem. Unter Verwendung der Übertragung zwischen Betriebssystemen informiert das Sendebe­ triebssystem das Empfangsbetriebssystem über die führende Adresse und Größe eines Übertragungspuffers, der auf dem in der Speichereinrichtung 20 enthaltenen Speicher 50 neu zuge­ ordnet ist, sowie über Information, die das Empfangsprogramm und die Bitposition innerhalb der Übertragungskennung ent­ sprechend dem Empfangsprogramm spezifiziert. Folglich können das Sendebetriebssystem und das Empfangsbetriebssystem die führende Adresse und Größe des Übertragungspuffers, bei­ spielsweise 23 A, erkennen, der so auf dem in der Speicherein­ richtung 20 enthaltenen Speicher 50 angeordnet ist, daß er dem Empfangsprogramm entspricht, und können die Bitposition der Übertragungskennung erkennen. Das Sendebetriebssystem und das Empfangsbetriebssystem informieren das Sendeprogramm bzw. das Empfangsprogramm über die Adresse und die Ausdehnung des Übertragungspuffers 23 A auf dem in der Speichereinrichtung 20 enthaltenen Speicher 50. Auf diese Weise wird der Übertra­ gungspuffer 23 A zwischen dem Sendeprogramm und dem Emp­ fangsprogramm dynamisch belegt oder festgelegt auf dem in der gemeinsamen Speichereinrichtung 20 enthaltenen Speicher 50.
Die Übertragung nach der Festlegung des Übertragungsspeichers 23 A wird durchgeführt, wie nachfolgend beschrieben. Zuerst schreibt das Sendeprogramm eine Nachricht, die zu dem Emp­ fangsprogramm zu übermitteln ist, in den oben beschriebenen Übertragungspuffer und fordert das Sendebetriebssystem zum Durchführen des Sendens auf. Das Sendebetriebssystem sendet nur eine Übertragungskennung mit einer "1", die in der dem Empfangsprogramm entsprechenden Bitposition gesetzt ist. Auf der Grundlage der oben beschriebenen Bitposition spezifiziert das Empfangsbetriebssystem ein Empfangsprogramm und infor­ miert das Empfangsprogramm über diese Tatsache. Das Emp­ fangsprogramm liest eine Nachricht aus dem oben beschriebenen Übertragungspuffer 23 A. Die Übertragung zwischen dem Sende­ programm und dem Empfangsprogramm wird auf diese Weise ver­ wirklicht.
Das Senden und Empfangen einer Übertragungskennung werden durchgeführt, wie nachfolgend beschrieben. Befehle für die exklusive Verwendung des Sendens und Auslesens einer Übertra­ gungskennung werden vorbereitet, und auf sie wird als Sende­ befehl bzw. Empfangsbefehl Bezug genommen. Diese Befehle wer­ den unterschieden von Befehlen zum Lesen und Schreiben von Daten aus dem Speicher bzw. in den Speicher 50, der in der Speichereinrichtung 20 enthalten ist, und sind Befehle zur Erlangung des Zugriffs zu dem Übertragungskennung-Register 43 in der Halteschaltung 40, die in der Speichereinrichtung 20 enthalten ist. Das Sendebetriebssystem gibt den Sendebefehl an die Speichereinrichtung 20 aus und sendet die Übertra­ gungskennung zu dem in der Halteschaltung 40 enthaltenen Übertragungskennung-Register 43. Die Halteschaltung 40 leitet die logische Summe des Inhalts des Register 43 und der Übertragungskennung ab, welche Übertragen worden ist, und speichert die resultierende logische Summe in diesem Register 43. Wenn der in dem Register 43 gespeicherte Wert nicht Null ist, erzeugt die Halteschaltung 40 eine Interruptanforderung an das entsprechende Empfangsuntersystem. Nach Erhalt der Interruptanforderung gibt das Empfangsbetriebssystem einen Empfangsbefehl an die gemeinsame Speichereinrichtung 50 aus und fordert diese auf, den Wert des in der Halteschaltung 40 enthaltenen Übertragungskennung-Registers 43 auszulesen. Die Halteschaltung 40 sendet den Inhalt des Registers 43 zu dem Empfangsbetriebssystem. Außerdem löscht die Halteschaltung 40 den Inhalt des Registers 43 und stellt den Interruptfaktor zurück.
In der vorliegenden Ausführungsform werden die folgenden Befehle in den Befehlsverarbeitungseinrichtungen 110-1 bis 110-n der jeweiligen Untersysteme 10-1 bis 10-n definiert.
  • 1) Lese- und Schreibbefehle zur Durchführung des Datentran­ fers zwischen dem in der gemeinsamen Speichereinrichtung 20 enthaltenen Speicher 50 und einem Bereich auf der in dem Un­ tersystem enthaltenen Hauptspeichereinrichtung 120:
    In diesen Befehlen werden eine Adresse innerhalb des Spei­ chers 50 und eine Adresse und eine Größe (Länge) innerhalb der Hauptspeichereinrichtung 120 als Operanden spezifiziert. Der Lesebefehl veranlaßt einen Datentransfer von dem Speicher 50 zu dem Hauptspeicher 120, wogegen der Schreibbefehl einen Datentransfer von dem Hauptspeicher 120 zu dem Speicher 50 veranlaßt.
  • 2) Sende- und Empfangsbefehle zur Durchführung eines Daten­ transfers zwischen dem Übertragungskennung-Register 43, das in der gemeinsamen Speichereinrichtung 20 enthalten ist, und einem Bereich auf dem Hauptspeicher 120:
    In diesen Befehlen wird eine Adresse in dem Hauptspeicher 120 spezifiziert, und die gleiche Größe wie die Länge des Über­ tragungskennung-Registers wird (implizit) spezifiziert. Der Sendebefehl veranlaßt einen Transfer der Übertragungskennung von dem Hauptspeicher 120 zu dem Register 43, wogegen der Empfangsbefehl den Transfer der Übertragungskennung von dem Register 43 zu dem Hauptspeicher 120 veranlaßt. Die Operation des Sendebefehls weist das Merkmal auf, daß die logische Summe bezüglich des bereits in dem Register 43 existierenden Wertes abgeleitet wird und zum Zeitpunkt des Transfers ge­ setzt wird. Die Operation des Empfangsbefehls weist das Merk­ mal auf, daß ein Teil des Registers 43 auf "0" gelöscht wird.
Da Einzelheiten der hier beschriebenen Befehlsoperation spä­ ter beschrieben werden, wird nachfolgend die Datenübertragung beschrieben, die diese Befehle verwendet.
Wie in Fig. 1 gezeigt, ist jede der Hauptspeichereinrichtun­ gen 120-1 bis 120-n unterteilt in einen Bereich für das Be­ triebssystem (OS) und Bereiche für entsprechende Verarbei­ tungsprogramme. Wie in Fig. 1 gezeigt, sind ein Bereich 121-1 für OS 1 und Bereiche 122-1 und 123-1 für Programme A bzw. B vorhanden in der in dem Untersystem 10-1 enthaltenen Haupt­ speichereinrichtung 120-1, wogegen ein Bereich 121-n für OSn und Bereich 122-n und 123-n für Programme C bzw. D in der in dem Untersystem 10-n enthaltenen Hauptspeichereinrichtung 120-n vorhanden sind. Fig. 2 zeigt die Datenanordnung auf dem in der Speichereinrichtung 20 enthaltenen Speicher 50. Ein Teil des Speichers 50 der gemeinsamen Speichereinrichtung 20 ist einem Indexbereich 21 zugeordnet zur Verwaltung der Bereichszuteilung auf dem Speicher 50 und einem Übertragungs­ pufferbereich 22, der von jeweiligen Betriebssystemen zur Da­ tenübertragung zwischen den Betriebssystemen zu verwenden ist. Der verbleibende Bereich wird dynamisch einem Übertra­ gungspuffer zugeordnet zur Nachricht zwischen Bearbeitungs­ programmen. In Fig. 2 gibt die Zahl Oj eines OS-Übertra­ gungspufferbereichs 22 Übertragungspuffer 23 A bis 23 D zur Übertragung nach OSj wieder.
Fig. 3 zeigt den Inhalt des Übertragungskennung-Registers 43, das in der vorliegenden Ausführungsform in der Hal­ teschaltung 40 enthalten ist. Das Register 43 umfaßt n Byte. Jedes Byte entspricht einem der Untersysteme 10-1 bis 10-n. Bit 0 jedes Byte wird im voraus dem in dem entsprechenden Un­ tersystem enthaltenen Betriebssystem zugeordnet. Die übrigen sieben Bits werden für eines der in diesem Untersystem ent­ haltenen Verarbeitungsprogramme verwendet, werden aber unter dem Erfordernis der Übertragung einem unterschiedlichen Ver­ arbeitungsprogramm dynamisch zugeordnet.
Ein Beispiel einer dynamischen Bereichsfestlegung wird nun anhand von Fig. 7 beschrieben. Es wird jetzt angenommen, daß das Verarbeitungsprogramm A, das unter Kontrolle des Betriebssystems OS 1 arbeitet, in Verbindung tritt mit dem Verarbeitungsprogramm C, das unter Kontrolle des OSn arbei­ tet. Das Verarbeitungsprogramm A informiert das OS 1 über Übertragungssteuerdaten wie z.B. die Kapazität des Übertra­ gungspuffers auf dem in der Speichereinrichtung 40 enthalte­ nen Speicher 50, welcher Speicher benötigt wird zur Übertra­ gung und die Tatsache, daß das Ziel das Verarbeitungsprogramm C ist (Schritt 71). Durch Bezugnahme auf einen Indexbereich 21 auf dem in der gemeinsamen Speichereinrichtung 20 enthal­ tenen Speicher 50 kann ein bereits in Verwendung befindlicher Bereich bekannt sein. Daher prüft das OS 1 die Größe eines freien Bereichs (Schritt 72). Das Betriebssystem OS 1 belegt einen Bereich mit der Kapazität des Übertragungspuffers, über die es durch das Programm A informiert ist, z.B. den Übertra­ gungspufferbereich 23 C in diesem freien Bereich und schreibt seine führende Adresse und Größe in den Indexbereich 21 (Schritt 73). Auf der Grundlage der Tatsache, daß das Verar­ beitungsprogramm C in dem Untersystem 10-n vorhanden ist, ordnet das Betriebssystem OS 1 ferner diesem Verarbeitungspro­ gramm C ein Bit aus einem n-ten Byte (Byte n) der Übertra­ gungskennung zu (Schritt 74). In diesem gegenwärtigen Bei­ spiel wird ein nulltes Bit (Bit 0), das am Beginn des n-ten Byte (Byte n) gelegen ist, im voraus dem OSn zugeordnet. Da­ her wird ein nachfolgendes erstes Bit (Bit 1) diesem Verar­ beitungsprogramm C zugeordnet. Das OS 1 schreibt die Adresse und Größe des zugeordneten Übertragungspuffers 23C auf den in der Speichereinrichtung 20 enthaltenen Speicher 50, den Namen des Empfangsprogramms C und Information, welche die Bitposi­ tion (das erste Bit oder Bit 1 des n-ten Byte oder Byte n in dem vorliegenden Beispiel) wiedergibt, entsprechend ihrem Empfangsverarbeitungsprogramm C, das in der Übertragungsken­ nung enthalten ist, in einen Bereich On, der in dem Betriebs­ system-Übertragungspufferbereich 22 enthalten ist (Schritt 75). Danach gibt das OS 1 einen Sendebefehl aus, welcher eine Übertragungskennung spezifiziert mit einem nullten Bit (Bit 0) des n-ten Byte (Byte n), das so auf "1" gesetzt ist, daß es OSn bedeutet (Schritt 76). Die Halteschaltung 40 schreibt diese Übertragungskennung in das Register 43. Wenn eine Über­ tragungskennung neu in das Übertragungskennung-Register 43 zu schreiben ist, wird die bisher dort gehaltene Summe der Über­ tragungskennung und die in einer ODER-Schaltung oder einer logischen Summenschaltung abgeleitete neue Übertragungsken­ nung geschrieben. In Reaktion auf ein Bit, das einen Wert "1" hat und in dieser Übertragungskennung enthalten ist, unter­ bricht die Lese/Schreibinterrupt-Erzeugungsschaltung 44 das entsprechende Untersystem 10-n (Schritt 77). Bei Empfang die­ ses Interrupt gibt das Betriebssystem OSn einen Empfangsbe­ fehl und liest die Übertragungskennung aus dem Register 43 aus (Schritt 78). Da das Bit der die OSn repräsentierenden Übertragungskennung "1" geworden ist, liest das OSn den Bereich On des OS-Übertragungspufferbereichs 22 aus und emp­ fängt die Adresse und Größe des Übertragungspuffers 23 C, die gegenwärtig dem Beginn der Abfrage auf dem in der gemeinsamen Speichereinrichtung 20 enthaltenen Speicher 50 zugeordnet ist, die Bitposition (das erste oder Bit 1 des n-ten Byte oder Byte n in dem vorliegenden Beispiel) der Übertragungskennung sowie Übertragungssteuerdaten, die angeben, daß das Emp­ fangsprogramm C ist (Schritt 79). Das OSn informiert ferner das Verarbeitungsprogramm C über die Adresse und Größe dieses Übertragungspuffers 23 C (Schritt 80). Dieses Verarbeitungs­ programm C gibt die Bestätigung aus, daß diese Information bei dem OSn empfangen worden ist (Schritt 81). Das OSn schreibt die Tatsache, daß diese Übertragungssteuerdaten erhalten worden sind, in den Bereich O 1 des OS-Übertragungs­ pufferbereichs 22 (Schritt 82). Das OSn stellt Kontakt mit dem OS 1 auf ähnliche Art wie bei der vorherigen Beschreibung her, indem es einen Sendebefehl verwendet, welcher eine Über­ tragungskennung spezifiziert, bei der das nullte Bit (Bit 0) des ersten Byte (Byte 1) angibt, daß das OS 1 auf "1" als der Übertragungskennung gesetzt ist (Schritt 83). Danach infor­ miert das OS 1 das Verarbeitungsprogramm A über die führende Adresse und Größe des Übertragungspufferbereichs 23 C unter Verwendung einer ähnlichen Verarbeitung (Schritte 84 bis 87). Folglich wird der Übertragungspuffer 23 C zur Datenübertragung von Verarbeitungsprogramm A zu dem Verarbeitungsprogramm C dynamisch festgelegt. Auf die gleiche Weise kann eine dynami­ sche Festlegung (securement) des Übertragungspufferbereichs 23 A, der zur Übertragung von dem Verarbeitungsprogramm C zu dem Verarbeitungsprogramm A benötigt wird, durch eine ähnli­ che Prozedur durchgeführt werden. Im allgemeinen wird ein Zweiweg-Übertragungsweg notwendig. Der Übertragungspuffer 23 C zur Übertragung von dem Verarbeitungsprogramm A zu dem Verar­ beitungsprogramm C und der Übertragungspuffer 23 A zur Über­ tragung von dem Verarbeitungsprogramm C zu dem Verarbeitungs­ programm A können gleichzeitig zu einem Zeitpunkt festgelegt werden. Oder ein Bereich kann in Hälften geteilt werden, so daß die erstere Hälfte zum Senden verwendet wird und die letztere Hälfte zum Empfangen verwendet wird.
Sobald der Übertragungspuffer 23 C festgelegt ist, wird der Transfer der Übertragungsnachricht von dem Verarbeitungspro­ gramm A zu dem Verarbeitungsprogramm C durchgeführt, wie nachfolgend beschrieben. Die Transferprozedur der Übertragungsnachricht ist in Fig. 8 gezeigt. Zuerst schreibt das Verarbeitungsprogramm A eine Nachricht, die zu dem Verar­ beitungsprogramm C zu übermitteln ist, z.B. in den Übertra­ gungspeicherbereich 23 C unter Verwendung eines Schreibbefehls für die gemeinsame Speichereinrichtung 20 (Schritt 90) und fordert das OS 1 zum Senden auf, z.B. unter Verwendung eines Überwachermacro (Schritt 92). Das OS 1 spezifiziert eine Über­ tragungskennung mit einer "1", die in der Position eines Bit gesetzt ist (das erste Bit oder Bit 1 des n-ten Byte oder Byte n), was eine Übertragung zu dem Verarbeitungsprogramm C bedeutet, als dem Operanden und gibt einen Sendebefehl aus (Schritt 94). Wenn diese Übertragungskennung in das Register 43 geschrieben wird, wird ein Interrupt bezüglich dieses Un­ tersystems 10-n auf die gleiche Weise vorgenommen wie bei der obigen Beschreibung (Schritt 96). Das OSn gibt einen Emp­ fangsbefehl aus (Schritt 98). Auf der Grundlage der oben beschriebenen Bitposition spezifiziert das OSn das Verarbei­ tungsprogramm C und informiert das Verarbeitungsprogramm C, daß eine Nachricht empfangen werden sollte (Schritt 100). Das Verarbeitungsprogramm C liest eine Nachricht aus dem Übertra­ gungspufferbereich 23 C unter Verwendung eines Lesebefehls hinsichtlich der gemeinsamen Speichereinrichtung 20. Auf diese Weise wird die Übertragung zwischen Programmen verwirk­ licht.
Auf den Übertragungspufferbereich, der eine Nachricht spei­ chert, wird also durch das Verarbeitungsprogramm direkt Bezug genommen. Daher wird ein Transfer mit zwei Stufen, in denen eine Nachricht zeitweilig in den OS-Bereich 121-n kopiert wird, der in der Hauptspeichereinrichtung 120-n enthalten ist, überflüssig. Da der Übertragungspuffer zwischen Verar­ beitungsprogrammen dynamisch festgelegt wird, weist ferner der in der Speichereinrichtung 20 enthaltene Speicherbereich 50 eine Kapazität mit einer Größe auf, wie sie zur Übertra­ gung benötigt wird.
Nachfolgend wird ein erstrebenswerterer Betriebsmodus in der vorliegenden Ausführungsform beschrieben.
Es wird jetzt angenommen, daß die Übertragungspufferbereiche 23 A, 23 B, 23 C und 23 D auf dem in der gemeinsamen Speicherein­ richtung enthaltenen Speicher festgelegt sind, wie in Fig. 2 gezeigt, und Bits der Übertragungskennung so zugeordnet sind, daß sie diesen entsprechen, wie in Fig. 3 gezeigt. Das heißt, der Bereich 23 A ist zum Beispiel ein Übertragungspuf­ fer zur Übertragung von dem Verarbeitungsprogramm C zu dem Verarbeitungsprogramm A, und der Bereich 23 B ist z.B. ein Übertragungspuffer zur Übertragung von dem Verarbeitungspro­ gramm D zu dem Verarbeitungsprogramm B. Der Bereich 23 C ist zum Beispiel ein Übertragungspuffer zur Übertragung von dem Verarbeitungsprogramm A zu dem Verarbeitungsprogramm C, und der Bereich 23 D ist z.B. ein Übertragungspuffer zur Übertra­ gung von dem Verarbeitungsprogramm B zu dem Verarbeitungspro­ gramm D. Diesen entsprechende Bitpositionen der Übertragungs­ kennung sind das erste Bit (Bit 1) des ersten Byte (Byte 1), das zweite Bit (Bit 2) des ersten Byte (Byte 1), das erste Bit (Bit 1) des n-ten Byte (Byte n) bzw. das zweite Bit (Bit 2) des n-ten Byte (Byte n).
Anhand von Fig. 9 wird nun ein Fall beschrieben, in welchem eine Übertragung von dem Verarbeitungsprogramm A zu dem Ver­ arbeitungsprogramm C und eine Übertragung von dem Verarbei­ tungsprogramm B zu dem Verarbeitungsprogramm D unter den oben beschriebenen Umständen durchgeführt werden. Da der Bereich 23 C von dem Bereich 23 D getrennt ist, kann das Schreiben der Nachricht der Verarbeitungsprogramme A und B unabhängig aus­ geführt werden (begrifflich parallel) (Schritte 110 und 129). Eine Sendeanforderung wird durch das Verarbeitungsprogramm A an das OS 1 adressiert (Schritt 114). Das OS 1 setzt "1" in dem ersten Bit (Bit 1) des n-ten Byte (Byte n) der Übertragungs­ kennung und gibt einen Sendebefehl aus (Schritt 116). Wenn diese Übertragungskennung in das Register 43 geschrieben wird, wird ein Interrupt hinsichtlich des OSn erzeugt (Schritt 117). Wenn danach durch das Verarbeitungsprogramm B eine Sendeanforderung an das OS 1 adressiert wird (Schritt 118), kann das OS 1 nachfolgend einen Sendebefehl ausgeben durch Setzen von "1" in dem zweiten Bit (Bit 2) des n-ten Byte (Byte n) der Übertragungskennung (Schritt 120). Das heißt, der nächste Sendebefehl kann ausgegeben werden, bevor das OS 2 einen Empfangsbefehl ausgibt bezüglich eines Inter­ rupt, der auf dem ersten Sendebefehl beruht. Die Übertra­ gungskennung wird in der Halteschaltung 40 von Fig. 1 mit der in dem Register bis dahin gehaltenen Übertragungskennung ODER-verknüpft, und das Ergebnis wird in dem Register 43 auf­ bewahrt. Hinsichtlich der Erneuerung des Übertragungskennung- Registers 43 wird neuerlich ein Interrupt zu dem OSn veran­ laßt. Danach gibt das OSn einen Empfangsbefehl aus und liest die Übertragungskennung aus (Schritt 122). Da das erste sowie das zweite Bit (Bit 1 und Bit 2) des n-ten Byte (Byte n) "1" sind, informiert das OSn beide Verarbeitungsprogramme C und D (Schritt 124). Die Verarbeitungsprogramme C und D können jeweils Nachrichten aus dem Bereich 23 C bzw. 23 D unabhängig (begrifflich parallel) lesen (Schritte 126 und 128).
Falls die Verarbeitungsprogramme A und B gleichzeitig Sen­ deanforderungen an OS 1 adressieren, kann die oben beschrie­ bene Operation auch folgendermaßen geändert werden. Und zwar kann durch Setzen von "1" in einer Mehrzahl von Bits der Übertragungskennung wie z.B. der Bit 1 und 2 des Byte n das OS 1 mit einer Mehrzahl von Verarbeitungsprogrammen wie z.B. den Programmen C und D in Verbindung treten, indem es einen Sendebefehl einmal verwendet. Ein Fall, in welchem der Ur­ sprung der Sendeanforderung ein einzelnes Programm ist und eine Mehrzahl von Zielen umfaßt wird, (das heißt, der soge­ nannte Rundfunk (broadcast)) kann einfach verwirklicht werden, indem eine Mehrzahl von Bits der Übertragungskennung äquivalent "1" gemacht wird.
Auf diese Weise kann eine Mehrzahl unabhängiger Übertragungen parallel ausgeführt werden, und folglich wird die Übertra­ gungszeit verkürzt. Da kein Wartezustand in dem OS 1 veranlaßt wird, wird es ferner überflüssig, eine Warteschlange zu bil­ den. Beachtet man ein bestimmtes Verarbeitungsprogramm, wird die Übertragung bilateral. In vielen Fällen wird die nächste Übertragung nicht durchgeführt, bis der Empfang einer Nach­ richt bestätigt wird. Daher wird die Warteschlangensteuerung innerhalb des Verarbeitungsprogramms sehr einfach oder prak­ tisch überflüssig. Die Konfiguration jeder der in Fig. 1 gezeigten Einrichtun­ gen wird nachfolgend im einzelnen anhand der Zeichnung be­ schrieben. Fig. 4 ist ein Blockschaltbild, das die Konfiguration eines Teiles der in Fig. 1 gezeigten Befehlsverarbeitungseinrich­ tung 110 zeigt, welche die vorliegende Übertragungsanordnung betrifft. Fig. 4 zeigt ein Befehlsregister 111, einen Befehlsdecoder 112 und eine Mehrzweck-Registergruppe 113. In der vorliegenden Ausführungsform umfaßt jeder Sendebefehl und Empfangsbefehl sowie Datenlesebefehl und Schreibbefehl für Daten auf dem in der gemeinsamen Speichereinrichtung ent­ haltenen Speicher einen Operationscode und einen Abschnitt, der die Adresse und dergleichen spezifiziert. Es wird nun an­ genommen, daß als Befehlsform die in dem IBM-System 370 ver­ wendete RRE-Form verwendet wird. Das heißt, jedes Befehlswort weist eine Länge von vier Byte auf und umfaßt zwei Byte des Operationscode, ein Byte, welches Nummern von zwei Mehrzweck­ registern (R 1 und R 2) spezifiziert, und ein weiteres Byte. Das durch R 1 bezeichnete Mehrzweckregister spezifiziert die Adresse von Daten auf der Hauptspeichereinrichtung. Ein dem Register R 1 folgendes Mehrzweckregister R 1+1 spezifiziert die Größe. Das Mehrzweckregister R 2 spezifiziert die Adresse auf dem in der gemeinsamen Speichereinrichtung enthaltenen Spei­ cher. Der Sendebefehl und der Empfangsbefehl haben keinen Zugriff auf Daten auf dem Speicher, der in der gemeinsamen Speichereinrichtung enthalten ist, und verwenden daher den Abschnitt R 2 nicht.
Anhand von Fig. 4 wird nun die Befehlsverarbeitung in dem Untersystem 10-1 beschrieben. Abschnitte R 1 und R 2 werden dem Mehrzweck-Register 213 über eine Leitung 111 A zugeführt. Die dementsprechenden Inhalte von Registern werden ausgelesen, wie bereits beschrieben. Das heißt, die Adresse auf der Hauptspeichereinrichtung, die in dem Mehrzweckregister R 1 gespeichert ist, wird auf einer Leitung 10 B ausgegeben. Die Adresse auf dem in der gemeinsamen Speichereinrichtung ent­ haltenen Speicher wird auf einer Leitung 10 A ausgegeben. Die in dem Mehrzweckregister R 1+1 gespeicherte Größe wird auf einer Leitung 10 L ausgegeben. Der Befehlsdecoder 112 deco­ diert den Operationscode auf einer Leitung 111 B und die durch das Signal auf der Leitung 10 L wiedergegebene Größe, um ein Steuersignal 10 C auszugeben. Das Steuersignal 10 C gibt die Art und Länge eines Befehls an. Als Art des Befehls kann der Operationscode selbst ausgegeben werden. Hinsichtlich der Länge wird der Wert selbst auf der Leitung 10 L ausgegeben im Falle des Lesebefehls oder Schreibbefehls für Daten in der gemeinsamen Speichereinrichtung. Im Falle des Sendebefehls und der Empfangsbefehls wird die gleiche Länge wie die Länge der Übertragungskennung (das heißt, n Byte) ausgegeben. Die Hauptspeicheradresse 10 B wird zu der Hauptspeichereinrichtung 120 gesendet, wogegen die Adresse 10 A des in der gemeinsamen Speichereinrichtung 20 enthaltenen Speichers 50 zu der gemeinsamen Speichersteuereinrichtung 60 gesendet wird. Das Steuersignal 10 C, das die Art eines Befehls wiedergibt, wird zu der Hauptspeichereinrichtung 120 sowie zu der Speicher­ steuereinrichtung 60 gesendet. Im Falle des Sendebefehls und des Empfangsbefehls wird die Adresse 10 A des in der gemeinsa­ men Speichereinrichtung enthaltenen Speichers nicht verwen­ det.
Wenn ein von der Halteschaltung 40 zugeführtes Interrupt­ signal 10 E "1" ist, erzeugt eine in Fig. 4 gezeigte Inter­ ruptverarbeitungsschaltung 114 ein Interrupt in der Befehls­ verarbeitungseinrichtung und startet verschiedene Aufgaben. Die Interruptverarbeitungsschaltung 114 ist genauso wie der Stand der Technik aufgebaut. Das von der Halteschaltung 40 zugeführte Interruptsignal 10 E ist zum Beispiel als eines von externen Interruptsignalen positioniert.
Unter Bezugnahme auf Fig. 1 wird nun die Steuerung der Ver­ arbeitung für jeden Befehl beschrieben.
Falls das Befehlswort der Befehl zum Lesen von Daten aus dem in der gemeinsamen Speichereinrichtung enthaltenen Speicher ist, liest die gemeinsame Speichersteuereinrichtung 60 Daten, die in einem Bereich gespeichert sind, welcher mit der Adresse 10 A beginnt und eine Länge aufweist, die durch die Steuerleitung 10 C angegeben wird, aus dem Speicher 50 auf eine Datenleitung 10 D, während die Hauptspeichereinrichtung 120 Daten mit einer spezifizierten Länge, die über die Daten­ leitung 10 D zugeführt werden, in einen Bereich schreibt, der mit der Adresse 10 B beginnt.
Falls das Befehlswort der Schreibbefehl bezüglich des gemein­ samen Speichers ist, liest die Hauptspeichereinrichtung 120 Daten mit einer Länge, die durch die Steuerleitung 10 C ange­ geben wird, aus dem Bereich, der mit der Adresse 10 B beginnt, auf eine Datenleitung 10 F, während die Speichersteuereinrich­ tung 60 Daten mit einer spezifizierten Länge, die über die Datenleitung 10 F zugeführt werden, in einen Bereich des Spei­ chers 50 schreibt, der mit der Adresse 10 A beginnt.
Falls das Befehlswort der Sendebefehl ist, liest die Haupt­ speichereinrichtung 120 Daten (das heißt Übertragungskennung) mit einer Länge (das heißt: n Byte), die durch die Steuerlei­ tung 10 C angegeben wird, aus einem Bereich, der mit der Adresse 10 A beginnt, auf die Datenleitung 10 F, während die gemeinsame Speichersteuereinrichtung 60 die über die Daten­ leitung 10 F zugeführte Übertragungskennung zu der Halteschal­ tung 40 transferiert.
Falls das Befehlswort der Empfangsbefehl ist, liest die gemeinsame Speichersteuereinrichtung 60 den Inhalt des Regi­ sters 43 aus der Halteschaltung 40 auf die Datenleitung 10 D, während die Hauptspeichereinrichtung 120 den über die Daten­ leitung 10 D zugeführten Inhalt in einen Bereich schreibt, der mit der Adresse 10 A beginnt.
Fig. 5 zeigt ein Beispiel der gemeinsamen Speichersteuerein­ richtung 60. Von jeweiligen Untersystemen zugeführte Steuer­ leitungen 10 C-1 bis 10 C-n sind mit einer Prioritätssteuer­ schaltung 61 und einer Wählschaltung 62 verbunden. Adressen­ leitungen 10 A-1 bis 10 A-n sind mit einer Wählschaltung 63 verbunden. Datenleitungen 10 F-1 bis 10 F-n sind mit einer Wählschaltung 64 verbunden. Die Prioritätssteuerschaltung 61 wählt zum Beispiel eine der Anforderungen mit Priorität über eine früher zugeführte Anforderung und gibt die gewählte An­ forderung auf eine Wählleitung 61 A aus. Gemäß der Wählleitung 61 A führen die Wählschaltungen 62, 63 und 64 eine Eins-aus-n- Wahl durch und geben die gewählten Daten aus auf eine Steuer­ leitung 60 C, eine Adressenleitung 60 A bzw. eine Datenleitung 60 F. Das gewählte Signal auf der Steuerleitung 60 C wird durch einen Decoder 65 decodiert, um eine Wählschaltung 66 zu steuern. Wenn die Anforderung der Lesebefehl für den in der gemeinsamen Speichereinrichtung enthaltenen Speicher ist, werden die von dem Speicher 50 über eine Datenleitung 50 D zu­ geführten Daten durch die Wählschaltung 66 auf eine Datenlei­ tung 10 D ausgegeben. Wenn die Anforderung der Empfangsbefehl ist, werden die von dem Register 43 über eine Datenleitung 40 D zugeführten Daten auf die Datenleitung 10 D ausgegeben.
Fig. 6 zeigt ein Beispiel des Aufbaus der in Fig. 1 gezeig­ ten Halteschaltung 40 im einzelnen. Ein Signal auf der Steu­ erleitung 60 C wird durch einen Decoder 451 decodiert. Im Falle des Sendebefehls wird das Ausgangssignal auf einer Leitung 451 A erhalten. Im Fall des Empfangsbefehls wird das Ausgangssignal auf einer Leitung 451 B erhalten.
Im Fall des Sendebefehls öffnet das Ausgangssignal auf der Leitung 451 Gatter 411 und 412. Die logische Summe der Über­ tragungskennung auf der Datenleitung 60 F und der Inhalt des Registers 43, der über die Datenleitung 43 D zugeführt wird, wird über geöffnete Gatter 42-1 bis 42-n in das Register 43 gesetzt.
Im Falle des Empfangsbefehls wird durch das Signal auf der Leitung 451 B (während das Gatter 411 noch geschlossen ist) nur das Gatter 412 geöffnet, um den Inhalt des Registers 43, der auf der Datenleitung 40 D erscheint, unverändert zu den Gattern 42-1 bis 42-n zu liefern. Unter Verwendung der Wähl­ leitung 61 A ist es möglich zu erkennen, welches Untersystem die Anforderung adressiert hat. Durch Decodieren des auf der Wählleitung 61 A zugeführten Signals in einem Decoder 452 weist daher die entsprechende der Leitungen 452-1 bis 452-n eine logische "1" auf. Invertierte Signale dieser Signale werden UND-verknüpft mit dem Signal auf der Leitung 451 B, das den Empfangsbefehl wiedergibt. Nur das entsprechende Gatter der Gatter 42-1 bis 42-n ist geschlossen, und der Inhalt des Registers 43 wird in das Register 43 gesetzt. Folglich kann nur das entsprechende eine Byte des Registers 43 zurückge­ setzt werden.
Die Nichtnull-Nachweisschaltung 44 prüft die Abweichung von Null, wobei es ein Byte als Einheit nimmt, und gibt die Er­ gebnisse auf Interruptanforderungsleitungen 10 E-1 bis 10 E-n. Wenn der Empfangsbefehl ausgeführt worden ist, wird ein Byte zurückgesetzt, das darin enthalten ist und dem Untersystem des Ursprungs der Ausgabe entspricht. Daher wird die Inter­ ruptanforderung entsprechend diesem Untersystem entfernt. In der vorgenannten Beschreibung ist das Übertragungskennung-Re­ gister 43 getrennt von dem Speicher 50 vorgesehen. Dieses Re­ gister 43 kann aber auch in dem Speicher 50 angeordnet sein.
Die Erfindung bringt die folgenden Wirkungen hervor:
  • 1) Falls die in Übertragungsdaten enthaltene Nachricht zwi­ schen Programmen von Diskriminierinformation getrennt wird, welche das Ziel und dergleichen bedeutet, gewinnt das Verar­ beitungsprogramm direkten Zugang zu dem in der gemeinsamen Speichereinrichtung enthaltenen Speicher, und die Nachricht läuft nicht durch das Betriebssystem (OS). Daher wird das Senden und Empfangen von Daten zwischen dem Betriebssystem und jedem Programm überflüssig, was zu einer höheren Übertra­ gungseffizienz führt.
  • 2) Falls der Übertragungspufferbereich auf dem Speicher, der in der gemeinsamen Speichereinrichtung enthalten ist, zur Speicherung der Nachricht entsprechend dem Programm einge­ stellt wird, ist es nicht notwendig, eine große Datenmenge vor dem Senden zu unterteilen, und der in der gemeinsamen Speichereinrichtung enthaltene Speicher kann entsprechend der Größe der Nachricht effektiv genutzt werden.
  • 3) Falls eine Mehrzahl von Übertragungspuffern für die Über­ tragungsnachricht vorgesehen ist, können Übertragungen paral­ lel durchgeführt werden.
  • 4) Falls die logische Summe von Übertragungskennungen, jede von denen Diskriminierinformation ist, so ausgelegt ist, daß sie kollektiv empfangen wird unter Verwendung des Empfangsbe­ fehls, braucht keine Warteschlange gebildet zu werden, und eine Mehrzahl unabhängiger Übertragungen kann parallel durch­ geführt werden.
Falls Programme mit entsprechenden Bits der Übertragungsken­ nung verknüpft sind wie in der vorliegenden Ausführungsform und "1" in eine Mehrzahl von Bits der Übertragungskennung gesetzt wird, kann eine Übertragung zu einer Mehrzahl von Verarbeitungsprogrammen unter Verwendung des Sendebefehls zusammen, das heißt, der sogenannte Rundfunk (broadcast), einfach verwirklicht werden.

Claims (52)

1. Verfahren in einem Multiprozessorsystem mit einer Mehrzahl von Untersystemen (10-i) und einer gemeinsamen Speichereinrichtung (20), wobei jedes der Mehrzahl von Unter­ systemen wenigstens einen Befehlsprozessor (110-i) und einen Hauptspeicher (120-i) aufweist und jedes Untersystem eine Mehrzahl von Programmen unter Kontrolle eines Betriebssystems (121-i) ausführt, und wobei die gemeinsame Speichereinrich­ tung einen Schreib-Lese-Speicher (50) aufweist, der mit der Mehrzahl von Untersystemen verbunden ist, auf die dadurch zuzugreifen ist, wobei das Verfahren zur Datenübertragung zwischen verschiedenen Untersystemen über die gemeinsame Speichereinrichtung dient, gekennzeichnet durch die Schritte,
  • a) daß ein sendeseitiges Untersystem eine Nachricht in einen Übertragungsspeicher (23 A) schreibt, der auf dem Schreib-Lese-Speicher der gemeinsamen Speichereinrichtung angeordnet ist, wobei das sendeseitige Untersystem ein sende­ seitiges Programm enthält, das vorhanden ist, um die Nach­ richt zu senden, und daß das sendeseitige Untersystem die gemeinsame Speichereinrichtung über Übertragungs-Diskrimi­ nierinformation informiert, die ein Programm der Empfangs­ seite spezifiziert, welches die Nachricht empfangen sollte,
  • b) daß ein empfangsseitiges Betriebssystem die mitgeteilte Übertragungs-Diskriminierinformation aus der gemeinsamen Speichereinrichtung ausliest und das empfangsseitige Betriebssystem in Reaktion auf die ausgelesene Übertragungs- Diskriminierinformation das empfangsseitige Programm zum Empfangen der Nachricht lenkt, wobei das empfangsseitige Betriebssystem ein Betriebssystem ist, welches das empfangs­ seitige Programm steuert,
  • c) und daß das empfangsseitige Programm die Nachricht aus dem Übertragungsspeicher ausliest in Reaktion auf das Lenken zum Empfangen der Nachricht durch das empfangsseitige Be­ triebssystem.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt (a) die Schritte umfaßt,
  • a1) daß das sendeseitige Programm die Nachricht in den Übertragungsspeicher schreibt,
  • a2) und daß ein sendeseitiges Betriebssystem die gemeinsame Speichereinrichtung über die Übertragungs-Diskriminierinfor­ mation informiert, wobei das sendeseitige Betriebssystem ein Betriebssystem ist, welches das sendeseitige Programm steu­ ert.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt (a) ferner die Schritte umfaßt,
  • a3) daß das sendeseitige Programm das sendeseitige Betriebssystem über das empfangsseitige Programm informiert,
  • a4) und daß das sendeseitige Betriebssystem die Übertra­ gungs-Diskriminierinformation erzeugt in Reaktion auf das In­ formieren über das Empfangsprogramm.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Verfahren den Schritt umfaßt,
  • d) daß die gemeinsame Speichereinrichtung das empfangssei­ tige Betriebssystem über das Auftreten einer Übertragung in­ formiert in Reaktion auf die durch die gemeinsame Speicher­ einrichtung mitgeteilte Diskriminierinformation, und daß das Auslesen der Übertragungs-Diskriminierinformation in dem Schritt (b) durch das empfangsseitige Betriebssystem durchgeführt wird in Reaktion auf das Informieren über das Auftreten einer Übertragung in dem Schritt (d).
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß das Informieren über das Auftreten einer Übertragung als ein Interrupt an das empfangsseitige Betriebssystem durchgeführt wird.
6. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Übertragungs-Diskriminierinformation Information umfaßt, welche das empfangsseitige Programm spezifiziert, so daß das empfangsseitige Betriebssystem es diskriminieren kann.
7. Verfahren nach Anspruch 1, gekennzeichnet durch die Schritte,
  • 1) daß das sendeseitige Untersystem eine andere Nachricht, die von einem anderen sendeseitigen Programm zu senden ist, welches zu dem sendeseitigen Untersystem gehört, an ein an­ deres empfangsseitiges Programm, das durch das empfangssei­ tige Betriebssystem gesteuert wird, in einen anderen Übertra­ gungsspeicher (23 B) schreibt, der auf dem Schreib-Lese- Speicher der gemeinsamen Speichereinrichtung angeordnet ist, und es nutzt, daß das sendeseitige Untersystem die gemeinsame Speichereinrichtung über andere Übertragungs-Diskriminierin­ formation informiert, die das andere empfangsseitige Programm spezifiziert, welches die andere Nachricht empfangen sollte,
  • 2) daß das empfangsseitige Betriebssystem die mitgeteilte andere Übertragungs-Diskriminierinformation aus der gemeinsa­ men Speichereinrichtung ausliest und das empfangsseitige Be­ triebssystem das andere empfangsseitige Programm zum Empfan­ gen der anderen Nachricht lenkt in Reaktion auf das Auslesen der ausgelesenen anderen Übertragungs-Diskriminierinforma­ tion,
  • 3) und daß das andere empfangsseitige Programm die andere Nachricht aus dem anderen Übertragungsspeicher ausliest in Reaktion auf die Direktive zum Empfangen der Nachricht, wobei die Schritte (1) bis (3) parallel zur Ausführung der Schritte (a) bis (c) ausgeführt werden.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Übertragungs-Diskriminierinformation und die andere Über­ tragungs-Diskriminierinformation so durch die gemeinsame Speichereinrichtung gehalten werden, daß sie unterscheidbar sind, wenn die andere Übertragungs-Diskriminierinformation in dem Schritt (1) mitgeteilt wird, bevor die in dem Schritt (a) mitgeteilte Übertragungs-Diskriminierinformation in dem Schritt (b) ausgelesen wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die in dem Schritt (a) mitgeteilte Übertragungs-Diskrimi­ nierinformation und die in dem Schritt (1) mitgeteilte andere Übertragungs-Diskriminierinformation durch die gemeinsame Speichereinrichtung kombiniert werden zu einer einzigen Über­ tragungs-Diskriminierinformation, welche das empfangsseitige Programm und das andere empfangsseitige Programm spezifi­ ziert.
10. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß es den Schritt umfaßt,
  • a) daß die gemeinsame Speichereinrichtung das empfangssei­ tige Betriebssystem über das Auftreten einer Übertragung informiert in Reaktion auf das Informieren über die andere Übertragungs-Diskriminierinformation,
    und daß das Auslesen der Übertragungs-Diskriminierinformation in dem Schritt (2) durchgeführt wird in Reaktion auf das Informieren über das Auftreten einer Übertragung in dem Schritt (4) unter Verwendung des Empfangs-Betriebssystems.
11. Verfahren in einem Multiprozessorsystem mit einer Mehr­ zahl von Untersystemen (10-i) und einer gemeinsamen Speicher­ einrichtung (20), wobei jedes der Mehrzahl von Untersystemen wenigstens einen Befehlsprozessor (110-i) und einen Haupt­ speicher (120-i) aufweist und jedes Untersystem eine Mehrzahl von Programmen unter Kontrolle eines Betriebssystems (121-i) ausführt, und wobei die gemeinsame Speichereinrichtung einen Schreib-Lese-Speicher (50) aufweist, der mit der Mehrzahl von Untersystemen verbunden ist, auf die dadurch zuzugreifen ist, wobei das Verfahren zur Datenübertragung zwischen verschie­ denen Untersystemen über die gemeinsame Speichereinrichtung dient, gekennzeichnet durch die Schritte,
  • a) daß ein sendeseitiges Programm eine Nachricht in einen Übertragungsspeicher (23 A) schreibt, der auf dem Schreib- Lese-Speicher der gemeinsamen Speichereinrichtung angeordnet ist, wobei das sendeseitige Programm ein Programm zum Senden der Nachricht ist, und das sendeseitige Programm ein sende­ seitiges Betriebssystem, welches das sendeseitige Programm steuert, auffordert, die Nachricht zu einem empfangsseitigen Programm zu senden,
  • b) daß das sendeseitige Betriebssystem die gemeinsame Spei­ chereinrichtung über Übertragungs-Diskriminierinformation zum Spezifizieren des empfangsseitigen Programms informiert,
  • c) daß die gemeinsame Speichereinrichtung ein empfangssei­ tiges Betriebssystem, welches das empfangsseitige Programm steuert, über das Auftreten einer Übertragung informiert in Reaktion auf das Informieren der Übertragungs-Diskriminierin­ formation,
  • d) daß das empfangsseitige Betriebssystem die mitgeteilte Übertragungs-Diskriminierinformation aus der gemeinsamen Speichereinrichtung ausliest und das empfangsseitige Betriebssystem in Reaktion auf die ausgelesene Übertragungs- Diskriminierinformation das empfangsseitige Programm zum Emp­ fangen der Nachricht lenkt,
  • e) und daß das empfangsseitige Programm die Nachricht aus dem Übertragungsspeicher ausliest in Reaktion auf das Lenken zum Empfangen der Nachricht durch das empfangsseitige Be­ triebssystem.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß das Informieren über das Auftreten einer Übertragung als ein Interrupt an das empfangsseitige Betriebssystem durchgeführt wird.
13. Verfahren nach Anspruch 11, gekennzeichnet durch die Schritte,
  • f) daß das sendeseitige Programm das sendeseitige Betriebs­ system auffordert, einen Übertragungsspeicher festzulegen, bevor das sendeseitige Programm die Nachricht schreibt,
  • g) und daß das sendeseitige Betriebssystem den angeforderten Übertragungsspeicher in dem Schreib-Lese-Speicher der gemein­ samen Speichereinrichtung festlegt in Reaktion auf die Auf­ forderung zur Festlegung.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß das sendeseitige Programm, wenn es zur Festlegung des Über­ tragungsspeichers auffordert, das sendeseitige Betriebssystem über die Größe des angeforderten Übertragungsspeichers infor­ miert, und daß das sendeseitige Betriebssystem einen Übertra­ gungsspeicher der mitgeteilten Größe in der gemeinsamen Spei­ chereinrichtung festlegt.
15. Verfahren nach Anspruch 13, gekennzeichnet durch die Schritte,
  • h) daß das sendeseitige Betriebssystem das sendeseitige Programm über eine Adresse des festgelegten Übertragungsspei­ chers informiert,
  • i) daß das sendeseitige Betriebssystem die gemeinsame Spei­ chereinrichtung über die Adresse des festgelegten Übertra­ gungsspeichers und dem empfangsseitigen Programm zugeordnete Programm-Diskriminierinformation informiert als Übertragungs- Steuerinformation für das empfangsseitige Betriebssystem,
  • j) daß das sendeseitige Betriebssystem die gemeinsame Spei­ chereinrichtung informiert über Übertragungs-Diskriminierin­ formation zum Spezifizieren des empfangsseitigen Betriebs­ systems,
  • k) daß die gemeinsame Speichereinrichtung das empfangssei­ tige Betriebssystem informiert über das Auftreten einer Über­ tragung in Reaktion auf das Informieren der Übertragungs- Steuerinformation;
  • l) daß das sendeseitige Betriebssystem die mitgeteilte Übertragungs-Steuerinformation aus der gemeinsamen Speicher­ einrichtung ausliest,
  • m) und daß sendeseitige Betriebssystem das empfangsseitige Programm über die Adresse des festgelegten Übertragungsspei­ chers informiert in Reaktion auf die ausgelesene Übertra­ gungs-Steuerinformation.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß das Informieren über das Auftreten der Übertragung in dem Schritt (k) als Interrupt durchgeführt wird.
17. Verfahren nach Anspruch 11, gekennzeichnet durch die Schritte,
  • 1) daß ein anderes sendeseitiges Programm eine andere Nach­ richt in einen anderen Übertragungsspeicher schreibt, der auf dem Schreib-Lese-Speicher der gemeinsamen Speichereinrichtung angeordnet ist, wobei das andere sendeseitige Programm ein Programm ist, das durch das sendeseitige Betriebssystem ge­ steuert wird,
  • 2) daß das sendeseitige Programm die gemeinsame Speicher­ einrichtung über eine andere Übertragungs-Diskriminierinfor­ mation informiert zum Spezifizieren eines anderen empfangs­ seitigen Programms, welches durch das empfangsseitige Betriebssystem gesteuert wird und welches eine andere Nach­ richt erhalten sollte,
  • 3) daß die gemeinsame Speichereinrichtung das empfangssei­ tige Betriebssystem informiert über das Auftreten einer ande­ ren Übertragung in Reaktion auf das Informieren über eine andere Übertragungs-Diskriminierinformation,
  • 4) daß das empfangsseitige Betriebssystem die mitgeteilte andere Übertragungs-Diskriminierinformation aus der gemeinsa­ men Speichereinrichtung ausliest und das empfangsseitige Be­ triebssystem das andere empfangsseitige Programm zum Empfang der anderen Nachricht lenkt in Reaktion auf die ausgelesene andere Übertragungs-Diskriminierinformation,
  • 5) und daß das andere sendeseitige Programm die andere Nachricht aus dem anderen Übertragungsspeicher ausliest in Reaktion auf das Lenken zum Empfang der anderen Nachricht, wobei die Schritte (1) bis (5) parallel zur Ausführung der Schritte (a) bis (e) ausgeführt werden.
18. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Übertragungs-Diskriminierinformation und die andere Über­ tragungs-Diskriminierinformation, die in dem Schritt (2) bzw. (b) mitgeteilt werden, so durch die gemeinsame Speicherein­ richtung gehalten werden, daß sie unterscheidbar sind, wenn die andere Übertragungs-Diskriminierinformation in dem Schritt (2) mitgeteilt wird, bevor die in dem Schritt (b) mitgeteilte Übertragungs-Diskriminierinformation in dem Schritt (d) ausgelesen wird.
19. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die in dem Schritt (b) mitgeteilte Übertragungs-Diskrimi­ nierinformation und die in dem Schritt (2) mitgeteilte andere Übertragungs-Diskriminierinformation durch die gemeinsame Speichereinrichtung kombiniert werden zu einer einzigen Über­ tragungs-Diskriminierinformation, welche das empfangsseitige Programm und das andere empfangsseitige Programm spezifi­ ziert.
20. Verfahren in einem Multiprozessorsystem mit einer Mehr­ zahl von Untersystemen (10-i) und einer gemeinsamen Speicher­ einrichtung (20), wobei jedes der Mehrzahl von Untersystemen wenigstens einen Befehlsprozessor (110-i) und einen Haupt­ speicher (120-i) aufweist und jedes Untersystem eine Mehrzahl von Programmen unter Kontrolle eines Betriebssystems (121-i) ausführt, und wobei die gemeinsame Speichereinrichtung einen Schreib-Lese-Speicher (50) aufweist, der mit der Mehrzahl von Untersystemen verbunden ist, auf die dadurch zuzugreifen ist, wobei das Verfahren zur Datenübertragung zwischen verschie­ denen Untersystemen über die gemeinsame Speichereinrichtung dient, gekennzeichnet durch die Schritte,
  • a) daß ein sendeseitiges Untersystem, zu dem ein sendesei­ tiges Programm gehört, welches eine Nachricht senden sollte, die gemeinsame Speichereinrichtung informiert über Übertra­ gungs-Steuerinformation, die zur Steuerung der Übertragung der Nachricht benötigt wird, und erste Übertragungs-Diskrimi­ nierinformation zum Spezifizieren eines empfangsseitigen Be­ triebssystems eines empfangsseitigen Untersystems, zu dem ein empfangsseitiges Programm gehört, welches die Nachricht emp­ fangen sollte, wenn die Übertragungs-Steuerinformation von dem sendeseitigen Untersystem zu dem empfangsseitigen Unter­ system zu senden ist,
  • b) daß das sendeseitige Untersystem die gemeinsame Spei­ chereinrichtung informiert über die Nachricht und eine zweite Übertragungs-Diskriminierinformation zum Spezifizieren des empfangsseitigen Programms, wenn die Nachricht von dem sende­ seitigen Untersystem zu dem empfangsseitigen Untersystem zu senden ist,
  • c) daß das empfangsseitige Untersystem Übertragungs-Diskri­ minierinformation aus der gemeinsamen Speichereinrichtung ausliest,
  • d) und daß das empfangsseitige Untersystem die Übertragungs- Steuerinformation oder die Nachricht aus der gemeinsamen Speichereinrichtung ausliest, je nach dem, ob die ausgelesene Übertragungs-Diskriminierinformation die erste oder die zweite Übertragungs-Diskriminierinformation umfaßt.
21. Verfahren nach Anspruch 20, gekennzeichnet durch den Schritt,
  • e) daß die gemeinsame Speichereinrichtung das empfangssei­ tige Betriebssystem über das Auftreten einer Übertragung in­ formiert in Reaktion auf das Informieren der ersten sowie der zweiten Übertragungs-Diskriminierinformation,
    und daß das Auslesen der Übertragungs-Diskriminierinformation durch das empfangsseitige Untersystem durchgeführt wird durch das empfangsseitige Betriebssystem in Reaktion auf das Infor­ mieren über das Auftreten einer Übertragung.
22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß die Information an das empfangsseitige Betriebssystem über das Auftreten einer Übertragung durch ein Interrupt durchge­ führt wird.
23. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß der Schritt (a) ferner die Schritte umfaßt,
  • a1) daß das sendeseitige Programm das sendeseitige Be­ triebssystem, welches das sendeseitige Programm steuert, über das empfangsseitige Programm informiert,
  • a2) daß das sendeseitige Betriebssystem die gemeinsame Speichereinrichtung informiert über Übertragungs-Steuerinfor­ mation, die das mitgeteilte empfangsseitige Programm anzeigt,
  • a3) und daß das sendeseitige Betriebssystem die gemeinsame Speichereinrichtung informiert über Übertragungs-Diskrimi­ nierinformation zum Spezifizieren des empfangsseitigen Be­ triebssystems als die erste Übertragungs-Diskriminierinforma­ tion,
und daß der Schritt (b) die Schritte umfaßt,
  • b1) daß das sendeseitige Programm die Nachricht in einen Übertragungsspeicher schreibt, der in dem Schreib-Lese- Speicher der gemeinsamen Speichereinrichtung enthalten ist,
  • b2) daß das sendeseitige Programm das sendeseitige Betriebssystem auffordert, das Senden durchzuführen,
  • b3) und daß das sendeseitige Betriebssystem in Reaktion auf die Aufforderung die gemeinsame Speichereinrichtung infor­ miert über Übertragungs-Diskriminierinformation, die das mitgeteilte empfangsseitige Programm anzeigt, als die zweite Übertragungs-Diskriminierinformation.
24. Verfahren nach Anspruch 23, dadurch gekennzeichnet,
daß das Auslesen der Übertragungs-Diskriminierinformation in dem Schritt (c) durch das empfangsseitige Betriebssystem durchgeführt wird,
und daß der Schritt (d) die Schritte umfaßt,
  • d1) daß das empfangsseitige Betriebssystem die Übertra­ gungs-Steuerinformation aus der gemeinsamen Speichereinrich­ tung ausliest, wenn die ausgelesene Übertragungs-Diskrimi­ nierinformation die erste Übertragungs-Diskriminierinforma­ tion ist,
  • d2) daß das empfangsseitige Betriebssystem das empfangssei­ tige Programm auffordert, die Nachricht aus der gemeinsamen Speichereinrichtung zu lesen, wenn die ausgelesene Übertra­ gungs-Diskriminierinformation die zweite Übertragungs-Diskri­ minierinformation ist,
  • d3) und daß das empfangsseitige Programm die Nachricht aus dem Übertragungsspeicher der gemeinsamen Speichereinrichtung ausliest.
25. Verfahren nach Anspruch 24, dadurch gekennzeichnet, daß der Schritt (a) die Schritte umfaßt,
  • a4) daß das sendeseitige Programm das sendeseitige Betriebssystem auffordert, einen Übertragungsspeicher festzu­ legen, bevor es die Nachricht schreibt,
  • a5) daß das sendeseitige Betriebssystem den angeforderten Übertragungsspeicher in der gemeinsamen Speichereinrichtung festlegt in Reaktion auf die Aufforderung zu Festlegung,
  • a6) daß das sendeseitige Betriebssystem das sendeseitige Programm über eine Adresse des festgelegten Übertragungsspei­ chers informiert,
  • a7) und daß das sendeseitige Betriebssystem die gemeinsame Speichereinrichtung über die Adresse des festgelegten Über­ tragungsspeichers und dem empfangsseitigen Programm zugeord­ nete Programm-Diskriminierinformation informiert als die Übertragungs-Steuerinformation für das empfangsseitige Be­ triebssystem,
und daß der Schritt (d) den Schritt umfaßt,
  • d4) daß das sendeseitige Betriebssystem das empfangsseitige Programm informiert über die Adresse des festgelegten Über­ tragungsspeichers in Reaktion auf das Auslesen von Übertra­ gungs-Steuerinformation.
26. Verfahren nach Anspruch 25, dadurch gekennzeichnet, daß das sendeseitige Programm das sendeseitige Betriebssystem in­ formiert über eine Größe des angeforderten Übertragungsspei­ chers, wenn es die Festlegung des Übertragungsspeichers anfordert, und das sendeseitige Betriebssystem einen Übertra­ gungsspeicher mit der mitgeteilten Größe in dem Schreib-Lese- Speicher der gemeinsamen Speichereinrichtung festlegt.
27. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß die erste und die zweite Übertragungs-Diskriminierinformation so durch die gemeinsame Speichereinrichtung gehalten werden, daß sie unterscheidbar sind, wenn die zweite Übertragungs- Diskriminierinformation in dem Schritt (b) mitgeteilt wird, bevor die erste Übertragungs-Diskriminierinformation in dem Schritt (c) ausgelesen wird.
28. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß die erste Übertragungs-Diskriminierinformation und die zweite Übertragungs-Diskriminierinformation durch die gemeinsame Speichereinrichtung so zu einer einzigen Übertragungs-Diskri­ minierinformation kombiniert werden.
29. Verfahren in einem Multiprozessorsystem mit einer Mehrzahl von Untersystemen (10-i) und einer gemeinsamen Speichereinrichtung (20), wobei jedes der Mehrzahl von Unter­ systemen wenigstens einen Befehlsprozessor (110-i) und einen Hauptspeicher (120-i) aufweist und jedes Untersystem eine Mehrzahl von Programmen unter Kontrolle eines Betriebssystems (121-i) ausführt, und wobei die gemeinsame Speichereinrich­ tung einen Schreib-Lese-Speicher (50) aufweist, der mit der Mehrzahl von Untersystemen verbunden ist, auf die dadurch zuzugreifen ist, wobei das Verfahren zur Datenübertragung zwischen verschiedenen Untersystemen über die gemeinsame Speichereinrichtung dient, gekennzeichnet durch die Schritte,
  • a) daß jedes der Untersysteme die gemeinsame Speicherein­ richtung informiert über Übertragungs-Diskriminierinformation zum Spezifizieren eines empfangsseitigen Programms, welches eine Nachricht empfangen sollte, oder eines empfangsseitigen Betriebssystems, welches Übertragungs-Steuerinformation emp­ fangen sollte, die zur Übertragung der Nachricht benötigt werden, wenn immer die Nachricht oder die Übertragungs- Steuerinformation von dem Untersystem zu einem anderen Unter­ system gesendet werden sollten,
  • b) daß die gemeinsame Speichereinrichtung in Reaktion auf jede Information an diese über Übertragungs-Diskriminierin­ formation von einem der Untersysteme das Auftreten einer Übertragung mitteilt an ein empfangsseitiges Betriebssystem zur Steuerung eines empfangsseitigen Programms, das durch die mitgeteilte Übertragungs-Diskriminierinformation spezifiziert ist, oder ein empfangsseitiges Betriebssystem, das durch die mitgeteilten Übertragungs-Diskriminierinformation spezifi­ ziert ist,
  • c) daß die gemeinsame Speichereinrichtung ihr früher mitge­ teilte, aber noch nicht von ihr ausgelesene Übertragungs- Diskriminierinformation kombiniert mit ihr neuerlich mitge­ teilter Übertragungs-Diskriminierinformation, um einzige Übertragungs-Diskriminierinformation zu erhalten und zu hal­ ten,
  • d) und daß das empfangsseitige Betriebssystem, dem das Auf­ treten einer Übertragung in dem Schritt (b) mitgeteilt wird, in der gemeinsamen Speichereinrichtung gehaltene kombinierte Übertragungs-Diskriminierinformation ausliest in Reaktion auf die Mitteilung über das Auftreten der Übertragung.
30. Verfahren in einem Multiprozessorsystem mit einer Mehrzahl von Untersystemen (10-i) und einer gemeinsamen Speichereinrichtung (20), wobei jedes der Mehrzahl von Unter­ systemen wenigstens einen Befehlsprozessor (110-i) und einen Hauptspeicher (120-i) aufweist und jedes Untersystem eine Mehrzahl von Programmen unter Kontrolle eines Betriebssystems (121-i) ausführt, und wobei die gemeinsame Speichereinrich­ tung einen Schreib-Lese-Speicher (50) aufweist, der mit der Mehrzahl von Untersystemen verbunden ist, auf die dadurch zuzugreifen ist, wobei das Verfahren zur Datenübertragung zwischen verschiedenen Untersystemen über die gemeinsame Speichereinrichtung dient, gekennzeichnet durch die Schritte,
  • a) daß ein sendeseitiges Programm, welches eine Nachricht senden soll, ein sendeseitiges Betriebssystem, welches das sendeseitige Programm steuert, informiert über ein empfangs­ seitiges Programm, welches die Nachricht empfangen sollte, und die Größe eines festzulegenden Übertragungsspeichers (23 A),
  • b) daß das sendeseitige Betriebssystem einen Übertragungs­ speicher mit der angeforderten Größe in dem Schreib-Lese- Speicher der gemeinsamen Speichereinrichtung festlegt in Reaktion auf die Aufforderung zur Festlegung,
  • c) und daß die Nachricht von dem sendeseitigen Programm über den festgelegten Übertragungsspeicher zu dem empfangs­ seitigen Programm gesendet wird.
31. Verfahren nach Anspruch 30, dadurch gekennzeichnet, daß der Schritt (c) die Schritte umfaßt,
  • c1) daß das sendeseitige Betriebssystem die gemeinsame Spei­ chereinrichtung informiert über eine Adresse und eine Größe des festgelegten Übertragungsspeichers und Programm-Diskrimi­ nierinformation, welche das empfangsseitige Programm spezifi­ ziert, als Übertragungs-Steuerinformation für ein empfangs­ seitiges Betriebssystem, welches das empfangsseitige Programm steuert,
  • c2) und daß das empfangsseitige Betriebssystem die Übertra­ gungs-Steuerinformation dafür aus der gemeinsamen Speicher­ einrichtung ausliest.
32. Verfahren nach Anspruch 31, dadurch gekennzeichnet, daß der Schritt (c) die Schritte umfaßt,
  • c3) daß das empfangsseitige Betriebssystem das empfangssei­ tige Programm über die ausgelesene Adresse informiert,
  • c4) daß das sendeseitige Programm die Nachricht in den festgelegten Übertragungsspeicher schreibt,
  • c5) und daß das empfangsseitige Programm die Nachricht aus dem festgelegten Übertragungsspeicher ausliest.
33. Verfahren nach Anspruch 31, dadurch gekennzeichnet, daß der Schritt (c) die Schritte umfaßt,
  • c6) daß das sendeseitige Betriebssystem bei Ausführung des Schrittes (c1) die gemeinsame Speichereinrichtung informiert über erste Übertragungs-Diskriminierinformation, die das emp­ fangsseitige Betriebssystem spezifiziert,
  • c7) daß das sendeseitige Betriebssystem bei Ausführung des Schrittes (c4) die gemeinsame Speichereinrichtung informiert über zweite Übertragungs-Diskriminierinformation, die das empfangsseitige Programm spezifiziert,
  • c8) daß die gemeinsame Speichereinrichtung das empfangssei­ tige Betriebssystem informiert über das Auftreten einer Über­ tragung in Reaktion auf die erste und die zweite Übertra­ gungs-Diskriminierinformation,
  • c9) daß das empfangsseitige Betriebssystem Übertragungs- Diskriminierinformation aus der gemeinsamen Speichereinrich­ tung ausliest in Reaktion auf die Mitteilung über das Auftre­ ten der Übertragung;
  • c10) daß der Schritt (c2) oder (c5) ausgeführt wird, je nach dem, ob die ausgelesene Übertragungs-Diskriminierinfor­ mation die erste Übertragungs-Diskriminierinformation oder die zweite Übertragungs-Diskriminierinformation ist.
34. Multiprozessorsystem, gekennzeichnet durch
eine Mehrzahl von Untersystemen (10-i), jedes von denen wenigstens einen Befehlsprozessor (110-i) und einen Haupt­ speicher (120-i) aufweist und eine Mehrzahl von Programmen unter Kontrolle eines Betriebssystems (121-i) ausführt,
eine gemeinsame Speichereinrichtung (20), die mit der Mehr­ zahl von Untersystemen verbunden ist, wobei die gemeinsame Speichereinrichtung eine erste Informationshalteeinrichtung (50) zum Halten einer Mehrzahl von Übertragungsinformation umfaßt, die jeweils durch eines der Untersysteme mitgeteilt wird und zu einem anderen der Untersysteme zu transferieren ist,
eine zweite Informationshalteeinrichtung (43), die in der gemeinsamen Speichereinrichtung angeordnet ist zum Halten von Diskriminierinformation, welche entsprechende Ziele der ge­ haltenen Mehrzahl von Übertragungsinformation repräsentiert,
und eine Steuereinrichtung (60, 41, 42, 45), die mit Untersyste­ men und der ersten Informationshalteeinrichtung verbunden ist und anspricht auf die Ausführung eines Befehls einer ersten Art durch eines der Untersysteme, um Übertragungsinformation zu transferieren zwischen dem einen Untersystem und einer Speicherstelle in der ersten Informationshalteeinrichtung, die durch den Befehl spezifiziert ist, und anspricht auf die Ausführung eines Befehls einer zweiten Art durch das eine Untersystem, um Diskriminierinformation zwischen dem einen Untersystem und der zweiten Informationshalteeinrichtung zu transferieren.
35. Multiprozessorsystem nach Anspruch 34, gekennzeichnet durch eine Einrichtung (44), die mit der zweiten Informati­ onshalteeinrichtung verbunden ist und anspricht auf den Transfer neuer Diskriminierinformation von einem der Unter­ systeme zu der zweiten Informationshalteeinrichtung, zum Informieren eines Untersystems, das durch die neue Diskrimi­ nierinformation spezifiziert ist, über das Auftreten einer Übertragung.
36. Multiprozessorsystem nach Anspruch 35, dadurch gekenn­ zeichnet, daß die Informiereinrichtung (44) eine Einrichtung umfaßt zum Informieren über das Auftreten einer Übertragung durch Vornehmen eines Interrupt in ein Betriebssystem, das zu dem Untersystem gehört, welches durch die neue Diskrimi­ nierinformation spezifiziert ist.
37. Multiprozessorsystem nach Anspruch 34, dadurch gekenn­ zeichnet, daß die Steuereinrichtung eine Einrichtung (42) umfaßt, die auf die Ausführung des Befehls der zweiten Art anspricht, welcher durch eines der Untersysteme durchgeführt wird, um Diskriminierinformation auszulesen, die in der zwei­ ten Informationshalteeinrichtung gehalten wird, zum Löschen eines Abschnitts der gehaltenen Diskriminierinformation, die sich auf das eine Untersystem bezieht.
38. Multiprozessorsystem nach Anspruch 34, dadurch gekenn­ zeichnet, daß die Steuereinrichtung eine Einrichtung (41, 42) umfaßt zum Kombinieren der neuerlich mitgeteilten Diskrimi­ nierinformation mit Diskriminierinformation, die bereits in der zweiten Informationshalteeinrichtung gehalten wird, um eine einzige Diskriminierinformation zu erzeugen, die eine vorbestimmte Form aufweist, und zum Schreiben der einzigen Diskriminierinformation in die zweite Informationshalteein­ richtung.
39. Multiprozessorsystem nach Anspruch 38, dadurch gekenn­ zeichnet, daß die Informiereinrichtung (44) eine Einrichtung umfaßt, die auf die von der neuen Diskriminierinformation erzeugte einzige Diskriminierinformation anspricht, um ein durch die neue Diskriminierinformation spezifiziertes Unter­ system über das Auftreten einer Übertragung zu informieren.
40. Multiprozessorsystem nach Anspruch 34, dadurch gekenn­ zeichnet, daß die Steuereinrichtung umfaßt:
eine Einrichtung, welche anspricht auf die Ausführung durch eines der Untersysteme eines Befehls der ersten Art für eine Schreiboperation an die erste Informationshalteeinrichtung, zum Transferieren von Übertragungsinformation, die durch den Befehl der ersten Art für eine Schreiboperation spezifiziert ist, von dem einen Untersystem zu der ersten Informationshal­ teeinrichtung und zum Schreiben der Übertragungsinformation in eine Speicherstelle derselben, die durch den Befehl der ersten Art für eine Schreiboperation spezifiziert ist,
eine Einrichtung, welche anspricht auf die Ausführung durch eines der Untersysteme eines Befehls der ersten Art für eine Leseoperation an die erste Informationshalteeinrichtung, zum Auslesen von Übertragungsinformation aus einer Speicherstelle in der ersten Informationshalteeinrichtung, die durch den Be­ fehl der ersten Art für eine Leseoperation spezifiziert ist,
und zum Transferieren der ausgelesenen Übertragungsinforma­ tion zu dem einen Untersystem, welches den Befehl der ersten Art für eine Leseoperation ausgeführt hat,
eine Einrichtung, welche anspricht auf die Ausführung durch eines der Untersysteme eines Befehls der zweiten Art für eine Schreiboperation an die zweite Informationshalteeinrichtung,
zum Transferieren von Diskriminierinformation, die durch den Befehl der zweiten Art für eine Schreiboperation spezifiziert ist, zu der zweiten Informationshalteeinrichtung von dem einen Untersystem, welches den Befehl der zweiten Art für eine Schreiboperation ausgeführt hat, um die transferierte Diskriminierinformation mit bereits in der zweiten Informati­ onshalteeinrichtung gehaltener Diskriminierinformation zu kombinieren, um eine einzige Diskriminierinformation zu erzeugen, und um die einzige Diskriminierinformation in die zweite Informationshalteeinrichtung zu schreiben,
eine Einrichtung, welche anspricht auf die Ausführung durch eines der Untersysteme eines Befehls der zweiten Art für eine Leseoperation an die zweite Informationshalteeinrichtung, zum Auslesen von Diskriminierinformation, die in der zweiten In­ formationshalteeinrichtung gehalten wird, und zum Transferie­ ren derselben zu dem einen Untersystem, welches den Befehl der zweiten Art für eine Leseoperation ausgeführt hat,
sowie eine Einrichtung, die anspricht auf das Auslesen der Diskriminierinformation aus der zweiten Informationshalteein­ richtung, um einen Abschnitt der gehaltenen Diskriminierin­ formation zu löschen, der das eine Untersystem betrifft, welches den Befehl der zweiten Art für eine Leseoperation ausgeführt hat.
41. Multiprozessorsystem nach Anspruch 40, gekennzeichnet durch eine Einrichtung, die anspricht auf Diskriminierinfor­ mation, die aus der neuen Diskriminierinformation erzeugt wird, wenn die neue Diskriminierinformation in die Informati­ onshalteeinrichtung geschrieben ist, um das Auftreten einer Übertragung an ein Untersystem mitzuteilen, das durch die neue Diskriminierinformation spezifiziert ist.
42. Multiprozessorsystem nach Anspruch 35, dadurch gekenn­ zeichnet,
daß Diskriminierinformation, die in Beziehung zu bestimmter Übertragungsinformation von einem der Untersysteme zu der zweiten Informationshalteeinrichtung transferiert wird, Information enthält, die anzeigt, welches Betriebssystem oder welches Programm durch eines der Betriebssysteme gesteuertes Programm die Übertragungsinformation erhalten sollte,
und daß die Informiereinrichtung eine Einrichtung umfaßt zum Informieren eines Betriebssystems über das Auftreten einer Übertragung, wenn die neuerlich mitgeteilte Diskriminierin­ formation das Betriebssystem oder ein durch das Betriebs­ system gesteuertes Programm als Ziel anzeigt.
43. Multiprozessorsystem nach Anspruch 34, dadurch gekenn­ zeichnet, daß jede von einem Untersystem zu der zweiten Informationshalteeinrichtung transferierte Diskriminierinfor­ mation und durch diese gehaltene Diskriminierinformation eine Folge von Bits umfaßt, von denen jedes entweder einem der Betriebssysteme der Untersysteme oder einem der Mehrzahl von Programmen zugeordnet ist, die durch jedes der Betriebs­ systeme gesteuert werden.
44. Multiprozessorsystem nach Anspruch 43, dadurch gekenn­ zeichnet, daß die Steuereinrichtung eine Einrichtung umfaßt, welche anspricht auf die Ausführung durch eines der Unter­ systeme eines Befehls der zweiten Art zum Auslesen von Dis­ kriminierinformation aus der zweiten Informationshalteein­ richtung, um mehrere Bits aus der Bitfolge der gehaltenen Diskriminierinformation zu löschen, welche entweder einem Betriebssystem des einen Untersystems oder einer Mehrzahl von Programmen zugeordnet sind, die durch das Betriebssystem ge­ steuert werden.
45. Multiprozessorsystem nach Anspruch 43, dadurch gekenn­ zeichnet, daß die Steuereinrichtung eine Einrichtung umfaßt zum Ableiten einer logischen Summe von Diskriminierinforma­ tion, die neuerlich von einem Untersystem zu der zweiten Informationshalteeinrichtung transferiert worden ist, und Diskriminierinformation, die bereits in der zweiten Informa­ tionshalteeinrichtung gehalten wird, um eine kombinierte Diskriminierinformation zu erzeugen, und um diese in der zweiten Informationshalteeinrichtung zu speichern.
46. Multiprozessorsystem nach Anspruch 45, gekennzeichnet durch eine Einrichtung, die auf die erzeugte Diskriminierin­ formation anspricht, welche erzeugt wird zum Informieren eines durch die neuerlich transferierte Diskriminierinforma­ tion spezifizierten Untersystems über das Auftreten einer Übertragung.
47. Multiprozessorsystem nach Anspruch 34, dadurch gekenn­ zeichnet, daß die erste Informationshalteeinrichtung einen Schreib-Lese-Speicher (RAM) umfaßt und die zweite Informati­ onshalteeinrichtung ein Register umfaßt.
48. Multiprozessorsystem nach Anspruch 47, dadurch gekenn­ zeichnet, daß das Register getrennt von dem Schreib-Lese- Speicher vorgesehen ist.
49. Multiprozessorsystem nach Anspruch 34, dadurch gekenn­ zeichnet, daß eine der Mehrzahl von Übertragungsinformationen eine Nachricht umfaßt, welche transferiert worden ist von einem aus einer Mehrzahl von Programmen, das in einem ersten Untersystem unter Kontrolle eines ersten Betriebssystems aus­ geführt wird, und welche transferiert werden sollte zu einem aus einer Mehrzahl von Programmen, das in einem zweiten Untersystem unter Kontrolle eines zweiten Betriebssystems ausgeführt wird, und daß eine der Mehrzahl von Übertragungs­ informationen eine Übertragungsinformation umfaßt, welche von dem ersten Betriebssystem transferiert worden ist, welche zu dem zweiten Betriebssystem transferiert werden sollte, und welche zur Steuerung des Transfers der Nachricht benötigt wird.
50. Multiprozessorsystem nach Anspruch 49, dadurch gekenn­ zeichnet, daß die Mehrzahl von Übertragungsinformationen eine Mehrzahl von Nachrichten umfaßt, welche jeweils von einigen Programmen aus einer Mehrzahl von Programmen transferiert werden, die in dem ersten Untersystem unter Kontrolle des ersten Betriebssystems ausgeführt werden, und welche jeweils zu einigen Programmen aus einer Mehrzahl von Programmen transferiert werden sollten, die in dem zweiten Untersystem unter Kontrolle des zweiten Betriebssystems ausgeführt werden.
DE4016667A 1989-05-26 1990-05-23 Nachrichtenübertragungsverfahren in einem Multiprozessorsystem mit einer Vielzahl von Untersystemen und ein zugehöriges Multiprozessorsystem Expired - Fee Related DE4016667C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1131343A JPH02310664A (ja) 1989-05-26 1989-05-26 共有メモリを用いた通信方式

Publications (2)

Publication Number Publication Date
DE4016667A1 true DE4016667A1 (de) 1990-11-29
DE4016667C2 DE4016667C2 (de) 1997-11-20

Family

ID=15055722

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4016667A Expired - Fee Related DE4016667C2 (de) 1989-05-26 1990-05-23 Nachrichtenübertragungsverfahren in einem Multiprozessorsystem mit einer Vielzahl von Untersystemen und ein zugehöriges Multiprozessorsystem

Country Status (3)

Country Link
US (1) US5214759A (de)
JP (1) JPH02310664A (de)
DE (1) DE4016667C2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822601A (en) * 1989-12-29 1998-10-13 Packard Bell Nec Apparatus to allow a CPU to control the relocation of code blocks for other CPUs
GB9008366D0 (en) * 1990-04-12 1990-06-13 British Aerospace Data interaction architecture(dia)for real time embedded multi processor systems
NL193551C (nl) * 1991-09-19 2000-01-04 Samsung Electronics Co Ltd Communicatiewerkwijze tussen processoren in een gedecentraliseerd meerknooppuntencentralesysteem.
JP2587190B2 (ja) * 1992-09-04 1997-03-05 インターナショナル・ビジネス・マシーンズ・コーポレイション システム間チャネルページング機構
GB2273591A (en) * 1992-12-18 1994-06-22 Network Systems Corp Microcomputer control systems for interprogram communication and scheduling methods
US5652885A (en) * 1993-05-25 1997-07-29 Storage Technology Corporation Interprocess communications system and method utilizing shared memory for message transfer and datagram sockets for message control
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
US5787300A (en) * 1993-11-10 1998-07-28 Oracle Corporation Method and apparatus for interprocess communications in a database environment
US5649102A (en) * 1993-11-26 1997-07-15 Hitachi, Ltd. Distributed shared data management system for controlling structured shared data and for serializing access to shared data
US6356938B1 (en) * 1994-09-09 2002-03-12 The United States Of America As Represented By The Secretary Of The Navy System and method for transmission of information packets between provider and consumer processors
US5797042A (en) * 1995-03-16 1998-08-18 Intel Corporation Method and apparatus for adjusting the buffering characteristic in the pipeline of a data transfer system
KR0170500B1 (ko) * 1995-11-18 1999-03-30 양승택 멀티프로세서 시스템
NO312926B1 (no) * 1999-07-20 2002-07-15 Ericsson Telefon Ab L M Kommunikasjon over multimaster buss
WO2001095098A2 (en) * 2000-06-02 2001-12-13 Inrange Technologies Corporation Enhanced channel adapter
US6799317B1 (en) 2000-06-27 2004-09-28 International Business Machines Corporation Interrupt mechanism for shared memory message passing
US7302548B1 (en) * 2002-06-18 2007-11-27 Cisco Technology, Inc. System and method for communicating in a multi-processor environment
US8984199B2 (en) * 2003-07-31 2015-03-17 Intel Corporation Inter-processor interrupts
US7263568B2 (en) * 2004-03-31 2007-08-28 Intel Corporation Interrupt system using event data structures
US7197588B2 (en) * 2004-03-31 2007-03-27 Intel Corporation Interrupt scheme for an Input/Output device
US20060004983A1 (en) * 2004-06-30 2006-01-05 Tsao Gary Y Method, system, and program for managing memory options for devices
US7370174B2 (en) * 2005-01-05 2008-05-06 Intel Corporation Method, system, and program for addressing pages of memory by an I/O device
US7853957B2 (en) * 2005-04-15 2010-12-14 Intel Corporation Doorbell mechanism using protection domains
JP4831599B2 (ja) * 2005-06-28 2011-12-07 ルネサスエレクトロニクス株式会社 処理装置
JP4310709B2 (ja) 2005-10-21 2009-08-12 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置
US7949815B2 (en) * 2006-09-27 2011-05-24 Intel Corporation Virtual heterogeneous channel for message passing
EP1956484B1 (de) * 2007-02-07 2011-10-19 Robert Bosch Gmbh Verwaltungsmodul, Hersteller- und Verbraucherrechner, Anordnung davon und Verfahren zur Kommunikation zwischen Rechnern über einen gemeinsam verwendeten Speicher
US8959446B2 (en) 2008-11-20 2015-02-17 Canon Kabushiki Kaisha Information processing apparatus and method of controlling the same
JP2010250703A (ja) * 2009-04-17 2010-11-04 Canon Inc オペレーティングシステム、プログラム、情報処理装置および制御方法
US11487594B1 (en) 2019-09-24 2022-11-01 Meta Platforms Technologies, Llc Artificial reality system with inter-processor communication (IPC)
US11474970B2 (en) * 2019-09-24 2022-10-18 Meta Platforms Technologies, Llc Artificial reality system with inter-processor communication (IPC)
US11520707B2 (en) 2019-11-15 2022-12-06 Meta Platforms Technologies, Llc System on a chip (SoC) communications to prevent direct memory access (DMA) attacks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4325116A (en) * 1979-08-21 1982-04-13 International Business Machines Corporation Parallel storage access by multiprocessors

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JP 58-56063 A. In: Patents Abstracts of Japan, Sect. P. Vol. 7 (1983), Nr. 142 *
JP 60-237566 A. In: Patents Abstracts of Japan, Sect. P. Vol. 10 (1986), Nr. 106 *
JP 60-84658 A. In: Patents Abstracts of Japan, Sect. P. Vol. 9 (1985), Nr. 227 *

Also Published As

Publication number Publication date
JPH02310664A (ja) 1990-12-26
US5214759A (en) 1993-05-25
DE4016667C2 (de) 1997-11-20

Similar Documents

Publication Publication Date Title
DE4016667A1 (de) Multiprozessoren zur wechselseitigen datenuebertragung durch einen gemeinsamen speicher
DE19636381C1 (de) Bus mit anforderungsabhängiger Anpassung der in beiden Richtungen zur Verfügung stehenden Bandbreite
DE3439302C2 (de)
DE3222389C2 (de)
DE2755897C2 (de)
DE60037174T2 (de) Puffersystem für externen speicherzugriff
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE2410491C2 (de)
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE1285220C2 (de) Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten
DE112010003594B4 (de) Vorrichtung, Verfahren und Computerprogramm zum Betreiben eines verteilten Gruppenspeichernetzes für Schreibvorgänge
DE3134428T1 (de) Cached multiprocessor system with pipeline timing
DE1424732B2 (de) Einrichtung zum gegenseitigen Austausch von Angabenwörtern zwischen einem unmittelbar zugänglichen Hauptspeicher einer Ziffernrechenmaschine und einem an diese angeschlossenen Sekundärspeicher vergleichsweise längerer Zugriffszeit
DE2750721A1 (de) Ein/ausgabe-system
DE2118581A1 (de) Datenverarbeitungssystem
DE3502147C2 (de)
CH634940A5 (en) Channel-adapter arrangement
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE2612139A1 (de) Ein/ausgang-steuerungssystem
EP0006164A1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2856680A1 (de) Befehlspuffer fuer ein datenverarbeitungssystem
DE3338329C2 (de)
DE102006046717B4 (de) Dynamisch migrierende Kanäle
DE2558417C3 (de) Datenverarbeitungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee