DE4233837A1 - Rechenanlage - Google Patents

Rechenanlage

Info

Publication number
DE4233837A1
DE4233837A1 DE4233837A DE4233837A DE4233837A1 DE 4233837 A1 DE4233837 A1 DE 4233837A1 DE 4233837 A DE4233837 A DE 4233837A DE 4233837 A DE4233837 A DE 4233837A DE 4233837 A1 DE4233837 A1 DE 4233837A1
Authority
DE
Germany
Prior art keywords
processor
simulator
memory
computer system
strands
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.)
Withdrawn
Application number
DE4233837A
Other languages
English (en)
Inventor
Roger Sean Fitzpatrick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Smiths Group PLC
Original Assignee
Smiths Group PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Smiths Group PLC filed Critical Smiths Group PLC
Publication of DE4233837A1 publication Critical patent/DE4233837A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques

Description

Die Erfindung betrifft eine Rechenanlage nach dem Ober­ begriff des Anspruches 1.
Bei Rechenanlagen, welche eine hohe Zuverlässigkeit aufweisen sollen, ist es bekannt, die Verarbeitungsfunktionen auf zwei oder mehr Hardware-Stränge zu replizieren. Jeder dieser Stränge ist unabhängig in der Lage, die gewünschten Datenverarbeitungsfunktionen auszuführen, so daß die Rechen­ anlage auch bei Ausfall eines Strangs funktionsfähig bleibt.
Es ist ebenfalls bekannt, die Ausgänge solcher mehrsträngigen Anfordnungen zu vergleichen und auf Abweichungen voneinander zu untersuchen, wobei die Feststellung einer Abweichung bedeutet, daß ein Strang fehlerhaft gearbeitet hat.
Wenn nur zwei Stränge vorhanden sind, bleibt unbestimmt, welcher dieser beiden Stränge fehlerhaft gearbeitet hat und die Anlage kann nicht mehr verwendet werden. Wenn mehr als zwei Stränge vorhanden sind, wird üblicherweise so vorgegangen, daß ein abweichender Einzelstrang isoliert wird und die Anlage unter Verwendung der übereinstimmenden Stränge weiter betrieben wird.
Derartige Rechnerarchitekturen beinhalten mindestens einen Betriebsstrang mehr als sie zu ihrer Funktion unbedingt benötigen. Wenn auch nach der Feststellung eines Fehlers kontinuierlicher Betrieb aufrechtzuerhalten ist, werden mindestens zwei weitere Stränge benötigt. Dennoch ist die Redundanz einer derartigen Anlage nach Entdeckung eines Fehlers und Isolierung des entsprechenden Strangs um einen Strang erniedrigt.
Es besteht die Aufgabe, eine gattungsgemäße Rechenanlage so weiterzubilden, daß unter Verwendung möglichst weniger Bauteile eine möglichst hohe Zuverlässigkeit erreicht wird.
Gelöst wird diese Aufgabe durch die kennzeichnenden Merkmale des Anspruchs 1. Vorteilhafte Ausgestaltungen sind den Unteransprüchen entnehmbar.
Ein Ausführungsbeispiel der vorliegenden Erfindung und seine Verfahrensweise werden im folgenden unter Bezugnahme auf die Zeichnungen näher beschrieben. Diese zeigen:
Fig. 1 eine schematische Darstellung einer vereinfachten Rechenanlage gemäß der vorliegenden Erfindung;
Fig. 2 schematische Darstellungen eines Strangs der Rechenanlage und mögliche Fehlerquellen;
Fig. 3 Diagramme eines Simulationsprogramms zur Analyse der in Fig. 2 dargestellten Fehler und
Fig. 4 eine schematische Darstellung, welche die erfin­ dungsgemäße Rechenanlage genauer zeigt.
In Fig. 1, auf welche zunächst Bezug genommen wird, ist eine vereinfachte zweisträngige Rechenanlage dargestellt, wobei die Begrenzung der Anlage die Bezugszahl 1 trägt. Die Rechenanlage enthält Prozessoren 2 und 3, welche über die Leitungen 4 und 5 jeweils identische Eingangssignale von (nicht dargestellten) Quellen außerhalb der Anlage empfangen. Die Prozessoren 2 und 3 verarbeiten die Eingangs­ daten unter Anwendung identischer mathematischer Verfahren, wodurch sich normalerweise identische Ausgangssignale auf den Leitungen 6 und 7 ergeben. Die Ausgangssignale werden im Komparator 8 verglichen und, falls sie überein­ stimmen, wird eines der beiden Ausgangssignale auf den Lei­ tungen 6 und 7 auf die den Ausgang der Rechenanlage bildende Leitung 9 geschaltet.
Falls der Komparator 8 eine Abweichung zwischen den Ausgangs­ signalen auf den Leitungen 6 und 7 feststellt, wird dieser Fehlerzustand über die Leitung 10 der Systemüberwachungs­ einheit oder dem Monitor 11 mitgeteilt, welcher eine Kompo­ nente der Rechenanlage oder eine externe Komponente sein kann. Der Monitor 11 weist auch den Prozessor 12 zum Empfang von Daten über die Leitungen 16 und 17 aus zwei Speichern 18 und 19 an, welche die Prozessoren 2 und 3 in dem Augen­ blick erreichten, als die Abweichung entstand, d. h. unmittel­ bar vor Feststellung dieser Abweichung. Auf diese Weise enthalten die Speicher 18 und 19 Information aus der Zeit, zu der diese Daten von den Prozessoren 2 bzw. 3 empfangen wurden. Der Prozessor 12 wird angewiesen, die Rechenanlage zu simulieren um das korrekte Ausgangssignal herauszufinden.
Das vom Simulationsprozessor 12 berechnete korrekte Ausgangs­ signal wird über die Leitung 20 dem Monitor 11 zugeführt, welcher daraufhin, durch Vergleich mit den Ausgängen 6 und 7 der Rechenanlage, feststellen kann, welcher Strang, 4 oder 5, der Rechenanlage das falsche Ergebnis lieferte. Der Monitor erlaubt eine kontinuierliche Fortführung der Berechnungen unter Verwendung der anderen Stränge und leitet dem Komparator 8 über die Leitung 21 Befehle zu, damit dieser den fehlerhaften Strang ignoriert.
Fig. 2(a) zeigt etwas genauer einen korrekt funktionie­ renden Einzelstrang einer einfachen logischen Rechenanlage, bei der Daten von links nach rechts fließen. Im Zustand A werden die Daten der Anlage aus externen Quellen zugeführt und bei B befindet sich ein Speicher, welcher die beiden Eingangswerte eines der Prozessoren 2 oder 3 abspeichert. Bei C sind die dem Prozessor tatsächlich zugeführten Werte dargestellt. Unter D ist der Prozessor 2 oder 3 dargestellt, dessen logische Funktion darin besteht, die beiden Eingangs­ werte zu addieren und das Ergebnis als Ausgangswert bei E auszugeben. F ist ein Speicher, welcher die Eingangswerte des nächsten Prozessors abspeichert, wobei eines dieser Eingangswerte der Ausgangswert E ist. Bei G werden diese Daten dem nächsten Prozessor zugeführt. Unter H ist die Funktion dieses nächsten Prozessors dargestellt, welche wiederum darin besteht, die Eingangswerte zu addieren und das Ergebnis als Ausgangswert bei I auszugeben. Bei J werden die Eingangswerte des nächsten Prozessors abgespei­ chert, welche den Ausgangswert I beinhalten. Bei K sind die tatsächlichen Eingangwerte des nächsten Prozessors dargestellt. Unter L ist die nächste Prozessorfunktion dargestellt, welche wiederum darin besteht, die Eingangswerte zu addieren und das Ergebnis als Ausgangswert bei M auszu­ geben. Bei N wird dieser Ausgangswert abgespeichert und O stellt den endgültigen Ausgang der Anlage dar.
Fig. 2(b) zeigt die gleiche Anlage mit einem Fehler im Prozessor H, durch den die Addition der Eingangswerte 5+1 fälschlicherweise den Ausgangswert 7 ergibt.
In Fig. 2(c) ist wiederum dieselbe Anlage dargestellt, wobei diesmal alle Prozessoren korrekt funktionieren, jedoch der Speicher F den Ausgangswert 5 des Prozessors D fälschlicherweise als Wert 6 abspeichert.
Fig. 3(a) zeigt die Softwaresimulation einer korrekt funktionierenden Anlage entsprechend Fig. 2(a) gemäß der vorliegenden Erfindung, wobei in Programmschritten P die Werte 2 und 3 aus dem Speicher B Eingangswerte der Gleichung D sind. Diese Gleichung simuliert die Funktion des Prozessors D in der wirklichen Anlage. Sie addiert die Eingangswerte, gibt den Ausgangswert 5 aus und vergleicht diesen Ausgangswert in einem Komparator X mit dem gespei­ cherten Ausgangswert 5 des wirklichen Systemspeichers F. Der Vergleich ergibt den korrekten Wert und die Simulation wird unter Verwendung der Werte des Speichers F mit der Simulation der Funktion H fortgeführt, um den Ausgangswert unter Einsatz des Komparators X mit dem in J gespeicherten Wert zu vergleichen, was wiederum Übereinstimmung ergibt. Die Simulation verwendet die gespeicherten Werte J zur Simulation der Funktion L, zum Vergleich ihres Ausgangswerts mit dem abgespeicherten Wert N und zur Schlußfolgerung, daß das wirkliche System korrekt funktioniert.
Fig. 3(b) zeigt eine Softwaresimulation, welche dem Zustand 2(b) des wirklichen Systems entspricht und bei der im Programmschritt P der Simulationsprozeß den Prozessor D als korrekt funktionierend einstuft. Die Simulation der Funktion H erzeugt jedoch durch die Addition 5+1 den Wert 6, wogegen der im Speicher J abgespeicherte Ausgangs­ wert des realen Systems 7 beträgt. Der Simulationspro­ zessor beendet dann die Prozeßfolge, indem er die abgespei­ cherten Ausgangswerte aus dem Speicher J (Werte 7 und 1) verwendet um die Funktion L zu simulieren, hierbei den Additionswert 8 erzeugt, wobei sich beim Vergleich dieses Werts mit dem als Ausgangswert von L im Speicher N abgespei­ cherten Wert 8 im Komparator X Identität ergibt. Daraufhin läßt der Simulator sein Alternativprogramm, gekennzeichnet durch PP, ablaufen, welches den von ihm selbst berechneten Wert 6 der Funktion H verwendet und hieraus ableitet, daß der Ausgangswert von L 6+1=7 hätte betragen sollen. Dies paßt nicht zu dem in N abgespeicherten Wert, was bedeutet, daß der Prozessor H im wirklichen System nicht korrekt arbeitet, weil bei der Prüfung eines einzelnen Prozeßelements des wirklichen Systems zwischen den beiden Programmen P und PP Abweichungen aufgetreten sind.
Fig. 3(c) zeigt eine alternative, der Fig. 2(c) entspre­ chende Softwaresimulation. Darin werden abgespeicherte Werte B des wirklichen Systems einem Verarbeitungsschritt D zugeführt, um die Funktion des Prozessors D zu simulieren. Dies führt zu dem Ergebnis 2+3=5, bei welchem der Komparator X eine Abweichung vom M Speicher F abgespeicherten Ausgangswert 6 des wirklichen Systems findet. Der Simulator beendet den nächsten Schritt der Prozeßfolge unter Verwendung von wirklichen Werten F zur Simulation der Funktion H wobei sich das Ergebnis 6+1=7 ergibt, welches wiederum vom wirklichen Systemausgangswert 6 im Speicher J abweicht. Daraufhin läßt der Simulator sein Alternativprogramm PP unter Verwendung seines eigenen berechneten Ausgangswerts 5 für die Funktion D ablaufen. Dies führt zum Ergebnis 5+1=6 in Übereinstimmung mit J und, weil beide Abwei­ chungen im gleichen Programm P aufgetreten sind, zur Schluß­ folgerung, daß der Speicher F fehlerhaft war und einen falschen Wert enthielt. Die Simulation wird dann bei Schritt L fortgesetzt und führt zu einem Ergebnis, welches die korrekte Funktion des getesteten wirklichen Systems bestätigt.
Fig. 4 zeigt eine Implementierung der Erfindung in einer zweisträngigen Rechenanlage, welche durch die Systemgrenze 22 abgeschlossen ist. Jeder Strang des Systems enthält drei Berechnungsstufen, welche durch die Prozessoren I, II und III dargestellt sind. Die Daten werden dem System von externen Quellen 23, 24, 25, 26 und 27 über Leitungen 28, 29, 30, 31 und 32 zum ersten Strang und über Leitungen 28′, 29′, 30′, 31′ und 32′ zum zweiten (Haupt) Strang zugeführt. Die Daten werden den Prozessoren I, IIa, I′ und IIa′ unmodi­ fiziert zugeführt und den Prozessoren IIb und IIb′ zusammen mit den Ausgangssignalen der Prozessoren I und I′ über die Leitungen 33 und 33′. Die Ausgangssignale der Prozessoren IIa und IIb werden über Leitungen 34 und 35 dem Prozessor III zugeführt. Die Ausgangssignale der Prozessoren IIa, und IIb′ werden über Leitungen 34′ und 35′ dem Prozessor III′ zugeführt. Die Prozessoren III und III′ produzieren die Ausgangssignale des Systems auf den Leitungen 36 und 36′, wobei diese Signale identisch sind, wenn die Anlage korrekt funktioniert. Die von den Prozessoren ausgeführten Rechenoperationen sind nicht dargestellt.
Die Endausgänge 36 und 36′ beider Stränge werden mit Hilfe eines Komparators 37 miteinander verglichen. Bei Feststellung einer Abweichung sendet der Komparator 37 über die Leitung 38 ein Alarmsignal an die Systemüberwachungseinheit oder den Monitor 39, welcher die Fehlersuchprozedur gemäß der vorliegenden Erfindung einleitet.
Im folgenden wird nur auf die obere der beiden dargestellten identischen Stränge Bezug genommen, jedoch wird jede be­ schriebene Funktion im unteren (Haupt) Strang gespiegelt ausgeführt.
Datenbits, welche das System durchlaufen, eilen pro Zyklus­ zeit von einem Prozessor zum nächsten, wobei diese Zyklus­ zeit von einer Systemuhr (nicht dargestellt) ausgegeben wird.
Nach Empfang eines auf die Detektion einer Abweichung hinweisenden Alarmsignals setzt der Monitor 39 einen Warn­ merker 40, welcher über die Leitung 41 nach außen anzeigt, daß sich das System auf Fehlersuche befindet und weist eine Fehlerbehandlungseinheit 42 über eine Leitung 43 an, eine Simulationüberprüfung des Systems auszuführen. Die Fehlerbehandlungseinheit 42 gibt (über nicht dargestellte Leitungen) an die Verarbeitungselemente des Systems einen Befehl zum Anhalten aus, dessen Empfang den Zeitpunkt, zu welchem der Datenfluß im System stillgelegt ist, als Taktzyklus Null markiert. Es ist ersichtlich, daß beim Rückwärtszählen, ausgehend vom Taktzyklus Null, die Fehler­ behandlungseinheit 42 ihren Befehl zum Anhalten beim Takt­ zyklus Eins ausgegeben hat und der Monitor 39 sein Überprü­ fungskommando beim Taktzyklus Zwei. Der Komparator 38 erzeugte sein Alarmsignal beim Taktzyklus Drei und die für die Fehlersuche kausale Abweichung, falls sie durch den Prozessor III verursacht wurde, wäre im Taktzyklus Vier entstanden. Wäre die Abweisung in einem der Prozessoren IIa oder IIb entstanden, wäre sie beim Taktzyklus Fünf aufgetaucht, wäre sie im Prozessor I entstanden, wäre sie beim Taktszyklus Sechs aufgetaucht. Die Fehlerbehand­ lungseinheit 42 gibt über die Leitung 44 einem externen Prozessor 45 einen Befehl zur Unterbrechung seiner momentanen Verarbeitung (dargestellt durch den Datenfluß 46). Die Einheit 42 gibt weiterhin über die Leitung 47 einen Befehl an die Softwarebibliothek 48 aus, wodurch diese veranlaßt wird, über die Leitung 49 Software in den Prozessor 45 zu laden, durch welche dieser Prozessor die Funktionen des fehlerverdächtigen Rechensystems simulieren kann. Außerdem wird über die Leitung 50 ein Kommando an eine Speichersucheinheit 51 ausgegeben, damit diese dem Prozessor 45 die Daten zur Verfügung stellt, welche im Augenblick des möglichen Ursprungs der festgestellten Abweichung, also unmittelbar vor der Detektion dieser Abweichung, am Eingang jedes Prozessorelements des fehlerverdächtigen Computersystems anlagen.
Die Speichersucheinheit 51 gibt über einen Speichersuchbus 52 sogenannten Speicher-Strippern 53 den Befehl, die benötig­ ten Daten über den Speicherextraktionsbus 54 der Speicherda­ tenladeeinheit 55 und daraufhin dem Prozessor 45 zuzuführen, welcher diese Daten zur Ausführung einer Simulation des in Verdacht stehenden Systems benötigt.
Die Speicher-Stripper 53 extrahieren die benötigten Datenbits von den zyklischen Speicherpuffern, welche mit den Eingangs­ leitungen jedes der Prozessoren der Rechenanlage verbunden sind.
Für den Prozessor III speichert ein zyklischer Puffer 56 die Eingangsdaten seines assoziierten Prozessors über vier Taktzyklen, der Speicher-Stripper 53 extrahiert Bits, welche dem Prozessor über die Leitungen 34 und 35 beim Taktzyklus Vier zugeführt wurden.
Für den Prozessor IIa speichert ein zyklischer Puffer 57 die Eingangsdaten, welche über die Leitungen 28 und 32 eintreffen über fünf Taktzyklen, von welchen der Speicher- Stripper 53 diejenigen Bits extrahiert, welche beim Taktzyklus Fünf angekommen sind. Der Prozessor IIa beinhaltet auch eine Verriegelungsfunktion, welche ein separates Status­ signal an einen Speicher 58 ausgibt, der auf ähnliche Weise durch den Speicher-Stripper 53 extrahiert wird.
Für den Prozessor IIb speichert ein zyklischer Puffer 59 die Eingangsdaten, welche über die Leitungen 29 und 33 ankommen, wobei die bei Taktzyklus Fünf angekommenen Bits vom Speicher-Stripper 53 extrahiert werden. Der Pro­ zessor IIb beinhaltet ebenfalls eine Verriegelungsfunktion, weist jedoch keinen separaten Ausgang zum Nachweis dieses Zustands auf. Es werden daher einem getrennten Prozessor 60 die Eingangsdaten der Leitungen 29 und 33 zugeführt, wobei dieser Prozessor 60 die Verriegelungsberechnung des Prozessors IIb repliziert und an einen Speicher 61 ein Analogon dieses Zustands ausgibt, auf welches der Speicher-Stripper 53 Zugang hat.
Für den Prozessor I speichert ein zyklischer Puffer 62 die Eingangsdaten, welche über die Leitungen 30 und 31 eintreffen. Der Speicher-Stipper 53 extrahiert Bits, welche beim Taktzyklus Sechs ankamen. Der zyklische Puffer 62 weist jedoch eine erhöhte Kapazität auf zur Speicherung auch weiter zurückliegender Daten für den Fall, daß größere analytische Prozesse oder Aufnahmehistorien benötigt werden als zur einfachen Simulation des Moments als die Abweichung entstand nötig wären. Dies kann der Fall sein, wenn "Restart"-Historien benötigt werden oder spätere Daten empfangen werden, während das System getestet wird.
Der Prozessor 45 führt eine Simulation beider Stränge der fehlerverdächtigen Rechenanlage unter Verwendung der zur Verfügung gestellten Daten durch und gibt das Ergebnis seiner Analyse über die Leitung 63 zur Fehlerbehandlungsein­ heit 42, welche wiederum den Systemstatus und die als fehlerhaft festgestellten Komponenten über die Leitung 64 dem Monitor 39 mitteilt.
Entsprechend der auf die Rechenanlage anwendbaren Regeln kann der Monitor 39, falls ein Fehler bestätigt wurde, die Einzelheiten dieses Fehlers in einem Fehlerverzeichnis 65 abspeichern und einen Fehlermerker 66 setzen, um den Fehler über eine Leitung 67 nach außen zu melden. Alternativ hierzu kann der Monitor 39 das System anweisen, den Betrieb wieder aufzunehmen und hierbei nur den noch funktionierenden Strang zu benutzen oder er kann das System anweisen, den Betrieb unter Einsatz des externen Prozessors 45 anstatt der fehlerhaften Komponente wieder aufzunehmen.
Wenn die Regeln des Computersystems die Wiederaufnahme der Berechnungen erlauben, kann der Monitor 39 über die Leitung 68 Befehle an den Formatierer 69 für die Neukonfigu­ ration geben. Der Formatierer 69 sendet ein geeignetes "Restart"-Signal über die Leitung 70 an externe Empfänger der Systemdaten und über die Leitung 71 Initialisierungsan­ weisungen an die Verarbeitungselemente des Systems. Der Formatierer 69 weist auch einen "Restart"-Zeitrahmenspeicher 72 über die Leitung 73 an, den Verarbeitungselementen des Systems über die Leitung 74 die für die "Restart" -Operationen notwendigen Daten vom Augenblick der Systemunter­ brechung zur Verfügung zu stellen. Diese Daten werden kontinuierlich vom "Restart"-Zeitrahmenspeicher bei jedem Taktzyklus des Systems über den Speicherextraktionsbus 54 aufgenommen und gespeichert.
Ein zufriedenstellender "Restart" des Systems benötigt ggfs. eine vollständige oder zeitabgestufte Geschichte der Daten, welche dem System während des Zeitraums indem es aufgrund des Tests inaktiv war, zugeführt worden wären. Diese Daten können vom Formatierer 69 für die Neukonfigura­ tion aus den Eingangsdatenspeichern 62 extrahiert werden.
Wenn die Systemregeln die Isolierung jedes Strangs mit einer fehlerhaften Komponente vorschreiben, gibt der Monitor 39 über die Leitung 75 dem Strangselektor 76 den Befehl, den Strang mit der als fehlerhaft identifizierten Komponente zu isolieren.
Falls die Systemarchitektur redundante Ersatzkomponenten enthält, kann der Monitor 39 deren Aktivierung veranlassen, wodurch die als fehlerhaft identifizierte Komponente ersetzt wird. So würde beispielsweise ein über die Leitung 77 dem Ersatzprozessor 78 zugeführter Befehl diesen veranlassen, einen der fehlerhaften Prozessoren IIb oder IIb′ des Systems zu ersetzen. Dies ist teilweise durch unterbrochene Linien angedeutet.
Wenn die Systemregeln keine strenge Trennung zwischen den Strängen vorschreiben, kann der Monitor 39 über die Leitung 79 ein Kommando an einen Strangschalter 80 ausgeben. Dies kann beispielsweise der Fall sein, wenn einer der Prozessoren der ersten Stufe des Systems als fehlerhaft identifiziert wurde und der Ausgang des korrekt arbeitenden Prozessors I oder I′ sowohl für den Prozessor der zweiten Stufe seines eigenen Strangs als auch für den entsprechenden Prozessor des benachbarten Strangs IIb bzw. IIb′ verwendet wird. Dies ist durch gestrichelte Linien dargestellt. Dadurch findet die Verarbeitung der ersten Stufe für beide Stränge durch einen der beiden Prozessoren I oder I′ statt und beide Stränge können unter Verwendung des Ausgangssignals des einen korrekt arbeitenden Prozessors weiterarbeiten. Unter diesen Umständen kann der Prozessor 45 dazu verwendet werden, kontinuierliche Simulationsüberprüfungen des ein­ zelnen verbleibenden korrekt funktionierenden Prozessors der ersten Stufe durchzuführen, um die Dualität der ursprüng­ lichen zweisträngigen Computerarchitektur aufrecht zu erhalten.
Zum Zwecke der Protokollierung des Systembetriebs können die Datenflüsse, welche jedem Verarbeitungselement des Systems zugeführt werden, über die Leitung 81 einer Datenauf­ nahmeeinheit 82 zur Langzeitspeicherung zugeführt werden.
Die mit Hilfe der vorliegenden Erfindung getesteten Verarbei­ tungselemente können jede Größe aufweisen. Sie können bei­ spielsweise ein Ersatzmodul eines großen elektronischen Systems oder eine einzelne elektronische Komponente auf einer Leiterplatte eines solchen Ersatzmoduls sein oder ein funktionales Element innerhalb eines einzelnen Halblei­ terbauteils auf einer solchen Leiterplatte.
Die Verarbeitung der Daten kann elektronisch, optisch, analog oder digital erfolgen oder in einer Kombination dieser oder anderer Übertragungsarten, welche sich für die erwünschten Berechnungen eignen.
Im Falle eines Flugzeugs kann die erfindungsgemäße Rechenan­ lage ein flugkritisches System sein, beispielsweise in Verbindung mit den Anzeigen der Cockpitinstrumentierung, während der Simulationsprozessor zum Test dieser Anzeige­ rechner eine speziell hierauf abgestimmte Prozessorein­ heit sein kann. Vorzugsweise ist der Simulationsprozessor jedoch gleichzeitig das Prozessorelement eines weiteren nicht flugkritischen Systems an Bord des Flugzeugs wie beispielsweise eines Datenspeicherungssystems, eines Kommuni­ kationssystems oder eines Kabinenunterhaltungssystems. Solche nicht flugkritischen Rechenanlagen sind üblicherweise an Bord eines Flugzeugs reichlich vorhanden, wodurch eine große Anzahl an Fehlern tolerierbar ist, Testläufe gefahren werden können und jedes System mit korrekter Funktion und unter kontinuierlicher, wiederhergestellter mehrsträngiger Redundanz wieder gestartet werden kann.

Claims (9)

1. Rechenanlage, umfassend mindestens zwei Stränge mit jeweils mindestens einem Prozessor, welche normalerweise identische Ausgangssignale erzeugen sowie eine Vorrichtung zur Detektion einer Abweichung zwischen diesen Ausgangs­ signalen und zum Erzeugen einer Fehlermeldung, dadurch gekennzeichnet, daß jedem Prozessor (2, 3, I, I′, IIa, IIb, IIa′, IIb′, III und III′) ein Speicher (18, 19, 62, 59, 57, 56) zugeordnet ist, welcher die seinem Prozessor zugeführten Eingangsdaten abspeichert, die Rechenanlage einen Simulator (12, 42, 45) umfaßt, welcher bei Detektion einer Abweichung zwischen den Strängen den Betrieb mindestens eines Teils eines dieser Stränge simuliert, dem Simulator der Inhalt des Speichers einer der Stränge zugeführt wird, welcher unmittelbar vor der Detektion der Abweichung dem diesem Speicher zugeord­ neten Prozessor zugeführt wurde und der Simulator den Betrieb dieses Stranges unter Verwendung der Daten aus diesem Speicher simuliert.
2. Rechenanlage nach Anspruch 1, dadurch gekenn­ zeichnet, daß der Speicher (18, 19, 62, 59, 57, 56) die Ankunftszeit der ihm zugeführten Daten abspeichert.
3. Rechenanlage nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, daß sie eine Softwarebib­ liothek (48) zur Simulation des Betriebs der Stränge umfaßt, die Softwarespeicherung getrennt von dem Simu­ lator (45) ist und daß der Inhalt der Softwarebiblio­ thek nur bei Detektion einer Abweichung zwischen den beiden Strängen in den Simulator (45) zu laden ist.
4. Rechenanlage nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß sie einen Komparator (8, 37) umfaßt, welcher die Ausgangssignale des Simulators (12, 45) mit denen der Stränge vergleicht und denjenigen Strang isoliert, dessen Ausgangssignal nicht mit dem des Simulators übereinstimmt.
5. Rechenanlage nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß das Ausgangs­ signal des Simulators ein alternatives Ausgangssignal der Rechenanlage ist.
6. Rechenanlage nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß jeder Strang mindestens zwei Prozessoren (I, I′, IIa, IIa′, IIb, IIb′, III, III′) umfaßt, jedem Prozessor ein Speicher (62, 59, 57, 56) zugeordnet ist, welcher die Eingangsdaten seines Prozessors abspeichert und der Simulator den Betrieb eines vorgeschalteten Prozessors simuliert und bei Detektion eines Fehlers in diesem vorgeschalteten Prozessor einem nachgeschalteten Prozessor ein Ausgangs­ signal anstelle des Ausgangssignals des vorgeschalteten Prozessors zuführt.
7. Rechenanlage nach Anspruch 6, dadurch gekenn­ zeichnet, daß der Simulator den Betrieb des nachgeschalteten Prozessors simuliert.
8. Rechenanlage nach Anspruch 7, dadurch gekenn­ zeichnet, daß der Simulator zwei Simulationen des nachgeschalteten Prozessors durchführt, wobei eine das Ausgangssignal des vorgeschalteten Prozessors verwen­ det und die andere das durch die Simulation des vorge­ schalteten Prozessors erhaltene Ausgangssignal.
9. Rechenanlage nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß die den Prozessoren zugeordneten Speicher bei Wiederaufnahme des Betriebs nach einer Unterbrechung des Rechenablaufs ihren zugeordneten Prozessoren die Eingangsdaten von neuem zuführen.
DE4233837A 1991-10-10 1992-10-08 Rechenanlage Withdrawn DE4233837A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB919121540A GB9121540D0 (en) 1991-10-10 1991-10-10 Computing systems and methods

Publications (1)

Publication Number Publication Date
DE4233837A1 true DE4233837A1 (de) 1993-04-15

Family

ID=10702723

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4233837A Withdrawn DE4233837A1 (de) 1991-10-10 1992-10-08 Rechenanlage

Country Status (5)

Country Link
US (1) US5581739A (de)
JP (1) JPH05314083A (de)
DE (1) DE4233837A1 (de)
FR (1) FR2682504A1 (de)
GB (2) GB9121540D0 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859962A (en) * 1995-12-21 1999-01-12 Ncr Corporation Automated verification of digital design
DE19653429C2 (de) * 1996-12-20 1998-10-15 Siemens Ag Verfahren zur Überprüfung der Funktionsfähigkeit einer Recheneinheit
EP1306684B1 (de) 1997-04-25 2005-03-30 Matsushita Electric Industrial Co., Ltd. Verfahren zur Prüfsequenzgenerierung
GB2366012B (en) * 2000-08-14 2002-08-14 Sun Microsystems Inc A computer system
US8010846B1 (en) * 2008-04-30 2011-08-30 Honeywell International Inc. Scalable self-checking processing platform including processors executing both coupled and uncoupled applications within a frame
US8365024B2 (en) * 2010-02-26 2013-01-29 Honeywell International Inc. High integrity data bus fault detection using multiple signal components
US8054208B2 (en) 2010-03-30 2011-11-08 Honeywell International Inc. Re-configurable multipurpose analog interface
US8782299B2 (en) 2010-04-27 2014-07-15 Honeywell International Inc. Re-configurable multi-purpose digital interface
US8390324B2 (en) 2010-09-20 2013-03-05 Honeywell International Inc. Universal functionality module
FR3093829B1 (fr) 2019-03-12 2021-02-26 Safran Aircraft Engines Localisation de panne dans un système d’acquisition redondant

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4306286A (en) * 1979-06-29 1981-12-15 International Business Machines Corporation Logic simulation machine
FR2461261A1 (fr) * 1979-07-11 1981-01-30 Cit Alcatel Dispositif de controle de bon fonctionnement d'un equipement electronique
US4370706A (en) * 1980-09-26 1983-01-25 The Bendix Corporation Controller for a dual servo system
US4423594A (en) * 1981-06-01 1984-01-03 United Technologies Corporation Adaptive self-correcting control system
EP0099114B1 (de) * 1982-07-13 1988-05-11 Nec Corporation Logischer Simulator durchführbar auf Ebenenbasis und auf logischer Blockbasis auf jeder Ebene
US4751639A (en) * 1985-06-24 1988-06-14 Ncr Corporation Virtual command rollback in a fault tolerant data processing system
US4703481A (en) * 1985-08-16 1987-10-27 Hewlett-Packard Company Method and apparatus for fault recovery within a computing system
JPS6272248A (ja) * 1985-09-25 1987-04-02 Hitachi Ltd デ−タ伝送システムの現用予備切替方法
US4763289A (en) * 1985-12-31 1988-08-09 International Business Machines Corporation Method for the modeling and fault simulation of complementary metal oxide semiconductor circuits
US4967347A (en) * 1986-04-03 1990-10-30 Bh-F (Triplex) Inc. Multiple-redundant fault detection system and related method for its use
DE3642851A1 (de) * 1986-12-16 1988-06-30 Bbc Brown Boveri & Cie Fehlertolerantes rechensystem und verfahren zum erkennen, lokalisieren und eliminieren von fehlerhaften einheiten in einem solchen system

Also Published As

Publication number Publication date
JPH05314083A (ja) 1993-11-26
GB9219956D0 (en) 1992-11-04
GB2260430B (en) 1995-04-12
GB2260430A (en) 1993-04-14
FR2682504A1 (fr) 1993-04-16
US5581739A (en) 1996-12-03
GB9121540D0 (en) 1991-11-27

Similar Documents

Publication Publication Date Title
DE3206891C2 (de)
DE3629178C2 (de)
DE2735397C2 (de) Überwachungseinrichtung für eine programmgesteuerte Maschine
DE2515297A1 (de) Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator
DE3923432C2 (de) Einrichtung zur Erzeugung von Meßsignalen mit einer Mehrzahl von Sensoren
EP0186724B1 (de) Prüf- und Diagnoseeinrichtung für Digitalrechner
DE1524239B2 (de) Schaltungsanordnung zur aufrechterhaltung eines fehler freien betriebes bei einer rechenanlage mit mindestens zwei parallel arbeitenden rechengeraeten
DE3702408C2 (de)
DE3201768C2 (de)
DE3903835A1 (de) Verfahren und vorrichtung zum pruefen von mikroprozessorsystemen unter verwendung von speicheremulationstechniken
DE1524175A1 (de) Pruefeinrichtung in elektronischen Datenverarbeitungsanlagen
DE3600092C2 (de)
DE4233837A1 (de) Rechenanlage
DE2641700C2 (de)
DE3605431A1 (de) Pruefbares elektronisches geraet und verfahren zum pruefen eines solchen geraets
DE4302908A1 (de) Verfahren zur Ermittlung kritischer Fehler insbesondere für ein Kommunikationssystem und eine nach diesem Verfahren arbeitende Schaltungsanordnung
DE3238692A1 (de) Datenuebertragungssystem
EP0248269A2 (de) Verfahren zur Simulation eines Unterbrechungsfehlers in einer Logikschaltung mit Feldeffekttransistoren und Anordnungen zur Durchführung des Verfahrens
WO2016184583A1 (de) Verfahren und vorrichtung zum liefern einer prüfantwort
DE2846890A1 (de) Verfahren zur ueberpruefung von speichern mit wahlfreiem zugriff
DE102020114742B4 (de) Verfahren und Rechnersystem zum Mitlesen von Nachrichtenpaketen
DE3531901C2 (de)
DE102018201710A1 (de) Verfahren und Vorrichtung zum Überprüfen einer Funktion eines neuronalen Netzes
DE2415307B2 (de) Einrichtung zur synchronisation der ausgaben von mehreren rechnern
DE2505475C3 (de) Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee