DE69425542T2 - Logischer Schaltkreis mit Fehlernachweisfunktion, Verfahren zum Verwalten von Betriebsmitteln und fehlertolerantes System zu seiner Anwendung - Google Patents
Logischer Schaltkreis mit Fehlernachweisfunktion, Verfahren zum Verwalten von Betriebsmitteln und fehlertolerantes System zu seiner AnwendungInfo
- Publication number
- DE69425542T2 DE69425542T2 DE69425542T DE69425542T DE69425542T2 DE 69425542 T2 DE69425542 T2 DE 69425542T2 DE 69425542 T DE69425542 T DE 69425542T DE 69425542 T DE69425542 T DE 69425542T DE 69425542 T2 DE69425542 T2 DE 69425542T2
- Authority
- DE
- Germany
- Prior art keywords
- output signals
- circuit
- signals
- error
- output
- 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 - Lifetime
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title abstract description 67
- 230000002596 correlated effect Effects 0.000 claims description 7
- 230000003111 delayed effect Effects 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 description 106
- 230000006870 function Effects 0.000 description 89
- 238000010586 diagram Methods 0.000 description 50
- 238000011156 evaluation Methods 0.000 description 46
- 238000013461 design Methods 0.000 description 30
- 239000004065 semiconductor Substances 0.000 description 28
- 238000012360 testing method Methods 0.000 description 24
- 230000006854 communication Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 230000008901 benefit Effects 0.000 description 15
- 238000007726 management method Methods 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004804 winding Methods 0.000 description 12
- 238000011161 development Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000005314 correlation function Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 239000004020 conductor Substances 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009413 insulation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000010408 film Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0763—Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/085—Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
-
- 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/1608—Error detection by comparing the output signals of redundant hardware
-
- 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/1695—Error detection or correction of the data by redundancy in hardware which are operating with time diversity
-
- 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
- G06F11/188—Voting techniques where exact match is not required
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2215—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
-
- 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/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Hardware Redundancy (AREA)
- Semiconductor Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
- Die Erfindung betrifft eine Selbstprüfschaltung und ein Verfahren zu deren Konfiguration. Genauer gesagt, betrifft sie eine Selbstprüfschaltung, die für hoch-zuverlässige Systemkonfiguration von Nutzen ist.
- Auch betrifft die Erfindung ein Verfahren zum Verwalten eines redundanten Betriebsmittels, und spezieller betrifft sie die effektive Nutzung des redundanten Betriebsmittels in einem fehlertoleranten Computersystem.
- Steuerungssysteme für Flugzeuge, Züge, Kraftfahrzeuge und ähnliche Transporteinrichtungen werden zunehmend mit Elektronik versehen, da fortschrittliche Steuerungsfunktionen dazu erforderlich sind, den Energie(Kraftstoff)wirkungsgrad, das Betriebsvermögen, den Komfort und die Geschwindigkeit zu erhöhen. Um diese Transporteinrichtungen sicher zu betreiben, muss jedes der Steuerungssysteme zwangsweise hohe Zuverlässigkeit und Ausfallsicherheitsfunktion aufweisen, damit beim Auftreten eines Fehlers kein gefährliches Ausgangssignal hervorgerufen wird.
- Um die Zuverlässigkeit und Ausfallsicherheitsfunktion des Steuersystems zu gewährleisten, ist es wichtig, dass dasselbe über die Fähigkeit verfügt, das Auftreten eines Fehlers zu erkennen, d. h., dass es über Selbstprüffähigkeit verfügt. Um die Selbstprüffähigkeit zu erhalten, wird im Allgemeinen ein sogenannter redundanter Code verwendet, der über einen Hammingabstand von mehr als 2 zwischen den Codes verfügt, wie der M-aus-N-Code und die zweigleisige Logik (1-aus-2- Code), die als eine Art des M-aus-N-Codes angesehen werden kann. Ein redundanter Code kann einen Fehler perfekt erkennen, solange es sich um einen Einzelfehler handelt. Jedoch kann er mehrere Fehler nicht immer erkennen. Wenn die Selbstprüfschaltung als LSI realisiert ist, kann sich ein Fehler über den gesamten Chip ausbreiten. Dies wäre ein Effekt entsprechend dem Auftreten mehrerer Fehler. Wenn angenommen wird, dass die Fehler zufällig sind, liefert die folgende Gleichung 1 die Wahrscheinlichkeit η, dass falsche Ausgangssignale wegen eines Fehlers mit Codepunkten in einem speziellen Ausgangscoderaum O übereinstimmen:
- η = No/Nu (1)
- wobei No die Anzahl der Codepunkte im Ausgangscoderaum O ist und Nu die Anzahl der Codepunkte ist. Daher besteht ein Problem dahingehend, wie Nu zu No erhöht werden kann, um die Erkennungsrate zu erhöhen.
- Es existieren die folgenden zwei Verfahren zum Realisieren einer Selbstprüfschaltung mit derartigen redundanten Codes, wie sie oben beschrieben sind:
- (1) Ein Verfahren zum Erzeugen der gesamten Schaltung für redundante Codes.
- (2) Ein Verfahren zum Vervielfältigen von Funktionsblöcken und unter Verwendung einer Selbstprüf-Vergleichsschaltung aus redundanten Codes zum Vergleichen von Ausgangssignalen der Funktionsblöcke.
- Beim obigen Verfahren (1) bestehen Probleme dahingehend, dass die Schaltung neu konzipiert werden muss, um eine Selbstprüfung auszuführen, und dass es schwierig ist, ihre Betriebsgeschwindigkeit zu optimieren.
- Andererseits besteht beim Verfahren (2) der Vorteil, dass ein Prozessor, ein Speicher und andere Bauteile wie üblich für die Funktionsblöcke verwendet werden können, da nur die Vergleichsschaltung mit redundanter Logik neu konzipiert werden muss. Dies kann die Entwicklungskosten stark verringern. Dadurch kann auch leicht die Betriebsgeschwindigkeit hoch gemacht werden, da fortschrittliche Halbleitertechniken verwendet werden können. Der Selbstprüfumfang des Verfahrens (2) hängt stark von dem des Komparators ab.
- Demgemäß wurde es zum Realisieren des Selbstprüfkomparators vorgeschlagen, redundante Codes wie den M-aus-N-Code und die zweigleisige Logik (den 1-aus-2-Code) für die in der Vergleichsschaltung verwendete Logik selbst zu verwenden. Siehe z. B. Yoshihiro Toma in "Theory of Fault Tolerant System", Association of Electronics, Information and Communications, 1990. Um einen Selbstprüfkomparator zu realisieren, verbanden sie die in Fig. 2.5 auf Seite 31 dargestellte RCCO(Reduction Circuit for Checker Output = Analyseschaltung für das Ausgangssignal der Prüfeinrichtung)-Schaltung mit einer Warmstruktur, wie sie in Fig. 2.6 auf Seite 32 dargestellt ist.
- Die Wahrscheinlichkeit, dass in den zu vergleichenden Schaltungen ein Fehler auftritt, ist gering. Daher kommt es selten vor, dass die zu vergleichenden Signale nicht übereinstimmen. Dies bedeutet, dass es selten vorkommt, dass ein bei Erkennung der Ungleichheit zu aktivierenden Pfad aktiviert wird. Wenn ein derartiger Fehlermodus wie eine Fixierung dahingehend auftritt, dass das Ausgangssignal des Pfads immer 'Gleichheit' bedeutet, ist zu befürchten, dass der Fehler latent wird. Daher verwendet die oben beschriebene Vergleichsschaltung nicht nur den redundanten Code sondern auch eine Frequenzlogik, ein Verfahren mit abwechselnder Prüfung oder eine ähnliche dynamische Logik für abwechselnde Signalpegel als Signal, das anzeigt, dass die Schaltung normal arbeitet (nachfolgend als Signatursignal bezeichnet), anstatt dass die Binärpegellogik mit null und eins verwendet wird. Als Beispiel kann ein Verfahren verwendet werden, bei dem eine Permutationseinrichtung zum Einspeisen eines simulierten Fehlers für einen Testvorgang in den RCCO, wie in den Fig. 2.15 und 5.16 auf Seite 42 in der oben genannten Literaturstelle "Theory of Fault Tolerant System" dargestellt, umpositioniert wird. Durch dieses Verfahren wird ein Ausgangswechselsignal erhalten, wenn der Betrieb normal ist. Dagegen wird das Ausgangswechselsignal nicht erhalten, wenn durch eine Änderung eines Schwellenwerts wegen Änderungen in einem Halbleiterbauteil ein Fehler hervorgerufen ist oder wenn ein Fehler auf Änderungen einer Gleichspannungseigenschaft eines Bauteils beruht, wie ein Fehler mit Blockierung auf den Wert null oder eins. Bei diesem Verfahren wird auch periodisch ein simulierter Fehler eingespeist, um den Betrieb der Fehlererkennungsfunktion immer klarzustellen. Diese Vorteile können dafür sorgen, dass die Selbstprüffunktion der Schaltung in hohem Ausmaß verbessert ist.
- Beim oben beschriebenen Stand der Technik besteht der Nachteil, dass es wahrscheinlich ist, dass ein nachteiliger Effekt aus Übersprechen oder ein Kurzschluss zwischen Leiterbahnnetzen im Halbleiterbauteil auftritt. Wenn ein Fehler des Halbleiterbauteils zu übersprechen zwischen den Leiterbahnennetzen oder einem Kurzschluss zwischen denselben führt, oder wenn eine Wanderung von Leiterbahnmaterial oder schlechte Isolierung zwischen Isolierschichten einen Kurzschluss verursacht, kann in das Leiterbahnnetz, das selbst kein Signatursignal führen sollte, ein Signatursignal eines anderen Leiterbahnnetzes in nachteiliger Weise induziert werden (nachfolgend als unechte Signatur bezeichnet). Im Allgemeinen verfügt die Ausfallsicherheitsschaltung über ein Signatursignal, um anzuzeigen, dass die Schaltung normal arbeitet. Die Schaltung kann erkennen, dass sie normal arbeitet, obwohl wegen des Übersprechens oder eines Kurzschlusses eine unechte Signatur vorhanden ist. Es ist zu befürchten, dass die Ausfallsicherheitsfunktion der Schaltung verlorengeht.
- Um ein derartiges Auftreten von Übersprechen und Kurzschlüssen zu verhindern, verfügt der Stand der Technik über eine spezielle Designbeschränkung hinsichtlich der Leiterbahn- Zwischenräume. Jedoch müssen bei diesem Verfahren Transistor und Leiterbahnen auf dem Halbleitersubstrat auf Grundlage der Beschränkungen hergestellt werden, die ziemlich verschiedenen von denen bei üblichen Halbleitern sind. Es kann über keine der zweckdienlichen Funktionen beim Stand der Technik sowie automatische Designwerkzeuge verfügen. Die meiste Designarbeit muss von Hand ausgeführt werden.
- Ferner spielen Computer und Transportsteuerungen zentrale Rollen in der Finanz- und ähnlichen sozialbezogenen Schlüsselindustrien und Teilen in Zusammenhang mit dem menschlichen Leben wie beim Steuern von Raumfahrzeugen und Flugzeugen in den letzten Jahren. Ein Systemversagen oder fehlerhafte Systemfunktion wegen Fehlern in den Computern weitet sich in der Gesellschaft zu fatalen Effekten aus. Bei einem derartigen Trend besteht zunehmender Bedarf an hoher Zuverlässigkeit der Computer.
- Um Computer zuverlässig zu machen, werden allgemein Redundanzmaßnahmen dadurch verwendet, dass vorab zusätzliche Computer und einen Computeraufbau der Einheiten bereitgestellt werden.
- Andererseits führt die redundante Hardware, um Computer hoch zuverlässig zu machen, zu einem großen Anstieg der Kosten, der Abmessungen, des Gewichts und des Energieverbrauchs. Um den Investitionseffekt oder die Kostenfunktion oder ein fehlertolerantes Computersystem zu verbessern, ist es erforderlich, die redundanten Hardware-Betriebsmittel in Bezug auf die Zuverlässigkeit und die Verarbeitungsfunktion wirkungsvoll zu verstärken.
- Es existiert ein Verfahren redundanter Betriebsmittelverwaltung zum Nutzen der redundanten Hardware-Betriebsmittel. Dieses ist von Jean-Charles Fabre et al. in "Saturation: reduced idleness for improved fault-tolerance," Proc. FTCS-18 (The 18th Int'1 Symp. on Fault-tolerant Computing), S. 200- 205, 1988 vorgeschlagen.
- Der oben genannte Stand der Technik von Jean-Charles Fabre et al. verfügt über eine MNC (Minimalanzahl von Kopien), oder redundante Kopien, die vorab bereitgestellt werden, um gleichzeitig für jeden Rechenauftrag ausgeführt zu werden. Wenn der Anzahl der Knoten im Leerlauf (der redundanten Computermodule) zum Zeitpunkt des Eintreffens einer Anforderung zum Ausführen eines Rechenauftrags größer als die MNC ist, beginnen die Knoten im Leerlauf mit der Ausführung des Rechenauftrags. Wenn die Anzahl der Knoten im Leerlauf kleiner als die MNC ist, wartet das System, bis die aktuelle Ausführung der Rechenaufgaben beendet ist, um über die erforderliche Anzahl von Knoten im Leerlauf zu verfügen.
- Der oben genannte Stand der Technik gemäß Jean-Charles Fabre et al. ist ein nützliches Verfahren zur Verwaltung redundanter Betriebsmittel für einen OLTP (Online-Transaktionsprozessor), bei dem häufig Anfragen zum Starten eines Rechenauftrags existieren.
- Jedoch fehlt es dem Stand der Technik an ausreichender Berücksichtigung des Auftretens eines Fehlers und weiter des Auftretens mehrerer Fehlers im Hinblick darauf, einen Echtzeit-Steuerungscomputer hoch zuverlässig zu machen. Dies deswegen, weil der vorgeschlagene Stand der Technik auf der Annahme beruht, dass die Ausführungszeit für einen Rechenauftrag ausreichend kürzer als die MTBF (mean time between failures = mittlerer Ausfallabstand) in Bezug auf die Betriebseigenschaften des OLTP ist, bei dem eine Transaktion innerhalb kurzer Zeit endet. Jedoch werden bei einem Echtzeit-Steuerungscomputer Rechenaufträge häufig für eine lange Zeitperiode ausgeführt. Der Computer in einem Flugzeug, einem Raumfahrzeug usw. muss z. B. nicht nur während der Missionszeit normal arbeiten, sondern er muss sogar das Anhalten der Mission unterstützen. Aus diesem Grund kann die Rechenauftrag-Ausführungszeit im Vergleich zur MTBF nicht ignoriert werden. Es muss das Auftreten von Fehlern und weiteres Auftreten mehrerer Fehler berücksichtigt werden.
- Beim oben beschriebenen Stand der Technik wird die Anzahl der zugeordneten Computermodule abhängig vom Startzeitpunkt der Ausführung eines Rechenauftrags verwaltet. Daher werden selbst dann keine Computermodule neu hinzugefügt, wenn die den Rechenauftrag ausführenden Computermodule wegen des Auftretens eines Fehlers während der Ausführung des Rechenauftrags nicht mehr funktionieren. Dies bedeutet, dass dann, wenn ein Fehler während der Ausführung eines Rechenauftrags auftritt, die Ausführung desselben fortgesetzt wird, während der Redundanzgrad abnimmt, d. h. die Anzahl der Computermodule, die den Rechenauftrag redundant ausführen. Es geht die Zuverlässigkeit des Rechenauftrags verloren. Wenn einer von zwei Computermodulen, die einen Rechenauftrag redundant ausführen, nicht mehr funktioniert, z. B. weil ein zweiter Fehler dauernd auftreten sollte, wird die Ausführung des Rechenauftrags angehalten.
- Ein erster Vorteil der Erfindung besteht insbesondere in der Tatsache, dass eine Logikschaltung mit Fehlernachweisfunktion, die über Funktionsblöcke verfügt, die eine Anzahl von Signalen, die mindestens doppelt vorhanden sind, ausgeben, die Ausgangssignale der Funktionsblöcke vergleicht und einen Fehler auf Grundlage der Vergleichsergebnisse erkennt, mit einer Synthesizervorrichtung, die vorhanden ist, um inhärente Wellenformen oder Signalverläufe, die den jeweiligen Ausgangssignalen der Funktionsblöcke vorab zugeordnet wurden, den Ausgangssignalen eines der Funktionsblöcke zu überlagern, und mit einer Vergleichvorrichtung zum Vergleichen eines Ausgangssignals der Synthesizervorrichtung mit dem Ausgangssignal des anderen Funktionsblocks, um den Fehler zu erkennen.
- Zum Beispiel wird hinsichtlich eines Halbleiterbauteils jedem von Leiterbahnnetzen, die den oben genannten Ausgangssignalen entsprechen, ein inhärenter Signalverlauf als Signatur zugeordnet. Die Signatur sollte nur dann als echt angesehen werden, wenn der Signalverlauf mit demjenigen übereinstimmt, der dem Leiterbahnnetz inhärent ist.
- Um eine authentische Signatur von einer unechten Signatur unterscheiden zu können, ist es wünschenswert, dass die den Leiterbahnnetzen inhärenten Signaturen nicht miteinander korrelieren. Es ist gut bekannt, dass orthogonale Funktionen nicht miteinanander korrelieren. Funktionen fi(x) und fj(x) sind zueinander orthogonal, wenn Folgendes gilt:
- Die Analyse kleiner Wellen, die einen Signalverlauf in der Zeit-Frequenz-Domäne analysieren kann, wird in jüngerer Zeit anstelle der herkömmlichen Fourieranalyse beachtet. Die kleine Originalwelle ist ebenfalls eine orthogonale Funktion. Eine Dreiecksfunktion und eine kleine Welle sind analoge Funktionen. Um diese in einer digitalen Schaltung zu verwenden, sollten sie binarisiert werden.
- Gemäß dem ersten Merkmal der Erfindung wird, für ein Halbleiterbauteil als Beispiel, der inhärente Signalverlauf jedem der Leiterbahnnetze als Signatur zugeordnet. Die Signatur sollte nur dann als authentisch angesehen werden, wenn der Signalverlauf mit demjenigen übereinstimmt, der dem Leiterbahnnetz inhärent ist. Wenn ein Fehler des Halbleiterbauteils zu Übersprechen zwischen den Leiterbahnnetzen führt oder wenn Wanderung eines Leiterbahnmaterials oder schlechte Isolation zwischen Isolierschichten einen Kurzschluss hervorruft, kann das Leiterbahnnetz ein unechtes Signatursignal eines anderen Leiterbahnnetzes führen, das in nachteiliger Weise in es induziert wird. Sollte dies auftreten, kann die unechte Signatur von der authentischen Signatur unterschieden werden, da die unechte Signatur nicht mit einem dem Leiterbahnnetz inhärenten Signalverlauf übereinstimmt. Dies bedeutet, dass die Erfindung keine spezielle Leiterbahnbeschränkung benötigt, um Übersprechen oder Kurzschlüsse zu verhindern, wie dies beim Stand der Technik unabdingbar war, um Fehler vollständig zu erkennen. Außerdem sorgt die Erfindung für Ausfallsicherheitsfunktion.
- Die Wirksamkeit der herkömmlichen Technik beruht auf der Annahme, dass ein in einem der genannten zumindest doppelt ausgeführten Funktionsblöcke erkannter Fehler unabhängig vom anderen Funktionsblock ist. Anders gesagt, wird vorausgesetzt, dass nie derselbe Fehler gleichzeitig in beiden der zumindest doppelt vorhandenen Funktionsblöcke auftritt. Wenn derselbe Fehler gleichzeitig in beiden der doppelt vorhandenen Funktionsblöcke auftritt, stimmt das falsche Ausgangssignal von beiden doppelt vorhandenen Funktionsblöcken überein, und es wird unmöglich, den Fehler durch Vergleich derselben zu erkennen. Dies wird dann zu einem großen Problem, wenn doppelt vorhandene Funktionsblöcke im selben Halbleiterchip angeordnet sind. Derartige Probleme können dadurch überwunden werden, dass die folgenden Kontrollverfahren gemäß der Erfindung bereitgestellt werden.
- Die folgende Maßnahme, die als Diversity oder Vielfalt bezeichnet wird, kann dazu verwendet werden, um die Unabhängigkeit von Fehlern sicherzustellen, die in einem der zumindest doppelt vorhandenen Funktionsblöcke auftreten.
- Die Designvielfalt ist eine effektive Maßnahme zum Beseitigen des Einflusses von durch Designvorgaben verursachten Fehlern. Insbesondere ist ein Programmieren von Software in N Versionen gut bekannt. Programmieren in N Versionen ist ein Verfahren zum Ausführen von N Versionen eines Programms, die gleichzeitig mit denselben Spezifikationen entwickelt werden. Auch im Fall von Hardware kann derartige Designvielfalt dadurch realisiert werden, dass Schaltungen mit denselben Spezifikationen auf N Arten entwickelt werden. Gemäß diesem Verfahren fallen jedoch Kosten und Prozesse mit einer Anzahl an, die das N-fache derjenigen beim normalen Verfahren hinsichtlich des Designs und der Entwicklung sind. So ist dies nicht allzu effektiv.
- Gemäß der Erfindung sind eine Logikschaltung und ein entsprechendes Verfahren geschaffen, wie sie im Einzelnen in den beigefügten unabhängigen Ansprüchen 1 bzw. 8 definiert sind.
- Die Hauptströmung hinsichtlich des Designs moderner Hardware besteht im Verwenden einer HDL (Hardware Description Language) zum Erzeugen einer Datei (logische Beschreibung), die die Funktionen und Spezifikationen der betrachteten Logikschaltungen beschreibt, sowie eine andere Datei (Logiknetzliste) zu erzeugen, die die Verbindungen der Logikschaltun gen unter Verwendung eines Logiksynthese-Werkzeugs auf Grundlage der HDL beschreibt. Außerdem wird die genannte Logiknetzliste-Datei in eine (körperliche Netzliste) Datei umgesetzt, die die Verdrahtung und das Layout von Transistoren auf einem tatsächlichen Halbleiterchip unter Verwendung eines Werkzeugs für automatische Verdrahtung beschreibt, um die erforderlichen Masken herzustellen und Halbleiterelemente zu fertigen.
- In diesem Fall können Designeinschränkungen wie eine Verzögerungszeit, die Belegungsfläche usw., und auch der betrachtete Algorithmus zur logischen Synthese und zur automatischen Verdrahtung geändert werden, um für die Logiknetzliste und die körperliche Netzliste, die das Ziel bilden, Vielfalt zu erreichen.
- Die genannten doppelt vorhandenen Funktionsblöcke können so im betrachteten Halbleiterchip auf Grundlage der logischen Beschreibung der genannten Logikblöcke dadurch realisiert werden, dass unter den genannten vielfältigen, mehreren körperlichen Netzlisten zwei physikalische Netzlisten ausgewählt werden.
- Um zwei physikalische Netzlisten unter vielen auszuwählen, ist es nur erforderlich, eine Korrelationsfunktion zu definieren, die anzeigt, wie stark diese körperlichen Netzlisten einander ähneln, und eine Kombination der körperlichen Netzlisten so auszuwählen, dass die Korrelationsfunktion minimiert ist. In diesem Fall müssen Fehlercharakteristiken des Halbleiters in der Korrelationsfunktion berücksichtigt werden. Im Allgemeinen ist eine Leiterbahn-Schnittstelle ein Schwachpunkt in Halbleitern. An einer Leiterbahn-Schnittstelle sind zwei Leiterbahnen nur durch ein Dünnfilmoxid getrennt, so dass die Tendenz besteht, dass Kurzschlüsse zwischen Leiterbahnen und Kurzschlusseffekte wie Übersprechen usw. auftreten. Ferner wird, da an einer derartiger Leiterbahn-Schnittstelle eine Leiterbahn eine andere überquert, eine Leiterbahn, die eine Niveaudifferenz durchläuft, häufig durch Belastungen durchgerissen. Anders gesagt, beeinflusst der Zustand an der Schnittstelle zwischen Leiterbahnen die Fehlereigenschaften von Halbleitern. So kann eine Korrelationsfunktion, in der die Fehlereigenschaften eines Halbleiters berücksichtigt sind, wie folgt definiert werden: [Formel 1]
- Jedoch muss φijk anzeigen, ob zwischen Leiterbahnnetzen eine Schnittstelle vorhanden ist, und dieser Wert muss wie folgt definiert sein: [Formel 2]
- Es kann verhindert werden; dass ein Fehler, wie er in einer von zumindest doppelt vorhandenen Funktionsblöcken wegen elektrischen Störsignalen usw. auftritt, den anderen beeinflusst, und zwar selbst dann, wenn sie auf dieselbe Weise konstruiert sind, wenn die Zeitpunkte ihres Betriebs individuell verzögert werden. Um eine derartige zeitliche Vielfalt zu realisieren, wird das Takt- oder Eingangssignal, das den Zeitpunkt des Betriebs eines doppelt vorhandenen Funktionsblocks festlegt mittels einer Verzögerungsschaltung nur in einen der doppelt vorhandenen Funktionsblöcke eingegeben.
- Wenn die Ausgangssignale dieser Funktionsblöcke verglichen werden, kann nur das Signal vom anderen Funktionsblock durch die Verzögerungsschaltung ausgegeben werden, um es mit dem des ersteren Funktionsblocks in der Vergleichsschaltung zu vergleichen.
- Wenn einer der mindestens zwei doppelt vorhandenen Funktionsblöcken vom anderen getrennt wird, wird es möglich, zu verhindern, dass vorübergehende Fehler einander beeinflussen, die in einem dieser Funktionsblöcke wegen elektrischer Störsignale, kosmischen Strahlen, Strahlung usw. und auch wegen einer Beschädigung des betrachteten Halbleiterchips auftreten. Wenn ein Funktionsblock in einem Chip doppelt ausgebildet wird und jeder für sich selbst überprüft wird, sollten die doppelt vorhandenen Funktionsblöcke in derselben Richtung und mit demselben Muster angeordnet sein. Dadurch wird die Wirksamkeit der räumlichen Vielfalt maximiert. Die entsprechenden Abschnitte der doppelt vorhandenen Funktionsblöcke können daher denselben Abstand aufweisen. Im Ergebnis kann verhindert werden, dass die genannten entsprechenden Abschnitten der doppelt vorhandenen Funktionsblöcke übermäßig nahe beinander liegen, wodurch die Wirksamkeit der räumlichen Vielfalt beeinträchtigt wäre.
- Gemäß der Erfindung können die Designvielfalt, die zeitliche Vielfalt und die räumliche Vielfalt die Unabhängigkeit von Fehlern garantieren, die in einem der mindestens doppelt vorhandenen Funktionsblöcke vorhanden sind, und zwar durch Vergleichen der Ausgangssignale der beiden Funktionsblöcke. Dadurch ist der Punkt beseitigt, dass Fehler desselben Typs vom selben Zeitpunkt mit Korrelation in beiden doppelt vorhandenen Funktionsblöcken auftreten. Es wird auch möglich, Fehler durch Vergleichen der Ausgangssignale dieser Funk tionsblöcke zu erkennen.
- Ein zweiter Vorteil der Erfindung besteht insbesondere in der Tatsache, dass ein verteiltes, fehlertolerantes System mit mehreren Computermodulen, die so zugeordnet sind, dass sie mehrere Rechenaufträge ausführen, eine Auswähl- und Ausführungsvorrichtung aufweist, die dann, wenn in einem der Computermodule des Systems ein Fehler auftritt, mindestens einen der Computermodule auswählt, dem andere Rechenaufträge zugeordnet sind als der Rechenauftrag im ausgefallenen Computermodul, die dem ausgewählten Computermodul den Rechenauftrag zuweist, den das ausgefallene Computermodul ausgeführt hat und die dafür sorgt, dass das ausgewählte Computermodul den Rechenauftrag ausführt.
- Jedes der Computermodule der Erfindung arbeitet wie folgt: (1) Das Computermodul sendet während der Verarbeitung des Rechenauftrags seine Fehlerauftrittsinformation (Fehlernachweisergebnisse) und Prozessergebnisse im Rundruf mit geeigneter zeitlicher Lage (Prüfzeitpunkte) an die anderen Computermodule.
- (2) Die Computermodule berechnen ihre jeweiligen Bewertungsfunktionen Fij, wobei i die Prozessornummer und j die Rechenauftragsnummer ist. Die Bewertungsfunktion Fij kann als Toleranz für die Verantwortung gesehen werden, die das Computermodul für den Rechenauftrag hat. Sie beruht auf der Gleichheit oder Ungleichheit der Fehlerauftrittsinformation (Fehlernachweisergebnisse) und der Prozessergebnisse, wie sie von den anderen Computermodulen übertragen werden. (3) Jedes der Computermodule legt einen Rechenauftrag j zum Minimieren der Bewertungsfunktion Fij als auszuführenden Prozess fest, bevor der in Bearbeitung befindliche Rechenauftrag auf den auszuführenden Prozess geschaltet wird. Die Bewertungsfunktion Fij repräsentiert die Toleranz für die Zuverlässigkeit des Rechenauftrags. Daher sollte Fij so bestimmt werden, dass der Wert niedrig ist, wenn die Bedeutung des Rechenauftrags hoch ist, Fij niedrig ist, wenn die Verantwortlichkeit des Computermoduls für den Rechenauftrag hoch ist, und Fij hoch ist, wenn die Zuverlässigkeit des Rechenauftrags hoch ist.
- Ein Beispiel für eine Bewertungsfunktion Fij, die den oben genannten Bedingungen genügt, ist:
- Fij = Lrj - Lthij oder
- Fij = Lrj / Lthij
- wobei Lthij der Schwellenwert des Zuverlässigkeitsniveaus des Rechenauftrags j im Computermodul i ist, Lrj das Zuverlässigkeitsniveau des Rechenauftrags j ist, i eine individuelle Computermodulnummer ist und j die Rechenauftragsnummer ist.
- Ein anderes Beispiel für eine Bewertungsfunktion Fij, die den oben genannten Bedingungen genügt, ist:
- Fij = log{(1 - Lthij)/Pej}
- wobei Pej die Wahrscheinlichkeit für falsche Berechnungsergebnisse beim Rechenauftrag j ist.
- Es sei darauf hingewiesen, dass Lthij, d. h. der Schwellenwert des Zuverlässigkeitsniveaus des Rechenauftrags j abhängig von der Bedeutung des Rechenauftrags verschieden ist. Der Wert wird auf einen hohen Wert eingestellt, wenn der Rechenauftrag hohe Bedeutung oder hohe Zuverlässigkeit aufweisen muss.
- Ferner muss Lthij abhängig vom Computermodul verschieden sein. Der Wert muss hoch sein, wenn die Verantwortlichkeit des Computermoduls für den Rechenauftrag hoch ist.
- Gemäß dem zweiten Merkmal der Erfindung werden die Computermodule den Rechenaufträgen so zugeordnet, dass die Bewertungsfunktionen Fij immer im Gleichgewicht stehen können. Dadurch wird nicht der Wert Fij eines speziellen, herausragenden Rechenauftrags zu hoch oder zu niedrig gemacht. Das heißt, dass dann, wenn der spezielle Rechenauftrag wegen des Auftretens von Fehlern während des Betriebs einen niedrigen Zuverlässigkeitsgrad aufweist (nachfolgend als gefährdeter Rechenauftrag bezeichnet), wird dafür gesorgt, dass ein Computermodul, das einen anderen Rechenauftrag mit Zuverlässigkeitstoleranz ausführt, den gefährdeten Rechenauftrag ausführt. Dadurch kann verhindert werden, dass der Zuverlässigkeitsgrad alleine des speziellen Rechenauftrags absinkt. Aus diesem Grund kann das zweite Merkmal eine Gegenmaßnahme gegen das Auftreten irgendeines Fehlers während der Ausführung von Rechenaufträgen bilden, so dass die an das System verliehene Zuständigkeit erfüllt bleibt, während die Zuverlässigkeit erhalten bleibt.
- Auch kann, da Lthij auf einen hohen Wert gesetzt wird, wenn die Bedeutung eines Rechenauftrags hoch ist, Fij im Gleichgewicht mit anderen Rechenaufträgen mit höherem Lrj gebracht werden. Aus diesem Grund sollte eine große Anzahl von Computermodulen einem Rechenauftrag mit hoher Bedeutung zugeordnet werden, um einen höheren Zuverlässigkeitsgrad Lrj aufrechtzuerhalten.
- Ferner ist es erforderlich, da jedes der Computermodule selbständig über den auszuführenden Rechenauftrag entscheiden kann, dass eine zentrale Anordnung zum Zuordnen der Ausführung von Rechenaufträgen vorhanden ist, so dass keine einzelnen Fehlerpunkte auftreten. Dies bedeutet, dass ein einzelner Fehler das Gesamtsystem nicht beeinflusst, wodurch es möglich ist, die Systemzuverlässigkeit zu erhöhen.
- Die obigen und anderen Aufgaben, Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung in Zusammenhang mit den beigefügten Zeichnungen ersichtlich.
- Fig. 1 zeigt ein Schaltbild zum Veranschaulichen eines Grundausführungsbeispiels der Erfindung;
- Fig. 2 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels entsprechend Funktionsblöcken;
- Fig. 3 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der Erfindung mit einem Komparator aus einem RCCO-Baum;
- Fig. 4 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der Erfindung, bei dem zu von einem Funktionsblock B zugeführten Signalen ein orthogonaler Signalverlauf hinzugefügt wird;
- Fig. 5 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der Erfindung, bei dem Schaltungen zum Erzeugen orthogonaler Signalverläufe doppelt vorhanden sind;
- Fig. 6 zeigt ein Signaltimingdiagramm zum Veranschaulichen von Signalverläufen orthogonaler Funktionen;
- Fig. 7 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels einer Generatorschaltung für orthogonale Signalverläufe;
- Fig. 8 zeigt ein Blockdiagramm zum Veranschaulichen eines Ausführungsbeispiels einer integrierten Schaltung;
- Fig. 9 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen der Signalverläufe orthogonaler Funktionen und eines Signaturausgangssignals;
- Fig. 10 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen der Signalverläufe orthogonaler Funktionen und eines Signaturausgangssignals beim Auftreten eines Fehlers;
- Fig. 11 zeigt ein Blockdiagramm zum Veranschaulichen eines Ausführungsbeispiels einer anderen integrierten Schaltung;
- Fig. 12 zeigt ein anderes zeitbezogenes Diagramm zum Veranschaulichen von Signalverläufen orthogonaler Funktionen und eines Signaturausgangssignals beim Auftreten eines Fehlers;
- Fig. 13 zeigt ein Blockdiagramm zum Veranschaulichen eines Ausführungsbeispiels einer anderen integrierten Schaltung;
- Fig. 14 zeigt ein anderes zeitbezogenes Diagramm zum Veranschaulichen der Signalverläufe orthogonaler Funktionen und eines Signaturausgangssignals;
- Fig. 15 zeigt ein detailliertes Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der Erfindung;
- Fig. 16 zeigt ein Blockdiagramm zum Veranschaulichen eines gemäß der Erfindung aufgebauten Selbstprüfcomputers;
- Fig. 17 zeigt ein Blockdiagramm zum Veranschaulichen eines mit dem Selbstprüfcomputer aufgebauten fehlertoleranten Computers;
- Fig. 18 zeigt ein Blockdiagramm zum Veranschaulichen einer Schaltsteuerstufe;
- Fig. 19 zeigt ein Schaltbild zum Veranschaulichen eines erfindungsgemäßen selbstprüfenden Komparators;
- Fig. 20 zeigt ein Blockdiagramm zum Veranschaulichen der Konfiguration eines erfindungsgemäßen fehlertoleranten Systems;
- Fig. 21 zeigt einen schematischen Funktionsüberblick zum Veranschaulichen der Konfiguration eines erfindungsgemäßen Computermoduls;
- Fig. 22 zeigt einen schematischen Funktionsüberblick zum Veranschaulichen einer anderen Konfiguration eines erfindungsgemäßen Computermoduls;
- Fig. 23 zeigt einen schematischen Überblick zum Veranschaulichen eines Ausführungsbeispiels der Erfindung;
- Fig. 24 zeigt einen schematischen Überblick zum Veranschaulichen eines anderen Ausführungsbeispiels der Erfindung;
- Fig. 25 zeigt einen schematischen Überblick zum Veranschaulichen eines anderen Ausführungsbeispiels der Erfindung;
- Fig. 26 zeigt ein Flussdiagramm zum Veranschaulichen von Zustandsbeurteilungsmerkmalen, die einen gemäß der Erfindung auszuführenden Rechenauftrag festlegen;
- Fig. 27 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen von Zeitpunkten betreffend das Umschalten eines Rechenauftrags;
- Fig. 28 zeigt ein Flussdiagramm zum Veranschaulichen von Zu standsbeurteilungsmerkmalen mit einer Totzone, die einen gemäß der Erfindung auszuführenden Rechenauftrag festlegen;
- Fig. 29 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen einer Änderung von Fij ohne Totzone;
- Fig. 30 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen einer Änderung von Fij mit Totzone;
- Fig. 31 zeigt ein Kurvenbild zum Veranschaulichen einer Anzahl normaler Computermodule, die zeitlich zugeordnet werden;
- Fig. 32 zeigt ein Blockdiagramm zum Veranschaulichen eines Ausführungsbeispiels für Mittelung von Lrj;
- Fig. 33 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen einer Änderung von Fij ohne Mittelung von Lrj;
- Fig. 34 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen einer Änderung von Fij mit Mittelung von Lrj;
- Fig. 35 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen eines Ausführungsbeispiels der Erfindung zum Abbauen eines zunehmenden Kommunikationsumfangs zwischen den Computermodulen;
- Fig. 36 zeigt ein Flussdiagramm zum Veranschaulichen einer Beurteilung, ob eine Rundübertragung ausgeführt werden sollte oder nicht;
- Fig. 37 zeigt ein Flussdiagramm zum Veranschaulichen einer anderen Beurteilung, ob eine Rundübertragung ausgeführt werden sollte oder nicht;
- Fig. 38 zeigt ein Blockdiagramm zum Veranschaulichen eines Ausführungsbeispiels der Erfindung für Anwendung bei einem adaptiven Steuerungssystem;
- Fig. 39 zeigt eine Tabelle zum Veranschaulichen, wie Computermodule zugeordnet werden;
- Fig. 40 zeigt eine Schnittansicht zum Veranschaulichen eines Servomotorsystems als Ausführungsbeispiel der Erfindung;
- Fig. 41 zeigt einen Längsschnitt entlang A-A' in Fig. 40 zum Veranschaulichen des Servomotorsystems;
- Fig. 42 zeigt ein Schaltbild zum Veranschaulichen einer Schaltung für das Servomotorsystem; und
- Fig. 43 zeigt ein Blockdiagramm zum Veranschaulichen einer Systemkonfiguration zur Verwendung für Servomotorsysteme;
- Fig. 44 veranschaulicht eine Designautomatisierung durch ein automatisches, logisches Synthesewerkzeug und ein automatisches Leiterbahn-Werkzeug;
- Fig. 45 veranschaulicht ein Design mit Vielfalt mittels Beschränkungen, die Vielfalt erzeugen;
- Fig. 46 ist ein Beispiel zum Entnehmen einiger Designergebnisse aus den Ergebnissen des Designs mit Vielfalt;
- Fig. 47 ist ein Beispiel zum Erzeugen von Vielfalt betreffend die Betriebszeit;
- Fig. 48 ist ein anderes Beispiel zum Erzeugen von Vielfalt betreffend die Betriebszeit;
- Fig. 49 noch ein anderes Beispiel zum Erzeugen von Vielfalt betreffend die Betriebszeit; und
- Fig. 50 ist ein Ausführungsbeispiel eines Layouts in einem Chip.
- Die Ausführungsbeispiele der Erfindung werden unter Bezugnahme auf die beigefügten Figuren und die folgenden drei Kapitel (1) Selbstprüflogik, (2) Betriebsmittelverwaltung mit Redundanz und (3) Vielfalten im Einzelnen dargelegt.
- Im Folgenden werden unter Bezugnahme auf die Fig. 1 bis 19 Selbstprüfkomparatoren beschrieben, die Ausführungsbeispiele gemäß der Erfindung sind.
- Fig. 1 zeigt ein Schaltbild zum Veranschaulichen eines Komparators, der ein Ausführungsbeispiel der Erfindung ist. Im Betrieb wird in Signale a0 bis an (10 to 1n), wie sie von einem Funktionsblock A zugeführt werden, durch Permutatoren 80 bis 8n Fehler zum Testen gemäß einem orthogonalen Signalverlauf (Testmuster) eingespeist, wie von einer Generatorschaltung 100 für orthogonale Signalverläufe erzeugt. Die Signale mit den Fehlern werden Signale a0' bis an' (10' bis 1n') mit eingespeisten Fehlern. Es sei darauf hingewiesen, dass die Permutatoren 80 bis 8n, wie es in der Figur dargestellt ist, Exklusiv-ODER-Gatter sind, die über das Merkmal verfügen, dass Pseudofehler zum Testen eingespeist werden können. Die Signale 10' bis 1n' mit eingespeisten Fehlern werden ihrerseits mit Signalen b0 bis bn (20 bis 2n), die von einem Funktionsblock B zugeführt werden, durch Vergleichsschaltungen 30 bis 3n verglichen. Die Vergleichsergebnisse 40 bis 4n werden in einer integrierte Schaltung 5 gesammelt. Die integrierte Schaltung 5 kann ein Signatursi gnal für normalen Betrieb nur dann an einen Signaturausgang 6 ausgeben, wenn die Vergleichsergebnisse 40 bis 4n normale Signaturen anzeigen.
- ai' repräsentiere eines der Signale a0' bis an' (10' bis 1n') mit eingespeistem Fehler. Dann gilt:
- ai' = ai^pi (3)
- wobei i die Signalnummer von 0 bis n ist, pi der von der Generatorschaltung 100 für orthogonale Signalverläufe erzeugte orthogonale Signalverlauf (Testmuster) ist und ein Operator für die Exklusiv-ODER-Verknüpfungen ist. Auch repräsentiere ci eines der Vergleichsergebnisse c0 bis cn (40 bis 4n). Dann gilt:
- ci = ai'Thi
- = ai"pibi (4)
- Wenn die Funktionsblöcke A und B normal sind, gilt ai = bi. Dann gilt ai^bi = 0. Demgemäß gilt:
- ci = pi (5)
- Da alle pi, wobei i den Wert 1 bis n einnimmt, orthogonal zueinander sind, ist auch ci orthogonal zu cj, wobei i nicht mit j übereinstimmt. Wenn angenommen wird, dass ai und pi statistisch unabhängig, oder orthogonal, sind, sind ai und ai' orthogonal zueinander, und es sind auch bi und ai' orthogonal zueinander. Zusätzlich zu orthogonalen Signalverläufen beinhaltet die Gruppe von Signalverläufen korrelierte Signalverläufe von ai mit bi sowie pi mit ci. Um zu verhindern, dass durch Übersprechen oder Kurzschlüsse, wie bereits angegeben, eine unechte Signatur erzeugt wird, sollte das Schaltungslayout so konzipiert werden, dass das Signal ai körperlich von bi getrennt wird und das Signal pi körperlich von ci getrennt wird. Dies verhindert, dass ein Erzeugen einer unechten Signatur wegen Übersprechen oder Kurzschlüssen die Funktion beeinflusst. Später wird unter Bezugnahme auf Fig. 15 ein Ausführungsbeispiel des Schaltungslayouts erörtert.
- Das oben beschriebene Ausführungsbeispiel der Erfindung kann für einen vollständigen Selbstprüfkomparator ohne irgendwelche spezielle Beschränkung hinsichtlich der Leiterbahnverlegung sorgen.
- Die in Fig. 2 dargestellten Funktionsblöcke A 110 und B 111 geben nicht immer die effektiven Signale a0 bis an (10 bis 1n) und b0 bis bn (20 bis 2n) aus, sondern sie verfügen häufig über eine Ausgabe gemeinsam mit Abtastsignalen, die anzeigen, dass die Signale a0 bis an (10 bis in) und b0 bis bn (20 bis 2n) wirksam sind. In diesen Fällen sollten, wie es in Fig. 2 dargestellt ist, Latchstufen 120 und 121 dann einspeichern, wenn die Abtastsignale 130 und 131 die Signale a0 bis an (10 bis 1n) und b0 bis bn (20 bis 2n) effektiv machen. Die Art der für die Abtastsignale in einer Schaltung mit einem Mikroprozessor verwendeten Signale ist abhängig vom Mikroprozessor verschieden. Zu Abtastsignalen, wie sie für ein Adressensignal und ein Steuersignal verfügbar sind, gehören AS (address strobe) und BS (bus start), und die für Datensignale sind TA (transfer acknowledge = Übertragungsbestätigung) und DTACK (data transfer acknowledge).
- Fig. 3 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der Erfindung mit einem Komparator aus einem RCCO-Baum, wie er von Yoshihiro Toma in "Theory of Fault Tolerant System", Association of Electronics, Information and Communications, 1990 beschrieben ist. Im Betrieb werden in Signale a0 bis an (10 bis in), die vom Funktionsblock A zugeführt werden, Fehler zum Testen durch Permutatoren 80 bis 8n entsprechend dem orthogonalen Signalverlauf (Testmuster) eingespeist, wie von der Generatorschaltung 100 für orthogonale Signalverläufe erzeugt. Die Signale mit den Fehlern werden zu Signalen 10' bis 10n' mit eingespeisten Fehlern, die an den RCCO-Baum 3 geliefert werden. Es ist zu beachten, dass im RCCO-Baum das Signaturausgangssignal 6 ebenfalls einer Binärlogik entspricht.
- Der RCCO-Baum 3 verfügt, wie beim Ausführungsbeispiel in Fig. 1, über Eingangs- und Ausgangssignale, die orthogonal gemacht sind, um zu verhindern, dass ein Kurzschluss eine unechte Signatur erzeugt.
- Die unten angegebenen Ausführungsbeispiele werden auf Grundlage der Vergleichsschaltung in Fig. 1 beschrieben. Die Vergleichsschaltung mit RCCO-Baum kann auf ähnliche Weise realisiert werden, solange nichts anderes speziell angegeben ist.
- Fig. 4 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der Erfindung, bei dem in von einem Funktionsblock B zugeführte Signale B0 bis Bn (20 bis 2n) durch Permutatoren 90 bis 9n Fehler gemäß einem orthogonalen Signalverlauf eingespeist werden, der von einer Generatorschaltung 100 für orthogonale Signalverläufe erzeugt wird. Das Ausführungsbeispiel kann verhindern, dass ein in die Vergleichsschaltung eingegebener Stapelfehler latent wird, wenn bi für lange Zeit auf demselben Wert gehalten wird. Wenn bi ein Adressensignal ist und ein Programm Adressen nur in einem speziellen Bereich verwendet, wird z. B. ein hohes Bit der Adresse für eine lange Zeit auf demselben Wert gehalten.
- Fig. 5 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der Erfindung, bei dem den Funktionsblö cken A und B unabhängige Generatorschaltungen 100 bzw. 101 für orthogonale Signalverläufe zugeordnet sind. Dieses Ausführungsbeispiel mit doppelt vorhandenen Generatorschaltungen 100 und 101 für orthogonale Signalverläufe dient zum Erkennen und Berichten über beliebige Fehler der Generatorschaltungen 100 und 101 für orthogonale Signalverläufe. Das Ausführungsbeispiel kann auch im Schaltungslayout, das später unter Bezugnahme auf Fig. 15 erörtert wird, die überlegene Unabhängigkeit der zwei Systeme nutzen.
- Fig. 6 zeigt ein zeitbezogenes Signaldiagramm zum Veranschaulichen eines Ausführungsbeispiels der Erfindung, das Signalverläufe verwendet, bei denen Impulse in Zeitschlitzen eingeschaltet werden, die Leiterbahnnetzen inhärent sind. Die Figur zeigt Ausgangsmuster p0 bis pn der Generatorschaltung 100 für orthogonale Signalverläufe sowie Vergleichsergebnisse c0 bis cn (40 bis 4n), wenn beide Funktionsblöcke A 110 und B 111 normal arbeiten.
- Fig. 7 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der Generatorschaltung 100 für orthogonale Signalverläufe zum Erzeugen von Mustern wie in Fig. 6. Wenn im Betrieb das System nach dem Einschalten der Spannung rückzusetzen ist, wird ein Signal aktiv gemacht, um ein Flipflop 1001 auf '1' als Anfangswert zu setzen, woraufhin Flipflops 1002 bis 100m auf '0' als Anfangswert gesetzt werden. Das heißt, dass die Kette der Flipflops 1001 bis 100m auf 1, 0, 0, 0, 0, ... und 0 gesetzt wird. Nach dem Rücksetzen beim Spannungseinschalten verschiebt ein Signal CLK (Takt) das Muster sukzessive gemäß 1, 0, 0, 0, 0, ..., 0, um das in Fig. 6 dargestellte Muster zu erzeugen. Die Flipflops 1001 bis 100m sind redundant, und wenn die Mehrheits-Ausgangssignale aller redundanter Flipflops verwendet werden, können Softwarefehler der Flipflops wegen Störsignalen und Radioaktivität sowie zeitweilige Fehler wie vorübergehende Fehler, die als Einzelereignis-Störungen bezeichnet werden, verhindert werden. Dadurch kann auch die Zuverlässigkeit erhöht werden. Selbstverständlich kann die Generatorschaltung 100 für orthogonale Signalverläufe auch im RCCO-Baum 3 in Fig. 3 verwendet werden.
- Fig. 8 zeigt ein Blockdiagramm zum Veranschaulichen eines Ausführungsbeispiels einer integrierte Schaltung 5, die für das Muster in Fig. 6 von Nutzen ist. Eine einfache ODER-Verknüpfung wie in Fig. 8 kann zu verschiedenen Signalverläufen der Muster in Fig. 6 führen. Dies ermöglicht, das Auftreten eines Fehlers zu erkennen. Selbst wenn zwischen den Leiterbahnnetzen ein Kurzschluss auftritt, erscheint am Signaturausgang 6 nicht in fehlerhafter Weise eine authentische Signatur, oder es kann keine unechte Signatur ausgegeben werden, da keine anderen Leiterbahnnetze existieren, die die authentische Signatur für p2 und c2 verwenden. Dies bedeutet, dass selbst dann, wenn durch einen Kurzschluss eine unechte Signatur erzeugt wird, das Ausführungsbeispiel Ausfallsicherheitsfunktion gewährleiten kann.
- Fig. 11 zeigt ein Blockdiagramm zum Veranschaulichen eines Ausführungsbeispiels der Erfindung mit einem Zusatzimpuls- Erkennungsmerkmal zusätzlich zum Impulsentnahme-Erkennungsmerkmal der integrierten Schaltung in Fig. 8. Der Zusatzimpuls ist hier als Effekt definiert, dass einige der Signale c0 bis cn (40 bis 4n) gleichzeitig eingeschaltet sind. Wenn im Betrieb eines der Signale c0 bis cn (40 bis 4n) eingeschaltet ist, wie in Fig. 9, erzeugen sowohl das ÖDER-Gatter 50 als auch das EOR-Gatter 51 das Signaturausgangssignal 6, wie in der Figur. Wenn c2 und cn gleichzeitig eingeschaltet sind, wie in Fig. 2, wird auf der Signaturausgangsleitung 61 ein Impuls entnommen, wie es in Fig. 6 dargestellt ist. Da sich das Impulsentnahmesignal vom normalen unterscheidet, trägt es dazu bei, die Erzeugung eines Fehlers zu erkennen.
- Fig. 13 zeigt ein Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der integrierten Schaltung 5, die ferner die Reihenfolge eintreffender Impulse berücksichtigt. Wenn im Betrieb die Signaturimpulse als Vergleichsergebnis in der normalen Reihenfolge c0, c1 c2, ... und cn eintreffen, wird der Pegel des Signaturausgangssignals 6 immer dann umgedreht, wenn ein Signaturimpuls eintrifft, wie es in Fig. 14 dargestellt ist. Wenn jedoch einer der Signaturimpulse c0, c1, c2, ... und cn herausgenommen ist, kann das Signaturausgangssignal 6 nicht invertiert werden, oder seine Periode wird viel länger. Da die Periode des Signaturausgangssignals 6 bei diesem Ausführungsbeispiel bei einem Fehler viel länger gemacht ist, ist es einfach, den Fehler zu erkennen.
- Fig. 15 zeigt ein detailliertes Schaltbild zum Veranschaulichen eines Ausführungsbeispiels der Erfindung. Im Betrieb werden die vom Funktionsblock A 110 zugeführten Signale a0 bis an (10 bis 1n) durch ein Abtastsignal 130 in einer Latchstufe 120 eingespeichert. Die eingespeicherten Signale werden mit den orthogonalen Signalverläufen der Generatorschaltung 100 für orthogonale Signalverläufe in den Permutatoren 80 bis 8n einer Exklusiv-ODER-Verknüpfung unterzogen, um zu a0' bis an' (10' bis λn') zu werden. In ähnlicher Weise werden die vom Funktionsblock B 111 zugeführten Signale b0 bis bn (20 bis 2n) durch ein Abtastsignal 131 in einer Latchstufe 121 eingespeichert. Die eingespeicherten Signale werden mit den orthogonalen Signalverläufen der Generatorschaltung 101 für orthogonale Signalverläufe in den Permutatoren 90 bis 9n einer Exklusiv-ODER-Verknüpfung unterzogen, um zu b0' bis bn' (20' bis 2n') zu werden. Die auf die obige Weise erzeugten Signale a0' bis an' (10' bis in') und b0' bis bn' (20' bis 2n') werden durch die Vergleichsschaltungen 40 bis 4n verglichen. Die Vergleichsschaltungen 40 bis 4n geben Vergleichsergebnisse c0 bis cn (40 bis 4n) aus. Die Vergleichsergebnisse werden mittels der integrierten Schaltung 5 zu Signaturausgangssignalen 6.
- Die Schaltung des Ausführungsbeispiels ist in drei Bereiche unterteilt: einen Bereich 0 (200) einschließlich der Vergleichsschaltungen 40 bis 4n und der integrierten Schaltung 5, einen Bereich 1 (201) einschließlich des Funktionsblocks A 110, der Latchstufe 120, der Generatorschaltung 100 für orthogonale Signalverläufe sowie den Permutatoren 80 bis 8n, und einen Bereich 2 (202) einschließlich des Funktionsblocks B 111, der Latchstufe 121, der Generatorschaltung 101 für orthogonale Signalverläufe und der Permutatoren 90 bis 9n. Die Bereiche 0 (200), 1 (201) und 2 (202) können in individuellen Chips ausgebildet sein. Die Bereiche können auch in einem einzelnen Chip ausgebildet sein. In diesem Fall sollten die Bereiche 0 (200), 1 (201) und 2 (202) so angeordnet sein, dass sie gegenseitige Abstände und/oder einzelne Spannungsmassen aufweisen, um zu verhindern, dass sich ein Fehler ausbreitet. Der Schaltungsaufbau beim oben beschriebenen Ausführungsbeispiel zeigt den Vorteil, dass durch die Erzeugung einer unechten Signatur durch einen Kurzschluss kein Einfluss hervorgerufen werden kann, da die korrelierten Signale ai und bi sowie die korrelierten Signale pi und ci geometrisch, physikalisch und elektrisch voneinander getrennt werden können.
- Im Allgemeinen ist es hinsichtlich des Konzipierens eines LSI mit hohem Funktionsvermögen wirkungsvoll, ein heuristisches Verfahren gemäß menschlicher Erfahrung und Intuition für das Groblayout oder den Grundplan zu verwenden, bevor die Leiterbahnen im Einzelnen automatisch auf Grundlage eines speziellen Algorithmus festgelegt werden. Demgemäß stellen viele vorhandene automatisch Leiterbahnwerkzeuge Merkmale zum Eingeben eines Groblayouts oder eines Grundplans durch eine Person sowie Merkmale für automatische Leiter bahnerzeugung betreffend Einzelheiten zur Verfügung. Das Verfahren gemäß dem Ausführungsbeispiel stimmt gut mit den Merkmalen vorhandener automatischer Leiterbahnwerkzeuge überein, oder passt zu diesen. Dies bedeutet, dass das Verfahren die Merkmale automatischer Leiterbahnwerke optimal nutzen kann.
- Es kann leicht erzielt werden, dass das oben beschriebene Ausführungsbeispiel sich selbst prüft, und zwar auf diejenige Weise, dass die in einem normalen Logikdesign ausgebildeten Blöcke logisch oder optisch kopiert werden, bevor eine Kombination mit dem Bereich 0 (200) der Vergleichsschaltungen 40 bis 4n und der integrierten Schaltung 5 erfolgt. Dies kann nicht nur die Zuverlässigkeit erhöhen sondern auch die Anzahl der Entwicklungsschritte und die Entwicklungskosten in großem Ausmaß verringern.
- Fig. 16 zeigt ein Blockdiagramm zum Veranschaulichen eines gemäß der Erfindung aufgebauten Selbstprüfcomputers. Die Funktionsblöcke A 110 und B 111 sind mit jeweiligen MPUs (Mikroprozessoreinheiten), WDTs (Watchdogtimern), INTCs (Interruptcontrollern) und anderen Computerelementen über jeweiligen Schnittstellenbusse 212 und 213 verbunden. Die Funktionsblöcke sind auch mit jeweiligen externen Bussen 206 und 207 über jeweilige Schnittstellen 204 und 205 verbunden. Im Betrieb vergleicht der erfindungsgemäße Komparator die Signale auf den internen Bussen 212 und 213 mit den Signalen, denen durch die Permutatoren 80 bis 8n sowie 90 bis 9n Signaturen gemäß dem durch die Generatorschaltungen 100 und 101 für orthogonale Signalverläufe überlagert sind, um zu beurteilen, ob die Funktionsblöcke A 110 und B 111 normal sind oder nicht. Wenn die Signale auf den internen Bussen 212 und 213 übereinstimmen, liefert der Komparator (Bereich 0 (200)) das Signatursignal als Signaturausgangssignal 6 nach außen. Ferner kann ein Einzelchip-Selbstprüfmikrocompu ter dadurch erhalten werden, dass, wie es in Fig. 16 dargestellt ist, der Funktionsblock A 110 (Bereich 1 (201)), der Funktionsblock B 111 (Bereich 2 (202)) und der Komparator (Bereich 0 (200)) gemäß dem in Fig. 15 dargestellten Layout voneinander getrennt werden und ihre Spannungsmassen auf dem Einzelchip voneinander getrennt werden. Es ist zu beachten, dass die Latchstufen 120 und 121 in der Figur der Einfachheit halber weggelassen sind.
- Der Komparator (Bereich 0 (200)) kann die Signale auf den externen Bussen 206 und 207 zusätzlich zu denen auf den internen Bussen 212 und 213 überprüfen. Dies erlaubt eine Überwachung aller Funktionen des gesamten LSI, einschließlich derjenigen der Schnittstellen 204 und 205.
- Mit dem oben beschriebenen Ausführungsbeispiel kann es leicht realisiert werden, dass es sich auf solche Weise selbst prüft, dass die Funktionsblöcke aus den MPUs (Mikroprozessoreinheiten), den WDTs (Watchdogtimern), den INTCs (Interruptcontrollern) und anderen Mikrocomputerelementen bei einem normalen Design logisch oder optisch auf dem Maskenmusterniveau für doppelte Ausbildung kopiert werden, bevor eine Kombination mit dem Bereich 0 (200) der Komparatorschaltungen 40 bis 4n und der integrierten Schaltung 5 erfolgt. Dies kann nicht nur die Zuverlässigkeit erhöhen sondern auch die Anzahl der Entwicklungsschritte und die Entwicklungskosten in großem Ausmaß senken.
- Fig. 17 zeigt ein Blockdiagramm zum Veranschaulichen eines mit dem Selbstprüfcomputer aufgebauten fehlertoleranten Computers. Im Betrieb wird eines der Signale, wie es von Selbstprüfcomputern 203 und 203' an jeweilige externe Busse 206 (207) und 206' (207') ausgegeben wird, durch eine Ausgangssignal-Wählschaltung 210 ausgewählt, um auf eine endgültige Ausgangsleitung 211 herausgeführt zu werden. Die Ausgangssignal-Auswählschaltung 210 wird durch ein Schaltsteuersignal 209 gesteuert, das durch eine Schaltsteuerstufe 208 auf Grundlage der Signaturausgangssignale 6 und 6' erzeugt wird. Das heißt, dass die Ausgangssignal-Auswählschaltung 210 das Ausgangssignal des als normal betrachteten Selbstprüfcomputers auf Grundlage der Signaturausgangssignale 6 und 6' auswählt, wie sie von den Selbstprüfcomputern 203 und 203' zugeführt werden.
- Fig. 18 zeigt ein Blockdiagramm zum Veranschaulichen der Schaltsteuerstufe 208. Im Betrieb überwachen die Signaturüberwachungsschaltungen 212 und 213 die Signaturausgangssignale 6 und 6'. Wenn die Signaturausgangssignale 6 und 6' normal sind, liefern die Signaturüberwachungsschaltungen 'normale' Signale an Überwachungsergebnisleitungen 214 bzw. 215. Wenn eines der Signaturausgangssignale 6 und 6' anormal ist, liefert die Signaturüberwachungsschaltung ein "Anormalitäts"-Signal an die Überwachungsergebnisleitung 214 oder 215. Eine Beurteilungslogik 216 liefert ein Signal mit der Bedeutung "externen Bus 206' (207') auswählen" nur dann an das Schaltsteuersignal 209, wenn das Signaturausgangssignal 6 anormal ist und das Signaturausgangssignal 6' normal ist. In den anderen Fällen gibt die Beurteilungslogik 216 ein Signal mit der Bedeutung "externen Bus 206 (207) auswählen" aus. Zum Vereinfachen der Zeichnungen kennzeichnet der Pegel H der Binärlogik das Signal 'normal' auf der Überwachungsergebnisleitung 214 oder 215; der-Pegel L ist das Signal für 'anormal'; der Pegel H ist auch ein Signal mit der Bedeutung "externen Bus 206' (207') auswählen", das an das Schaltsteuersignal 209 geliefert wird; und der Pegel L ist auch ein Signal mit der Bedeutung "externen Bus 206 (207) auswählen". Für diese Signale bei der Erfindung besteht keine Beschränkung auf die Binärlogik, sondern sie können mit jeder beliebigen redundanten Logik erzeugt werden, wie einer Logik mit zwei Leitungen (1-aus-2-Code), einer Frequenzlogik und mit der Signatur, wie sie durch die Erfindung als jedem Netz inhärent bereitgestellt wird. Dies kann die Schaltsteuerstufe 208 und auch das gesamte System mit hoher Zuverlässigkeit versehen.
- Nachfolgend wird ein Ausführungsbeispiel der Signaturüberwachungsschaltungen 212 und 213 beschrieben. Wenn das Signaturausgangssignal 6 ein periodischer Signalverlauf ist, wie in Fig. 9 dargestellt, können die Signaturüberwachungsschaltungen 212 und 213 auf solche Weise realisiert werden, dass ein Zähler vorhanden ist, um die Impulse zu überwachen, die mit bestimmten Intervallen eintreffen. Wenn das Signaturausgangssignal 6 ferner einen komplizierten Signalverlauf aufweist, können die Signaturüberwachungsschaltungen 212 und 213 auf solche Weise realisiert werden, dass das Signaturausgangssignal 6 mit einem Bezugs(Schablonen)signalverlauf korreliert wird, wobei dann, wenn die Korrelation 1,0 ist, die Signatur als normal beurteilt wird, während sie als anormal beurteilt wird, wenn die Korrelation kleiner als 1,0 ist.
- Durch das oben beschriebene Ausführungsbeispiel kann ein fehlertolerantes System vom Typ mit spannungsführenden Bereitschaftszustand mit dem Selbstprüfcomputer 203 als Hauptsystem und dem Selbstprüfcomputer 203' als Ersatzsystem (Bereitschaftssystem) strukturiert werden. Außerdem kann das durch die Erfindung geschaffene Verfahren mit nur selten fehlendem Nachweis ein System mit höherer Zuverlässigkeit als bei den herkömmlichen Systemen realisieren.
- Die durch die Erfindung geschaffenen Selbstprüfcomputer können in fehlertoleranten Systemen verschiedener Konfigurationen und auch bei der oben beschriebenen Systemkonfiguration verwendet werden. Zum Beispiel können die Selbstprüfcomputer in einem System verwendet werden, das die Erfinder bereits in der japanischen Patentanmeldung Nr. 03-15946 (entsprechend US-A-5084878) offenbart haben. Dies kann auf solche Weise bewerkstelligt werden, dass die in Fig. 5 der japanischen Patentanmeldung dargestellten Untersysteme 1-1 bis 1-n durch die durch die Erfindung geschaffenen Selbstprüfcomputer 203 ersetzt werden, die Ausgänge 3-1 bis 3-n in der Anmeldung durch den externen Bus 208 (207) bei der Erfindung ersetzt werden und die kreuzweisen Diagnoseergebnisse 4-1 bis 4-n in der Anmeldung durch das Signaturausgangssignal 6 bei der Erfindung ersetzt werden.
- Fig. 19 zeigt ein Schaltbild zum Veranschaulichen eines erfindungsgemäßen Selbstprüfkomparators. Der Komparator 217 ist in drei Bereiche unterteilt: einen Bereich 0 (200), einen Bereich 1 (201) und einen Bereich 2 (202). Der Bereich 0 (200) beinhaltet die Vergleichsschaltungen 40 bis 4n und die integrierte Schaltung 5. Der Bereich 1 (201) beinhaltet die Latchstufe 120, die Generatorschaltung 100 für orthogonale Signalverläufe und die Permutatoren 80 bis 8n. Der Bereich 2 (202) beinhaltet die Latchstufe 121, die Generatorschaltung 101 für orthogonale Signalverläufe und die Permutatoren 90 bis 9n. Die Bereiche 0 (200), 1 (201) und 2 (202) sollten so angeordnet sein, dass sie gegenseitige Abstände und/oder individuelle Spannungsmassen aufweisen, um zu verhindern, dass sich ein Fehler ausbreitet. Die Schaltkreise des oben genannten Komparators sind in einem einzelnen Chip ausgebildet. Der Komparator 217 ist mit den externen Funktionsblöcken A 110 und b 111 verbunden, um deren Ausgangssignale zu vergleichen. Der Schaltungsaufbau des oben beschriebenen Ausführungsbeispiels zeigt, wie das an Hand von Fig. 15 beschriebene Ausführungsbeispiel, den Vorteil, das durch eine Erzeugung einer unechten Signatur wegen eines Kurzschlusses kein Einfluss ausgeübt werden kann, da die korrelierten Signale ai und bi sowie die korrelierten pi und ci geometrisch, physikalisch und elektrisch voneinander getrennt werden kön nen.
- Das Ausführungsbeispiel zeigt den Vorteil, dass die Ausfallsicherheitsfunktion selbst dann gewährleistet werden kann, wenn durch einen Kurzschluss eine unechte Signatur erzeugt wird. Dies bedeutet, dass die Erfindung, um eine ausfallsichere Logikschaltung zu realisieren, keine speziellen Beschränkungen benötigt, sondern sie kann den Vorteil der Verwendung vorhandener Halbleitertechnologie und automatischer Designwerkzeuge nutzen. Es ist zu erwarten, dass sowohl die Entwicklungskosten als auch die Entwicklungszeit stark gesenkt werden.
- Die folgenden Abschnitte beschreiben unter Bezugnahme auf die Fig. 20 bis 43 der Reihe nach ein Verwaltungsverfahren für redundante Betriebsmittel sowie ein fehlertolerantes System unter Verwendung desselben, wobei es sich um Ausführungsbeispiele der Erfindung handelt.
- Fig. 23 zeigt einen schematischen Überblick zum Veranschaulichen eines Ausführungsbeispiels der Erfindung. Als Beispiel ist in der Figur angenommen, dass Computermodule 1101 bis 110 (i-1) zu Redundanzwecken einen Rechenauftrag 1 ausführen, Computermodule 110i bis 110m zu Redundanzwecken einen Rechenauftrag 2 ausführen, wobei das System wegen eines Fehlers im Computermodul 110 (i-1) nicht normal arbeiten kann. Wenn das System wegen des Fehlers im Computermodul 110 (i-1) nicht normal arbeiten kann, hält das Computermodul 110i die Ausführung des Rechenauftrags 2 an und beginnt mit der Ausführung des Rechenauftrags 1. Dies kann zu einer Entspannung hinsichtlich einer umfangreichen Verringerung der Anzahl von den Rechenauftrag 1 ausführenden Computermodulen wegen des Fehlers im Computermodul 110 (i-1) führen, um dadurch einen hohen Abfall der Zuverlässigkeit für den Rechenauftrag 1 zu verhindern.
- Fig. 24 zeigt einen schematischen Überblick zum Veranschaulichen eines Ausführungsbeispiels der Erfindung, bei dem Bewertungsfunktionen F1 und F2 eingeführt sind, um eine Rechenauftrag-Umschaltung betreffend das Computermodul hOi in Fig. 23 zu beurteilen. Es ist angenommen, dass die Bewertungsfunktionen F1 und F2 solche sind, die die Zuverlässigkeiten für die Rechenaufträge 1 bzw. 2 widerspiegeln. Ein Verfahren zum Bestimmen der Bewertungsfunktionen wird später beschrieben. Links in der Figur ist die Bewertungsfunktion F1 (Zuverlässigkeit) niedriger als F2, da im den Rechenauftrag 1 ausführenden Computermodul 110 (i-1) ein Fehler auftritt. Dann wird, wie es links in der Figur dargestellt ist, das Computermodul 110i unter den den Rechenauftrag 2 ausführenden Computermodulen bei der Ausführung des Rechenauftrags 1 hinzugefügt, damit die Bewertungsfunktionen F1 und F2 praktisch gleich werden. Wenn die Bewertungsfunktionen beim Auftreten eines Fehlers stark differieren, erfolgt eine Ermittlung dahingehend, welches Computermodul die Ausführung eines Rechenauftrags wechseln sollte, auf solche Weise, dass Verantwortlichkeiten jedes Computermoduls für die Rechenaufträge vorab eingestellt werden. Beim Ausführungsbeispiel hat unter den den Rechenauftrag 2 ausführenden Computermodulen 110i bis 110m das Computermodul 110i die höchste Verantwortung für den Rechenauftrag 1.
- Wenn die Hardware zum Ausführen der Merkmale zur Verwaltung redundanter Betriebsmittel, einschließlich des Rechenauftrag-Änderungsmerkmals und des Beurteilungsmerkmals, nicht redundant ist sondern individuell vorliegt, kann es geschehen, dass ein Fehler der Hardware das gesamte System und auch die Merkmale der Verwaltung redundanter Betriebsmittel am normalen Lauf hindert. Um dies zu vermeiden, ist es erforderlich, die Hardware zum Ausführen der Merkmale zur Verwaltung redundanter Ressourcen selbst redundant zu machen. Es existieren drei Verfahren, um sie redundant zu machen:
- (1) ein Verfahren zum Hinzufügen ausschließlicher Hardware zum Ausführen der Merkmale zum Verwalten redundanter Betriebsmittel, um die Hardware redundant zu machen; und
- (2) ein Verfahren des Verwendens mehrerer der Computermodule 1101 bis 110(i-1) zum Fortführen der Merkmale zur Verwaltung redundanter Betriebsmittel und zum Beurteilen, welches Computermodul die Ausführung eines Rechenauftrags wechseln sollte; und
- (3) ein Verfahren mit Merkmalen zur Verwaltung redundanter Betriebsmittel, gemäß dem die Computermodule 1101 bis 110 (i-1) den Rechenauftrag selbst beurteilen ausführen.
- Das Verfahren (1) kann dadurch realisiert werden, dass die Hardware und/oder Software zum Realisieren der Merkmale zur Verwaltung redundanter Betriebsmittel, wie in den Fig. 23 und 24 dargestellt, mehrfach vorliegt. Das Verfahren (2) kann auf solche Weise realisiert werden, dass die Rechenaufträge, um die in den Fig. 23 und 24 dargestellten Merkmale zum Verwalten redundanter Betriebsmittel zu schaffen, mehreren Computermodulen zugeordnet werden und, wie die anderen Rechenaufträge, den Merkmalen zur Verwaltung redundanter Betriebsmittel unterworfen werden. Ein Ausführungsbeispiel zum Verfahren (3) wird wiederum unten beschrieben.
- Fig. 25 zeigt einen schematischen Überblick zum Veranschaulichen des Ausführungsbeispiels für das Verfahren (3), gemäß jedes Computermodul selbst unabhängig beurteilen kann, ob es bei der Ausführung eines Rechenauftrags mit niedriger Bewertungsfunktion hinzugefügt werden sollte, wenn die Bewertungsfunktionen durch das Auftreten eines Fehlers stark differieren. Die Computermodule 1101 bis 110m berechnen ihre jeweiligen Bewertungsfunktionen Fij, wobei i die Prozessornummer und j die Rechenauftragsnummer ist. Jede der Bewertungsfunktionen Fij sollte so definiert sein, dass sie niedrig ist, wenn das Computermodul hohe Verantwortung für den Rechenauftrag j hat. Anders gesagt, kann die Bewertungsfunktion Fij als Toleranz für die Verantwortung angesehen werden, die das Computermodul für den Rechenauftrag hat. In Fig. 25 haben z. B. die Computermodule 1101 bis 110m hohe Verantwortung für den Rechenauftrag 1 und niedrige für den Rechenauftrag 2, in dieser Reihenfolge. Daher sind selbst dann, wenn alle Computermodule normal arbeiten, wie es links in Fig. 25 dargestellt ist, die Bewertungsfunktionen F11 < F21 für 1101 bis 110 (i-1), wobei Fi1 < Fi2 gilt. Für die Computermodule 110i bis 110m gilt gilt Fi1 > Fi2. Die Computermodule führen daher ihre Rechenaufträge 1 bzw. 2 aus.
- Wenn im Computermodul 110 (i-1) ein Fehler auftritt, wie in der Mitte in Fig. 25 dargestellt, wird Fi1 für alle Computermodule gesenkt und für das Computermodul 110i wird die Wertebeziehung zwischen Fi1 und Fi2 umgekehrt, d. h. Fi1 < Fi2. Daher hält das Computermodul 110i, wie es in der Mitte in Fig. 25 dargestellt ist, die Ausführung des Rechenauftrags 2 selbst durch unabhängige Beurteilung an, bevor es den Rechenauftrag 1 startet. Wie oben beschrieben, sorgt das Ausführungsbeispiel dafür, dass jedes der Computermodule den Rechenauftrag durch eigene Beutteilung ändert. Das Ausführungsbeispiel verfügt daher über keinen sogenannten Manager, in dem die Merkmale zur Verwaltung redundanter Betriebsmittel für das Gesamtsystem konzentriert sind. Dies bedeutet, dass das Ausführungsbeispiel über keinen einzelnen Fehlerpunkt als Engpass beim Erhöhen der Zuverlässigkeit verfügt, wodurch es dazu in der Lage ist, die Abhängigkeit der Merkmale zur Verwaltung redundanter Betriebsmittel selbst zu erhöhen.
- Die Ausführungsbeispiele, die oben unter Bezugnahme auf die Fig. 23 bis 25 beschrieben wurden, verfügen über nur zwei Rechenaufträge, nämlich die Rechenaufträge 1 und 2, die im System als einfaches Beispiel zur Ausführung verwendet werden. Selbstverständlich können die Ausführungsbeispiele redundante Betriebsmittel auch für eine beliebige Anzahl von Rechenaufträgen verwalten, falls dies erwünscht ist.
- Hinsichtlich der Auswahl von Rechenergebnissen durch redundante Computermodule für Rechenaufträge kann eine Mehrheitsentscheidung getroffen werden, oder es kann das Verfahren verwendet werden, das die Erfinder bereits in der japanischen Patentanmeldung Nr. 1-288928 offenbart haben.
- Fig. 20 zeigt ein Blockdiagramm zum Veranschaulichen einer Systemkonfiguration zum Realisieren der Erfindung. Das erfindungsgemäße System besteht aus der Anzahl m von Computermodulen 1101 bis 110m mit denselben Funktionen. Rechenaufträgen 1111 bis 112n sind mehrere Computermodule zugeordnet, um eine redundante Ausführung für hoch zuverlässigen Betrieb vorzunehmen. Beim in Fig. 20 dargestellten Ausführungsbeispiel ist die Anzahl 11 von Computermodulen 1101 bis 110i1 dem Rechenauftrag 1 (1111) zugeordnet, die Anzahl (12-11) von Computermodulen 110(i1+1) bis 110i2 ist dem Rechenauftrag 2 (1112) zugeordnet, und die Anzahl (in+1-m) von Computermodulen 110 (in+1+1) bis 110m ist dem Rechenauftrag n (111n) zugeordnet.
- Jedes der Computermodule 1101 bis 110m kann Signale an Ausgangssignal-Auswählschaltungen 151 bis 15λ ausgeben. Es ist zu beachten, dass die Signale 31-1 bis 31-λ bis 3m-1 bis 3m- λ für die Computermodule 110-1 bis 110-m jeweils an die Aus gangssignal-Auswählschaltungen 151 bis 15λ ausgegeben werden. Auch geben die Computermodule 110-1 bis 110-m Auswählsteuersignale 41-1 bis 41-λ bis 4m-1 bis 4m-λ an die Ausgangssignal-Auswählschaltungen 151 bis 15X gemeinsam mit den Ausgangssignalen 31-1 31-λ bis 3m-1 bis 3m-λ aus. Die Auswählsteuersignale 41-1 bis 41-X bis 4m-1 bis 4m-λ zeigen an, ob die Ausgangssignale 31-1 bis 31-λ bis 3m-1 bis 3m-λ von den Ausgangssignal-Auswählschaltungen 151 bis 15λ ausgewählt werden sollen. Wenn das Computermodul 1101 normal arbeitet und das Signal 31-3 an die Ausgangssignal-Auswählschaltung 151 ausgibt, damit dieses Signal von ihm ausgegeben wird, wird z. B. das Auswählsteuersignal 14-1 eingeschaltet.
- Die Figur zeigt nur die Ausgangssignale 31-1 bis 31-λ und die darin angegebenen Auswählsteuersignale 41-1 bis 41-λ, lässt jedoch die Ausgangssignale 32-1 bis 32λ bis 3m-1 bis 3m-λ und die Auswählsteuersignale 42-1 bis 42-λ bis 4m-1 bis 4m-λ weg.
- Die Ausgangssignal-Auswählschaltungen 151 bis 15λ legen die auszugebenden Signale auf Grundlage der Auswählsteuersignale 41-1 bis 41-λ bis 4m-1 bis 4m-λ fest. Die Signale werden zu Ausgangssignalen 161 bis 16λ. Es ist zu beachten, dass die Ausgangssignale 161 bis 16λ an Ausgangseinheiten 171 bis 17λ gegeben werden. Es ist auch zu beachten, dass die Ausgangseinheiten 171 bis 17λ in vielen Steuerungseinheiten elektrische und hydraulische Stellglieder zum Steuern von Objekten verwenden.
- Für die Ausgangssignal-Auswählschaltungen 151 bis 15λ ist das MV (modified voter- = modifiziertes Majoritätssystem) verfügbar, das die Erfinder bereits in Fig. 2 der japanischen Patentanmeldung Nr. 1-288928 offenbart haben.
- Fig. 21 zeigt einen schematischen Funktionsüberblick zum Veranschaulichen einer Konfiguration des Computermoduls 110i zum Realisieren der Erfindung. Das Computermodul 110i verfügt über eine Rechenauftrag-Ausführungsvorrichtung 121, ein Fehlerdaten-Austauschmerkmal 131, ein Beurteilungsmerkmal 14i zum Festlegen eines auszuführenden Rechenauftrags sowie ein Rechenauftrag-Änderungsmerkmal 151. Diese dienen zum Auswählen und Ausführen des auszuführenden Rechenauftrags unter einem Rechenauftrag 1 (1111) bis zu einem Rechenauftrag n (111n) auf Grundlage des Beurteilungsergebnisses durch das Beurteilungsmerkmal 14i. Beim in Fig. 21 dargestellten Ausführungsbeispiel führt das Computermodul 1101 den Rechenauftrag 1 (1111) aus. Das Fehlerdaten-Austausch- Merkmal 131 führt eine Rundübertragung einer Fehlerauftrittssituation im eigenen Computermodul und von Prozessergebnissen zum ausgeführten Rechenauftrag an andere Computermodule über einen Kommunikationspfad 11 aus. Gleichzeitig sammelt das Merkmal die von den anderen Computermodulen rundübertragenen Fehlerauftrittssituationen und die Prozessergebnisse zum ausgeführten Rechenauftrag.
- Zum bereits vorgeschlagenen Verfahren betreffend die Kommunikation mit anderen Computermodulen über den Kommunikationspfad 11 gehören das Verfahren des Durchlassens einer Meldung, das Verfahren eines gemeinsam genutzten Speichers und das Verfahren des Umschaltenes einer Speicherbank. Zu bereits vorgeschlagenen Formen des Kommunikationspfads 11 gehören der Bustyp, der Netztyp und der Ringtyp.
- Fig. 22 zeigt ein Blockdiagramm zum Veranschaulichen einer Konfiguration des Computermoduls 110i zum Realisieren der Erfindung. Ein Bus 201 in der Figur ist mit einer MPU (Mikroprozessoreinheit) 211, einer Kommunikationsschnittstelle 22i, einer Ausgangsschnittstelle 23i, einer Auswählsteuersignal-Schnittstelle 24i und einer Speichereinheit 25i verbunden. Die Kommunikationsschnittstelle 22i ist über den Kommunikationspfad 11 mit den anderen Computermodulen zur Kommunikation mit einem beliebigen derselben verbunden. Das Fehlerdaten-Austauschmerkmal 131 in der Figur wird mittels der Auswählsteuersignal-Schnittstelle 24i realisiert.
- Die Ausgangsschnittstelle 23i ist eine Schaltung zum Ausgeben von Signalen 3i-1 bis 3i-λ an die Ausgangssignal-Auswählschaltungen 151 bis 15λ. Die Signale können abhängig vom Verwendungszweck entweder parallel oder seriell übertragen werden. Wenn die Ausgangsschnittstellen 23i so angeordnet sind, dass sie jeweils unabhängige Signale 3i-1 bis 3i-λ ausgeben, können sie für eine Anwendung genutzt werden, bei der mehrere Ausgangseinheiten gleichzeitig verwendet werden.
- Die Auswählsteuersignal-Schnittstelle 24i ist eine Schaltung zum Ausgeben von Auswählsteuersignalen 4i-1 bis 4i-λ an die Ausgangssignal-Auswählschaltungen 151 bis 15λ. Die MPU 211 kann dazu verwendet werden, einen Schreibvorgang in ein Register der Auswählsteuersignal-Schnittstelle 24i auszuführen, um ein beliebiges gewünschtes der Auswählsteuersignale 4i-1 bis 4i-λ einzuschalten oder auszuwählen. Zu Bedingungen zum Einschalten oder Auswählen des Auswählsteuersignals 4i-λ', wobei λ' eine ganze Zahl von 1 bis λ ist, gehören:
- a. Das Computermodul 110i führt einen Rechenauftrag aus, bei dem das Signal 3i-1' an die Ausgangssignal-Auswählschaltung 151' ausgegeben wird; und
- b. Das Computermodul 110i erkennt den ausgeführten Rechenauftrag als normal.
- Als Verfahren zum Beurteilen von normal und anormal bei der Bedingung b ist dasjenige verfügbar, das die Erfinder bereits in der japanischen Patentanmeldung Nr. 1-288928 offenbart haben.
- Wenn das Computermodul 1101 den Rechenauftrag 1 ausführt, der normal ist, und das Signal an die Ausgangssignal-Auswählschaltung 151 ausgibt, und wenn im anderen Computermodul 110-1, das den Rechenauftrag 2 ausführt und ein Signal an die Ausgangssignal-Auswählschaltung 152 ausgibt, ein Fehler auftritt, und wenn das Computermodul 110i die höchste Verantwortung für den Rechenauftrag 2 hat, hält das Computermodul 110i die Ausführung des Rechenauftrags 1 an, bevor es mit dem Rechenauftrag 2 startet. In diesem Fall wird das Auswählsteuersignal 41-1 vom Computermodul 1101 an die Ausgangssignal-Auswählschaltung 151, d. h. während der Ausführung des Rechenauftrags 1, am Ende der Ausführung des Rechenauftrags 1 ausgeschaltet. Zu Beginn der Ausführung des Rechenauftrags 2 wird das Auswählsteuersignal 42-1 der Ausgangssignal-Auswählschaltung 152 eingeschaltet. Ferner wird das Auswählsteuersignal 41-2 vom Computermodul 110-i zur Ausgangssignal-Auswählschaltung 152, das eingeschaltet ist, dann ausgeschaltet, wenn ein Fehler auftritt. Im Ergebnis kann, nachdem ein Fehler aufgetreten ist, die Ausgangssignal-Auswählschaltung 152 das Ausgangssignal 32-1 vom Computermodul 1101 als Ausgangssignal 162 zur Einspeisung in ein Stellglied 172 auswählen, während die Ausgangssignal-Auswählschaltung 152 vor dem Auftreten des Fehlers das Ausgangssignal 32-i vom Computermodul 110-1, das den Rechenauftrag 2 normal ausführt, als Ausgangssignal 162 auswählt, das dem Stellglied 172 zuzuführen ist.
- Wie oben beschrieben, kann das Ausführungsbeispiel der Erfindung mehrere Computermodule dazu verwenden, mehrere Rechenaufträge auf parallele und redundante Weise auszuführen.
- In der Beschreibung ist angenommen, dass ein einzelner Rechenauftrag Signale an mehrere Stellglieder ausgibt. Auch kann angenommen werden, dass ein einzelner Rechenauftrag ein Signal an mehrere Stellglieder ausgibt oder dass überhaupt kein Rechenauftrag ein Signal an die Stellglieder ausgibt.
- Fig. 26 zeigt ein Flussdiagramm zum Veranschaulichen von Entscheidungsmerkmalen 14-1 bis 14-m, die gemäß der Erfindung entscheiden, dass ein Rechenauftrag auszuführen ist.
- Durch einen Bewertungsfunktion-Berechnungsschritt 300 in der Figur wird für den angegebenen Rechenauftrag eine Bewertungsfunktion Fij berechnet, wobei j die Rechenauftragsnummer ist.
- Wie bereits angegeben, repräsentiert die Bewertungsfunktion Fij eine Zuverlässigkeitstoleranz für den Rechenauftrag. Daher sollte die Bestimmung so erfolgen, dass Fij niedrig sein kann, wenn die Bedeutung des Rechenauftrags hoch ist, Fij niedrig sein kann, wenn die Verantwortung des Computermoduls für den Rechenauftrag hoch ist und Fij hoch sein kann, wenn die Zuverlässigkeit des Rechenauftrags hoch ist. Das heißt, es gilt:
- ∂Fij/∂I < o,
- ∂Fij /∂Resp < 0 und
- ∂Fij/∂Rel > 0,
- wobei I die Bedeutung ist, Resp die Verantwortung ist und Rel die Zuverlässigkeit ist.
- Ein Beispiel für eine Bewertungsfunktion Fij, die den oben Bedingungen genügt, ist:
- Fij = Lrj - Lthij (6)
- wobei Lthij ein Schwellenwert für den Zuverlässigkeitsgrad des Rechenauftrags j im Computermodul i ist, Lrj der Zuverlässigkeitsgrad des Rechenauftrags j ist, i die eigene Computermodulnummer ist und j die Rechenauftragnummer ist.
- Es sei darauf hingewiesen, dass Lthij, d. h. der Schwellenwert des Zuverlässigkeitsgrads des Rechenauftrags j abhängig von der Bedeutung des Rechenauftrags verschieden ist. Der Wert wird hoch eingestellt, wenn der Auftrag hohe Bedeutung oder hohe Zuverlässigkeit zeigen muss. Ferner können alle Computermodule beim Auftreten eines Fehlers denselben Rechenauftrag ausführen, wenn für sie derselbe Wert Lthij eingestellt ist. Dies führt zu instabilem Systembetrieb. Daher muss Lthij abhängig vom Computermodul verschieden sein. Der Wert muss dann hoch sein, wenn die Verantwortung des Computermoduls für den Rechenauftrag hoch ist. Das heißt, es gilt:
- ∂Lthij/∂I > 0 und
- ∂Lthij/∂Resp > 0.
- Nachfolgend wird beschrieben, wie der Zuverlässigkeitsgrad Lrj für den Rechenauftrag j festgelegt wird. Die Bewertungsfunktion, d. h. der Zuverlässigkeitsgrad Lrj sollte hinsichtlich fehlerhafter Daten berechnet werden, die fehlerhafte Erkennungsergebnisse sind, einschließlich der Anzahl der den Rechenauftrag j ausführenden Computermodule, der Gleichheit oder Ungleichheit von Prozessergebnissen und der Anzahl von Prozessoren mit gleichen Prozessergebnissen.
- Als Erstes ist eine Wahrscheinlichkeit zu beachten, dass falsche Ergebnisse als Ausgangssignale des Systems verwendet werden. Dann kann der Zuverlässigkeitsgrad Lrj hinsichtlich des Grads akzeptierter Prüfvorgänge berechnet werden. Wenn die Anzahl N1 von Computermodulen den Rechenauftrag j ausführt und die Anzahl N2 von Computermodulen bei der Prüfung als normal beurteilt wird und die Rechenergebnisse der Anzahl N3 von Computermodulen übereinstimmen, ist die Wahrscheinlichkeit Pej falscher Rechenergebnisse für den Rechenauftrag j:
- Pej = p N1 x P dN2 · P aN3-1 (7)
- wobei PE die Wahrscheinlichkeit für das Auftreten eines Fehlers ist, Ped die Wahrscheinlichkeit für eine Prüffehlschlag hinsichtlich eines Fehlers ist und P a die Wahrscheinlichkeit eines zufälligen Auftretens falscher Rechenergebnisse ist. Es ist zu beachten, dass P , P d und P a bekannte Konstanten sind, die hinsichtlich der Systembetriebsumgebung und des Fehlererkennungsverfahrens erhalten werden können, und das Pej eine Funktion von N1, N2 und N3-1 ist.
- Der Zuverlässigkeitsgrad des Rechenauftrags j, d. h. die Wahrscheinlichkeit korrekter Rechenergebnisse, ist wie folgt gegeben:
- Lrj = 1 - Pej (8)
- Der Einfachheit halber sei Lrj durch die Größe von Pej in der Gleichung 8 bewertet. Wenn der Logarithmus für die Gleichung 7 gebildet wird, ergibt sich:
- log(Pej) = N1 · log(P ) + N2 · log(P d) + N(3 - 1) · log(P a) (9)
- Da die Werte P , P d und P a mittels Felddaten oder Simulation berechnet werden können, seien die Logarithmen der Werte durch K1, K2 und K3 repräsentiert. Dann kann die Gleichung 9 wie folgt vereinfacht werden:
- log(pe) N1 · K1 + N2 · K2 + (N3-1) x K3 (10)
- Auch ist die Wahrscheinlichkeit Pe falscher Rechenergebnisse an Stelle der Bewertungsfunktion in der Gleichung 6 zu beachten. Die Bewertungsfunktion Fij sei wie folgt definiert:
- Fij = log{(1 - Lthij)/Pe} (11)
- Dann ergibt sich:
- Fij = K4 - N1 · K1 + N2 · K2 + (N3-1) x K3 (12)
- mit K4 = log(1 - Lthij). So kann die Bewertungsfunktion Fij nur durch Addition, Substraktion und einfache Multiplikation, oder mit hoher Geschwindigkeit, berechnet werden.
- In ähnlicher Weise kann der Zuverlässigkeitsgrad Lrj für den Auftrag j dadurch berechnet werden, dass die Wahrscheinlichkeit für das Auftreten eines Fehlers in den Rechenauftrag j ausführenden Computermodulen berücksichtigt wird.
- Wenn die Anzahl N1 von den Rechenauftrag ausführenden Computermodulen angenommen wird, ist die Wahrscheinlichkeit falscher Rechenergebnisse für den Rechenauftrag j mit einem in allen Computermodulen auftretenden Fehlern:
- Pe = P N1 (13)
- Vor der Verarbeitung der Gleichung 13 kann, ähnlich wie bei der Gleichung 7, deren Logarithmus erhalten werden:
- Fij = K4 - N1 · K1 (14)
- So kann die Bewertungsfunktion Fij wie oben vereinfacht werden.
- Ein Zustandsbeurteilungsschritt 301 in der Figur vergleicht die Bewertungsfunktionen Fij von Rechenaufträgen mit der Bewertungsfunktion Fik des aktuell ausgeführten Rechenauftrags k, wobei j den Wert 1 bis n einnimmt und die n die Anzahl von Rechenaufträgen ist. Im Ergebnis wird, wenn für den Rechenauftrag j die Bedingung Fij < Fik erfüllt ist, der aktuell ausgeführte Rechenauftrag k beendet, und es wird der Rechenauftrag j gestartet.
- Fig. 27 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen von Vorgängen am Ende des Rechenauftrags k und zu Beginn des Rechenauftrags j. Hinsichtlich eines Computers zur Regelung, wie in Fig. 27, liest dieser periodisch Eingangsdaten für jeden Steuerungsrahmen, bevor der Rechenauftrag zum Ausgeben von Ergebnissen ausgeführt wird. Es sei angenommen, dass das Computermodul i den Rechenauftrag k ausführt und dass wegen des Auftretens eines Fehlers im den Rechenauftrag j ausführenden Computermodul in einem Steuerungsrahmen 1 die Bedingung Fij < Fij gilt. Das Computermodul i berechnet den Rechenauftrag k momentan vor dem Beginn einer Vorbereitung zum Ausführen des Rechenauftrags j. Wenn die Daten (Vergangenheitsdaten) bis zum vorangegangenen Steuerungsrahmen zum Starten des Rechenauftrags j nicht benötigt werden, kann das Computermodul i den Rechenauftrag j ab dem Steuerungsrahmen 2 starten. Wenn die Vergangenheitsdaten zum Starten des Rechenauftrags j benötigt werden, verwendet das Computermodul i andererseits, wie in Fig. 27, einen Steuerungsrahmen 2 zum Sammeln der Vergangenheitsdaten vor dem Starten des Rechenauftrags j ab einem Steuerungsrahmen 3. Es ist zu beachten, dass die Vergangenheitsdaten dadurch gesammelt werden können, dass über den Kommunikationspfad 11 dasjenige Computermodul abgefragt wird, das bereits den Rechenauftrag j ausführt.
- Fig. 28 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen eines Ausführungsbeispiels einer Totzone δ, die zur Beurteilung im Zustandsbeurteilungsschritt 301 vorhanden ist. Gemäß der Figur wird, wenn ein Rechenauftrag j vorhanden ist, der die Bedingung Fij < Fik - δ erfüllt, der aktuell ausgeführte Rechenauftrag k beendet, bevor der Rechenauftrag j gestartet wird. Durch das Ausführungsbeispiel in der Figur ist der Betrieb gemäß demjenigen in Fig. 26 verbessert.
- Beim Ausführungsbeispiel in Fig. 26 ist, wie es in Fig. 29 dargestellt ist, der Betrieb der Folgende:
- (1) Durch das Auftreten eines Fehlers ergibt sich Fij < Fik. Wenn das den Rechenauftrag k ausführende Computermodul mit der Ausführungs des Rechenauftrags j zum Zeitpunkt t1 beginnt, wird die Bewertungsfunktion Fij hoch, während die Bewertungsfunktion Fik niedrig wird.
- (2) Wenn sich die Größen von Fij und Fik umkehren, so dass Fij > Fik gilt, beginnt das Computermodul, das mit der Ausführung des Rechenauftrags j begonnen hat, zum Zeitpunkt t2 erneut mit dem Rechenauftrag k.
- Als Ergebnis einer Wiederholung der obigen Operationen (1) und (2) ist es wahrscheinlich, dass der Funktionswirkungsgrad des Systems durch das Sammeln von Vergangenheitsdaten und durch andere Operationen fällt.
- Um dieses Problem zu überwinden, ist, wie es in Fig. 28 dargestellt ist, eine Totzone vorhanden, die größer als die Änderungen von Fij und Fik zum Zeitpunkt der Umschaltung von Rechenaufträgen für die Beurteilung im Zustandbeurteilungsschritt 301 ist. Die Totzone δ dient zum Bereitstellen einer Hysteresecharakteristik, damit das System stabil laufen kann, wie es in Fig. 30 dargestellt ist, ohne dass zum Zeitpunkt des Umschaltens der Ausführung von Rechenaufträgen ein Aufschaukeln auftritt.
- Da P , P d und P a bekannt sind, sind Änderungen von Fij, einschließlich ∂Fij/∂N1, ∂Fij/∂N2 und ∂Fij/∂N3, durch Änderungen N1, N2 und N3 erkennbar. Demgemäß sollte die Totzone ö größer als der folgende Wert eingestellt werden:
- max (∂Fij/∂N1, ∂Fij/∂N2, ∂Fij/∂N3).
- Aus den oben an Hand der Fig. 20 bis 30 beschriebenen Ausführungsbeispiele ist erkennbar, wie es in Fig. 31 dargestellt ist, dass das System einen Ausgleich zwischen Redundanzen für Rechenaufträge abhängig von den für die Rechenaufträge erforderlichen Zuverlässigkeitsgraden auf solche Weise ausführen kann, dass den Computermodulen aufeinanderfolgend Rechenaufträge 1 bis n zugeordnet werden. Das Gleichgewicht kann selbst dann aufrechterhalten werden, wenn das Auftreten eines Fehlers bewirkt, dass die das redundante System bildenden Computermodule im Lauf der Zeit kontinuierlich verlorengehen. Auch weisen die Ausführungsbeispiele mehr redundante Computermodule zu, da ein Rechenauftrag mit hoher Bedeutung hohe Zuverlässigkeit aufweisen muss, so dass die Abdeckung von Fehlerkennungen erhöht werden kann.
- Die Systemstabilität kann ferner dadurch erhöht werden, dass das in Fig. 32 dargestellte Ausführungsbeispiel zu denen in den Fig. 20 bis 31 hinzugefügt wird.
- Fig. 32 zeigt ein Blockdiagramm zum Veranschaulichen eines Ausführungsbeispiels mit Mittelung von Lrj oder Pe über die Zeit, während die Bewertungsfunktion Fij berechnet wird.
- Die Ausführungsbeispiele in den Fig. 20 bis 31 können dafür sorgen, dass das Computermodul mit der Ausführung des Rechenauftrags j beginnt, um die Bedingung Fij < Fik im Computermodul i mit dem höchsten Wert Lthij oder mit der höchsten Verantwortung für den Rechenauftrag j unter den den Rechenauftrag k ausführenden Computermodulen aufrechtzuerhalten, wenn in den Rechenauftrag j ausführenden Computermodulen ein Fehler auftritt. Dadurch kann der Zuverlässigkeitsgrad für den Rechenauftrag j aufrechterhalten werden, wie es durch die durchgezogene Linie a in Fig. 33 angegeben ist. Wenn bei diesem Betrieb selbst das Computermodul i fehlerhaft arbeitet, existieren keine Computermodule zum neuen Starten der Ausführung des Rechenauftrags j. Dies führt dazu, dass der Zuverlässigkeitsgrad für den Rechenauftrag j niedrig bleibt, wie es durch die gestrichelte Linie b in Fig. 33 dargestellt ist. Anders gesagt, beeinflusst der Fehler des Computermoduls i Ergebnisse der Verwaltung redundanter Betriebsmittel, was die Stabilität des Systems senkt.
- Um dieses Problem zu überwinden, sollten, wie es in Fig. 32 dargestellt ist, Lrj oder Pej innerhalb einer Zeitperiode gemittelt werden, während die Bewertungsfunktion Fij berechnet wird. Dies kann Fij im Verlauf der Zeit allmählich absenken, wie es durch die durchgezogene Linie in Fig. 34 dargestellt ist. Wenn das Computermodul i mit der höchsten Verantwortung für den Rechenaufträg j vorhanden ist, wie es durch die gestrichelte Linie a in Fig. 34 dargestellt ist, kann das Computermodul i mit der Ausführung des Rechenauftrags j zum Zeitpunkt t1 beginnen, um dadurch den Wert von Fij wiederherzustellen. Wenn kein Computermodul i vorhanden ist, sondern ein Computermodul i', das die zweithöchste Verantwortung für den Rechenauftrag j hat, wie es durch die gestrichelte Linie b in Fig. 34 dargestellt ist, kann das Computermodul i' die Ausführung des Rechenauftrags j zum Zeit punkt t2 starten, um dadurch den Wert von Fij wiederherzustellen. Wenn weder das Computermodul i noch das Computermodul i' sondern ein Computermodul i" existiert, das die dritthöchste Verantwortung für den Rechenauftrag j trägt, kann, wie es durch die gestrichelte Linie c in Fig. 34 dargestellt ist, das Computermodul i" zu einem Zeitpunkt t3 mit der Ausführung des Rechenauftrags j beginnen, um dadurch den Wert von Fij wiederherzustellen.
- Zu Verfahren zum zeitlichen Mitteln von Lrj oder Pej gehören:
- (1) Ein Verfahren mit laufendem Mittelwert und
- (2) ein Verfahren, bei dem die K-te Verzögerung der Übertragungsfunktion G(s) = 1/(1 + Ts)^K verwendet wird.
- Das Ausführungsbeispiel verfügt über die vorteilhafte Fähigkeit, dass es die Fehlertoleranz des Verfahrens für tolerante Ressourcen selbst erhöht der Vorteil wird auf solche Weise erzielt, dass ein Fehler spezieller Computermodule mit hoher Verantwortung für den Rechenauftrag dazu genutzt werden kann, die Auswirkung der Ergebnisse der Verwaltung redundanter Betriebsmittel zu verringern.
- Fig. 35 zeigt ein zeitbezogenes Diagramm zum Veranschaulichen eines Ausführungsbeispiels der Erfindung zum Abbauen von Zunahmen des Umfangs von Kommunikationsvorgängen zwischen den Computermodulen 1101 bis 110m und von Rechenvorgängen für die Bewertungsfunktionen. Bei den an Hand der Fig. 20 bis 34 beschriebenen Ausführungsbeispielen ist es erforderlich, Kommunikationsvorgänge Ncom{ = m(m - 1)} mal auszuführen, so dass das eigene Computermodul die Erkennung einer eigenen Fehlersituation allen anderen Computermodulen mitteilen, oder an diese rundübertragen, muss. Dies erhöht den Kommunikationsumfang in großem Ausmaß. Um dieses Problem zu überwinden, wird, wie es in Fig. 35 dargestellt ist, die Fehlererkennungssituation mit Bewertungsfunktion normalerweise nur dem denselben Rechenauftrag ausführenden Computermodul mitgeteilt. Nur dann, wenn sich die Bewertungsfunktion Fij ändert, wird dies an alle anderen Computermodule mitgeteilt. Als Beispiel sei ein Vorgang untersucht, bei dem die Computermodule 1 bis 3 den Rechenauftrag 1 ausführen, während das Computermodul i den Rechenauftrag 2 ausführt. Ein Steuerungsrahmen 1 findet in den Computermodulen 1 bis 3 keinerlei Anormalität. Kommunikation erfolgt nur zwischen den Computermodulen 1 bis 3. Andererseits sei ein Fall untersucht, bei dem ein Steuerungsrahmen 2 einen Fehler im Computermodul 3 auffindet. Der erste Kommunikationsvorgang erfolgt zwischen den Computermodulen 1 bis 3. Die auf Grundlage der über die Kommunikation ausgetauschten Fehlererkennungsinformation berechnete Bewertungsfunktion Fij ist niedriger als die Vorige (Steuerungsrahmen 1), da der Fehler i des Computermoduls 3, das still ist, vorliegt. Daher geht der Steuerungsrahmen 2 zum zweiten Kommunikationsvorgang über, um das Computermodul i darüber zu informieren, dass die Bewertungsfunktion Fij gesenkt wurde. Das Computermodul i beurteilt, ob es selbst bei der Ausführung des Rechenauftrags i teilnehmen sollte oder nicht. Wenn dies der Fall ist, hält es die Ausführung des Rechenauftrags 2 an bevor es mit der Ausführung des Rechenauftrags 1 beginnt.
- Die Anzahl von Kommunikationsvorgängen zwischen den Computermodulen beim Beispiel ist wie folgt gegeben:
- wobei Nij die Anzahl der den Rechenauftrag j ausführenden Computermodule ist. In der Gleichung 15 gilt:
- Die Anzahl von Kommunikationsvorgängen beim Beispiel wird Ncom' Ncom/n, was nahe bei 1/n liegt.
- Fig. 36 zeigt ein Flussdiagramm zum Veranschaulichen einer Beurteilung, ob eine Rundübertragung an alle Computermodule beim Ausführungsbeispiel in Fig. 35 erfolgen sollte oder nicht. Als Erstes tauschen die denselben Rechenauftrag ausführenden Computermodule in einem Schritt 302 die Fehlererkennungsinformation untereinander aus. In einem Schritt 300' werden die Bewertungsfunktionen Fij auf Grundlage des Informationsaustauschs berechnet. Es ist zu beachten, dass die Rechenvorgänge für die Bewertungsfunktionen Fij im Schritt 300' für diejenigen Computermodule gelten, die denselben Rechenauftrag ausführen. Dies unterscheidet sich von denen für alle Computermodule im Schritt 300 in den Fig. 26, 28 und 37. Der Schritt 300' für die Rechenvorgänge für die Bewertungsfunktionen Fij sollte Fij nur entsprechend der Anzahl (0 (m/n)) der denselben Rechenauftrag ausführenden Computermodule berechnen, während der Schritt 300 für Rechenvorgänge für die Bewertungsfunktionen Fij den Wert Fij m mal berechnen muss. Dies bedeutet, dass der Umfang der Berechnungen auf nahezu 1/n verringert werden kann. Nach den Berechnungen für die Bewertungsfunktionen Fij im Schritt 300' werden in einem Schritt 303 die aktuellen Werte von Fij mit den vorangegangenen Fijold verglichen. Wenn sie nicht gleich sind, wird in einem Schritt 304 eine Rundübertragung der Fehlerinformation an alle Computermodule ausgeführt. Abschließend werden in einem Schritt 305 die aktuellen Werte der Bewer tungsfunktionen Fij zu den Variablen Fijold gespeichert, um für den nächsten Zeitpunkt vorzubereiten.
- Andererseits beurteilen die Computermodule, die die Rundübertragung empfangen haben, wie in Fig. 37 dargestellt, in einem Schritt 306, ob die Rundübertragung für alle Bereiche gilt oder nicht. Nur wenn sie für alle Bereiche gilt, geht der Schritt zur Beurteilung in Fig. 26 oder 28 weiter.
- Fig. 38 zeigt ein Blockdiagramm zum Veranschaulichen eines Ausführungsbeispiels der Erfindung zur Anwendung bei einem adaptiven Regelungssystem. Beim Ausführungsbeispiel misst ein Sensor 9 eine physikalische Größe eines geregelten Systems 8. Eine Statusbetrachtungseinrichtung 16 betrachtet den Status des geregelten Systems 8, oder schätzt ihn ab. Auf Grundlage des beobachteten Status führt sie dann eine Rückkopplung über einen Regler 17 mit zweckdienlichen Regelungseigenschaften sowie ein Stellglied 7 an das geregelte System 8 aus. Das oben beschriebene Ausführungsbeispiel ist eine typische Konfiguration eines Regelungssystems vom Typ mit Statusrückkopplung auf Grundlage der modernen Regelungstheorie.
- Ferner teilt eine Regelungsystemeigenschaften-Erkennungseinrichtung 18 Eigenschaften des Regelungssystems 8, einschließlich des Sensors 9 und des Stellglieds 7 in Bezug auf Signale mit, wie sie in den Sensor 9 und das Stellglied 7 eingegeben werden. Eine Designeinrichtung 19 für optimale Regelung berechnet zur Regelung optimale Parameter für den Regler 17 in Bezug auf Erkennungsergebnisse zu den Eigenschaften des geregelten Systems 8. Dann stellt die Designeinrichtung 19 die Parameter für den Regler 17 auf optimale Werte ein. Durch das vorstehend beschriebene adaptive Rege lungssystem können die Regelungseigenschaften verbessert werden. Insbesondere ist es bekannt, dass das System zum Steuern eines geregelten Systems optimal ist, dessen Eigenschaften sich erkennbar mit der Höhe und Geschwindigkeit in einem Regelungssystem mit linearer Annäherung durch nichtlineare aerodynamische Eigenschaften von Flugzeugen und Raumfahrzeugen ändern. Ferner erkennt das Regelungssystem dann, wenn im geregelten System 8, im Sensor 9 oder im Stellglied 7 ein Fehler auftritt, dasselbe als Eigenschaftsänderung des geregelten Systems. Immer dann, wenn dies auftritt, kann das Regelungssystem einen optimalen Parameter für den Regler 17 einstellen, so dass eine Eigenschaftsverschlechterung wegen des Fehlers im geregelten System kompensiert werden kann. Im Allgemeinen sind bei Regelungssystemen mit hoher geforderter Zuverlässigkeit die Stellglieder doppelt vorhanden. In einem Flugzeug sind z. B. die Steuerungsfläche, einschließlich eines Höhen- und eines Seitenruders, und ein Schubgenerator redundant ausgeführt, damit das Flugzeug selbst dann ohne Schwierigkeiten fliegen kann, wenn Teile derselben ausfallen. Wenn jedoch die redundant ausgeführten Teile der Stellglieder ausfallen, nehmen die Verstärkungen der Stellglieder entsprechend ab. Dies bedeutet, dass die Regelungseigenschaften des Gesamtsystems beeinträchtigt sind. In einigen Fällen zeigen geregelte Werte eine gegenseitige Wechselwirkung. Dies macht es sehr schwierig, durch Handbedienung zu steuern. Um dieses Problem zu überwinden, verfügt das adaptive Regelungssystem des Ausführungsbeispiels über die Eigenschaftserkennungseinrichtung 18 zum Erkennen des Verstärkungsabfalls des Stellglieds 7. Die Designeinrichtung 19 für optimale Regelung legt optimale Parameter für den Regler 17 fest. Dadurch kann eine Beeinträchtigung der Regelungseigenschaften kompensiert werden.
- Die Anwendung der Erfindung beim adaptiven Regelungssystem des Ausführungsbeispiels wird auf die folgende Weise bewerk stelligt. Die Statusbetrachtungseinrichtung 16 und der Regler 17 bilden einen Rechenauftrag 1 oder eine Rechenauftragsgruppe 1. Die Regelungssystem-Eigenschaftserkennungseinrichtung 18 und die Designeinrichtung 19 für optimale Regelung bilden einen Rechenauftrag 2 oder eine Rechenauftragsgruppe 2. Einstellungen erfolgen wie folgt:
- Lth11 > Lth21 > Lth31 > Lth41 > Lth51 und
- Lth12 < Lth22 < Lth32 < Lth42 < Lth52 und
- Lth11 > Lth52 und Lth21 > Lth42 und
- Lth31 > Lth32 und Lth41 > Lth22 und Lth51 > Lth11.
- Wenn kein Computermodul zum Ausführen des Rechenauftrags 2 oder der Rechenauftragsgruppe 2 existiert, wird vorab eine Tabelle mit Nummern erstellt, um die Parameter für den Regler 17 festzulegen. Fig. 39 zeigt eine Tabelle zum Veranschaulichen, wie das Ausführungsbeispiel die redundanten Betriebsmittel verwalten kann. Zunächst sind fünf Computermodule normal, drei Computermodule sind dem Rechenauftrag 1 oder Rechenauftragsgruppe 1 zugewiesen und zwei Computermodule sind dem Rechenauftrag 2 oder der Rechenauftragsgruppe 2 zugewiesen. Wenn ein Computermodul ausfällt, so dass vier normale Computermodule verbleiben, werden zwei Computermodule dem Rechenauftrag 1 oder der Rechenauftragsgruppe 1 zugewiesen, und zwei Computermodule werden dem Rechenauftrag 2 oder der Rechenauftragsgruppe 2 zugewiesen. Wenn zwei Computermodule ausfallen, wodurch drei normale Computermodule verbleiben, werden zwei Computermodule dem Rechenauftrag 1 oder der Rechenauftragsgruppe 1 zugewiesen, und ein Computermodul wird dem Rechenauftrag 2 oder der Rechenauftragsgruppe 2 zugewiesen. Wenn drei Computermodule ausfallen, wodurch zwei normale Computermodule verbleiben, werden zwei Computermodule dem Rechenauftrag 1 oder der Rechenauftragsgruppe 1 zugewiesen, und dem Rechenauftrag 2 oder Rechenauftragsgruppe 2 wird kein Computermodul zugewiesen. Alternativ wird die vorab erstellte Tabelle von Nummern dazu verwendet, Parameter für den Regler 17 so einzustellen, dass dieser mit der Regelung fortfährt.
- Wie oben beschrieben, kann beim Ausführungsbeispiel das Regelungssystem so konfiguriert werden, dass es nicht nur einen Fehler der Computermodule erlaubt, sondern auch einen solchen des geregelten Systems. Dieser Vorteil kann die Zuverlässigkeit des gesamten Regelungssystems erhöhen.
- Fig. 40, 41 und 42 zeigen einen Querschnitt, einen Längsschnitt bzw. ein Schaltbild zum Veranschaulichen eines Servomotorsystems mit Merkmalen einer Ausgangssignalauswahl und einer Mehrheitsentscheidung als Ausführungsbeispiel der Erfindung. Das Servomotorsystem sorgt sowohl für die Fähigkeiten der Ausgangssignal-Auswählschaltungen 151 bis 15λ als auch der Ausgangseinheiten 171 bis 17λ in Fig. 20. Der Servomotor beim Ausführungsbeispiel verfügt, wie es in Fig. 40 dargestellt ist, über mehrere Ankerwicklungen 7041 bis 704m, die auf einer einzelnen Welle 701 in einem Gehäuse 702 vorhanden sind. Der Servomotor verfügt auch über mehrere Feldwicklungen 7031 bis 703m, die den Ankerwicklungen entsprechen und diesen zugewandt sind. In Fig. 41 ist eine Schnittansicht entlang A-A' in Fig. 40 dargestellt. Das Ausgangsdrehmoment des Servomotors ist wie folgt gegeben:
- wobei Ifi der durch die Feldwicklung 703i fließende Strom ist, Iai der durch die Ankerwicklung 704i fließende Strom ist und K ein Proportionalitätskoeffizient ist.
- Wenn alle Werte Ifi konstant sind, gilt:
- wobei K' ein Proportionalitätskoeffizient ist, der K x Ifi entspricht. Wenn Ifi eingegeben wird, ist es möglich, eine Operation auszuführen, die einer Mehrheitsentscheidung ähnlich ist (nachfolgend als Para-Mehrheitsentscheidung bezeichnet). Wenn jeder Wert Ifi proportional zur Zuverlässigkeit des Eingangssignals Iai gemacht wird, kann eine gewichtete Para-Mehrheitsentscheidung so getroffen werden, wie es durch die Gleichung 17 angegeben ist. Fig. 42 zeigt ein Schaltbild zum Veranschaulichen einer Schaltung zum Erstellen der gewichteten Para-Majoritätsentscheidung unter Verwendung des Servomotorsystems mit Para-Mehrheitsentscheidung gemäß dem Fig. 40 und 41. Die in der Figur dargestellte Schaltung dient zum Bereitstellen der Fähigkeiten der Ausgangssignal-Auswählschaltung 151 und der Ausgangseinheit 171 in Fig. 20. Dieselben Schaltungen werden für die Ausgangssignalauswählschaltungen 152 bis 15λ und die Ausgangseinheiten 172 bis 17A verwendet. Den Ankerwicklungen 7041 bis 704m und den Feldwicklungen 7031 bis 703m werden Ströme proportional zu Signalen 31-1 bis 3m-1 und den Auswähl-Steuerungssignalen 41-1 bis 4m-1 von den Computermodulen 1101 bis 110m über jeweilige Regelungsverstärker zugeführt. Ein derartiges Schema kann die Mehrheitsentscheidung für die Signale 31-1 bis 3m-1 von den Computermodulen 1101 bis 110m realisieren, die gemäß den Auswählsteuersignalen 41-1 bis 4m-1 als normal angesehen werden. Ferner können die Regelungsverstärker, die Ankerwicklungen 7041 bis 704m und die Feldwicklungen 7031 bis 703m in Mehrfachausführung vorhanden sein, um zu verhindern, dass das System wegen Schwierigkeiten in den Regelungsverstärkern oder einem Kurzschluss oder einer Wicklungsunterbrechung fehlerhaft funktioniert, um dadurch die Zuverlässigkeit des Servomotorsystems zu erhöhen.
- Auch können die Auswählsteuersignale 41-1 bis 4m-1 entsprechend den Zuverlässigkeiten der Computermodule mit mehreren Werten vorliegen, einschließlich der zwei Werte für ein und aus, um eine gewichtete Para-Mehrheitsentscheidung zu bewerkstelligen. Fig. 43 zeigt ein Blockdiagramm zum Veranschaulichen einer Systemkonfiguration zur Verwendung bei Servomotorsystemen. Ein derartiges System kann dadurch realisiert werden, dass die Ausgangssignal-Auswählschaltungen 151 bis 15λ und die Ausgangseinheiten 171 bis 17λ in Fig. 20 jeweils durch Servomotorsysteme 7001 bis 700λ ersetzt werden. Wie oben beschrieben, zeigt das Ausführungsbeispiel den Vorteil, dass die Konfiguration des gesamten Systems vereinfacht werden kann, klein gemacht werden kann und die Anzahl von Bauteilen verringert werden kann, um die Zuverlässigkeit zu erhöhen, da die Servomotorsysteme die Merkmale der Ausgangssignal-Auswählschaltungen 151 bis 15λ und der Ausgangseinheiten 171 bis 17λ in Fig. 20 realisieren können. Es ist erkennbar, dass Ifi und Iai in Gl. 17 gegeneinander austauschbar sind. Daher kann derselbe Effekt selbst dann erzielt werden, wenn der Strom proportional zu den Signalen 31-1 bis 3m-1 von den Computermodulen 1101 bis 110m den Feldwicklungen 7031 bis 703m zugeführt wird bzw. die Auswählsteuersignale 41-1 bis 4m-1 den Ankerwicklungen 7041 bis 704m zugeführt werden.
- Durch das oben beschriebene Ausführungsbeispiel der Erfindung kann die Verarbeitungsfunktion und die Zuverlässigkeit redundanter Betriebsmittel erhöht werden, da eine angemessene Anzahl redundanter Betriebsmittel abhängig von den für die Rechenaufträge erforderliche Zuverlässigkeitsgraden zugeordnet werden kann.
- Ferner kann das Ausführungsbeispiel, wenn die Erfindung auf das adaptive Regelungssystem angewandt wird, ein Regelungssystem konfigurieren, das nicht nur einen Fehler von Computermodulen zulässt, sondern auch einen solchen des geregelten Systems. Durch diesen Vorteil kann die Zuverlässigkeit des gesamten Regelungssystems erhöht werden.
- Diese Ausführungsbeispiele sind speziell dazu vorgesehen, die im Kapitel 1 angegebenen Selbstprüflogiken zu realisieren.
- Ferner können, wenn als Vielfalten bezeichnete Maßnahmen ergriffen werden, wie unten angegeben, verhindert werden, dass Fehler, wie sie in einem von mindestens doppelt vorhandenen Funktionsblöcken nachgewiesen werden, den anderen Funktionsblock beeinflussen, wodurch die genannte Wirksamkeit der Ausführungsbeispiele verbessert ist. Das unten erläuterte Verfahren zum Realisieren derartigen Vielfalten kann mit der Selbstprüf-Vergleichsschaltung 217 gemäß der japanischen Patentoffenlegung Nr. 27664/1994, die im vorigen Kapitel beschrieben ist, wirkungsvoll kombiniert werden, um eine selbstprüfende Logikschaltung oder ein System zu realisieren. Selbstverständlich kann auch eine Kombination mit anderen Techniken erfolgen, um ein System mit hoher Zuverlässigkeit aufzubauen, wie ein Selbstprüfsystem, ein fehlertolerantes System, ein Ausfallsicherheitssystem usw.
- Designvielfalt ist eine Maßnahme, die von Wirkung ist, um den Einfluss von durch Designvorgänge verursachten Fehlern zu beseitigen. Insbesondere ist Softwareprogrammierung mit N Versionen gut bekannt. Programmierung mit N Versionen ist ein Verfahren, N Versionen eines Programms auszuführen, die gleichzeitig mit denselben Spezifikationen entwickelt wurden. Auch kann diese Designvielfalt im Fall von Hardware dadurch realisiert werden, dass Schaltungen mit denselben Spezifikationen auf N Arten entwickelt werden. Gemäß dem oben genannten Verfahren ist jedoch das N-fache an Prozessen und Ausgaben gegenüber einem normalen Verfahren zum Design und zur Entwicklung erforderlich. Dies ist nicht allzu wirkungsvoll.
- Um die Anzahl von Prozessen und Kosten beim Designen von Hardware zu verringern, wird daher bei der Erfindung das folgende Verfahren verwendet.
- Wie es in Fig. 44 dargestellt ist, besteht die Hauptströmung hinsichtlich des Designs moderner Hardware in der Verwendung zunächste einer HDL (Hardware Description Language) zum Erzeugen einer Datei (logische Beschreibung) 300, die die Funktionen und Spezifikationen der betrachteten logischen Schaltungen beschreibt, wobei anschließend eine andere Datei (Logiknetzliste) 320 erzeugt wird, die die Verbindungen der genannten Logikschaltungen unter Verwendung eines Logiksynthesewerkzeugs 310 auf Grundlage der Logikbeschreibung 300 beschreibt. Außerdem wird die genannte Logiknetzliste-Datei 320 in eine (physikalische Netzliste) Datei 340 umgesetzt, die die Leiterbahnen und das Layout von Transistoren auf einem tatsächlichen Halbleiterchip unter Verwendung eines automatischen Leiterbahn-Herstellwerkzeugs beschreibt, um die erforderlichen Masken zu erzeugen und Halbleiterelemente zu fertigen (350).
- In diesem Fall können Designbeschränkungen wie hinsichtlich der Verzögerungszeit, der Belegungsfläche usw., und auch der aktuelle Algorithmus zur logischen Synthese und automatischen Leiterbahnherstellung geändert werden, um die das Ziel bildenden Logiknetzlisten 320 bis 32n und die physikalischen Netzlisten 340 bis 34n einer Vielfalt zu unterziehen, wie es in Fig. 45 dargestellt ist.
- So werden die genannten doppelt vorhandenen Funktionsblöcke A110 und B111 im betrachteten Halbleiterchip auf Grundlage der Logikbeschreibung der genannten Logikblöcke dadurch realisiert, dass aus den mit Vielfalt erzeugten mehreren physikalischen Netzlisten zwei physikalische Netzlisten ausgewählt werden.
- Um zwei physikalische Netzlisten aus vielen auszuwählen, ist es, wie es in Fig. 46 dargestellt ist, nur erforderlich, eine Korrelationsfunktion zu definieren, die anzeigt, wie stark sich diese physikalischen Netzlisten ähneln, und die Korrelation unter ihnen aufzufinden (Prozedur 360) und eine Kombination physikalischer Netzlisten (Prozedur 370) so auszuwählen, dass die Korrelationsfunktion minimiert ist. In diesem Fall müssen Fehlereigenschaften des Halbleiters in der Korrelationsfunktion berücksichtigt werden. Im Allgemeinen zeigen sich Leiterbahn-Schnittstellen als Schwachpunkte in Halbleitern. An einer Leiterbahn-Schnittstelle sind zwei Leiterbahnen nur durch einen dünnen Oxidfilm getrennt, so dass die Tendenz besteht, dass Kurzschlüsse zwischen Leiterbahnen sowie Kopplung wie Übersprechen usw. auftreten. Ferner wird, da an einer solchen Leiterbahn-Schnittstelle eine Leiterbahn eine andere überquert, die mit Niveaudifferenz verlaufende Leiterbahn häufig durch Belastungen unterbrochen. Anders gesagt, beeinflusst der Zustand der Schnittstelle zwischen Leiterbahnen die Fehlereigenschaften von Halbleitern. Eine Korrelationsfunktion, in der die Fehlereigenschaften des Halbleiters berücksichtigt sind, kann so wie folgt definiert werden:
- Jedoch muss φijk anzeigen, ob zwischen Leiterbahnennetzen eine Schnittstelle vorhanden ist, und der Wert muss wie folgt definiert sein:
- Es kann verhindert werden, dass Fehler, die wegen elektrischer Störsignale usw. in einem der mindestens doppelt vorhandenen Funktionsblöcke auftreten, den anderen Funktionsblock beeinflussen, und zwar selbst dann, wenn beide Funktionsblöcke auf dieselbe Weise konzipiert sind, wenn ihre Betriebszeitpunkte individuell verzögert werden.
- Die Fig. 47, 48 und 49 zeigen Ausführungsbeispiele eines Systems zum Realisieren einer derartigen zeitlichen Vielfalt. Beim in Fig. 47 dargestellten Ausführungsbeispiel wird nur das Taktsignal 401 in einen Block B111 der doppelt vorhandenen Funktionsblöcke über eine Verzögerungsschaltung 420 eingegeben, die eine Verzögerungszeit (Verzögerung T) zum Verzögern des Betriebszeitpunkts einstellt. In diesem Fall wird das Ausgangssignal 431 des Funktionsblocks B111 um eine bestimmte Zeitperiode (Verzögerung T) gegenüber dem Ausgangssignal 430 des Funktionsblocks A110 verzögert. So wird das Ausgangssignal 430 des Funktionsblocks A110 unter Verwendung der Verzögerungsschaltung 421 um eine bestimmte Zeit (Verzögerung T) verzögert, so dass die Ausgangssignale 430 und 431 in der Vergleichsschaltung 217 verglichen werden. Bei diesem Ausführungsbeispiel kann, da die Funktionsblöcke A110 und B111 zu voneinander verschiedenen Zeiten betreibbar sind, verhindert werden, dass durch Spannungsstörungen usw. verursachte Fehlfunktionen gleichzeitig in beiden Funktionsblöcken A110 und B111 auftreten. Dies ermöglicht es, eine perfekte Selbstprüflogik dadurch zu realisieren, dass ein Funktionsblock doppelt ausgeführt wird und die Ausgangssignale beider zumindest doppelt vorhandenen Funktionsblöcke verglichen werden.
- Wenn Signale 410 und 411 in die doppelt vorhandenen Funktionsblöcke A110 und B111 einzugeben sind, kann nur das Signal 401 über die auf eine Verzögerungszeit (Verzögerungszeit T) eingestellte Verzögerungsschaltung 422 in den Funktionsblock B111 eingegeben werden, wie es in Fig. 48 dargestellt ist.
- Bei diesem Ausführungsbeispiel kann jede beliebige Verzögerungszeit (Verzögerung T) ausgewählt werden, jedoch sollte die Verzögerungszeit (Verzögerung T) so groß wie möglich sein, um die Korrelation von Fehlern zwischen den Funktionsblöcken A110 und B111 zu minimieren. Um den Betrieb und den Nachweis von Fehlern zu beschleunigen, sollte jedoch die Verzögerungszeit (Verzögerung T) so klein wie möglich sein. Außerdem sollte die Verzögerungszeit (Verzögerung T) wie folgt eingestellt werden, um den wechselseitigen Einfluss von Störsignalen zwischen den Funktionsblöcken A110 und B111 zu minimieren, wobei berücksichtigt wird, dass Spannungsstörungen in einer digitalen Schaltung synchron mit Taktsignalen erzeugt werden:
- Verzögerung T = N+1/2 [Taktsignalzyklus], N = 0, 1, ...
- Um beiden Punkten (Einfluss durch Störsignale und Betriebsgeschwindigkeit) zu genügen, zeigt es sich daher, dass die geeignetste Verzögerungszeit (Verzögerung T) den Wert 1/2 [des Taktsignalzyklus] hat.
- Fig. 49 zeigt ein Ausführungsbeispiel der Erfindung, bei dem die Verzögerungszeit (Verzögerung T) auf 1/2 [des Taktsignalzyklus] eingestellt ist. Das ursprüngliche Taktsignale 403, das die doppelte Frequenz der Taktsignale 400 und 401 der doppelt vorhandenen Funktionsblöcke A110 und B111 aufweist, wird in einem Flipflop 441 geteilt, wodurch sich die Taktsicrnale 400 und 401 ergeben, deren Phasen um 180º, d. h. 1/2 [des Taktsignalzyklus], gegeneinander verschoben sind. Sie werden dann getrennt in die Funktionsblöcke A110 und B111 eingegeben. In den Funktionsblock A110 werden Eingangssignale INsync und INasync ohne Verzögerung eingegeben. Sie werden dann in den Funktionsblock B111 eingegeben, nachdem sie in Flipflops 444 und 445 (entsprechend der Verzögerungsschaltung 422) um 1/2 [des Taktsignalzyklus] verzögert wurden. Das Eingangssignal INsync ist mit dem Taktsignal 400 synchronisiert. Das Eingangssignal INasync ist nicht mit dem Taktsignal 400 synchronisiert. Anders gesagt, handelt es sich um ein asynchrones Eingangssignal. Das Signal INasync wird in den Flipflopschaltungen 442 und 443 mit dem Taktsignal 400 synchronisiert. Das Ausgangssignal 430 des Funktionsblocks A110 wird in der Flipflopschaltung 446 (entsprechend der Verzögerungsschaltung 441) um 1/2 [des Taktsignalzyklus] und in der Vergleichsschaltung 217 mit dem Ausgangssignal 431 des Funktionsblocks B111 verglichen.
- Wenn einer doppelt vorhandenen Funktionsblöcke vom anderen getrennt ist, ist es möglich, zu verhindern, dass vorübergehende Fehler auf Grund elektrischer Störsignale, kosmischer Strahlen, Strahlung usw. vorübergehende Fehler auftreten, und auch zu verhindern, dass Fehler wegen Schäden im betrachteten Halbleiterchip einander beeinflussen. Wenn ein Funktionsblock in einem Chip doppelt als A110 und B111 ausgeführt ist und jeder selbst überprüft wird, sollten die doppelt vorhandenen Funktionsblöcke A110 und B111 in derselben Richtung und mit demselben Muster angeordnet sein, wie es in Fig. 50 dargestellt ist, um die Wirksamkeit der räumlichen Vielfalt zu maximieren. So können die entsprechenden Abschnitte der doppelt vorhandenen Funktionsblöcke denselben Abstand aufweisen. Im Ergebnis kann verhindert werden, dass die entsprechenden Abschnitte der doppelt vorhandenen Funktionsblöcke übermäßig nahe beieinander liegen, was die Wirk samkeit der räumlichen Vielfalt beeinträchtigen würde.
- Bei diesem Ausführungsbeispiel sind die zum Vergleichen von Ausgangssignalen verwendeten Vergleichsschaltungen 30 bis 3n, der Bereich 0 (200) mit einer integrierten Schaltung 5, Generatorschaltungen 100 und 101 für orthogonale Signalverläufe, Permutatoren 80 bis 8n sowie 90 bis 9n und Latchstufen 120 und 121 symmetrisch angeordnet, so dass ihre Leiterbahnen kurzschließen können und Leiterbahn-Schnittstellen können verringert werden, um den durchgehenden Verlauf zu gewährleisten. Bei einer derartigen symmetrischen Anordnung von Schaltkreisen liegen die Ausgänge a0'-an' und b0'- bn' der Funktionsblöcke A110 und B111 im Bereich (200) am nächsten beieinander. Da jedoch orthogonale Signalverläufe einander überlagert sind, um die Korrelation zwischen den Signalverläufen zu beseitigen, können Fehler durch Kurzschlüsse usw. verhindert werden. Gemäß diesem Ausführungsbeispiel kann die Wirksamkeit einer räumlichen Vielfalt dazu angewandt werden, Fehler in einem von doppelt vorhandenen Funktionsblöcken voneinander zu trennen, um durchgehende Leiterbahnen zu gewährleisten, und die Selbstprüffunktion (Fehlernachweisrate und Erkennungsüberdeckung) zu verbessern, um kleine, selbstprüfende Logikschaltungen zu realisieren.
- Durch die Erfindung kann ein neues Verfahren realisiert werden, das sicher für die genannte Ausfallsicherheitsfunktion sorgt, um selbst falsche Signaturen zu meistern, die durch einen Kurzschluss hervorgerufen werden. Es sind keine speziellen Beschränkungen erforderlich, um gemäß der Erfindung ausfallsichere Logikschaltungen zu realisieren. Außerdem können auch vorhandene Halbleitertechniken, Designautomatisierungs-Werkzeuge usw. wirkungsvoll verwendet werden, um die Entwicklungskosten und die Entwicklungszeit deutlich zu senken.
Claims (11)
1. Logikschaltung mit Fehlernachweisfunktion zum Nachweisen
eines Fehlers durch Vergleich (30..3n) von Ausgabesignalen
wenigstens duplexer Funktionsblöcke (110, 111), dadurch
gekennzeichnet, daß
die Logikschaltung eine Synthesizervorrichtung (100,
80. .8n) aufweist, um einem oder beiden Ausgabesignalen der
wenigstens duplexen Funktionsblöcke (110, 111) inhärente
Wellenformen, die den jeweiligen Funktionsblöcken zuvor
zugeordnet wurden, zu überlagern, wodurch der Fehler auf Grundlage
eines Signals oder von Signalen nachgewiesen wird, die von
rer Synthesizervorrichtung (100, 80..8n) ausgegeben werden.
2. Logikschaltung nach Anspruch 1, wobei die
Synthesizervorrichtung (100, 80..8n) eine Wellenform-Erzeugevorrichtung
(100) zum Erzeugen inhärenter Wellenformen, die den
jeweiligen Funktionsblöcken (110, 111) zuvor zugeordnet wurden, und
eine logische Verknüpfungsvorrichtung zur exklusiven ODER-
Verknüpfung der erzeugten inhärenten Wellenform mit den
Ausgabesignalen der Funktionsblöcke aufweist.
3. Logikschaltung nach Anspruch 1, wobei der jeweilige
Funktionsblock (110, 111) eine Mehrzahl von Signalen ausgibt,
und die Synthesizervorrichtung (100, 80..8n) die zuvor den
jeweiligen Funktionsblöcken (110, 111) zugeordneten,
inhärenten Wellenformen den Ausgabesignalen der Funktionsblöcke
(110, 111) überlagert und dabei der Fehler nachgewiesen wird,
und Ausgabesignale der Synthesizervorrichtung (100, 80..8n)
mit den Ausgabesignalen der anderen Funktionsblöcke (110,
111) verglichen werden und dabei der Fehler nachgewiesen
wird.
4. Logikschaltung nach Anspruch 3, wobei die
Synthesizervorrichtung (100, 80..8n) eine Wellenform-Erzeugevorrichtung
(100) zum Erzeugen von, den jeweiligen Ausgabesignalen zuvor
zugeordneten, inhärenten Wellenformen und eine logische
Verknüpfungsvorrichtung zur exklusiven ODER-Verknüpfung der
erzeugten inhärenten Wellenform mit dem Ausgabesignal des einen
Funktionsblocks (110, 111) aufweist.
5. Logikschaltung nach Anspruch 3, wobei die den jeweiligen
Ausgabesignalen zuvor zugeordneten, inhärenten Wellenformen
nicht zueinander korrelieren.
6. Logikschaltung nach Anspruch 3, wobei die den jeweiligen
Ausgabesignalen zuvor zugeordneten, inhärenten Wellenformen
orthogonal aufeinander stehen.
7. Logikschaltung nach Anspruch 1, wobei die
Synthesizervorrichtung mindestens folgendes enthält:
eine erste Synthesizereinrichtung (80..8n), um einem
Ausgabesignal eines der Funktionsblöcke (110) eine dem
jewei
ligen Ausgabesignal zuvor zugeordnete, eindeutige Wellenform
zuzuordnen;
eine zweite Synthesizereinrichtung (90..9n), um einem
Ausgabesignal des anderen Funktionsblocks (111) eine dem
jeweiligen Ausgabesignal zuvor zugeordnete, eindeutige
Wellenform zuzuordnen; und
eine Vergleichvorrichtung (30..3n) zum Nachweisen eines
Fehlers, indem eine Ausgabe der ersten Synthesizereinrichtung
(80. .8n) mit einer Ausgabe der zweiten Synthesizereinrichtung
(90. .9n) verglichen wird.
8. Fehlernachweisverfahren, zum Nachweis eines Fehlers
durch Vergleich einer Mehrzahl von Ausgabesignalen duplexer
Funktionsblöcke (110, 111), dadurch gekennzeichnet, daß
in einem Schritt den Ausgabesignalen eines der duplexen
Funktionsblöcke (110, 111) inhärente Wellenformen überlagert
werden (80..8n), die den jeweiligen Ausgabesignalen zuvor
zugeordnet wurden; und
in einem Schritt Ausgabesignale des anderen der duplexen
Funktionsblöcke (110, 111) mit von inhärenten Wellenformen
überlagerten Signalen verglichen werden (30..3n) und dadurch
ein Fehler nachgewiesen wird.
9. Fehlernachweisverfahren nach Anspruch 8, wobei die
inhärenten Wellenformen so überlagert werden, daß eine exklusive
ODER-Verknüpfung der Ausgabesignale des ersten duplexen
Funk
tionsblocks und der den jeweiligen Ausgabesignalen zuvor
zugeordneten, inhärenten Wellenformen durchgeführt wird.
10. Logikschaltung nach Anspruch 7 mit
einer ersten Schaltung mit einer CPU, einer
Unterbrechungssteuerung und einem Taktgeber zur Erzeugung einer
Mehrzahl von Ausgabesignalen;
einer zweiten Schaltung mit denselben Merkmalen wie die
erste Schaltung; und
einer Vergleichschaltung zum Vergleichen der
Ausgabesinale der ersten und der zweiten Schaltung;
wobei die erste und die zweite Schaltung eine erste bzw.
eine zweite Synthesizereinrichtung (80..8n bzw. 90..9n)
aufweisen, und die erste und die zweite Schaltung, sowie die
Vergleichschaltung jeweils auf eigenen Chips angeordnet sind.
11. Fehlertolerantes System mit einer Logikschaltung nach
Anspruch 1, in der die duplexen Funktionsblöcke (110, 111)
durch einen ersten und einen zweiten Computer ausgebildet
sind, und das System ferner eine
Schaltungs-Steuerungsschaltung zur Auswahl zwischen den Ausgabesignalen des ersten und
des zweiten Computers vor der Ausgabe des Signals aufweist,
wobei die Schaltungssteuerung basierend auf
Fehlernachweis-Ausgabesignalen des ersten und des zweiten Computers das
Ausgabesignal des ersten oder das des zweiten Computers
auswählt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5258014A JPH07115721A (ja) | 1993-10-15 | 1993-10-15 | ガス絶縁機器 |
JP02766494A JP3206275B2 (ja) | 1994-02-25 | 1994-02-25 | 誤り検出機能付き論理回路及びそれを用いたフォールトトレラントシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69425542D1 DE69425542D1 (de) | 2000-09-21 |
DE69425542T2 true DE69425542T2 (de) | 2001-03-29 |
Family
ID=33554241
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69431374T Expired - Fee Related DE69431374T2 (de) | 1993-10-15 | 1994-10-12 | Logischer Schaltkreis mit Fehlernachweisfunktion |
DE69433468T Expired - Lifetime DE69433468T2 (de) | 1993-10-15 | 1994-10-12 | Logischer Schaltkreis mit Fehlernachweisfunktion |
DE69425542T Expired - Lifetime DE69425542T2 (de) | 1993-10-15 | 1994-10-12 | Logischer Schaltkreis mit Fehlernachweisfunktion, Verfahren zum Verwalten von Betriebsmitteln und fehlertolerantes System zu seiner Anwendung |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69431374T Expired - Fee Related DE69431374T2 (de) | 1993-10-15 | 1994-10-12 | Logischer Schaltkreis mit Fehlernachweisfunktion |
DE69433468T Expired - Lifetime DE69433468T2 (de) | 1993-10-15 | 1994-10-12 | Logischer Schaltkreis mit Fehlernachweisfunktion |
Country Status (4)
Country | Link |
---|---|
US (1) | US5802266A (de) |
EP (2) | EP1168178B1 (de) |
CA (1) | CA2117936C (de) |
DE (3) | DE69431374T2 (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2268817B (en) * | 1992-07-17 | 1996-05-01 | Integrated Micro Products Ltd | A fault-tolerant computer system |
US6035416A (en) * | 1997-10-15 | 2000-03-07 | International Business Machines Corp. | Method and apparatus for interface dual modular redundancy |
US6357024B1 (en) * | 1998-08-12 | 2002-03-12 | Advanced Micro Devices, Inc. | Electronic system and method for implementing functional redundancy checking by comparing signatures having relatively small numbers of signals |
FR2790887B1 (fr) * | 1999-03-09 | 2003-01-03 | Univ Joseph Fourier | Circuit logique protege contre des perturbations transitoires |
US6453431B1 (en) | 1999-07-01 | 2002-09-17 | International Business Machines Corporation | System technique for detecting soft errors in statically coupled CMOS logic |
US7444532B2 (en) * | 2001-12-03 | 2008-10-28 | Dell Products L.P. | System and method for autonomous power sequencing |
US7278080B2 (en) * | 2003-03-20 | 2007-10-02 | Arm Limited | Error detection and recovery within processing stages of an integrated circuit |
JP4457581B2 (ja) * | 2003-05-28 | 2010-04-28 | 日本電気株式会社 | 耐障害システム、プログラム並列実行方法、耐障害システムの障害検出装置およびプログラム |
US7428694B2 (en) | 2004-03-02 | 2008-09-23 | Stmicroelectronics S.A. | Device for protection against error injection into a synchronous flip-flop of an elementary logic module |
CA2549540C (en) * | 2005-06-10 | 2008-12-09 | Hitachi, Ltd. | A task management control apparatus and method |
FR2888960B1 (fr) * | 2005-07-19 | 2007-10-12 | Gemplus Sa | Detection d'une faute par perturbation longue |
US7587663B2 (en) | 2006-05-22 | 2009-09-08 | Intel Corporation | Fault detection using redundant virtual machines |
US20080005538A1 (en) * | 2006-06-30 | 2008-01-03 | Apparao Padmashree K | Dynamic configuration of processor core banks |
US20080244305A1 (en) * | 2007-03-30 | 2008-10-02 | Texas Instruments Deutschland, Gmbh | Delayed lock-step cpu compare |
US8239836B1 (en) * | 2008-03-07 | 2012-08-07 | The Regents Of The University Of California | Multi-variant parallel program execution to detect malicious code injection |
US8509205B2 (en) * | 2008-06-05 | 2013-08-13 | The Boeing Company | Multicode aperture transmitter/receiver |
US8958408B1 (en) * | 2008-06-05 | 2015-02-17 | The Boeing Company | Coded aperture scanning |
US9378077B2 (en) * | 2009-08-07 | 2016-06-28 | Stmicroelectronics S.R.L. | System for detecting operating errors in integrated circuits |
RU2475820C1 (ru) * | 2011-08-10 | 2013-02-20 | Федеральное государственное бюджетное учреждение "Национальный исследовательский центр "Курчатовский институт" | Способ постоянного поэлементного дублирования в дискретных электронных системах (варианты) |
US9118351B2 (en) * | 2012-02-15 | 2015-08-25 | Infineon Technologies Ag | System and method for signature-based redundancy comparison |
US9740178B2 (en) * | 2013-03-14 | 2017-08-22 | GM Global Technology Operations LLC | Primary controller designation in fault tolerant systems |
JP6923352B2 (ja) * | 2017-04-27 | 2021-08-18 | 株式会社小糸製作所 | 制御装置及び配光制御システム |
RU2677359C1 (ru) * | 2017-12-01 | 2019-01-16 | Федеральное государственное бюджетное учреждение "Национальный исследовательский центр "Курчатовский институт" | Способ постоянного поэлементного дублирования в цифровых транзисторных микросхемах |
CN116187265B (zh) * | 2023-04-28 | 2023-07-25 | 南方科技大学 | 一种芯片设计方法及终端 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2729362C2 (de) * | 1977-06-29 | 1982-07-08 | Siemens AG, 1000 Berlin und 8000 München | Digitale Datenverarbeitungsanordnung, insbesondere für die Eisenbahnsicherungstechnik, mit in zwei Kanälen dieselben Informationen verarbeitenden Schaltwerken |
DE2813079C3 (de) * | 1978-03-25 | 1984-08-16 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | Mehrrechnersystem hoher Sicherheit |
US4759019A (en) * | 1986-07-10 | 1988-07-19 | International Business Machines Corporation | Programmable fault injection tool |
JPH01269151A (ja) * | 1988-04-21 | 1989-10-26 | Hitachi Ltd | 多重プロセツサシステム試験方法 |
US5001712A (en) * | 1988-10-17 | 1991-03-19 | Unisys Corporation | Diagnostic error injection for a synchronous bus system |
US5084878A (en) * | 1988-10-24 | 1992-01-28 | Hitachi, Ltd. | Fault tolerant system employing majority voting |
US5008885A (en) * | 1988-12-29 | 1991-04-16 | International Business Machines Corporation | Event-controlled error injection system |
US4999837A (en) * | 1989-03-20 | 1991-03-12 | International Business Machines Corporation | Programmable channel error injection |
US5243607A (en) * | 1990-06-25 | 1993-09-07 | The Johns Hopkins University | Method and apparatus for fault tolerance |
US5231640A (en) * | 1990-07-20 | 1993-07-27 | Unisys Corporation | Fault tolerant processor/memory architecture |
JPH05128080A (ja) * | 1991-10-14 | 1993-05-25 | Mitsubishi Electric Corp | 情報処理装置 |
US5276690A (en) * | 1992-01-30 | 1994-01-04 | Intel Corporation | Apparatus utilizing dual compare logic for self checking of functional redundancy check (FRC) logic |
-
1994
- 1994-10-12 CA CA002117936A patent/CA2117936C/en not_active Expired - Fee Related
- 1994-10-12 EP EP01120968A patent/EP1168178B1/de not_active Expired - Lifetime
- 1994-10-12 DE DE69431374T patent/DE69431374T2/de not_active Expired - Fee Related
- 1994-10-12 DE DE69433468T patent/DE69433468T2/de not_active Expired - Lifetime
- 1994-10-12 EP EP00100479A patent/EP1016968B1/de not_active Expired - Lifetime
- 1994-10-12 DE DE69425542T patent/DE69425542T2/de not_active Expired - Lifetime
- 1994-10-14 US US08/323,094 patent/US5802266A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CA2117936A1 (en) | 1995-04-16 |
EP1016968B1 (de) | 2002-09-11 |
EP1168178A2 (de) | 2002-01-02 |
DE69431374T2 (de) | 2003-04-30 |
DE69433468T2 (de) | 2004-06-24 |
DE69431374D1 (de) | 2002-10-17 |
US5802266A (en) | 1998-09-01 |
CA2117936C (en) | 2000-01-18 |
EP1168178B1 (de) | 2004-01-02 |
DE69425542D1 (de) | 2000-09-21 |
EP1016968A2 (de) | 2000-07-05 |
DE69433468D1 (de) | 2004-02-05 |
EP1168178A3 (de) | 2002-04-03 |
EP1016968A3 (de) | 2000-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69425542T2 (de) | Logischer Schaltkreis mit Fehlernachweisfunktion, Verfahren zum Verwalten von Betriebsmitteln und fehlertolerantes System zu seiner Anwendung | |
DE69427875T2 (de) | Verfahren und vorrichtung zur inbetriebnahme eines datenbuswählers zur auswahl der steuersignale einer redundanten asynchronen digitalen prozessoreinheit aus einer vielzahl davon | |
DE2908316C2 (de) | Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage | |
DE3751231T2 (de) | Symmetriebildung für redundante Kanäle. | |
US6513131B1 (en) | Logic circuit having error detection function, redundant resource management method, and fault tolerant system using it | |
DE102017106087A1 (de) | Fehlertoleranz-muster und schaltprotokoll für mehrere hot- und cold-standby-redundanzen | |
DE3751230T2 (de) | Selbstgleichsetzung in redundanten Kanälen. | |
DE102011108103A1 (de) | Echtzeit-Fehlerermittlung durch inverse Verarbeitung | |
DE69816818T2 (de) | Mehrheitsentscheidungsvorrichtung und entsprechendes verfahren | |
DE102011005800A1 (de) | Kontrollrechnersystem, Verfahren zur Steuerung eines Kontrollrechnersystems, sowie Verwendung eines Kontrollrechnersystems | |
DE69223990T2 (de) | Auch gegen mehrfachfehler sicherer, fehlertoleranter taktgeber | |
EP1092177B1 (de) | Regler bzw. triebwerksregler, triebwerk und verfahren zum regeln eines stell- oder antriebssystems bzw. eines triebwerks | |
DE2258917B2 (de) | Regelvorrichtung mit mindestens zwei parallelen signalkanaelen | |
DE19811864B4 (de) | Redundante Steuervorrichtung und Fehlerbehebungsverfahren dafür | |
DE69625953T2 (de) | Methode und Vorrichtung zum Erreichen hoher Unversehrtheit und Verfügbarkeit in einem mehrkanaligen System | |
WO2002065289A1 (de) | Automatische inbetriebnahme eines clustersystems nach einem heilbaren fehler | |
WO2017080793A2 (de) | Verfahren zum betrieb eines mehrkernprozessors | |
EP1807760B1 (de) | Datenverarbeitungssystem mit variabler taktrate | |
EP1820307B1 (de) | Verfahren zum nachweis der verf]gbarkeit von systemkomponenten eines redundanten kommunikationssystems | |
DE69737573T2 (de) | Redundantes Datenverarbeitungssystem | |
DE102017103147A1 (de) | Alarmabwicklungs-Schaltungsanordnung und Verfahren zur Abwicklung eines Alarms | |
EP0246218B1 (de) | Fehlertolerantes Datenverarbeitungssystem | |
WO2005001692A2 (de) | Verfahren und vorrichtung zur überwachung eines verteilten systems | |
KR100375691B1 (ko) | 오류검출기능을가진논리회로,용장자원의관리방법및그것을이용한폴트톨러런트시스템 | |
DE69213609T2 (de) | Kompakte und fehlertolerante Schnittstelle und deren Verwendung in einer Mehrheitsentscheidungsvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |