DE3587284T2 - Fehlertolerante rahmensynchronisation für mehrprozessorsysteme. - Google Patents
Fehlertolerante rahmensynchronisation für mehrprozessorsysteme.Info
- Publication number
- DE3587284T2 DE3587284T2 DE85902392T DE3587284T DE3587284T2 DE 3587284 T2 DE3587284 T2 DE 3587284T2 DE 85902392 T DE85902392 T DE 85902392T DE 3587284 T DE3587284 T DE 3587284T DE 3587284 T2 DE3587284 T2 DE 3587284T2
- Authority
- DE
- Germany
- Prior art keywords
- pulse
- pulses
- synchronization
- path
- processors
- 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
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 1
- 241000170006 Bius Species 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/187—Voting techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1691—Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1679—Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Description
- Die Erfindung bezieht sich auf ein Multiprozessorsystem gemäß dem ersten Teil des Anspruches 1. Ein derartiges Multiprozessorsystem ist aus der US-A-3,921,149 bekannt.
- Redundante Computersysteme, die zahlreiche rekonfigurierbare Verarbeitungsmodulen verwenden, sind erforderlich und notwendig in fehlertoleranten Steuerungssystemen, wie sie beispielsweise in digitalen Flugsteuersystemen verwendet werden. Wo rekonfigurierbare Multiprozessorsysteme verwendet werden, ist eine Synchronisierung erforderlich, damit der Betrieb der einzelnen Prozessoren - und insbesondere der Start von jedem Iterations- oder Nebenrahmen - zeitlich koinzidiert. Eine derartige Synchronisierung ist bisher auf dem Computertaktpegel und auf dem Hauptrahmenpegel versucht worden, d. h. dem Intervall, in dem die Prozessoren ihr gesamtes Programm ausführen.
- Die vorliegende Erfindung bezieht sich auf eine Anordnung zum Synchronisieren eines Multiprozessorsystems auf dem Nebenrahmenpegel (wobei ein Hauptrahmen (major frame) als eine ganze Zahl von Nebenrahmen (minor frame) definiert ist) durch eine Kombination von Hardware und Software.
- Die Synchronisation wird initiiert bei einem Statuswort, das in der jedem Prozessor zugeordneten Interfaceeinheit am Ende von jedem Nebenrahmen generiert wird. Das Statuswort von jeder Prozessorinterfaceeinheit wird über bestehende dedizierte Interprozessorbuse zu den Synchronisierschaltungen in jeder der anderen Interfaceeinheiten übertragen, um Syncpulse zu generieren. In einem acht (8) Prozessorkanal werden nur vier (4) der Syncpulse verwendet, um zu ermitteln, ob in dem zwei Mikrosekunden (2 us) langen "Zeitfenster" Pulse ankommen.
- Die Synchronisierhardware erzeugt ein Steuersignal in der Form von einem Prozessor-Interruptsignal an dem Ende von jedem Nebenrahmen, um die Hauptsoftwareroutine zu initiieren. Das Interruptsignal wird erzeugt, wenn zwei oder mehr der vier (4) Pulse innerhalb des "Zeitfensters" ankommen, unabhängig davon, ob die anderen Pulse früher oder später als die Mehrzahl ankommen. Die Hauptsoftwareroutine identifiziert alle Syncpulsfehler - den Prozessor, der dem fehlerhaften Syncpuls zugeordnet ist - und substituiert Prozessoren, wenn die Syncfehleranzeige kleiner als drei ist.
- Die Synchronisation durch eine Kombination von Hardware und Software hat den Vorteil, daß sehr wenig zusätzliche Hardware erforderlich ist, der zeitliche "Schräglauf" (Skew) zwischen Prozessoren sehr klein ist, die Schaltungsanordnungen nicht nur Zeitsteuer- sondern auch Bus/Senderfehler detektieren und die Anordnung keine zusätzlichen Leitungen zwischen den zu synchronisierenden Moduln erfordert.
- Es ist deshalb eine Aufgabe der Erfindung, ein fehlertolerantes Multiprozessorsystem zu schaffen, das mehrere redundante Prozessoren aufweist, die auf einfache Weise auf dem Nebenrahmenpegel synchronisiert sind.
- Es ist eine weitere Aufgabe der Erfindung, eine Synchronisation von einem Multiprozessorsystem durch eine Kombination von logischer Synchronisationshardware und Supervisor- Software zu schaffen.
- Ferner ist es Aufgabe der Erfindung, ein Synchronisationssystem für ein fehlertolerantes Multiprozessor- Computersteuersystem zu schaffen, das höchst effektiv und nicht einem einzelnen Fehler ausgesetzt ist.
- Weitere Aufgaben und Vorteile der Erfindung werden aus der nachfolgenden Beschreibung deutlich.
- Das Multiprozessorsystem gemäß der Erfindung, wie sie beansprucht ist, ist durch die Merkmale des zweiten Teils von Anspruch 1 gekennzeichnet.
- Weitere Ausführungsbeispiele der Erfindung sind in den Unteransprüchen beansprucht.
- Das Multiprozessorsystem gemäß der Erfindung wird somit von einem Hardware-Softwaresystem gebildet, in dem der Betrieb der zahlreichen Verarbeitungsmodulen in Realzeit synchronisiert sind.
- Die Software-Supervisor-Routine ermittelt, welcher der Syncpulse und ihrer zugeordneten Prozessoren nicht synchron sind, und ersetzt jeden außerhalb der Toleranz liegenden Prozessor gegen einen der verbleibenden Prozessoren.
- Die Softwareroutine ist in der Lage, jede Uneindeutigkeit in der Situation aufzulösen, wo die Syncpulse nicht in Paaren auftreten und es ungewiß ist, ob das eine Paar früher oder das eine Paar später ist. Die Uneindeutigkeit wird aufgelöst durch Ersetzen von einem Prozessor und Puls in jedem Paar, so daß die Uneindeutigkeit in nicht mehr als drei Nebenrahmen aufgelöst werden kann.
- Die Erfindung selbst in Verbindung mit anderen Aufgaben und durch sie erzielbare Vorteile werden jedoch besser verständlich durch die folgende Beschreibung in Verbindung mit den Zeichnungen, in denen:
- Fig. 1 ein Blockdiagramm von einem Multiprozessorkanal ist und den Prozessor, die Businterfaceeinheiten (BIU) und die dedizierten Buse zeigt, die zwischen den Interfaceeinheiten angeordnet sind, um Synchronisierpulse zuzuführen;
- Fig. 2 ein Blockdiagramm von einer der in Fig. 1 gezeigten Businterfaceeinheiten darstellt;
- Fig. 3 und 3a die Synchronisierhardware in der BIU mit der aktivierenden Logikschaltung zeigt, die die Interruptsignale usw. erzeugt;
- Fig. 4 ein Fließbild von der Software-Supervisor-Routine für die Businterfaceeinheiten zeigt.
- Jeder der Prozessoren enthält eine Businterfaceeinheit (BIU) für eine Interprozessor-Kommunikation und Synchronisation an dem Ende von jedem Prozessor-Nebenrahmen. Die Interfaceeinheiten sind durch dedizierte Buse von allen Prozessoren in dem Multiprozessorkanal miteinander verbunden. Eine vorbestimmte Anzahl der gesamten Syncpulse (beispielsweise vier von acht) werden an die Synchronisationsschaltung in der Businterfaceeinheit angelegt. Die Synchronisationslogik ermittelt, ob die Synchronisierpulse innerhalb eines gegebenen "Zeitfensters" (beispielsweise zwei Mikrosekunden) empfangen werden, was als Synchronisation in Realzeit betrachtet wird.
- Die Synchronisationsschaltung in jeder Interfaceeinheit generiert einen Interruptpuls, der die Software-Supervisor- Routine immer dann initiiert, wenn eines der folgenden Ereignisse während jeder Nebenrahmen-Synchronisationssequenz auftritt:
- a. Alle vier Syncpulse sind empfangen worden.
- b. Wenigstens ein Syncpuls kommt innerhalb des vorbestimmten zwei-Mikrosekunden "Zeitfensters" nicht an.
- Fig. 1 zeigt ein Blockdiagramm von einem redundanten Multiprozessorkanal mit acht Verarbeitungs- und/oder I/O Moduln, jeder mit seiner Businterfaceeinheit (BIU). Vier Prozessoren und Businterfaceeinheiten sind bei 10, 11, 12 und 13 dargestellt, wobei die übrigen vier (4) durch die Punkte 14 dargestellt sind. Die diesen Moduln zugeordneten Businterfaceeinheiten haben acht (8) Eingangsleitungen und eine Ausgangsleitung 20. Vier (4) der Eingangsleitungen sind bei 15, 16, 17 und 18 gezeigt, wobei die übrigen vier (4) durch Punkte gezeigt sind. Die Businterfaceeinheiten sind durch acht (8) dedizierte serielle Datenbuse 21, 22, 23 und 24 miteinander verbunden, wobei die übrigen vier durch die Punkte 25 gezeigt sind. Somit wird die Ausgangsleitung (20) von jeder Businterfaceeinheit mit ihrer eigenen Businterfaceeinheit über die Leitung 15 und mit den Businterfaceeinheiten der übrigen sieben Moduln über die dedizierten Buse 21-24 verbunden. Somit empfängt in dem in Fig. 1 gezeigten Achtkanalsystem die Businterfaceeinheit acht (8) Statuswort/Syncsignale am Ende von jedem Nebenrahmen, von denen vier mit der Synchronisations-Hardwarelogik verbunden werden, um zu ermitteln, ob die Prozessoren synchron sind.
- Um vollständig die Art und Weise zu verstehen, in der der Businterfacesynchronisierer und die Supervisor-Softwareroutine des Prozessors miteinander zusammen arbeiten, um Realzeit-Synchronismus innerhalb eines zwei-Mikrosekunden "Zeitfensters" zu erhalten, wird es für nützlich gehalten, in einem Rückblick zu betrachten, welches in der Wirkung die betrieblichen Gesetze der Businterfaceeinheit-Hardware und der Supervisor-Softwareroutine sind. Es gilt:
- 1. Wenn die Prozessoren zum Ende von einem Nebenrahmen kommen und den nächsten Nebenrahmen innerhalb von zwei Mikrosekunden initiieren, werden sie als synchronisiert betrachtet.
- 2. Ein maximaler System-"Schräglauf" (Skew) von 5-6 Mikrosekunden zwischen Prozessoren ist zulässig.
- 3. Ein früher Syncpuls initiiert nicht die Supervisor- Routine; d. h. ein einzelner "früher" Pulsfehler wird detektiert und nur am Ende der Nebenrahmen-Synchronisation korrigiert.
- 4. Die Software-Supervisor-Routine wird immer initiiert, wenn alle vier Syncpulse in dem "Zeitfenster" empfangen werden.
- 5. Wenn zwei Syncpulse fehlerhaft sind, wodurch angezeigt wird, das zwei Prozessoren nicht synchron sind, ersetzt die Supervisor-Softwareroutine die nicht-synchronen Prozessoren gegen synchrone Prozessoren.
- 6. Wenn der Zweipulsfehler eine uneindeutige Situation darstellt, d. h. eine, in der zwei Pulse zu "früh" sein könnten oder zwei Pulse zu "spät" sein könnten, wird die Mehrdeutigkeit aufgelöst, indem der eine Puls und der Prozessor in jedem Paar während des nächsten Nebenrahmens ersetzt wird, um zu ermitteln, welches Paar fehlerhaft war. Während des dritten Nebenrahmens substituiert dann die Routine den verbleibenden des fehlerhaften Paares.
- 7. Ein Fehler der gleichen zwei Syncpulse während aufeinanderfolgender Nebenrahmen, nachdem Prozessoren substituiert worden sind, zeigt an, daß die Businterfaceeinheit und ihr Synchronisierer fehlerhaft sind. Sie und ihr zugeordneter Prozessor werden dann entfernt.
- 8. Jede Anzeige, daß drei Prozessoren nicht synchron sind, stellt einen Synchronisierer- und Interfaceeinheit- Hardwarefehler dar, woraufhin dieser Prozessor aus dem Betrieb genommen wird.
- Der Einfachheit halber wird der Begriff Nebenrahmen verwendet, um ein Intervall zu bedeuten, in dem wenigstens ein Teil des Programms ausgeführt wird; d. h. eines der wiederholten Rechenintervalle. Der Prozessor führt bei der Ausführung seines Programms gewöhnlich gewisse Instruktionen in jedem Nebenrahmen durch, einige Instruktionen in jedem anderen oder einmal innerhalb mehrerer Nebenrahmen durch und andere einmal in jedem Hauptrahmen durch. Während ein Nebenrahmen 6,25 Millisekunden und ein Hauptrahmen 100 Millisekunden (d. h. 16 Nebenrahmen) beträgt, wobei diese Werte aus Zweckmäßigkeitsgründen bei der Beschreibung der Erfindung verwendet werden, soll die Erfindung selbstverständlich nicht darauf beschränkt sein, sondern die Dauer eines Nebenrahmens, die Anzahl von Nebenrahmen in einem Hauptrahmen und die Zeitdauer des Hauptrahmens können verändert werden, um an den jeweiligen Anwendungsfall angepaßt zu sein. In ähnlicher Weise stellt die Verwendung eines "Zeitfensters" von zwei (2) Mikrosekunden, um einen Nebenrahmensynchronismus zu definieren, lediglich ein Anwendungsbeispiel dar, wobei auch andere "Zeitfenster"-Intervalle verwendet werden können.
- Bei einem 6,25 Millisekunden Nebenrahmenintervall und einem zwei (2) Mikrosekunden "Zeitfenster" zwischen Pulsen ist der maximale System-"Schräglauf" gerade unter sechs (6) Mikrosekunden. Das heißt, wenn jeder der letzten drei (3) Pulse 1 , 9 Mikrosekunden nach dem vorhergehenden ankommt, wird das System als synchron betrachtet. Aber das Gesamtintervall oder "Schräglauf" zwischen den vier (4) Syncpulsen ist gerade unter sechs (6) Mikrosekunden. Jedoch selbst mit einem maximalen "Schräglauf" von gerade unter sechs (6) Mikrosekunden und einer Nebenrahmenzeit von 6,25 Millisekunden ist die Genauigkeit der Synchronisation, im schlimmsten Fall, innerhalb von ein zehntel Prozent der Nebenrahmenperiode.
- Fig. 2 ist ein Blockdiagramm von einer in Fig. 1 gezeigten Businterfaceeinheit (BIU). Die Businterfaceeinheit enthält einen programmierbaren Rahmenzähler 30, der das 6,25 Millisekunden Nebenrahmen-Zeitintervall generiert. Am Ende von jedem 6,25 Millisekunden Nebenrahmen-Zählwert generiert der Rahmenzähler 30 einen "Rahmenstrobe"-Puls, der der BIU Steuerschaltung 32 zugeführt wird. Die BIU Steuerschaltung 32 generiert ein Statuswort und einen Syncpuls als Antwort auf das "Statuswort". Alle anderen Prozessor/BIUs arbeiten in der gleichen Weise, um Syncpulse zu generieren. Syncpulse von allen Prozessoren werden in Datennetzwerken 34-41 empfangen. Eine Wähl- oder Multiplexierschaltung, die nicht gezeigt ist, wählt vier von den acht Syncpulsen zum Anlegen an den Synchronisierer.
- Die gewählten Syncpulse werden einem lokalen Resetgenerator 43 zugeführt. Der Generator 43 enthält Syncpuls-Entscheidungslogikhardware, die ermittelt, ob die Syncpulse während des "Zeitfensters" ankommen, und diese Information speichert. Die lokale Syncpuls-Entscheidungslogik betätigt einen Pulsgenerator, um den Prozessor-Interruptpuls zu erzeugen. Dieser initiiert die Software-Supervisor-Routine von dem Prozessor, die den Synchronisiererstatus ermittelt, um zu sehen, ob ein Fehler aufgetreten ist, identifiziert jeden fehlerhaften Puls und Prozessor und beseitigt den fehlerhaften Syncpuls und Prozessor.
- Ein Resetpuls wird eine Mikrosekunde nach dem Interruptpuls generiert. Der Resetpuls wird dem Rahmenzähler 30 zugeführt, um eine Sekunde, nachdem der Interruptpuls die Software-Serviceroutine initiiert hat, den neuen Nebenrahmen- Zählwert zu initiieren.
- Der lokale Resetgenerator 43 enthält 1-aus-4, 2-aus-4, 3- aus-4 und 4-aus-4 synchronisiererentscheidungs-Logikschaltungen, um den Prozessor-Interruptpuls beim Auftreten von allen vier Pulsen zu generieren oder wenn die 2-aus-4 oder 3-aus-4 Schaltungen ablaufen; d. h. wenn einer oder mehr der verbleibenden Syncpulse durch ein Intervall getrennt sind, das größer als das zwei Mikrosekunden "Zeitfenster" ist. Information über die Zustände der Logikschaltungen und die Identität der Syncpulse, die innerhalb des "Zeitfensters" angekommen sind oder nicht, wird in einer Pufferspeichereinrichtung gespeichert. Das Pufferelement wird während der Supervisor-Softwareroutine abgefragt, um irgendwelche fehlerhaften Syncpulse zu identifizieren und die Beseitigung des fehlerhaften Pulses oder der Pulse und ihrer zugeordneten Prozessoren zu gestatten.
- Die Erfindung ist keineswegs auf einen acht (8) Kanal-Prozessor beschränkt, bei dem vier (4) Syncpulse für die Nebenrahmensynchronisation verwendet werden. Allgemein wird in einem System, das N Syncpulse verwendet, der Synchronisierer 1-aus-N, 2-aus-N . . . ., N-aus-N Entscheidungslogikschaltungen enthalten, um ein Interruptsignal immer dann zu erzeugen, wenn N-aus-N Pulsen angekommen sind oder wenn irgendeine außer der 1-aus-N Logikschaltungen eine Pulstrennung größer als das 2 Mikrosekunden "Zeitfenster" angibt.
- Die Erzeugung eines Interruptsignals friert auch die Synchronisiererschaltung ein, um jede weitere externe Eingabe, die beispielsweise Sync- oder Taktpulse, in die Synchronisiererhardware zu hemmen, so daß der Prozessor die Funktionstüchtigkeit der Schaltungsanordnung während der Supervisor-Routine prüfen kann. Am Ende der Supervisor-Routine setzt der Prozessor die Synchronisierer-Hardware zurück, um sie für die nächste Nebenrahmen-Synchronisations-, Interrupt- und Supervisor-Routinensequenz vorzubereiten.
- Fig. 3 und 3a zeigen den lokalen Resetgenerator 43, der einen Interruptpulsgenerator 41, einen Statuspuffer 42, der die Information über den Status des Synchronisierers speichert, den 1-aus-4-Pfad 44, den 2-aus-4-Pfad 45, den 3-aus- 4-Pfad 46 und den 4-aus-4-Pfad 47 enthält, deren Ausgänge mit dem Puffer 42 verbunden sind. Die logischen Entscheidungsschaltungen 48-51 in den Pfaden 44, 45 und 46 sind über OR-Gates 52-54 mit Zeitsteuerungen bzw. Timern 55-57 verbunden, die von den OR-Gates gesteuert werden. Die logischen Entscheidungsnetzwerke werden von Vierfach-Eingangs- Verriegelungs- bzw. Auffang-Flipflops (Latches) 58-61 gesteuert, die in Abhängigkeit von den Sync-Eingangspulsen gesetzt werden.
- Der Statuspuffer 42 ist ebenfalls mit den Quad- bzw. Vierfach-Verriegelungs-Flipflops 58-61 verbunden und registriert den Status dieser Flipflops, so daß die Identität von irgendeinem fehlerhaften Syncpuls (und seines zugeordneten Prozessors) während der Software-Supervisor-Routine auf einfache Weise ermittelt werden kann.
- Die Ausgänge von jedem der Syncpulspfade, außer dem 1-aus- 4-Pfad 44, sind mit dem Interruptpulsgenerator 41 über ein Interruptspuls-AND-Gate 42 verbunden. Das AND-Gate 42 betätigt den Interruptgenerator 41 (der die Form von einem digitalen Univibrator 63 hat), um einen Interruptpuls zu erzeugen. Der Interruptpuls auf der Leitung 64 wird dem lokalen Prozessor zugeführt, um die Software-Supervisor-Routine zu initiieren. Das Auftreten eines negativ werdenden Interruptpulses bewirkt auch, daß der Prozessor einen Statuspuffer-Freigabepuls generiert, der gestattet, daß die in dem Statuspuffer 42 gespeicherte Information über den Datenbus 65 während der -Supervisor-Routine wieder aufgefunden wird.
- Der digitale Univibrator 63 generiert einen Resetpuls eine (1) Mikrosekunde nach dem Interruptpuls. Der Resetpuls wird über die Leitung 66 zum Rücksetzen des digitalen Univibrators 63 und an den Resetanschluß des Zählers 30 angelegt, um das nächste Nebenrahmenintervall zu initiieren.
- Der Interruptpuls wird auch über einen Leiter 67 und einen invertierenden Verstärker 68 an die Eingänge der Vierfach- Verriegelungs-OR-Gates 69-74 angelegt, um die Eingabe in die Vierfach-Verriegelungen einzufrieren und weitere Sync- Eingangspulse in die Verriegelungen zu blockieren. Der Interruptpuls auf der Leitung 67 sperrt auch das Taktpuls- AND-Gate 73, um Taktpulse von den Zeitsteuerungszählern 55- 57 zu sperren.
- Die Entscheidungslogik in dem 1-aus-4-Pfad betätigt den Zähler 55 beim Empfang von jedem Syncpuls. Der Zähler 55 ist durch den 2-aus-4-Pfad gesperrt, wenn ein weiterer Puls in dem zwei (2) Mikrosekunden "Zeitfenster" ankommt. Wenn der Zähler 55 auszählt, weil ein zweiter Puls innerhalb von zwei Mikrosekunden nicht ankommt, wird ein Verriegelungs- Setzsignal für den Statuspuffer 42 generiert.
- Die Entscheidungslogik in dem 2-aus-4-Pfad wird beim Empfang von jeder Kombination von zwei Syncpulsen betätigt, um die zwei (2) Mikrosekunden-Zählung zu initiieren. Der Zähler 56 wird durch den 3-aus-4-Pfad gesperrt, wenn ein dritter Puls innerhalb eines zwei Mikrosekunden "Zeitfensters" nach dem zweiten Puls ankommt. Der Zähler 56 läuft ab, wenn ein dritter Puls nicht innerhalb von zwei Mikrosekunden nach dem zweiten Puls ankommt und betätigt den Interruptpulsgenerator 41, um die Supervisor-Softwareroutine zu initiieren. Diese Information wird im Statuspuffer 42 gespeichert.
- Beim Empfang von irgendeiner Kombination von drei Pulsen wird der 3-aus-4-Pfad betätigt, und der Zähler 57 beginnt seine Zählung. Der Zähler 57 wird durch den 4-aus-4-Pfad gesperrt, wenn der vierte Puls in dem 2 Mikrosekunden-"Zeitfenster" ankommt, d. h. bevor der Zähler 57 auszählt. Wenn der vierte Puls nicht ankommt, wird ein Interruptpuls generiert. Wenn der Zähler 57 auszählt, wird diese Information in dem Statuspuffer 42 gespeichert.
- Der 4-aus-4-Pfad wird betätigt, wenn alle vier (4) Pulse in dem "Zeitfenster" empfangen werden, um den Interruptpuls zu generieren. Der Status dieses Pfades wird in dem Statuspuffer 42 gespeichert.
- Die Eingangsverriegelungen 58-61 werden bei negativ werdenden Syncpulsen A-D betätigt. Die Ausgänge aus den Verriegelungen sind mit den Entscheidungslogikschaltungen in den Pfaden 44-47 verbunden, die mit einer negativen Logik arbeiten. Die Eingänge zu den Schaltungslogikschaltungen sind mit den invertierten oder Nicht-Null-Ausgangsanschlüssen der Verriegelungen verbunden. Somit sind bei Fehlen eines Syncpulses die Nicht-Null-Anschlüsse der Verriegelungen in dem logischen EINS-Zustand. Syncpulse setzen die Verriegelungen, so daß die Ausgangsgröße aus dem Nicht-Null-Anschluß nach NULL geht.
- Die Syncpulse A, B, C und D werden an den einen Eingang von OR-Gattern 69-72 angelegt. Der andere Eingang von jedem OR- Gatter ist über die Leitung 67 und den Invertierer 68 mit dem Interruptsignalgenerator 41 verbunden. Bei Fehlen eines Interruptsignals ist der eine Eingang zu jedem Gatter auf einer logischen NULL. Das Auftreten eines negativ werdenden Syncpulses bewirkt, daß beide Eingänge NULL werden und die Ausgangsgröße des OR-Gatters nach NULL wechselt, wodurch die zugeordnete Verriegelung gesetzt und bewirkt wird, daß die Ausgangsgröße aus dem Nicht-Null-Anschluß von EINS nach NULL wechselt.
- Die Boolschen Gleichungen für die Entscheidungslogikschaltungen 48-51, die auf die Syncpulse A,B, C und D ansprechen, sind wie folgt:
- 1-aus-4 = A+B+C+D (betätigt in Abhängigkeit vom Auftreten von irgendeinem Syncsignal)
- 2-aus-4 = (AB) + (AC) + (AD) + (BC) + (BD) + (CD) (betätigt in Abhängigkeit von jeder Kombination von zwei Syncsignalen)
- 3-aus-4 = (ABC)+(ABD)+(ACD)+(BCD) (betätigt in Abhängigkeit von jeder Kombination von drei Syncsignalen)
- 4-aus-4 = ABCD (betätigt in Abhängigkeit von allen vier Syncsignalen)
- Die 1-aus-4-Sync-Entscheidungslogik 48 ist in Form eines vier Eingänge aufweisenden AND-Gatters 75 aufgebaut, das mit den Nicht-Null-Anschlüssen der Verriegelungen 58-61 verbunden ist. Bei Fehlen von Syncpulsen sind die Ausgänge von allen Verriegelungen EINS und die Ausgangsgröße des AND-Gatters ist EINS. Sobald irgendein Syncpuls ankommt, wird die zugeordnete Verriegelung gesetzt, und der Nicht- Null-Anschluß geht nach NULL. Alle Eingänge zu dem AND-Gatter 75 sind nicht mehr EINS, und die Ausgangsgröße des AND- Gatters 75 wird NULL.
- Die Entscheidungslogikschaltung 49 in dem 2-aus-4-Pfad 45 enthält ein sechs Eingänge aufweisendes AND-Gatter 76, das mit den OR-Gattern 77-82 verbunden ist. Die Eingänge der OR-Gatter 77-82 sind mit den Verriegelungen 58-61 verbunden. Die Eingänge in die einzelnen OR-Gatter stellen die sechs möglichen Kombinationen der vier Syncpulse dar. Bei Fehlen von zwei (2) Syncpulsen sind die Ausgangsgrößen aus allen OR-Gattern EINS und die Ausgangsgröße aus dem AND- Gatter 76 ist ebenfalls EINS. Immer wenn irgendeine Kombination von zwei Syncpulsen auftritt, geht die Ausgangsgröße von einem der OR-Gatter 77-82 nach NULL. Infolgedessen geht ein Eingang zum AND-Gatter 76 nach NULL und seine Ausgangsgröße geht nach NULL.
- Die Entscheidungslogikschaltung 50 in den 3-aus-4-Pfad enthält ein vier Eingänge aufweisendes AND-Gatter 77, das mit den OR-Gattern 78-81 verbunden ist, die alle möglichen Kombinationen von drei Syncpulsen darstellen. Jede Kombination von drei Pulsen bewirkt, daß der Ausgang von einem dieser drei OR-Gatter nach NULL geht, wodurch der Ausgang des AND- Gatters 77 nach NULL geht.
- Die 4-aus-4 Entscheidungslogik ist ein vier Eingänge aufweisendes OR-Gatter 82, das Eingänge von allen vier Verriegelungen aufweist. Die Ausgangsgröße des OR-Gatters 82 ist EINS, bis alle vier Eingänge zu dem OR-Gatter nach NULL gehen, ein Zustand, der nur dann möglich ist, wenn alle vier Syncpulse angekommen sind.
- Die Entscheidungslogikschaltungen steuern OR-Gatter 52-54, durch die die Taktpulse für die Zähler hindurchtreten müssen. Immer wenn die Boolsche Gleichung für jede der Entscheidungslogikschaltungen erfüllt ist, wechselt deren Ausgangsgröße, wodurch die drei Eingänge aufweisenden OR-Gatter in den 1-, 2- und 3-aus-4-Pfaden freigegeben und Taktpulse von dem AND-Gatter 73 an die Zähler angelegt werden, die zu zählen beginnen. Wenn die anderen Syncpulse nicht innerhalb des zwei Mikrosekunden "Fensters" ankommen, zählt der Zähler aus und die Ausgangsgröße aus den Zählern 56 und 57 initiiert den Interruptpuls. Wenn jedoch die anderen Pulse innerhalb der Zeitperiode ankommen, sperren die invertierenden Verstärker 85, 86 und 87, die zwischen die Ausgänge der logischen Entscheidungsschaltungen in den nächst höheren Pfad, d. h. AND-Gatter 76, 77 und OR-Gatter 82, geschaltet sind, die OR-Gatter 52-54 und halten weitere Taktpulse von den Zählern fern.
- Ein Zeitablauf der Zähler 56 oder 57 oder der Zustandwechsel des OR-Gatters 82, die anzeigen, daß wenigstens drei (3) Pulse innerhalb des zwei Mikrosekundenfensters angekommen sind, hat zur Folge, daß der eine Eingang zum AND-Gatter 62 in einen logischen Zustand NULL geht, wodurch dessen Ausgangsgröße den digitalen Univibrator 63 triggert, um den negativ werdenden Interruptpuls des lokalen Prozessors zu erzeugen. Die Ausgangszustände der Zähler und des OR-Gatters 62 werden in dem Puffer 42 gespeichert. Der Interruptpuls initiiert einen Betrieb der Software-Supervisor-Routine, die den Status der Sync-Schaltungen identifiziert und irgendwelche Syncpulse identifiziert, die nicht synchron sind. Eine (1) Mikrosekunde nach dem Interruptpuls wird ein Resetpuls durch den digitalen Univibrator generiert. Dieser Puls setzt den programmierbaren Zähler 30 zurück und initiiert den Start der nächsten Nebenrahmenzählung. Der Resetpuls setzt auch den digitalen Univibrator 63 zurück und bereitet ihn für den Betrieb der nächsten Synchronisiersequenz vor.
- Eine Überwachungs(Übersteuerungs)schaltung 88 ist vorgesehen, um einen Interruptpuls zu generieren, falls irgendeine Synchronisiererschaltung angibt, daß drei von den vier Syncpulsen nicht angekommen sind; d. h. die 2-, 3- und 4-aus-4- Pfade sind nicht betätigt, da dies eine Anzeige dafür ist, daß der Synchronisierer fehlerhaft ist und nicht das drei Prozessoren nicht synchron sind. Dies erfordert, daß der Synchronisierer und sein zugeordneter Prozessor entfernt werden. In dem Fig. 3 gezeigten Aufbau der Sync-Schaltungsanordnung wird kein Interruptpuls generiert, wenn drei Syncpulse fehlen, weil die logischen Entscheidungsschaltungen in den 2-, 3- und 4-aus-4-Pfaden die OR-Gatter für die Taktpulse sperren. Die Überwachungsschaltung, die einen internen Takt und Zähler aufweist, generiert einen Interruptpuls, wenn sie für ein längeres Intervall als den Nebenrahmen zählen kann (d. h. 9 Millisekunden gegenüber dem 6,25 Millisekunden Nebenrahmenintervall). Die Überwachungsschaltung enthält einen Zähler 89, der eine Zählperiode hat, die größer als das Nebenrahmenintervall ist. Der Zähler ist über das AND-Gatter 90 mit dem programmierbaren Zähler und der Sync-Reset-Pulsleitung von dem lokalen Prozessor verbunden. Wenn ein Interruptpuls durch die Synchronisierschaltung am Ende eines Nebenrahmens generiert wird, wird der Zähler der Überwachungsschaltung jedes Mal zurückgesetzt, wenn der programmierbare Zähler 30 seine Nebenrahmenzählung beginnt.
- Wenn jedoch der Synchronisierer fehlerhaft ist, so daß kein Interruptpuls generiert und kein Sync-Resetpuls von dem Prozessor empfangen wird, zählt der Zähler der Überwachungsschaltung weiter, weil er nicht zurückgesetzt wird. Zu einer gewissen Zeit nach einem Nebenrahmenintervall zählt der Zähler der Überwachungsschaltung aus und generiert ein Interruptsignal für den lokalen Prozessor, der dann die Software-Supervisor-Routine initiiert. Während der Software-Supervisor-Routine wird festgestellt, daß drei Pulse nicht angekommen sind, wodurch ein fehlerhafter Synchronisierer angezeigt wird, und die Softwareroutine schaltet dann den lokalen Prozessor ab und nimmt ihn außer Betrieb.
- Die Ausgangsleitungen aus den Vierfach-Verriegelungen 58-61 sind auch mit einer vier (4) Bit Verriegelung verbunden, die von dem Zähler 55 in dem 1-aus-4-Pfad gesetzt wird. Die vier Ausgänge von dieser Verriegelung sind mit dem Statusdatenpuffer 42 verbunden. Wenn ein Syncpuls früh ist, zählt der Zähler 55 aus, setzt die vier (4) Bit-Verriegelung und identifiziert, welche der Vierfach-Verriegelungen 58-61 gesetzt worden ist, d. h. welcher Syncpuls mehr als zwei Mikrosekunden früh angekommen ist. Die Software-Supervisor- Routine prüft dann den Statuspuffer 52, um irgendeinen frühen Puls zu identifizieren, wenn die Eingänge A oder B des Datenpuffers gesetzt sind.
- Fig. 4 zeigt ein Fließbild von der Interrupt-Service-Routine, die am Ende von jedem Nebenrahmen initiiert wird. Bei Erzeugung des Interruptsignals beginnt die Supervisor-Software ihr Programm, indem ein Syncpuls zum Datenpuffer 42 gesendet wird, damit die Statusdaten über die Datenbusanschlüsse 65 ausgelesen werden können, um zu ermitteln, welche Syncpulse und Prozessoren fehlerhaft sein können. Die Service-Routine ermittelt zunächst, ob der Datenpuffereingang A, der dem 4-aus-4-Pfad zugeordnet ist, gesetzt ist, was anzeigt, daß der Interruptpuls hier generiert wurde. Wenn er gesetzt ist, was bedeutet, daß der Interrupt von dem 4-aus-4-Pfad kam, gibt dies an, daß die Zähler in den 2- und 3-aus-4-Pfaden nicht ausgezählt haben. Wenn die zweiten und dritten Pulse innerhalb des "Zeitfensters" nicht angekommen sind, würden entweder der Zähler 56 oder 57 ausgezählt haben, wobei sie einen Interruptpuls erzeugen, die Verriegelungs-Steuergatter einfrieren und verhindern, daß der vierte Puls empfangen wird. Wenn also der Datenpuffereingang A, der dem 4-aus-4-Pfad zugeordnet ist, gesetzt ist, ist dies eine Anzeige, daß alle vier Pulse empfangen worden sind. Die Supervisor-Routine fragt dann den Puffer ab, um zu ermitteln, ob der Datenpuffereingang D, der dem 1-aus-4-Zähler 5 zugeordnet ist, gesetzt ist, weil, wie zuvor bereits ausgeführt wurde, das System für einen Fehler tolerant ist, so daß ein "früher" Syncpuls noch keinen Interruptpuls generiert. Wenn der Zähler 55 diese Information auszählt, wird sie einfach in dem Puffer 42 gespeichert, um den Fehler anzuzeigen. Wenn also D nicht gesetzt ist, dann macht dies deutlich, daß alle Prozessoren synchron sind, und die Supervisor-Routine kehrt dann in irgendwelche anderen Service-Routinen zurück, die abgefragt werden können, und wird dann beendet.
- Wenn jedoch der Datenpuffereingang D gesetzt ist, ermittelt die Supervisor-Routine, welcher der Syncpulse früh war. Wenn der "frühe" Syncpuls identifiziert ist, wird diese Information notiert und das System wird repariert, indem dieser Syncpuls und sein zugeordnet er Prozessor während des nächsten Nebenrahmens gegen einen der verbleibenden vier Prozessoren ausgewechselt wird.
- Wenn jedoch notiert ist, daß der Dateneingang A nicht gesetzt ist, womit angezeigt wird, daß ein vierter Puls nicht angekommen ist, weil ein Interruptpuls vor der Ankunft des vierten Syncpulses generiert worden ist, wird der Datenpuffer abgefragt, um zu identifizieren, welcher Syncpuls oder welche Syncpulse nicht innerhalb des "Zeitfensters" angekommen sind. Wenn der Zähler in dem 3-aus-4-Pfad abgelaufen ist, weil ein Puls "spät" ist, würde der Datenbuseingang B gesetzt sein. Der Datenpuffer wird abgefragt, um zu ermitteln, welches der Vierfach-Verriegelungs-Eingangsnetzwerke noch in dem logischen Zustand EINS ist, der anzeigt, daß sein zugeordneter Puls nicht angekommen ist. Dieser Zustand wird dann berichtet und die Schaltungsanordnung wird repariert, indem der Syncpuls und sein zugeordneter Prozessor entfernt und gegen einen "guten" Prozessor ersetzt wird, d. h. gegen einen synchronen. Die Schaltungsanordnung wird ferner abgefragt, um zu ermitteln, ob der Datenpuffereingang D gesetzt ist oder nicht und die Sequenz wird fortgesetzt. Das heißt, wenn D gesetzt ist, was anzeigt, daß der Zähler in dem 1-aus-4-Pfad ausgezählt hat, zeigt dies einen Zweipuls-Fehlerzustand, in dem ein Puls "früh" und ein Puls "spät" ist. Der "frühe" Puls wird identifiziert und ersetzt und die Routine fährt dann fort zum Ende.
- Wenn der Datenpuffereingang B nicht gesetzt ist, dann wird der Datenpuffereingang C, der dem Zähler in dem 2-aus-4- Pfad zugeordnet ist, abgefragt. Wenn C gesetzt ist- zeigt dies einen Fehler von zwei Syncpulsen, bei dem zwei Pulse nicht angekommen sind. Die fehlenden Syncpulse werden von dem Status ihrer zugeordneten Verriegelungen identifiziert, und diese Information wird in dem Prozessor gespeichert.
- Ein Zweipulsfehler, in dem zwei Pulse nicht angekommen sind, ist uneindeutig in dem Sinne, daß nicht gewiß ist, ob zwei Pulse "früh" oder zwei Pulse "spät" angekommen sind. Die Supervisor-Software-Routine ist so ausgelegt, daß sie diese Situation ermittelt und korrigiert. Wenn die identifizierte Situation zuvor nicht aufgetreten ist, wird der eine Prozessor, der auf entsprechende Weise dem "frühen" Paar zugeordnet ist, und der eine mit dem "späten" Paar ersetzt. Am Ende des nächsten Nebenrahmens wird der verbleibende der zwei Prozessoren in einem der Paare weiterhin nicht synchron sein und somit anzeigen, ob das eine Paar "spät" oder das eine Paar "früh" ist. Der verbleibende fehlerhafte Prozessor wird in der nächsten Iteration ersetzt, wodurch das System innerhalb von drei Nebenrahmen geheilt wird. Wenn jedoch die Supervisor-Routine zeigt, daß dieses Fehlermuster zuvor aufgetreten ist, dann wird daraus der Schluß gezogen, daß entweder die Synchronisierer oder die zugeordneten Prozessoren fehlerhaft sind und sie werden sofort außer Betrieb genommen und gegen zwei "gesunde" und synchrone Prozessoren ersetzt.
- Wenn das Interruptsignal durch den Überwachungsmonitor 88 initiiert worden ist, zeigt die Supervisor-Routine, daß der Datenpuffereingang C, der dem 2-aus-4-Pfad zugeordnet ist, nicht gesetzt ist, wodurch angezeigt wird, daß der Synchronisierer fehlerhaft ist und der zugeordnete Prozessor wird entfernt.
- Die Zähler in den Synchronisationspfaden, die 16-Bit Zähler sind, die von 8 MHz Taktpulsen betätigt werden, generieren ein "Zeitfenster" von zwei (2) Mikrosekunden; d. h. sie haben nach zwei Mikrosekunden ausgezählt. Der Zähler 55 beginnt seine Zählung, wenn der erste Syncpuls ankommt und das AND-Gatter 75 der 1-aus-4-Syncentscheidungslogik in den logischen Zustand NULL geht, wodurch das OR-Gatter 52 freigegeben wird, um Taktpulse von dem AND-Gatter 73 zum Zähler durchzulassen. Wenn ein zweiter Syncpuls innerhalb des zwei Mikrosekunden "Zeitfensters" ankommt, sperrt die 2-aus-4- Logik den Zähler 55, weil der invertierende Verstärker 85 das OR-Gatter 52 sperrt und Taktpulse für den Zähler 55 blockiert.
- Wenn ein dritter Syncpuls nicht innerhalb von zwei Mikrosekunden von dem zweiten ankommt, läuft der Zähler 56 ab und sein Ausgang geht auf NULL. Dies bewirkt, daß der Ausgang des AND-Gatters 62 nach NULL geht und den digitalen Univibrator 63 triggert. Wenn der dritte Syncpuls innerhalb des zwei Mikrosekunden "Fensters" ankommt, sperrt die 3-aus-4- Entscheidungslogikschaltung, wie sie durch das AND-Gatter 77 dargestellt ist, den Zähler 56, weil der invertierende Verstärker 76 das steuernde OR-Gatter 53 blockiert.
- Wenn der Ausgang des AND-Gatters 77 in dem 3-aus-4-Pfad nach NULL geht, wird das OR-Gatter 54 freigegeben und der Zähler 57 in diesem Pfad beginnt zu zählen. Wenn der vierte Syncpuls nicht innerhalb von zwei Mikrosekunden ankommt, läuft der Zähler 57 ab und generiert einen Interruptpuls durch das AND-Gatter 62 und den digitalen Univibrator 63. Wenn der vierte Puls innerhalb von zwei Mikrosekunden ankommt, ändert das OR-Gatter 62 in dem 4-aus-4-Logikpfad seinen Zustand und sperrt das OR-Gatter 54 durch den invertierenden Verstärker 87. Jedoch generiert die Ankunft des vierten Pulses innerhalb des "Zeitfensters" selbst einen Interruptpuls, indem er das AND-Gatter 62 betätigt, um den digitalen Univibrator 58 zu triggern. Zusammenfassend wird ein Interruptpuls generiert, wenn entweder der Zähler in den 2- oder 3-aus-4-Pfaden ablaufen oder wenn der Ausgang der 4-aus-4-Entscheidungslogikschaltung in den logischen Zustand NULL geht.
- Jedes dieser Interruptsignale initiiert dann die Nebenrahmen-Interrupt-Software-Serviceroutine, die dann den Status des Synchronisierers und der einzelnen Syncpulse prüft, indem die in dem Syncpuffer 54 gespeicherten Daten abgefragt werden.
- Aus der vorstehenden Beschreibung wird deutlich, daß die Erfindung ein höchst flexibles, fehlertolerantes Multiprozessor-Synchronisierungssystem bildet. Die Synchronisation auf dem Nebenrahmenpegel wird durch eine Kombination von Hardware und einer lokalen Software-Supervisor-Routine herbeigeführt.
Claims (6)
1. Multiprozessorsystem, das bei spezifischen, sich
wiederholenden, rechnerischen Zeitrahmenperioden
synchronisiert ist, während denen wenigstens ein gewisser Teil des
Programms ausgeführt wird, enthaltend:
- mehrere Prozessoren (10, 11, 12, 14), die jeweils
enthalten:
- eine Einrichtung zum Erzeugen eines
Synchronisierpulses am Ende von jeder Rahmenperiode und zum Übertragen
des Pulses über bestehende Kommunikationsleitungen (21-24)
zwischen den Prozessoren,
- eine Synchronisierungseinrichtung (48-50) zum
Empfangen von Pulsen von seiner eigenen
Pulserzeugungseinrichtung und von den Pulserzeugungseinrichtungen aller anderen
Prozessoren,
- eine Synchronisierungspuls-Logikschaltung (52-57)
zum Ermitteln, ob eine Mehrheit der Synchronisierungspulse
innerhalb eines vorbestimmten Zeitintervalls empfangen
worden ist,
- eine Einrichtung (42), die mit jeder der
Synchronisierungspuls-Logikschaltungen verbunden ist, zum Speichern
von Fehlerstatusinformation über jeden der
Synchronisierungspulse,
- eine Einrichtung (41) zum Erzeugen eines
Steuersignals als Antwort auf den Status der Synchronisierungspuls-
Logikschaltung, wenn alle Synchronisierungspulse innerhalb
des vorbestimmten Intervalles ankommen, und
- eine Einrichtung (64), zum Zuführen des
Steuersignals zum Prozessor, um eine Supervisor- bzw.
Überwachungssoftwareroutine zu initiieren, die:
1. die Speichereinrichtung abfragt bezüglich des
Ankunftsstatus der Synchronisierungspulse,
2. jeden fehlerhaften Synchronisierungspuls oder
-pulse und den zugeordneten Prozessor identifiziert,
dadurch gekennzeichnet, daß
- die Synchronisierungseinrichtung (34-41; 48-51) zur
Verwendung bei der Synchronisation von n Prozessoren aus
einer Anzahl N Prozessoren wählt, welche n Prozessoren
Rechenaktivitäten zu einer gegebenen Zeit ausführen,
- die Einrichtung (41) zum Erzeugen des Steuersignales
dieses erzeugt, wenn mehr als ein Synchronisierungspuls
innerhalb des Intervalls nicht ankommt, und
- die Einrichtung (64) zum Initiieren einer
Überwachungssoftwareroutine nicht im Synchroninismus befindliche
Prozessoren auswechselt, wobei die Situation, in der
innerhalb des vorbestimmten Zeitintervalls zwei Pulse nicht
ankamen, gelöst wird durch Identifizieren und Ersetzen des
Prozessors, dessen Puls nach dem vorbestimmten
Zeitintervall ankam, während einer zweiten Rahmenperiode und des
verbleibenden Prozessors während einer dritten
Rahmenperiode.
2. Multiprozessorsystem nach Anspruch 1, wobei die
Überwachungssoftwareroutine für die Statusabfrage der
Speichereinrichtung sequentiell ermittelt, ob:
a. alle Synchronisierungspulse angekommen sind, und
anschließend, ob ein Puls mehr als das Intervall früher
war,
b. alle Pulse bis auf einen in dem Intervall
angekommen sind,
c. alle Pulse bis auf zwei in dem Intervall angekommen
sind.
3. Multiprozessorsystem nach Anspruch 1, wobei die
Synchronisierungspuls-Entscheidungslogikschaltung (52-57)
separate Pfade enthält, die auf entsprechende Weise bei der
Ankunft von 1-aus-N, 2-aus-N . . . und N-aus-N
Synchronisierungspulsen innerhalb des Zeitintervalls betätigt werden,
das Steuersignal als Antwort auf alle Pfade, außer dem 1-
aus-N-Pfad, generiert wird, jeder Pulspfad, außer dem N-
aus-N-Pfad, durch einen nächst höheren Pulspfad gesperrt
wird, wenn der nächst höhere Pulspfad seine entsprechenden
Pulse empfängt.
4. Multiprozessorsystem nach Anspruch 3, wobei jeder
Entscheidungslogikpfad, außer dem N-aus-N-Pfad,
Zeitsteuereinrichtungen enthält, die jeweils das vorbestimmte
Zeitintervall bei Empfang einer richtigen Anzahl von Pulsen für den
Pfad initiieren, wobei die Zeitsteuereinrichtung gesperrt
wird, wenn ein nächst höherer Pulspfad durch die Ankunft
der Anzahl von Pulsen betätigt wird, die zum Betätigen der
Zeitsteuereinrichtung in diesem nächsten Pfad erforderlich
ist, wobei die Zeitsteuereinrichtung in den Entscheidungslogikpfaden
durch Zeitablauf sperren, um das Steuersignal
zu erzeugen, wenn sie nicht abgeschaltet werden.
5. Multiprozessorsystem nach Anspruch 1, wobei die
Einrichtung (41) zum Erzeugen des Steuersignals nicht betätigt
wird, wenn ein Synchronisierungspuls um ein Zeitintervall
früher als alle anderen ankommt, das größer als das
vorbestimmte Zeitintervall ist.
6. Multiprozessorsystem nach Anspruch 1, wobei die
Einrichtung (41) zum Erzeugen des Steuersignals nicht betätigt
wird, wenn ein Synchronisierungspuls um ein Zeitintervall
früher als alle anderen ankommt, das größer als das
vorbestimmte Intervall ist, aber betätigt wird, wenn ein
Synchronisierungspuls um ein Zeitintervall später als alle
anderen ankommt, das größer als das vorbestimmte Intervall
ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/615,965 US4589066A (en) | 1984-05-31 | 1984-05-31 | Fault tolerant, frame synchronization for multiple processor systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3587284D1 DE3587284D1 (de) | 1993-05-27 |
DE3587284T2 true DE3587284T2 (de) | 1993-12-02 |
Family
ID=24467490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE85902392T Expired - Fee Related DE3587284T2 (de) | 1984-05-31 | 1985-05-06 | Fehlertolerante rahmensynchronisation für mehrprozessorsysteme. |
Country Status (5)
Country | Link |
---|---|
US (1) | US4589066A (de) |
EP (1) | EP0182816B1 (de) |
JP (1) | JPS6121562A (de) |
DE (1) | DE3587284T2 (de) |
WO (1) | WO1985005707A1 (de) |
Families Citing this family (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4696008A (en) * | 1983-12-02 | 1987-09-22 | Canon Kabushiki Kaisha | Data storing device having position determining means |
US4696019A (en) * | 1984-09-19 | 1987-09-22 | United Technologies Corporation | Multi-channel clock synchronizer |
US4742520A (en) * | 1984-09-26 | 1988-05-03 | Texas Instruments Incorporated | ALU operation: modulo two sum |
US5168520A (en) * | 1984-11-30 | 1992-12-01 | Security Dynamics Technologies, Inc. | Method and apparatus for personal identification |
US4885778A (en) * | 1984-11-30 | 1989-12-05 | Weiss Kenneth P | Method and apparatus for synchronizing generation of separate, free running, time dependent equipment |
US4998279A (en) * | 1984-11-30 | 1991-03-05 | Weiss Kenneth P | Method and apparatus for personal verification utilizing nonpredictable codes and biocharacteristics |
US5367572A (en) * | 1984-11-30 | 1994-11-22 | Weiss Kenneth P | Method and apparatus for personal identification |
US4700346A (en) * | 1985-05-10 | 1987-10-13 | Tandem Computers Incorporated | Self-checking, dual railed, leading edge synchronizer |
US4811283A (en) * | 1985-05-31 | 1989-03-07 | Hewlett-Packard Company | Recovery system for queued data transfer synch. loss utilizing error flag and status memories |
US4942523A (en) * | 1985-05-31 | 1990-07-17 | Hewlett-Packard Company | Method for recovery from synchronization loss in a queued data transfer |
US4757442A (en) * | 1985-06-17 | 1988-07-12 | Nec Corporation | Re-synchronization system using common memory bus to transfer restart data from non-faulty processor to failed processor |
US4710926A (en) * | 1985-12-27 | 1987-12-01 | American Telephone And Telegraph Company, At&T Bell Laboratories | Fault recovery in a distributed processing system |
JPS6345670A (ja) * | 1986-08-13 | 1988-02-26 | Hitachi Ltd | プロセツサ間同期装置 |
CN1008018B (zh) * | 1986-09-27 | 1990-05-16 | 徐肇昌 | 一种具有合作能力的同构型多计算机系统及其合作方法 |
US4845522A (en) * | 1986-11-04 | 1989-07-04 | Hiroyuki Kataoka | Data communication system for camera system |
US5020024A (en) * | 1987-01-16 | 1991-05-28 | Stratus Computer, Inc. | Method and apparatus for detecting selected absence of digital logic synchronism |
US5185877A (en) * | 1987-09-04 | 1993-02-09 | Digital Equipment Corporation | Protocol for transfer of DMA data |
EP0306211A3 (de) * | 1987-09-04 | 1990-09-26 | Digital Equipment Corporation | Synchronisiertes Doppelrechnersystem |
CA2003338A1 (en) * | 1987-11-09 | 1990-06-09 | Richard W. Cutts, Jr. | Synchronization of fault-tolerant computer system having multiple processors |
AU616213B2 (en) * | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
US4937741A (en) * | 1988-04-28 | 1990-06-26 | The Charles Stark Draper Laboratory, Inc. | Synchronization of fault-tolerant parallel processing systems |
US5204952A (en) * | 1988-07-18 | 1993-04-20 | Northern Telecom Limited | Duplex processor arrangement for a switching system |
JPH0797328B2 (ja) * | 1988-10-25 | 1995-10-18 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | フオールト・トレラント同期システム |
US5123047A (en) * | 1988-12-09 | 1992-06-16 | The Exchange System Limited Partnership | Method of updating encryption device monitor code in a multichannel data encryption system |
AU625293B2 (en) * | 1988-12-09 | 1992-07-09 | Tandem Computers Incorporated | Synchronization of fault-tolerant computer system having multiple processors |
US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
US5128996A (en) * | 1988-12-09 | 1992-07-07 | The Exchange System Limited Partnership | Multichannel data encryption device |
US5117442A (en) * | 1988-12-14 | 1992-05-26 | National Semiconductor Corporation | Methods and circuits for synchronizing signals in a modular redundant fault tolerant computer system |
US5270931A (en) * | 1989-02-23 | 1993-12-14 | The Boeing Company | Software controlled aircraft component configuration system |
EP0394514B1 (de) * | 1989-04-25 | 1994-07-13 | Siemens Aktiengesellschaft | Verfahren zur Synchronisation von Datenverarbeitungsanlagen |
US5153881A (en) * | 1989-08-01 | 1992-10-06 | Digital Equipment Corporation | Method of handling errors in software |
US5251227A (en) * | 1989-08-01 | 1993-10-05 | Digital Equipment Corporation | Targeted resets in a data processor including a trace memory to store transactions |
US5163138A (en) * | 1989-08-01 | 1992-11-10 | Digital Equipment Corporation | Protocol for read write transfers via switching logic by transmitting and retransmitting an address |
US5068780A (en) * | 1989-08-01 | 1991-11-26 | Digital Equipment Corporation | Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones |
US5163052A (en) * | 1989-10-12 | 1992-11-10 | Ncr Corporation | High reliability computer diagnostics system |
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5203004A (en) * | 1990-01-08 | 1993-04-13 | Tandem Computers Incorporated | Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections |
US6816872B1 (en) | 1990-04-26 | 2004-11-09 | Timespring Software Corporation | Apparatus and method for reconstructing a file from a difference signature and an original file |
WO1992003785A1 (de) * | 1990-08-14 | 1992-03-05 | Siemens Aktiengesellschaft | Einrichtung zur funktionsüberwachung externer synchronisations-baugruppen in einem mehrrechnersystem |
US5978831A (en) * | 1991-03-07 | 1999-11-02 | Lucent Technologies Inc. | Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates |
US5732164A (en) * | 1991-05-23 | 1998-03-24 | Fujitsu Limited | Parallel video processor apparatus |
JP3040529B2 (ja) * | 1991-05-23 | 2000-05-15 | 富士通株式会社 | 動画像処理装置 |
US5237614A (en) * | 1991-06-07 | 1993-08-17 | Security Dynamics Technologies, Inc. | Integrated network security system |
US5421002A (en) * | 1991-08-09 | 1995-05-30 | Westinghouse Electric Corporation | Method for switching between redundant buses in a distributed processing system |
US5506964A (en) * | 1992-04-16 | 1996-04-09 | International Business Machines Corporation | System with multiple interface logic circuits including arbitration logic for individually linking multiple processing systems to at least one remote sub-system |
GB2266979A (en) * | 1992-05-12 | 1993-11-17 | Apple Computer | Phase register for synchronization of multiple signal processors. |
DE4219005A1 (de) * | 1992-06-10 | 1993-12-16 | Siemens Ag | Rechnersystem |
US6157967A (en) * | 1992-12-17 | 2000-12-05 | Tandem Computer Incorporated | Method of data communication flow control in a data processing system using busy/ready commands |
US5838894A (en) * | 1992-12-17 | 1998-11-17 | Tandem Computers Incorporated | Logical, fail-functional, dual central processor units formed from three processor units |
CA2153052A1 (en) * | 1993-02-26 | 1994-09-01 | Frederick L. Smith | Synchronization arbitration technique and apparatus |
JPH0773059A (ja) * | 1993-03-02 | 1995-03-17 | Tandem Comput Inc | フォールトトレラント型コンピュータシステム |
US5522029A (en) * | 1993-04-23 | 1996-05-28 | International Business Machines Corporation | Fault tolerant rendezvous and semaphore for multiple parallel processors |
US5388102A (en) * | 1993-07-01 | 1995-02-07 | At&T Corp. | Arrangement for synchronizing a plurality of base stations |
US5812757A (en) * | 1993-10-08 | 1998-09-22 | Mitsubishi Denki Kabushiki Kaisha | Processing board, a computer, and a fault recovery method for the computer |
US5727184A (en) * | 1994-06-27 | 1998-03-10 | Cirrus Logic, Inc. | Method and apparatus for interfacing between peripherals of multiple formats and a single system bus |
US5812858A (en) * | 1994-09-16 | 1998-09-22 | Cirrus Logic, Inc. | Method and apparatus for providing register and interrupt compatibility between non-identical integrated circuits |
US5742753A (en) * | 1996-06-06 | 1998-04-21 | The Boeing Company | Mesh interconnected array in a fault-tolerant computer system |
DE19626184C2 (de) * | 1996-06-29 | 1998-07-30 | Alexander Ernst Erdwin Lahmann | Vorrichtung zum Betreiben eines Systems mit zwei funktionsmäßig in einem Rechner parallel geschalteten Prozessoren |
US5784386A (en) * | 1996-07-03 | 1998-07-21 | General Signal Corporation | Fault tolerant synchronous clock distribution |
US5801783A (en) * | 1996-10-31 | 1998-09-01 | Lucent Technologies Inc. | Remote accurate frequency generation using a numerically controlled oscillator |
US5983371A (en) * | 1997-07-11 | 1999-11-09 | Marathon Technologies Corporation | Active failure detection |
US6370657B1 (en) * | 1998-11-19 | 2002-04-09 | Compaq Computer Corporation | Hot processor swap in a multiprocessor personal computer system |
US6631483B1 (en) | 1999-06-08 | 2003-10-07 | Cisco Technology, Inc. | Clock synchronization and fault protection for a telecommunications device |
US6683848B1 (en) * | 1999-06-08 | 2004-01-27 | Cisco Technology, Inc. | Frame synchronization and fault protection for a telecommunications device |
US7350116B1 (en) | 1999-06-08 | 2008-03-25 | Cisco Technology, Inc. | Clock synchronization and fault protection for a telecommunications device |
US6687851B1 (en) * | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6901481B2 (en) | 2000-04-14 | 2005-05-31 | Stratus Technologies Bermuda Ltd. | Method and apparatus for storing transactional information in persistent memory |
US6802022B1 (en) | 2000-04-14 | 2004-10-05 | Stratus Technologies Bermuda Ltd. | Maintenance of consistent, redundant mass storage images |
US6691225B1 (en) | 2000-04-14 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Method and apparatus for deterministically booting a computer system having redundant components |
US6587800B1 (en) * | 2000-06-30 | 2003-07-01 | Intel Corporation | Reference timer for frequency measurement in a microprocessor |
US6813721B1 (en) * | 2000-09-20 | 2004-11-02 | Stratus Computer Systems, S.A.R.L. | Methods and apparatus for generating high-frequency clocks deterministically from a low-frequency system reference clock |
GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
US7065672B2 (en) * | 2001-03-28 | 2006-06-20 | Stratus Technologies Bermuda Ltd. | Apparatus and methods for fault-tolerant computing using a switching fabric |
US7155721B2 (en) * | 2002-06-28 | 2006-12-26 | Hewlett-Packard Development Company, L.P. | Method and apparatus for communicating information between lock stepped processors |
GB2411270B (en) * | 2002-07-03 | 2005-12-21 | Hewlett Packard Development Co | Method and apparatus for recovery from loss of lock step |
US7085959B2 (en) * | 2002-07-03 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Method and apparatus for recovery from loss of lock step |
GB2396446B (en) * | 2002-12-20 | 2005-11-16 | Picochip Designs Ltd | Array synchronization |
US7404105B2 (en) | 2004-08-16 | 2008-07-22 | International Business Machines Corporation | High availability multi-processor system |
GB2454865B (en) * | 2007-11-05 | 2012-06-13 | Picochip Designs Ltd | Power control |
GB2466661B (en) * | 2009-01-05 | 2014-11-26 | Intel Corp | Rake receiver |
US8024069B2 (en) | 2009-01-28 | 2011-09-20 | Ge Intelligent Platforms, Inc. | System and method for path planning |
GB2470037B (en) | 2009-05-07 | 2013-07-10 | Picochip Designs Ltd | Methods and devices for reducing interference in an uplink |
GB2470891B (en) | 2009-06-05 | 2013-11-27 | Picochip Designs Ltd | A method and device in a communication network |
GB2470771B (en) | 2009-06-05 | 2012-07-18 | Picochip Designs Ltd | A method and device in a communication network |
GB2474071B (en) | 2009-10-05 | 2013-08-07 | Picochip Designs Ltd | Femtocell base station |
GB2482869B (en) | 2010-08-16 | 2013-11-06 | Picochip Designs Ltd | Femtocell access control |
GB2489716B (en) | 2011-04-05 | 2015-06-24 | Intel Corp | Multimode base system |
GB2489919B (en) | 2011-04-05 | 2018-02-14 | Intel Corp | Filter |
GB2491098B (en) | 2011-05-16 | 2015-05-20 | Intel Corp | Accessing a base station |
EP2657797B1 (de) * | 2012-04-27 | 2017-01-18 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines redundanten Automatisierungssystems |
US9342358B2 (en) | 2012-09-14 | 2016-05-17 | General Electric Company | System and method for synchronizing processor instruction execution |
US9256426B2 (en) | 2012-09-14 | 2016-02-09 | General Electric Company | Controlling total number of instructions executed to a desired number after iterations of monitoring for successively less number of instructions until a predetermined time period elapse |
US9836318B2 (en) * | 2014-02-21 | 2017-12-05 | Infineon Technologies Ag | Safety hypervisor function |
CN104268037A (zh) * | 2014-09-10 | 2015-01-07 | 上海自仪泰雷兹交通自动化系统有限公司 | 热冗余联锁子系统及其主备切换方法 |
SG11202111296TA (en) | 2019-04-25 | 2021-11-29 | Aerovironment Inc | Methods of climb and glide operations of a high altitude long endurance aircraft |
US20220122385A1 (en) * | 2019-04-25 | 2022-04-21 | Aerovironment, Inc. | Systems And Methods For Distributed Control Computing For A High Altitude Long Endurance Aircraft |
WO2021011045A2 (en) * | 2019-04-25 | 2021-01-21 | Aerovironment, Inc. | Ground support equipment for a high altitude long endurance aircraft |
US10924091B2 (en) | 2019-07-02 | 2021-02-16 | Stmicroelectronics International N.V. | Immediate fail detect clock domain crossing synchronizer |
CN110686670B (zh) * | 2019-09-25 | 2023-04-28 | 天津津航计算技术研究所 | 一种嵌入式系统的双路导航通讯装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3665173A (en) * | 1968-09-03 | 1972-05-23 | Ibm | Triple modular redundancy/sparing |
FR1587572A (de) * | 1968-10-25 | 1970-03-20 | ||
US3566280A (en) * | 1969-03-07 | 1971-02-23 | Martin Marietta Corp | Digital communications clock synchronizer for responding to pulses of predetermined width and further predictable pulses of sufficient energy level during particular interval |
DE2202231A1 (de) * | 1972-01-18 | 1973-07-26 | Siemens Ag | Verarbeitungssystem mit verdreifachten systemeinheiten |
CH556576A (de) * | 1973-03-28 | 1974-11-29 | Hasler Ag | Einrichtung zur synchronisierung dreier rechner. |
US3932847A (en) * | 1973-11-06 | 1976-01-13 | International Business Machines Corporation | Time-of-day clock synchronization among multiple processing units |
JPS5814692B2 (ja) * | 1978-06-16 | 1983-03-22 | 日本国有鉄道 | 多重系同期運転方式 |
DE2939487A1 (de) * | 1979-09-28 | 1981-04-16 | Siemens AG, 1000 Berlin und 8000 München | Rechnerarchitektur auf der basis einer multi-mikrocomputerstruktur als fehlertolerantes system |
US4342083A (en) * | 1980-02-05 | 1982-07-27 | The Bendix Corporation | Communication system for a multiple-computer system |
US4323966A (en) * | 1980-02-05 | 1982-04-06 | The Bendix Corporation | Operations controller for a fault-tolerant multiple computer system |
US4375683A (en) * | 1980-11-12 | 1983-03-01 | August Systems | Fault tolerant computational system and voter circuit |
US4404675A (en) * | 1981-04-27 | 1983-09-13 | Gte Automatic Electric Incorporated | Frame detection and synchronization system for high speed digital transmission systems |
US4503490A (en) * | 1981-06-10 | 1985-03-05 | At&T Bell Laboratories | Distributed timing system |
-
1984
- 1984-05-31 US US06/615,965 patent/US4589066A/en not_active Expired - Fee Related
-
1985
- 1985-05-06 EP EP85902392A patent/EP0182816B1/de not_active Expired - Lifetime
- 1985-05-06 DE DE85902392T patent/DE3587284T2/de not_active Expired - Fee Related
- 1985-05-06 WO PCT/US1985/000807 patent/WO1985005707A1/en active IP Right Grant
- 1985-05-29 JP JP60114427A patent/JPS6121562A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO1985005707A1 (en) | 1985-12-19 |
US4589066A (en) | 1986-05-13 |
EP0182816B1 (de) | 1993-04-21 |
EP0182816A1 (de) | 1986-06-04 |
EP0182816A4 (de) | 1987-03-30 |
DE3587284D1 (de) | 1993-05-27 |
JPS6121562A (ja) | 1986-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3587284T2 (de) | Fehlertolerante rahmensynchronisation für mehrprozessorsysteme. | |
DE3587405T2 (de) | Modulare mehrkanalsynchronisierungseinrichtung. | |
DE2946081C3 (de) | Schaltungsanordnung zur Überwachung der Funktion eines Mikroprozessors | |
DE60302184T2 (de) | Fehlertolerantes Computersystem, Verfahren zur Resynchronisierung desselben und zugehöriges Resynchronisierungs-Programm | |
DE69116493T2 (de) | Schaltung und Verfahren zur Bestimmung der Länge des Zeitintervalls zwischen zwei Signalen | |
DE68923845T2 (de) | Synchronisierte fehlertolerante Uhren für Multiprozessorsysteme. | |
DE3300260C2 (de) | ||
DE3751231T2 (de) | Symmetriebildung für redundante Kanäle. | |
DE69016169T2 (de) | Leitungschnittstelle für ein Nachrichtenübertragungsnetz. | |
DE2838549A1 (de) | Impulsbreitenmesschaltung | |
EP0476160A1 (de) | Einrichtung zur Erzeugung von Messsignalen mit einer Mehrzahl von redundant vorgesehenen Sensoren | |
DE69114328T2 (de) | Überwachung von Mikroprozessoren. | |
DE3852721T2 (de) | Einrichtung zum dynamischen Schalten der Taktquelle eines Datenverarbeitungssystems. | |
DE3111555C2 (de) | Verfahren und Vorrichtung zur Informationsspeicherung unter Anwendung früherer Aufzeichnung | |
DE3686902T2 (de) | Selbstpruefender zweikanal-anstiegsflanken-synchronisierer. | |
EP0564923B1 (de) | Verfahren und Vorrichtung zur Phasenmessung | |
DE69522871T2 (de) | Verbesserter Zeitgeber für Datenprozessoren | |
DE60104336T2 (de) | Fehlertolerante synchronisationseinrichtung für ein echtzeit-computernetzwerk | |
DE2120289A1 (de) | Gesteuerte Pause in einer Datenverarbeitungsanlage | |
DE3888469T2 (de) | Detektion von Synchronisationsstörungen. | |
DE2801517C2 (de) | ||
DE2749668A1 (de) | Pruefeinrichtung | |
DE2727983C2 (de) | Schaltungsanordnung mit mindestens doppelt vorgesehenen zentralen Steuerungen, insbesondere für Fernsprechvermittlungsanlagen | |
DE2725922C2 (de) | Mehrrechnersystem zur Steuerung von trassengebundenen Verkehrsmitteln | |
EP0172569A2 (de) | Verfahren zur Synchronisation mehrerer parallelarbeitender Rechner |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |