DE69129841T2 - Nachrichtensteuerungssystem in einem datenkommunikationssystem - Google Patents
Nachrichtensteuerungssystem in einem datenkommunikationssystemInfo
- Publication number
- DE69129841T2 DE69129841T2 DE69129841T DE69129841T DE69129841T2 DE 69129841 T2 DE69129841 T2 DE 69129841T2 DE 69129841 T DE69129841 T DE 69129841T DE 69129841 T DE69129841 T DE 69129841T DE 69129841 T2 DE69129841 T2 DE 69129841T2
- Authority
- DE
- Germany
- Prior art keywords
- message
- port
- descriptor
- unit
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000006854 communication Effects 0.000 title claims description 72
- 238000004891 communication Methods 0.000 title claims description 62
- 230000005540 biological transmission Effects 0.000 claims description 166
- 238000012545 processing Methods 0.000 claims description 129
- 239000000872 buffer Substances 0.000 claims description 98
- 238000000034 method Methods 0.000 claims description 77
- 230000008569 process Effects 0.000 claims description 74
- 230000005856 abnormality Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 9
- 230000001427 coherent effect Effects 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims 2
- 230000007704 transition Effects 0.000 description 45
- 238000010586 diagram Methods 0.000 description 29
- 230000004044 response Effects 0.000 description 27
- 230000009977 dual effect Effects 0.000 description 19
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 101100108953 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ANY1 gene Proteins 0.000 description 10
- 230000004913 activation Effects 0.000 description 6
- DOIRQSBPFJWKBE-UHFFFAOYSA-N dibutyl phthalate Chemical compound CCCCOC(=O)C1=CC=CC=C1C(=O)OCCCC DOIRQSBPFJWKBE-UHFFFAOYSA-N 0.000 description 6
- 238000002360 preparation method Methods 0.000 description 6
- 101100372898 Caenorhabditis elegans vha-5 gene Proteins 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 101100132483 Arabidopsis thaliana NAC073 gene Proteins 0.000 description 4
- YDHLFEDLDMJXIP-UHFFFAOYSA-N SPOPS Chemical compound SPOPS YDHLFEDLDMJXIP-UHFFFAOYSA-N 0.000 description 4
- 101100333566 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ENV10 gene Proteins 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000000819 phase cycle Methods 0.000 description 3
- 101100239715 Arabidopsis thaliana NAC010 gene Proteins 0.000 description 2
- 101000617805 Homo sapiens Staphylococcal nuclease domain-containing protein 1 Proteins 0.000 description 2
- 101100190359 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PHO88 gene Proteins 0.000 description 2
- 102100021996 Staphylococcal nuclease domain-containing protein 1 Human genes 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
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 vorliegende Erfindung betrifft im allgemeinen Meldungssteuersysteme für Datenkommunikationssysteme, und im besonderen ein System zum Steuern von Meldungen zwischen einer Vielzahl von Prozessormodulen, die ein lose gekoppeltes Multiprozessor-(LCMP)-System bilden.
- In Datenkommunikationssystemen besteht einer der wichtigsten Faktoren darin, ein zuverlässiges System mit einem hohen Verarbeitungsvermögen zu realisieren. Um dieser Anforderung gerecht zu werden, sind in letzter Zeit Multiprozessorsysteme verwendet worden. Eine der Systemkonfigurationen des Multiprozessorsystems ist das lose gekoppelte Multiprozessor-(LCMP)-System, in dem eine Vielzahl von unabhängigen Computern durch Adapter von Kanal zu Kanal und dergleichen gekoppelt sind, um durch einen beliebigen der Computer eine Jobeingabe und -ausführung zu ermöglichen.
- Wenn eine Meldungskommunikation in dem lose gekoppelten Multiprozessorsystem implementiert wird, ist es erforderlich, eine Meldungskommunikation zu realisieren, die auf der Sendeseite initiiert wird, und die verschiedenen Anforderungen für Steuerungszwecke angemessen zu bewältigen, die während der Kommunikation durch die Datenverarbeitungsfunktion ausgegeben werden. Zusätzlich ist es erforderlich, ein Meldungssteuersystem zu realisieren, das logische Verbindungen einfach aufbauen und lösen kann.
- Als Datenkommunikationssystem mit einer Mikroprozessorstruktur fand herkömmlicherweise ein fest gekoppeltes Multiprozessor-(TCMP)-System breite Verwendung, das eine Systemkonf iguration hat, bei der eine Vielzahl von Mikroprozessoren eine einzelne Speichervorrichtung gemeinsam nutzt. Jedoch wird in letzter Zeit das lose gekoppelte Multiprozessorsystem bevorzugt, in dem jeder Prozessor seine eigene Speichervorrichtung hat, um die Systemleistung zu verbessern, wenn die Anzahl von Prozessormodulen erhöht wird.
- Gemäß dem lose gekoppelten Multiprozessorsystem werden Mehrzweckpuffer, die dieselbe Konstruktion haben, für die Puffer verwendet, die auf der Sendeseite und der Empfangsseite als Meldungsspeicherzonen vorgesehen sind, und die Meldungsübertragung erfolgt zwischen diesen Mehrzweckpuffern.
- Wenn jedoch die Meldungskommunikation unter Verwendung solcher Mehrzweckpuffer erfolgt, kann die Meldung, die Gegenstand der Kommunikation ist, in dem Mehrzweckpuffer nicht auf einmal gespeichert werden, falls der Umfang dieser Meldung groß ist, und aus diesem Grund ist es erforderlich, die Meldung in Teilen zu übertragen.
- Wenn die Meldungskommunikation gemäß diesem Verfahren ausgeführt wird, muß die Meldung, die Gegenstand der Übertragung ist, in dem Prozessormodul der Sendeseite von der ursprünglichen Speicherposition auf den Mehrzweckpuffer expandiert werden. Zusätzlich ist es im Prozessormodul der Empfangsseite erforderlich, die Meldung, die im Mehrzweckpuffer empfangen wird, auf die gewünschte Speicherposition zu expandieren. Aus diesem Grund erfordert es herkömmlicherweise zu viel Zeit, um den Meldungssende- und -empfangsprozeß auszuführen, falls der Umfang der Meldung groß ist.
- Deshalb hatte das herkömmliche Meldungssteuersystem für das lose gekoppelte Multiprozessorsystem das Problem, daß es unmöglich war, eine Datenverarbeitung rasch auszuführen, bei der ein großer Meldungsumfang zu senden und zu empfangen war.
- Die vorliegende Erfindung berücksichtigt den obigen Hintergrund, und es ist eine Aufgabe der Erfindung, ein Meldungssteuersystem für ein Datenkommunikationssystem vorzusehen, bei dem die lose gekoppelten Prozessormodule verwendet werden und das obige Problem eliminiert wird, indem es ermöglicht wird, die Meldungskommunikation auszuführen, ohne daß die Strukturen des Puffers zwischen den Sende- und Empfangsseiten übereinstimmen müssen.
- JP-A-1-216651 schlägt ein Meldungskommunikationssystem vor, bei dem eine Meldung übertragen wird, ohne auf der Empfangsseite eine Speicherstelle bestimmen zu müssen, falls die Länge der Meldung kleiner als eine vorbestimmte Länge ist, in welchem Fall die Meldung nach der Übertragung auf der Empfangsseite gespeichert wird. Falls die Länge der Meldung andererseits größer als die vorbestimmte Länge ist oder dieser gleich ist, wird die Speicherstelle vor der Meldungsübertragung bestimmt, und die Meldung wird direkt zu der Speicherstelle übertragen. Daher wird das Übertragungsziel gemäß diesem Stand der Technik durch die Länge der Meldung bestimmt.
- JP-A-57-8828 schlägt ein Kommunikationssystem zum Durchführen einer Kommunikation zwischen Computersystemen vor. Eine Anzahl k von Computersystemen wird über einen schleifenförmigen Kanal verbunden. Um die Kommunikation zwischen allen k Computersystemen zu ermöglichen, sind k-1 Sendesubkanäle und k-1 Empfangssubkanäle vorgesehen.
- JP-A-61-183762 schlägt ein Kommunikationssystem vor, das konstruiert ist, um eine Vielzahl von separaten Daten als Einzelabschnitt zu senden, indem der Inhalt eines Warteschlangenzeigerteils berücksichtigt wird und auf der Basis einer Vielzahl von Kanalprogrammen Daten gesendet werden, die in jeweiligen Sendepufferteilen vorbereitet werden.
- JP-A-55-37642 schlägt ein Kommunikationssystem vor, bei dem ein Befehl (ACT), der einen Zielprozessor angibt, und ein Befehl (WAIT), der einen Speicherbereich für Informatio nen bezüglich eines Quellenprozessors angibt, in einem Speicher gespeichert werden. Wenn der ACT-Befehl ausgeführt wird, wird der WAIT-Befehl gestartet, um zwischen Prozessoren eine Datenübertragung durchzuführen. Gemäß diesem Dokument wird der WAIT-Befehl durch einen ACT-Befehl von irgendeinem Prozessor gestartet.
- JP-A-59-178049 schlägt ein Datenübertragungssteuersystem vor, das auf Computer anzuwenden ist, die über ein Paketvermittlungsnetz verbunden sind. Vor einer Paketdatenübertragung werden Paketlangeninformationen gesendet, so daß ein Datenpuffer auf der Empfangsseite vorbereitet werden kann.
- Gemäß der vorliegenden Erfindung ist ein Meldungssteuersystem für ein Datenkommunikationssystem vorgesehen, bei dem eine Systemstruktur verwendet wird, bei der eine Vielzahl von Prozessormodulen über einen Systembus miteinander verbunden ist, welches Meldungssteuersystem ein Prozessormodul hat, das eine zentrale Verarbeitungseinheit enthält, eine Speichereinheit, auf die nur durch die zentrale Verarbeitungseinheit zugegriffen werden kann, und eine Verbindungseinheit, die eine Schnittstelle zwischen der Speichereinheit und dem Systembus bildet, bei dem die Speichereinheit des Prozessormoduls enthält: einen Datenverarbeitungsteil, der Software ist, die auf der zentralen Verarbeitungseinheit läuft, einen Puffer, der eine Speicherzone bildet und in dem eine sendemeldung zerlegt und gespeichert wird, und einen Deskriptor, der Adressen- und Datenlängeninformationen der Speicherzone für eine Meldung verwaltet; und die Verbindungseinheit des Prozessormoduls wenigstens eines der folgenden Elemente enthält: einen Sendeport, der die Meldung aus dem Puffer auf der Basis der Informationen des Deskriptors sukzessive liest und dieselbe als zusammenhängende Meldung sendet, und einen Empfangsport, der eine zu ihm gesendete Meldung empfängt und dann in seinem eigenen Prozessormodul speichert, auf der Basis der Informationen des Deskriptors, bei dem eine Meldung von einem Prozessormodul auf einer Sendeseite zu einem Prozessormodul auf der Empfangsseite als Ziel übertragen werden kann; dadurch gekennzeichnet, daß der Deskriptor die Form einer Kette hat, mit Einträgen, die Adresseninformationen und Größeninformationen des Puffers in der Speichereinheit beschreiben, und daß die Verbindungseinheit in ersten und zweiten Kommunikationsmodi betriebsfähig ist, wobei in dem ersten Modus jede Meldung in dem Puffer, der durch einen Eintrag des Deskriptors spezifiziert ist, als eine Übertragungseinheit behandelt wird und zu dem Prozessormodul am Ziel gesendet wird, und in dem zweiten Modus die Meldungen insgesamt in dem Puffer, der durch alle Einträge spezifiziert ist, die durch eine Deskriptorkette verbunden sind, als eine Übertragungseinheit behandelt werden und direkt zu dem Puffer des Prozessormoduls am Ziel übertragen werden, indem im voraus zwischen dem Prozessormodul der Sendeseite und dem Prozessormodul der Empfangsseite eine Vereinbarung getroffen wird.
- Im zweiten Modus kann der logische Sendeport den Puffer auf der Basis der Informationen des Deskriptors sukzessive auslesen, um die Meldung als zusammenhängende Meldung zu senden. Der logische Empfangsport empfängt die Meldung und speichert die empfangene Meldung in der Reihenfolge in dem Puffer.
- Auf diese Weise ist es möglich, die Meldung in dem Puffer in einer Form zu speichern, die für jedes individuelle Prozessormodul geeignet ist, indem der Deskriptor erzeugt wird, ohne durch die Größe des Puffers, der für das Senden und Empfangen der Meldung verwendet wird, eingegrenzt zu sein. Aus diesem Grund ist es möglich, eine große Meldungsmenge mit kleinem Aufwand auf einmal zu übertragen. Daher ist es möglich, eine Datenverarbeitung, die eine große Meldungsmenge beim Senden und Empfangen erfordert, rasch auszuführen.
- Zusätzlich enthalten Ausführungsformen der vorliegenden Erfindung in der Verbindungseinheit ein Abnormitätsdetektionsmittel, zum Detektieren, ob hinsichtlich der gesendeten Meldung eine Abnormität vorliegt oder nicht, wenn der Empfangsport (auch als logischer Empfangsport bezeichnet) den Meldungsempfang vollendet, indem detektiert wird, ob die Meldungsmenge, die bis zu jenem Punkt empfangen wurde, mit der Meldungslänge übereinstimmt oder nicht, die von einem Prozessormodul der Sendeseite mitgeteilt wurde.
- Gemäß diesen Ausführungsformen kann, wenn die Abnormität bei dem Prozessormodul auf der Sendeseite oder auf dem Systembus vorliegt, die Abnormitätsdetektion in einem Prozessormodul der Empfangsseite erfolgen, und so ist es möglich, bei dem Prozessormodul der Empfangsseite unerwünschte Auswirkungen auf Grund der Entstehung der Abnormität zu verhindern.
- Als Beispiel wird nun Bezug auf die beiliegenden Zeichnungen genommen, in denen:-
- FIG. 1 ein Strukturdiagramm des Prinzips der vorliegenden Erfindung ist;
- FIG. 2 ein Ablaufdiagramm zum Erläutern der Funktionen von FIG. 1 ist;
- FIG. 3 ein Diagramm der Systemstruktur eines Multiprozessorsystems ist, auf das die vorliegende Erfindung angewendet wird;
- FIG. 4 ein Strukturdiagramm eines Prozessormoduls ist;
- FIG. 5 ein Strukturdiagramm einer Ausführungsform einer Verbindungseinheit ist;
- FIG. 6 ein Operationszustandsübergangsdiagramm von Eingangs- und Ausgangssignalen in einer Ausführungsform eines physikalischen Sendeports ist;
- FIG. 7 ein Operationszustandsübergangsdiagramm von Eingangs- und Ausgangssignalen in einer Ausführungsform eines physikalischen Empfangsports ist;
- FIG. 8 ein erläuterndes Diagramm von Eingangs- und Ausgangssignalen einer Speicherzugriffssteuereinheit ist;
- FIG. 9 ein Strukturdiagramm einer Ausführungsform einer Hauptablaufsteuereinheit ist;
- FIG. 10 ein Diagramm ist, das eine Ausführungsform eines Deskriptors zeigt;
- FIG. 11 ein Diagramm ist, das eine Ausführungsform von Verwaltungsdaten eines Eintrags des Deskriptors zeigt;
- FIG. 12 ein Diagramm ist, das ein Beispiel von Daten zeigt, die in ein Steuerregister eines logischen Sendeports geschrieben sind;
- FIG. 13 ein Diagramm ist, das ein Beispiel von Daten zeigt, die in ein Steuerregister eines logischen Empfangsports geschrieben sind;
- FIG. 14 ein Diagramm ist, das ein Beispiel zur Verwendung eines Deskriptors eines Datenverarbeitungsteils der Verarbeitungseinheit zeigt;
- FIG. 15A bis FIG. 15C Diagramme zum Erläutern einer Meldungskommunikation in einem SPECIFIC-Modus sind;
- FIG. 16 ein erläuterndes Diagramm einer Meldungsblockübertragung in einem ANY-Modus ist;
- FIG. 17 ein erläuterndes Diagramm einer Meldungsblockübertragung in dem SPECIFIC-Modus ist;
- FIG. 18 ein erläuterndes Diagramm eines Schaltprozesses eines physikalischen Sendeports ist;
- FIG. 19 ein Diagramm ist, das ein Beispiel eines Datenformats eines Meldungsblocks auf einem Systembus zeigt;
- FIG. 20 ein Diagramm ist, das ein Beispiel eines Datenformats eines Statusblocks auf dem Systembus zeigt;
- FIG. 21 ein erläuterndes Diagramm eines Verteilungsprozesses eines physikalischen Empfangsports ist;
- FIG. 22 ein Zustandsübergangsdiagramm einer Ausführungsform eines logischen Sendeports ist; und
- FIG. 23 ein Zustandsübergangsdiagramm einer Ausführungsform eines logischen Empfangsports ist.
- In FIG. 1, die das Strukturdiagramm des Prinzips der vorliegenden Erfindung ist, ist eine Vielzahl von Prozessormodulen 10 über einen Systembus 20 miteinander verbunden und bildet das oben beschriebene lose gekoppelte Multiprozessorsystem. FIG. 1 zeigt einen Fall, wenn die Meldung von dem Prozessormodul 10 auf der linken Seite zu dem Prozessormodul 10 auf der rechten Seite übertragen wird. Jedes Prozessormodul 10 enthält eine zentrale Verarbeitungseinheit 11, eine Speichereinheit 12, auf die nur durch diese zentrale Verarbeitungseinheit 11 zugegriffen werden kann, und eine Verbindungseinheit 13, die vorgesehen ist, um Kommunikationsprozesse mit anderen Prozessormodulen 10 zu verwalten.
- Die Speichereinheit 12 enthält eine Datenverarbeitungseinheit 14, einen Deskriptor 15, einen Puffer mit beliebiger Form 16 und dergleichen.
- Der Datenverarbeitungsteil 14 ist durch Software gebildet, die in der Speichereinheit 12 expandiert wird und auf der zentralen Verarbeitungseinheit 11 läuft. Der Datenverarbeitungsteil 14 führt eine vorbestimmte Datenverarbeitung aus, die von Dateninformationen abhängt, die durch die Meldungskommunikation zwischen anderen Prozessormodulen 10 ausgetauscht werden. Der Deskriptor 15 verwaltet die Anordnungsadressen- und die Datenlängeninformationen des Puffers mit beliebiger Form 16 in der Form einer Kette.
- Die Verbindungseinheit 13 enthält einen logischen Sendeport 17, einen logischen Empfangsport 18, ein Abnormitätsdetektionsmittel 19 und dergleichen. Einer oder eine Vielzahl von logischen Sendeports 17 sind bezüglich der Verbindungseinheit 13 vorgesehen. Der logische Sendeport 17 ist als Kommunikationsport für den Datenverarbeitungsteil 14 vorgesehen und liest sukzessive die Meldung, die in der Speichereinheit 12 expandiert wird, um dieselbe zu dem Prozessormodul 10 der Empfangsseite zu senden.
- Einer oder mehrere logische Empfangsports 18 sind bezüglich der Verbindungseinheit 13 vorgesehen. Der logische Empfangsport 18 empfängt die Meldung, die von anderen Prozessormodulen 10 gesendet wurde, und speichert die empfangene Meldung in der Speichereinheit 12. Das Abnormitätsdetektionsmittel 19 detektiert, ob bei der Meldungskommunikation eine Abnormität entstanden ist, in Abhängigkeit von der Meldungsmenge, die im logischen Empfangsport 18 empfangen wurde.
- Als nächstes erfolgt unter Bezugnahme auf ein Operationsablaufdiagramm von FIG. 2 eine Beschreibung der Auswirkungen der vorliegenden Erfindung, die in dem Strukturdiagramm von FIG. 1 gezeigt ist, welches das Prinzip darstellt. Wenn es erforderlich ist, einen Sendeprozeß zum Beispiel für eine große Meldungsmenge auszuführen, erzeugt zuerst der Datenverarbeitungsteil 14 des Prozessormoduls 10 der Sendeseite den Deskriptor 15 in der Form der Kette, indem auf Zoneninformationen der Speicherzone verwiesen wird, die die große Meldungsmenge speichert, die bei dem Sendeablauf Gegenstand des Sendens ist (Schritt 21). Als nächstes teilt der Datenverarbeitungsteil 14 des Prozessormoduls 10 der Sendeseite Meldungslängeninformationen der Meldung mit, die hinsichtlich des Prozessormoduls 10 der Empfangsseite zu übertragen ist, der das Sendeziel der Meldung darstellt (Schritt 22).
- Als Reaktion auf diese Mitteilung bereitet der Datenverarbeitungsteil 14 des Prozessormoduls 10 der Empfangsseite innerhalb der Speichereinheit 12 seines eigenen Prozessormoduls 10 den Puffer mit beliebiger Form 16 vor, der der Meldungslänge entspricht, und er erzeugt den Deskriptor in der Form einer Kette, indem auf die Zoneninformationen des Puffers mit beliebiger Form 16 bei der Speicherreihenfolge verwiesen wird (Schritt 23). Zusätzlich macht das Prozessormodul der Empfangsseite eine Vollzugsmitteilung der Erzeugung und Aktivierung des Deskriptors 15 bezüglich des Prozessormoduls der Sendeseite (Schritt 23a).
- Als nächstes fordert der Datenverarbeitungsteil 14 des Prozessormoduls 10 der Sendeseite das Hinzufügen eines Kennzeichens an, das die Verwendung des vorbereiteten Puffers mit beliebiger Form 16 spezifiziert, und er gibt eine Meldungssendeanforderung aus (Schritt 24). Als Reaktion auf diese Anforderung liest der logische Sendeport 17 des Prozessormoduls 10 der Sendeseite die Meldung aus dem Puffer mit beliebiger Form 16 gemäß der Verweisreihenfolge des Deskriptors 15 seines eigenen Prozessormoduls und fügt das Kennzeichen hinzu, das die Verwendung des Puffers mit beliebiger Form 16 spezifiziert (Schritt 25), und sendet danach dieselbe zu anderen Prozessormodulen 10 (Schritt 26).
- Wenn der logische Empfangsport 18 des Prozessormoduls der Empfangsseite detektiert, daß er als Meldungsziel spezifiziert ist, daß zu der Meldung das Kennzeichen hinzugefügt ist, welches den Puffer mit beliebiger Form 16 verwendet, und daß die Sendequelle das Prozessormodul 10 ist, der die Formierung des Puffers mit beliebigerform 16 angab, empfängt der logische Empfangsport 18 die Meldung und speichert sie in dem Puffer mit beliebiger Form 16 innerhalb seines eigenen Prozessormoduls, während er auf den Deskriptor 15 seines eigenen Prozessormoduls Bezug nimmt (Schritt 27).
- Das Abnormitätsdetektionsmittel 19 des Prozessormoduls der Empfangsseite detektiert, ob eine Abnormität der Meldungskommunikation vorliegt oder nicht, indem es detektiert, ob die empfangene Meldungsmenge mit der Meldungslänge übereinstimmt, die bei Erzeugung des Deskriptors 15 mitgeteilt wurde, wenn der Empfangsprozeß des logischen Empfangsports 18 vollendet ist (Schritt 28), und teilt dieses Resultat dem Datenverarbeitungsteil 14 seines eigenen Prozessormoduls mit. Hiermit endet der Empfangsprozeß.
- Deshalb kann in dem System von FIG. 1 ein Puffer mit einer Form, die für die Datenverarbeitung geeignet ist, für den Puffer 16 verwendet werden, der für den Meldungsaustausch eingesetzt wird, indem der Deskriptor 15 erzeugt wird. Aus diesem Grund kann das Prozessormodul 10 der Sendeseite die Meldung von der ursprünglichen Speicherposition des Puffers 16 senden, ohne durch die Puffergröße innerhalb des Prozessormoduls 10 der Empfangsseite eingegrenzt zu sein. Zusätzlich kann das Prozessormodul 10 der Empfangsseite eine große Meldungsmenge direkt an der wünschenswertesten Adressenposition empfangen.
- Als nächstes erfolgt eine weitere eingehende Beschreibung einer Ausführungsform der vorliegenden Erfindung. FIG. 3 zeigt ein Systemstrukturdiagramm eines Multiprozessorsystems, auf das die vorliegende Erfindung angewendet wird. In dem Multiprozessorsystem ist eine Vielzahl von Prozessormodulen 30 (die den obigen Prozessormodulen 10 entsprechen) über einen gemeinsamen Systembus 32 untereinander verbunden, dessen Entscheidung durch einen Systembushandler 31 zentral verwaltet wird. In dieser Figur ist der gemeinsame Systembus 32 als einzelner Bus gezeigt, aber eine Vielzahl von gemeinsamen Systembussen 32 kann vorgesehen sein, um jedes der Prozessormodule 30 über die unabhängigen gemeinsamen Systembusse 32 zu verbinden.
- FIG. 4 zeigt ein detailliertes Strukturdiagramm des Prozessormoduls 30. Das Prozessormodul 30 enthält eine zentrale Verarbeitungseinheit 41, eine lokale Speichereinheit 42 eines Hauptspeichers, der lokal vorgesehen ist, um eine lose gekoppelte Beziehung zu bilden, eine Verbindungseinheit 43, die vorgesehen ist, um die Verbindung mit dem gemeinsamen Systembus 32 zu verarbeiten, und einen internen Bus 44 zum Verbinden dieser Einheiten. Die zentrale Verarbeitungseinheit 41 entspricht der obigen zentralen Verarbeitungseinheit 11, die lokale Speichereinheit 42 entspricht der obigen Speichereinheit 12, und die Verbindungseinheit 43 entspricht der obigen Verbindungseinheit 13.
- In dem Prozessormodul 30 laufen die Softwares, die auf der zentralen Verarbeitungseinheit 41 und der lokalen Speichereinheit 42 arbeiten, und eine Folge von Operationen wird ausgeführt, wenn die Softwares miteinander kooperieren, während er die Kommunikationsanforderungsquelle wird. Die zentrale Verarbeitungseinheit 41, die in dem Prozessormodul vorgesehen ist, holt den Instruktionscode nur aus dem ROM (nicht gezeigt) und der lokalen Speichereinheit 42 innerhalb ihres eigenen Prozessormoduls. Zusätzlich wird der Verbindungseinheit 43 eine spezifische Einheitsnummer zugeordnet.
- FIG. 5 zeigt eine Ausführungsform der Verbindungseinheit 43, die vorgesehen ist, um den Meldungskommunikationsprozeß der vorliegenden Erfindung zu realisieren. In FIG. 5 enthält die Verbindungseinheit 43 einen logischen Sendeport (S-PORT) 51, der ein Sendeport ist, der die Software erkennen kann, die auf der zentralen Verarbeitungseinheit 41 läuft, einen logischen Empfangsport (R-PORT) 53, der ein Empfangsport ist, der die genannte Software erkennen kann, einen physikalischen Sendeport (PS-PORT) 55, der die Meldungssendung zu anderen Prozessormodulen 30 steuert, einen physikalischen Empfangsport (PR-PORT) 56, der den Meldungsempfang von anderen Prozessormodulen 30 steuert, eine Zugriffssteuereinheit (BSC) 57, die die Schnittstelle zwischen dem internen Bus 44 verarbeitet, eine Speicherzugriffssteuereinheit (DMAC) 58, die einen Zugriff auf die lokale Speichereinheit 42 ausführt, die in FIG. 4 gezeigt ist, eine Sendesteuereinheit (SNDC) 59, die die Sendeprozeßschnittstelle mit dem gemeinsamen Systembus 32 verarbeitet, eine Empfangssteuereinheit (RCVC) 60, die die Empfangsprozeßschnittstelle mit dem gemeinsamen Systembus 32 verarbeitet, einen Speicher mit wahlfreiem Zugriff (RAM) mit Dualport 61, der einen Doppelzugriff ermöglicht, und eine Hauptablaufsteuereinheit (MSC) 62, die die Steuerung der gesamten Einheit verwaltet. Der logische Sendeport 51 hat ein Steuerregister 52, und der logische Empfangsport 53 hat ein Steuerregister 54. Diese Steuerregister 52 und 54 können in dem Dualport-RAM 61 vorgesehen sein.
- Der logische Sendeport (S-PORT) 52 entspricht dem obigen logischen Sendeport 21, und zum Beispiel sind zwei solche Ports wie in dieser Ausführungsform vorgesehen, und vorzugsweise sind zwei oder mehr solche Ports vorgesehen. Der logische Empfangsport (R-PORT) 54 entspricht dem obigen logischen Empfangsport 22, und zum Beispiel sind vier solche Ports wie in dieser Ausführungsform vorgesehen, und vorzugsweise sind vier oder mehr solche Ports vorgesehen. Demzufolge ermöglicht die Software, die auf der zentralen Verarbeitungseinheit 41 läuft, das gleichzeitige Senden einer Vielzahl von Meldungen und den gleichzeitigen Empfang einer Vielzahl von Meldungen.
- Andererseits entspricht der physikalische Sendeport (PS-PORT) 55 dem obigen physikalischen Sendeport 27, und ein solcher Port ist auf Grund seines Charakters vorgesehen. Der physikalische Empfangsport (PR-PORT) 56 entspricht dem obigen physikalischen Empfangsport 25, und zum Beispiel sind zwei solche Ports in dieser Ausführungsform vqrgesehen, und vorzugsweise ist eine Anzahl solcher Ports vorgesehen, die kleiner als die Anzahl der logischen Empfangsports 54 ist und sich auf einen oder mehrere beläuft. Durch Einsetzen eines Steuersystems, bei dem die Vielzahl von logischen Sendeports 51 den physikalischen Sendeport 55 gemeinsam verwendet und die Vielzahl von logischen Empfangsports 54 den physikalischen Empfangsport 56 gemeinsam verwendet, ist es zusätzlich möglich, wie später beschrieben, den Umfang der Hardware der Verbindungseinheit 43 zu reduzieren. In dem Fall, wenn eine Funktion von dem physikalischen Sendeport 55 auf der Seite des gemeinsamen Systembusses 32 vorgesehen ist, um den Prozeß des physikalischen Sendeports 55 zu serialisieren, ist es möglich, nicht einen, sondern eine Vielzahl von physikalischen Sendeports 55 vorzusehen.
- Ein 256-Byte-Haltepuffer, der dem physikalischen Übertragungsblock auf dem gemeinsamen Systembus 32 entspricht, ist in dem Dualport-RAM 61 für jeden von dem logischen Sendeport 51 und dem logischen Empfangsport 53 vorgesehen. Die Anzahl von Haltepuffern, die zu dem logischen Sendeport 51 gehören, entspricht der Anzahl von physikalischen Sendeports 55, und die Anzahl von Haltepuffern, die zu dem logischen Empfangsport 53 gehören, entspricht der Anzahl von physikalischen Empfangsports 56.
- Der physikalische Sendeport 55 ist mit dem logischen Sendeport 51 gemäß dem Steuerprozeß der Hauptablaufsteuereinheit (MSC) 62 logisch verbunden, und die Sendeanforderung MSG-SND-REQ des Meldungsblocks innerhalb des Haltepuffers, der zu ihm gehört, wird an die Sendesteuereinheit (SNDC) 59 ausgegeben. Die Antwort STS-RCV-ACK hinsichtlich des Sendens dieses Meldungsblocks wird durch die Empfangssteuereinheit 60 empfangen, und der physikalische Sendeport 55 führt den Prozeß zum Informieren des logischen Sendeports 51 aus.
- Die Eingangs- und Ausgangssignale dieses physikalischen Sendeports (PS-PORT) 55 sind in FIG. 6(a) gezeigt, und eine Ausführungsform des Zustandsübergangs dieses Prozesses ist in FIG. 6(b) gezeigt. Die Unterdrückungsanforderung (CANCEL) und die Meldungssendeanforderung SND-RQ von der Hauptablaufsteuereinheit (MSC) 62 werden dem physikalischen Sendeport (PS-PORT) 55 eingegeben, wie in FIG. 6(a) gezeigt, und der physikalische Sendeport 55 stellt eine Prozeßwiederaufnahmeanforderung CMP bezüglich der MSC 62.
- Der PS-PORT 55 vollzieht einen Übergang in den SND-Zustand, wie in FIG. 6(b) gezeigt, falls die Meldungssendeanforderung SND-RQ in einem A-Zustand eingegeben wird, bei dem die Meldungssendeanforderung SND-RQ von der MSC 62 erwartet wird. In diesem SND-Zustand wird der Meldungsblock über die SNDC 59 zu dem Systembus 32 gesendet.
- In diesem SND-Zustand erfolgt ein Übergang in den WAIT- Zustand durch das normale Signal SND-ACK von der SNDC 59 oder in den CMP-Zustand durch das abnorme Signal SND-ERR. Zusätzlich erfolgt ein Übergang in den A-Zustand nach Zurückziehen der Anforderung für die SNDC 59, wenn von der MSC 62 eine CANCEL-Anforderung vorliegt.
- Der obige WAIT-Zustand ist der Zustand, bei dem der Statusempfang von dem Prozessormodul der Empfangsseite erwartet wird. Wenn das Statusempfangsvollzugssignal STS- RCV-ACK von der Empfangssteuereinheit (RCVC) 60 in diesem WAIT-Zustand eingegeben wird, oder wenn die Statusempfangszeit abgelaufen ist, erfolgt ein Zustandsübergang in den CMP-Zustand. In diesem CMP-Zustand wird der Sendevollzug zu der MSC 62 gesendet, und die Wiederaufnahme des Prozesses wird angefordert. Ein Zustandsübergang in den A-Zustand findet statt, wenn das Erkennungssignal (= Sendeanforderung) für die MSC 62 von dem PS-PORT 55 in dem CMP-Zustand zurückgezogen wird.
- Wenn andererseits der physikalische Empfangsport (PR- PORT) 56 die Empfangsstartmitteilung durch das Speichern des Sendemeldungsblocks in dem Haltepuffer, der zu ihm gehört, gemäß dem Prozeß der Empfangssteuereinheit (RCVC) 60 empfängt, wird der physikalische Empfangsport 56.mit dem logischen Empfangsport 53, der gemäß dem Steuerprozeß der Hauptablaufsteuereinheit (MSC) 62 empfangen soll, logisch verbunden. Nach Vollendung der Operation des logischen Empfangsports 53 führt der physikalische Empfangsport 56 den Prozeß zum Ausgeben der Antwortsendeanforderung STS-SND-REQ des Empfangsvollzugs an die Sendesteuereinheit (SNDC) 59 aus.
- Die Eingangs- und Ausgangssignale dieses physikalischen Empfangsports (PR-PORT) 56 sind in FIG. 7(a) gezeigt, und eine Ausführungsform des Zustandsübergangs des Prozesses ist in FIG. 7(b) gezeigt. Wie in FIG. 7(a) gezeigt, wird das Meldungsempfangsstartsignal MSG-RCV-ACK von der Empfangssteuereinheit (RCVC) 60 dem physikalischen Empfangsport (PR- PORT) 56 eingegeben, anders als die obige Antwortsendeanforderung STS-SND-REQ. Zusätzlich wird die Statussendeanforderung SND-RQ von der Hauptablaufsteuereinheit (MSC) 62 dem physikalischen Empfangsport 56 eingegeben, und der physikalische Empfangsport 56 gibt die Unterdrückungsanforderung CANCEL und das FB-Zustandssignal FILL BF bezüglich der MSC 62 aus.
- Wenn das Meldungsempfangsstartsignal MSG-RCV-ACK von der RCVC 60 dem PR-PORT 56 in dem WAIT-Zustand eingegeben wird, bei dem der Meldungsempfang erwartet wird, wie in FIG. 7(b) gezeigt, erfolgt ein Zustandsübergang in den FB-Zustand. Dieser FB-Zustand sendet den Empfangsstart durch das obige FILL BF zu der MSC 62 und ist ein Zustand, der den Start des Prozesses anfordert. Nach dem Mitteilen des Empfangsvollzugssignals der RCVC 60 vollzieht der PR-PORT 56 durch die Statussendeanforderung SND-RQ der MSC 62 einen Übergang in den SND-Zustand. Wenn die CANCEL-Anforderung von der RCVC 60 vorliegt, erfolgt ferner ein Zustandsübergang in den WAIT-Zustand, nachdem die Anforderung für die MSC 62 zurückgezogen wurde.
- Der obige SND-Zustand ist ein Zustand, bei dem der Statusblock über die SNDC 59 zu dem Systembus 32gesendet wird. In diesem SND-Zustand vollzieht der PR-PORT 56 einen Zustandsübergang in den CMP-Zustand durch das Sendevollzugssignal SND-ACK von der SNDC 59. Dieser CMP-Zustand sendet den Sendevollzug zu der MSC 62 und ist ein Zustand, bei dem die Wiederaufnahme des Prozesses angefordert wird. Wenn das Erkennungssignal (= Sendeanforderung) von der MSC 62 in diesem CMP-Zustand zurückgezogen wird, vollzieht der PR-PORT 56 einen Zustandsübergang in den obigen WAIT-Zustand.
- Unter erneuter Bezugnahme auf die Beschreibung von FIG. 5 führt die Zugriffssteuereinheit (BSC) 57 eine Steuerung aus, wenn die Verbindungseinheit 43 der Bus-Slave des internen Busses 44 wird, und sie ist mit Funktionen versehen, wie z. B. mit der Funktion zum Decodieren der Adresseninformationen des spezifizierten Registers und der Funktion zum Ausführen einer Steuerung, um mit der Zeitlage des internen Busses 44 übereinzustimmen. Die Zugriffssteuereinheit 57 teilt die Dateninformationen von der Seite des internen Busses 44 dem logischen Sendeport 51 oder dem logischen Empfangsport 53 mit und teilt die Dateninformationen von der Seite des logischen Sendeports 51 oder des logischen Empfangsports 53 dem internen Bus 44 mit.
- Wenn die Verbindungseinheit 43 der Bus-Master des internen Busses 44 wird, hat die Speicherzugriffssteuereinheit (DMAC) 58 direkten Zugriff auf die lokale Speichereinheit 42 gemäß der Angabe von der Hauptablaufsteuereinheit (MSC) 62 und führt die Datenübertragung zwischen der lokalen Speichereinheit 42 und dem Dualport-RAM 61 aus.
- FIG. 8 zeigt eine Ausführungsform der Eingangs- und Ausgangssignale dieser DMAC 58, die einen Blockanzahlzähler 70 und dergleichen enthält. Die DMAC 58 ist mit Funktionen versehen, wie z. B. mit der Funktion zum Erzeugen der Adresseninformationen zum Ausüben des Zugriffs und der Funktion zum Ausführen einer Steuerung, um mit der Zeitlage des internen Busses 44 übereinzustimmen.
- Die Sendesteuereinheit 59 führt die Sendestartanforderung für den gemeinsamen Systembus 32 und die Steuerung von jeder Sendung (Sendung des Meldungsblocks/Sendung der Antwort) gemäß den Anforderungen des physikalischen Sendeports 55 und des physikalischen Empfangsports 56 aus. Die Empfangssteuereinheit 60 überwacht den gemeinsamen Systembus 32 und speichert die Daten unter der entsprechenden Adresse des Dualport-RAMs 61, falls der Meldungsblock oder die Antwort für ihre eigene Einheitsnummer bestimmt ist. Dann führt die Empfangssteuereinheit 60 den Prozeß zum Informieren des logischen Sendeports 51 oder des logischen Empfangsports 53 über den physikalischen Sendeport 55 oder den physikalischen Empfangsport 56 aus.
- Die Arbeitszonen für den logischen Sendeport 51 und den logischen Empfangsport 53 sind in dem Dualport-RAM 61 zusätzlich zu dem oben beschriebenen Haltepuffer vorgesehen. Der Zugriff auf diesen Dualport-RAM 61 erfolgt durch die Hauptablaufsteuereinheit (MSC) 62 von dem Bussteuerteil, der auf der Seite des PM-internen Busses 44 ist und durch den logischen Sendeport 51, den logischen Empfangsport 53, die Zugriffssteuereinheit 57 und die Speicherzugriffssteuereinheit 58 gebildet wird. Der Zugriff auf diesen Dualport-RAM 61 erfolgt auch von dem Bussteuerteil, der auf der Seite des gemeinsamen Systembusses 32 ist und durch den physikalischen Sendeport 55, den physikalischen Empfangsport 56, die Sendesteuereinheit 59 und die Empfangssteuereinheit 60 gebildet wird. Die Hauptablaufsteuereinheit (MSC) 62, der Dualport- RAM 61 und dergleichen realisieren jedes der obigen Mittel 23 bis 35.
- FIG. 9 zeigt ein Strukturdiagramm einer Ausführungsform der obigen Hauptablaufsteuereinheit (MSC) 62. Die MSC 62 enthält, wie in dieser Figur gezeigt, einen Arbiter 81, einen Modusdecodierer 82, einen Phasenfolgezähler 83, einen Hauptdecodierer 84, einen Generator 85, einen Arbeitspuffer (WBUF) 86, einen Adressenpuffer (ABUF) 87, einen Bytezählerpuffer (BCT) 88, einen Endcodepuffer (CSC) 89, einen Puffer 90, Selektoren 91 bis 95, 97 und 99, einen Komparator 96, einen RAM-Adressenpuffer 98, einen RAM-Puffer 100 und dergleichen.
- Die Selektoren 91 bis 95 und 97 sind jeweilig in Entsprechung zu den Eingangsseiten der Puffer 86 bis 90 und 98 vorgesehen und schalten die Daten von dem RAM-Puffer 100 auf der Basis eines Selektionssignals von dem Hauptdecodierer 84 und geben sie aus. Der Selektor 91 gibt auch die Daten von dem BCT 88 und dem CSC 89 selektiv aus. Der Selektor 94 selektiert zusätzlich das Ausgangssignal des Komparators 96 und gibt dieses an den CSC 89 aus. Ferner selektiert der Selektor 99 jedes Ausgangsdatum des WBUF 86 und des ABUF 87 und führt es dem Dualport-RAM 61 zu. Dieser Dualport-RAM 61 wird als Arbeitsbereich der MSC 62 verwendet, wie oben beschrieben.
- In dieser MSC 62 empfängt der Arbiter 81 die Prozeßanf orderung RQ von dem S-PORT 51 oder dem R-PORT 53 oder die Zustandsmitteilung von dem PS-PORT 55 oder dem PR-PORT 56 und selektiert dieselbe gemäß einer geeigneten Prioritätsfolge. Der Phasenfolgezähler 83 startet seine Operation zu der Zeit, wenn diese Selektion erfolgt. Zusätzlich wird der Operationsmodus in Abhängigkeit von dem selektierten Port und dem Zustand dieses Ports bestimmt.
- Als nächstes selektiert die MSC 62 sukzessive die Informationen von dem Dualport-RAM 61 und verarbeitet diese, gemäß der Phase, die durch den bestimmten Operationsmodus bestimmt wird, und dem Ausgabewert des Phasenfolgezählers 83. Die Informationen werden für jede Puffergruppe des WBUF 86, des ABUF 87, des BCT 88 und des CSC 89 extrahiert und wieder in den Dualport-RAM 61 geschrieben. Des weiteren wird die in FIG. 5 gezeigte DMAC 58 aktiviert, falls es während dieser Prozedur erforderlich ist.
- Die MSC 62 aktiviert den S-PORT 51, den R-PORT 53, den PS-PORT 55 oder den PR-PORT 56 während oder am Ende der obigen Phase in Abhängigkeit von dem Operationsmodus. Am Ende der obigen Phase sendet die MSC 62 ein Endsignal vdn dem Hauptdecodierer 84 zu dem Arbiter 81, um den Arbiter 81 freizugeben. Zusätzlich führt die MSC 62 ein Triggersignal oder ein Fehlersignal dem S-PORT 51 und dem R-PORT 53 zu, um einen Zustandsübergang jedes Ports zu vollziehen. In Abhängigkeit von der Situation gibt der Hauptdecodierer 84 ein Steuersignal an den Arbiter 81 aus und führt den nächsten Prozeß mit demselben Port fort.
- Als nächstes erfolgt eine Beschreibung einer Aktivierungsschnittstelle zwischen Hardware/ Software.
- Die Software, die auf der zentralen Verarbeitungseinheit 41 läuft, die in FIG. 4 gezeigt ist, ordnet den Deskriptor, der den detaillierten Steuerinhalt angibt, in der logischen Speichereinheit 42 an, wenn der S-PORT 51 oder der R-PORT 53 aktiviert wird. FIG. 10 zeigt eine Ausführungsform der Struktur dieses Deskriptors.
- Der Deskriptor (15 in FIG. 1), der in der lokalen Speichereinheit (LSU) 42 angeordnet wird, hat für den S-PORT 51 und den R-PORT 53 dieselbe Struktur und ist in einem sequentiellen Format angeordnet, wie in FIG. 10 gezeigt, wobei 16 Bytes für einen Eintrag benötigt werden, oder in einem Verzweigungsformat.
- Auf den Kopfeintrag dieses Deskriptors wird durch die Adresseninformationen hingewiesen, die in den Zonen "SPDSA" und "RPDSA" innerhalb der Steuerregister (52 und 54, die in FIG. 5 gezeigt sind) in dem S-PORT 51/R-PORT 53 gesetzt sind. Jeder Eintrag wird mit den Adresseninformationen, Größeninformationen und dergleichen des logischen Puffers (der dem Puffer mit beliebiger Form 16 in FIG. 1 entspricht und zum Beispiel jeweils eine Kapazitt von 4 KBytes hat) in die lokale Speichereinheit (LSU) 42 geschrieben.
- FIG. 11 zeigt eine Ausführungsform der Eintragsverwaltungsdaten dieses Deskriptors. Die Kombination des B-Bits und C-Bits in dieser Figur kennzeichnet die Fortsetzung mit dem nächsten Eintrag, der sequentiell angeordnet ist, nachdem die Verarbeitung des gegenwärtigen Eintrags endet, falls "BC = 01" ist, kennzeichnet die Verzweigung bei dem Eintrag, der durch den gegenwärtigen Eintrag gekennzeichnet ist, falls "BC = 11" ist, kennzeichnet das Ende des Prozesses, nachdem die Verarbeitung des gegenwärtigen Eintrags endet, falls "BC = I00" ist, und kennzeichnet das Ende des Prozesses, ohne den Prozeß des gegenwärtigen Eintrags auszuführen, falls "BC = 10" ist. Zusätzlich kennzeichnet das D-Bit in FIG. 11 die Existenz oder Nichtexistenz einer Unterbrechung für die Software zu der Zeit, wenn die Verarbeitung des gegenwärtigen Eintrags vollendet ist.
- In FIG. 11 haben das 1-Byte-Informationsfeld, das durch "BCT" gekennzeichnet ist, das Informationsfeld, das durch "BUFA" gekennzeichnet ist, und das Informationsfeld, das durch "UID" gekennzeichnet ist, Inhalte, die sich für den S- PORT 51 und den R-PORT 53 unterscheiden.
- In den Eintragsverwaltungsdaten des Deskriptors für den S-PORT 51 ist die Bytegröße (Einheiten von 16 Bytes, maximal 4 KBytes) des logischen Puffers in der lokalen Speichereinheit 42, der durch den gegenwärtigen Eintrag behandelt wird, in dem BCT-Informationsfeld gespeichert, ist die Kopfadresse (16-Byte-Grenzadresse) des logischen Puffers in dem BUFA- Informationsfeld gespeichert, und ist die Einheitsnummer der Verbindungseinheit (MBC) 43 des Sendeprozessormoduls in dem UID-Informationsfeld gespeichert.
- Andererseits sind in den Eintragsverwaltungsdaten des Deskriptors für den R-PORT 53 die Größeninformationen des logischen Puffers, die von dem Kommunikationsmodus abhängen, in dem BCT-Informationsfeld gespeichert, ist die Kopfadresse des logischen Puffers in der lokalen Speichereinheit 42, der durch den gegenwärtigen Eintrag behandelt wird, in dem BUFA- Informationsfeld gespeichert, und ist die Einheitsnummer der Verbindungseinheit 43 des Sendeprozessormoduls, die empfangen wurde, in dem UID-Informationsfeld gespeichert.
- Bezüglich des obigen Kommunikationsmodus gibt es den ANY-Modus und den SPECIFIC-Modus. Der ANY-Modus ist der Modus, bei dem eine beliebige Meldung, die bei ihm gesendet wird, empfangen wird, und es gibt eine Stufe 0, die für den normalen Kommunikationsprozeß verwendet wird, und eine Stufe 1, die für den Notkommunikationsprozeß verwendet wird. Der SPECIFIC-Modus ist der Modus, bei dem im voraus zwischen der Sendeseite und der Empfangsseite eine Vereinbarung getroffen wird, und die große Meldungsmenge, die Gegenstand der Sendung ist, wird direkt zu der spezifizierten Adressenzone und nicht zu dem allgemeinen Puffer übertragen. Bei den obigen Eintragsverwaltungsdaten für den R-PORT 53 werden in dem ANY-Modus die Größeninformationen der empfangenen Meldung in dem BCT-Informationsfeld gespeichert und werden in dem SPECIFIC-Modus vorbestimmte Größeninformationen in dem BCT- Informationsfeld gespeichert.
- Falls die BC-Bits die Verzweigung des Eintrags spezifi zieren, werden die Verzweigungsadresseninformationen des Eintrags in dem BUFA-Informationsfeld gespeichert, aber in dem BCT-Informationsfeld und dem UID-Informationsfeld wird nichts spezifiziert.
- Die Software, die auf der zentralen Verarbeitungseinheit 41 läuft, schreibt die Steuerangabe in das Steuerregister 52 des S-PORTs 51, falls der Deskriptor in der lokalen Speichereinheit 42 angeordnet ist, und der S-PORT 51 wird als nächstes aktiviert. Wenn der R-PORT 53 aktiviert wird, schreibt die Software die Steuerangabe außerdem in das Steuerregister 54 des R-PORTs 53.
- FIG. 12 zeigt eine Ausführungsform der Steuerangabedaten, die in dem Steuerregister 52 des S-PORTs 51 gesetzt werden, und FIG. 13 zeigt eine Ausführungsform der Steuerangabedaten, die in dem Steuerregister 54 des R-PORTs 53 gesetzt werden. In FIG. 12 sind "SPDSA", "SPODF" und "SPFCP" die Zonen, die die Software beschreibt, die auf der zentralen Verarbeitungseinheit 41 läuft. Die Software schreibt die Adresseninformationen DSA des ersten Deskriptors, der die Steuerung startet, in diese "SPDSA", die Angabe des Kommunikationsmodus, in dem der Kommunikationsprozeß auszuführen ist, d. h., die Stufe 0 des ANY-Modus, die Stufe 1 des ANY- Modus oder den SPECIFIC-Modus in die "SPODF" und die Angabe des erzwungenen Endes während der Operation in die "SPFCD".
- Zusätzlich sind in FIG. 12 "SPOPS" und "SPCST" die Zonen, die die Software auf der Seite der Verbindungseinheit 43 beschreibt und dann liest. Die Verbindungseinheit 43 schreibt die Eintragsadresseninformationen CDSA des Deskriptors, der gerade verarbeitet wird, in die "SPOPS" und die Endzustandsinformationen CSC in die "SPCST". Wenn der Schreibzugriff auf die erläuterte "SPODF" ausgeführt ist, wird der S-PORT 51 aktiviert.
- Andererseits sind in FIG. 13 "RPDSA", "RPODF", "RPFCP" und "RPSSI" die Zonen, die die Software beschreibt, die auf der zentralen Verarbeitungseinheit 41 läuft. Die Software schreibt die Adresseninformationen des ersten Deskriptors, der die Steuerung startet, in die Zone "RPDSA", schreibt die Angabe des Operationsmodus in die "RPODF", schreibt die Angabe des erzwungenen Endes während der Operation in die "RPFCP" und schreibt die Einheitsnummer der Sendeverbindungseinheit 43, die im Fall des SPECIFIC-Modus vor dem Start spezifiziert wurde.
- Zusätzlich sind in FIG. 13 "RPOPS" und "RPCST" die Zonen, die die Software auf der Seite der Verbindungseinheit 43 beschreibt und dann liest. Die Verbindungseinheit 43 schreibt die Eintragsadresseninformationen CDSA des Deskriptors innerhalb des Verarbeitungssignals in die "RPOPS" und die Endzustandsinformationen CSC in die "RPCST". Wenn der Schreibzugriff auf die erläuterte "RPODF" ausgeführt ist, wird der R-PORT 53 aktiviert. Die Einheitsnummer, die in die "PPSSI" geschrieben wird, wird verwendet, um zu entscheiden, ob die Meldung von der Verbindungseinheit 43 ist oder nicht, die als Sendequelle spezifiziert wurde, wenn der Empfangsprozeß in dem SPECIFIC-Modus erfolgt.
- Die Software, die auf der zentralen Verarbeitungseinheit 41 läuft, muß den Kommunikationsmodus spezifizieren und mit der Stufe 0 des ANY-Modus bei wenigstens einem der zwei R-PORTs 53 starten, die vorgesehen sind, um den normalen Kommunikationsprozeß auszuführen. Diese Software muß den Kommunikationsmodus spezifizieren und mit der Stufe 1 des ANY-Modus bei wenigstens einem der zwei R-PORTs 53 starten, um den Notkommunikationsprozeß auszuführen. Durch Treffen dieser Vorbereitung ist es möglich, die Notmeldung zu übertragen, ohne sie mit der normalen Meldung zu verwechseln.
- Die Software von jedem Prozessormodul aktiviert den S- PORT 51 immer dann, wenn der Sendeprozeß in dem ANY-Modus erforderlich wird. In diesem Fall kann die Einheitsnummer der Verbindungseinheit 43 des Sendeziels, die in dem UID- Informationsfeld des Eintrags des Deskriptors für den S-PORT 51 gesetzt wird, bei jedem Eintrag unabhängig gesetzt werden. Falls eine Vielzahl von S-PORTs 51 vorgesehen ist, kann die Einheitsnummer auch bei jedem S-PORT 51 unabhängig gesetzt werden. Daher kann die Software den Sendeprozeß bezüglich einer Vielzahl von Prozessormodulen 30 gleichzeitig ausführen.
- Zusätzlich muß, wenn der Kommunikationsprozeß in dem SPECIFIC-Modus (im folgenden als SPC-Modus bezeichnet) ausgeführt wird, die Software des Prozessormoduls 30 der Sendeseite das Prozessormodul 30 der Empfangsseite im voraus unter Verwendung des ANY-Modus benachrichtigen, um mitzuteilen, daß die Kommunikation in dem SPC-Modus ausgeführt wird und wie die Bytelänge dieser Kommunikation ist. Die Software des Prozessormoduls 30 der Empfangsseite trifft die Vorbereitungen für den Empfang, wenn die obige Mitteilung empfangen wurde, einschließlich der Anordnung des Deskriptors und der Aktivierung des R-PORTs 53, und sendet danach eine Antwortmeldung zu dem Prozessormodul 30 der Sendeseite zurück. Wenn die Software des Prozessormoduls 30 der Sendeseite diese Antwortmeldung bestätigt, wird der S-PORT 51 in dem SPC-Modus aktiviert und wird der Kommunikationsprozeß in dem SPC-Modus ausgeführt.
- Als nächstes erfolgt unter Bezugnahme auf FIG. 14 und FIG. 15A bis 15C eine Beschreibung von Beispielen zur Verwendung des Deskriptors des Datenverarbeitungsteus von jedem Prozessormodul 30. Normalerweise sind 3 der 4 R-PORTs 53 als normaler Kommunikationsport mit der Stufe 0 des ANY- Modus (ANY0-Modus) eingestellt, und 1 ist als Notport des ANY1-Modus eingestellt. Bei der Meldungskommunikation dieser Ausführungsform ist es wünschenswert, daß der R-PORT 53 ständig im empfangsfähigen Zustand ist, da die auf der Sendeseite initiierte Datenübertragung ausgeführt wird (das heißt, es ist ungewiß, wann Daten gesendet werden und wer sie senden wird). Daher ist eine Vielzahl von Deskriptoren der R-PORTs 53 verkettet, und die Kette wird durch die Verzweigungsfunktion geschleift, so daß der Deskriptor nicht aufgebraucht wird. Die Konstruktion des Deskriptors des R- PORTs 53 wird in Verbindung mit FIG. 14 eingehend beschrieben.
- zuerst wird jeder der Deskriptoren, die auf den ANY0- Modus eingestellt sind und in denen die ersten Adresseninformationen DSA R0, R1 und R2 sind, aus 8 Einträgen (Datenzone von 8×4 KB = 32 KB) und 1 Verzweigungseintrag konstruiert. Die 8 Einträge werden jeweilig durch BC = 01 verkettet, und gestartet wird mit dem Empfang der Daten des ANY0-Modus, da das D-Bit bei jedem 4. Eintrag gesetzt ist, und eine Unterbrechung wird bezüglich des Datenverarbeitungsteils erzeugt, wenn bis zu dem Eintrag des D-Bits empfangen wird. Der Datenverarbeitungsteil liest als Reaktion auf diese Unterbrechungsprozesse die Einträge ab dem Kopf bis zu dem Eintrag, der die Unterbrechung erzeugte. Danach schreibt der Datenverarbeitungsteil die BC-Bits innerhalb des Eintrags, der die Unterbrechung erzeugte, aüf um und schreibt die BC innerhalb des Verzweigungseintrags auf 11 um.
- Der Empfang in dem ANY0-Modus erfolgt sogar dann, während der Datenverarbeitungsteil die Einträge verarbeitet, und die Unterbrechung durch das D-Bit wird erzeugt, wenn die Verarbeitung für den achten Eintrag erfolgt. Nachdem der achte Eintrag endet, wird angezeigt, daß die Verarbeitung des Datenverarbeitungsteils noch nicht beendet ist, falls die BC-Bits innerhalb des Verzweigungseintrags auf 10 bleiben, und der R-PORT 53 endet an diesem Punkt. Falls die Verarbeitung des Datenverarbeitungsteils in der Zeit liegt, wie oben beschrieben, sind die BC-Bits schon auf 11 umgeschrieben, und somit wird der Verzweigungsprozeß bei dem Kopfdeskriptor fortgesetzt. Der Datenverarbeitungsteil verarbeitet die fünften bis achten Einträge, wenn die Unterbrechung von dem achten Eintrag erkannt wird, schreibt die BC-Bits des vorhergehenden vierten Eintrags auf 01 um und setzt BC = 10 in dem Verzweigungseintrag.
- Wenn der Prozeß des R-PORTs 53 durch den Verzweigungseintrag zu dem Kopf geschleift wird und der vierte Eintrag erreicht ist, bevor die Verarbeitung der Datenverarbeitung endet, endet daher der R-PORT 53 hier, und die Verarbeitung wird mit dem nächsten fortgesetzt, falls die Verarbeitung des Datenverarbeitungsteils in der Zeit liegt. Die 8 Einträge werden auf diese Weise geschleift und verwendet, um zu verhindern, daß der Empfangspuffer aufgebraucht wird. Die Anzahl von Einträgen wird in Abhängigkeit von dem Verarbeitungsvermögen des Datenverarbeitungsteils bestimmt. Falls zum Beispiel das Vermögen des Datenverarbeitungsteils im Vergleich zu dem Umfang der empfangenen Meldung unzureichend ist, wird die Anzahl von Einträgen, die verkettet Werden, vergrößert, um die Abstände der Unterbrechungen zu verlängern.
- Als nächstes wird in FIG. 14 der Deskriptor, der auf den ANY1-Modus eingestellt ist und in dem dieersten Adresseninformationen DSA R3 lauten, durch 4 Einträge (Datenzone von 4×4 KB = 16 KB) und einen Verzweigungseintrag gebildet. Die 4 Einträge werden jeweilig durch BC = 01 verkettet, und da das D-Bit bei all diesen Einträgen gesetzt ist, wird eine Unterbrechung bezüglich des Datenverarbeitungsteils sofort erzeugt, wenn die Daten des ANY1-Modus empfangen werden. Der Datenverarbeitungsteil verarbeitet die Einträge als Reaktion auf die Unterbrechung. ANY1 gibt die Notmeldung an und wird daher gegenüber anderen mit Priorität verarbeitet. Daher wird BC = 11 in dem Verzweigungseintrag gesetzt, und die Verzweigung ist ständig möglich. Eine Anzahl von Einträgen reicht aus, um den Empfang selbst dann zu ermöglichen, wenn die Meldungen der ANY1-Stufe von einer Vielzahl von Prozessormodulen gleichzeitig gesendet werden.
- Bei der vorliegenden Erfindung wird die Konstruktion des Datenpuffers, das heißt, ob die Zone von 8×4 KB zusammenhängend ist oder nicht und ob die Adresse feststehend oder variabel ist, nicht erwähnt. Dieses Problem hängt völlig von dem Programm ab.
- Es erfolgt keine spezielle Darstellung oder Beschreibung des Deskriptors des Sendeports, da der Eintrag in Abhängigkeit von den Sendedaten immer dann konstruiert wird, wenn die Sendedaten erzeugt werden. Im allgemeinen erfolgt der Sendeprozeß sukzessive zu derselben Zeit wie die Aktivierung, und es gibt keinen Prozeß wie z. B. das Setzen des D-Bits zwischendurch oder das Schleifen durch die Verzweigung wie im Fall des Empfangsports.
- Als nächstes erfolgt unter Bezugnahme auf FIG. 15A bis 15C eine Beschreibung eines Beispiels der Meldungskommunikation in dem SPECIFIC-(SPC)-Modus. FIG. 15A zeigt ihn bis zum Benachrichtigen des Prozessormoduls #1, daß eine Meldung in dem SPC-Modus von dem Prozessormodul #0 zu senden ist, FIG. 15B zeigt ihn bis zum Benachrichtigen des Prozessormoduls #0, daß die Vorbereitung für den SPC-Empfang von dem Prozessormodul #1 vollendet ist, und FIG. 15C zeigt die Meldungsübertragung im SPC-Modus. In diesen Figuren sind die Deskriptoreinträge (Gruppe) ungeachtet ihrer Anzahl in einem Kasten dargestellt.
- In FIG. 15A läuft folgendes ab, wenn das Prozessormodul #0 mitteilt, daß die Meldung im SPC-Modus zu senden ist:
- 1 Die Deskriptoreinträge (Gruppe) DESC-S0#0 werden auf der Basis der Daten erzeugt, die im SPC-Modus zu übertragen sind;
- 2 Die Informationen (die Datenlänge im SPC-Modus und dergleichen), die zum Prozessormodul #1 zu senden sind, und ihr Deskriptor DESC-S1#0 werden erzeugt;
- 3 Die Meldung im ANY1-Modus wird aktiviert;
- 4 Die Datenübertragung auf dem Systembus wird vorgenommen; und
- 5 Der Empfangsport R3 des Prozessormoduls #1 und im ANY1-Modus erzeugt eine Unterbrechung, und so erhält das Prozessormodul #1 die Informationen, die für den Empfang im SPC-Modus notwendig sind.
- Demzufolge teilt das Prozessormodul #1 die Vollendung der Vorbereitung #0 mit, wie in FIG. 15B gezeigt. Zuerst läuft folgendes ab:
- 1 Der Empfangsport R2 wird zwingend beendet (N-Bit der RPFCP wird gesetzt);
- 2 Die Deskriptoreinträge (Gruppe) DESC-R2#1 für SPC werden aus den obigen Informationen erzeugt;
- 3 Der Empfangsport R2 wird im SPC-Modus aktiviert;
- 4 Die Daten, die den Aktivierungsvollzug mitteilen, und der Deskriptor DESC-S1#1 werden erzeugt;
- 5 Die Daten von werden im ANY1-Modus übertragen;
- 6 Es erfolgt die Übertragung auf dem Systembus; und
- 7 Der Empfangsport R3 des Prozessormoduls #0 und im ANY1-Modus erzeugt eine Unterbrechung, und soerkennt das Prozessormodul #0 die Vollendung der Vorbereitung bei #1. Daher wird danach die SPC-Modus-Übertragung von dem Prozessormodul #0 zu #1 ausgeführt, wie in FIG. 15C gezeigt. Mit anderen Worten:
- 1 Die Sendung wird im SPC-Modus aktiviert (Vorbereitungen des Deskriptors und der Daten sind schon getroffen);
- 2 Es erfolgt die Datenübertragung auf dem Systembus; und
- 3 Der Empfangsport R2 des Prozessormoduls #1 empfängt die Meldung im SPC-Modus.
- Deshalb wird die Verarbeitung der SPC-Meldung von dem Prozessormodul #0 an #1 wie oben beschrieben ausgeführt. Danach kehrt der Empfangsport im SPC-Modus wieder in den ANY0-Modus zurück, so daß der normale Prozeß ausgeführt wird.
- Als nächstes erfolgt eine detaillierte Beschreibung des Datenübertragungssystems zwischen den Prozessormodulen 30.
- In dieser Ausführungsform wird angenommen, daß die Bytegröße des logischen Puffers, die durch einen Eintrag des Deskriptors spezifiziert sein kann, 4 KBytes (Einheiten von 16 Bytes) maximal beträgt, und somit beträgt die maximale Länge der Meldung, die durch einen Eintrag des Deskriptors spezifiziert sein kann, 4 KBytes. Andererseits beträgt die Einheit der Meldung, die auf einmal auf dem gemeinsamen Systembus 32 übertragen werden kann, zum Beispiel 256 Bytes und ist relativ klein.
- Die Verbindungseinheit 43 dieser Ausführungsform führt die Übertragung aus, indem die Meldung in Teile von 256 Bytes geteilt wird, die der Übertragungsblock des gemeinsamen Systembusses 32 sind, und die Reste werden im letzten Block übertragen. Die Verbindungseinheit 43 der Sendeseite fügt Kennzeichen F(First)/M(Middle)/L(Last)/S(Single) zu jeder Übertragungseinheit auf dem gemeinsamen Systembus 32 hinzu, um den ersten Block, den mittleren Block und den letzten Block der Reihe von Meldungen zu identifizieren. Andererseits führt die Verbindungseinheit 43 der Empfangsseite den Prozeß des Zusammensetzens der Meldung, die gesendet wird, gemäß diesem Kennzeichen aus.
- Außer dem Kennzeichen fügt die Verbindungseinheit 43 der Sendeseite den Kommunikationsmodus, die Einheitsnummer von sich selbst, die die Sendequelle ist, die Einheitsnummer der Verbindungseinheit 43 am Sendeziel, die Bytelänge, die zu senden ist, und die Portnummer (kann weggelassen werden) des S-PORTs 51 an der Sendequelle zu dem Befehl hinzu und sendet die Sendemeldung.
- Im ANY-Modus wird die Meldung in dem logischen Puffer, der durch jeden Eintrag des Deskriptors spezifiziert ist, als die Meldung behandelt, die eine Übertragungseinheit bildet, und sie wird zu dem Prozessormodul 30 am Kommunikationsziel übertragen. Falls bei diesem ANY-Modus die Länge der zu sendenden Meldung 256x2 Bytes überschreitet, überträgt die Verbindungseinheit 43 die Meldung, die sich auf die ersten 256 Bytes beläuft, indem das Kennzeichen F hinzugefügt wird, wie in Fig. 16(a) gezeigt, überträgt danach sukzessive in 256 Bytes, indem das Kennzeichen M hinzugefügt wird, und überträgt schließlich die Reste, die sich auf die verbleibenden Bytes belaufen, indem das Kennzeichen L hinzugefügt wird.
- Falls die Länge der zu übertragenden Meldung zwischen 256 Bytes und 256x2 Bytes liegt, überträgt die Verbindungseinheit 43 die Meldung, die sich auf die ersten 256 Bytes beläuft, indem das Kennzeichen F hinzugefügt wird, wie in FIG. 16(b) gezeigt, und überträgt dann die Reste, die sich auf die verbleibenden Bytes belaufen, indem das Kennzeichen L hinzugefügt wird. Falls des weiteren die Länge der zu übertragenden Meldung kleiner als oder gleich 256 Bytes ist, wird die Meldung, die sich auf diese Anzahl von Bytes beläuft, übertragen, indem das Kennzeichen S hinzugefügt wird, wie in FIG. 16(c) gezeigt.
- Daher endet im ANY-Modus der Übertragungsprozeß mit der Übertragung der Reihe der Blöcke F bis L oder mit der Übertragung des einzelnen Blocks S sowohl auf den Sende- als auch Empfangsseiten. Des weiteren werden die Blöcke F und M ständig in 256 Bytes übertragen, und die Blöcke S und L werden in 256 Bytes oder weniger übertragen.
- Andererseits wird im SPC-Modus die gesamte Meldung in dem logischen Puffer, der durch den Eintrag spezifiziert ist, der mit der Deskriptorkette verbunden ist, als die Meldung behandelt, die eine Übertragungseinheit bildet, und zu dem logischen Puffer, der durch die Kette verbunden ist, des Prozessormoduls 30 am Sendeziel übertragen.
- Bei dem SPC-Modus wird solch ein Übertragungssystem verwendet, um das Senden in der Feinteilung zu ermöglichen, so daß es möglich ist, den Aufwand zu reduzieren, der für die Weiterübertragung von Daten innerhalb der lokalen Speichereinheit 42 auf den Sende- und Empfangsseiten erforderlich ist, da der logische Puffer ein allgemeiner Puffer wie im Fall des ANY-Modus ist, und daß ferner die Meldung, die einen großen Umfang hat, gesendet werden kann, ohne durch die Größe des logischen Puffers beeinflußt zu werden, die im allgemeinen vorgesehen ist.
- Bei diesem SPC-Modus ist der erste Block der ersten Eingabe der F-Block, ist der letzte Block der letzten Eingabe der L-Block und sind die anderen mittleren Eingaben die M-Blöcke, wie in FIG. 17 gezeigt. Die Verbindungseinheit 43 der Sendeseite überträgt als einen Übertragungsblock die Einheit von 256 Bytes oder die Eingabe bis zu der Puffergrenze. Zusätzlich führt die Verbindungseinheit 43 der Empfangsseite den Speicherprozeß der nächsten Eingabe in dem logischen Puffer aus, falls die Puffergrenze der Eingabe während des Übertragungsblocks detektiert wird.
- Im SPC-Modus sind die Blöcke F und M nicht unbedingt auf 256 Bytes begrenzt, und die Erneuerung der Eingabe auf den Sende- und Empfangsseiten ist nicht immer synchron. Jedoch stimmt die Gesamtgröße des logischen Puffers für alle Eingaben auf der Sendeseite natürlich mit der Gesamtgröße des logischen Puffers für alle Eingaben auf der Empfangsseite überein. Bei der vorliegenden Erfindung ist ein Mittel vorgesehen, um diese Übereinstimmung zu bestätigen, um die redundante oder fehlende Meldung in dem SPC-Modus zu detektieren.
- Bei der vorliegenden Erfindung beginnt die logische Verbindung zwischen dem S-PORT 51 der Sendeseite und dem R- PORT 53 der Empfangsseite während der Übertragung der Reihe von Meldungen mit dem Senden und dem Empfang des F-Blocks, und sie endet mit dem Senden und dem Empfang des L-Blocks. Die Verbindungsinformationen bezüglich dieser logischen Verbindung werden in dem S-PORT 51 der Sendeseite und dem R- PORT 53 der Empfangsseite gehalten.
- Im allgemeinen hat die Vielzahl von S-PORTs 51 von jeder Verbindungseinheit 43 gleichzeitig die logische Verbindungsbeziehung zu den R-PORTs 53 von anderen Verbindungseinheiten 53.
- Die MSC 62 von jeder Verbindungseinheit 43 schaltet den physikalischen Sendeport (PS-PORT) 55 ihrer eigenen Verbindungseinheit 43. Dieser Schaltprozeß wird in Einheiten von einem Eintrag des Deskriptors ausgeführt. Die Prozesse von der Vielzahl von PS-PORTs 55 von jeder Verbindungseinheit 43 werden in Eintragseinheiten alternierend ausgeführt und durch den Schaltprozeß dieser MSC 62 serialisiert.
- Im ANY-Modus endet die logische Verbindungsbeziehung zwischen dem S-PORT 51 der Sendeseite und dem R-PORT 53 der Empfangsseite bei jeder Eingabeeinheit. Andererseits erfolgt im SPC-Modus, da eine Meldung durch eine Vielzahl von Eingaben gebildet wird, das Schalten des PS-PORTs 55 in einem Zustand, bei dem die logische Verbindung zwischen dem S-PORT 51 der Sendeseite und dem R-PORT 53 der Empfangsseite während der Meldungseinheit bestehen bleibt.
- FIG. 18 zeigt ein Beispiel des Schaltprozesses des PS- PORTs 55. Das heißt, der PS-PORT 55 sendet zuerst die Mel dung des Eingabe A des logischen Sendeports (S-PORT) 51&sub0;, der die Nummer 0 hat, sendet dann die Meldung der Eingabe D des logischen Sendeports (S-PORT) 51&sub1;, der die Nummer 1 hat, sendet die Meldung der Eingabe B des S-PORTs 51&sub0;, sendet als nächstes die Meldung der Eingabe E des S-PORTs 51&sub1; und führt ähnlich den Prozeß zum alternierenden Schalten der Ausgangsmeldung der S-PORTs 51&sub0; und 51&sub1; aus.
- Daher wird, wenn die zwei S-PORTs 51&sub0; und 51&sub1; aktiviert sind, ein Prozeß ausgeführt, um den Sendeprozeß der zwei S- PORTs 51&sub0; und 51&sub1; auszuführen, für die die Aktivierungsan forderung erfolgte. Der PS-PORT 55 wird von dem R-PORT 53 am Kommunikationsziel bei jedem Übertragungsblock in Abhängigkeit von dem Protokoll des gemeinsamen Systembusses 32 getrennt. Durch den Steuerprozeß der MSC 62 wird ein Prozeß ausgeführt, um den S-PORT 51&sub0; oder 51&sub1; erst mit dem PS-PORT 55 zu verbinden, wenn das Senden der gesamten Meldung einer Eingabe vollendet ist.
- Der PR-PORT 56 von jeder Verbindungseinheit 43 teilt den Start des Empfangs der MSC 62 mit, wenn der Meldungsblock empfangen wird. Wenn diese Mitteilung empfangen wird, identifiziert die MSC 62 zuerst die Verbindungseinheit 43, die die Sendequelle ist. Falls der Kommunikationsmodus ferner der ANY-Modus ist und kein R-PORT 53 die logische Verbindungsbeziehung zu der identifizierten Verbindungseinheit 43 hat, führt die MSC 62 eine Steuerung aus, um den Meldungsblock durch den R-PORT zu empfangen, der mit der Stufe des gesendeten Meldungsblocks übereinstimmt.
- Der Meldungsblock, der in diesem Fall empfangen wird, muß der F-Block oder der S-Block sein, und diese logische Verbindung wird als normale fortgeführt, falls der empfangene Meldungsblock der F-Block oder der S-Block ist. Falls der empfangene Meldungsblock andererseits der M-Block oder der L-Block ist, existiert irgendeine Art Protokollfehler, und die MSC 62 teilt dies der Verbindungseinheit 43 an der Sendequelle über den PR-PORT 56 und die Sendesteuereinheit (SNDC) 59 mit und verbindet keinen der R-PORTs 53, die einen Empfang ausführen können. Falls kein R-PORT 53 existiert, der einen Empfang ausführen kann, wird dies zusätzlich der Verbindungseinheit 43 an der Sendequelle gemeldet.
- Falls der Kommunikationsmodus andererseits der ANY- Modus ist und die logische Verbindungsbeziehung zwischen einem der R-PORTs 53 und der identifizierten Verbindungseinheit 43 existiert, führt die MSC 62 eine Steuerung aus, um die Meldung durch diesen R-PORT 53 zu empfangen. Der Meldungsblock, der in diesem Fall empfangen wird, muß der M- Block oder der L-Block sein, und somit wird diese logische Verbindung als normale fortgeführt, falls der empfangene Meldungsblock der M-Block ist, und die logische Verbindung wird als normale beendet, falls der empfangene Meldungsblock der L-Block ist.
- Falls aber der empfangene Meldungsblock der F-Block oder der S-Block ist, liegt irgendeine Art Protokollfehler vor, und die MSC 62 teilt dies der Verbindungseinheit 43 an der Sendequelle über den PR-PORT 56 und die SNDC 59 mit, und bei dem Empfangs-R-PORT 53 wird ein abnormes Ende herbeigeführt.
- Falls der Kommunikationsmodus der SPC-Modus ist, wird einer der R-PORTs 53 vorbereitet, um den Meldungsblock von der Verbindungseinheit 43 an der Sendequelle zu empfangen, und so führt die MSC 62 eine Steuerung aus, um den Meldungsblock durch diesen R-PORT 53 zu empfangen. Im SPC-Modus ist ähnlich wie im ANY-Modus der erste Block der F-Block oder der S-Block, und der Block endet nach einer Folge der M- Blöcke mit dem L-Block. Beim SPC-Modus wird eine temporäre Unterbrechung bei der Meldung, die gesendet wird, in Abhängigkeit von der Erneuerung der Eingabe auf den Sende- und Empfangsseiten erzeugt, und dadurch wird der alternierende Prozeß durch den PS-PORT 55 in Eingabeeinheiten verursacht. Im SPC-Modus ist es auch nicht zulässig, eine Vielzahl von logischen Verbindungsbeziehungen gleichzeitig zwischen der Vielzahl von S-PORTs 51 derselben Verbindungseinheit 43 zu haben.
- Normalerweise werden die Übertragungsblöcke der Meldung von dem S-PORT 51 von anderen Verbindungseinheiten 43 zu dem PR-PORT 56 von jeder Verbindungseinheit 43 übertragen. Aus diesem Grund muß die MSC 62 von jeder Verbindungseinheit 43 den Übertragungsblock verteilen, der zu den R-PORTs 53 von ihrer Verbindungseinheit 43 übertragen wird.
- Dieser Verteilungsprozeß erfolgt in Einheiten von Übertragungsblöcken, die die Eingabeeinheit sind, während auf die logischen Verbindungsinformationen Bezug genommen wird, die durch den R-PORT 53 verwaltet werden. Die Vielzahl von R-PORTs 53 von jeder Verbindungseinheit 43 empfängt die Folge von Meldungen exakt in Abhängigkeit von dem Verteilungsprozeß dieser MSC 62.
- Die obigen logischen Verbindungsinformationen werden in den Kopfteil des Befehlsblocks (Meldung) eingefügt. FIG. 19 zeigt ein Beispiel des Formats des Meldungsblocks auf dem Systembus 32. Wie in dieser Figur gezeigt, umfaßt der Meldungsblock einen Kopfteil 110 und einen Datenteil 111. Der Datenteil 111 umfaßt N Datenwörter, wobei ein Wort aus 4 Bytes besteht.
- Die 3 Bits #1 bis #3 innerhalb des Kopfteils 110 geben die Art des Übertragungsblocks an und geben den Meldungsblock an, wenn sie "010" sind. Zusätzlich kennzeichnen SID und DID jeweilig das Quellenkennzeichen und das Zielkennzeichen. Das Quellenkennzeichen SID ist ein ID auf dem Systembus des Sendebuscontrollers des Übertragungsblocks und kennzeichnet die Verbindungseinheit 43 des Sendeprozessormoduls in dem Fall, wenn der Übertragungsblock der Meldungsblock ist. Das Zielkennzeichen DID ist ein ID auf dem Systembus des Empfangsbuscontrollers des Übertragungsblocks. und kennzeichnet die Verbindungseinheit 43 des Empfangsprozessormoduls in dem Fall, wenn der Übertragungsblock der Meldungsblock ist. Zusätzlich ist MD ein 2-Bit-Kennzeichen, das angibt, ob der Modus der ANY-Modus oder der SPC-Modus ist, und es kennzeichnet den ANY0-Modus, falls es "00" ist, den ANY1-Modus, falls es "01" ist, und den SPC-Modus, falls es "10" ist. SQ ist ein 2-Bit-Blockkennzeichen und kennzeichnet den S-Block, falls es "00" ist, den F-Block, falls es "01" ist, den M-Block, falls es "10" ist, und den L- Block, falls es "11" ist. Der Puffer 90 innerhalb der MSC 62, der in der oben beschriebenen FIG. 9 gezeigt ist, speichert die Kennzeichen MD und SQ und vergleicht sie in dem Komparator 96 mit dem Signal von dem Generator 85, das angibt, ob der F-Block oder der M-Block erwartet wird.
- Zusätzlich kennzeichnet in FIG. 19 DL die Blocklänge (Länge des Datenteus iii) des Meldungsblocks. DPM ist ein Empfangsprozessormodul-ID der Meldung und ist normalerweise mit dem obigen DID identisch. SPM ist ein Sendeprozessormodul-ID der Meldung und ist normalerweise mit dem obigen SID identisch.
- Der Statusblock auf dem Systembus 32, der das Prozeßresultat der empfangenen Meldung angibt, hat ein Format, das in FIG. 20 gezeigt ist. In dieser Figur kennzeichnen die 3 Bits #1 bis #3 die Art des Übertragungsblocks, und der Statusblock wird angegeben, wenn sie "111" lauten. Zusätzlich ist das Quellenkennzeichen SID ein ID auf dem Systembus 32 des Sendebuscontrollers des Übertragungsblocks, und es gibt die Verbindungseinheit 43 des Empfangsprozessormoduls im Falle des Status bezüglich des Meldungsblocks an, im Gegensatz zu dem SID des Meldungsblocks.
- Das Zielkennzeichen DID ist ein ID auf dem Systembus 32 des Empfangsbuscontrollers des Übertragungsblocks und gibt die Verbindungseinheit 43 des Sendeprozessormoduls im Falle des Status bezüglich des Meldungsblocks an. Das 3-Bit-Kennzeichen OPCD kennzeichnet den Übertragungsblock, zu dem der Status gehört, und ist der Statusblock bezüglich des Meldungsblocks, falls es "010" lautet. Ferner gibt der Code CSC das Prozeßresultat innerhalb des Empfangsprozessormoduls bezüglich des übertragenen Meldungsblocks an.
- Als nächstes erfolgt unter Bezugnahme auf FIG. 21 eine Beschreibung eines Beispiels des Verteilungsprozesses des PR-PORTs 56. Die Meldungsblöcke AF, BF, CF, AM1, BM1, CM1, ... werden alternierend dem PR-PORT mit der Nummer 0 56&sub0; und dem PR-PORT mit der Nummer 1 56&sub1; eingegeben. Die Buchstaben A, B, C und dergleichen kennzeichnen die Art des Meldungsblocks, das heißt, Beispiele der Verbindungseinheiten 43 des Meldungssendeprozessormoduls. Zusätzlich kennzeichnen die tiefgestellten Indizes F, M und L den obigen F-Block, M- Block und L-Block.
- Die MSC 62 verteilt den Übertragungsblock AF, der zuerst zu dem R-PORT mit der Nummer 0 53&sub0; übertragen wird, auf der Basis des SID und SPM von FIG. 19. Als nächstes wird der Übertragungsblock BF, der von dem PR-PORT 561 übertragen wird, auf den R-PORT mit der Nummer 1 53&sub1; verteilt, wird der Übertragungsblock CF, der von dem PR-PORT 56&sub0; übertragen wird, auf den R-PORT mit der Nummer 2 53&sub2; verteilt und wird der Übertragungsblock AM1, der von dem PR-PORT 56&sub1; übertragen wird, auf den R-PORT mit der Nummer 0 53&sub0; verteilt.
- Demzufolge werden die Meldungen zu den R-PORTs 53&sub0; bis 53&sub3; bei jeder Meldungssteuerung in der Reihenfolge übertragen, wie in FIG. 21 gezeigt, und es ist möglich, einen exakten Empfangsprozeß der Meldung auszuführen.
- Als nächstes erfolgt eine eingehende Beschreibung der Fehlerverarbeitung eines wesentlichen Teils dieser Ausführungsform.
- Die Abnormitäten, die während der Folge von Meldungskommunikationsprozessen der vorliegenden Erfindung hervorgerufen werden können, können grob klassifiziert werden in Hardwarefehler innerhalb des Prozessormoduls 30 der Sendeseite, in Hardwarefehler innerhalb des Prozessormoduls 30. der Empfangsseite, in Hardwarefehler während der Übertragung auf dem gemeinsamen Systembus 32 und in Softwarefehler des Prozessormoduls 30 der Empfangsseite, die Ablaufsteuerstörungen und dergleichen enthalten.
- Die Abnormitätsdetektion erfolgt in verschiedenen Teilen der Verbindungseinheit 43 der Sendeseite, des gemeinsamen Systembusses 32 und der Verbindungseinheit 43 der Empfangsseite. Bevor die logische Verbindung zwischen der Sendeseite und der Empfangsseite beginnt, wird normalerweise die Abnormität, die durch den Start der Operation der Sendeseite getriggert und gestartet wird, nur der Software des Prozessormoduls 30 der Sendeseite gemeldet. Zustzlich wird die Abnormität, die durch die Empfangsoperation verursacht wird, nur der Software des Prozessormoduls 30 der Empfangsseite gemeldet.
- Nachdem andererseits die logische Verbindung zwischen der Sendeseite und der Empfangsseite hergestellt ist, ist es erforderlich, diesen Zustand der logischen Verbindung sofort zu lösen, wenn eine gewisse Art Fehler erzeugt wird. Falls zum Beispiel der Zustand der logischen Verbindung nur auf der Sendeseite und nicht auf der Empfangsseite gelöst wird, besteht die Möglichkeit, daß sich der R-PORT 53 der Empfangsseite aufhängen kann. Um solch eine Situation zu vermeiden, ist eine Hardwarefunktion vorgesehen, um die beiden Zustände der logischen Verbindung soweit wie möglich zu lösen. Falls das Lösen unter Verwendung der genannten Härdwarefunktion allein nicht möglich ist, ist eine Hardwarefunktion vorgesehen, die mit der Software kooperiert, um die Zustände der logischen Verbindung zu lösen.
- Die Fehler, die während der logischen Verbindung erzeugt werden können, ksnnen in die folgenden 5 Arten klassifiziert werden. Bei dem gemeinsamen Systembus 32 wird in diesem Fall der Split-Typ verwendet, und die Meldungskommunikation enthält die Übertragung des Meldungsblocks, der das in FIG. 19 gezeigte Datenf ormat hat, von der Sendeseite zu der Empfangsseite und die Übertragung des Statusblocks, der das in FIG. 20 gezeigte Datenformat hat, von der Empfangsseite zu der Sendeseite. Die Folge von logischen Meldungen wird vollendet, indem die Meldungsübertragung und die Statusübertragung diesbezüglich viele Male wiederholt werden.
- 1 Fehler, der während einer Meldungsübertragung auf dem gemeinsamen Systembus 32 detektiert wird;
- 2 Fehler, der während einer Statusübertragung auf dem gemeinsamen Systembus 32 detektiert wird;
- 3 Fehler, der während eines internen Prozesses (Speicherprozeß für die LSU 42 und dergleichen) des Prozessormoduls 30 der Empfangsseite detektiert wird;
- 4 Fehler, der während eines internen Prozesses (Ausleseprozeß von der LSU 42 und dergleichen) des Prozessormoduls 30 der Sendeseite detektiert wird; und
- 5 Schwerwiegender Fehler, der in dem Prozessormodul 30 der Sendeseite erzeugt wird.
- Im Fall der Fehler 1 und 2 wird der Fehler dem Prozessormodul 30 der Sendeseite mitgeteilt. Als Reaktion auf diese Mitteilung löst die Verbindungseinheit 43 des Prozessormoduls 30 der Sendeseite den Zustand der logischen Verbindung und meldet dies der Software, die auf der zentralen Verarbeitungseinheit 41 läuft, durch eine externe Unterbrechung.
- Als Reaktion auf diese Mitteilung liest die Software die Endzustandsinformationen CSC, die in das SPCST-Register des Steuerregisters 52 geschrieben sind, das in Verbindung mit FIG. 12 beschrieben wurde, und sendet dieselbe Meldung erneut zu dem Prozessormodul 30 der Empfangsseite gemäß diesem Detektionsresultat. Denn der Fehler wird während der Meldungsübertragung auf dem gemeinsamen Systembus 32 erzeugt, und der Zustand der logischen Verbindung kann bei dem Prozessormodul 30 der Empfangsseite noch fortbestehen.
- Als Reaktion auf dieses erneute Senden detektiert die Verbindungseinheit 43 des Prozessormoduls 30 der Empfangsseite eine Protokollverletzung, da die Meldung des F-Blocks von demselben Prozessormodul 30 gesendet wird, wenn der M- Block oder der L-Block erwartet wird, da sie in dem Zustand der logischen Verbindung ist. Daher gibt die Verbindungseinheit 43 den Zustand der logischen Verbindung dementsprechend frei und teilt dies der Software, die auf der zentralen Verarbeitungseinheit 41 läuft, durch eine externe Unterbrechung mit. Durch diese Fehlerverarbeitung ist es möglich, den Zustand der logischen Verbindung sowohl auf der Sendeals auch auf der Empfangsseite zu lösen.
- In dem Fall des Fehlers 2 wird der Fehler dem Prozessormodul 30 der Empfangsseite mitgeteilt. Als Reaktion auf diese Mitteilung löst die Verbindungseinheit 43 des Prozessormoduls 30 der Empfangsseite den Zustand der logischen Verbindung und teilt dies der Software, die auf der zentralen Verarbeitungseinheit 41 läuft, durch eine externe Unter brechung mit. In diesem Zustand erwartet die Verbindungseinheit 43 des Prozessormoduls 30 der Sendeseite eine Statusübertragung und betreibt einen Zeitgeber zum Erwarten der Statusübertragung.
- Falls die Statusübertragung selbst nach Ablauf einer konstanten Zeit nicht empfangen wird, wird der Zustand der logischen Verbindung gelöst, indem die Zeitsperre detektiert wird, und eine externe Unterbrechung wird verwendet, um dies der Software mitzuteilen, die auf der zentralen Verarbeitungseinheit 41 läuft. Durch diese Fehlerverarbeitung ist es möglich, den Zustand der logischen Verbindung sowohl auf der Sende- als auch auf der Empfangsseite zu lösen.
- Wenn der Fehler 3 detektiert wird und die Erzeugungszeit dieses Fehlers vor dem Senden des Status liegt, informiert die Verbindungseinheit 43 des Prozessormoduls 30 der Empfangsseite das Prozessormodul 30 der Sendeseite durch die Statusübertragung von der Fehlererzeugung, löst sie den Zustand der logischen Verbindung und teilt dies ferner der Software, die auf der zentralen Verarbeitungseinheit 41 läuft, durch eine externe Unterbrechung mit.
- Das Prozessormodul 30 der Sendeseite bewirkt bei Empfang des Status, der die Fehlererzeugung mitteilt, ein abnormes Ende und teilt dies der Software, die auf der zentralen Verarbeitungseinheit 41 läuft, durch eine externe Unterbrechung mit. Durch diese Fehlerverarbeitung ist es möglich, den Zustand der logischen Verbindung sowohl auf der Sende- als auch auf der Empfangsseite zu lösen.
- In dem Fall, wenn die Fehlererzeugung durch die Statusübertragung nicht dem Prozessormodul 30 der Sendeseite gemeldet werden kann, weil die Erzeugungszeit des Fehlers nach der Statusübertragung und dergleichen erfolgt, löst die Verbindungseinheit 43 der Prozessoreinheit 30 der Empfangsseite die logische Verbindung und teilt dies der Software, die auf der zentralen Verarbeitungseinheit 41 läuft, durch eine externe Unterbrechung mit.
- Die Verbindungseinheit 43 des Prozessormoduls 30 der Empfangsseite wird gemäß der Verarbeitung der Software, die diese Mitteilung empfängt, neu gestartet, und der F-Block/S- Block von dem Prozessormodul 30 der Sendeseite wird erwartet. Da in diesem Zustand der M-Block oder der L-Block von dem Prozessormodul 30 der Sendeseite gesendet wird, teilt die Verbindungseinheit 43 des Prozessormoduls 30 der Empfangsseite die Fehlererzeugung dem Prozessormodul 30 der Sendeseite durch die Statusübertragung mit.
- Wenn diese Mitteilung empfangen wird, löst die Verbindungseinheit 43 des Prozessormoduls 30 der Sendeseite den Zustand der logischen Verbindung und teilt dies der Software, die auf der zentralen Verarbeitungseinheit 41 läuft, durch eine externe Unterbrechung mit. Durch diese Fehlerverarbeitung ist es möglich, den Zustand der logischen Verbindung sowohl auf der Sende- als auch auf der Empfangsseite zu lösen.
- Im Fall des Fehlers 5 hängt sich das Prozessormodul 30 der Empfangsseite in dem Zustand der logischen Verbindung auf, da das Prozessormodul 30 der Sendeseite im Stoppzustand ist. Um dieses Aufhängen zu vermeiden, führt die Software, die auf der zentralen Verarbeitungseinheit 41 des Prozessormoduls 30 der Empfangsseite läuft, periodisch eine Abfrage der Angabeinformationen des RPOPS-Registers des Steuerregisters 54 aus, das in Verbindung mit FIG. 13 beschrieben wurde und vorgesehen ist, um den Operationszustand des R- PORTs 53 anzugeben. Durch diese Abfrage wird detektiert, daß der Zustand der logischen Verbindung für mehr als eine vorbestimmte konstante Zeit fortgesetzt wird.
- Das Lösen des Zustandes der logischen Verbindung wird angegeben, indem eine Angabe bezüglich des erzwungenen Endes während der Operation in das RPFCP-Register des Steuerregisters 54 geschrieben wird, das in Verbindung mit FIG. 13 beschrieben wurde. Durch diese Fehlerverarbeitung ist es möglich, das Aufhängen im Zustand der logischen Verbindung des Prozessormoduls 30 der Empfangsseite zu eliminieren, das durch den schwerwiegenden Fehler des Prozessormoduls 30 der Sendeseite verursacht wird.
- Als nächstes erfolgt eine Beschreibung der Endschnittstelle zwischen der Hardware und der Software.
- Die Software, die auf der zentralen Verarbeitungseinheit 41 läuft, kann den Stand der Verarbeitung jedes Eintrags der Deskriptorkette durch die folgenden drei Mittel erkennen.
- Das heißt, bei dem ersten Mittel werden die Angabedaten des Steuerregisters 52, das zu jedem S-PORT 51 gehört, und die Angabedaten des Steuerregisters 54, das zu jedem R-PORT 53 gehrt, überwacht. Die Adresseninformationen in der lokalen Speichereinheit 42 des Eintrags des Deskriptors, der gerade verarbeitet wird, werden in das SPOPS-Register und das RPOPS-Register dieser Steuerregister 52 und 53 geschrieben, wie oben erläutert, und die Software kann durch solch eine Überwachung Kenntnis vom Stand der Verarbeitung haben.
- Bei dem zweiten Mittel wird "1" in dem D-Bit des Eintrags des Deskriptors gesetzt. Wenn "1" in dem D-Bit gesetzt ist, erfolgt eine externe Unterbrechung bezüglich der Software zu der Zeit, wenn die Verarbeitung dieses Deskriptors vollendet ist. Daher kann die Software durch diese externe Unterbrechung Kenntnis vom Stand der Verarbeitung haben.
- Diese zwei Verfahren werden verwendet, wenn die Verarbeitung von jedem Eintrag der Deskriptorkette normal abläuft. Obwohl in diesem Fall der Eintrag des Deskriptors des S-PORTs 51 derselbe bleibt, wird ein Inhalt, der von der Empfangsmeldung abhängt, in den Eintrag des Deskriptors des R-PORTs 53 geschrieben.
- Mit anderen Worten, in dem ANY-Modus wird die Größe der Empfangsmeldung in das BCT-Informationsfeld von jedem Eintrag geschrieben, wird die nächste Adresse der letzten Daten in das BUFA-Informationsfeld geschrieben und wird die Einheitsnummer der Verbindungseinheit 43 des Prozessormoduls an der Sendequelle in das UID-Informationsfeld geschrieben. Andererseits werden in dem SPC-Modus nur das BUFA- Informationsfeld und das UID-Informationsfeld neu beschrieben. Die Software des Prozessormoduls 30 auf der Empfangsseite kann die Meldungsgröße und die Sendequelle auf der Basis dieser Informationen erkennen. Wenn der letzte Eintrag der Deskriptorkette vollendet ist, erzeugt die Verbindungseinheit 43 ungeachtet des D-Bits eine externe Unterbrechung bezüglich der Software.
- Bei dem dritten Mittel wird zur Kenntnis des Standes der Verarbeitung eine externe Unterbrechung bezüglich der Software erzeugt, wenn die Abnormität des Prozesses detektiert wird, und die Endinformationen, die den Inhalt der Abnormität beschreiben, werden in das SPCST-Register und das RPCST-Register der Steuerregister 52 und 54 geschrieben. Daher kann die Software Kenntnis vom Stand der Verarbeitung nur durch diese externe Unterbrechung haben und kann die Details des Abnormitätsinhaltes unter Bezugnahme auf diese Endinformationen erkennen. Die Software erkennt den Eintrag, bei dem die Abnormität aufgetreten ist, gem:ß dem SPOPS- Register und dem RPOPS-Register der Steuerregister 52 und 54.
- Selbst in dem Fall, wenn die Verarbeitung aller Einträge des Deskriptors, der im voraus vorbereitet wurde, normal endet, wird ähnlich eine externe Unterbrechung hinsichtlich der Software erzeugt. In diesem Fall werden Endinformationen, die das normale Ende angeben, durch das SPCST-Register und das RPCST-Register gemeldet.
- In dieser Ausführungsform enthält die Software, die auf der zentralen Verarbeitungseinheit 41 läuft, ein Mittel zum Angeben des Endes der Verarbeitung von jedem S-PORT 51 und jedem R-PORT 53 während der Verarbeitung der Deskriptorkette.
- Mit anderen Worten, durch Schreiben der Angabe des erzwungenen Endes in das SPFCP-Register des Steuerregisters des S-PORTs 51 gibt die Software das erzwungene Ende der Verarbeitung dieses S-PORTs 51 an. Durch Schreiben der Angabe des erzwungenen Endes in das RPFCP-Register des Steuerregisters 54 des R-PORTs 53 gibt die Software andererseits das erzwungene Ende der Verarbeitung dieses S-PORTs 51 an.
- Wenn das Ende angegeben wird, gibt es zwei Modusarten des erzwungenen Endes. Ein Modus des erzwungenen Endes gibt das erzwungene Ende an, nachdem die Verarbeitung des Eintrags, der gegenwärtig verarbeitet wird, vollendet ist. Der andere Modus des erzwungenen Endes gibt das sofortige erzwungene Ende ungeachtet des Verarbeitungszustandes des Eintrags an (falls jedoch der Empfang des Übertragungsblocks läuft, wird das erzwungene Ende nach dessen Vollendung angegeben).
- Wenn die Software das erzwungene Ende der Verarbeitung des S-PORTs 51 angibt, setzt die Software ein Flag in der "N"-Zone des SPFCP-Registers des Steuerregisters 52, das in FIG. 12 gezeigt ist, falls das erzwungene Ende gemäß ersterem Modus ausgeführt wird. Wenn das erzwungene Ende andererseits gemäß letzterem Modus ausgeführt wird, setzt die Software ein Flag in der "I"-Zone des SPFCP-Registers.
- Wenn das erzwungene Ende der Verarbeitung des R-PORTs 53 angegeben wird, wird zusätzlich ein Flag in der "N"-Zone des RPFCP-Registers des Steuerregisters 54 gesetzt, das in FIG. 13 gezeigt ist, falls das erzwungene Ende gemäß ersterem Modus ausgeführt wird. Wenn das erzwungene Ende andererseits gemäß letzterem Modus ausgeführt wird, wird ein Flag in der "I"-Zone des RPFCP-Registers gesetzt.
- Wenn die Angabe des erzwungenen Endes gemäß ersterem Modus in das SPFCP-Register und das RPFCP-Register der Steuerregister 52 und 54 durch die Software geschrieben wird, führt die MSC 62 den Prozeß des erzwungenen Endes zu der Zeit aus, wenn die Vollendung der Verarbeitung des Eintrags, der gerade verarbeitet wird, bestätigt ist, indem der Stand der Verarbeitung des S-PORTs 51 und des R-PORTs 53 überwacht wird.
- Wenn andererseits die Angabe des erzwungenen Endes gemäß letzterem Modus geschrieben wird, führt die MSC 62 den Prozeß des erzwungenen Endes unmittelbar nach Vollendung des Sendens und des Empfangs aus, falls das Senden und der Empfang gerade erfolgen, ohne den Stand der Verarbeitung des S-PORTs 51 und des R-PORTs 53 zu überwachen. Mit anderen Worten, der Verarbeitungszustand des S-PORTs 51 wird zwingend in den oben beschriebenen "Zustand C" versetzt, und der Verarbeitungszustand des R-PORTs 53 wird zwingend in den oben beschriebenen "Zustand C" versetzt.
- Als nächstes erfolgt eine eingehende Beschreibung des Operationsprozesses des S-PORTs 51.
- Die Folge von Sendeoperationen gemäß der Angabe der Software, die auf der zentralen Verarbeitungseinheit 41 läuft, wird durch den S-PORT 51 verwaltet. Dieser S-PORT 51 führt den Meldungssendeprozeß gemäß der Operationsangabe für die MSC 62 und der Operationsangabe für die DMAC 58 und den PS-PORT 55 über die MSC 62 aus. FIG. 22 zeigt ein Zustandsübergangsdiagramm des Prozesses, der durch den S-PORT 51 ausgeführt wird. Die Operationsbedingung von jedem Zustand dieses S-PORTs 51 ist unten angegeben.
- Dieser Zustand wartet auf die Operationsangabe von der Software. Ein Zustandsübergang in den Zustand DF1 erfolgt durch den Schreibzugriff des Kommunikationsmodus des Steuerregisters 52 bezüglich des PODF-Registers.
- Dies ist ein Deskriptorholoperationszustand. Durch die MSC 62 und die DMAC 58 und gemäß dem Adressenzustand, der durch das SPCSA-Register des Steuerregisters 52 angegeben wird, wird ein Eintrag der Deskriptorkette von der lokalen Speichereinheit 42 in die Arbeitszone für den logischen Sendeport innerhalb des Dualport-RAMs 61 geladen, um einen Zustandsübergang in den Zustand SND1 zu vollziehen. Falls die BC-Bits des geladenen Eintrags die Verzweigung angeben, wird der Zustand DF1 beibehalten, und das SPDSA-Register des Steuerregisters 52 wird für die Verzweigungsadresse umgeschrieben.
- Der Übertragungsblock der ersten Meldung wird aus dem logischen Puffer geholt, der durch den geladenen Eintrag spezifiziert ist, und eine Sendeanforderung wird bezüglich des PS-PORTs 55 ausgegeben. Der Übertragungsblock, der geholt wird, wird in dem Haltepuffer des logischen Sendeports gespeichert, der innerhalb des Dualport-RAMs 61 vorgesehen ist. In diesem Fall wird dem Block, der übertragen wird, das Kennzeichen F oder S in Abhängigkeit von seiner Blockgröße zugeordnet. Falls das Kennzeichen F zugeordnet wird, erfolgt ein Zustandsübergang in den Zustand SND2, und es erfolgt ein Zustandsübergang in den Zustand STS, falls das Kennzeichen S zugeordnet wird.
- In Entsprechung zu dem gemeinsamen Systembus 32, bei dem das Split-Bussystem verwendet wird, wird die Antwort bezüglich des übertragenen Blocks erwartet, und gleichzeitig wird der nächste Übertragungsblock nach Empfang der Antwort geholt, und die Sendeanforderung wird bezüglich des PS-PORTs 55 ausgegeben. In diesem Zustand wird das Kennzeichen M oder L dem Block zugeordnet, der übertragen wird. Der Zustand SND2 wird gehalten, falls das Kennzeichen M zugeordnet wird, und ein Zustandsübergang in den Zustand STS erfolgt, falls das Kennzeichen L zugeordnet wird.
- Dieser Zustand wartet auf die Antwort bezüglich des Blocks, der zuletzt übertragen wurde. Ein Zustandsübergang in den Zustand DC erfolgt nach Empfang der Antwort.
- Um den Verarbeitungseintrag zu dem nächsten zu bewegen, wird das SPDSA-Register des Steuerregisters 52 erneuert (Hinzufügen von 16 Bytes). Wenn die Fortsetzung des Deskriptors durch die BC-Bits des Eintrags angegeben wird, für den der Prozeß vollendet ist, erfolgt ein Zustandsübergang in den Zustand DF1, falls der Kommunikationsmodus der ANY-Modus ist, und ein Zustandsübergang in den Zustand DF2, falls der Kommunikationsmodus der SPC-Modus ist. Falls andererseits keine Fortsetzung durch die BC-Bits angegeben wird, erfolgt ein Zustandsübergang in den Zustand C.
- Dies ist derselbe wie der Zustand DF1, außer dem Zustandsübergang in den Zustand SND3 nach Vollendung.
- Der erste Übertragungsblock wird aus dem logischen Puffer geholt, der durch den geladenen Eintrag spezifiziert ist, um die Sendeanforderung bezüglich des PS-PORTs 55 auszugeben. Der Übertragungsblock, der geholt wird, wird in dem Haltepuffer für den logischen Sendeport gespeichert, der innerhalb des Dualport-RAMs 61 vorgesehen ist. Obwohl der Eintrag verändert worden ist, wird das Kennzeichen M oder L dem Block zugeordnet, der in Entsprechung zu dem SPC-Modus übertragen wird. Es erfolgt ein Zustandsübergang in den Zustand SND2, falls das Kennzeichen M zugeordnet wird, und es erfolgt ein Zustandsübergang in den Zustand STS, falls das Kennzeichen L zugeordnet wird.
- Dies ist ein Zustand, bei dem die Folge von Übertragungsoperationen im S-PORT 51 beendet wird. Ein Zustandsübergang in diesen Zustand erfolgt auch in dem Fall eines abnormen Endes, wenn verschiedene Abnormitäten bei jedem der Zustände detektiert werden. Es erfolgt ein Übergang in den Zustand A, falls die Holoperation bezüglich des SPCST-Registers (beschrieben mit den Endinformationen) des Steuerregisters 52 durch die Software ausgeführt wird.
- Als nächstes erfolgt eine detaillierte Beschreibung des Operationsprozesses des R-PORTs 53.
- Die Folge von Empfangsoperationen gemäß der Angabe der Software, die auf der zentralen Verarbeitungseinheit 41 läuft, wird durch den R-PORT 53 verwaltet. Dieser R-PORT 53 führt den Meldungssendeprozeß in Abhängigkeit von der Operationsangabe für die MSC 62 und von der Operationsangabe für die DMAC 58 und den PR-PORT 56 über die MSC 62 aus.
- FIG. 23 zeigt ein Zustandsübergangsdiagramm des Prozesses, der durch diesen R-PORT 53 ausgeführt wird. Die Operationsbedingungen bei jedem Zustand dieses R-PORTs 53 sind unten angegeben.
- Dies ist ein Zustand, bei dem die operationsangabe von der Software erwartet wird. Ein Zustandsübergang in den Zustand DF1 erfolgt durch den Schreibzugriff des Operationsmodus bezüglich des RPODF-Registers des Steuerregisters 54.
- Dies ist ein Deskriptorholoperationszustand. Durch die MSC 62 oder die DMAC 58 wird ein Eintrag der Deskriptorkette in die Arbeitszone für den logischen Empfangsport innerhalb des Dualport-RAMs 61 von der logischen Speichereinheit 42 in Abhängigkeit von den Adresseninformationen geladen, die durch das RPDSA-Register des Steuerregisters 54 spezifiziert sind, und es erfolgt ein Zustandsübergang in den Zustand RDY1.
- Falls die BC-Bits des geladenen Eintrags die Verzweigung angeben, wird der Zustand DF1 beibehalten, und das RPDSA-Register des Steuerregisters 54 wird für die Verzweigungsadresse neu beschrieben.
- Dies ist ein Zustand, bei dem der Empfang des Übertragungsblocks der ersten Meldung für den geladenen Eintrag erwartet wird. Falls das Kennzeichen des empfangenen Übertragungsblocks F oder S ist, spezifiziert der PR-PORT 56 den R-PORT im übereinstimmenden Kommunikationsmodus von den R- PORTs 53 in dem Zustand RDY1 und führt eine logische Verbindung mit diesem spezifizierten R-PORT aus.
- Wenn diese logische Verbindung realisiert ist, speichert dieser R-PORT den Übertragungsblock, der in dem Haltepuffer für den logischen Empfangsport gespeichert ist, der innerhalb des Dualport-RAMs 61 vorgesehen ist, in dem logischen Puffer, der durch den geladenen Eintrag spezifiziert ist.
- Nachdem dieser Speicherprozeß vollendet ist und falls das Kennzeichen des empfangenen Übertragungsblocks F lautet, wird eine Antwortsendeanforderung an den gemeinsamen Systembus 32 ausgegeben, um einen Zustandsübergang in den Zustand RDY2 zu vollziehen. Falls das Kennzeichen des empfangenen Übertragungsblocks S lautet, erfolgt ein Zustandsübergang. in den Zustand DS, indem die Antwortsendeanforderung für den gemeinsamen Systembus 32 gehalten wird. Falls der Kommunikationsmodus der SPC-Modus ist und der Block in seiner Gesamtheit nicht in dem spezifizierten logischen Puffer gespeichert werden kann, erfolgt ein Zustandsübergang in den Zustand DS während der Speicheroperation, und in diesem Fall wird die Antwortsendeanforderung für den gemeinsamen Systembus 32 auch gehalten.
- Dies ist ein Zustand des Erwartens des Empfangs des nächsten Übertragungsblocks, und der R-PORT 53 hat schon die logische Verbindungsbeziehung zu dem S-PORT 51 eines anderen Prozessormoduls 30. Falls das Kennzeichen des empfangenen übertragungsblocks M oder L lautet, spezifiziert der PR-PORT 56 den R-PORT, der von den R-PORTs 53 in dem Zustand RDY2 empfangen soll, und führt eine logische Verbindung mit diesem spezifierten R-PORT aus.
- Wenn diese logische Verbindung realisiert ist, speichert dieser R-PORT den Übertragungsblock, der in dem Haltepuffer für den logischen Empfangsport gespeichert ist, der innerhalb des Dualport-RAMs 61 vorgesehen ist, in dem logischen Puffer, der durch den geladenen Eintrag spezifiziert ist. Nachdem der Speicherprozeß vollendet ist und wenn das Kennzeichen des empfangenen Übertragungsblocks M lautet, wird der Zustand RDY2 gehalten, indem die Antwortsendeanforderung an den gemeinsamen Systembus 32 ausgegeben wird. Falls das Kennzeichen des empfangenen Übertragungsblocks L lautet, wird die Antwortsendeanforderung für den gemeinsamen Systembus gehalten, und es erfolgt ein Zustandsübergang in den Zustand DS.
- Falls der Kommunikationsmodus der SPC-Modus ist und der Block in seiner Gesamtheit nicht in dem spezifischen logischen Puffer gespeichert werden kann, erfolgt ein Zustandsübergang in den Zustand DS während der Speicheroperation, und in diesem Fall wird die Antwortsendeanforderung für den gemeinsamen Systembus 32 auch gehalten.
- Dies ist ein Zustand zum Schreiben der Verarbeitungssituation in den Eintrag, nachdem die Verarbeitung des geladenen Eintrags vollendet ist. Die Informationen werden in das BCT-Informationsfeld, das UID-Informationsfeld und dergleichen des Eintrags geschrieben. Ferner wird das RPDSA Register des Steuerregisters 54 erneuert (Hinzufügen von 16 Bytes), um den Verarbeitungseintrag zu dem nächsten zu bewegen. Falls der Kommunikationsmodus der ANY-Modus ist, wird die Antwortsendeanforderung für den gemeinsamen Systembus 32 ausgegeben, die in dem Zustand RDY1 oder dem Zustand RDY2 gehalten wird.
- Wenn die Fortsetzung des Deskriptors durch die BC-Bits des Eintrags angegeben wird, dessen Verarbeitung vollendet ist, erfolgt ein Zustandsübergang in den Modus DF1, falls der Kommunikationsmodus der ANY-Modus ist, und ein Zu standsübergang in den Modus DF2, falls der Kommunikationsmodus der SPC-Modus ist. Andererseits erfolgt ein Zustandsübergang in den Zustand C, falls durch die BC-Bits keine Fortsetzung angegeben wird.
- Die zweiten und folgenden Einträge werden geholt, falls der Kommunikationsmodus der SPC-Modus ist, und falls erforderlich, wird die Antwortsendeanforderung für den gemeinsamen Systembus 32 ausgegeben, die in dem Zustand RDY1 oder dem Zustand RDY2 gehalten wird. Der Rest der Operation ist sonst derselbe wie bei dem Zustand DF1.
- Dies ist ein Zustand, bei dem die Folge von Übertragungsoperationen im R-PORT 53 beendet ist. Ein Zustandsübergang in diesen Zustand erfolgt auch in dem Fall des abnormen Endes, wenn verschiedene Abnormitäten in jedem Zustand detektiert werden. Falls zum Beispiel die MSC 62 die Übertragung der Meldung des F-Blocks in dem Zustand RDY2 des R PORTs 53 detektiert, wird der Zustand dieses R-PORTs 53 in den Zustand C verändert. Ein Zustandsübergang in den Zustand A erfolgt, wenn die Holoperation durch die Software bezüglich des RPCST-Registers (beschrieben mit Endinformationen) des Steuerregisters 54 ausgeführt wird.
- Die Konstruktion und Operation des physikalischen Sendeports (PS-PORT) 55, des physikalischen Empfangsports (PR- PORT) 56, der Zugriffssteuereinheit (BSC) 57, der Speicherzugriffssteuereinheit (DMAC) 58, der Sendesteuereinheit (SNDC) 59, der Empfangssteuereinheit (RCVC) 60 und der Hauptablaufsteuereinheit (MSC) 62, die andere Bildungseinheiten der Verbindungseinheit 43 sind, unterscheiden sich in Abhängigkeit von dem PM-internen Bus 44 und dem gemeinsamen Systembus 32, die tatsächlich verwendet werden. Die MSC 57 und die DMAC 58 hängen von dem PM-internen Bus 44 ab, der PS-PORT 55 und der PR-PORT 56 hängen von dem gemeinsamen Systembus 32 ab, und die MSC 62 hängt von der Implementierung ab.
- Deshalb kann gemäß dieser Ausführungsform das Prozessormodul 30 der Sendeseite eine große Meldungsmenge zu den Prozessormodulen 30 an einer Vielzahl von Kommunikationszielen mit kleinem Aufwand senden, indem der SPC-Modus spezifiziert wird.
- Wenn die Meldungskommunikation zwischen einer Vielzahl von Prozessormodulen erfolgt, die ein lose gekoppeltes Multiprozessorsystem in dem Meldungssteuersystem für ein Datenkommunikationssystem gemäß der vorliegenden Erfindung bilden, ist es möglich, wie oben beschrieben, auf einmal eine große Meldungsmenge mit kleinem Aufwand zu senden, ohne daß die Konstruktionen der Puffer innerhalb der Prozessormodule auf den Sende- und Empfangsseiten übereinstimmen müssen, und das System ist somit zur Verwendung in einem großen Datenkommunikationssystem geeignet.
Claims (19)
1. Meldungssteuersystem für ein
Datenkommunikationssystem, bei dem eine Systemstruktur verwendet wird, bei der
eine Vielzahl von Prozessormodulen (10, 30) über einen
Systembus (20, 32) miteinander verbunden ist, welches
Meldungssteuersystem ein Prozessormodul (10, 30) hat, das eine
zentrale Verarbeitungseinheit (11, 41) enthält, eine
Speichereinheit (12, 42), auf die nur durch die zentrale
Verarbeitungseinheit (11, 41) zugegriffen werden kann, und eine
Verbindungseinheit (13, 43), die eine Schnittstelle zwischen
der Speichereinheit (12, 42) und dem Systembus (20, 32)
bildet, bei dem
die Speichereinheit (12, 42) des Prozessormoduls
(10, 30) enthält:
einen Datenverarbeitungsteil (14), der Software
ist, die auf der zentralen Verarbeitungseinheit (11, 41)
läuft,d
einen Puffer (16), der eine Speicherzone bildet
und in dem eine Sendemeldung zerlegt und gespeichert wird,
und
einen Deskriptor (15), der Adressen- und
Datenlängeninformationen der Speicherzone für eine Meldung
verwaltet;
und die Verbindungseinheit (13, 43) des
Prozessormoduls (10, 30) wenigstens eines der folgenden Elemente
enthält:
einen Sendeport (17), der die Meldung aus dem
Puffer (16) auf der Basis der Informationen des Deskriptors
(15) sukzessive liest und dieselbe als zusammenhängende
Meldung sendet, und
einen Empfangsport (18), der eine zu ihm gesendete
Meldung empfängt und dann in seinem eigenen Prozessormodul
(10, 30) speichert, auf der Basis der Informationen des
Deskriptors (15),
bei dem eine Meldung von einem Prozessormodul auf
einer Sendeseite zu einem Prozessormodul auf der
Empfangsseite als Ziel übertragen werden kann;
dadurch gekennzeichnet, daß der Deskriptor die
Form einer Kette hat, mit Einträgen, die
Adresseninformationen und Größeninformationen des Puffers (16) in der
Speichereinheit (12, 42) beschreiben, und daß die
Verbindungseinheit in ersten und zweiten Kommunikationsmodi
betriebsfähig ist, wobei
in dem ersten Modus (ANY) jede Meldung in dem
Puffer, der durch einen Eintrag des Deskriptors (15)
spezifiziert ist, als eine Übertragungseinheit behandelt wird und
zu dem Prozessormodul (10, 30) am Ziel gesendet wird, und
in dem zweiten Modus (SPECIFIC) die Meldungen
insgesamt in dem Puffer, der durch alle Einträge spezifiziert
ist, die durch eine Deskriptorkette verbunden sind, als eine
Übertragungseinheit behandelt werden und direkt zu dem
Puffer des Prozessormoduls (10, 30) am Ziel übertragen
werden, indem im voraus zwischen dem Prozessormodul (10, 30)
der Sendeseite und dem Prozessormodul (10, 30) der
Empfangsseite eine Vereinbarung getroffen wird.
2. Meldungssteuersystem nach Anspruch 1, dadurch
gekennzeichnet, daß die Verbindungseinheit (13, 43) den
Sendeport (17) enthält und der Datenverarbeitungsteil (14)
zu der Zeit einer Meldungssendung dafür ausgelegt ist, um
den Deskriptor in der Speichereinheit (12, 42) zu erzeugen
und Meldungslängeninformationen zu erzeugen, die einem
Prozessormodul (10, 30) der Empfangsseite am Ziel der
Meldung mitgeteilt werden.
3. Meldungssteuersystem nach Anspruch 1, dadurch
gekennzeichnet, daß die Verbindungseinheit (13, 43) den
Empfangsport (18) enthält und das Prozessormodul als Ziel
fungiert, der Datenverarbeitungsteil (14) dafür ausgelegt
ist, um zu der Zeit eines Meldungsempfangs eine Speicherzone
in der Speichereinheit (12, 42) mit einer Länge zu
entwikkeln, die mit der mitgeteilten Meldungslänge identisch ist,
und mit einer Form, die für deren Verarbeitung geeignet ist,
auf der Basis der mitgeteilten Längeninformationen, und auch
den Deskriptor (15) in der Speichereinheit (12, 42) zu
erzeugen.
4. Meldungssteuersystem nach Anspruch 1, dadurch
gekennzeichnet, daß die Verbindungseinheit (13, 43) den
Sendeport (17) enthält und der Sendeport (17) dafür
ausgelegt ist, um die Meldung aus dem Puffer (16) in einer
Reihenfolge zu lesen, auf die durch den Deskriptor (15)
verwiesen wird, und die Meldung zu senden, indem zu ihr ein Kenn
zeichen hinzugefügt wird, das die Verwendung des Puffers
spezifiziert.
5. Meldungssteuersystem nach Anspruch 1, dadurch
gekennzeichnet, daß die Verbindungseinheit (13, 43) den
Sendeport als logischen Sendeport (17, 51) und den
Empfangsport als logischen Empfangsport (18, 53) enthält, einen
physikalischen Sendeport (55) und einen physikalischen
Empfangsport (56), zum jeweiligen Steuern des
Meldungssendens und -empfangens, eine Zugriffssteuereinheit (57) zum
Verarbeiten einer Schnittstelle mit einem internen Bus (44),
eine Speicherzugriffssteuereinheit (58) zum Ausführen des
Zugriffs auf die Speichereinheit (12, 42), eine
Sendesteuereinheit (59) zum Verarbeiten einer Schnittstelle des
Sendeprozesses mit dem Systembus (20, 32), eine Empfangssteuer
einheit (60) zum Verarbeiten einer Schnittstelle des
Empfangsprozesses mit dem Systembus (20, 32), eine
Hauptablaufsteuereinheit (62) zum Verwalten der Steuerung der gesamten
Verbindungseinheit, und einen Speicher (61), der als
Arbeitsbereich der Hauptablaufsteuereinheit (62) verwendet
wird.
6. Meldungssteuersystem nach Anspruch 5, dadurch
gekennzeichnet, daß der Deskriptor (15) in einem
sequentiellen oder Verzweigungsformat in der Speichereinheit (12, 42)
angeordnet ist und durch Adresseninformationen, die in einem
Steuerregister innerhalb des logischen Sendeports (17) oder
des logischen Empfangsports (18) gesetzt sind, auf einen
Kopfeintrag verwiesen wird.
7. Meldungssteuersystem nach Anspruch 6, dadurch
gekennzeichnet, daß jeder Eintrag des Deskriptors (15) Bits
(B, C) enthält, zum Spezifizieren eines
Verarbeitungsverfahrens, nachdem die Verarbeitung des Eintrags endet, ein
Unterbrechungsspezifizierungsbit (D), Größeninformationen
(BCT) des Puffers gemäß einem Kommunikationsmodus, eine
Kopfadresse (BUFA) des Puffers (16), der durch den Eintrag
behandelt wird, und eine Einheitsnummer (UID) des
Prozessormoduls an einer Sendequelle oder einem Sendeziel.
8. Meldungssteuersystem nach Anspruch 5, dadurch
gekennzeichnet, daß der Datenverarbeitungsteil (14) dafür
ausgelegt ist, um nach dem Anordnen des Deskriptors (15) in
der Speichereinheit (12, 42) Adresseninformationen eines
ersten Deskriptors, mit dem die Steuerung startet, in ein
Steuerregister innerhalb des logischen Sendeports (17, 51)
zu schreiben, wenn der logische Sendeport (17, 51) aktiviert
wird, und Adresseninformationen eines ersten Deskriptors,
mit dem die Steuerung startet, in ein Steuerregister
innerhalb des logischen Empfangsports (18, 53) zu schreiben, wenn
der logische Empfangsport (18, 53) aktiviert wird, und die
Verbindungseinheit (13, 43) dafür ausgelegt ist, um
Adresseninformationen des Eintrags des Deskriptors, der gerade
verarbeitet wird, in das Steuerregister innerhalb des
logischen Sendeports (17, 51) zu der Zeit einer Sendung zu
schreiben und in das Steuerregister innerhalb des logischen
Empfangsports (18, 53) zu der Zeit eines Empfangs zu
schreiben.
9. Meldungssteuersystem nach Anspruch 1, bei dem die
Verbindungseinheit (13, 43) den Empfangsport (18) enthält
und das Prozessormodul als das genannte Ziel fungiert, und
ferner mit einem Abnormitätsdetektionsmittel (19) zum
Detektieren dessen, ob eine Abnormität hinsichtlich einer
empfangenen Meldung vorliegt oder nicht, indem detektiert wird, ob
eine Meldungsmenge, die bis zu jenem Punkt empfangen wurde,
mit einer Meldungslänge übereinstimmt, die von einem
Prozessormodul (10, 30) der Sendeseite mitgeteilt wurde, wenn der
Empfangsport (18) einen Meldungsempfang vollendet.
10. Meldungssteuersystem nach Anspruch 9, dadurch
gekennzeichnet, daß die Verbindungseinheit (13, 43) den
Sendeport (17) enthält und der Datenverarbeitungsteil (14),
zu der Zeit einer Meldungssendung, dafür ausgelegt ist, um
den Deskriptor in der Speichereinheit (12, 42) zu erzeugen
und Meldungslängeninformationen zu erzeugen, die
hinsichtlich eines Prozessormoduls (10, 30) der Empfangsseite am
Ziel der Meldung mitgeteilt werden.
11. Meldungssteuersystem nach Anspruch 9, dadurch
gekennzeichnet, daß der Datenverarbeitungsteil (14), zu der
Zeit eines Meldungsempfangs, dafür ausgelegt ist, um eine
Speicherzone in der Speichereinheit (12, 42) mit einer Länge
zu entwickeln, die mit der mitgeteilten Meldungslänge
identisch ist, und mit einer Form, die für deren Verarbeitung
geeignet ist, auf der Basis der mitgeteilten
Meldungslängeninformationen, und auch den Deskriptor (15) in der
Speichereinheit (12, 42) zu erzeugen.
12. Meldungssteuersystem nach Anspruch 9, dadurch
gekennzeichnet, daß die Verbindungseinheit (13, 43) den
Sendeport
(17) enthält und der Sendeport dafür ausgelegt ist, um
die Meldung aus dem Puffer (16) in einer Reihenfolge zu
lesen, auf die durch den Deskriptor (15) verwiesen wird, und
die Meldung zu senden, indem zu ihr ein Kennzeichen
hinzugefügt wird, das die Verwendung des Puffers spezifiziert.
13. Meldungssteuersystem nach Anspruch 9, dadurch
gekennzeichnet, daß die Verbindungseinheit (13, 43) den
Sendeport als logischen Sendeport (17, 51) und den
Empfangsport als logischen Empfangsport (18, 53) enthält, einen
physikalischen Sendeport (55) und einen physikalischen
Empfangsport (56), zum jeweiligen Steuern des
Meldungssendens und -empfangens, eine Zugriffssteuereinheit (57) zum
Verarbeiten einer Schnittstelle mit einem internen Bus (44),
eine Speicherzugriffssteuereinheit (58) zum Ausführen des
Zugriffs auf die Speichereinheit (12, 42), eine
Sendesteuereinheit (59) zum Verarbeiten einer Schnittstelle des
Sendeprozesses mit dem Systembus (20, 32), eine
Empfangssteuereinheit (60) zum Verarbeiten einer Schnittstelle des
Empfangsprozesses mit dem Systembus (20, 32), eine
Hauptablaufsteuereinheit (62) zum Verwalten der Steuerung der gesamten
Verbindungseinheit, und einen Speicher (61), der als
Arbeitsbereich der Hauptablaufsteuereinheit (62) verwendet
wird.
14. Meldungssteuersystem nach Anspruch 13, dadurch
gekennzeichnet, daß der Deskriptor (15) Einträge hat, die
Adresseninformationen und Größeninformationen des Puffers
(16) in der Speichereinheit (12, 42) beschreiben und in
einem sequentiellen oder Verzweigungsformat in der
Speichereinheit (12, 42) angeordnet sind, und durch
Adresseninformationen, die in einem Steuerregister innerhalb des
logischen Sendeports (17) oder des logischen Empfangsports
(18) gesetzt sind, auf einen Kopfeintrag verwiesen wird.
15. Meldungssteuersystem nach Anspruch 14, dadurch
gekennzeichnet, daß jeder Eintrag des Deskriptors (15) Bits
(B, C) enthält, zum Spezifizieren eines
Verarbeitungsverfahrens, nachdem die Verarbeitung des Eintrags endet, ein
Unterbrechungsspezifizierungsbit (D), Größeninformationen
(BCT) des Puffers gemäß einem Kommunikationsmodus, eine
Kopfadresse (BUFA) des Puffers (16), der durch den Eintrag
behandelt wird, und eine Einheitsnummer (UID) des
Prozessormoduls an einer Sendequelle oder einem Sendeziel.
16. Meldungssteuersystem nach Anspruch 9, dadurch
gekennzeichnet, daß der Datenverarbeitungsteil (14), nach
dem Anordnen des Deskriptors (15) in der Speichereinheit
(12, 42), dafür ausgelegt ist, um Adresseninformationen
eines ersten Deskriptors, mit dem die Steuerung startet, in
ein Steuerregister innerhalb des logischen Sendeports (17,
51) zu schreiben, wenn der logische Sendeport (17, 51)
aktiviert wird, und Adresseninformationen eines ersten
Deskriptors, mit dem die Steuerung startet, in ein
Steuerregister innerhalb des logischen Empfangsports (18, 53) zu
schreiben, wenn der logische Empfangsport (18, 53) aktiviert
wird, und die Verbindungseinheit (13, 43)
Adresseninformationen des Eintrags des Deskriptors, der gerade verarbeitet
wird, in das Steuerregister innerhalb des logischen
Sendeports (17, 51) zu der Zeit einer Sendung schreibt und in das
Steuerregister innerhalb des logischen Empfangsports (18,
53) zu der Zeit eines Empfangs zu schreibt.
17. Meldungssteuersystem nach irgendeinem
vorhergehenden Anspruch, dadurch gekennzeichnet, daß das
Datenkommunikationssystem ein lose gekoppeltes Multiprozessorsystem ist.
18. Meldungssteuersystem nach irgendeinem
vorhergehenden Anspruch, dadurch gekennzeichnet, daß der Deskriptor
(15) in Prozessormodulen sowohl der Empfangsseite als auch
der Sendeseite vorgesehen ist.
19. Meldungssteuersystem nach Anspruch 18, dadurch
gekennzeichnet, daß der Deskriptor (15) in den
Prozessormodulen der Sendeseite und der Empfangsseite verschiedene
Informationen hat.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25939190 | 1990-09-28 | ||
PCT/JP1991/001306 WO1992006430A1 (en) | 1990-09-28 | 1991-09-27 | Message control system in a data communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69129841D1 DE69129841D1 (de) | 1998-08-27 |
DE69129841T2 true DE69129841T2 (de) | 1998-12-03 |
Family
ID=17333488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69129841T Expired - Fee Related DE69129841T2 (de) | 1990-09-28 | 1991-09-27 | Nachrichtensteuerungssystem in einem datenkommunikationssystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US5592624A (de) |
EP (1) | EP0502215B1 (de) |
AU (1) | AU648348B2 (de) |
DE (1) | DE69129841T2 (de) |
WO (1) | WO1992006430A1 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07262152A (ja) * | 1994-03-24 | 1995-10-13 | Hitachi Ltd | コンピュータシステム |
US5666485A (en) * | 1995-06-07 | 1997-09-09 | Samsung Electronics Inc. | Software driver for a system bus |
US5856921A (en) * | 1995-06-07 | 1999-01-05 | Samsung Electronics Co., Ltd. | Apparatus and method for intermodular communications using system bus controllers |
US5802307A (en) * | 1995-11-24 | 1998-09-01 | Sun Microsystems, Inc. | Network communications subsystem and method for digital computer system employing protocol stack having diverse lower-level network driver components optimized for each of base and enhance operating systems |
US6167430A (en) | 1998-05-12 | 2000-12-26 | Unisys Corporation | Multicomputer with distributed directory and operating system |
TW406507B (en) * | 1998-10-30 | 2000-09-21 | Kim Man Ki | SECS-I and HSMS converting method |
DE102005052971A1 (de) * | 2005-11-07 | 2007-05-10 | Siemens Ag | Datenverarbeitungsvorrichtung und Verfahren zum Betrieb |
JP4906800B2 (ja) * | 2008-07-02 | 2012-03-28 | 三菱電機株式会社 | 通信装置及び暗号通信システム及び通信方法及び通信プログラム |
US9942187B2 (en) * | 2014-03-10 | 2018-04-10 | Harry Leonard Perper | Alert for messages “stuck” in a message queue within a messaging application |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5833970B2 (ja) * | 1978-09-08 | 1983-07-23 | 富士通株式会社 | プロセッサ間通信方式 |
JPS5917445B2 (ja) * | 1979-05-25 | 1984-04-21 | オムロン株式会社 | デ−タ転送方式 |
JPS578828A (en) * | 1980-06-18 | 1982-01-18 | Fujitsu Ltd | Communication system between computer systems |
US4449182A (en) * | 1981-10-05 | 1984-05-15 | Digital Equipment Corporation | Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems |
AU568490B2 (en) * | 1982-05-07 | 1988-01-07 | Digital Equipment Corporation | Memory-to-memory intercomputer communication |
JPS59178049A (ja) * | 1983-03-28 | 1984-10-09 | Fujitsu Ltd | デ−タ転送制御方式 |
US4601586A (en) * | 1984-02-10 | 1986-07-22 | Prime Computer, Inc. | Solicited message packet transfer system |
JPS61183762A (ja) * | 1985-02-08 | 1986-08-16 | Fujitsu Ltd | システム間通信方式 |
US5047917A (en) * | 1985-07-12 | 1991-09-10 | The California Institute Of Technology | Apparatus for intrasystem communications within a binary n-cube including buffer lock bit |
US4851988A (en) * | 1986-03-31 | 1989-07-25 | Wang Laboratories, Inc. | Loosely-coupled computer system using global identifiers to identify mailboxes and volumes |
US4704717A (en) * | 1986-07-22 | 1987-11-03 | Prime Computer, Inc. | Receive message processor for a solicited message packet transfer system |
US4866664A (en) * | 1987-03-09 | 1989-09-12 | Unisys Corporation | Intercomputer communication control apparatus & method |
US5142683A (en) * | 1987-03-09 | 1992-08-25 | Unisys Corporation | Intercomputer communication control apparatus and method |
JPH01216651A (ja) * | 1988-02-24 | 1989-08-30 | Fujitsu Ltd | メッセージ通信方式 |
US5212778A (en) * | 1988-05-27 | 1993-05-18 | Massachusetts Institute Of Technology | Message-driven processor in a concurrent computer |
-
1991
- 1991-09-27 DE DE69129841T patent/DE69129841T2/de not_active Expired - Fee Related
- 1991-09-27 US US07/859,318 patent/US5592624A/en not_active Expired - Fee Related
- 1991-09-27 AU AU86184/91A patent/AU648348B2/en not_active Ceased
- 1991-09-27 WO PCT/JP1991/001306 patent/WO1992006430A1/ja active IP Right Grant
- 1991-09-27 EP EP91916952A patent/EP0502215B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69129841D1 (de) | 1998-08-27 |
EP0502215A1 (de) | 1992-09-09 |
EP0502215B1 (de) | 1998-07-22 |
WO1992006430A1 (en) | 1992-04-16 |
US5592624A (en) | 1997-01-07 |
AU648348B2 (en) | 1994-04-21 |
EP0502215A4 (en) | 1994-08-10 |
AU8618491A (en) | 1992-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69129840T2 (de) | Nachrichtensteuerungsverfahren für ein datenkommunikationssystem | |
DE2854485C2 (de) | Datenverarbeitungsanlage | |
DE3689226T2 (de) | Multiprozessorsystem mit multihierarchischen Ebenen. | |
DE3204905C2 (de) | ||
DE69131840T2 (de) | Verfahren zur Vervielfältigung eines geteilten Speichers | |
DE3114961C2 (de) | ||
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE60108911T2 (de) | Prozessorschnittstelle mit geringem overhead | |
DE69128503T2 (de) | Schnittstellenschaltung für intelligentes Netzwerk | |
DE3751853T2 (de) | Vorrichtung für ein fehlertolerantes Rechnersystem mit erweiterungsfähigem Prozessorabschnitt | |
DE3238532C3 (de) | Datenübertragungseinrichtung | |
DE4208924A1 (de) | Verfahren zur kommunikation zwischen prozessoren und parallelverarbeitungscomputer hierfuer | |
CH620306A5 (de) | ||
DE19607531A1 (de) | Multicluster-Computersystem | |
DE3485980T2 (de) | Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem. | |
DE69122142T2 (de) | Steuerungsanlage für ein Mehrprozessorsystem | |
DE69129842T2 (de) | Nachrichtensteuersystem in einem datenübertragungssystem | |
DE69130946T2 (de) | Verfahren zur ausschliesslichen steuerung für einen gemeinsamen speicher | |
DE69129841T2 (de) | Nachrichtensteuerungssystem in einem datenkommunikationssystem | |
EP0286856A1 (de) | Fehlertolerante Rechneranordnung | |
EP1911213A1 (de) | Flexray-kommunikationsbaustein, flexray-kommunikationscontroller und verfahren zur botschaftsübertragung zwischen einer flexray-kommunikationsverbindung und einem flexray-teilnehmer | |
DE60009817T2 (de) | Gemeinsamen Speicher verteilende Multiprozessorvorrichtung | |
DE3936339C2 (de) | DMA-Controller | |
DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
EP0509114B1 (de) | Verfahren zum Übertragen von Daten an mehrere Datenstationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |