DE4233837A1 - Rechenanlage - Google Patents
RechenanlageInfo
- 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
Links
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/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- 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/1629—Error detection by comparing the output of redundant processing systems
- G06F11/165—Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
-
- 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/183—Error 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/184—Error 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
-
- 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/20—Error 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/202—Error 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/2023—Failover techniques
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)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
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.
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)
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 |
EP0874315B1 (de) | 1997-04-25 | 2004-03-31 | Matsushita Electric Industrial Co., Ltd. | Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung |
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)
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 |
-
1991
- 1991-10-10 GB GB919121540A patent/GB9121540D0/en active Pending
-
1992
- 1992-09-21 GB GB9219956A patent/GB2260430B/en not_active Expired - Fee Related
- 1992-10-05 FR FR9212115A patent/FR2682504A1/fr not_active Withdrawn
- 1992-10-05 JP JP4266177A patent/JPH05314083A/ja active Pending
- 1992-10-08 DE DE4233837A patent/DE4233837A1/de not_active Withdrawn
-
1994
- 1994-07-26 US US08/280,511 patent/US5581739A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
FR2682504A1 (fr) | 1993-04-16 |
JPH05314083A (ja) | 1993-11-26 |
US5581739A (en) | 1996-12-03 |
GB2260430B (en) | 1995-04-12 |
GB9219956D0 (en) | 1992-11-04 |
GB2260430A (en) | 1993-04-14 |
GB9121540D0 (en) | 1991-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3206891C2 (de) | ||
DE3923432C2 (de) | Einrichtung zur Erzeugung von Meßsignalen mit einer Mehrzahl von Sensoren | |
DE3629178C2 (de) | ||
DE2735397C2 (de) | Überwachungseinrichtung für eine programmgesteuerte Maschine | |
DE2515297A1 (de) | Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator | |
DE3786381T2 (de) | Prüfverfahren und -gerät für ein verteiltes Verarbeitungssystem. | |
EP0186724B1 (de) | Prüf- und Diagnoseeinrichtung für Digitalrechner | |
DE3341766C2 (de) | Verfahren und Vorrichtung zur Identifikation von Daten | |
DE3685634T2 (de) | Verteiltes datenverarbeitungssystem und -verfahren. | |
DE1524239B2 (de) | Schaltungsanordnung zur aufrechterhaltung eines fehler freien betriebes bei einer rechenanlage mit mindestens zwei parallel arbeitenden rechengeraeten | |
DE3702408C2 (de) | ||
DE3201768C2 (de) | ||
DE1524175A1 (de) | Pruefeinrichtung in elektronischen Datenverarbeitungsanlagen | |
DE2442847A1 (de) | Test- und diagnoseanordnung fuer eine datenverarbeitungseinheit | |
DE4233837A1 (de) | Rechenanlage | |
DE2641700C2 (de) | ||
DE2725077A1 (de) | Ueberwachungssystem fuer eine datenverarbeitungsanlage | |
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 | |
EP3298503A1 (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 | |
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 |