DE3855615T2 - Automatische Bestimmung der Anzahl von Prozessormodulen für Multiprozessorsysteme - Google Patents
Automatische Bestimmung der Anzahl von Prozessormodulen für MultiprozessorsystemeInfo
- Publication number
- DE3855615T2 DE3855615T2 DE19883855615 DE3855615T DE3855615T2 DE 3855615 T2 DE3855615 T2 DE 3855615T2 DE 19883855615 DE19883855615 DE 19883855615 DE 3855615 T DE3855615 T DE 3855615T DE 3855615 T2 DE3855615 T2 DE 3855615T2
- Authority
- DE
- Germany
- Prior art keywords
- address
- processor
- counter
- bus
- signal
- 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
- 238000004891 communication Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000004513 sizing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- AZFKQCNGMSSWDS-UHFFFAOYSA-N MCPA-thioethyl Chemical group CCSC(=O)COC1=CC=C(Cl)C=C1C AZFKQCNGMSSWDS-UHFFFAOYSA-N 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/366—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Description
- Die vorliegende Erfindung betrifft ein Mehrprozessorsystem der Art, die eine Anzahl von einzelnen Prozessormodulen enthält, die durch eine Busstruktur verbunden sind, die dazwischen eine Kommunikation bereitstellt, und genauer eine Bussteuerung, die betreibbar ist, um jedem Prozessormodul Zugriff zum Bus zu gewähren und um eine Zahl zum Angeben der Prozessormodule zu bestimmen, die operativ an den Bus gekoppelt sind.
- Derzeit existiert eine Vielzahl von Mehrprozessorsystemarchitekturen, von denen jede eine oder eine andere einer Anzahl von verfügbaren Techniken verwendet, um eine Datenkommunikation zwischen den einzelnen Prozessoren herzustellen. Jede hat ihre jeweiligen Vorteile und Nachteile. Eine derartige Mehrprozessorarchitektur verwendet zum Beispiel einen Hauptspeicher in "Briefkasten"-Weise, um Nachrichten zwischen Prozessoren zu übertragen. Eine andere Architektur setzt eine Busstruktur ein, die die einzelnen, alleine operierenden Prozessoren verbindet, um eine Zwischenprozessorkommunikation bereitzustellen. Kommunikation auf dem Bus wird zeitweise durch eine Bussteuerung gesteuert, die in Abhängigkeit von Anforderungen für Buszugriffe von irgend einer der speziellen Steuerungen arbeitet, um die Prozessoren zyklisch abzufragen, ein Prozessor/Empfänger-Paar (in Abhängigkeit von der Abfrage) zur Kommunikation auszuwählen und diese Kommunikation zu steuern. Diese Kommunikationstechnik hat den Vorteil des Einrichtens einer Kommunikationskonferenz in einer kurzen Zeit, was es gestattet, daß hohe Datenübertragungen zwischen den Prozessoren des Systems stattfinden. Ein Beispiel dieser Systemart ist in dem US-Patent Nr.4,228,496 von Katzman et al. zu finden.
- Ein Nachteil ist jedoch die Menge an Schaltungsaufwand, um das Kommunikationssystem zu implementieren. Somit werden, wenn das System arbeiten kann, um eine Zwischenprozessorkommunikation mit einer niedrigeren Rate auszuführen, die ein einfacheres Protokoll verwendet, weniger Teile benötigt, was zum Aufbau eines weniger teueren und zuverlässigeren System führt.
- Die vorliegende Erfindung betrifft eine Bussteuerung für ein Mehrprozessorsystem der Art, bei der eine Anzahl von Prozessormodulen zur Kommunikation dazwischen durch eine Busarchitektur verbunden sind.
- Gemäß der vorliegenden Erfindung wird in einem System der Art, die mehrere Prozessormodule enthält, die zur Zwischenprozessorkommunikation durch Buseinrichtungen kooperativ miteinander gekoppelt sind, wobei jedes Prozessormodul durch eine vordefinierte Adresse zum Empfang von Befehlssignalen auf den Buseinrichtungen individuell identifizierbar ist, ein Verfahren gemäß Anspruch 1 und ein System gemäß Anspruch 4 geschaffen.
- Die Bussteuerung arbeitet, um jedem der Prozessoren in einer geordneten Weise einen Buszugriff zu gestatten, und steuert die Datenübertragung zwischen Prozessorpaaren. In dem Mehrprozessorsystem, das die Erfindung einsetzt, haben die Prozessoren, die operativ an den Bus angeschlossen sind, Adressenidentifikationen ∅ - N, wobei N vorzugsweise 7 ist. Die tatsächliche Anzahl von Prozessoren kann von 1 bis 8 variieren, und die Bussteuerung ist so konstruiert, daß sie die Identität des höchszahligen Prozessors in dem System bestimmt. Gemäß dem Verfahren der vorliegenden Erfindung ist die Steuerung konstruiert, um das folgende Kommunikationsprotokoll zu implementieren: Zugriff zum Bus wird jeglichem der Prozessoren nur in Abhängigkeit von einem SENDE-Befehl gewährt, der von der Bussteuerung in sequentieller "Bittschrift"- (round-robin-) Art ausgegeben wird. Die Bussteuerung gibt den SENDE-Befehl mit einer Adresse, die den sendenden Prozessor identifiziert, an den Bus. Wenn der adressierte Prozessor Daten zum Senden hat, werden diese Daten (in der Form eines 16- Wort-Datenpaketes) auf den Bus gegeben und in Abhängigkeit von einem Taktsignal, das von der Bussteuerung geliefert wird, synchron zu einem (in dem Datenpaket identifizierten) Empfängerprozessor übertragen. Wenn der Prozessor keine Daten zum Senden hat, antwortet er mit einem Nichtbestätigungssignal (NAK).
- Die Bussteuerung behält eine Aufzeichnung der höchstzahligen Prozessoradresse in dem System und wählt von dieser Nummer abwärts zur Adresse ∅ sequentiell Prozessoradressen, wenn sie über den SENDE-Befehl Zugriff auf den Bus gewährt. Um in der Lage zu sein, jeden der bis zu acht Prozessoren, die in dem System sein können, zu wählen, ohne durch routinemäßiges Auswählen von Prozessoren, die nicht vorhanden sind, Zeit zu verschwenden, wird eine "Autobemessungs"-Routine verwendet. Zu einem Anfangszeitpunkt und periodische während eines Normalbetriebs überträgt die Bussteuerung einen SENDE-Befehl mit einer Adresse unter Verwendung der Maximalnummer-Prozessoradresse (d.h. 7). Wenn dieser adressierte Prozessor vorhanden ist, wird er entweder mit Daten oder, wenn keine Daten zu senden sind, einem NAK-Signal antworten. Wenn keinerlei Antwort erhalten wird, nimmt die Bussteuerung (richtig) an, daß dieser Prozessor nicht vorhanden ist, und verringert einen Zähler, der die Aufzeichnung hält. Sie gibt dann zusammen mit der nächsthöchsten Prozessoradresse einen weiteren SENDE-Befehl aus und erwartet eine Antwort. Dieser Prozeß geht weiter, bis von dem adressierten Prozessor eine der zwei gültigen Antworten empfangen wird, d.h. eine Datenübertragung oder ein NAK- Signal. In diesem Moment wird der Inhalt des Zähler eingefroren, wodurch eine Aufzeichnung der höchstzahligen Prozessoradresse des Prozessors in dem System erhalten bleibt. Anschließend werden SENDE-Befehle nur an diesen und an die niedrigerzahligen Prozessoren gesandt.
- Fig. 1 ist eine Diagrammdarstellung eines Mehrprozessorsystems, das die vorliegende Erfindung einsetzt,
- Fig. 2 ist ein vereinfachtes Blockdiagramm der Bussteuerung von Fig. 1, das die Ausführung der vorliegenden Erfindung illustriert, und
- Fig. 3 ist ein Zustandsdiagramm, das den Betrieb der Bussteuerung von Fig. 1 und 2 darstellt.
- Unter Bezugnahme zunächst auf die Fig. 1 ist dort ein allgemein mit dem Bezugszeichen 10 bezeichnetes Mehrprozessorsystem dargestellt, das die vorliegende Erfindung einsetzt. Das Mehrprozessorsystem 10 enthält Prozessormodule 12, numeriert von ∅ - N. Das Mehrprozessorsystem 10 ist vorzugsweise so konfiguriert, daß es ein fehlertolerantes System bildet. Entsprechend enthält die bevorzugte Konfiguration nicht weniger als zwei der Prozessoren 12, die das System bilden, und es ist gegenwärtig bevorzugt, daß es nicht mehr als acht Prozessoren gibt. Jedoch ist für die Fachleute klar, daß N tatsächlich jegliche Zahl annehmen kann; das heißt, daß die Anzahl von Prozessoren größer als 8 sein kann.
- Unter weiterer Bezugnahme auf die Fig. 1 zeigt das Mehrprozessorsystem 10 die Prozessoren 12 durch eine Busarchitektur 14 verbunden, die zwei getrennte, identisch aufgebaute Zwischenprozessorbusse (IPBs) 16A und 16B enthält. Eine Beschreibung dieser Busarchitektur zusammen mit einer weiteren Erklärung der Prozessoren 12 und ihrer jeweiligen Schniffstellenstruktur zur Busarchitektur 14 ist in der ebenfalls anhängigen Patentanmeldung (nachfolgend die "ebenfalls 4 anhängige Anmeldung") für MEHRPROZESSOR-BUSPROTOKOLL, Seriennr. 845,906, angemeldet am 28. März 1986, und dem vorliegenden Inhaber übertragen, zu finden, deren Offenbarung durch die Bezugnahme hierin aufgenommen ist.
- Zwischenprozessorkommunikationen können in Abhängigkeit vom Zwischenprozessorverkehr entweder auf jedem der IPBs 16A oder 16B ausgeführt werden. Im Fall eines möglichen Fehlers von IPB 16A oder IPB 16B kann der andere den gesamten Verkehr übernehmen, wodurch eine Fehlertoleranz für Fehler in dem Zwischenprozessor-Kommunikationssystem bereitgestellt wird. Wie auch in der ebenfalls anhängigen Anmeldung initiieren und steuern Bussteuerungen 18A und 18B alle Zwischenprozessorkommunikationen, mit einem Hauptunterschied: Wohingegen das in der ebenfalls anhängigen Anmeldung verwendete Protokoll die Bussteuerung veranlaßte, eine Abfragesequenz in Abhängigkeit von Prozessoranfragen für einen Buszugriff zu initiieren, führt das vorliegende Protokoll eine Bittschrift-Technik aus, die jedem Prozessor 12 sequentiell einen Buszugriff gewährt, wobei jeder Prozessor 12 entweder mit einer Datenkommunikation oder einem Nichtbestätigungssignal (NAK) antwortet. Dies ist unten genauer erklärt.
- Jeder der Prozessoren 12 ist mit herkömmlichen Adressenerfassungsschaltungen (nicht gezeigt) ausgestattet, die es dem Prozessor gestatten, eindeutig identifiziert zu werden. Zum Beispiel werden Befehle, die zum IPB 16A und/oder IPB 16B gegeben werden, von Adresseninformationen begleitet, die einen der Prozessoren 12 als den Prozessor zum Empfangen und Beantworten des Befehls identifizieren. Die Adressenerfassungsschaltungen gestatten es jedem Prozessor, zu bestimmen, ob der Befehl an ihn gerichtet ist. Derartige Adressenerfassungsschaltungen und Adressiertechniken gehören zum Können jener, die diese Technik praktizieren, und werden daher nicht weiter erläutert.
- Unter Bezugnahme nun auf die Fig. 2 ist dort in Blockdiagrammform das Schema der Bussteuerung 18A dargestellt. Es ist verständlich, daß die Gestaltung der Bussteuerung 18B identisch mit jener der Bussteuerung 18A ist. Daher soll die folgende Beschreibung der Bussteuerung 18A gleichermaßen als für die Gestaltung, Funktion und Arbeitsweise der Bussteuerung 18B geltend verstanden werden.
- Wie die Fig. 2 darstellt, enthält die Bussteuerung 18A vier funktionale Haupteinheiten: Bemessungseinheit 20, Zählereinheit 30, Zustandsmaschine 40 und eine 8-Bit-Zählereinheit 50. Der Gesamtbetrieb wird durch die Zustandsmaschine 40 gesteuert, die die Zählereinheiten 30 und 50 verwendet, um im Betrieb verschiedene Zeitinkremente zu markieren, wie nachfolgend zu erkennen ist.
- Die funktionalen Einheiten werden unter Verwendung von programmierbaren Feldlogik- (PAL-) Vorrichtungen eingesetzt, so wie jene, die von Monolithic Memories, Inc., Santa Clara, Californien, hergestellt und unter der Teilenummer 16R8 verkauft werden. Eine Beschreibung der 16R8-PAL ist in dem LSI- Datenbuch, 7. Auflage (1986), veröffentlicht von Monolithic Memories, zu finden. PAL-Vorrichtungen wie diese enthalten typischerweise Kombinationslogiken und Flipflops (durch einen Anwender oder für Anwenderanforderungen), um eine Vielzahl von Schaltungen zu bilden. Hier werden sie verwendet, um primär Zähloperationen auszuführen.
- Die Fig. 2 ist daher eine funktionelle Darstellung der in den oben beschriebenen PAL-Vorrichtungen implementierten Erfindung.
- Zunächst erfolgt eine Zuwendung zur Bemessungseinheit 20 in der Fig. 2, wobei als in der Bemessungseinheit 20 enthalten ein 3-Bit-Zähler 22, ein Einstell/Rückstell-Flipflop 24 und eine Flipflop-Paar 28 gezeigt sind. Der Dateneingang des Zählers 22 steht auf 5 Volt Gleichspannung, so daß ein Zusammentreffen zwischen einem Anschluß-Zählsignal (TC) vom Zähler 50 und dem BEMESSUNG-Signal vom Einstell/Rückstell-Flipflop 24, das nicht aktiv ist, am Lasteingang (LD) des Zählers den Zähler 22 mit lauter EINSen lädt oder voreinstellt. Der Zähler 22 ist zum Zählen bei einem Zusammentreffen zwischen einem NULL-1-Signal von der Zustandsmaschine 40 und der Q-Ausgabe (BEMESSUNG) des Einstell/Rückstell-Flipflops 24 ausgelegt. Der AUFWÄRTS/ABWÄRTS-Eingang des Zählers ist geerdet, so daß (an seinen Takteingang (CK) angelegte) Taktimpulse den Zähler 22 bei einer Freigabe veranlassen, von seinem voreingestellten Wert abwärts zu zählen, wenn er freigegeben ist.
- Das Einstell/Rückstell-Flipflop 24 wird eingestellt (d.h., seine Q-Ausgabe wird durch das TC-Signal, das durch den 8-Bit-Zähler 50 erzeugt wird, HOCH) und zurückgestellt, wenn eines der Nichtbestätigungs- (NAK-) oder der R-Takt- Detektionssignale (RDET) auf HOCH geht. Die Q-Ausgabe des Einstell/Rückstell- Flipflops 24 entwickelt ein BEMESSUNG-Signal. Im Falle von HOCH, setzt das BEMESSUNG-Signal die Bussteuerung 18A in einen Modus, der bewirkt, daß der Zähler 22 auf die Adresse des höchstzahligen Prozessors 12 in dem System gesetzt wird.
- Schließlich enthält die Bemessungseinheit 20 auch ein Paar von D-Flipflops 28, die das NAK-Signal und an ihren jeweiligen Takteingängen (CK) ein Bussteuerungs-Taktsignal (CLK) empfangen. Das D-Flipflop-Paar 28 fungiert zum Synchronisieren des (wie zu sehen sein wird) extern und asynchron erzeugten NAK-Signals mit dem Bussteuerungstakt CLK, was ein synchronisiertes NAK- Signal (SNAK) erzeugt.
- Der 3-Bit-Ausgang des Zählers 22 ist mit dem Dateneingang eines Abwärtszählers 32 gekoppelt, der in der Zählereinheit 30 enthalten ist. Der Inhalt des Zählers 22 geht durch den Zähler 32 hindurch, wenn das BEMESSUNG- Signal HOCH ist (d.h., der Zähler 22 ist in einen transparenten Zustand versetzt, wenn BEMESSUNG HOCH ist - indem er fortgesetzt zum Laden gezwungen wird). Wenn BEMESSUNG NIEDRIG wird, wird der Inhalt des Zählers 22 im Zähler 32 eingestellt. Zusätzlich wird der Inhalt des Zählers 22 ferner durch das Signal, das durch die Kombinationslogikeinheit 33 erzeugt wird, periodisch im Zähler 32 eingestellt. Die Kombinationslogikeinheit 33 fungiert zum Übertragen des BEMESSUNG-Signals zum LD-Eingang des Abwärtszählers 32. Die Kombinationslogikeinheit 33 fungiert ferner, um dem LD-Eingang ein HOCH bereitzustellen, wenn der Inhalt des Zählers NULL ist und das NULL-1-Signal HOCH ist.
- Der Zähler 32 empfängt ferner von der Zustandsmaschine 40 das NULL-1-Signal an seinem Freigabeeingang (EN) und den Bustakt (CLK) an seinem Takteingang (CK). Der Zähler 32 ist in derselben Weise wie der Zähler 22 als ein Abwärtszähler konfiguriert: Der AUFWÄRTS/ABWÄRTS-Eingang ist geerdet. Daher wird sich der Inhalt des Zählers 32 im Falle der Freigabe bei jedem Auftreten von CLK um 1 verringern, und nicht von dem Lasteingang (LD) aufgehoben.
- Der Inhalt des Abwärtszählers 32 wird über Bussteuerschaltungen 88 an drei (der 16 verfügbaren) Datenleitungen 60 von IPB 16A gegeben, die die Adresse eines Prozessormoduls 12 (Fig. 1) bilden, das zum Empfangen eines SENDE-Befehls eingerichtet ist, der auf vier Steuerleitungen 62 des IPBs 16A übertragen wird. Geeignete Schaltungen (nicht gezeigt) in jedem der Prozessormodule 12 überwachen den IPB 16A, um von den Datenleitungen 60 diejenige zu bestimmen, die zum Empfangen der Befehle vorgesehen ist, die auf den Datenleitungen 62 von IPB 16A übertragen wurden.
- Der Abwärtszähler 32 arbeitet (wenn das BEMESSUNG-Signal NIEDRIG ist), um von welchen Wert auch immer, der zum Voreinstellen des Zählers 32 verwendet wurde (d.h., dem Inhalt des Zählers 22) bis ∅ abwärts zu zählen.
- Ferner ist in der Zählereinheit 30 ein 4-Bit-Zähler 34 enthalten, der durch ein XEN- Signal von der Zustandsmaschine 40 freigegeben wird. An den Lasteingang (LD) des 4-Bit-Zählers 34 ist ein NULL-Signal angelegt, das von der Zustandsmaschine 40 erzeugt wird. Wenn das NULL-Signal NIEDRIG ist, wird der 4-Bit-Zähler in einem fortgesetzten Lastzustand gehalten. Da der Dateneingang des 4-Bit- Zählers 34 geerdet ist, wird der Zähler mit NULLen geladen, wenn NULL auf HOCH geht.
- Wenn der 4-Bit-Zähler freigegeben und durch den Bussteuertakt CLK getaktet ist, zählt er, bis er ein Ausführungssignal (CO) erzeugt, das angibt, daß der Zähler durch seine vollständigen 16 Zustände getaktet wurde. Mehr über den Zähler 34 später.
- Unter Zuwendung nun zum 8-Bit-Zähler 50 ist dieser Zähler konfiguriert, um durch das BEMESSUNG-Signal gesperrt zu sein, das von dem Zähler an seinem Lasteingang (LD) empfangen wird. Da der Dateneingang der Zählereingabe geerdet ist, wird der Zähler in einem NULL-Zustand gehalten, während BEMESSUNG HOCH ist. Wenn BEMESSUNG auf NIEDRIG geht, wurde der Zähler mit NULL voreingestellt. Wenn das BEMESSUNG-Signal NIEDRIG ist, ist der 8-Bit-Zähler 50 jedoch durch Übereinstimmung zwischen einem DRVCLK- Signal von der Zustandsmaschine 40 und einem MC(∅), das vom geringstwertigen Bit der Ausgabe des Abwärtszählers 32 entwickelt wird, zum Takten (durch CLK) freigegeben. Der 8-Bit-Zähler zählt von ∅ bis 128. Bei der Zählung 128 geht das höchstwertige Bit (MSB) des 8-Bit-Zählers, das das abschließende Zählsignal (TC) ist, auf HOCH. Wie in der Fig. 2 gezeigt ist, ist das TC-Signal an den Einstelleingang (S) des Einstell/Rückstell-Flipflops 24 angelegt, was das BEMESSUNG-Signal auf HOCH bringt. Gleichzeitig ist das TC-Signal an den Zähler 22 gekoppelt, wo es mit BEMESSUNG arbeitet, um den Zähler mit drei "1en" voreinzustellen.
- Das Herz der Bussteuerung 18A ist die Zustandsmaschine 40. Die Zustandsmaschine 40 ist eine herkömmliche dreistufige Zustandsmaschine, die als Eingaben das synchronisierte NAK Signal SNAK, das von dem D-Flipflop-Paar 28 erzeugt wird, das Ausführungssignal (CO) des 4-Bit-Zählers 34 der Zählereinheit 30 und das periodische CLK-Signal empfängt. Die Zustandsmaschine 40 arbeitet, um zyklisch die fünf Zustände zu durchlaufen, die in der Fig. 3 als NULL2, NULL∅, SENDE, DATEN-XFR und NULL1 dargestellt sind, mit periodischen Exkursionen zu einem RÜCKSTELL-Zustand, wie beschrieben werden wird. Wenn die Zustandsmaschine 40 durch die Zustände weitergeht, wie in der Fig. 3 dargestellt ist, werden verschiedene Steuersignale erzeugt, um den Betrieb der Bussteuerung 18A zu lenken, und um die einzelnen Prozessoren 12 über den Zwischenprozessorbus 16A anzuzeigen. Zum Beispiel erzeugt die Zustandsmaschine 40 ein 4-Bit-Befehlssignal (CMD), das aus drei Bits Befehlsinformation und einem Paritätsbit (für ungerade Parität) besteht. Ferner wird ein NULL-1-Signal erzeugt, das in der Bussteuerung 18A verwendet wird, um den Abwärtszähler 32 der Zählereinheit 30 freizugeben, und um (mit BEMESSUNG) den Zähler 22 freizugeben. Ein NULL-Signal, das von der Zustandsmaschine 40 bereitgestellt wird, arbeitet, wenn es HOCH ist (es ist nur während der DATEN-XFR- und SENDE-Zustände niedrig - Fig. 3), um den 4-Bit- Zähler in einem dauernden Lastzustand zu halten, während das zustandsmaschinenerzeugte XEN-Signal den 4-Bit-Zähler 50 zum Zählen freigibt.
- Zusätzlich erzeugt die Zustandsmaschine 40 einen Steuertakt (DRVCLK) und Steuerdatensignale (DRVDAT). Das DRVCLK-Signal arbeitet als ein Freigabesignal, um einen Empfangstakt (RCLK) zu erzeugen, der an eine Taktleitung 66 des Zwischenprozessorbusses 16A angelegt ist. Das DRVDAT- Signal wird an den Freigabeeingang (E) der Steuereinheit 88 angelegt, um die Ausgaben des Abwärtszählers 32 zu Datenleitungen durchzuschalten.
- Die Zustandsmaschine 40 empfängt an ihrem Takteingang (CK) das CLK-Signal der Bussteuerung 18A, um einen synchronen Betrieb durch ihre verschiedenen Zustände aufrechtzuerhalten. Das CLK-Signal entsteht bei einem 20-MHz- Oszillator 70, dessen Ausgabe an das Takt-(CK)-Flipflop 72 angelegt ist, das in einer Durch-Zwei-Teilen-Konfiguration angeschlossen ist. Die Q-Ausgabe des Flipflops 72 bildet das CLK-Signal, das durch die Bussteuerung 18A hindurch zum synchronen Betrieb ihrer Schaltungen verschieden verwendet wird.
- Das gesamte Takten zur Datenübertragung auf dem IPB 16A wird von der Bussteuerung 18A bereitgestellt. Wie in der oben angegebenen ebenfalls anhängigen Anmeldung erklärt ist, wird von der Bussteuerung 18A ein Sendetakt (SCLK) erzeugt, der von dem Prozessor 12, der Daten sendet, verwendet wird, um einen Empfangstakt (RCLK) zu entwickeln, der wiederum von dem Prozessor verwendet wird, der Daten empfängt, um Daten vom Zwischenprozessorbus 16A zu takten. Der Sendetakt (SCLK) wird vom Bussteuerungstakt (CLK) über eine Verzögerungsschaltung 74 entwickelt, die eine Verzögerung bereitstellt, um sicherzustellen, daß ein Takten auftritt, wenn sich zulässige Daten auf dem Zwischenprozessorbus 16A befinden. Ein Steuerverstärker 76 überträgt das verzögerte CLK-Signal zu einer Signalleitung von IPB 16A als (SCLK).
- Das verzögerte CLK-Signal von der Verzögerungsschaltung 74 ist ferner an einen Freigabeeingang (E) eines Pufferverstärkers 78 angelegt. Der Dateneingang (I) des Pufferverstärkers 78 empfängt das Steuertaktsignal (DRVCLK) von der Zustandsmaschine 40, um ein Empfangstaktsignal (RCLK) zu entwickeln, das von den Prozessoren 12 verwendet wird, um Daten zu takten, die von der Bussteuerung 18A gesendet wurden (d.h. Prozessoradressen auf Datenleitungen 60).
- Unter Bezugnahme nunmehr auf die Fig. 3, in der ein Zustandsdiagrmm der Zustandsmaschine 40 (Fig. 2) dargestellt ist, sind dort die sechs zulässigen Zustände gezeigt, die die Zustandsmaschine annehmen kann. Die Befehlssignale (CMD), die von der Zustandsmaschine 40 in jedem Zustand ausgegeben werden, sind in der Fig. 3 rechts von jedem dargestellten Zustand gezeigt. Das in den CMD-Bits gezeigte Komma trennt die drei Befehlsbits von dem Paritätsbit.
- Der allgemeine Betrieb der Bussteuerung 18A ist folgendermaßen: Zuerst sei angenommen, daß der Inhalt des Zählers 22 der Bemessungseinheit 20 verwendet wurde, um den Abwärtszähler 32 der Zählereinheit 30 mit einer Zahl voreingestellt wurde, die die höchstzahlige Adresse der Prozessoren 12 in dem System 10 (Fig. 1) identifiziert. Ferner sein angenommen, daß die Zustandsmaschine 40 im NULL1-Zustand ist, wobei der Befehl ∅∅∅,1 ausgegeben wird, der über Steuerverstärker 86 zu den vier Steuerleitungen 62 des Zwischenprozessorbusses 16A gegeben wird, was keine Busaktivität angibt. Die nächsten sequentiellen Impulse des CLK-Signals veranlassen jeweils die Zustandsmaschine 40, die nächsten Zustände in der Sequenz anzunehmen: Den NULL2-Zustand, der ebenfalls den ∅∅∅,1-Befehl ausgibt, den NULL∅-Zustand und den SENDE-Zustand. Jedoch wird der Übergang vom NULL∅-Zustand zum SENDE-Zustand nur auftreten, wenn das NAK-Signal (erzeugt von NAK über die Busleitung 64 und den Empfänger 82) vom Prozessor 12 nicht aktiv, d.h. NIEDRIG, ist. Die Situation von NAK aktiv (d.h. HOCH) während dieser Zustände, wird später erörtert.
- Im SENDE-Zustand geht das DRVDAT-Signal von der Zustandsmaschine 40 auf NIEDRIG, um die Steuerverstärkereinheit 88 freizugeben, um die Ausgabe des Abwärtszählers 32 zu den drei Datenleitungen 60 des Zwischenprozessorbusses 16A zu übertragen, und dadurch einen der Prozessoren 12 (Fig. 1) zum Empfang der CMD-Signale auf Befehlsleitungen 62 von IPB 16A zu identifizieren.
- Gleichzeitig wechselt das Befehlssignal CMD von ∅∅∅,1 auf 111,∅, was angibt, daß der Prozessor 12, der durch die Information auf den Datenleitungen 60 identifiziert wurde, Daten senden soll, wenn er welche zum Senden hat. Wenn der identifizierte Prozessor Daten zum Senden hat, werden dieser Befehl und die Identifikationsinformation den Prozessor veranlassen, die Zustandsmaschine (nicht gezeigt) zum "Aufwachen" zu bringen. Die Identifikation und die Befehlsinformation werden jeweils durch die RCLK - und SCLK-Taktsignale, die durch die Bussteuerung 18A entwickelt werden, in den Empfangsprozessor 12 getaktet. Dies ist das einzige Mal, daß die Bussteuerung 18A das RCLK- Taktsignal entwickelt; in allen anderen Fällen wird RCLK von dem Prozessor 12 entwickelt, der Daten sendet, wenn es irgendwelche Daten zum Senden gibt. In diesem Fall wird das RCLK-Signal jedoch durch das auf HOCH gehende Steuertaktsignal (DRVCLK) von der Zustandsmaschine 40 und das verzögerte CLK-Signal entwickelt.
- Der nächste CLK-Impuls bewegt die Zustandsmaschine 40 zum DATEN-XFR- Zustand (wieder, wenn NAK noch NIEDRIG ist). Nun geht DRVCLK auf NIEDRIG, was den Steuerverstärker 78 abschaltet und die Erzeugung von RCLK durch die Bussteuerung 18A beendet. Ferner geht das XEN-Signal, das von der Zustandsmaschine 40 erzeugt wird, auf HOCH, um das D-Flipflop 76 (zu Zwecken, die nicht mit der vorliegenden Diskussion zusammenhängen, aber unten erörtert werden) und den 4-Bit-Zähler 34 der Zählereinheit 30 freizugeben. Gleichzeitig geht das NULL-Signal auf NIEDRIG, wodurch der 4-Bit-Zähler 34 mit NULL voreingestellt ist. Die Zustandsmaschine 40 bleibt im DATEN-XFR-Zustand solange die NAK- und CO-Signale vom Empfänger 82 bzw. 4-Bit-Zähler 34 NIEDRIG sind. Somit wird, wenn der identifizierte Prozessor 12 Daten zum Senden hat, er diese Daten auf den Zwischenprozessorbus 16A in Abhängigkeit vom SCLK-Signal auf der Leitung 67 von IPB 16A takten. Der identifizierte (sendende) Prozessor 12 entwickelt ferner von dem SCLK - das RCLK- Taktsignal, das vom Empfängerprozessor 12 verwendet wird, um die übertragenen Daten vom Zwischenprozessorbus 16A zu takten. Dies ist weiter in der ebenfalls anhängigen Anmeldung beschrieben.
- Wie oben angegeben wurde, werden Daten über den Zwischenprozessorbus 16A durch die Prozessoren 12 in Datenpaketen von jeweils 16 Wörtern gesendet. Somit erfordert jedes übertragene Datenpaket 16 SCLK-Impulse zur Übertragung. Diese Impulse werden von dem 4-Bit-Zähler 34 gezählt, und wenn 16 Datenwörter gesendet wurden, geht das CO-Signal vom 4-Bit-Zähler 34 auf HOCH. Das CO-Signal kombiniert, wenn es HOCH ist, mit dem unmittelbar folgenden CLK-Impuls, um die Zustandsmaschine 40 zu veranlassen, sich vom DATEN-XFR- zum NULL1-Zustand zu bewegen.
- Wenn, während die Zustandsmaschine 40 in dem vorher beschriebenen DATEN- XFR-Zustand war, der identifizierte Prozessor 12 keine Daten zum Senden hatte, hätte er (der Prozessor) mit einem NAK-Signal auf der Leitung 64 des Zwischenprozessorbusses 16A geantwortet, was das NAK-Signal (und schließlich das synchronisierte SNAK-Signal) in der Bussteuerung 18A erzeugt. Bei NAK und SNAK HOCH wechselt die Zustandsmaschine 40 ebenfalls vom DATEN-XFR- Zustand zum NULL1-Zustand.
- Der Übergang vom DATEN-XFR-Zustand zum NULL1-Zustand veranlaßt die CMD-Signale, von einem 1∅1,1 zu ∅∅∅,1 zu gehen. Dieser Übergang bringt ferner das NULL-Signal auf HOCH, was ein Löschen des 4-Bit-Zählers 34 (und sein Halten in diesem gelöschten Zustand bis zur nächsten DATEN-XFR-Zeit) bewirkt. Er bringt ferner das NULL-1-Signal auf HOCH, um den Abwärtszähler 32 freizugeben. Das Auftreten des nächsten CLK-Impulses vermindert den Inhalt des Zählers. Die Identifikation des nächstfolgenden Prozessors 12 wird dadurch eingestellt, und die Zustandsmaschine 40 geht wieder zyklisch durch die NULL-1- bis DATEN-XFR-Zustände, wie oben beschrieben wurde. Wenn jedoch der Inhalt des Abwärtszählers 32 seinen kleinstzahligen Prozessor, d.h. ∅∅∅, erreicht hat, legt die Kombinationslogikeinheit 33 ein HOCH an den LD-Eingang des Zählers, wenn NULL-1 HOCH ist, was den Abwärtszähler 32 mit dem Inhalt vom Zähler 22 des höchszahligen Prozessors voreinstellt.
- Wie oben beschrieben wurde, wird das geringstwertige Bit der Ausgabe des Abwärtszählers 32, während DRVCLK HOCH ist (d.h. während des Sendezustandes - Fig. 3), verwendet, um den 8-Bit-Zähler 50 freizugeben. Somit wird jede andere Zwischenprozessorübertragung oder versuchte Datenübertragung gezählt. Nach 256 Datenübertragungen und/oder versuchten Datenübertragungen, wenn die Zählung in dem 8-Bit-Zähler 50 128 erreicht hat, geht das TC-Signal auf HOCH, was momentan (mit der Q-Ausgabe vom Einstell/Rückstell-Flipflop 24) ein HOCH an den LD-Eingang des Zählers 22 anlegt, was ihn mit "1en" voreinstellt. Das BEMESSUNG-Signal geht auf HOCH, wie oben beschrieben wurde, was die Voreinstellung des Zählers 22 abschließt, und die Bussteuerung in den "Autobemessungs"-Modus einstellt, in dem eine Indikation einer höchstzahligen Prozessoradresse in dem System bestimmt und in dem Zähler 22 der Bemessungseinheit 20 gespeichert wird. BEMESSUNG (wenn HOCH) arbeitet auch, um sowohl den Abwärtszähler 32 (versetzt ihn in einen transparenten Zustand) als auch den 8-Bit-Zähler 50 abzuschalten. BEMESSUNG gibt zusammen mit dem NULL-1-Signal (erzeugt von der Zustandsmaschine 40 während des NULL1-Zustandes) den Zähler 22 zum Takten durch das CLK-Signal frei, was es ihm gestattet, jeden NULL1-Zustand abwärts zu zählen. Für einen Moment abschweifend, wäre eine alternative Ausführung der Erfindung, den Zähler 22 mit einem Wert voreinzustellen, der teilweise von seinem vorher voreingestellten Inhalt erhalten wurde, unter Verwendung eines Rangsystems. Zum Beispiel könnte die Kombinationslogik (nicht gezeigt) aufgebaut sein, um verschiedene der Bussteuerungssignale einschließlich der Ausgabe des Zählers 22 zu empfangen, um einen Wert zu entwickeln, der an die Dateneingänge des Zählers 22 angelegt wird. Dieser Wert könnte folgendermaßen erhalten werden:
- A. Wenn es vor BEMESSUNG drei oder weniger Prozessoren 12, die das Mehrprozessorsystem 10 operativ bilden, gibt (d.h., daß der Inhalt des Zählers drei oder weniger war), stellt die Voreinstellogik 26 den Zähler 22 mit einer 4 ein.
- B. Wenn andererseits der Inhalt des Zählers 22 vier oder mehr Prozessoren 12 angab, die vor BEMESSUNG das Mehrprozessorsystem 10 bildeten, entwickelt die Voreinstellogik 26 eine "7", die zum Voreinstellen des Zählers 22 verwendet wird.
- Bei BEMESSUNG hoch ist, wie oben angegeben wurde, der Abwärtszähler 32 transparent, so daß es der Inhalt des Zählers 22 ist, der als die Prozessoradresse oder -identifikation an die Datenleitungen 60 angelegt wird. Die Zustandsmaschine 40 setzt ihren Zyklus durch ihre Zustände von Fig. 3 fort. Wenn der Prozessor 12, der durch die Informaitonen auf den Datenleitungen 60 identifiziert wurde, nicht existiert, werden keine RCLK- und NAK-Signale entwickelt. Die Zustandsmaschine bleibt in dem DATEN-XFR-Zustand, bis 16 SCLK-Takte übertragen wurden, und das CO-Signal geht auf HOCH, um es vom DATEN-XFR-Zustand zum NULL1-Zustand zu bewegen, zu welcher Zeit NULL-1 auf HOCH geht. Das NULL-1-Signal mit BEMESSUNG gibt den Zähler 22 frei, so daß der nächste CLK-Impuls den Zähler 22 veranlaßt, um 1 zu verringern, um die nächste größte Prozessoradresse in der Reihenfolge zu identifizieren.
- Die Zustandsmaschine 40 geht wieder im Zyklus durch die in der Fig. 3 gezeigten Zustände, wie oben beschrieben wurde. Wenn dieser nächste Prozessor 12, der durch den Inhalt des Zählers 22 identifiziert wurde, wieder nicht existiert, wird der Zähler 22 wieder während des NULL1-Zustandes verringert und die Prozedur geht weiter.
- Schließlich identifiziert der Inhalt des Abwärtszählers 22 die Prozessoradresse des höchstzahligen Prozessors 12, der operativ an den Zwischenprozessorbus 16A gekoppelt ist. Wenn dies auftritt, antwortet der identifizierte Prozessor 12 während des DATEN-XFR-Zustandes mit einer Datenübertragung oder einem NAK-Signal, das keine Daten zum Senden angibt. Im ersteren Fall gibt der identifizierte Prozessor 12 den SCLK-Takt zur Verwendung durch den Empfängerprozessor durch die Bussteuerung 18A als RCLK zurück. Der prozessorerzeugteRCLK-Takt wird von der Bussteuerung 18A auch an dem Leitungsempfänger 84 empfangen, dessen Ausgang das RCLK-Signal bereitstellt, das an den Takteingang CK der D-Flipflops 76 angelegt wird. Da das Übertragungsfreigabesignal (XEN) während des DATEN-XFR-Zustandes hoch ist, um den 4-Bit-Zähler 34 in die Lage zu versetzen, die Taktimpulse zu zählen, die zum Übertragen von Daten auf dem Zwischenprozessorbus 16A verwendet werden, gibt es ebenfalls das D-Flipflop 76 frei, so daß, wenn das erste RCLK- Signal empfangen wird, was eine Initiierung einer Datenübertragung auf dem Zwischenprozessorbus 16A angibt, das D-Flipflop 76 das R-Takt-Detektionssignal (RDET) erzeugt (d.h. auf HOCH bringt).
- Das RDET-Signal ist (abwechselnd mit dem SNAK-Signal) mit dem Rückstelleingang (R) des Einstell/Rückstell-Flipflops 24 gekoppelt. Das Einstell/Rückstell-Flipflop 24 wird zurückgestellt, was das BEMESSUNG-Signal beendet, den Inhalt des Zählers 22 einfriert und den 8-Bit-Zähler 50 und den Abwärtszähler 32 für Normalbetrieb freigibt. Die Datenübertragung ist abgeschlossen und die Bussteuerung 18A setzt ihren Betrieb, wie oben beschrieben wurde, bis zur nächsten Autobemessungsroutine fort.
- Falls der höchstzahlige Prozessor 12 während der Autobemessungsroutine identifiziert wird, er aber keine Daten zum Übertragen hat, antwortet der Prozessor 12 mit einem NAK-Signal auf der Busleitung 64, das von dem Empfänger 82 der Bussteuerung 18A empfangen wird. Der Empfänger 82 bildet das NAK-Signal, das alternierend mit dem Rückstelleingang (R) des Einstell/Rückstell-Flipflops 24 gekoppelt wird, um dieses Flipflop zurückzustellen und die Bussteuerung aus dem Autobemessungsmodus zu entfernen, wie es das RDET-Signal tat.
- Zeitweise können die Prozessoren 12 (oder genauer die Bussendemaschinen - nicht gezeigt - jeglichen Prozessors 12) außer Synchronisation mit der Bussteuerung 18A geraten. Diese fehlende Synchronisation veranlaßt die Prozessoren 12, ein NAK zu den falschen Zeiten zu senden, d.h., zu anderen Zeiten als jenen, zu denen die Zustandsmaschine 40 in ihrem DATEN-XFR- Zustand ist. Nur während des DATEN-XFR-Zustandes werden übertragene NÄK- Signale als gültig erkannt.
- Somit setzt, wenn ein NAK-Signal während der NULL∅- oder SENDE-Zustände als aktiv erkannt wird, der nächstfolgende CLK-Impuls, der während jeglichem dieser Zustände empfangen wird, die Zustandsmaschine 40 in den RÜCKSTELL- Zustand (Fig. 3); ein "1∅1"-Befehl wird ausgegeben, der, wenn er über die Busleitungen 62 zu den Prozessoren 12 übertragen wird, alle Prozessoren 12 bedingungslos in denselben "Wartezustand" zwingt, was sie mit der Bussteuerung 18A synchronisiert.
- Durch das Hinzufügen von wenig mehr Schaltungsaufwand kann die Bussteuerung 18A konfiguriert werden, um die Adresse jedes in dem System 10 arbeitenden Prozessors 12 zu bestimmen.
Claims (8)
1. In einem System (10) der Art, die mehrere Prozessormodule (12) enthält, die
zur Zwischenprozessorkommunikation durch Buseinrichtungen (14, 16A, 16B)
kooperativ miteinander gekoppelt sind, wobei jedes Prozessormodul durch
eine vordefinierte Adresse zum Empfang von Befehlssignalen auf den
Buseinrichtungen individuell identifizierbar ist, ist ein Verfahren zum
Bestimmen der Adresse einer höchstzahligen Prozessormoduladresse in dem
System gekennzeichnet durch die Schritte:
Einrichten eines vorgegebenen Adressenwerts,
Ausgeben von Adressensignalen in einer Sequenz, um sequentiell jedes der
Prozessormodule zu identifizieren,
Zusammenfügen jedes der Adressensignale mit eine Befehlssignal, das eine
Antwort von dem Prozessormodul erfordert, das durch derartige
Adressensignale identifiziert wurde,
Überwachen der Buseinrichtungen auf eine kommunikative Antwort, d.h. eine
Datenübertragung auf den Buseinrichtungen durch das Prozessormodul, das
durch das Adressensignal identifiziert wurde, oder ein NAK-Signal
(Nichtbestätigungssignal), um keine Datenübertragung anzuzeigen, von jedem
adressierten Modul, bis eine der zwei kommunikativen Antworten von dem
adressierten Prozessor empfangen wird,
wenn keine kommunikative Antwort erhalten wird, Annehmen, daß der
Prozessor nicht vorhanden ist und Ausgeben der nächsten höchsten
Prozessoradresse; und
Modifizieren des vorgegebenen Adressenwertes zum Identifizieren der
höchstzahligen Prozessormoduladresse, von der eine kommunikative Antwort
empfangen wurde, durch:
- Überwachen, welche Prozessormodule adressiert wurden,
- Überwachen, welche Prozessormodule geantwortet haben,
- Bestimmen daraus der höchstzahligen Prozessormoduladresse.
2. Verfahren nach Anspruch 1, wobei die Sequenz eine Ordinalsequenz ist.
3. Verfahren nach Anspruch 2, wobei der vorgegebene Adressenwert die
Adresse der niedrigstzahligen Prozessormoduladresse ist.
4. In einem Mehrprozessorsystem (10), das konfigurierbar ist, um eine
vorgegebene Mehrzahl (N) von adressenidentifizierbaren Prozessormodulen
(12) zu enthalten, die zur Zwischenprozessorkommunikation durch
Buseinrichtungen (14, 16A, 16B) miteinander verbunden sind, gibt es eine
Anzahl (n), die kleiner oder gleich der vorgegebenen Mehrzahl (N) von
Prozessormodulen ist, von Prozessormodulen, die operativ mit den
Buseinrichtungen gekoppelt sind, wobei jedes der Anzahl der
Prozessormodule in Abhängigkeit von Adressensignalen, die jedes derartige
Prozessormodul eindeutig identifizieren, und Befehlssignalen (CMD)
betreibbar ist, um eine Antwort auf den Buseinrichtungen zu übertragen,
wobei eine Vorrichtung (18A, 18B), die operativ an die Buseinrichtungen
gekoppelt ist, zum Bestimmen einer Adresse der höchstzahligen
Prozessormoduladresse gekennzeichnet ist durch:
Einrichtungen (22, 32) zum Erzeugen von Adressensignalen zum
sequentiellen Identifizieren zumindest jedes der Anzahl der Prozessormodule,
Steuereinrichtungen (AO) zum Erzeugen der Befehlssignale,
Schaltungseinrichtungen (86, 88), die die Adressensignale und die
Befehlssignale an die Buseinrichtungen koppeln,
Überwachungseinrichtungen (28), die an die Buseinrichtungen gekoppelt sind,
um eine kommunikative Prozessormodulantwort auf die Befehlssignale, d.h.
eine Datenübertragung auf den Buseinrichtungen durch das Prozessormodul,
das durch das Adressensignal identifiziert wurde, oder ein NAK-Signal
(Nichtbestätigungssignal) um keine Datenübertragung anzuzeigen, zu detektieren,
und
Einrichtungen (4), die an die Überwachungseinrichtungen gekoppelt sind, um
die Adressensignal-Erzeugungseinrichtungen zu veranlassen, die
Adressensignale in einer geordneten Weise zu erzeugen, und zum Anhalten
des Betriebs der Adressensignal-Erzeugungseinrichtungen, wenn keine
kommunikative Antwort von dem Prozessormodul erhalten wird, nachdem
eine kommunikative Antwort von dem höchstzahligen Prozessormodul
erhalten wurde,
Einrichtungen zum Identifizieren der Adresse der höchstzahligen
Prozessormoduladresse, von der eine kommunikative Antwort erhalten wurde
durch:
- Überwachen, welche Prozessormodule adressiert wurden,
- Überwachen, welche Prozessormodule geantwortet haben,
- Bestimmen daraus der höchstzahligen Prozessormoduladresse.
5. Vorrichtung nach Anspruch 4, wobei die
Adressensignal-Erzeugungseinrichtungen erste Zählereinrichtungen (22) sind.
6. Vorrichtung nach Anspruch 5, enthaltend zweite Zählereinrichtungen (32), die
periodisch mit dem Wert von den ersten Zählereinrichtungen (22)
voreinstellbar sind, wobei die zweiten Zählereinrichtungen (32) betreibbar
sind, um Adressensignale zu erzeugen, die nacheinander jedes der zweiten
vorgeschriebenen Mehrzahl von Prozessormodulen identifizieren.
7. Vorrichtung nach Anspruch 6, enthaltend dritte Zählereinrichtungen (34), die
zum Zählen jedes der Zyklen der zweiten Zählereinrichtungen betreibbar sind,
um eine abschließende Zählung (CO) nach einer vorbestimmten Anzahl der
Zyklen zu erzeugen, und
Einrichtungen (40), die in Abhängigkeit von der abschließenden Zählung
betreibbar sind, um die ersten Zählereinrichtungen (22) mit einer
vorbestimmten Zählung voreinzustellen.
8. Vorrichtung nach Anspruch 7, wobei die ersten Zählereinrichtungen (22) ein
Abwärtszähler sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3661187A | 1987-04-09 | 1987-04-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3855615D1 DE3855615D1 (de) | 1996-11-21 |
DE3855615T2 true DE3855615T2 (de) | 1997-03-06 |
Family
ID=21889589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19883855615 Expired - Fee Related DE3855615T2 (de) | 1987-04-09 | 1988-03-07 | Automatische Bestimmung der Anzahl von Prozessormodulen für Multiprozessorsysteme |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0286235B1 (de) |
JP (1) | JP2632906B2 (de) |
AU (1) | AU607751B2 (de) |
DE (1) | DE3855615T2 (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69032680T2 (de) * | 1989-01-06 | 1999-06-02 | Hitachi, Ltd., Tokio/Tokyo | Neuronaler Rechner |
FR2654531A1 (fr) * | 1989-11-13 | 1991-05-17 | Diatech France Sarl | Dispositif d'interconnection sur le meme bus de plusieurs microprocesseurs 16 bits. |
IL99142A0 (en) * | 1991-08-09 | 1992-07-15 | Dov Greenspon | Controller for coupling a computer to intelligent and dumb terminals |
EP1003108A1 (de) * | 1998-11-17 | 2000-05-24 | Telefonaktiebolaget Lm Ericsson | Vorrichtung und Verfahren zur kreisförmigen Arbitrierung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3866175A (en) * | 1974-04-24 | 1975-02-11 | Ncr Co | Data communication system between a central computer and a plurality of data terminals |
JPS5818031A (ja) * | 1981-07-25 | 1983-02-02 | Hitachi Heating Appliance Co Ltd | 食品加熱装置 |
JPS60126945A (ja) * | 1983-12-14 | 1985-07-06 | Hitachi Ltd | ポ−リング方式 |
US4680753A (en) * | 1985-04-03 | 1987-07-14 | Texas Instruments Incorporated | System and method for controlling network bus communications for input-output interlocking information among distributed programmable controllers |
-
1988
- 1988-03-07 DE DE19883855615 patent/DE3855615T2/de not_active Expired - Fee Related
- 1988-03-07 EP EP19880301969 patent/EP0286235B1/de not_active Expired - Lifetime
- 1988-03-31 JP JP63080222A patent/JP2632906B2/ja not_active Expired - Lifetime
- 1988-04-07 AU AU14377/88A patent/AU607751B2/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
AU607751B2 (en) | 1991-03-14 |
EP0286235B1 (de) | 1996-10-16 |
EP0286235A3 (de) | 1990-04-25 |
DE3855615D1 (de) | 1996-11-21 |
EP0286235A2 (de) | 1988-10-12 |
AU1437788A (en) | 1988-10-13 |
JP2632906B2 (ja) | 1997-07-23 |
JPS63263555A (ja) | 1988-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3300260C2 (de) | ||
DE3300262C2 (de) | ||
DE3300261C2 (de) | ||
DE3751853T2 (de) | Vorrichtung für ein fehlertolerantes Rechnersystem mit erweiterungsfähigem Prozessorabschnitt | |
DE69931218T2 (de) | Verfahren zur synchronisierung von netzwerkknoten | |
DE69116493T2 (de) | Schaltung und Verfahren zur Bestimmung der Länge des Zeitintervalls zwischen zwei Signalen | |
DE69733407T2 (de) | Schnittstelle zur datenübertragung zwischen zwei taktbereichen | |
DE69635994T2 (de) | Synchronisiertes elektronisches netzwerk mit hilfshaupteinheiten | |
DE4233569C2 (de) | Informationsverarbeitungsgerät mit einer Mehrzahl von Prozessor-Modulen, die einen Fehlerüberwachungskreis enthalten | |
DE3750680T2 (de) | Multiprozessor-Busprotokoll. | |
DE3587405T2 (de) | Modulare mehrkanalsynchronisierungseinrichtung. | |
DE69130703T2 (de) | Chipschnittstellenanordnung | |
DE3586872T2 (de) | Verfahren zur gleichzeitigen uebertragung isochroner und nichtisochroner daten auf einem lokalen netz. | |
DE3704056A1 (de) | Peripherer dma-controller fuer datenerfassungssysteme | |
DE69917624T2 (de) | Automatische ratenerkennung für asynchrone serielle kommunikation | |
DE19539519A1 (de) | Antriebssteuerbefehlseinheit, Synchronsteuersystem für eine Vielzahl von Antriebssteuerbefehlseinheiten, und Synchronsteuerverfahren für die Einheiten | |
DE3933361A1 (de) | Einrichtung und verfahren zur warteschlangenbildung von anforderungen und antworten auf einem pipeline-paketbus | |
DE4307449A1 (de) | ||
EP0107026A1 (de) | Speicherprogrammierbare Steuerung | |
DE69227996T2 (de) | Vorrichtung und verfahren zur vermittlung von datenblöcken | |
DE3789728T2 (de) | Serieller Datenbus für verschiedene Betriebsarten (SCI, SPI und gepufferte SPI) und Verfahren für serielle Peripherieschnittstelle in einem seriellen Datenbus. | |
DE68924051T2 (de) | Vielfacher Ein-/Ausgabe-Kanal. | |
DE3317545A1 (de) | Zeitmultiplex-uebertragungssystem | |
DE3685761T2 (de) | Multiplexuebertragungssystem. | |
DE3686902T2 (de) | Selbstpruefender zweikanal-anstiegsflanken-synchronisierer. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |