[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE68927795T2 - Übertragungssystem mit einem gemeinsamen Speicher - Google Patents

Übertragungssystem mit einem gemeinsamen Speicher

Info

Publication number
DE68927795T2
DE68927795T2 DE68927795T DE68927795T DE68927795T2 DE 68927795 T2 DE68927795 T2 DE 68927795T2 DE 68927795 T DE68927795 T DE 68927795T DE 68927795 T DE68927795 T DE 68927795T DE 68927795 T2 DE68927795 T2 DE 68927795T2
Authority
DE
Germany
Prior art keywords
data
register
interrupt signal
address
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68927795T
Other languages
English (en)
Other versions
DE68927795D1 (de
Inventor
Toshihide Okabe
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE68927795D1 publication Critical patent/DE68927795D1/de
Publication of DE68927795T2 publication Critical patent/DE68927795T2/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

    Hintergrund der Erfindung
  • Die vorliegende Erfindung betrifft ein System für eine Kommunikation zwischen Datenverarbeitungssystemen und zwischen Einheiten, die ein Datenverarbeitungssystem bilden.
  • Mit der kürzlichen Erweiterung der Vielfalt der Datenverarbeitungen wird eine Kommunikation zwischen Datenverarbeitungssystemen oder zwischen Einheiten, die ein Datenverarbeitungssystem bilden, durchgeführt.
  • Eine Kommunikation zwischen Einheiten (Geräten innerhalb des gleichen Systems) oder zwischen benachbarten Systemen kann über einen Speicher bewerkstelligt werden, der gemeinsam von diesen Einheiten verwendet wird.
  • Bei herkömmlichen Systemen wird ein Lesen von Daten unter Anwendung eines zyklischen Abfrageverfahrens durchgeführt. Bei diesem Verfahren hängt die Kommunikationsgeschwindigkeit zwischen den Einheiten von der zyklischen Abfrageperiode ab, welche die Wirksamkeit der Kommunikation durch den gemeinsamen Speicher einschränkt. Es ist daher ein wirksameres Kommunikationsverfahren unter Verwendung eines gemeinsamen Speichers erforderlich. Fig. 1 zeigt ein herkömmliches Kommunikationssystem unter Verwendung eines gemeinsamen Speichers.
  • Gemäß der herkömmlichen gemeinsamen Speicher-Technologie wird ein beschreibbarer und lesbarer Speicher durch eine Vielzahl von Einheiten (z.B. der Einheit A und der Einheit B) 1 mitbenutzt und es wird eine spezielle Bedeutung (beispielsweise ein Befehlsbereich oder ein Datenbereich) einer vorbestimmten Adresse des gemeinsamen Speichers 2 gegeben.
  • Wenn die Einheit A1 beabsichtigt, etwas zu der Einheit B1 zu senden, werden vorbestimmte Daten, wie beispielsweise Befehle in einer vorbestimmten Adresse des gemeinsamen Speichers in der Einheit A1 eingeschrieben.
  • Die Einheit B1 ermöglicht es, daß die Daten periodisch aus der früher definierten Adresse ausgelesen werden, und zwar durch Anwendung eines gut bekannten zyklischen Abfrageverfahrens (polling) und sie erkennt die oben erwähnten Kommunikationsdaten, die von der Einheit A1 gesendet werden.
  • Gemäß dem Kommunikationssystem nach dem oben erwähnten herkömmlichen Verfahren ist es für die Einheit B1 erforderlich, periodisch eine zyklische Abfrage an den gemeinsamen Speicher 2 durchzuführen. Die Kommunikationsgeschwindigkeit hängt von der Abfrageperiode der Einheit B1 ab und kann daher nicht den gewünschten Wert erreichen.
  • Die EP-A-0 304 880, die gemäß Art. 54(3) und (4) EPÜ genannt wurde, offenbart ein Kommunikationssystem, in welchem Sätze von Mailboxen dazu verwendet werden, um Nachrichten zwischen Modulen auszutauschen, wobei jeder Quellenmodul die Fähigkeit hat, zu seiner Mailbox in dem Empfangsmodul einen Zugriff auszuführen und danach den Empfangsmodul zu unterbrechen.
  • Die EP-A-0 201 020 offenbart ein Kommunikationssystem gemäß dem Oberbegriff des anhängenden Anspruches 1. Bei diesem System speichert ein Flipflop den Status einer Mailbox für jede Einheit, so daß das Erfordernis nach einer zyklischen Abfrage (polling) vermindert ist und jede Einheit in einfacher Weise den Status der gesendeten Nachrichten bestimmen kann.
  • Gemäß der vorliegenden Erfindung wird ein Kommunikationssystem geschaffen, bei dem ein gemeinsamer Speicher durch eine Vielzahl von Einheiten verwendet wird, wobei der gemeinsame Speicher eine Vielzahl von Bereichen aufweist, die den jeweiligen Einheiten entsprechen und wobei das Kommunikationssystem folgendes aufweist:
  • eine Einschreibeinrichtung zum Einschreiben von Daten in einer vorbestimmten Adresse des Bereiches des gemeinsamen Speichers, in welchem die Daten gespeichert sind, die von einer ersten einen der Einheiten gesendet wurden,
  • eine Unterbrechungssignal-Erzeugungseinrichtung zum Erzeugen eines Unterbrechungssignals zum Unterbrechen einer zweiten der genannten Einheiten abhängig vom Einschreiben von Daten in den gemeinsamen Speicher, und
  • eine Leseeinrichtung zum Lesen der Daten aus dem vorbestimmten Bereich des gemeinsamen Speichers, der der ersten Einheit entspricht, und zwar basierend auf einem Unterbrechungsprozeß der zweiten Einheit, die das Unterbrechungssignal empfängt, welches durch die Unterbrechungssignal-Erzeugungseinrichtung erzeugt wurde, wodurch eine Kommunikation zwischen der ersten und der zweiten Einheit realisiert werden kann, dadurch gekennzeichnet, daß
  • die Unterbrechungssignal-Erzeugungseinrichtung so ausgebildet ist, um die vorbestimmte Adresse zu decodieren und in Abhängigkeit davon ein Unterbrechungssignal zu erzeugen, welches für jede der ersten Einheit verschieden ist, wobei die Leseeinrichtung auf den vorbestimmten Bereich des gemeinsamen Speichers entsprechend der ersten Einheit zugreift, die in Einklang mit dem Unterbrechungssignal bestimmt ist.
  • Die vorliegende Erfindung kann somit ein Kommunikationssystem schaffen, bei dem die Kommunikationsgeschwindigkeit in einem gemeinsamen Speicher nicht durch die zyklische Abfrageperiode des gemeinsamen Speichers eingeschränkt ist, wenn bei einer Kommunikation zwischen Datenverarbeitungssystemen oder zwischen Einheiten, die ein Datenverarbeitungssystem darstellen, eine zyklische Abfrage durch die Einheit auf der Empfängerseite eingeleitet wird.
  • Es wird anhand eines Beispiels auf die beigefügten Zeichnungen Bezug genommen, in denen:
  • Fig. 1 eine Ansicht zeigt, um das Kommunikationssystem gemäß dem Stand der Technik zu erläutern;
  • Fig. 2 das Prinzip des Kommunikationssystems nach der vorliegenden Erfindung zeigt;
  • Fig. 3 ein Blockschaltbild einer Ausführungsform nach der vorliegenden Erfindung zeigt;
  • Fig. 4 ein Blockschaltbild der vorliegenden Ausführungsform zeigt, bei der eine Speicherzugriffs-Steuereinheit (MAC) mehr in Einzelheiten gezeigt ist;
  • Fig. 5 ein Flußdiagramm einer Unterbrechnungsroutine zeigt, die bei einem Service-Prozessor ausgeführt wird; und
  • Fig. 6 ein Blockschaltbild einer anderen Ausführungsform der vorliegenden Erfindung ist.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform
  • Wie in Fig. 2 gezeigt ist, ist ein Datenverarbeitungssystem mit einer Vielzahl von Einheiten (A, B) 1 und einem gemeinsamen Speicher 2 ausgestattet und es wird ein Unterbrechungssignal 4 von einer Einheit (A) 1 zu einer Einheit (B) 1 entsprechend einem Einschreibvorgang 3 zu einer vorbestimmten Adresse des gemeinsamen Speichers 2 übertragen oder gesendet, und zwar der vorbestimmten Adresse in dem gemeinsamen Speicher entsprechend der Einheit (A). Die Einheit (B) 1 empfängt ein Unterbrechungssignal 4, welches durch die Einheit 22 erzeugt wurde. Sie führt einen Unterbrechungsprozeß durch und liest die Daten in einem vorbestimmten Bereich des gemeinsamen Speichers 2, wobei der vorbestimmte Bereich dem Unterbrechungssignal entspricht, wodurch eine Kommunikation zwischen den Einheiten durchgeführt wird.
  • Die vorliegende Erfindung schafft ein Kommunikationssystem zwischen Datenverarbeitungssystemen und zwischen Einheiten, die ein Datenverarbeitungssystem bilden. Wenn ein Ereignis, welches einer vorbestimmten Einheit mitzuteilen ist (z.B. der Einheit (B)) auftritt und ein Schreibvorgang 3 entsprechend dem Ereignis an der vorbestimmten Adresse des gemeinsamen Speichers eingeleitet wird, und zwar von der Einheit (A) aus, und die Adresse des gemeinsamen Speichers durch einen Adressendecodierer 22 decodiert wurde, erzeugt diese ein Unterbrechungssignal 4 für eine vorbestimmte Einheit (B). Die vorbestimmte Einheit (B) empfängt das Unterbrechungssignal 4, liest die vorbestimmte Adresse entsprechend der Art des Unterbrechungssignals 4, um den Inhalt des Ereignisses zu erkennen. Ein vorbestimmtes Ereignis kann schnell von einer Einheit (A) einer anderen Einheit (B) zur Kenntnis gebracht werden und die Einheit, welche die Mitteilung erhält, braucht keinen zyklischen Abfrageprozeß hinsichtlich des gemeinsamen Speichers 2 anzuwenden. Daher wird die Struktur eines gemeinsamen Steuerprogramms einer Einheit (A, B) zu vereinfacht, wodurch die Verarbeitungsfähigkeit der jeweiligen Einheiten (A, B) vergrößert wird.
  • Fig. 3 zeigt ein Blockschaltbild einer Ausführungsform der vorliegenden Erfindung. Eine Einheit 22 decodiert die Adresse, an der die Daten eingeschrieben sind, wie gezeigt, und zwar durch den Einschreibvorgang 3 in dem gemeinsamen Speicher 2 von den jeweiligen Einheiten (Kommunikationseinheiten A, B, C...) 1 und erzeugt ein Unterbrechungssignal 4 für die vorbestimmte Einheit (D) 1. Diese Einheit 22 ist wichtig bei der Realisierung der vorliegenden Erfindung. Die gleichen Bezugszeichen zeigen die gleichen Elemente in allen Zeichnungen.
  • Ein Kommunikationssystem, welches einen gemeinsamen Speicher gemäß der vorliegenden Erfindung verwendet, soll nun unter Hinweis auf Fig. 3 mehr in Einzelheiten erläutert werden.
  • Die vorliegende Ausführungsform betrifft keine Zweiwege-Kommunikation, sondern eine Einweg-Kommunikation, bei der Daten von den Einheiten (A, B und C) gesendet werden, um die Einheit (D) über ein bestimmtes Ereignis in Kenntnis zu setzen. Bei einer Erweiterung dieses Systems kann eine Kommunikation von einer speziellen Einheit zu einer diskreten Einheit realisiert werden.
  • Wenn ein Ereignis in den Einheiten (A, B und C) auftritt, wird darüber die Einheit (D) 1 in Kenntnis gesetzt. Dann schreiben die jeweiligen Einheiten (A, B und C) den Gegenstandscode beispielsweise an der Adresse, die einen Bereich 21 repräsentiert, entsprechend den jeweiligen Einheiten in den gemeinsamen Speicher 2 ein.
  • Es werden dann drei Arten von Unterbrechungssignalen 4 entsprechend den Einheiten (A, B und C) zur Durchführung eines Einschreibvorganges 3 durch die Adressendecodierschaltung 22a erzeugt und werden zu der Einheit (D) 1 über eine logische Produktschaltung 22b übertragen.
  • Die Einheit (D) 1 liest den Inhalt der Bereiche 21 des gemeinsamen Speichers 2 (nämlich die Bereiche entsprechend den Einheiten (A), (B) und (C)), die früher in Einklang mit drei Arten der Unterbrechungssignale 4 bestimmt wurden, wodurch schnell das oben erwähnte Informationsereignis erkannt wird.
  • Wie oben beschrieben wurde, schafft die vorliegende Erfindung ein System für eine Kommunikation zwischen Datenverarbeitungssystemen und zwischen Einheiten, die ein Datenverarbeitungssystem bilden. Dabei wird, wie durch den Einschreibvorgang 3 gezeigt ist, ein Code eines Ereignisses an einer Adresse eingeschrieben entsprechend den Einheiten (A), (B) und (C) im gemeinsamen Speicher 2, wenn in den jeweiligen Einheiten (A, B und C) ein Ereignis auftritt, wobei dieses Ereignis der anderen Einheit (D) zur Kenntnis gebracht wird. Dann erzeugt das System ein Unterbrechungssignal 4 für die andere Einheit, indem die Einschreibadresse in dem gemeinsamen Speicher 2 decodiert wird und informiert die andere Einheit (D) über das Auftreten des Ereignisses unter Verwendung unterschiedlicher Unterbrechungssignale 4.
  • Wie oben beschrieben wurde, führt das vorliegende Kommunikationssystem eine Kommunikation zwischen Datenverarbeitungssystemen und Einheiten durch, die ein Datenverarbeitungssystem bilden. Eine Einheit erzeugt ein Unterbrechungssignal 4 für eine vorbestimmte Einheit (D) unter Verwendung eines Einschreibvorganges 3 in eine vorbestimmte Adresse eines gemeinsamen Speichers, wobei die Adresse den jeweiligen Einheiten (A, B und C) entspricht. Das durch die Einheit 22 erzeugte Unterbrechungssignal 4 wird für die Einheit (D) 1 über den Unterbrechungsprozeß empfangen, um vorbestimmte Bereichsdaten des gemeinsamen Speichers in Einklang mit dem Unterbrechungssignal 4 zu lesen, wodurch eine Kommunikation zwischen den Einheiten durchgeführt wird. Ein vorbestimmtes Ereignis kann von einer Einheit aus mit hoher Geschwindigkeit einer anderen zur Kenntnis gebracht werden und die die Nachricht erhaltende Einheit braucht keinen zyklischen Abfrageprozeß an dem gemeinsamen Speicher 2 durchzuführen. Dies vereinfacht die Struktur des Steuerprogramms in den jeweiligen Einheiten (A, B, C, D...) 1 und umfaßt eine Verarbeitungsfähigkeit der jeweiligen Einheiten.
  • Eine detaillierte Schaltung einer Speicherzugriffs- Steuereinheit (MAC) 30 eines Kommunikationssystems, welches den gemeinsamen Speicher gemäß der vorliegenden Erfindung verwendet, ist in Fig. 4 gezeigt.
  • Es sind Prozessoren (1), (2), (3) ... (8) 31 mit dem gemeinsamen Speicher 32 über den System-Informationsbus (SIBUS) 33 verbunden, der als ein gemeinsamer Bus verwendet wird. Ein anderer Prozessor entspricht der Einheit D der Fig. 3 und umfaßt einen Service-Prozessor (SVP) 34. Die Ausführungsform, die in Fig. 4 gezeigt ist, umfaßt 8 Prozessoren (1) ... (8) 31 und den SVP 34, der mit diesen kommuniziert, um dadurch ein Kommunikationssteuersystem zu schaffen, unter Verwendung eines gemeinsamen Speichers 32, in welchem eine N gegenüber 1-Kommunikation ausgeführt wird. Die MAC 30 umfaßt ferner Systeminformationsbus-Eingangsregister (SIBIR (0), (1) und (2)) 35 und einen Multiplexer (MPX), ein erstes Befehlsregister (CMD) 36, ein erstes Adressenregister (ADR) 37 und ein erstes Schreibdatenregister (WDR) 38, einen Decodierer 39 und eine Speicher- Steuerlogik-Schaltung (MEM CNTL) 40, ein erstes Lesedatenregister (RDR) 41, ein zweites Lesedatenregister (RDR) 42, ein Unterbrechungsregister (INTR) 43, ein zweites Befehlsregister (CMD) 44, ein zweites Adressenregister (ADR) 45, ein zweites Schreibdaten-Register (WDR) 46 und ein Systeminformationsbus-Ausgangsregister (SIBOR) 47. Die Ausgänge der jeweiligen Informationsbus-Eingangsregister (SIBIR (O),(1) und (2)) 35 sind mit dem Multiplexer (MPX) verbunden. Der Ausgang des Multiplexers (MPX) ist mit dem ersten Befehlsregister (CMD) 36, dem ersten Adressenregisters (ADR) 37 und dem ersten Schreibdatenregister (WDR) 38 verbunden. Der Ausgang des ersten Befehlsregisters (CMD) 36 und das erste Adressenregister (ADR) 37 sind mit dem Decodierer 39 verbunden und der Ausgang des ersten Schreibdatenregisters 38 ist mit dem gemeinsamen Speicher 32 verbunden. Der Ausgang des ersten Adressenregisters 37 ist auch mit einem Gatter (G) verbunden, um das Adressensignal für den gemeinsamen Speicher 32 vorzusehen. Die aus dem gemeinsamen Speicher 32 ausgelesenen Daten werden zunächst in das erste Lesedatenregister (RDR) 41 gesetzt und die Ausgangsgröße des ersten Lesedatenregisters 41 gelangt zu dem zweiten Lesedatenregister (RDR) 42. Ein Unterbrechungssignal, welches durch Decodieren der Ausgangsgröße aus dem ersten Befehlsregister (CMD) 36 und des ersten Adressenregisters (ADR) 37 mit Hilfe des Decodierers 39 erhalten wird, wird in das Unterbrechungsregister (INTR) 43 gesetzt. Der Systeminformationspuffer in dem Register (SIBIR (0), (1) und (2)) 35 ist dafür ausgebildet, drei Arten von Informationen zu enthalten, so daß die Unterschiede in der Zeit zwischen dem 4-Bit-Befehl der 18-Bit-Adresse und den 16-Bit-Schreibdaten aufgefangen werden. Der Multiplexer (MPX) wählt die oben erwähnten drei Arten von Informationen aus. Die ausgewählte Information wird in den jeweiligen Registern 36, 37 und 38 gesetzt, nachdem sie in den 4-Bit-Befehl, die 18- Bit-Adresse und die 16-Bit-Schreibdaten aufgeteilt wurde. Der Decodierer 39 decodiert die Ausgangsgrößen des ersten Befehlsregisters 36 und des ersten Adressenregisters 37, wie oben dargelegt wurde.
  • Das erste Befehlsregister (CMD) 36 empfängt einen Einschreibbefehl und das erste Adressenregister 37 empfängt eine bestimmte Adresse, wodurch ein 8-Bit-Unterbrechungssignal gebildet wird. Das 8-Bit-Unterbrechungssignal entspricht der Anfrage für eine Unterbrechung, die von den Prozessoren (1) ... (8) 31 empfangen wird und das auf diese Weise erhaltene Unterbrechungssignal wird in das Unterbrechungsregister (INTR) 43 gesetzt. Wenn ein Einschreibbefehl durch das erste Befehlsregister (CMD) 36 empfangen wird, führt die Speicher-Steuereinheit (MEM CNTL) 40 eine Einschreibsteuerung des gemeinsamen Speicher 32 durch, indem diese die Einschreibdaten von dem ersten Einschreibregister (WDR) 38 empfängt und die 16-Bit-Einschreibdaten in eine Adresse speichert, die durch das erste Adressenregister (ADR) 37 bezeichnet wird. Die Speicherbereiche entsprechen den jeweiligen Prozessoren (1) ... (8) und die Einschreibdaten werden in einem Bereich gespeichert, der dem Prozessor entspricht, der eine Unterbrechungsoperation anfragt. Das Unterbrechungssignal von dem Decodierer 39 wird in das Unterbrechungsregister 43 gesetzt und wird dem Service-Prozessor 34 angeboten als ein Unterbrechungs-Anfragesignal.
  • Der Service-Prozessor (SVP) 34 empfängt das Unterbrechungssignal und bestimmt, welches der Bits 0 bis 7 in dem Unterbrechungsregister 43 eine 1 ist und setzt eine Unterbrechungsprozeß-Routine in Bereitschaft, so daß die Kommunikationsbereiche des gemeinsamen Speichers 32, die den Prozessoren 1 bis 8 entsprechen, gelesen werden. Daher führt der Service-Prozessor (SVP) 34 eine Lese- und Einschreiboperation hinsichtlich des gemeinsamen Speichers 32 durch. Es wird daher der 4-Bit-Lesebefehl, der von dem Service-Prozessor (SVP) 34 ausgegeben wird, in dem zweiten Befehlsregister (CMD) 44 gespeichert. Dieser 4-Bit-Befehl (CMD) wird der Speicher-Steuereinheit (MEM CNTL) 40 über das erste Befehls-(CMD)-Register 36 angeboten, um eine Leseoperation hinsichtlich des gemeinsamen Speichers 32 auszuführen. Wenn die Daten aus dem Kommunikationsbereich des gemeinsamen Speichers 32 ausgelesen werden, wird die Leseadresse durch den Service-Prozessor (SVP) 34 in Form der 18-Bit-Adressendaten über das zweite Adressenregister (ADR) 45 vorgesehen. Der ausgelesene Inhalt wird dem Service-Prozessor (SVP) 34 über das erste und das zweite Leseregister (RDR) 41 und 42 angeboten. Wenn die Daten in den gemeinsamen Speicher 32 vom Service-Prozessor (SVP) 34 eingeschrieben werden, wird der Einschreibbefehl in dem zweiten Befehlsregister (CMD) 44 gesetzt und die Einschreibdaten werden in das zweite Einschreibregister (WDR) 46 gesetzt, wodurch die Speicher- Steuereinheit (MEM CNTL) 40 gesteuert wird, um eine Einschreiboperation hinsichtlich des gemeinsamen Speichers 32 auszuführen, indem die Einschreibdaten in den gemeinsamen Speicher 32 eingeschrieben werden.
  • Fig. 5 zeigt ein Flußdiagramm einer Unterbrechungsprozess-Routine, die bei dem gemeinsamen Speicher 32 angewendet wird und durch den Service-Prozessor (SVP) 34 bewerkstelligt wird. Wenn ein 8-Bit-Unterbrechungssignal dem Unterbrechungsregister (INTR) 43 angeboten wird, gibt der Service-Prozessor (SVP) 34 eine Unterbrechungsprozeß-Routine für den gemeinsamen Speicher 32 ein und eine Unterbrechungstreiber beginnt mit dem Betrieb (ST1). Als erstes wird bei dem Prozeß das 8-Bit-Unterbrechungssignal aus dem Unterbrechungsregister (INTR) 43 (ST2) ausgelesen und es wird die Prozessornummer spezifiziert (ST3), und zwar unter den Prozessoren (1) bis (8), was davon abhängt, welches der Bits 0 bis 7 gleich 1 ist. Wenn der Prozessor (1) eine Unterbrechungsanfrage zu dem gemeinsamen Speicher 32 sendet, speichert dieser die Daten in dem Bereich, welcher dem Prozessor (1) in dem gemeinsamen Speicher entspricht, und der Service-Prozessor (SVP) 34 führt eine Leseoperation aus, und zwar hinsichtlich des Kommunikationsbereiches in dem gemeinsamen Speicher 32 (ST4), wobei der Kommunikationsbereich dem Prozessor (1) entspricht. Daher setzt der Service-Prozessor (SVP) 34 einen Lesebefehl und eine Leseadresse jeweils in das zweite Befehlsregister (CMD) und das zweite Adressenregister (ADR) 45, um den gemeinsamen Speicher 32 zu lesen und der Inhalt des gemeinsamen Speichers 32 wird zum Service-Prozessor (SVP) 34 ausgelesen. Bei dem Schritt ST5 analysiert der Prozeß den Befehl, der als ein Teil der Daten vorgesehen wird, die von dem Kommunikationsbereich des gemeinsamen Speichers 32 erhalten wurden, wodurch die Daten als eine Nachrichtenübertragung zu einem Auftrag (Task) des Service-Prozessors (SVP) 34 in Einklang mit dem Befehl (ST6) übertragen werden. Wie in Fig. 5 gezeigt ist, enthält der Service-Prozessor (SVP) 34 eine Vielzahl von Aufgabenarten (Tasks) die den jeweiligen Prozessen entsprechen und es werden die Daten zu den jeweiligen Tasks, basierend auf dem Ergebnis der Analyse des Befehls übertragen, und zwar in Einklang mit den Daten, die durch den entsprechenden Prozessor übertragen wurden. Es ist daher, allgemein gesagt, eine N gegen 1-Übertragung zwischen den Prozessoren (1) bis (8) und dem Service-Prozessor (SVP) 34 möglich.
  • Fig. 6 zeigt ein detailliertes Schaltbild des Kommunikationssystems, welches den gemeinsamen Speicher verwendet, und zwar im Falle von N gegen N-Prozessoren. Wie in Fig. 4 gezeigt ist, bezeichnen gleiche Bezugszeichen die gleichen Elemente. Die in Fig. 6 gezeigte Ausführungsform unterscheidet sich von der Ausführungsform nach Fig. 4, die den Fall einer N gegen 1-Kommunikation zeigt, in der folgenden Weise. In der Speicherzugriffs-Steuereinheit (MAC) 30 wird die Ausgangsgröße des Decodierers 39 nämlich das Unterbrechungsanfragesignal von 8 Bits in eine Unterbrechungsregister (INTR) 43 gesetzt. Bei der früheren Ausführungsform nach Fig. 4 wurde der Inhalt des Unterbrechungsregisters (INTR) 43 zu dem Service-Prozessor (SVP) 34 gesendet, der von den Prozessoren (1) bis (8) verschieden ist. Bei der in Fig. 6 gezeigten Ausführungsform wird jedoch der Service- Prozessor (SVP) 34 nicht verwendet und das Unterbrechungssignal wird erneut zu den Prozessoren (1) bis (8) gesendet.
  • Das Unterbrechungsregister (INTR) 43 enthält 8 Bits und die jeweiligen Bits entsprechen den Prozessoren (1) bis (8). Die jeweiligen Prozessoren werden durch das Unterbrechungs-Anfragesignal, welches durch die Prozessoren selbst ausgegeben wurde, nicht angefragt. Daher deckt jeder der jeweiligen Prozessoren (1) bis (8) ein Bit des Unterbrechungssignals ab, das heißt das Bit, welches jedem der jeweiligen Prozessoren (1) bis (8) entspricht. Es unterscheidet sich nämlich der Prozessor, der die Unterbrechungsanfrage ausgibt, von dem Prozessor, der das Unterbrechungssignal empfängt. Es wird somit möglich, eine Kommunikation mit anderen Prozessoren unter Verwendung des Unterbrechungs-Verarbeitungssignals durchzuführen.
  • Die von dem Prozessor (1) über den System-Informationsbus (SIBUS) 33 und das System-Informationspuffer-Eingangsregister (SIBIR 0 bis 2) 35 in den Speicher übertragenen Daten greifen auf die Steuereinheit (MAC) 30 zu. Die Speicherzugriffs-Steuereinheit (MAC) 30 setzt diese Daten jeweils in das 4-Bit-Befehlsregister (CMD) 36, das 18-Bit- Adressenregister (ADR) 37 und das 16-Bit-Einschreibregister (WDR) 38. Der Decodierer 39 decodiert den 4-Bit-Einschreibbefehl in dem Befehlsregister (CMD) 36, um zu bestätigen, daß die Daten den Zweck haben, einen Einschreibvorgang durchzuführen und verwendet den Einschreibbefehl und die durch das Adressenregister (ADR) 37 vorgesehene Adresse dazu, um ein 8-Bit-Unterbrechungssignal zu erzeugen, wodurch dieses in das Unterbrechungsregister (INTR) 431 gesetzt wird. Um in Verbindung mit dem Prozessor (3) beispielsweise eine Unterbrechung durchzuführen, wird der Inhalt des Unterbrechungsregisters (INTR) 431 in solcher Weise vorgesehen, daß das dritte Bit gleich 1 ist und andere Bits 0 sind. Es wird daher das aus dem Unterbrechungsregister (INTR) 431 ausgelesene Signal zu den Prozessoren (1) bis (8) gesendet, da jedoch das Bit, welches dem Prozessor (3) entspricht, gleich ist "1", wird lediglich eine Unterbrechungsanfrage für den Prozessor (3) vorgesehen. Dann führt der Prozessor (3) eine Unterbrechungsprozeß-Routine aus und der Prozessor (3) erzeugt somit einen Lesebefehl für den gemeinsamen Speicher 32 über das Systeminformations-Puffer- Eingangsregister (SIBIR) 35. Es wird somit eine Adresse geliefert für einen Zugriff zu einem Kommunikationsbereich des gemeinsamen Speichers 32. Dieser Bereich entspricht dem Prozessor (1), da das Befehlsregister (CMD) 44 einen LESE- Befehl erzeugt. Die Speicher-Steuereinheit (MEM CNTL) 40 wird gesteuert, um eine Leseoperation auszuführen und die Leseadresse wird über das Leseadressenregister (ADR) 37 geliefert. Es werden dann Daten aus einem Kommunikationsbereich im Lesespeicher 32 entsprechend dem Prozessor (1) ausgelesen. Die Daten werden über das Lesedatenregister (RDR) 41 und das Systeminformationspuffer-Ausgangsregister (SIBOR) 46 auf den Systeminformationsbus (SIBUS) 33 gegeben. Der Systeminformationsbus (SIBUS) 33, der am unteren Bereich der Zeichnung gezeigt ist, ist der gleiche wie derjenige, der in der Zeichnung oben dargestellt ist. Es werden daher die Daten aus dem gemeinsamen Speicher 32 zu dem Prozessor (3) hin ausgelesen. Die aus dem gemeinsamen Speicher 32 ausgelesenen Daten werden durch den Prozessor (1) vorgesehen, wodurch eine Kommunikation von dem Prozessor (1) zu dem Prozessor (3) ermöglicht wird.
  • Wie oben dargelegt wurde, werden gemäß der vorliegenden Erfindung die Daten aus den jeweiligen Prozessoreinheiten in eine vorbestimmte Adresse des gemeinsamen Speichers eingeschrieben und ein Unterbrechungssignal zum Unterbrechen eines vorbestimmten Prozessors wird generiert. Dieses Unterbrechungssignal wird durch eine verschiedene Prozessoreinheit empfangen, wodurch die Daten in einem vorbestimmten Bereich des gemeinsamen Speichers die Möglichkeit erhalten, in Einklang mit dem Unterbrechungsprozeß ausgelesen zu werden und eine Kommunikation zwischen den Einheiten ermöglicht wird.

Claims (8)

1. Kommunikationssystem, bei dem ein gemeinsamer Speicher (2, 32) durch eine Vielzahl von Einheiten (A, B; A, B, C, D; 31, 34) verwendet wird, wobei der gemeinsame Speicher eine Vielzahl von Bereichen aufweist, die den jeweiligen Einheiten entsprechen und wobei das Kommunikationssystem folgendes aufweist:
eine Einschreibeinrichtung zum Einschreiben von Daten an einer vorbestimmten Adresse des Bereiches des gemeinsamen Speichers (2, 32), in welchem die von einer ersten (z.B. A) der Einheiten gesendeten Daten gespeichert werden,
eine Unterbrechungssignal-Erzeugungseinrichtung (22, 39) zum Erzeugen eines Unterbrechungssignals (4) zum Unterbrechen einer zweiten (z.B. D) der Einheiten abhängig vom Einschreiben von Daten in den gemeinsamen Speicher, und
eine Leseeinrichtung zum Lesen der Daten aus dem vorbestimmten Bereich des gemeinsamen Speichers (2, 32), der der ersten Einheit entspricht, und zwar basierend auf einem Unterbrechungsprozeß der zweiten Einheit, die das Unterbrechungssignal (4) empfängt, welches durch die Unterbrechungssignal-Erzeugungseinrichtung (22, 39) erzeugt wurde, wodurch eine Kommunikation zwischen der ersten und der zweiten Einheit durchgeführt werden kann;
dadurch gekennzeichnet, daß
die Unterbrechungssignal-Erzeugungseinrichtung (22, 39) dafür ausgebildet ist, die vorbestimmte Adresse zu decodieren und in Antwort darauf ein Unterbrechungssignal (4) zu erzeugen, welches für jede der ersten Einheiten (A) verschieden ist, wobei die Leseeinrichtung den vorbestimmten Bereich des gemeinsamen Speichers entsprechend der ersten Einheit zugreift, die entsprechend dem Unterbrechungssignal (4) bestimmt wurde.
2. Kommunikationssystem nach Anspruch 1, bei dem die Unterbrechungssignal-Erzeugungseinrichtung (22, 39) einen Decodierer aufweist, um einen Einschreibbefehl und ein Adressensignal zu decodieren, welches von der ersten Einheit übertragen wurde, um das Unterbrechungssignal (4) entsprechend der ersten Einheit vorzusehen.
3. Kommunikationssystem nach Anspruch 2, bei dem der Decodierer einen Adressen-Decodierer (22a) umfaßt, um eine Adresse der Daten zu decodieren, die in den gemeinsamen Speicher einzuschreiben sind, und ein Gatter (22b) umfaßt, um den Einschreibbefehl von der ersten Einheit zu empfangen, um basierend auf den Adressendaten das Unterbrechungssignal (4) zu bilden.
4. Kommunikationssystem nach Anspruch 1, bei dem die zweite Einheit (z.B. D) zum Empfangen des Unterbrechungssignals (4) den Inhalt des Unterbrechungssignals liest und den Kommunikationsbereich des gemeinsamen Speichers (2, 32) bestimmt, welcher der ersten Einheit (z.B. A) entspricht, um die Daten aus dem gemeinsamen Speicher auszulesen, welche den in den ausgelesenen Daten enthaltenen Befehl decodiert und die Daten zu einem Programmteil (Task) entsprechend dem Befehl in der zweiten Einheit sendet.
5. Kommunikationssystem nach Anspruch 1, bei dem die zweite Einheit zum Empfangen des Unterbrechungssignals und zur Durchführung des Unterbrechungsprozesses einen Service- Prozessor (34) aufweist.
6. Kommunikationssystem nach Anspruch 1, bei dem die Vielzahl der Einheiten N erste Prozessoren (31) und einen zweiten Prozessor (34) umfassen,
die Einschreibeinrichtung ein erstes Befehlsregister (36) umfaßt, um einen Befehl von dem ersten Prozessor zu speichern, ein Adressenregister (37) umfaßt, um eine Adresse der Daten zu speichern, die in den gemeinsamen Speicher einzuschreiben sind, und ein Einschreibdaten-Register (38) zum Speichern der Daten umfaßt, die mit den N ersten Prozessoren (31) verbunden sind,
wobei die Unterbrechungssignal-Erzeugungseinrichtung einen Decodierer (39) zum Decodieren der Ausgangsgrößen des ersten Befehlsregisters (36) und ein Adressenregister (37) umfaßt, um das Unterbrechungssignal zu erzeugen und ein Unterbrechungsregister (43) umfaßt, um das Unterbrechungssignal zu speichern, und
wobei die Datenleseeinrichtung ein zweites Befehlsregister (44) aufweist, um einen Befehl von dem zweiten Prozessor zu speichern, und ein Adressenregister (45) aufweist, um eine Adresse von den Daten zu speichern, die aus dem gemeinsamen Speicher ausgelesen wurden, wobei beide Register mit dem gemeinsamen Speicher (32) über das erste Befehlsregister (36) und das Adressenregister (37) verbunden sind, und ein Lesedatenregister (41, 42) aufweist, welches mit dem gemeinsamen Speicher (32) verbunden ist, um die aus dem gemeinsamen Speicher ausgelesenen Daten zu speichern, wobei das zweite Befehlsregister (44), das Adressenregister (45), das Lesedatenregister (41, 42) und das Unterbrechungsregister (43) mit dem zweiten Prozessor (34) verbunden sind, wodurch eine N gegen 1-Kommunikation ausgeführt wird.
7. Kommunikationssystem nach Anspruch 1, bei dem die Vielzahl der Einheiten N-Prozessoren (31) umfassen, von denen einer dazu dient, um mit einem anderen einen der N-Prozessoren zu kommunizieren und der Daten an einer vorbestimmten Adresse des gemeinsamen Speichers (32) einschreibt und ein Unterbrechungssignal zum Unterbrechen eines anderen Prozessors erzeugt, der das Unterbrechungssignal empfängt und der Daten aus dem Kommunikationsbereich des gemeinsamen Speichers ausliest, welcher dem einen Prozessor entspricht, und zwar basierend auf dem Unterbrechungssignal und der dann ein Bit in dem Unterbrechungssignal, welches ihm selbst entspricht, abdeckt, wodurch eine N gegenüber N- Kommunikation durchgeführt wird.
8. Kommunikationssystem nach Anspruch 7, bei dem die Einschreibeinrichtung ein Befehlsregister (36) zum Speichern eines Befehls von einem Prozessor (31) umfaßt, ferner ein Adressenregister (37) zum Speichern einer Adresse der Daten, die in den gemeinsamen Speicher (32) durch den einen Prozessor einzuschreiben sind, und ein Einschreibdatenregister (38) umfaßt, um die Daten zu speichern,
wobei die Unterbrechungssignal-Erzeugungseinrichtung einen Decodierer (39) aufweist, um die Ausgangsgrößen des Befehlsregisters (36) und des Adressenregisters (37) zu decodieren, um das Unterbrechungssignal zu erzeugen, und ein Unterbrechungsregister (43) umfaßt, um das Unterbrechungssignal zu speichern, und
wobei die Leseeinrichtung ein Lesedatenregister (41) umfaßt, um die in Einklang mit einem in dem Befehlsregister (36) gespeicherten Lesebefehl und einer in dem Adressenregister (37) gespeicherten und dem einen Prozessor entsprechenden Leseadresse aus dem gemeinsamen Speicher (32) ausgelesenen Daten zu speichern.
DE68927795T 1988-11-09 1989-11-09 Übertragungssystem mit einem gemeinsamen Speicher Expired - Fee Related DE68927795T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63282805A JPH02128267A (ja) 1988-11-09 1988-11-09 共有メモリによる通信方式

Publications (2)

Publication Number Publication Date
DE68927795D1 DE68927795D1 (de) 1997-04-03
DE68927795T2 true DE68927795T2 (de) 1997-06-12

Family

ID=17657318

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68927795T Expired - Fee Related DE68927795T2 (de) 1988-11-09 1989-11-09 Übertragungssystem mit einem gemeinsamen Speicher

Country Status (5)

Country Link
US (1) US5375219A (de)
EP (1) EP0368655B1 (de)
JP (1) JPH02128267A (de)
AU (1) AU623192B2 (de)
DE (1) DE68927795T2 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491799A (en) * 1992-01-02 1996-02-13 Amdahl Corporation Communication interface for uniform communication among hardware and software units of a computer system
DE69316559T2 (de) * 1992-12-03 1998-09-10 Advanced Micro Devices Inc Servoregelkreissteuerung
EP0640929A3 (de) * 1993-08-30 1995-11-29 Advanced Micro Devices Inc Zwischenprozessorkommunikation durch RAM-Postamt.
FI94190C (fi) * 1993-10-13 1995-07-25 Nokia Telecommunications Oy Menetelmä ja järjestelmä tiedon siirtämiseksi prosessorien välillä
US5935220A (en) * 1996-08-09 1999-08-10 Motorola Inc. Apparatus and method for high speed data and command transfer over an interface
US5884055A (en) * 1996-11-27 1999-03-16 Emc Corporation Method and apparatus including a shared resource and multiple processors running a common control program accessing the shared resource
US6065139A (en) * 1997-03-31 2000-05-16 International Business Machines Corporation Method and system for surveillance of computer system operations
US5951686A (en) * 1997-03-31 1999-09-14 International Business Machines Corporation Method and system for reboot recovery
US6502208B1 (en) 1997-03-31 2002-12-31 International Business Machines Corporation Method and system for check stop error handling
US6557121B1 (en) 1997-03-31 2003-04-29 International Business Machines Corporation Method and system for fault isolation for PCI bus errors
US6119246A (en) * 1997-03-31 2000-09-12 International Business Machines Corporation Error collection coordination for software-readable and non-software readable fault isolation registers in a computer system
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US7233977B2 (en) * 1998-12-18 2007-06-19 Emc Corporation Messaging mechanism employing mailboxes for inter processor communications
US6931643B2 (en) * 2000-04-03 2005-08-16 Texas Instruments Incorporated Interrupt throttling for inter-processor communications
US20020073241A1 (en) * 2000-08-24 2002-06-13 Spx Corporation Global signaling memory
JP3610915B2 (ja) * 2001-03-19 2005-01-19 株式会社デンソー 処理実行装置及びプログラム
DE602004007489D1 (de) * 2004-05-11 2007-08-23 Sgs Thomson Microelectronics Unterbrechungsbehandlungssystem
JP4818820B2 (ja) * 2006-06-07 2011-11-16 ルネサスエレクトロニクス株式会社 バスシステムおよびバススレーブならびにバス制御方法
JP4410270B2 (ja) * 2007-04-17 2010-02-03 株式会社東芝 バス制御装置
JP4691153B2 (ja) * 2008-12-10 2011-06-01 富士通株式会社 マルチコアプロセッサ,制御方法および情報処理装置
US9747225B2 (en) * 2015-05-05 2017-08-29 Microsoft Technology Licensing, Llc Interrupt controller

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3728693A (en) * 1972-04-28 1973-04-17 Burroughs Corp Programmatically controlled interrupt system for controlling input/output operations in a digital computer
US4420806A (en) * 1981-01-15 1983-12-13 Harris Corporation Interrupt coupling and monitoring system
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US4453211A (en) * 1981-04-28 1984-06-05 Formation, Inc. System bus for an emulated multichannel system
GB2123189B (en) * 1982-06-05 1987-06-10 British Aerospace Communication between computers
JPS5975350A (ja) * 1982-10-25 1984-04-28 Sumitomo Electric Ind Ltd マルチプロセツサシステムにおけるメモリ管理方法
US4504906A (en) * 1982-11-30 1985-03-12 Anritsu Electric Company Limited Multiprocessor system
DE3328861A1 (de) * 1983-08-10 1985-02-28 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung fuer fernmeldevermittlungsanlagen, insbesondere fernsprechvermittlungsanlagen, mit speichern und ihnen individuell zugeordneten speicherablaufsteuerungen
CA1229421A (en) * 1984-06-08 1987-11-17 American Telephone And Telegraph Company Shared memory multiprocessor system
US4967342A (en) * 1984-08-17 1990-10-30 Lent Robert S Data processing system having plurality of processors and channels controlled by plurality of system control programs through interrupt routing
IT1184553B (it) * 1985-05-07 1987-10-28 Honeywell Inf Systems Architettura di sistema a piu' processori
JPH07104841B2 (ja) * 1986-07-24 1995-11-13 株式会社日立製作所 多重処理システムの割込み制御方法
US4785394A (en) * 1986-09-19 1988-11-15 Datapoint Corporation Fair arbitration technique for a split transaction bus in a multiprocessor computer system
US4783730A (en) * 1986-09-19 1988-11-08 Datapoint Corporation Input/output control technique utilizing multilevel memory structure for processor and I/O communication
US5142683A (en) * 1987-03-09 1992-08-25 Unisys Corporation Intercomputer communication control apparatus and method
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US4858101A (en) * 1987-08-26 1989-08-15 Allen-Bradley Company, Inc. Programmable controller with parallel processors

Also Published As

Publication number Publication date
JPH02128267A (ja) 1990-05-16
DE68927795D1 (de) 1997-04-03
AU623192B2 (en) 1992-05-07
AU4448889A (en) 1990-05-17
EP0368655A2 (de) 1990-05-16
EP0368655B1 (de) 1997-02-26
US5375219A (en) 1994-12-20
EP0368655A3 (de) 1991-11-27

Similar Documents

Publication Publication Date Title
DE68927795T2 (de) Übertragungssystem mit einem gemeinsamen Speicher
DE3909948C2 (de)
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
CH656728A5 (de) Schnittstellenschaltungsanordnung zur verbindung eines prozessors mit einem nachrichtenkanal.
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE2455803A1 (de) Mehrprozessor-datenverarbeitungsanlage
DE3650249T2 (de) Hochkapazitätsspeicher für Multiprozessorsystem.
EP0252911B1 (de) Programmierbare schaltung zur steuerung einer flüssigkristallanzeige
DE3885780T2 (de) Adressierung in einer Computer-Anordnung.
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE69229423T2 (de) Datenübertragungssystem
DE1774052B1 (de) Rechner
DE3783061T2 (de) Datenverarbeitungssystem mit veraenderbarer ein/ausgabe-prioritaetswahl.
DE69033412T2 (de) Datenübertragungssteuervorrichtung für Parallelverarbeitungssysteme
DE3618136A1 (de) Abwechselnd adressierte halbleiterspeichergruppe
DE2912073C2 (de)
DE69033416T2 (de) Hauptspeicherkarten mit Einzelbit-Setz- und Rücksetz-Funktion
DE602004008712T2 (de) Speicherbandbreiten-Steuereinrichtung
DE3786225T2 (de) Bildbehandlungsvorrichtung.
EP0185260A2 (de) Schnittstelle für direkten Nachrichtenaustausch
DE3586789T2 (de) Mikrocomputer mit wenigstens einer ein-/ausgabeeinheit.
DE69230528T2 (de) Vorrichtung und verfahren für schnelle e/a-übertragung
DE2142374A1 (de) Datenverarbeitungseinnchtung
DE69213413T2 (de) Zwischenprozessor-Kommunikationsystem und Verfahren für Mehrprozessorschaltkreis

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee