DE68917679T2 - Datenübertragungsnetzwerk für Multiprozessorsysteme. - Google Patents

Datenübertragungsnetzwerk für Multiprozessorsysteme.

Info

Publication number
DE68917679T2
DE68917679T2 DE68917679T DE68917679T DE68917679T2 DE 68917679 T2 DE68917679 T2 DE 68917679T2 DE 68917679 T DE68917679 T DE 68917679T DE 68917679 T DE68917679 T DE 68917679T DE 68917679 T2 DE68917679 T2 DE 68917679T2
Authority
DE
Germany
Prior art keywords
message
charge
output
input
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68917679T
Other languages
English (en)
Other versions
DE68917679D1 (de
Inventor
Michel Cubero-Castan
Guy Durrieu
Bernard Lecussan
Michel Lemaitre
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Office National dEtudes et de Recherches Aerospatiales ONERA
Original Assignee
Office National dEtudes et de Recherches Aerospatiales ONERA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Office National dEtudes et de Recherches Aerospatiales ONERA filed Critical Office National dEtudes et de Recherches Aerospatiales ONERA
Application granted granted Critical
Publication of DE68917679D1 publication Critical patent/DE68917679D1/de
Publication of DE68917679T2 publication Critical patent/DE68917679T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17393Indirect interconnection networks non hierarchical topologies having multistage networks, e.g. broadcasting scattering, gathering, hot spot contention, combining/decombining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)

Description

  • Die Erfindung betrifft allgemein Übertragungsnetzwerke für die gleichzeitige Übertragung von Daten zwischen einer Vielzahl von Sendeeinrichtungen und einer Vielzahl von Bestimmungseinrichtungen. Sie betrifft insbesondere ein Datenübertragungsnetzwerk, das eine spezielle Nachrichtenverteilereinrichtung beim Datentransfer einsetzt. Die Nachrichtenverteilereinrichtung wird Übertragungsprozessor genannt und ist dazu bestimmt, in Multiprozessorinformationssystemen, beispielsweise zur parallelen Verarbeitung von Informationen, eingesetzt zu werden.
  • In den Multiprozessorsystemen zur parallelen Verarbeitung von Informationen benötigen die Prozessoren, die Programme oder Prozesse im richtigen Rhythmus und teilweise asynchron zueinander ausführen, zeitweilig eine Kommunikation untereinander und/oder mit einer Speichereinrichtung. Die Datenübertragungen zwischen den Prozessoren und betreffenden Speichern muß unter optimalen Geschwindigkeitsbedingungen erfolgen, unter Vermeidung von Zugriffskonflikten auf die Übertragungseinrichtungen. Um ihre Leistungsfähigkeit zu vergrößern, fordert man von diesen Systemen die Möglichkeit einer parallelen Ausführung einer zunehmenden Zahl von Prozessen. Unter diesen Bedingungen ist es notwendig, folgende Probleme wirksam zu lösen:
  • - die Probleme, die mit der Datenübertragung verbunden sind, und
  • - das Problem der Arbeitsteilung zwischen den verschiedenen Prozessoren und Speichern des Multiprozessorsystems.
  • Eine wohlbekannte Möglichkeit der Verbindung mehrerer Prozessoren untereinander besteht darin, sie alle an einen gemeinsamen Datenbus anzuschließen und eine Kontrolleinheit zur zentralisierten und hierarchischen Verwaltung des Datenaustausches zwischen den Prozessoren einzusetzen. Der Hauptnachteil dieser Übertragungseinrichtung mit einem einzigen Bus liegt darin, daß zu einem gegebenen Zeitpunkt nur eine Übertragung von einem Prozessor zu einem anderen möglich ist. Der einzige Bus ist also um so mehr von Nachteil, je höher die Zahl der miteinander verbundenen Prozessoren ansteigt. Außerdem kann dieser Nachteil nur teilweise durch Erhöhung der Zahl der Datenbusse behoben werden.
  • Zur Beseitigung dieser Nachteile wurde vorgeschlagen, daß die Nachrichtensignale über Übertragungsnetze ausgetauscht werden sollen. Verschiedene Architekturen für solche Netzwerke und insbesondere eine Architektur namens "Omega", die bestimmte Vorteile aufweist, wurden von HWANG und BRIGGS in ihrer Veröffentlichung "Computer Architecture and Parallel Processing" Edition Mc GRAW HILL, 1984, Seite 350 bis 354 und 481 bis 502 beschrieben.
  • Ein Übertragungsnetz vom Typ "Omega" wie von HWANG und BRIGGS beschrieben, erlaubt eine merkliche Verbesserung der Geschwindigkeit des Informationsaustauschs zwischen Prozessoren. Dennoch kommt auch ein solches Netz nicht um die Notwendigkeit einer zentralen Kontrolleinheit, die die Übermittlungswege bestimmt und der Lösung des Zugriffskonfliktes auf die Übertragungseinrichtungen dient, herum. Die Notwendigkeit dieser zentralen Kontrolleinheit begrenzt die Größe des Netzwerkes durch die mit der Größe des Netzwerkes zunehmenden Programmierungsschwierigkeiten. Außerdem wird das Problem der Arbeitsteilung in diesem Netzwerk durch eine andere Kontrolleinheit als die Übermittlung vorgenommen, die ebenfalls Programmierungsschwierigkeiten ausweist, die mit der Größe des Netzwerkes zunehmen.
  • Auf einem anderen Gebiet als demjenigen der Multiprozessorübertragungsnetzwerke beschreibt die WO-A-8 602 511 ein Ladungsregulierungssystem für Paketverteilerknoten, das um einen Wähler von Warteschlangen angeordnet ist. Dieser Warteschlangenwähler wählt eine von mehreren Warteschlangen aus, um die eintreffenden Pakete einzuschreiben. Eine Schaltung zur Ladungsregulierung empfängt Ladungsinformationen von jeder der Warteschlangen und verändert dadurch ein Übermittlungskennzeichen, daß in jedem eintreffenden Paket übertragen wird, so daß das Paket vom Warteschlangenwähler zu einer Warteschlange mit der geringsten Ladung übermittelt wird.
  • Im Rahmen eines Multiprozessorübertragungssystems würde sich ein identischer Mechanismus wie im oben zitierten Dokument beschrieben nur als ausreichend erweisen, wenn die Datenübertragung und insbesondere die Ladungsinformationen von kurzer Dauer wären. Wenn dies nicht der Fall ist, kann es vorkommen, daß zeitlich rasch aufeinanderfolgende Daten, die von einer vorangehend angeordneten Übertragungseinrichtung übertragen werden, über die selbe nachfolgend angeordnete Übertragungseinrichtung übermittelt werden, ohne daß die Ladungsinformationen der Daten die Zeit hätten, zur nachfolgend angeordneten Datenübertragungseinrichtung über die vorangehend angeordnete Datenübertragungseinrichtung übermittelt zu werden, um letztere neu zu konfigurieren, was ein Überfließen der Warteschlangen nach sich ziehen kann.
  • Es ist daher notwendig, die Entwicklung dieser Ladungsinformationen in jedem Prozessor, der Nachrichten übermittelt, vorwegzunehmen.
  • Zu diesem Zweck weist das Datenübertragungsnetzwerk nach der Erfindung die Merkmale des Anspruchs 1 auf. Weitere Merkmale dieses Netzes sind in den Ansprüchen 2-7 genannt.
  • Die Erfindung ist beispielsweise für die Herstellung von Maschinen zur parallelen symbolischen Verarbeitung von Informationen einsetzbar, wobei diese Maschinen formale Sprachen zur Informationsverarbeitung, beispielsweise die Sprache LISP, verwenden, die besonders gut an die Lösung komplexer Probleme, wie sie sich im Bereich der künstlichen Intelligenz stellen, angepaßt sind. Die Erfindung ist auch für klassische Systeme der Informatik einsetzbar. Außerdem ist ein Übertragungsnetzwerk nach der Erfindung in modularer Form in VLSI-Technologie herstellbar.
  • Weitere Vorteile und Eigenschaften der Erfindung werden durch die folgende Beschreibung mehrerer bevorzugter Ausführungsformen von Übertragungsnetzwerken nach der Erfindung mit Bezug auf die beiliegende Zeichnung verdeutlicht, in der:
  • - Fig. 1 schematisch die generelle Struktur eines Multiprozessorsystems aufzeigt, das zwei Übertragungsnetzwerke nach der Erfindung aufweist;
  • - Fig. 2 ein schematisches Blockschaltbild einer Nachrichtenverteilereinrichtung nach der Erfindung, den Verteilerprozessor, zeigt;
  • - Fig. 3 ein Blockschaltbild eines von zwei Nachrichteneingangsschaltungen in der Verteilereinrichtung ist;
  • - Fig. 4 die Strukturen zweier verschiedener Typen von Nachrichten zeigt, die durch die Verteilereinrichtung verteilbar ist;
  • - Fig. 5 ein Blockschaltbild einer von zwei Nachrichtenausgangsschaltungen in der Verteilereinrichtung ist;
  • - Fig. 6 eine Wahrheitstabelle eines Prioritätscodierers in einer der beiden Ausgangsschaltungen ist;
  • - Fig. 7 ein Blockschaltbild einer Einheit zur Verwaltung der Ladungsdifferentiale ist, die in einer Ladungssteuerschaltung der Verteilereinrichtung enthalten ist; und
  • - Fig. 8 ein Blockschaltbild einer von zwei Ladungsübertragungsschaltungen in der Ladungssteuerungsschaltung ist.
  • Nach Fig. 1 wird ein Multiprozessorinformationssystem von mehreren Typen von Prozessoren für unterschiedliche Aufgaben gebildet. Das System nach Fig. 1 weist vier Speicherprozessoren PM&sub1;, PM&sub3;, PM&sub4; und PM&sub6;, zwei Eingangs/Ausgangs-Prozessoren PE/S&sub2; und PE/S&sub5;, sechs Prozessoren zur Prozeßausführung PEP&sub1; bis PEP&sub6; und ein Prozessorübertragungsnetzwerk RE aus.
  • Die Speicherprozessoren PM haben die Aufgabe, die in Ausführung befindlichen Programme, beispielsweise Kombinationen von Symbolen einer formellen Anwendersprache wie LISP, zu speichern. Während der Ausführung der Programme zirkulieren die Informationen in Form von Nachrichten zwischen den Speicherprozessoren PM und den Prozessoren zur Prozeßausführung PEP über das Übertragungsnetzwerk RE.
  • Die Eingangs/Ausgangs-Prozessoren PE/S sind dazu bestimmt, das Informationssystem mit äußeren Einrichtungen des Systems wie beispielsweise Dialogeinrichtungen oder mit anderen Informationssystemen zu verbinden.
  • Die Prozessoren zur Prozeßausführung PEP führen mit den Nachrichten, die sie von den Prozessoren PM und PE/S empfangen, Verarbeitungsprozesse, beispielsweise eine symbolische Reduktion, aus. Die von den Prozessoren zur Prozeßausführung PEP verarbeiteten Daten werden anschließend gegebenenfalls zu den Speicherprozessoren PM über das Netzwerk RE, um dort gespeichert zu werden, oder zu den Eingangs/Ausgangs-Prozessoren PE/S übermittelt.
  • Das Übertragungsnetzwerk RE ist vom Typ Omega. Das Netzwerk RE wird von zwei Unternetzwerken RE&sub1; und RE&sub2; gebildet, die Daten in zwei Richtungen zwischen den Prozessoren PM und PE/S und den Prozessoren PEP übertragen.
  • Die Unternetzwerke RE&sub1; und RE&sub2; weisen jeweils vierundzwanzig Übertragungsprozessoren PC&sub1;&sub1; bis PC&sub6;&sub4; auf, die auf die Verteilung und die Übertragung der Daten spezialisiert sind. Das Unternetzwerk RE&sub1; leitet Daten inklusive zu verarbeitender Daten in Richtung der Übertragung von den Prozessoren PM und PE/S zu den Prozessoren PEP. Das Unternetzwerk RE&sub2; leitet Daten inklusive von verarbeiteten Daten in Richtung der Übertragung von den Prozessoren PEP zu den Prozessoren PM und PE/S.
  • In umgekehrter Richtung zur Richtung der Datenübertragung und auf unterschiedlichen Leitungen übermitteln die Unternetzwerke RE&sub1; und RE&sub2; Ladungsinformationen, die sich auf Ladungen zur Ausführung durch die Prozessoren PEP und Ladungen zur Speicherung durch die Prozessoren PM beziehen. Diese Ladungsinformationen erlauben dem Netz RE die Arbeitsladungen gleichmäßig zwischen den unterschiedlichen Speicherprozessoren PM und Prozeßausführungsprozessoren PEP aufzuteilen.
  • Jeder Übertragungsprozessor PC weist erste und zweite Dateneingänge und erste und zweite Datenausgänge auf, mit denen jeweils erste und zweite Ladungsausgänge und erste und zweite Ladungseingänge verbunden sind. Die Übertragungsprozessoren sind untereinander durch asynchrone Übertragungsleitungen LR verbunden. Der Daten- und Ladungsinformationstransfer über die Leitungen LR wird nach der Übertragungsmethode durchgeführt, die im Englischen unter dem Begriff "handshaking" bekannt ist. Wie in Fig. 1 für den Prozessor PC&sub2;&sub1; gezeigt ist, erlaubt ein Übertragungsprozessor PC alle Möglichkeiten von Verbindungen zwischen den beiden Dateneingängen und den beiden Datenausgängen herzustellen. Unterschiedliche Daten können gleichzeitig über die beiden Datenausgänge übertragen werden.
  • Nach Fig. 2 weist ein Übertragungsprozessor PC einen Folgeschalter 1, eine Nachrichtenverteilerschaltung 2, eine Ladungssteuerungsschaltung 3 und einen Initialisierungsautomaten 4 auf.
  • Obwohl die Übertragungen der Daten und Leitungsinformationen zwischen den Prozessoren nach einem asynchronen Modus erfolgt, ist die interne Funktionsweise des Prozessors PC streng synchron und von dem Folgeschalter 1 gesteuert.
  • Der Folgeschalter 1 empfängt ein Zeitsignal H von einem lokalen Oszillator (nicht dargestellt) und erzeugt mehrere Sequenzsignale SS&sub1; bis SSN, die verschiedenen Leitungen des Prozessors PC zur Verfügung gestellt werden, um die Funktionsweise dieser Schaltungen, die Verteilung der verschiedenen Signale und die Datenübertragungen zu genau vorgegebenen Zeitpunkten während des Funktionszyklus des Prozessors zu steuern. Ein Funktionszyklus des Prozessors PC dauert typischerweise 120 ns.
  • Die Nachrichtenverteilerschaltung 2 weist zwei Eingangsschaltungen für analoge Daten 20&sub0; und 20&sub1; und zwei Ausgangsschaltungen für analoge Daten 21&sub0; und 21&sub1; auf. Die Eingangsschaltungen 20&sub0; und 20&sub1; sind jeweils mit ersten und zweiten Dateneingängen des Prozessors PC verbunden und erhalten Nachrichten ME über ankommende Datenbusse BME&sub0; und BME&sub1;, die typischerweise jeweils achtzehn Leitungen aufweisen. Die Übertragungen von Daten in den Bussen BME&sub0; und BME&sub1;, die aus Worten oder Elementen gebildet werden, werden mit Hilfe von Dialogsignalen VME&sub0; und VME&sub1; und AME&sub0; und AME&sub1; verwaltet. Die Signale VME&sub0; und VME&sub1; im logischen Zustand "1" zeigen jeweils den Eingangsschaltungen 20&sub0; und 20&sub1; an, daß Elemente von Nachrichten ME auf den Bussen BME&sub0; und BME&sub1; sind. Die Signale VME&sub0; und VME&sub1; werden von den Prozessoren des Netzwerkes RE geliefert, mit denen die Dateneingänge der Schaltungen 20&sub0; und 20&sub1; verbunden sind. Die Signale AME&sub0; und AME&sub1; werden jeweils von den Schaltungen 20&sub0; und 20&sub1; gebildet und zeigen im Zustand "1" an, daß die zugehörige Eingangsschaltung das Nachrichtenelement korrekt aufgenommen hat. Die Signale AME&sub0; und AME&sub1; werden an Prozessoren des Netzwerkes RE geliefert, mit denen die Dateneingänge der Schaltungen 20&sub0; und 20&sub1; verbunden sind. Die Signale VME&sub0;, VME&sub1; und AME&sub0;, AME&sub1; entsprechen jeweils den Signalen "VALID" und "ACKNOWLEDGE" im "handshaking"-Verfahren.
  • Die Schaltungen 20&sub0; und 20&sub1; empfangen jeweils Anweisungsworte PE&sub0; und PE&sub1; von 2 Bits, die von der Ladungssteuerungsschaltung 3 geliefert werden. Die Worte PE&sub0; und PE&sub1; zeigen den Eingangsschaltungen 20&sub0; und 20&sub1; die Ausgangsschaltungen 21&sub0; und 21&sub1; an, über die die eintreffenden Nachrichten ME geleitet werden sollen, die keine spezifische Bestimmung haben, um eine korrekte Aufteilung der Ladungen zwischen den einzelnen Prozessoren zu erhalten. Die Worte PE&sub0; und PE&sub1; werden von der Ladungssteuerungsschaltung 3 als Funktion von externen Ladungsanzeigern CE&sub0; und CE&sub1;, die auf die Schaltung 3 durch Bestimmungseinrichtungen über die ersten und zweiten Ladungseingänge gegeben werden, und als Funktion von internen Ladungsanzeigern CI&sub0; und CI&sub1;, die jeweils von den Eingangsschaltungen 20&sub0; und 20&sub1; abgegeben werden, erzeugt.
  • Die Daten werden von den Eingangsschaltungen 20&sub0; und 20&sub1; über interne Busse BI&sub0; und BI&sub1; zu ersten und zweiten Eingängen der Ausgangsschaltungen 21&sub0; und 21&sub1; übertragen.
  • Die Eingangsschaltungen 20&sub0; und 20&sub1; geben Selektionssignale S&sub0;, &sub0; und S&sub1; und &sub1; auf die entsprechenden Eingänge der Ausgangsschaltungen 21&sub0; und 21&sub1;. Die Selektionssignale S&sub0; und &sub0; oder S&sub1; oder &sub1;, die von der Eingangsschaltung 20&sub0; oder 20&sub1; abgegeben werden, sind komplementär zueinander und wählen eine der Ausgangsschaltungen 21&sub0; und 21&sub1; aus, um ihr anzuzeigen, daß eine Nachricht, die für sie bestimmt ist, zur Übertragung durch die Eingangsschaltung in dem entsprechenden internen Bus BI nach Zustimmung der Ausgangsschaltung zur die Datenübertragung bereit ist.
  • Die Zustimmung zur Übertragung einer Nachricht wird durch die Ausgangsschaltungen 21&sub0; und 21&sub1; den Eingangsschaltungen 20&sub0; und 20&sub1; mit Hilfe von Zustimmungssignalen OK&sub0;&sub0;, OK&sub1;&sub0;, OK&sub0;&sub1; und OK&sub1;&sub1; angezeigt. Die Signale OK&sub0;&sub0; und OK&sub1;&sub0; werden von der Ausgangsschaltung 21&sub0; den Eingangsschaltungen 20&sub0; und 20&sub1; zur Verfügung gestellt. Die Signale OK&sub0;&sub1; und OK&sub1;&sub1; werden von der Ausgangsschaltung 21&sub1; den Eingangsschaltungen 20&sub0; und 20&sub1; zur Verfügung gestellt. Wenn beispielsweise das Signal OK&sub0;&sub0; = "1" auf die Eingangsschaltung 20&sub0; durch die Ausgangsschaltung 21&sub0; gegeben wird, signalisiert die Ausgangsschaltung 21&sub0; der Eingangsschaltung 20&sub0;, daß sie für die Übertragung von Daten bereit ist. Zuvor hat die Eingangsschaltung 20&sub0; durch Versetzen des Signals So in den Zustand "1" der Ausgangsschaltung 21&sub0; angezeigt, daß eine Nachricht, die für sie bestimmt ist, auf die Übertragung wartet.
  • Die Eingangsschaltungen 20&sub0; und 20&sub1; liefern auch die Signale FM&sub0; und FM&sub1; an die beiden Ausgangsschaltungen 21&sub0; und 21&sub1;. Die Signale FM&sub0; und FM&sub1; haben die Aufgabe, das Ende einer Nachricht während der Übertragung anzuzeigen, d. h. das letzte Wort, das in der Nachricht übertragen wird.
  • Die Ausgangsschaltungen 21&sub0; und 21&sub1; geben die Nachrichten in abgehende, den Eingangsbussen BME&sub0; und BME&sub1; entsprechende Datenbusse BMS&sub0; und BMS&sub1; ab. Die Dialogsignale VMS&sub0;, AMS&sub0; und VMS&sub1;, AMS&sub1; steuern die asynchrone Übertragung der Nachrichten in den Bussen BMS&sub0; und BMS&sub1;.
  • Die Ladungssteuerungsschaltung 3 weist eine Einheit zur differentiellen Verwaltung der Ladungen 30 und zwei Ladungsübertragungsschaltungen 31&sub0; und 31&sub1; auf. Die Ladungssteuerungsschaltung 3 hat im wesentlichen die Aufgabe, die Verteilung der Daten als Funktion der Ladungen des Netzes vorzunehmen und die Anzeiger der externen Ladungen CE zu bestimmen, die über die dem Prozessor PC in Bezug auf die Übertragungsrichtung der Daten vorangehenden Prozessoren übertragen werden sollen. Die Ladungsanzeiger CE werden in der Schaltung 3 aus externen Ladungsanzeigern CE&sub0; und CE&sub1;, die von den nachfolgend angeordneten Prozessoren übertragen werden, und aus den internen Ladungsanzeigern CI&sub0; und CI&sub1;, die von den Eingangsschaltungen 20&sub0; und 20&sub1; übertragen werden. Die Einheit zur differentiellen Verwaltung der Ladungen 30 empfängt am Eingang die Ladungsindikatoren CE&sub0; und CE&sub1;, die jeweils über zwei Busse mit zwei Leitungen übertragen werden, berechnet. Die Dialogsignale VCE&sub0;, ACE&sub0;, VCE&sub1; und ACE&sub1; steuern die asynchrone Übertragung der Ladungsanzeiger CE&sub0; und CE&sub1; in den Bussen. Außer den Anweisungsworten PE&sub0; und PE&sub1; gibt die Schaltung 30 zwei Befehle zum Inkrementieren/Dekrementieren von Ladungszahlen I/D&sub0; und I/D&sub1; ab, die jeweils den Ladungsübertragungsschaltungen 31&sub0; und 31&sub1; über zwei Busse mit vier Leitungen zur Verfügung gestellt werden. Die Steuersignale I/D&sub0; und I/D&sub1; steuern in den Ladungsübertragungsschaltungen 310+t und 31&sub1; die Inkrementation (+1) und die Dekrementation (-1) der Ladungszahlen des Speicherns und der Ausführung.
  • Die Ladungsübertragungsschaltungen 31&sub0; und 31&sub1; sind analoge Schaltungen. Die Ladungsanzeiger CE werden von den Schaltungen 31&sub0; und 31&sub1; in zwei Bussen mit zwei Leitungen übertragen. Die Dialogsignale VCS&sub0;, ACS&sub0;, VCS&sub1; und ACS&sub1; steuern die asynchrone Übertragung der Ladungsanzeiger CE in den Bussen.
  • Der Initialisierungsautomat 4 hat die Aufgabe der angemessenen Programmierung des Übertragungsprozessors PC bei Inbetriebsetzen des Informationssystems, in das der Prozessor PC integriert ist, und während späterer Initialisierungsoperationen. Der Automat ist mit den Bussen BME&sub0; und BME&sub1; verbunden, um Initialisierungsdaten auf diesen Bussen zu entdecken. Wenn eine Initialisierungsnachricht, die für ihn bestimmt ist, vom Automaten 4 entdeckt wird, unterbricht er die Funktion der Schaltungen 2 und 3 und löst einen Initialisierungsprozeß zur Programmierung des Prozessors PC durch Laden der internen Register der Schaltungen 2 und 3 mit Werten, die in der entdeckten Initialisierungsnachricht enthalten sind. Diese Werte sind Funktionen des Ortes des Prozessors PC im Übertragungsnetzwerk RE. Wenn eine Initialisierung stattfindet, gibt der Automat 4 am Ausgang nacheinander mehrere Worte VI und Adressen AR ab, die zu internen Registern übertragen werden, um die Schaltungen 2 und 3 zu initialisieren. Die Worte VI weisen Werte auf, die gleich den Werten zur Ladung in den internen Registern sind. Die Adressen AR wählen jeweils die internen Register aus, um darin die Worte VI zu laden. Der Automat 4 gibt auch am Ausgang ein Signal zur Initialisierung INIT ab, das auf die beiden Schaltungen 2 und 3 gegeben wird. Das Signal INIT ist während der Initialisierung des Prozessors PC im Zustand "1" und unterbricht die Funktionen der Schaltungen 2 und 3. Am Ende der Initialisierung wechselt das Signal INIT in den Zustand "0", um die Funktionsweise der Schaltungen 2 und 3 wieder in Gang zu setzen.
  • Gemäß Fig. 3 weist die Dateneingangsschaltung 20&sub0; im wesentlichen eine Pufferreihe 200, eine Synchronisationsschaltung 201, eine Steuerschaltung zur Verschiebung der Reihe 202, einen Adressendecodierer 203, einen Multiplexer 204, eine Kontrollschaltung 205, eine Ladeanzeigeschaltung 206 und ein Ensemble von Ausgangsregistern 207 auf.
  • Die Pufferreihe 200 ist eine Reihe vom Typ FIFO. Die Reihe 200 wird von Speicherzellen mit 18 Bits gebildet und empfängt Wort für Wort die Nachrichten ME zur temporären Speicherung. Die Anwesenheit einer zu speichernden Nachricht am Eingang der Reihe 200 wird von der Synchronisationsschaltung 201 entdeckt.
  • Die Synchronisationsschaltung 201 verwaltet die Nachrichtenübertragung im Bus BME&sub0; während des "handshaking"-Prozesses durch Synchronisierung des Senders und Empfängers in jedem Element oder Wort der Nachricht. Die Schaltung 201 empfängt das Dialogsignal VME&sub0;. Die Reihe 200 liefert an die Synchronisationsschaltung 201 ein Signal FP, das im Zustand "1" anzeigt, daß die Reihe 200 voll ist. Die Zustände der Signale VME&sub0; und FP werden periodisch mit hoher Frequenz von der Schaltung 201 gelesen. Wenn die Schaltung 201 die Zustandskombination (VME&sub0;, FP) = (1,0) entdeckt, ist ein Nachrichtenelement im Wartezustand im Bus BME&sub0; und kann in die Reihe 200 geladen werden. Die Schaltung 201 setzt dann das Signal AME&sub0; in den Zustand "l", um die Übertragung des Nachrichtenelementes zu quittieren. Parallel dazu setzt die Schaltung 201 auch ein Schreibsteuerkommando der Reihe WR in den Zustand "1". Das Signal WR wird von der Schaltung 201 an einen Schreibsteuereingang der Reihe 200 abgegeben und setzt das Schreiben des Nachrichtenelementes in die Reihe 200 in Gang. Um fehlerhafte Effekte und fehlerhaftes Verhalten beispielsweise aufgrund eines Auftretens eines metastabilen Zustands in der Synchronisationsschaltung 201 zu vermeiden, weist die Schaltung 201 vorzugsweise zwei Kippstufen in Kaskade auf, um das asynchrone Dialogsignal VME&sub0; abzutasten und zu lesen.
  • Das Signal WR wird auch auf einen ersten Eingang eines ODER- Gatters mit zwei Eingängen 2001 und auf einen Eingang der Steuerschaltung der Verschiebung der Reihe 202 gegeben. Ein zweiter Eingang des Gatters 2001 empfängt ein Signal , daß von der Nachrichteneinheit 200 abgegeben wird. Das Signal zeigt im Zustand "0" an, daß die Einheit 200 leer ist und keine Nachricht enthält.
  • Die Steuerschaltung zur Verschiebung der Reihe 200 steuert Verschiebeoperationen von Zeigern in der Reihe 200, um das wortweise Schreiben und Lesen der Nachrichten in die Reihe 200 zu ermöglichen. Das Schalten des Signals WR in den Zustand "1" zeigt der Schaltung 202 an, daß ein Nachrichtenwort in die Reihe 200 einzuschreiben ist. Die Schaltung 202 steuert die Speicherung des Wortes und die Verschiebung eines Schreibezeigers EC.
  • Ein Lesesteuersignal RD wird an die Steuerschaltung zur Verschiebung 202 durch die Kontrollschaltung 205 geliefert. Das Schalten des Signals RD in den Zustand "1" zeigt der Schaltung 202 an, daß ein Auslesen eines Nachrichtenwortes aus der Reihe 200 von der Kontrollschaltung 205 angefordert wird. Die Schaltung 202 steuert auch das Verschieben eines Lesezeigers LE, um am Ausgang das nächste Wort auszugeben.
  • Gemäß Fig. 4 ist eine Nachricht ME mit variabler Länge aus mehreren Worten von 18 Bit zusammengesetzt. Das erste Wort einer Nachricht ist in einen Adressenblock und einen Signalblock und einen Datenblock aufgeteilt. Der Adressen- und Signalblock ist am Kopf der Nachricht angeordnet und weist einen Sortiercode RT, einen Signalcode SG und einen Adresscode AD auf.
  • Der Sortiercode RT ist aus zwei Bits zusammengesetzt und zeigt dem Prozessor PC den auf die Nachricht anzuwendenden Sortiervorgang an.
  • Der Signalcode SG besteht aus vier Bits und zeigt dem Prozessor PC an, ob die Nachricht aus einem oder mehreren Worten besteht. Im Falle, daß die Nachricht aus einem einzigen Wort besteht, weist der Code SG den Wert "0000" auf. Im anderen Fall, wenn die Nachricht aus mehreren Worten besteht, weist der Code SG einen Wert auf, der unterschiedlich ist von "0000".
  • Die Adresse AD ist die Adresse eines Bestimmungsprozessors für die Nachricht und besteht aus 9 Bits.
  • Der Sortiercode RT nimmt verschiedene Werte "00", "01", "10" und "11" an. Der Code RT = "00" zeigt dem Prozessor PC an, daß die Nachricht für den Prozessor bestimmt ist, der durch die Adresse AD angezeigt wird, und entspricht einem Sortieren nach der Adresse. Der Code RT = "01" zeigt dem Prozessor PC an, daß die Nachricht als Funktion der Ladungen des Speichers zu verarbeiten ist und zu einem Speicherprozessor PM zu leiten ist. Der Code RT = "10" zeigt an, daß die Nachricht als Funktion der Ladungen zur Ausführung zu verarbeiten ist und zu einem Prozeßausführungsprozessor PEP zu leiten ist. Der Code RT = "11" zeigt dem Prozessor PC die Notwendigkeit eines Ausnahmesortierens an, das unter bestimmten Umständen gefordert wird, beispielsweise im Fall des Ausfallens eines Übertragungsprozessors PC des Netzwerkes RE. Im Fall des von der Speicherladung und der Ausführungsladung abhängigen Sortierens und im Fall des Ausnahmesortierens ist die Adresse AD nicht signifikant und wird vom Prozessor PC nicht verwertet.
  • Wenn die Nachricht ME aus mehreren Worten zusammengesetzt ist, ist das höchstwertige Bit der auf das erste Wort der Nachricht folgenden Worte ein Signalbit FM. Das Bit FM zeigt im Zustand "0" an, daß das zugehörige Wort nicht das letzte in der Nachricht ist, und im Zustand "1", daß das Wort das letzte in der Nachricht ist.
  • Nach Fig. 3 empfängt der Adressendecodierer 203 die Adresse AD, die im ersten Wort der Nachricht ME enthalten ist, und gibt am Ausgang ein Bit BD im Zustand "0" oder "1" ab, wenn die Nachricht auf die Ausgangsschaltung 21&sub0; und 21&sub1; zu verteilen ist.
  • Der Adressendecodierer 203 weist Decodiermasken auf zur Isolation der ihn betreffenden Bits in der Adresse AD sowie der Bits in Bezug auf eine Modulzahl, beispielsweise wenn das Multiprozessorsystem aus mehreren modularen, miteinander verbundenen Übertragungsnetzwerken besteht. Ein Profilwort und ein Sortierbit sind ebenfalls in anderen internen Registern des Decodierers 203 gespeichert, um die entsprechenden Adressenbits und ein Datenprofil zu vergleichen, um die Ausgangsschaltung zu bestimmen, zu der die Nachricht zu leiten ist, und um keine Ausgangsschaltung zu spezifizieren, falls Divergenzen in der Decodierung auftreten.
  • Der Sortiercode RT wird auf die Steuereingänge des Multiplexers 204 und auf die Eingänge der Ladungsanzeigeschaltung 206 gegeben. Der Multiplexer 204 weist vier Dateneingänge auf. Ein erster Eingang empfängt das Bit BD, das vom Adressendecodierer 203 abgegeben wird. Der zweite und dritte Eingang empfangen jeweils erste und zweite Bits BM, BP des Anweisungswortes PE&sub0;, das von Ladungssteuerungsschaltung 3 geliefert wird. Der dritte Eingang empfängt ein Bit BE, das die korrekte Funktionsweise des nachfolgend angeordneten Prozessors anzeigt und das vom Automaten 4 abgegeben wird. Die Bits BD, BM, BP und BE des Wortes PE&sub0; werden jeweils durch die Werte "00", "01", "10" und "11" des Sortiercodes RT ausgewählt. Ebenso wie das Bit BD, nehmen die Bits BM, BP und BE die Zustände "0" und "1" an, wenn die Nachricht ME auf die Ausgangsschaltungen 21&sub0; und 21&sub1; zu leiten ist. Der Multiplexer 204 liefert als Selektionsbit der Ausgangsschaltung S&sub0; mit dem selben logischen Zustand wie das am Eingang ausgewählte Bit BD, BM, BP oder BE. Ein Register 2070 des Registerensembles 207 empfängt das Selektionsbit S&sub0;, um es zu speichern. Das Register 2070 liefert über die komplementären Ausgänge die Selektionssignale S&sub0; und &sub0;, die für die Ausgangsschaltung 21&sub0; und 21&sub1; bestimmt sind.
  • Die Steuerschaltung 205 steuert die Funktion des Ensembles der Eingangsschaltung.
  • Ein Signal MT= + , das vom ODER-Gatter OU 2001 erzeugt wird, wird der Schaltung 205 zur Verfügung gestellt, um diese durch einen Zustand "1" darüber zu informieren, daß ein oder mehrere Nachrichtenelemente in die Pufferreihe 200 geladen worden sind und darauf warten, verarbeitet zu werden.
  • Die Steuerschaltung 205 steuert das Lesen einer Nachricht in die Pufferreihe 200 durch Abgabe des Signals RD = "1" an die Steuerschaltung der Verschiebung der Warteschlangen 202.
  • Jedes der Worte einer Nachricht ME wird während des Lesens temporär in einem Pufferregister 2071 der Ausgangsregisteranordnung 207 vor der Übertragung zum Bus BI&sub0; abgespeichert. Beim Lesen des ersten Wortes der Nachricht in die Pufferreihe 200 empfängt die Steuerschaltung 205 ein Signal 1M, das ihm eine Information über die Länge der Nachricht gibt. Das Signal 1M wird von einem NICHT-ODER-Gatter mit vier Eingängen 2050 erzeugt, das den Signalisierungscode SG im ersten Wort der Nachricht empfängt. Das Signal 1M ist im Zustand "1" und "0", wenn der Code SG = "0000" oder einen Wert unterschiedlich von "0000" aufweist. Im Fall eines Signals 1M = "1" wird die Steuerschaltung 205 darüber informiert, daß die Nachricht von einem einzigen Wort gebildet wird, und sie gibt folglich ein Ende-Bit der Nachricht FM&sub0; mit dem Zustand "1" ab. Das Bit FM&sub0; wird in ein Register 2072 der Ausgangsregisteranordnung 207 geladen, um das Ende-Signal der Nachricht FM&sub0;, das für die Ausgangsschaltungen 21&sub0; und 21&sub1; bestimmt ist, zu erzeugen. Im Fall eines Signals 1M = "0" wird die Schaltung 205 darüber informiert, daß die Nachricht mehrere Worte aufweist. Die Schaltung 205 weist einen mit einem Ausgang eines Datenausganggatters der Pufferreihe 200 verbundenen Eingang zur Entdeckung des Bits FM in den auf das erste Wort der Nachricht folgenden Worten der Nachricht auf. Wenn das Bit FM = "1", das die Übertragung des letzten Wortes der Nachricht anzeigt, von der Steuerschaltung 205 gelesen wird, speichert diese in das Register 2072 das Ende-Bit der Nachricht FM&sub0; = 1.
  • Ein Zustandsregister 2051 ist mit der Steuerschaltung 205 verbunden und speichert ein Bit E, das den Funktionszustand der Eingangsschaltung anzeigt.
  • Die Steuerschaltung 205 schreibt das Bit E in den Zustand "0", wenn keine Nachricht zu verarbeiten ist und während der Verarbeitung des ersten Wortes einer Nachricht.
  • Das in das Register 2051 geschriebene Bit E wird in Folge an die Steuerschaltung 205 geliefert und gleichzeitig auf die Eingänge des Adressendecodierers 203 und der Ladungserkennungsschaltung 206 gegeben. Wenn das Bit E im Zustand "0" ist, setzt es während der Verarbeitung des ersten Wortes der Nachricht die Funktion des Adressendecodierers 203 und der Ladungserkennungsschaltung 206 in Gang, ebenso wie das Schreiben des Bits S&sub0; in das Register 2070 und die Erkennung des eventuellen Endes der Nachricht auf dem ersten übertragenen Wort 1M = "1". Nach der Steuerung des Schreibens des Bits S&sub0; in das Register 2070 wird ein Ausgang der Schaltung 205 mit einem Ladungssteuerungseingang des Registers 2070 über eine Verbindung 2052 verbunden.
  • Das Bit E wird in dem Zustand "1" durch die Steuerschaltung 205 beim Lesen des zweiten Wortes der Nachricht versetzt. Wenn das Bit E im Zustand "1" ist, wird die Funktion des Adressendecodierers 203 und der Ladungsanzeigeschaltung 206 unterbrochen und das Beschreiben des Registers 2070 verhindert. Das Bit E = "1" zeigt an, daß die auf das erste Wort folgenden Worte einer Nachricht mit mehreren Worten gerade gelesen werden. Wenn das Ende-Bit der Nachricht FM = "1" durch die Schaltung 205 entdeckt wird, ist das Lesen der mehreren Worte beendet. Die Schaltung 205 gibt das Bit des Nachrichtenendes FM&sub0; = "1" ab, und das Bit E wird in den Zustand "0" geschrieben.
  • Nachdem das erste Wort einer Nachricht in die Pufferreihe 200 gelesen und temporär in das Pufferregister 2071 gespeichert worden ist, wird die Übertragung des ersten Wortes in den Bus BI&sub0; sowie das Lesen und die Übertragung der folgenden Worte der Nachricht durch die Steuerschaltung 205 nur nach Empfang eines Zustimmungssignals OK = OK&sub0;&sub0; + OK&sub0;&sub1; = "1" angeordnet, das von einem ODER-Gatter mit zwei Eingängen 2053 aufgrund zweier Zustimmungssignale OK&sub0;&sub0; und OK&sub0;, die von den Ausgangsschaltungen 21&sub0; und 21&sub1; übertragen werden, gebildet wird.
  • Neben dem Sortiercode RT in dem Zustandsbit E empfängt die Ladungsanzeigeschaltung 206 am Eingang auch das Signal MT = WR + , das von dem Gatter 2001 gebildet wird. Aus diesen verschiedenen am Eingang empfangenen Signalen erzeugt die Schaltung 206 den internen Ladungsanzeiger CI&sub0;.
  • Der Ladungsanzeiger CI&sub0; ist ein Wort mit zwei Bits. Das erste Bit VI&sub0; des Anzeigers erklärt im Zustand "1" die vom zweiten Bit getragenen Informationen als gültig. Das zweite Bit des Anzeigers signalisiert eine Nachricht ohne Adresse RT = "01" oder RT = "10", das über einen Speicherprozessor PM oder einen Prozeßausführungsprozessor PEP geschaltet wird. Wenn RT = "01" ist, ist das zweite Bit im Zustand "0"; wenn RT = "10" ist, ist das zweite Bit "1". Der Anzeiger CI&sub0; wird durch die Ladungssteuerungsschaltung 3 zu einem Register 2073 der Ausgangsregisteranordnung 207 übertragen.
  • Die Ladungsanzeiger CI&sub0; und CI&sub1; erlauben der Ladungssteuerungsschaltung 3, die Auswirkungen eines Durchgangs einer Nachricht ohne Adresse auf die Aufteilung der Speicherladungen und Ausführungsladungen zwischen den Prozessen vorwegzunehmen. Der Vorwegnahme-Mechanismus auf die Berechnung der Ladungen durch die Ladungssteuerungsschaltung 3 wird im folgenden beschrieben. Dieser Mechanismus erlaubt eine Minimierung der Fehler der Schätzung der Aufteilung der Ladungen zwischen den Prozessoren, Fehler, die hauptsächlich während der Ausbreitung der Ladungsinformation im Netzwerk RE auftreten.
  • Gemäß Fig. 5 weist die Nachrichtenausgangsschaltung 21&sub0; einen Multiplexer 210, ein Nachrichtenpufferregister 211, einen Prioritätscodierer 212, einen Decodierer 213 und eine Synchronisationsschaltung 214 auf.
  • Der Multiplexer 210 weist erste und zweite Eingänge auf, die jeweils mit den Bussen BI&sub0; und BI&sub1; zum Empfang der durch die Eingangsschaltungen 20&sub0; und 20&sub1; Nachrichten ME verbunden sind.
  • Ein vom Prioritätscodierer 212 abgegebenes Signal SE wird auf einen Gatterselektionseingang des Multiplexers 210 gegeben.
  • Das Signal SE zeigt die Eingangsschaltung 20&sub0; oder 20&sub1; an, die vom Prioritätscodierer 212 zur Übertragung einer Nachricht autorisiert ist. Die Zustände "0" und "1" des Signals SE wählen jeweils die ersten und zweiten Eingänge des Multiplexers 210 aus. Ein Ausgang des Multiplexers 210 ist mit dem Datenausgangsbus BMS&sub0; über ein Pufferregister 211 verbunden.
  • Der Prioritätscodierer hat hauptsächlich die Aufgabe, Zugriffskonflikte zwischen den Eingangsschaltungen 20&sub0; und 20&sub1; zu verhindern, wenn diese gleichzeitig Befehle zur Nachrichtenübertragung bewirken.
  • Der Prioritätscodierer 212 empfängt die Signale S&sub0; und S&sub1;, FM&sub0; und FM&sub1;, die von den Ausgangsschaltungen 21&sub0; und 21&sub1; abgegeben werden, und liefert ein Signal SE und ein Signal DE. Im Zustand "1" zeigt das Signal DE an, daß mindestens eines der Signale S&sub0; und S&sub1; im Zustand "1", ist und damit, daß mindestens ein Nachrichtenübertragungsbefehl von den Eingangsschaltungen 20&sub0; und 20&sub1; hervorgerufen wird.
  • Zwei Zustandsregister 2120 und 2121 sind mit dem Prioritätscodierer 212 verbunden. Die Zustandsregister 2120 und 2121 speichern jeweils Zustands-Bits Bmt und Bse, die vom Codierer 212 geschrieben und gelesen werden. Das Zustands-Bit Bmt zeigt im Zustand "1" an, daß eine Nachricht bearbeitet wird, d. h. vom Bus BMS&sub0; über die Ausgangsschaltung 21&sub0; übertragen wird. Der Zustand "1" des Bits Bmt verbietet jede Änderung des Zustands des Prioritätscodierers 212 und der Signale SE und DE vor der Entdeckung des entsprechenden Endsignals der Nachricht FM&sub0; oder FM&sub1;. Das Bit Bse speichert die Herkunft der Nachricht während der gesamten Dauer der Übertragung. Die Zustände "0" und "1" des Bits Bse zeigen jeweils Nachrichten an, die von den Eingangsschaltungen 20&sub0; und 20&sub1; stammen.
  • Zur Präzisierung der Funktionsweise des Prioritätscodierers 212 wird auf die Wahrheitstabelle in Fig. 6 verwiesen. Diese Tabelle zeigt die Zustände der Ausgangssignale SE und DE als Funktion der unterschiedlichen möglichen Zustände der Eingangssignale S&sub0;, S&sub1;, FM&sub0; und FM&sub1; sowie der Zustands-Bits Bmt und Bse an. Die Eingangssignale S&sub0;, S&sub1;, FM&sub0; und FM&sub1; ebenso wie die Bits Bmt und Bsu in einem Anfangszustand n sind im linken Teil der Wahrheitstabelle gezeigt. Die Ausgangssignale DE und SE sowie die Bits Bmt und Bse nach der Umschaltung in einen folgenden Zustand n + 1 sind im rechten Teil der Wahrheitstabelle gezeigt. In horizontaler Richtung teilt sich die Wahrheitstabelle in drei Fenster 1, 2 und 3. Das Fenster 1 betrifft die Funktionsweise des Prioritätscodierers 212, wenn Nachrichtenübertragungsbefehle dazwischen kommen und noch kein Nachrichtentransfer stattfindet. In den äußeren und inneren Teilen des Fensters 1 sind die Eingangsschaltungen 20&sub0; und 20&sub1; als vorrangig betrachtet. Die Fenster 2 und 3 der Wahrheitstabelle betreffen die Funktionsweise des Prioritätscodierers, wenn die Eingangsschaltungen 20&sub0; und 20&sub1; Nachrichten übertragen.
  • Gemäß Fig. 5 ist der Decodierer 213 eine logische Schaltung, die Zustimmungssignale OK&sub0;&sub0; und OK&sub1;&sub0; in Folge der vom Prioritätscodierer 212 abgegebenen Signale SE und DE und eines von der Synchronisationsschaltung 214 abgegebenen Signals BP erzeugt. Das Signal BP signalisiert im Zustand "1", daß der Datenausgangsbus BMS&sub0; für die Übertragung einer Nachricht zur Verfügung steht. Die Signale DE und BP veranlassen im Zustand "1" die Aktivierung der Signale OK&sub0;&sub0; und OK&sub1;&sub0;. Das Signal SE bestimmt sich nach den beiden Signalen OK&sub0;&sub0; und OK&sub1;&sub0;, wenn eine Aktivierung angebracht ist.
  • Die Synchronisationsschaltung 214 ist eine komplementäre Schaltung zur Synchronisationsschaltung 201, die in einer Eingangsschaltung enthalten ist und mit Bezug auf Fig. 3 beschrieben worden ist. Das Signal DE wird auf die Schaltung 214 gegeben, um sie über die Übertragungskommandos der von den Eingangsschaltungen stammenden Nachrichten informiert zu halten. Wenn der Ausgangsbus BMS&sub0; frei ist, d. h. wenn das vorangegangene Element der Nachricht abgeschickt worden ist, schickt die Synchronisationsschaltung 214 das zu übertragende Element auf den Bus und aktiviert das Dialogsignal VMS&sub0; im Zustand "1". Als Antwort setzt der nachfolgende Prozessor das Dialogsignal AMS&sub0; in den Zustand "1", um ebenfalls anzuzeigen, daß das Nachrichtenelement abgeschickt worden ist. Nachfolgend gelangt das Signal BP in den Zustand "1". Die Synchronisationsschaltung 214 setzt dann VMS&sub0; in den Zustand "0", um anzuzeigen, daß er die Empfangsbestätigung gut empfangen hat, und der nachfolgende Prozessor setzt das Signal AMS&sub0; in den Zustand "0". Der Bus ist dann von neuem frei zur Gewährleistung der Übertragung eines anderen Elements der Nachricht.
  • Ein UND-Gatter mit zwei Eingängen 2110 ist ebenfalls in der Ausgangsschaltung 21&sub0; vorgesehen, um aus den Signalen SE und DE ein Signal LD zu erzeugen, das auf einen Ladungssteuereingang des Pufferregisters 211 gegeben wird. Das Signal LD ermöglicht im Zustand "1" das Schreiben der Nachrichtenworte in das Pufferregister 211 und erlaubt außerdem ihre Übertragung im Bus BMS&sub0; ebenso wie ihre Übertragung durch den Multiplexer 210.
  • Gemäß Fig. 7 weist die Verwaltungseinheit der Ladungsdifferentiale 30 im wesentlichen zwei Synchronisationsschaltungen 300&sub0; und 300&sub1;, eine Steuereinheit 301, einen Vorwärts-Rückwärts- Zähler 302 und eine Rechenschaltung für die Bedingungen der Speicherladungsdifferentiale 303 und einen Vorwärts-Rückwärts- Zähler 302a und eine Rechenschaltung für die Bedingungen der Ausführungsladungsdifferentiale 303a auf.
  • Die Synchronisationsschaltungen 300&sub0; und 300&sub1; entsprechen der Synchronisationsschaltung 201, wie sie in einer der Eingangsschaltungen enthalten und mit Bezug auf Fig. 3 beschrieben worden ist. Die Synchronisationsschaltungen 300&sub0; und 300&sub1; steuern die Übertragung der externen Ladungsanzeiger CE&sub0; und CE&sub1; über erste und zweite Ladungseingänge mit Hilfe der Dialogsignale VCE&sub0;, ACE&sub0; und FCE&sub1;, ACE&sub1;. Die Bestätigungssignale VE&sub0; und VE&sub1; für die Ladungsindikatoren CE&sub0; und CE&sub1; werden an die Steuereinheit 301 durch die Synchronisationsschaltungen 300&sub0; und 300&sub1; abgegeben.
  • Jeder der externen Ladungsanzeiger CE&sub0; und CE&sub1; wird beispielsweise von Zwei-Bit-Worten gebildet. Ein erstes Bit des Anzeigers legt seinen Typ fest, d. h. ob er ein Speicherladungsanzeiger oder ein Ausführungsladungsanzeiger ist. Das zweite Bit wird zum Codieren einer elementaren Erhöhung der Ladung +1 oder einer elementaren Erniedrigung der Ladung -1 eingesetzt.
  • Schematisch entspricht die Speicherladung eines Ausganges dem Grad der Besetzung des Speichers von diesem Ausgang aus gesehen, wobei der Besetzungsgrad als Quotient der besetzten Speicherzellen zur Gesamtzahl der verfügbaren Zellen definiert ist.
  • Genauergesagt entspricht die Speicherladung für die Übertragungsprozessoren PC des Netzwerkes, die beispielsweise über nachfolgend angeordnete Prozessoren mehrerer Speicherprozessoren PM verkehren, den minimalen Besetzungsgrad der durch diesen Eingang zugänglichen Speicherprozessoren. Ebenso entspricht die Ausführungsladung eines Ausgangsgatters dem minimalen Besetzungsgrad der von diesem Gatter zugänglichen Ausführungsprozessoren.
  • Der Wert des Ladungsdifferentials erlaubt, das zu verwendende Ausgangsgatter zu identifizieren, um die zu einem gegebenen Zeitpunkt am geringsten belastete Einheit anzusprechen.
  • Die Nachrichten, die zu einer zusätzlichen Besetzung des Speicherprozessors (RT = 01) oder der Ausführungsprozessoren (RT = 10) führen, müssen zu dem Ausgang mit der geringsten Belastung geleitet werden. Das bedeutet, daß eine Veränderung der Ladung, die von einem Übertragungsprozessor empfangen wird, nur zu einem vorangehenden Prozessor übertragen wird, wenn diese Ladungsveränderung den Ausgang mit der geringsten Belastung anspricht.
  • Die Einheit 301 verarbeitet vorzugsweise die internen Ladungsanzeiger CI&sub0; und CI&sub1;, die auch am Eingang empfangen werden. Ebenso gibt ein NICHT-ODER-Gatter mit zwei Eingängen 3000, wenn mindestens eines der Bestätigungssignale VI&sub0; und VI&sub1; entsprechend dem internen Ladungsanzeiger CI&sub0; und CI&sub1; aktiv ist, ein Sperrsignal im Zustand "0" ab. Das Signal wird auf entsprechende Eingänge der Schaltungen 300&sub0; und 300&sub1; gegeben und verhindert im Zustand "0" die Aktivierung der Dialogsignale ACE&sub0; und ACE&sub1;, die die Übertragung der externen Ladungsanzeiger CE&sub0; und CE&sub1; bewirken.
  • Die Werte der externen Ladungsanzeiger CE&sub0; und CE&sub1; werden konventionell bezeichnet (+1)m, (-1)m, (+1)e und (-1)e.
  • Das Inkrement (+1) und das Dekrement (-1) präzisieren die Werte und Vorzeichen der Veränderungen der Ladungen. Die Indizes m und e zeigen an, daß die angezeigten Veränderungen jeweils die Speicherladung und die Ausführungsladung betreffen.
  • Aus den Ladungsanzeigern CE&sub0;, CE&sub1;, CI&sub0; und CI&sub1; bestimmt die Steuereinheit 301 Inkrementations/Dekrementations-Befehle I/Dm und I/De., die jeweils auf die Vorwärts-Rückwärts-Zähler 302 und 302a gegeben werden, ebenso wie die Inkrementations/Dekrementations-Befehle I/D&sub0; und I/D&sub1;, die zu den Ladungsübertragungsschaltungen 31&sub0; und 31&sub1; zu übertragen sind. Im Fall der Veränderung der externen Ladung werden die Befehle I/D&sub0; und I/D&sub1;&sub1; die gleichzeitig zu den Schaltungen 31&sub0; und 31&sub1; übermittelt werden, nur erzeugt, wenn die entdeckte Veränderung der Ladung den am geringsten belasteten Ausgang anspricht.
  • Die Vorwärts-Rückwärts-Zähler 302 und 302a speichern jeweils die Ladungsdifferentiale des Speichers Dm = CHm&sub0; - CHm&sub1; und der Ausführung De = CHe&sub0; - CHe&sub1;, wobei CHm&sub0;, CHm&sub1; und CHe&sub0;, CHe&sub1; jeweils die Speicher und Ausführungsladungen am ersten und zweiten Nachrichtenausgang repräsentieren. Die Ladungsdifferentiale Dm und De werden auf die Eingänge der Rechenschaltungen für die Konditionen 303 und 303a gegeben. Nach einer Initialisierung des Prozessors PC durch den Initialisierungsautomaten 4, weisen die Ladungsdifferentiale Dm und De gleiche Anfangswerte von 0 auf, die von der Initialisierungsnachricht bestimmt werden.
  • Das Vorzeichen eines Ladungsdifferentials zeigt der Einheit 301 den am niedrigsten belasteten Nachrichtenausgang für den entsprechenden Ladungstyp an. Ein positives Vorzeichen eines Ladungsdifferentials zeigt an, daß der am geringsten belastete Nachrichtenausgang der zweite Ausgang ist. Ein negatives Vorzeichen des Ladungsdifferentials zeigt an, daß der am geringsten belastete Ausgang der erste Ausgang ist. Allgemein wird eine Nachricht zum entsprechenden, am niedrigsten belasteten Nachrichtenausgang geleitet. Ebenso ist durch das Leiten einer beispielsweise für einen Speicherprozessor PM bestimmten Nachricht über den Nachrichtenausgang, der von der geringsten Speicherladung beaufschlagt ist, die Wahrscheinlichkeit groß, daß diese Nachricht einen der am wenigsten beladenen Speicherprozessoren erreicht.
  • Beim Empfang beispielsweise der externen Ladungsanzeiger CE&sub0; = (+1)m und CE&sub0; = (-1)m gibt die Einheit 301 Befehle I/Dm mit den Werten +1 und -1 ab, um das Ladungsdifferential des Speichers au inkrementieren oder zu dekrementieren. Beim Empfang der Ladungsindikatoren CE&sub1; = (+1)m und CE&sub1; = (-1)m gibt die Einheit 301 Befehle 1/Dm der Werte -1 und +1 ab, um das Differential Dm zu dekrementieren oder inkrementieren. Die Inkrementation und die Dekrementation der Differentiale der Ausführungsladungen De als Funktion der Ladungsanzeiger CE&sub0; = (+1)e, CE&sub0; (-1)e, CE&sub1; = (+1)e und CE&sub1; = (-1)e wird von der Einheit 301 mit Hilfe des entsprechenden Kommandos I/De in analoger Weise, wie oben für das Differential der Speicherladungen Dm als Funktion der externen Ladungsanzeiger beschrieben worden ist, vorgenommen.
  • Die Steuereinheit 301 verwendet die internen Ladungsanzeiger CI&sub0; und CI&sub1; um einen Mechanismus der Vorausschau der Entwicklung der Ladungsdifferentiale Dm und Ce in Gang zu setzen. Wenn beispielsweise ein Ladungsanzeiger C1&sub1; = (+1,0)m von der Einheit 301 empfangen wird und eine auf die Speicherladung ME sortierte Nachricht anzeigt, die von der zweiten Eingangsschaltung 20&sub1; empfangen worden und auf die erste Ausgangsschaltung 21&sub0; geleitet worden ist, wird die Übertragung dieser Nachricht ME über den ersten Nachrichtenausgang mit großer Wahrscheinlichkeit die Speicherladung des ersten Nachrichtenausgangs vergrößern. Die Einheit 301 befiehlt dann sofort eine Veränderung I/Dm = +1 des entsprechenden Ladungsdifferentials Dm, obwohl diese Vergrößerung nur zum vorstehend angeordneten Prozessor übertragen werden darf, wenn dieser Ausgang derjenige minimaler Belastung am Ende der Ladungsvergrößerung bleibt. Die Vorausschau oder die Vorwegnahme der Entwicklung der Ladungsdifferentiale oder die Vorwegnahme wird schon durch alle Übertragungsprozessoren oberhalb der Eingangsschaltung 201 hervorgerufen (durch die die Nachricht schon gegangen ist). Wenn die ausgewählte Ausgangsschaltung 21&sub0; seinen Status des am geringsten belasteten Ausgangs beibehält, überträgt die Steuereinheit 301 das entsprechende Kommando I/D&sub0; = (+1)m zur Ladungsübertragungsschaltung 31&sub0;, damit diese die Ladungsvergrößerung zum vorstehend angeordneten Prozessor überträgt, der mit dem ersten Nachrichteneingang verbunden ist und die Nachrichten ME nicht übertragen hat, oder dahin, wo als Folge davon die Vorwegnahme nicht bewirkt worden ist.
  • Wenn die ausgewählte Ausgangsschaltung 21&sub0; ihren Status des am geringsten belasteten Ausgangs nicht beibehält, d. h. die Schaltungen 21&sub0; und 21&sub1; die gleiche Ladung aufweisen, wäre die von den vor dem Eingang 20&sub1; angeordneten Übertragungsprozessoren bewirkte Vorwegnahme falsch, und die Einheit 301 befiehlt der Schaltung 31&sub1; die Übertragung eines Befehls I/D&sub1; = (-1)m, um die Auswirkungen der vorhergehenden Vorwegnahmen rückgängig zu machen. Was die Veränderungen der Differentiale betrifft, kann sie durch die nachfolgend angeordneten Übertragungsprozessoren bestätigt werden.
  • Die Steuereinheit 301 ist in der Lage, gleichzeitig zwei Ladungsanzeiger vom gleichen Typ, seien es CE&sub0; und CE&sub1; oder CI&sub0; und CI&sub1;, zu verarbeiten, und aus diesem Grund können die Befehle I/Dm und I/De auch die Werte +2 und -2 annehmen.
  • Gemäß einer ersten Ausführungsform weisen die Rechenschaltungen der Bedingungen 303 und 303a jeder nur einen Vorzeichen- Detektor und einen Null-Detektor auf. Diese Schaltungen 303 und 303a geben dann die Vorzeichen-Bits Sm und Se und die Anzeige-Bits des Wertes Null Zm und Ze ab, die den Ladungsdifferentialen Dm und De entsprechen. Die Vorzeichen-Bits Sm und Se werden zur Steuereinheit 301 über die Muliplexer 306 und 306a und Busse Bm und Be übertragen. Die Aufgabe der Multiplexer 306 und 306a werden durch die folgende Beschreibung klarer. Die Bits Zm und Ze werden direkt über die Busse Bm und Be zur Steuereinheit 301 geleitet. Die Vorzeichen-Bits Sm und Se zeigen der Steuereinheit 301 im Zustand "0" an, daß entsprechende Differentiale Dm und De positive Werte haben. Beim Zustand "1" zeigen die Vorzeichen-Bits Sm und Se an, daß die entsprechenden Differentiale Dm und De negative Werte aufweisen. Die Bits Zm und Ze im Zustand "1" zeigen an, daß die entsprechenden Differentiale Dm und De den Wert Null aufweisen.
  • Die Steuereinheit 301 bestimmt aus den Bits Sm, Se, Zm und Ze die Werte, die auf die Bits BM und BP der Anweisungsworte PE&sub0; und PE&sub1;, die zu den Eingangsschaltungen 20&sub0; und 20&sub1; übertragen werden, zu verteilen sind, ebenso wie die Inkrementations/Dekrementations-Befehle I/D&sub0; und I/D&sub1;, die auf die Ladungsübertragungsschaltungen 31&sub0; und 31&sub1; gegeben werden.
  • Es wird nun als Beispiel ein Sortieren der Speicherladung betrachtet.
  • Wenn das Bit Zm im Zustand "0" ist, bestimmt die Einheit 301 den Nachrichtenausgang mit einer minimalen Ladung aus dem Bit Sm. Im Fall, daß das Bit Sm = "0" ist, zeigt ein positives Differential Dm an, daß der am geringsten belastete Ausgang der zweite Ausgang ist, und die Einheit 301 bewirkt in den Bits BM der Worte PE&sub0; und PE&sub1; einen Zustand "1", der den Eingangsschaltungen 20&sub0; und 20&sub1; anzeigt, daß die eintreffenden und auf die Speicherladung zu sortierenden Nachrichten zur zweiten Ausgangsschaltung 21&sub1; übertragen werden müssen. Im umgekehrten Fall eines Bits Sm = "1" zeigt ein negatives Differential Dm an, daß der am geringsten belastete Nachrichtenausgang der erste Ausgang ist, und die Einheit 301 bewirkt in dem Bits BM der Worte PE&sub0; und PE&sub1; einen Zustand "0", der den Eingangsschaltungen 20&sub0; und 20&sub1; anzeigt, daß die Nachrichten zur ersten Ausgangsschaltung 21&sub0; übertragen werden müssen.
  • Wenn das Bit Zm im Zustand "1" ist, weisen die ersten und zweiten Nachrichtenausgänge gleiche Speicherladungen auf, und die Einheit 301 versetzt die Bits BM der Worte PE&sub0; und PE&sub1; in komplementäre Zustände, beispielsweise erhält das Bit BM des Wortes PE&sub0; den Zustand "0" und das Bit BM des Wortes PE&sub1; den Zustand "1".
  • Bei einem Sortieren der Ausführungsladung setzt die Einheit 301 die Bits BP der Worte PE&sub0; und PE&sub1; als Funktion der Bits Ze und Se auf analoge Weise wie oben die Bits GM als Funktion der Bis Zm und Sm.
  • Bei einer zweiten Ausführungsform, die eine beschleunigte Verarbeitung der Ladungen erlaubt, bestimmen die Rechenschaltungen der Bedingungen 303 und 303a eine Vielzahl von Speicherladungsbedingungen Cm und Ausführungsladungsbedingungen Ce, die für die Steuereinheit 301 bestimmt sind. Die Schaltungen 303 und 303a berechnen jeweils typischerweise etwa 20 Bedingungen bezüglich der Ladungsdifferentiale Dm oder De, insbesondere beispielsweise Bedingungen bezüglich der Vorzeichen und des Null-Setzens oder anderer signifikanter Werte (+1, -1) des Ladungsdifferentials und seiner Ableitungen. Diese Bedingungstypen sind klassisch im Bereich der optimalen Prozeßsteuerung; sie sind einem Fachmann wohlbekannt und müssen daher nicht näher dargestellt werden.
  • Die Bedingungen Cm und Ce erlauben der Steuereinheit 301 die Entwicklung der Verteilanweisung aus den Werten der Ladungsdifferentiale vor ihrer Entwicklung vorwegzunehmen, was eine bestimmte Zeit benötigt und somit eine Reduktion der Reaktionszeit des Mechanismus in Bezug auf den vorangehend beschriebenen Mechanismus.
  • Die Verwaltungseinheit der Ladungsdifferentiale 30 weist ebenfalls den Multiplexer 306 und zwei Register 304 und 305, die mit der Rechenschaltung der Bedingungen 303 verbunden sind, ebenso wie den Multiplexer 306a und zwei weitere Register 304a und 305a, die mit der Rechenschaltung der Bedingungen 303a verbunden sind, auf.
  • Die Register 304, 304a, 305 und 305a sind 1-Bit-Register. Diese Register werden mit den vorgegebenen Zuständen "0" und "1" während der Initialisierung des Übertragungsprozessors PC als Funktion des Ortes des Prozessors im Übertragungsnetzwerk RE beschrieben. Die Register 304 und 304a speichern jeweils Vorzeichen-Bits Sma und Sea, die die Speicherladungsdifferentiale Dm und Ausführungsladungsdifferentiale De in dem Fall beeinflussen, in dem der Prozessor PC mindestens einen Nachrichtenausgang aufweist, der die Übertragung der Nachrichten zu einem einzigen Typ von Bestimmungsprozessoren, Speicherprozessoren PM oder Prozeßausführungsprozessoren PEP sichert. Die Register 305 und 305a speichern Vorzeichen-Selektions-Bits SSm und SSe, die den Ladungsdifferentialen Dm und De entsprechen.
  • Die Multiplexer 306 und 306a haben die Aufgabe, unter den Vorzeichen-Bits Sm, Se, Sma und Sea die zwei Bits auszuwählen, die an die Einheit 301 geleitet werden, wobei diese Auswahl von den Zuständen der Selektions-Bits SSm und SSe abhängt. Die Vorzeichen-Bits Sm und Se werden auf erste Dateneingänge 1 der Multiplexer 306 und 306a gegeben. Die Vorzeichen-Bits Sma und Sea werden auf zweite Dateneingänge 2 der Multiplexer 306 und 306a gegeben. Die Bits SSm und SSe werden auf Selektionseingänge der Multiplexer 306 und 306a gegeben.
  • Wenn ein Nachrichtenausgang des Prozessors PC, beispielsweise der erste Ausgang, mit beispielsweise dem Speicherprozessor PM verbunden wird, darf der erste Nachrichtenausgang des Prozessors PC auf keinen Fall zur Übertragung einer Nachricht ohne Adresse ausgewählt werden, die für einen Prozeßausführungsprozessor PEP bestimmt ist. Die Lösung der Verhinderung einer solchen Auswahl besteht darin, das entsprechende Differential, im vorliegenden Beispiel Dm, mit einem positiven oder negativen Vorzeichen zu versehen, so daß der erste Nachrichtenausgang in allen Fällen der Einheit 301 als mit einer höheren Ladung als der zweite Nachrichtenausgang versehen erscheint.
  • Die Selektions-Bits SSm und SSe im Zustand "1" zeigen jeweils an, daß die ersten und zweiten Nachrichtenausgänge des Prozessors PC mit den Prozessoren PM und PEP verbunden sind, und steuern die Auswahl der Vorzeichen-Bits Sma und Sme. Die Bits Sma und Sme zeigen der Einheit 301 die Vorzeichen an, die den Differentialen Dm und De gegeben wurden, damit diese auf richtige Weise die Nachrichtenausgänge auswählen.
  • Gemäß Fig. 8 weist die Ladungsübertragungsschaltung 31&sub0; im wesentlichen einen Vorwärts-Rückwärts-Zähler der Speicherladung 310, einen Vorwärts-Rückwärts-Zähler der Ausführungsladung 310a, eine logische Übertragungsschaltung der Ladungsanzeiger 311 und eine Synchronisationsschaltung 312 auf.
  • Die Ladungsübertragungsschaltung 31&sub0; hat die Aufgabe, auf unabhängige Weise die Übertragung der externen Ladungsanzeiger CE als Funktion der Ladungszahlen zu verwalten. Die Schaltung 31&sub0; weist die Funktion eines Puffers auf und befreit die Verwaltungseinheit 30 von zeitweiligen Engpässen, die mit der Übertragung der Anzeiger verbunden ist. Die Vorwärts-Rückwärts-Zähler 310 und 310a sind analog zueinander und speichern jeweils eine mit einem Vorzeichen versehene Speicherladungszahl CPm und eine mit einem Vorzeichen versehene Ausführungsladungszahl CPe. Die Zahlen CPm und CPe werden anfangs bei der Inbetriebnahme des Informationssystems oder nach einer äußeren Initialisierungsoperation auf Null gesetzt und werden als Funktion von Werten, die nacheinander vom Kommando I/D&sub0; entnommen werden, das von einer Verwaltungseinheit der Ladungsdifferentiale 30 geliefert wird, und den Werten der externen Ladungsanzeiger CE, die nacheinander durch die logische Übertragungsschaltung 311 übermittelt werden inkrementiert oder dekrementiert.
  • Das Inkrementations/Dekrementations-Kommando I/D&sub0; wird auf erste Steuereingänge des Vorwärts-Rückwärts-Zählers 310 und 310a gegeben. Die zweiten Steuereingänge der Vorwärts-Rückwärts- Zähler 310 und 310a empfangen jeweils Inkrementations/Dekrementations-Kommandos I/Dtm und I/Dte, die von der logischen Übertragungsschaltung 311 während der Übertragung der Ladungsanzeiger CE abgegeben werden.
  • Die Befehle I/D&sub0; = (+1)m und I/D&sub0; = (-1)m inkrementieren oder dekrementieren die Ladungszahl CPm, die im Vorwärts-Rückwärts- Zähler 310 enthalten ist. Die Befehle I/D&sub0; = (+1)e und I/D&sub0; = (-1)m inkrementieren und dekrementieren die Ladungszahl CPe, die im Vorwärts-Rückwärts-Zähler 310a enthalten ist.
  • Die logische Schaltung zur Ladungsanzeigerübertragung 311 überträgt die Ladungsanzeiger CE = (+1)m, CE = (-1)m, CE = (+1)e und CE = (-1)e, um die Ladungszahlen CPm und CP e auf Null zu setzen. Bei der Übertragung der Ladungsanzeiger CE = (+1)m und CE = (-1)m beziehungsweise CE = (+1)e und CE = (-1)e entsprechen diese jeweils den Befehlen I/Dtm = -1 und I/Dtm = +1 beziehungsweise I/Dte = -1 und I/Dte = +1.
  • Damit die logische Übertragungsschaltung 311, die Werte der zu übertragenden Ladungsanzeiger CE bestimmen kann, werden ihr die Bits Stm, Ztm, Ste und Zte über entsprechende Eingänge zugeführt.
  • Die Bits Stm und Ztm beziehen sich auf die Ladungszahl CPm und zeigen jeweils das Vorzeichen und einen Werk Null der Zahl CPm an. Die Bits Ste und Zte beziehen sich auf die Ladungszahl CPe und zeigen jeweils das Vorzeichen und einen Wert Null der Zahl CPe an. Die Vorzeichen-Bits Stm und Ste werden jeweils in die Vorwärts-Rückwärts-Zähler 310 und 3103 eingelesen. Die Bits Ztm und Zte werden jeweils von NICHT-ODER-Gattern 3100 und 3100a erzeugt. Eingänge der Gatter 3100 und 3100a empfangen die Bits, die verschieden sind von den Vorzeichen-Bits der Zahlen CPm und CPe, und geben die Bits Ztm und Zte ab.
  • Die Synchronisationsschaltung 312 generiert die Dialogsignale VCS&sub0; und ACS&sub0; für die asynchrone Übertragung der Ladungsanzeiger CE entsprechend des handshaking-Verfahrens. Ein Signal BPa, das von der Synchronisationsschaltung 312 geliefert wird, zeigt der logischen Übertragungsschaltung 311 die Verfügbarkeit oder die Nichtverfügbarkeit des Ladungsausgangsbusses an.

Claims (7)

1. Datenübertragungsnetzwerk (RE) für Multiprozessorsysteme, das eine Vielzahl von untereinander verbundenen Datenverteilereinrichtungen zur Bildung einer vorgegebenen Netzwerkarchitektur aufweist, wobei jede der Nachrichtenverteilereinrichtungen für eine von zwei entgegengesetzten Nachrichtenübertragungsrichtungen folgende Komponenten aufweist:
(a) Erste und zweite Eingangseinrichtungen (20&sub0;, 20&sub1;), die mit entsprechenden Ausgangseinrichtungen verbunden sind, die in zwei bezüglich der einen der beiden entgegengesetzten Nachrichtenübertragungsrichtungen oberhalb jeder der Verteilereinrichtungen angeordneten Nachrichtenverteilereinrichtungen angeordnet sind,
(b) erste und zweite Ausgangseinrichtungen (21&sub0;, 21&sub1;), die jeweils mit Eingangseinrichtungen in zwei Nachrichtenverteilereinrichtungen verbunden sind, die bezüglich der einen der beiden entgegengesetzten Nachrichtenübertragungsrichtungen unterhalb jeder der Verteilereinrichtungen angeordnet sind, dadurch gekennzeichnet, daß jede der Nachrichtenverteilereinrichtungen außerdem folgende Komponenten aufweist:
(c) Einrichtungen zur Ladungsregelung (3), die mit den ersten und zweiten Eingangseinrichtungen (20&sub0;, 20&sub1;) mit den Ausgangseinrichtungen in den oberhalb angeordneten Nachrichtenverteilereinrichtungen und mit den Eingangseinrichtungen in den unterhalb angeordneten Nachrichtenverteilereinrichtungen verbunden sind, um Verteilungsanweisungen (PE&sub0;, PE&sub1;) zu bilden, wobei jede Verteilungsanweisung dazu bestimmt ist, eine Nachrichtenverteilung aus Daten zu steuern, die von einem der ersten und zweiten Eingangseinrichtungen (20&sub0;, 20&sub1;) über den einen oder den anderen der ersten und zweiten Ausgangseinrichtungen (21&sub0;, 21&sub1;) empfangen werden und die Funktion von ersten und zweiten externen Ladungsinformationen (CE&sub0;, CE&sub1;), die jeweils die Ladungen in den ersten und zweiten Ausgangseinrichtungen (21&sub0;, 21&sub1;) repräsentieren und die von den Ladungsregelungseinrichtungen in den beiden unterhalb angeordneten Nachrichtenverteilereinrichtungen empfangen werden, und die Funktion von internen Ladungsinformationen (CI&sub0;, CI&sub1;) haben, die jeweils von den ersten und zweiten Eingangseinrichtungen (20&sub0;, 20&sub1;) vor Empfang und nach Verteilung der Daten als Funktion einer vorangehenden Nachrichtenverteilung gebildet werden, die vor dieser Datennachricht empfangen worden ist, wobei die Ladungsregelungseinrichtungen außerdem andere externe Ladungsinformationen (CE) bilden, die jeweils für die Ladungen der Ausgangseinrichtungen in den beiden oberhalb angeordneten Nachrichtenverteilereinrichtungen repräsentativ sind, die zu den Ladungsregelungseinrichtungen in den beiden oberhalb angeordneten Nachrichtenverteilereinrichtungen übertragen werden, und die als Funktion der ersten und zweiten externen Ladungsinformationen (CE&sub0;, CE&sub1;) und den internen Ladungsinformationen (CI&sub0;, CI&sub1;) berechnet werden, und,
(d) Steuereinrichtungen (203, 204, 205, 206, 212), die auf die ersten und zweiten Eingangs- und Ausgangseinrichtungen (20&sub0;, 20&sub1;, 21&sub0;, 21&sub1;) verteilt sind, um die Nachrichtenverteilung in Abhängigkeit von Übermittlungsinformationen (RT, AD), die in den Nachrichten beinhaltet sind, in Abhängigkeit der Verteilungsanweisungen (PE&sub0;, PE&sub1;), die von den Ladungsregelungseinrichtungen (3) gebildet werden, und in Abhängigkeit von Prioritätsanweisungen (212) zu steuern, die die Eingangseinrichtungen (20&sub0;, ²&sup0;i beeinflussen, um einen dieser Eingangseinrichtungen auszuwählen, wenn beide gleichzeitig eine Genehmigung zur Nachrichtenübertragung von einem der ersten und zweiten Ausgangseinrichtungen (21&sub0;, 21&sub1;) anfordern, und wobei die Steuereinrichtungen die internen Ladungsinformationen (CI&sub0;, CI&sub1;) bilden.
2. Netzwerk nach Anspruch 1, dadurch gekennzeichnet, daß die unterschiedlichen Typen von Ladungsinformationen ((+1)&sub1;, (+1)e, . . . ) von jedem der Nachrichtenverteilereinrichtungen verarbeitet und gebildet werden, wobei die unterschiedlichen Typen von Ladungsinformationen jeweils unterschiedlichen Ladungstypen (CHm, CHe) entsprechen, die jeweils mit unterschiedlichen Typen von Verarbeitung, denen die Nachrichten in den Eingangseinrichtungen in den beiden unterhalb angeordneten Nachrichtenverteilereinrichtungen unterworfen werden können, oder jeweils mit unterschiedlichen Typen von Eingangseinrichtungen in den beiden unterhalb angeordneten Nachrichtenverteilereinrichtungen (PEP, PM) verbunden sind.
3. Netzwerk nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Nachrichten (ME) und die Ladungsinformationen (CE&sub0;, CE&sub1;, CE) zwischen jedem der Nachrichtenverteilereinrichtungen und den Ausgangseinrichtungen in den oberhalb angeordneten Nachrichtenverteilereinrichtungen und den Eingangseinrichtungen in den unterhalb angeordneten Nachrichtenverteilereinrichtungen nach einem asynchronen Übertragungsverfahren übertragen werden.
4. Netzwerk nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß jeder der ersten und zweiten Eingangseinrichtungen (20&sub0;, 20&sub1;) folgendes aufweist:
- eine Pufferreihe (200), um zeitweilig die von den Ausgangseinrichtungen in den oberhalb angeordneten Nachrichtenverteilereinrichtungen übertragenen Nachrichten zu speichern,
- Einrichtungen (202) zur wortweisen Kontrolle des Schreibens und des Lesens der Nachrichten in die Pufferreihe (200),
- Einrichtungen (203, 204) zur Auswahl einer der ersten und zweiten Ausgangseinrichtungen (21&sub0;, 21&sub1;), über die eine in die Pufferreihe (200) eingelesene Nachricht zu verteilen ist, wobei diese Ausgangseinrichtung durch Decodieren der Übermittlungsinformationen (RT, AD) die in der Nachricht enthalten sind, in Abhängigkeit von den Verteilungsanweisungen (PE&sub0;, PE&sub1;), die von den Ladungsregelungseinrichtungen (3) aufgestellt werden, ausgewählt wird,
- Einrichtungen (206) zur Bildung interner Ladungsinformationen (CI&sub0;, CI&sub1;) in Abhängigkeit der Übertragungsinformationen (RT), die in der gelesenen Nachricht enthalten sind, und
- Einrichtungen (205) zur Steuerung des Auslesens der Nachricht aus der Pufferreihe (200), der Übertragung der ausgelesenen Nachricht und der internen Ladungsinformationen (CI&sub0;, CI&sub1;) über die ausgewählte Ausgangseinrichtung (21&sub0;, 21&sub1;) und die Ladungsregelungseinrichtungen (3), wobei die Steuereinrichtungen auch die Funktionen der Selektionseinrichtungen (203, 204) und der Einrichtungen zur Bildung (206) kontrollieren.
5. Netzwerk nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß jede der ersten und zweiten Ausgangseinrichtungen (21&sub0;, 21&sub1;) folgende Komponenten aufweist:
- Einrichtungen (212) zur Auswahl einer der Eingangseinrichtungen (20&sub0;, 21&sub1;) in Abhängigkeit der vorgegebenen Prioritätsanweisungen, die die Ausgangseinrichtungen der oberhalb angeordneten Nachrichtenverteilereinrichtungen und die Eingangseinrichtungen (20&sub0;, 21&sub1;) beeinflussen, wenn die beiden Eingangseinrichtungen gleichzeitig eine Nachrichtenübertragungserlaubnis von der Ausgangsschaltung (21&sub0;, 21&sub1;) anfordern,
- Einrichtungen (213), um die ausgewählte Eingangseinrichtung (20&sub0;, 21&sub1;) zu informieren, daß die Ausgangseinrichtung (21&sub0;, 21&sub1;) die Nachrichtenübertragung erlaubt, und
- Einrichtungen (210, 211), die erste und zweite Eingänge, die jeweils mit der ersten und zweiten Eingangseinrichtung (20&sub0;, 20&sub1;) verbunden sind, und einen Ausgang aufweisen, der mit einer der Eingangseinrichtungen in den unterhalb angeordneten Nachrichtenverteilereinrichtungen verbunden ist, die der Ausgangseinrichtung entspricht, um die Nachricht, deren Übertragung erlaubt worden ist, von der ausgewählten Eingangseinrichtung (20&sub0;, 20&sub1;) zu einer der Eingangseinrichtungen in den unterhalb angeordneten Nachrichtenverteilereinrichtungen zu leiten.
6. Netzwerk nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Ladungsregelungseinrichtungen (3) folgende Komponenten aufweisen:
- Einrichtungen (302, 302a) zum Speichern unterschiedlicher Differentiale von Ladungszahlen (DM, DE), die unterschiedlichen Ladungstypen entsprechen, wobei jedes Differential einen Wert aufweist, der der Differenz (CM&sub0;-CM&sub1;, CE&sub0;-CE&sub1;) zwischen einer Zahl von entsprechenden ersten Ladungsinformationen und einer Zahl von entsprechenden zweiten Ladungsinformationen entspricht, oder umgekehrt, die von den Eingangseinrichtungen in den unterhalb angeordneten Nachrichtenverteilereinrichtungen übertragen werden,
- Einrichtungen (301, I/Dm, I/De) zum Inkrementieren und Dekrementieren der Differentiale der Ladungszahlen (Dm, De) in Abhängigkeit von den ersten und zweiten Ladungsinformationen, die von den Eingangseinrichtungen in den unterhalb angeordneten Nachrichtenverteilereinrichtungen (CE&sub0;, CE&sub1;) übertragen werden, und den internen Ladungsinformationen (CI&sub0;, CI&sub1;), die von den ersten und zweiten Eingangseinrichtungen (20&sub0;, 20&sub1;) gebildet werden, und
- Einrichtungen (301) zur Festlegung der Verteilungsanweisungen (PE&sub0;, PE&sub1;), um sie den Eingangseinrichtungen (20&sub0;, 20&sub1;) zur Verfügung zu stellen, und
- Einrichtungen (301, 31&sub0;, 31&sub1;) zur Bildung von ersten und zweiten Ladungsinformationen (I/D&sub0;, I/D&sub1;, CE) in Abhängigkeit der Werte und Veränderungen der Differentiale der Ladungszahlen (Dm, De), um diese ersten und zweiten Ladungsinformationen (I/D&sub0;, I/D&sub1;, CE) zu den Ausgangseinrichtungen in den oberhalb angeordneten Nachrichtenverteilereinrichtungen zu übertragen.
7. Netzwerk nach Anspruch 6, dadurch gekennzeichnet, daß die Ladungsregelungseinrichtungen (3) außerdem Einrichtungen zum Vorhersehen der Entwicklung der Werte und Veränderungen der Differentiale der Ladungszahlen (303, 303a), und
- Einrichtungen (301) zur Bestimmung der Verteilungsanweisungen (PE&sub0;, PE&sub1;), die an die ersten und zweiten Eingangseinrichtungen (20&sub0;, 20&sub1;) geliefert werden, und
- Einrichtungen (301) zur Bildung der ersten und zweiten Ladungsinformationen (I/D&sub0;, I/D&sub1;, CE) in Abhängigkeit der vorhergesehenen Entwicklung der Werte und Veränderungen der Differentiale der Ladungszahlen, um diese ersten und zweiten Ladungsinformationen (I/D&sub0;, I/D&sub1;, CE) zu den Ausgangseinrichtungen in den oberhalb angeordneten Nachrichtenverteilereinrichtungen zu übertragen,
aufweisen.
DE68917679T 1988-10-26 1989-10-13 Datenübertragungsnetzwerk für Multiprozessorsysteme. Expired - Fee Related DE68917679T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8813969A FR2638260B1 (fr) 1988-10-26 1988-10-26 Dispositifs de commutation et reseaux de communication de donnees pour systemes multiprocesseurs

Publications (2)

Publication Number Publication Date
DE68917679D1 DE68917679D1 (de) 1994-09-29
DE68917679T2 true DE68917679T2 (de) 1995-03-30

Family

ID=9371280

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68917679T Expired - Fee Related DE68917679T2 (de) 1988-10-26 1989-10-13 Datenübertragungsnetzwerk für Multiprozessorsysteme.

Country Status (4)

Country Link
US (1) US5239653A (de)
EP (1) EP0366520B1 (de)
DE (1) DE68917679T2 (de)
FR (1) FR2638260B1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758109A (en) * 1990-03-19 1998-05-26 Thomas A. Gafford Repeater/switch for distributed arbitration digital data buses
CA2094410C (en) * 1992-06-18 1998-05-05 Joshua Seth Auerbach Distributed management communications network
US5915095A (en) * 1995-08-08 1999-06-22 Ncr Corporation Method and apparatus for balancing processing requests among a plurality of servers based on measurable characteristics off network node and common application
US5978844A (en) * 1995-09-08 1999-11-02 Hitachi, Ltd. Internetworking apparatus for load balancing plural networks
US5802333A (en) * 1997-01-22 1998-09-01 Hewlett-Packard Company Network inter-product stacking mechanism in which stacked products appear to the network as a single device
US5742587A (en) * 1997-02-28 1998-04-21 Lanart Corporation Load balancing port switching hub
US5991808A (en) * 1997-06-02 1999-11-23 Digital Equipment Corporation Task processing optimization in a multiprocessor system
US6985431B1 (en) * 1999-08-27 2006-01-10 International Business Machines Corporation Network switch and components and method of operation
US6928477B1 (en) * 1999-11-18 2005-08-09 International Business Machines Corporation Availability and scalability in clustered application servers by transmitting expected loads of clients to load balancer
US7447197B2 (en) * 2001-10-18 2008-11-04 Qlogic, Corporation System and method of providing network node services
US7200144B2 (en) * 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US8605719B2 (en) 2007-07-13 2013-12-10 St-Ericsson Sa Circuit with network of message distributor circuits
US10003536B2 (en) 2013-07-25 2018-06-19 Grigore Raileanu System and method for managing bandwidth usage rates in a packet-switched network
US10924408B2 (en) 2014-11-07 2021-02-16 Noction, Inc. System and method for optimizing traffic in packet-switched networks with internet exchanges
US9769070B2 (en) 2015-01-28 2017-09-19 Maxim Basunov System and method of providing a platform for optimizing traffic through a computer network with distributed routing domains interconnected through data center interconnect links

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH584488A5 (de) * 1975-05-05 1977-01-31 Ibm
US4363094A (en) * 1977-12-29 1982-12-07 M/A-COM DDC, Inc. Communications processor
US4491916A (en) * 1979-11-05 1985-01-01 Litton Resources Systems, Inc. Large volume, high speed data processor
US4543627A (en) * 1981-12-14 1985-09-24 At&T Bell Laboratories Internal communication arrangement for a multiprocessor system
US4777595A (en) * 1982-05-07 1988-10-11 Digital Equipment Corporation Apparatus for transferring blocks of information from one node to a second node in a computer network
US4543628A (en) * 1983-01-28 1985-09-24 Digital Equipment Corporation Bus for data processing system with fault cycle operation
US4577272A (en) * 1983-06-27 1986-03-18 E-Systems, Inc. Fault tolerant and load sharing processing system
US4621359A (en) * 1984-10-18 1986-11-04 Hughes Aircraft Company Load balancing for packet switching nodes
JPS61150059A (ja) * 1984-12-24 1986-07-08 Sony Corp デ−タ処理装置
DE3522721A1 (de) * 1985-06-25 1987-01-08 Siemens Ag Schaltungsanordnung fuer fernmeldevermittlungsanlagen, insbesondere fernsprechvermittlungsanlagen, mit informationsverarbeitenden zentralen schaltwerken und diesen informationsverarbeitungsauftraege zufuehrenden teilzentralen schalteinrichtungen
CA1263760A (en) * 1985-09-27 1989-12-05 Alan L. Davis Apparatus for multiprocessor communication
US4999771A (en) * 1987-08-31 1991-03-12 Control Data Corporation Communications network

Also Published As

Publication number Publication date
EP0366520A1 (de) 1990-05-02
EP0366520B1 (de) 1994-08-24
DE68917679D1 (de) 1994-09-29
FR2638260A1 (fr) 1990-04-27
FR2638260B1 (fr) 1994-04-29
US5239653A (en) 1993-08-24

Similar Documents

Publication Publication Date Title
DE68917679T2 (de) Datenübertragungsnetzwerk für Multiprozessorsysteme.
DE3751091T2 (de) Übertragungsprotokoll zwischen Prozessoren.
DE3689226T2 (de) Multiprozessorsystem mit multihierarchischen Ebenen.
DE3127349C2 (de)
DE3783370T2 (de) Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung.
DE19607531C2 (de) Zeitoptimierte Übertragungseinrichtung für Rundsendedaten in Multicluster-Computersystemen mit Crossbarnetz
DE69028371T2 (de) Verfahren und Vorrichtung zur Ausnutzung der Kommunikationsbandbreite und Zurverfügungstellung eines gemeinsamen Speichers
DE69133257T2 (de) Vorrichtung und verfahren zur schnellen paketvermittlung
DE60037065T2 (de) Übertragungsteuerung mit Naben- und Torachitektur
DE69733374T2 (de) Speichersteuerungsvorrichtung und -system
DE3853574T2 (de) Steuerung von Benutzerantworten in einem Übertragungsbus.
DE3689198T2 (de) Systembus für Kommunikation zwischen Prozessoren.
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE68915701T2 (de) Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung.
DE69018286T2 (de) Gerät für Verwaltung, Vergleich und Korrektur redundanter digitaler Daten.
DE3486451T2 (de) Mehrprozessorsteuerung für Vektorrechner
DE3820544C2 (de) Ortsbereichsnetzsystem mit einem hiermit gekoppelten Mehrcomputersystem und Verfahren zur Steuerung hiervon
DE2162806A1 (de) Digitales Eingabe-Ausgabe-Steuersystem mit Kanalpufferung
EP0179936A1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
DE2943149C2 (de) Ringnetzwerk mit mehreren an eine Daten-Ringleitung angeschlossenen Prozessoren
DE69106384T2 (de) Skalierbares parallel-vektorrechnersystem.
DE69122142T2 (de) Steuerungsanlage für ein Mehrprozessorsystem
DE2809602A1 (de) Kanalbus-steuereinrichtung
DE68924992T2 (de) Symmetrische Steuerungsanordnung für Multiverarbeitung.
DE112013001211T5 (de) Multithread-Paketverarbeitung

Legal Events

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