DE19815263A1 - Vorrichtung zur fehlertoleranten Ausführung von Programmen - Google Patents
Vorrichtung zur fehlertoleranten Ausführung von ProgrammenInfo
- Publication number
- DE19815263A1 DE19815263A1 DE19815263A DE19815263A DE19815263A1 DE 19815263 A1 DE19815263 A1 DE 19815263A1 DE 19815263 A DE19815263 A DE 19815263A DE 19815263 A DE19815263 A DE 19815263A DE 19815263 A1 DE19815263 A1 DE 19815263A1
- Authority
- DE
- Germany
- Prior art keywords
- computing unit
- computing
- units
- module
- unit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/182—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/181—Eliminating the failing redundant component
Abstract
Es werden eine Vorrichtung zur fehlertoleranten Ausführung von Programmen, insbesondere zur Ausführung von Digitalrechnerprogrammen, durch parallelen Betrieb von als Redundanzeinheiten ausgebildeten Recheneinheiten sowie solche Recheneinheiten beschrieben. Die Vorrichtung zeichnet sich insbesondere dadurch aus, daß jede Recheneinheit eine Mikroprozessoreinheit zur Steuerung der Funktionen der Recheneinheit in der Weise aufweist, daß die Vorrichtung mit einer oder mehreren Recheneinheiten betreibbar ist, wobei entsprechend einem vorbestimmten Redundanzgrad der Vorrichtung eine beliebige Anzahl von Recheneinheiten über eine Datenleitung zur Übertragung von Daten, eine Taktleitung zur Zwangssynchronisierung und eine Resetleitung zum Ein- und Ausschalten jeder Recheneinheit parallelschaltbar ist.
Description
Die Erfindung betrifft eine Vorrichtung zur
Fehlertoleranten Ausführung von Programmen,
insbesondere zur Ausführung von
Digitalrechnerprogrammen, durch parallelen Betrieb von
als Redundanzeinheiten ausgebildeten Recheneinheiten,
sowie solche Recheneinheiten.
Eine Vorrichtung dieser Art ist aus der DE 44 01 168
bekannt. Der Redundanzgrad dieser Vorrichtung kann
durch einfaches Zu- und Abschaltung von
Redundanzeinheiten variabel gestaltet werden. Ferner
können verschiedene serielle Businterface-Arten, wie
z. B. Feldbus oder MIL-1553 Bus etc. verwendet werden.
Die parallel betriebene Steuerung ist dabei unabhängig
von dem Prozeßinterface betreibbar. Schließlich wird
auch beschrieben, wie die Redundanzeinheiten
miteinander zu verbinden sind, damit die Vorrichtung
eine fehlertolerante Ausführung der Anwenderprogramme
erlaubt.
Diese Vorrichtung hat jedoch auch verschiedene
Nachteile. Einerseits muß vor der Konstruktion der
Vorrichtung der maximal gewünschte Redundanzgrad
bekannt sein, d. h. die Herstellung der
Redundanzeinheiten kann nicht unabhängig von der
spezifischen Anwendung erfolgen, für die die
Vorrichtung vorgesehen ist.
Weiterhin ist bei der Integration verschiedener
serieller Businterface-Arten oder Prozessschnittstellen
in der Vorrichtung ein erheblicher technischer Aufwand
erforderlich, der hohe Kosten zur Folge hat, da keine
standardisierten Schnittstellen für eine Anbindung
solcher Busse zur Verfügung stehen.
Schwierigkeiten können auch bei Wartungsarbeiten
entstehen, wenn eine oder mehrere Redundanzeinheiten
abgeschaltet werden müssen. Dies betrifft auch einen
eventuellen Stand-by Betrieb zum Beispiel bei Anwendung
in einer Automatisierungsanlage.
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine
Vorrichtung zur fehlertoleranten Ausführung von
Programmen der eingangs genannten Art zu schaffen, die
wesentlich flexibler auch für verschiedene Anwendungen
einsetzbar ist.
Gelöst wir diese Aufgabe mit einer solchen Vorrichtung
dadurch, daß jede Recheneinheit eine
Mikroprozessoreinheit zur Steuerung der Funktionen der
Recheneinheit in der Weise aufweist, daß die
Vorrichtung mit einer oder mehreren Recheneinheiten
betreibbar ist, wobei entsprechend einem durch
Kodierung vorbestimmten Redundanzgrad der Vorrichtung
eine beliebige Anzahl von Recheneinheiten über eine
Datenleitung zur Übertragung von Daten, eine
Taktleitung zur Zwangssynchronisierung und eine
Resetleitung zum Ein- und Ausschalten jeder
Recheneinheit paralleischaltbar ist und daß die
Datenleitung, die Taktleitung und die Resetleitung
jeweils eine erste, eine zweite bzw. eine dritte
Crossstrapping-Verbindung sind, wobei durch einen ein- oder
mehrfachen seriellen Feldbus, mit dem jede
Recheneinheit über eine dieser zugeordneten seriellen
Bus-Steuereinheit verbunden ist.
Dadurch ist es möglich, die Vorrichtung generisch für
viele unabhängige Anwendungen einzusetzen, ohne daß
besondere technische Anpassungen erforderlich sind.
Dies hat auch zur Folge, daß die erfindungsgemäße
Vorrichtung in großen Stückzahlen hergestellt werden
kann. Im Gegensatz zu den bekannten Vorrichtungen, die
aus diskreten Bauteilen aufgebaut sind, können nun
hochintegrierte Schaltkreise wirtschaftlich hergestellt
werden, so daß ein fehlertoleranter Rechner in
ähnlichem Format gebaut werden kann, wie es derzeit für
einfache Rechner üblich ist.
Während zum Beispiel der in DE 44 01 168 beschriebene,
fehlertolerante Rechner in einem Raumfahrtprojekt vier
unabhängige Computerboxen erfordert, die mit bis zu
drei VME Boards bestückt werden, ist mit der
erfindungsgemäßen Lösung eine Realisierung eines
solchen Rechners auf einer einzigen VME Platine
möglich. Der Gesamtaufwand an Hardware beträgt also nur
noch einige wenige hochintegrierte Module von dem
Aufwand, wie er bei bekannten, aufgrund der geringen
Stückzahlen aus diskreten Bauelementen aufgebauten
Rechnern erforderlich ist.
Ein weiterer Vorteil dieser Lösung besteht darin, daß
es im Gegensatz zum Stand der Technik möglich ist, ein
fehlertolerantes Anwenderprogramm ohne Modifikation
sowohl auf einer erfindungsgemäßen Vorrichtung mit
mehreren Recheneinheiten (d. h. Redundanzeinheiten), als
auch auf einer solchen Vorrichtung mit nur einer
Recheneinheit (Simplexbetrieb) auszuführen.
Der verfügbare Redundanzgrad im Simplexbetrieb ist zwar
nicht größer als der eines Einfachrechners, ein solcher
Betrieb bietet dem Anwender jedoch erhebliche
Erleichterungen z. B. bei der Erstinbetriebnahme des
Anwenderprogramms, da der Simplexbetrieb zunächst alle
Fehler, die durch das Voting entstehen, ausblendet.
Außerdem erleichtert der Simplexbetrieb den Stand-by
Betrieb einer Automatisierungsanlage erheblich, da nur
noch ein n-tel des ursprünglichen Stromverbrauches
auftritt. Dieser Vorteil ist besonders bei
Raumfahrtanwendungen erheblich. Wenn ein Raumfahrzeug
einen sicheren Orbit erreicht hat, kann der Betreiber
des Raumfahrzeuges nämlich alle Redundanzeinheiten bis
auf eine abschalten, um Energie zu sparen, und zwar
ohne Unterbrechung der Anwenderfunktion.
Ein besonderer Vorteil dieser Lösung ergibt sich auch
im Falle einer Wartung einer Automatisierungsanlage. So
kann z. B. die Automatisierungsanlage für begrenzte Zeit
im Simplexbetrieb gefahren werden, während auf den
anderen Redundanzeinheiten, die sich dabei in der
Wartestellung befinden, ein Austausch der
Anwendersoftware erfolgt.
Die Unteransprüche haben vorteilhafte Weiterbildungen
der Erfindung zum Inhalt.
Jeder Recheneinheit ist vorzugsweise eine externe
Speichereinrichtung zugeordnet.
Außerdem kann mindestens ein Anwendungsprozessor
vorgesehen sein, der über einen Mehrprozessor-Bus,
wie einen VME-Bus, mit den mindestens einer
Recheneinheit verbunden ist.
Eine Recheneinheit zur Anwendung in einer
erfindungsgemäßen Vorrichtung zeichnet sich durch ein
PPE-Modul mit mindestens einer Mikroprozessor-Steu
ereinheit zur Steuerung der Funktionen der
Recheneinheit sowie zur Durchführung eines
Datenvergleichs und eines Datenaustauschs mit anderen
gleichen Recheneinheiten aus.
Dieses Modul kann durch ein Multichip Modul, durch eine
Hybrid Schaltung, durch ein Piggy Pack Modul, durch ein
"System on a Chip" oder durch ein ähnliches
Miniaturmodul realisiert sein. Im folgenden wird dieses
Modul Processor Pool Element (PPE) genannt.
Das PPE Modul weist dabei vorzugsweise einen
elektrisch lösch- und programmierbaren Lesespeicher für
Programme zur Steuerung der Recheneinheit auf.
Weiterhin kann das PPE Modul ein
standardisiertes, paralleles Businterface mit Daten- und
Steuerleitungen zur Verbindung der Recheneinheit
mit mindestens einem seriellen Bus umfassen.
Das PPE Modul weist vorzugsweise eine
Steuereinheit zur Fehlerbehandlung sowie ein dieser
zugeordnetes, erstes Cross Strapping Interface zur
seriellen Verbindung mit anderen Recheneinheiten auf.
Das PPE Modul kann auch eine fehlertolerante
Taktgeberschaltung zur Zwangssynchronisierung der
Recheneinheit mit anderen Recheneinheiten sowie ein
zweites, dieser zugeordnetes Cross Strapping Interface
zur seriellen Verbindung mit anderen Recheneinheiten
umfassen.
Weiterhin umfaßt das PPE Modul vorzugsweise eine
Schaltung zur fehlertoleranten Resetsteuerung sowie ein
drittes, dieser zugeordnetes Cross Strapping Interface
zur entfernten Resetsteuerung auf.
Schließlich ist das PPE Modul vorzugsweise mit einer
Schaltung versehen, mit der der Recheneinheit eine
diese identifizierende Kennung zugewiesen wird.
Weitere Einzelheiten, Merkmale und Vorteile ergeben
sich aus der nachfolgenden Beschreibung
bevorzugter Ausführungsformen anhand der Zeichnungen.
Es zeigen:
Fig. 1 ein Prinzipschaltbild einer erfindungsgemäßen
Vorrichtung,
Fig. 2 eine erste äußere Beschaltung einer
Recheneinheit für komplexe Fehlertolerante
Systeme,
Fig. 3 eine zweite äußere Beschaltung einer
Recheneinheit, für einfache Fehlertolerante
Systeme und
Fig. 4 ein Blockschaltbild des inneren Aufbaus einer
Recheneinheit.
Durch die Erfindung wird gemäß Fig. 1 prinzipiell eine
flexible Prozessor-Pooltechnologie mit generischen
Prozessor-Pool-Elementen (Recheneinheiten (1)
geschaffen, mit der der erreichbare Redundanzgrad
soweit flexibilisiert wird, daß dieser erstens für die
Produktion der Computerkomponenten im voraus nicht mehr
bekannt sein muß, und daß zweitens der Redundanzgrad
bis auf eine Null-Redundanz, auch bezeichnet mit
Simplex-Betrieb, reduziert werden kann, ohne daß die
Anwenderfunktion unterbrochen wird. Gleichzeitig führt
die Erfindung standardisierte Schnittstellen (11) (Fig.
4, s. u.) ein, die zusammen mit den im folgenden
beschriebenen Schaltkreisen eine generische
Recheneinheit (1) darstellen. Mehrere Recheneinheiten
(1) können über verschiedene Cross-Strapping
Verbindungen 2 miteinander verbunden werden, so
daß eine erfindungsgemäße Vorrichtung zur
fehlertoleranten Ausführung von Programmen gemäß Fig.
1 entsteht.
Die einzelnen Recheneinheiten (1), die in der
Fachsprache auch Fault Containment Region (FCR)
genannt werden, sind grundsätzlich zu einer
erfindungsgemäßen Vorrichtung integriert. Die
Vorrichtung (Rechnerpool) enthält eine beliebige Anzahl
von Recheneinheiten (1), die über ihre Schnittstellen
(11) miteinander verbunden sind. Zu diesem Zweck
weist die Vorrichtung die Verbindungen 2 auf, die
für Daten-Cross-Strapping (21), Clock-Cross-Strapping
(22), Reset-Cross-Strapping (23) und zur
Stromversorgung (24) für beliebig viele Elemente
vorgesehen sind.
Wird nur eine Recheneinheit (1) mit einem Schalter (12)
eingeschaltet, entsteht automatisch ein Simplex-Rech
ner, der das Anwenderprogramm ausführt (Null-Re
dundanz). Werden gleichzeitig mehrere Recheneinheiten
1 über die jeweils zugeordneten Schalter (12)
eingeschaltet, entsteht entsprechend der Anzahl der
eingeschalteten Recheneinheiten ein Duplex (2 Einheiten
eingeschaltet) ein Triplex (3 Einheiten eingeschaltet),
ein Quadruplex (4 Einheiten eingeschaltet) oder ein
N-plex (N Einheiten eingeschaltet), die parallel das
Anwenderprogramm abarbeiten. Konstruktive Elemente
innerhalb der Vorrichtung sorgen dafür, daß sich die
Gleichzeitigkeit des Einschaltens über einen fest
definierten Zeitbereich erstrecken kann. Der
Zeitbereich kann mittels der Vorrichtung vorher
eingestellt werden.
Der Zeitbereich beginnt mit dem Einschalten der ersten
Recheneinheit (1). Werden nach Ablauf des eingestellten
Zeitbereiches weitere Recheneinheiten eingeschaltet,
nehmen diese nicht mehr an der parallelen Abarbeitung
des Anwenderprogramms teil, sondern nehmen automatisch
eine Wartestellung ein.
Sind alle Recheneinheiten eingeschaltet und arbeiten
alle Recheneinheiten parallel das Anwenderprogramm ab,
hat der Rechner die höchste Konfigurationsstufe
erreicht (z. B. Quadruplex-Konfiguration, wenn die
Vorrichtung maximal vier Recheneinheiten enthält).
Eine Recheneinheit kann jederzeit abgeschaltet werden,
und zwar entweder durch Ausschalten, oder durch einen
besonderen Reset, den die Vorrichtung bereitstellt.
Wird die Recheneinheit über den die Vorrichtung
bereitstellenden Reset abgeschaltet, so nimmt die
Recheneinheit nicht mehr an der parallelen Abarbeitung
des Anwenderprogramms teil und geht in die
Wartestellung. Eine Recheneinheit kann also folgende
drei Zustände einnehmen: Betrieb, Wartestellung,
ausgeschaltet.
Durch spezielle konstruktive Elemente innerhalb der
Vorrichtung, (z. B. frequenzmodulierte Signale) an den
Schnittstellen der Recheneinheiten, erlaubt die
Vorrichtung eine Wiedereingliederung von
Recheneinheiten, die sich in der Wartestellung
befinden, in das laufende Anwenderprogramm, ohne daß
dieses unterbrochen oder neu gestartet werden muß.
Durch Wiedereingliederung entsteht aus einem Duplex
Rechner z. B. ein Triplex und so weiter. Insbesondere
erlaubt die Vorrichtung, daß durch Wiedereingliederung
einer Recheneinheit aus einem Simplex-Rechner ein
Duplex-Rechner entsteht.
Eine Synchronisiereinrichtung innerhalb der Vorrichtung
ermöglicht es, daß alle Recheneinheiten sofort nach dem
Einschalten miteinander zwangsynchronisiert werden.
Insbesondere werden auch alle Recheneinheiten
zwangssynchronisiert, die sich in der Wartestellung
befinden. Zusätzlich zu der internen
Zwangssynchronisation kann die gesamte Vorrichtung von
extern zwangssynchronisiert werden. Dies bedeutet, daß
alle Recheneinheiten zueinander synchron und
gleichzeitig extern zwangssynchronisiert sind.
Ist mehr als eine Recheneinheit (1) eingeschaltet, ist
mit der Vorrichtung die fehlertolerante Ausführung von
Programmen möglich.
Fig. 2 zeigt eine erste äußere Beschaltung einer
Recheneinheit (1), durch die eine im Gegensatz zu der
in Fig. 3 dargestellten zweiten äußeren
Beschaltung relativ komplexe Redundanzeinheit
entsteht. Der wesentliche Unterschied beider
Beschaltungen besteht darin, daß gemäß Fig. 2 ein
vierfach serieller Feldbus (4a) und gemäß Fig. 3 ein
einfach serieller Feldbus (4b) verwendet wird. In
beiden Fällen sind diese über eine serielle Bus-Steu
ereinheit (3) mit der Recheneinheit (1) verbunden.
Ferner weist die Beschaltung gemäß Fig. 2 beispielhaft
einen zusätzlichen Anwendungsprozessor (5) auf, der
gemeinsam mit der Recheneinheit (1) an einem VME-Bus
(6) liegt, während die Beschaltung gemäß Fig. 3
beispielhaft mit einem externen Speicher (7) versehen
ist. Beide Beschaltungen umfassen schließlich auch den
Ein-/Ausschalter (12).
Zur Ausführung der beschriebenen Funktionen und zur
wirksamen Integration der verschiedenen seriellen Busse
sowie des Prozessinterface umfaßt eine Recheneinheit
gemäß Fig. 4 ein PPE Modul mit einem oder zwei
leistungsstarken Mikroprozessor- Steuereinheiten, die
alle wesentlichen Funktionen der Recheneinheit,
insbesondere die Verbindung zum seriellen Datenbus und
die Durchführung des Datenvergleichs und des
Datenaustauschprinzipes steuern.
Im einzelnen umfaßt das PPE Modul einen elektrisch
löschbaren und programmierbaren Lesespeicher (12), in
dem die Programme zur Steuerung der Recheneinheit
enthalten sind. Der Lesespeicher ist konstruktiv so
ausgelegt, daß er automatisch nach dem Einschalten
seine gespeicherten Programme an die Mikroprozessor-Steu
ereinheiten (14a) und (14b) übergibt. Gleichzeitig
kann der Lesespeicher über die dargestellte
Testschnittstelle (8) und einen speziellen
Sicherheitscode in der Hardware mit neuen Programmen
geladen werden.
Zur Anbindung serieller Busse enthält PPE Modul ein
standardisiertes, paralleles Businterface (13) mit
Datenleitungen (13a) und Steuerleitungen (13b). Eine in
dem PPE Modul integrierte Steuereinheit (14) sorgt
dafür, daß sich das PPE Modul an das elektrische
Verhalten des ausgewählten, seriellen Buscontrollers
anpassen kann, ohne daß ein zusätzlicher
Bauteileaufwand entsteht.
Zum Datenaustausch der Recheneinheiten untereinander
enthält das PPE Modul bereits ein geeignetes Daten-Cross
Strapping Interface (11a), das die geforderte
serielle Datenübertragung vornimmt und gleichzeitig die
galvanische Isolation enthält. Die Anzahl der
enthaltenen, unabhängigen seriellen Schnittstellen ist
über einen Mikrocode so einstellbar, daß auch ein N-plex
System mit N Recheneinheiten konfiguriert werden
kann.
Zur internen- und externen Zwangssynchronisation der
Recheneinheiten untereinander enthält das PPE Modul
einen fehlertoleranten Taktgeber-Schaltkreis (15) und
ein geeignetes Clock-Cross Strapping Interface (11b),
welches die notwendige Signalverteilung mit den anderen
Recheneinheiten vornimmt und gleichzeitig für die
galvanische Trennung der Signale sorgt. Über eine
externe Kodierung kann die Frequenz des Taktgebers
vorgegeben werden. Zusätzlich läßt sich die Frequenz des
Taktgebers auch über ein internes Register, das der
Schaltkreis zur Verfügung stellt, einstellen. Die
Anzahl der Taktsignale läßt sich über einen Microcode
so einstellen, daß auch ein N-plex System mit N
Recheneinheiten konfiguriert werden kann.
Zur Zwangsabschaltung fehlerhafter Recheneinheiten und
zur Unterstützung des kompletten Funktionsablaufs der
Vorrichtung enthält jedes PPE Modul einen Reset
Schaltkreis (16) für die fehlertolerante Abschaltung
benachbarter PPE Module. Zusätzlich dazu enthält jedes
PPE Modul ein geeignetes Reset-Cross Strapping
Interface (11c), das die notwendige Reset-Sig
nalverteilung und die galvanische Trennung von den
anderen Recheneinheiten vornimmt. Die Anzahl der Reset
Signale läßt sich über einen Microcode so einstellen,
daß auch ein N-plex System mit N Recheneinheiten
konfiguriert werden kann und dieses in der Lage ist,
fehlerhafte Recheneinheiten über das Reset Management
zu passivieren.
Jedes PPE Modul umfaßt weiterhin eine digitale
Eingangsschnittstelle (17) und Ausgangsschnittstelle
(18), mit deren Hilfe jederzeit Systemsignale
aufgezeichnet und protokolliert und auch
Systemsteuerfunktionen übernommen werden können. Diese
Schnittstelle soll vor allem den Aufbau sehr
kleiner Redundanzeinheiten erleichtern, bei denen
aufgrund des geringen Automatisierungsgrades auf eine
eigene Prozeßschnittstelle (6) gänzlich verzichtet
wird.
Für die Organisation des Funktionsablaufes der
Vorrichtung ist es wichtig, daß jede Recheneinheit mit
einer eineindeutigen Kennung markiert ist. Diese
Aufgabe wird durch einen im PPE Modul integrierten
Node.id-Schaltkreis (19) realisiert. Dazu wird jede
Recheneinheit mit einer externen Codierung versehen,
die für jede Recheneinheit nur einmal vergeben wird.
Der Node.id-Schaltkreis (19) interpretiert die
eingestellte Kodierung und generiert eine
eineindeutige Kennung, die auch einen
Mehrfachbitfehler toleriert.
Jedes PPE Modul umfaßt weiterhin einen internen
Schreib-/Lesespeicher (9), der über eine Einrichtung
zur Fehlererkennung und -korrektur (Error Detection
and Correction-EDAC) verfügt.
Damit die Recheneinheit auch für Anwendungen mit einem
großen Automatisierungsgrad verwendet werden kann,
enthält das Multichip PPE Module eine geeignete
parallele Datenbus -Schnittstelle (7a) zur Erweiterung
des internen Schreib- Lesespeicher mit externen RAM-Spei
cherbausteinen (7). Diese Schnittstelle enthält
alle dafür notwendigen Daten- und Steuerleitungen.
Zur problemlosen Anbindung externer
Prozessschnittstellen (6) weist das PPE Modul
schließlich auch einen eigenen Schreib-/Lesespeicher-Schalt
kreis (6a) (z. B. Dual Port RAM) auf, der sowohl
von den internen Multichip Processor-Steuereinheiten
adressierbar ist, als auch von einem beliebigen
externen Microprocessor, der sich in der externen
Prozesssteuerung befindet. Zugriffskonflikte, die bei
gleichzeitiger Adressierung entstehen können, werden
von dem Schreib-/Lesespeicher-Schaltkreis
automatisch so geregelt, daß keine Datenverluste
entstehen. Die Integration des dualen Schreib-/Le
sespeichers in das PPE Modul erlaubt vor allem den
Aufbau von z. B. VME-kompatiblen Redundanzeinheiten mit
nur geringem, zusätzlichen externen Bauteileaufwand.
Dies ist insbesondere für Redundanzeinheiten
erforderlich, die für einen größeren
Automatisierungsgrad vorgesehen sind und bei denen eine
zusätzliche, unabhängige Prozessschnittstelle (6)
integriert wird.
Claims (11)
1. Vorrichtung zur fehlertoleranten Ausführung von
Programmen, insbesondere zur Ausführung von
Digitalrechnerprogrammen, durch parallelen Betrieb
von als Redundanzeinheiten ausgebildeten
Recheneinheiten, dadurch gekennzeichnet, daß jede
Recheneinheit (1) eine Mikroprozessoreinheit zur
Steuerung der Funktionen der Recheneinheit in der
Weise aufweist, daß die Vorrichtung mit einer oder
mehreren Recheneinheiten betreibbar ist, wobei
entsprechend einem durch Kodierung vorbestimmten
Redundanzgrad der Vorrichtung eine beliebige
Anzahl von Recheneinheiten über eine Datenleitung
(21) zur Übertragung von Daten, eine Taktleitung
(22) zur Zwangssynchronisierung und eine
Resetleitung (23) zum Ein- und Ausschalten jeder
Recheneinheit (1) paralleischaltbar ist und daß
die Datenleitung, die Taktleitung und die
Resetleitung jeweils eine erste, eine zweite
bzw. eine dritte Cross Strapping-Verbindung
sind, wobei durch einen ein- oder mehrfachen
seriellen Feldbus (4a, 4b), mit dem jede
Recheneinheit (1) über eine dieser zugeordneten
seriellen Bus-Steuereinheit (3) verbunden ist.
2. Vorrichtung nach Anspruch 1, gekennzeichnet durch
eine jeder Recheneinheit (1) zugeordnete externe
Speichereinrichtung (7).
3. Vorrichtung nach Anspruch 1 oder 2,
gekennzeichnet durch mindestens einen
Anwendungsprozessor (5), der über einen
Mehrprozessorbus, wie einen VME-Bus (6), mit der
mindestens einer Recheneinheit (1) verbunden ist.
4. Recheneinheit zur Anwendung in einer Vorrichtung
nach einem der vorhergehenden Ansprüche,
gekennzeichnet durch ein PPE Modul mit mindestens
einer Mikroprozessor-Steuereinheit zur Steuerung
der Funktionen der Recheneinheit sowie zur
Durchführung eines Datenvergleichs und eines
Datenaustauschs mit anderen gleichen
Recheneinheiten.
5. Recheneinheit nach Anspruch 4, dadurch
gekennzeichnet, daß das PPE Modul einen
elektrisch lösch- und programmierbaren
Lesespeicher für Programme zur Steuerung der
Recheneinheit aufweist.
6. Recheneinheit nach Anspruch 4 oder 5, dadurch
gekennzeichnet, daß das PPE Modul ein
standardisiertes, paralleles Businterface mit
Daten- und Steuerleitungen zur Verbindung der
Recheneinheit mit mindestens einem seriellen Bus
aufweist.
7. Recheneinheit nach einem der Ansprüche 4 bis 6,
dadurch gekennzeichnet, daß das PPE Modul eine
Steuereinheit (14) zur Fehlerbehandlung sowie ein
dieser zugeordnetes, erstes Cross Strapping
Interface (11a) zur seriellen Verbindung mit
anderen Recheneinheiten (1) aufweist.
8. Recheneinheit nach einem der Ansprüche 4 bis 7,
dadurch gekennzeichnet, daß das PPE Modul eine
fehlertolerante Taktgeberschaltung (15) zur
Zwangssynchronisierung der Recheneinheit (1) mit
anderen Recheneinheiten sowie ein zweites, dieser
zugeordnetes Cross Strapping Interface (11b) zur
seriellen Verbindung mit anderen Recheneinheiten
aufweist.
9. Recheneinheit nach einem der Ansprüche 4 bis 8,
dadurch gekennzeichnet, daß das PPE Modul eine
Schaltung (16) zur fehlertoleranten Resetsteuerung
sowie ein drittes, dieser zugeordnetes Cross
Strapping Interface (11c) zur entfernten
Resetsteuerung aufweist.
10. Recheneinheit nach einem der Ansprüche 4 bis 9,
dadurch gekennzeichnet, daß das PPE Modul eine
Schaltung (19) aufweist, mit der der
Recheneinheit eine diese identifizierende Kennung
zugewiesen wird.
11. Rechnereinheit dadurch gekennzeichnet, daß alle
wesentlichen Bestandteile nach Fig. 4 (6a, 7a, 8,
9, 11a, 11b, 11c, 12, 13a, 13b, 14a, 14b, 15, 16,
17, 18, 19) in das PPE Modul integriert sind,
welches als Multichip Modul, System on a Chip,
Hybrid Schaltkreis, Piggy Pack Modul oder durch
ein ähnliches Miniaturmodul realisiert ist.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19815263A DE19815263C2 (de) | 1998-04-04 | 1998-04-04 | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
EP99104451.2A EP0952520B1 (de) | 1998-04-04 | 1999-03-05 | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
US09/286,174 US6434712B1 (en) | 1998-04-04 | 1999-04-05 | Method and apparatus for fault tolerant execution of computer programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19815263A DE19815263C2 (de) | 1998-04-04 | 1998-04-04 | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19815263A1 true DE19815263A1 (de) | 1999-10-07 |
DE19815263C2 DE19815263C2 (de) | 2002-03-28 |
Family
ID=7863680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19815263A Expired - Fee Related DE19815263C2 (de) | 1998-04-04 | 1998-04-04 | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
Country Status (3)
Country | Link |
---|---|
US (1) | US6434712B1 (de) |
EP (1) | EP0952520B1 (de) |
DE (1) | DE19815263C2 (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE50013722D1 (de) * | 1999-05-03 | 2006-12-21 | Infineon Technologies Ag | Verfahren und vorrichtung zur sicherung eines mehrdimensional aufgebauten chipstapels |
US6865591B1 (en) * | 2000-06-30 | 2005-03-08 | Intel Corporation | Apparatus and method for building distributed fault-tolerant/high-availability computed applications |
US6785841B2 (en) * | 2000-12-14 | 2004-08-31 | International Business Machines Corporation | Processor with redundant logic |
DE10126749A1 (de) * | 2001-05-31 | 2003-01-23 | Wittenstein Ag | Datenverarbeitungsstruktur |
US7581210B2 (en) * | 2003-09-10 | 2009-08-25 | Hewlett-Packard Development Company, L.P. | Compiler-scheduled CPU functional testing |
US7206969B2 (en) * | 2003-09-10 | 2007-04-17 | Hewlett-Packard Development Company, L.P. | Opportunistic pattern-based CPU functional testing |
US7213170B2 (en) * | 2003-09-10 | 2007-05-01 | Hewlett-Packard Development Company, L.P. | Opportunistic CPU functional testing with hardware compare |
US7613961B2 (en) * | 2003-10-14 | 2009-11-03 | Hewlett-Packard Development Company, L.P. | CPU register diagnostic testing |
US7415700B2 (en) * | 2003-10-14 | 2008-08-19 | Hewlett-Packard Development Company, L.P. | Runtime quality verification of execution units |
US7206966B2 (en) * | 2003-10-22 | 2007-04-17 | Hewlett-Packard Development Company, L.P. | Fault-tolerant multi-core microprocessing |
WO2006045773A2 (de) * | 2004-10-25 | 2006-05-04 | Robert Bosch Gmbh | Vorrichtung und verfahren zur modusumschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten |
EP1805618A2 (de) * | 2004-10-25 | 2007-07-11 | Robert Bosch Gmbh | Vorrichtung und verfahren zur modusumschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten |
US8527741B2 (en) * | 2005-07-05 | 2013-09-03 | Viasat, Inc. | System for selectively synchronizing high-assurance software tasks on multiple processors at a software routine level |
US8190877B2 (en) * | 2005-07-05 | 2012-05-29 | Viasat, Inc. | Trusted cryptographic processor |
US7802075B2 (en) * | 2005-07-05 | 2010-09-21 | Viasat, Inc. | Synchronized high-assurance circuits |
US7797575B2 (en) * | 2007-04-04 | 2010-09-14 | International Business Machines Corporation | Triple voting cell processors for single event upset protection |
JP2009087282A (ja) * | 2007-10-03 | 2009-04-23 | Fuji Xerox Co Ltd | 並列計算システムおよび並列計算方法 |
US8015390B1 (en) * | 2008-03-19 | 2011-09-06 | Rockwell Collins, Inc. | Dissimilar processor synchronization in fly-by-wire high integrity computing platforms and displays |
US8010846B1 (en) * | 2008-04-30 | 2011-08-30 | Honeywell International Inc. | Scalable self-checking processing platform including processors executing both coupled and uncoupled applications within a frame |
US8051323B2 (en) * | 2010-01-21 | 2011-11-01 | Arm Limited | Auxiliary circuit structure in a split-lock dual processor system |
US20110179255A1 (en) * | 2010-01-21 | 2011-07-21 | Arm Limited | Data processing reset operations |
US8108730B2 (en) * | 2010-01-21 | 2012-01-31 | Arm Limited | Debugging a multiprocessor system that switches between a locked mode and a split mode |
CN101877528B (zh) * | 2010-05-27 | 2013-02-13 | 国电南京自动化股份有限公司 | 基于高压变频器的双cpu冗余容错系统及其实现方法 |
DE102012201185A1 (de) * | 2012-01-27 | 2013-08-01 | Siemens Aktiengesellschaft | Verfahren zum Betreiben mindestens zweier Datenverarbeitungseinheiten mit hoher Verfügbarkeit, insbesondere in einem Fahrzeug, und Vorrichtung zum Betreiben einer Maschine |
EP2813949B1 (de) | 2013-06-11 | 2019-08-07 | ABB Schweiz AG | Mehrkernprozessorfehlererkennung für sicherheitskritische softwareanwendungen |
US9992010B2 (en) * | 2015-11-24 | 2018-06-05 | The Charles Stark Draper Laboratory, Inc. | System and method for augmenting duplexed replicated computing |
US11334452B1 (en) * | 2021-06-08 | 2022-05-17 | International Business Machines Corporation | Performing remote part reseat actions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4019674A1 (de) * | 1989-06-23 | 1991-01-10 | Ansaldo Spa | Abschaltplatine zum trennen eines einzelprozessors vom kommunikationsbus eines aus mehreren einzelprozessoren bestehenden computerisierten systems |
DE4401168C2 (de) * | 1993-02-01 | 1996-06-27 | Daimler Benz Aerospace Ag | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4015246A (en) * | 1975-04-14 | 1977-03-29 | The Charles Stark Draper Laboratory, Inc. | Synchronous fault tolerant multi-processor system |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
GB2097563B (en) * | 1981-03-07 | 1985-10-16 | British Aerospace | Serial bus interface unit |
US4453215A (en) * | 1981-10-01 | 1984-06-05 | Stratus Computer, Inc. | Central processing apparatus for fault-tolerant computing |
JPH0812621B2 (ja) * | 1981-10-01 | 1996-02-07 | ストレイタス・コンピュータ・インコーポレイテッド | 情報転送方法及び装置 |
US4757442A (en) * | 1985-06-17 | 1988-07-12 | Nec Corporation | Re-synchronization system using common memory bus to transfer restart data from non-faulty processor to failed processor |
US4967347A (en) * | 1986-04-03 | 1990-10-30 | Bh-F (Triplex) Inc. | Multiple-redundant fault detection system and related method for its use |
US4907232A (en) * | 1988-04-28 | 1990-03-06 | The Charles Stark Draper Laboratory, Inc. | Fault-tolerant parallel processing system |
US4937741A (en) * | 1988-04-28 | 1990-06-26 | The Charles Stark Draper Laboratory, Inc. | Synchronization of fault-tolerant parallel processing systems |
US4964126A (en) * | 1988-09-30 | 1990-10-16 | Massachusetts Institute Of Technology | Fault tolerant signal processing machine and method |
AU625293B2 (en) * | 1988-12-09 | 1992-07-09 | Tandem Computers Incorporated | Synchronization of fault-tolerant computer system having multiple processors |
US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5317752A (en) * | 1989-12-22 | 1994-05-31 | Tandem Computers Incorporated | Fault-tolerant computer system with auto-restart after power-fall |
US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
US5325518A (en) * | 1991-04-02 | 1994-06-28 | Carnegie Mellon University | Adaptive distributed system and method for fault tolerance |
US5313628A (en) * | 1991-12-30 | 1994-05-17 | International Business Machines Corporation | Component replacement control for fault-tolerant data processing system |
US5751932A (en) * | 1992-12-17 | 1998-05-12 | Tandem Computers Incorporated | Fail-fast, fail-functional, fault-tolerant multiprocessor system |
DE69424565T2 (de) * | 1993-12-01 | 2001-01-18 | Marathon Techn Corp | Fehler-betriebssichere/fehler tolerante computerbetriebsmethode |
US5790397A (en) * | 1996-09-17 | 1998-08-04 | Marathon Technologies Corporation | Fault resilient/fault tolerant computing |
-
1998
- 1998-04-04 DE DE19815263A patent/DE19815263C2/de not_active Expired - Fee Related
-
1999
- 1999-03-05 EP EP99104451.2A patent/EP0952520B1/de not_active Expired - Lifetime
- 1999-04-05 US US09/286,174 patent/US6434712B1/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4019674A1 (de) * | 1989-06-23 | 1991-01-10 | Ansaldo Spa | Abschaltplatine zum trennen eines einzelprozessors vom kommunikationsbus eines aus mehreren einzelprozessoren bestehenden computerisierten systems |
DE4401168C2 (de) * | 1993-02-01 | 1996-06-27 | Daimler Benz Aerospace Ag | Vorrichtung zur fehlertoleranten Ausführung von Programmen |
Also Published As
Publication number | Publication date |
---|---|
US6434712B1 (en) | 2002-08-13 |
EP0952520B1 (de) | 2016-10-05 |
DE19815263C2 (de) | 2002-03-28 |
EP0952520A3 (de) | 2006-04-12 |
EP0952520A2 (de) | 1999-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19815263C2 (de) | Vorrichtung zur fehlertoleranten Ausführung von Programmen | |
DE2856483C2 (de) | ||
DE2726753C2 (de) | Ferngesteuerter Prüf-Interface-Adapter | |
EP0048767B1 (de) | Prioritätsstufengesteuerte Unterbrechungseinrichtung | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE2935841C2 (de) | Mehrprozessoranlage | |
DE3606650A1 (de) | Hardware logik-simulator | |
EP0057756A2 (de) | Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen | |
DE3013070C2 (de) | Schaltungsanordnung zur Bearbeitung von aus mehreren peripheren Geräten herangeführten Anforderungssignalen innerhalb einer datenverarbeitenden Einrichtung | |
DE2536622A1 (de) | Mikroprogrammsteuerung mit flexibler auswahl von steuerworten | |
DE3048414A1 (de) | "schaltungsanordnung fuer eine datenverarbeitungsanlage" | |
DE19983975B3 (de) | Programmierbares Steuersystem und Rücksetz-Steuerverfahren für das programmierbare Steuersystem | |
DE60300233T2 (de) | Fehlertolerante Vorrichtung zur informationsverarbeitung | |
DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
DE2647367C3 (de) | Redundante Prozeßsteueranordnung | |
DE69915788T2 (de) | Mikrokontrollgerät mit Fehlerbeseitigungsunterstützung | |
EP0113379A1 (de) | Rechnerkopplung | |
EP1260905B1 (de) | Programmgesteuerte Einheit | |
DE1806172A1 (de) | Prioritaetsschaltung | |
DE19948904C1 (de) | Schaltungszelle mit eingebauter Selbsttestfunktion und Verfahren zum Testen hierfür | |
DE3426902A1 (de) | Schaltungsanordnung zum konfigurieren von peripherieeinheiten in einer datenverarbeitungsanlage | |
DE2607687C2 (de) | Verfahren zum Steuern von Gruppen von Geräten in einer mit elektronischer Datenverarbeitung arbeitenden Fernsprechvermittlungsanlage und deren Ausbildung | |
DE2632561A1 (de) | Steuereinrichtung fuer eine echtzeitsteuerung, insbesondere fuer fernsprechvermittlungsanlagen | |
DE19843147C1 (de) | Verfahren zur Steuerung der unterbrechungsfreien Stromversorgung eines Datenverarbeitungssystems und Datenverarbeitungssystem mit einer unterbrechungsfreien Stromversorgung | |
DE3211265A1 (de) | Zweikanaliges fail-safe-mikrocomputerschaltwerk, insbesondere fuer eisenbahnsicherungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: ASTRIUM GMBH, 85521 OTTOBRUNN, DE |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: EADS SPACE TRANSPORTATION GMBH, 28199 BREMEN, DE |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: ASTRIUM GMBH, 85521 OTTOBRUNN, DE |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: ASTRIUM GMBH, 82024 TAUFKIRCHEN, DE |
|
R082 | Change of representative |
Representative=s name: ELBPATENT-MARSCHALL & PARTNER MBB, DE Representative=s name: ELBPATENT-MARSCHALL & PARTNER, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |