-
Stand der Technik
-
Die
Erfindung betrifft eine Vorrichtung zum Betreiben eines Rechnersystems,
welches mindestens zwei Paare mit jeweils zwei Ausführungseinheiten
aufweist, wobei die zwei Ausführungseinheiten jedes Paares
ein gleiches Programm abarbeiten und die Ausgangssignale der Ausführungseinheiten
eines Paares durch je eine Vergleichseinheit miteinander verglichen
werden, wobei beim Auftreten einer Abweichung der Ausgangssignale
der Ausführungseinheiten eines Paares voneinander von der
Vergleichseinheit
ein Fehlersignal ausgegeben wird sowie ein
Verfahren zum Betreiben des Rechnersystems.
-
Eine
gattungsgemäße Vorrichtung ist aus der
WO 2007/017381 A1 bekannt.
Ein Multiprozessorsystem besitzt mindestens vier Ausführungseinheiten,
wobei immer mindestens zwei Ausführungseinheiten gleiche
Aufgaben und Prozesse abarbeiten. Mittels einer Vergleichseinheit
werden die von jeweils zwei Ausführungseinheiten, die dieselben
Programme abarbeiten, ausgegebenen Ausgangssignale verglichen und
bei einer Abweichung dieser beiden Ausgangssignale voneinander ein
Fehlersignal ausgegeben. Dieser als Vergleichs-Modus bezeichnete Fall
kommt hauptsächlich in Anwendungen mit hohen Fehlererkennungsanforderungen,
z. B. sicherheitsrelevanten Anwendungen zum Einsatz. Der Vergleichsmodus
kann als Locksteg-Betrieb oder auch als Betrieb mit einem festen
Taktversatz realisiert werden.
-
Das
Mikroprozessorsystem besitzt eine Resetleitung. Wird bei einem Paar
von Ausführungseinheiten ein Fehler erkannt, kann zur Beseitigung
des Fehlers über die Resetleitung das gesamte Mikroprozessorsystem
heruntergefahren und neu gestartet werden. Da der Neustart auch
eine Überprüfung der Funktionsfähigkeit
des gesamten Mikroprozessorsystems beinhaltet, werden in diesen
relativ langen Zeitraum keine Funktionen von dem Mikroprozessorsystem
abgearbeitet.
-
Offenbarung der Erfindung
-
Die
erfindungsgemäße Vorrichtung zum Betreiben eines
Rechnersystems mit den Merkmalen des Anspruchs 1 weist gegenüber
den bekannten Lösungsansätzen den Vorteil auf,
dass die Paare von Ausführungseinheiten unabhängig
voneinander einen Neustart ausführen können. Dadurch,
dass jedes Paar von Ausführungseinheiten eine separate Resetleitung
aufweist, kann das fehlerhaft arbeitende Paar den Neustart und eventuell
eine darüber hinaus gehende Funktionsprüfung der
Ausführungseinheiten durchführen, während
das fehlerfrei arbeitende Paar unbeeinflusst seine ihm übertragenen
Funktionen ausführt. Somit wird im Fehlerfall eines Paares gewährleistet,
dass das Rechnersystem ohne Ausfälle seine Arbeit weiter
verfolgen kann.
-
In
einer Ausgestaltung ist die separate Resetleitung bei Auftreten
des Fehlersignales des betreffenden Paares von Ausführungseinheiten
aktiviert.
-
Vorteilhafterweise
ist die Resetleitung jedes Paares von Ausführungseinheiten
mit der das Fehlersignal ausgebenden und einen Neustart auslösenden
Vergleichseinheit des jeweiligen Paares von Ausführungseinheiten
verbunden. Die Vergleichseinheit führt dabei eine Doppelfunktion
aus, da sie nicht nur den Fehler erkennt, der Ursache für
einen Neustart des Paares von Ausführungseinheiten ist,
sondern auch gleichzeitig den Neustart an dem fehlerhaft arbeitenden
Paar selbst initiieren kann. Auf zusätzliche Bauteile kann
daher verzichtet werden, was eine kostengünstige Lösung
ermöglicht.
-
Alternativ
sind alle Resetleitungen der Paare von Ausführungseinheiten
mit einer Fehlersignalisierungseinrichtung verbunden, welche ein
Resetsignal auf der Resetleitung des fehlerhaft arbeitenden Paares
auslöst. Mit der Fehlersignalisierungseinrichtung übernimmt
eine einzige Einheit die gesamte Überwachung von Fehlersignalen
sowie die Information des gesamten Rechnersystems, wobei auf Verbindungen zwischen
den einzelnen Elementen des Rechnersystems verzichtet werden kann,
was eine besonders kostengünstige Variante darstellt.
-
Die
Verwendung einer Fehlersignalisierungseinrichtung ist insbesondere
dann von Vorteil, wenn mehr als zwei Paare von Ausführungseinheiten das
Rechnersystem bilden, da sie Fehlermeldungssignale aufsammeln und
entsprechende Fehlerreaktionen einleiten kann. Dies ist auch dann
gewährleistet, wenn die Vergleicher mehrerer Paare von
Ausführungseinheiten gleichzeitig einen Fehler melden.
-
In
einer anderen Ausgestaltung ist jedes Paar von Ausführungseinheiten
mit einer Resetanforderungslogik verbunden, wobei eine Resetanforderung
für das fehlerhaft arbeitende Paar von mindestens zwei
der fehlerfrei arbeitenden Paare von Ausführungseinheiten
an die Resetanforderungslogik ausgegeben wird, welche einen Reset
des fehlerhaft arbeitenden Paares von Ausführungseinheiten
anstößt. In Fällen, in welchen die Vergleichseinheit
den Fehler in einer Ausführungseinheit nicht detektieren kann,
beispielsweise, wenn sich die Ausführungseinheiten eines
Paares in einer Endlosschleife befinden, ist es vorteilhaft, dass
diese Situation von anderen Quellen überwacht und gemeldet
werden. Bei mehr als zwei Paaren von Ausführungseinheiten
in einem Rechnersystem können die Paare untereinander beim
Austausch der Daten ebenfalls Unkorrektheiten in der Arbeitsweise
eines Paares von Ausführungseinheiten bemerken. Um sicher
zu stellen, dass das gemeldete Paar und nicht das Paar, welches
das Fehlermeldungssignal ausgibt, fehlerhaft arbeitet, wird ein
Neustart an dem fehlerhaft arbeitenden Paar von Ausführungseinheiten
nur dann ausgeführt, wenn mindestens zwei fehlerfrei arbeitende
Paare dasselbe Fehlermeldungssignal ausgeben. Die Fehlermeldungssignale
werden an die Resetanforderungslogik übermittelt, welche
bei der Übereinstimmung von mindestens zwei Fehlermeldungssignalen den
Neustart an dem fehlerhaft arbeitenden Paar ausgibt.
-
Vorteilhafterweise
aktiviert die Resetanforderungslogik direkt die Resetleitung. Dabei
kann auf zusätzliche Bauelemente verzichtet werden.
-
Alternativ
ist die Resetanforderungslogik mit der Fehlersignalisierungseinrichtung
verbunden, welche die Resetleitung aktiviert. Um die Anzahl der Bauteile
im Rechnersystem zu minimieren, ist die Resetanforderungslogik Bestandteil
der Fehlersignalisierungsrichtung.
-
In
einer Weiterbildung erhält das fehlerfrei arbeitende Paar
von Ausführungseinheiten eine Information über
den Fehlerfall des fehlerhaft arbeitenden Paares von Ausführungseinheiten.
Mittels dieser Information schaltet das fehlerfrei arbeitende Paar
seine Arbeitsweise um, um kurzfristig reagieren und sicherheitsrelevante
Programmteile des fehlerhaft arbeitenden Paares übernehmen
zu können. Die Information des fehlerfrei arbeitenden Paares
an Ausführungseinheiten ist für die weitere Arbeitsweise
des Rechnersystems von Bedeutung, da das fehlerfrei arbeitende Paar
von Ausführungseinheiten in diesem Fall seine Arbeitsweise
der neuen Situation anpassen kann.
-
In
einer Ausgestaltung löst die Fehlersignalisierungseinrichtung
zur Information über den Fehlerfall an dem fehlerfrei arbeitenden
Paar von Ausführungseinheiten einen Interrupt aus. Dies
ist die schnellste und komfortabelste Methode der Information, da
das fehlerfrei arbeitende Paar über die Existenz des Interrupts
gleichzeitig den Status des Vergleichs der Ausgangssignale der Ausführungseinheiten
des fehlerhaft arbeitenden Paares mitgeteilt bekommt. Der Interrupt
wird vorteilhafterweise gleichzeitig mit dem Resetsignal ausgelöst,
wodurch die Abläufe innerhalb des Rechnersystems vereinfacht werden.
Dies ist immer dann von wesentlicher Bedeutung, wenn das fehlerfrei
arbeitende Paar von Ausführungseinheiten besonders schnell über
das kurzfristigen Ausfallen des fehlerhaft arbeitenden Paares informiert
werden muss, um beispielsweise ein Notfallprogramm zu aktivieren.
-
Vorteilhafterweise
ist die Fehlersignalisierungseinrichtung über ein Kommunikationssystem mit
den Vergleichseinheiten der Paare von Ausführungseinheiten
und/oder mit peripheren Einheiten verbunden. Durch das Kommunikationssystem
ist eine schnelle Information aller Elemente des Rechnersystems über
den Fehlerfall möglich, wodurch ein sicherer Betrieb des
Rechnersystems gewährleistet wird. Darüber hinaus
besteht die Möglichkeit, in der Fehlersignalisierungseinrichtung
festzulegen, welche Elemente des Rechnersystems über den
Fehlerfall informiert werden sollen. Darüber hinaus kann auch
festgelegt werden, ob diese Benachrichtigung über einen
Interrupt erfolgen soll.
-
In
einer Ausgestaltung weist die Fehlersignalisierungseinrichtung eine
Speichereinheit auf, welche eine von den Ausführungseinheiten
und/oder den peripheren Einheiten über das Kommunikationssystem
lesbare Information über den Fehlerfall des fehlerhaft
arbeitenden Paares von Ausführungseinheiten enthält.
Somit kann bei Bedarf jedes Element des Rechnersystems selbständig
auf die Informationen über die Fehler und die eingeleiteten
Fehler korrigierenden Maßnahmen zugreifen.
-
In
einer Weiterbildung ist als periphere Einheit ein Zähler
vorhanden, welcher die Anzahl der von der Fehlersignalisierungseinrichtung
initiierten Fehler korrigierenden Maßnahmen an dem fehlerhaft arbeitenden
Paar von Ausführungseinheiten während einer bestimmten
Zeiteinheit zählt, wobei bei Überschreitung einer
vorgegebenen Anzahl von Fehler korrigierenden Maßnahmen
bei dem fehlerhaft arbeitenden Paar von Ausführungseinheiten
die Fehler korrigierenden Maßnahmen von der Fehlersignalisierungseinrichtung
eingestellt werden. Bei einer Vielzahl von nacheinander notwendigen
Fehler korrigierenden Maßnahmen wird auf einen permanenten Fehler
in der Hardware des fehlerhaft arbeitenden Paares von Ausführungseinheiten
geschlossen, weshalb dieses Paar dann dauerhaft abgeschaltet wird.
-
Vorteilhafterweise
unterbricht die Fehlersignalisierungseinrichtung zur Einstellung
der Fehler korrigierenden Maßnahmen an dem fehlerhaft arbeitenden
Paar von Ausführungseinheiten eine Taktleitung oder aktiviert
eine Halteleitung der Ausführungseinheiten. Alternativ
unterbricht die Fehlersignalisierungseinrichtung zur Einstellung
der Fehler korrigierenden Maßnahmen an dem fehlerhaft arbeitenden Paar
von Ausführungseinheiten die Spannungsversorgung der Ausführungseinheiten.
Die Abschaltung des fehlerhaft arbeitenden Paares erfolgt somit
mit solchen Mitteln, dass das Rechnersystem durch den Ausfall des
fehlerhaft arbeitenden Paares nicht gestört wird und unverändert
weiter arbeiten kann.
-
In
einer Weiterbildung erfolgt die Speicherung des Zählwertes
des Zählers in einem permanenten oder in einem flüchtigen
Speicher des Rechnersystems. Die Wahl des Speichers ist davon abhängig,
ob der Zählwert über eine Abschaltung des Rechnersystems
hinaus gespeichert werden soll. Bei einem Start des Rechnersystems
wird der Zählwert der in einem permanenten Speicher abgelegt
ist, wieder aufgerufen, wobei bei Überschreitung eines
definierten Grenzwertes durch den Zählwert das fehlerhaft
arbeitende Paar permanent abgeschaltet wird. Somit arbeitet das
Rechnersystem gleich von Beginn an mit einer reduzierten Bauteilekonfiguration,
wodurch die Anzahl der sich ständig wiederholenden Re sets
für das fehlerhaft arbeitende Paar von Ausführungseinheiten
und der dadurch ausgelösten Interruptlast von vornherein
verringert bzw. unterbunden wird.
-
Vorteilhafterweise
wird nach dem Auftreten des Fehlersignals das zum Zeitpunkt der
Abweichung auf dem fehlerhaft arbeitenden Paar von Ausführungseinheiten
laufende, eine Funktion beschreibende Programmteil des Programms
von dem fehlerfrei arbeitenden Paar von Ausführungseinheiten
weiter bearbeitet. Auf eine Komplettabschaltung des Rechnersystems
kann somit verzichtet und trotzdem ein sicherer Betrieb des Rechnersystems
aufrechterhalten werden. Sicherheit und Verfügbarkeit des
Systems werden gleichzeitig aufrechterhalten. Somit ist eine kurzfristige
Fehlerbehandlung jederzeit möglich.
-
In
einer Ausgestaltung nimmt das fehlerfrei arbeitende Paar von Ausführungseinheiten
nach der Aktivierung der Resetleitung des fehlerhaft arbeitenden
Paares eine Neupriorisierung der abzuarbeitenden Programmteile von
dem fehlerhaft arbeitenden Paar und seiner eigenen Programmteile
vor. Somit steht unmittelbar nach dem bekannt werden des Fehlerfalles
die Reihenfolge der auf dem fehlerfrei arbeitenden Paar von Ausführungseinheiten
zu bearbeitenden Programmteile fest, wodurch die Abarbeitung des
Programms zügig weiter erfolgen kann und die Sicherheit
der durch das Rechnersystem betriebenen Anwendung lückenlos
gewährleistet wird.
-
In
einer Weiterbildung nimmt das fehlerfrei arbeitende Paar von Ausführungseinheiten
nach der Aktivierung der Resetleitung des fehlerhaft arbeitenden
Paares eine Funktionsänderung im Programm vor. Dabei werden
beispielsweise nur noch Notfallprogramme bearbeitet.
-
Vorteilhafterweise
löst die Fehlersignalisierungseinrichtung zur Übergabe
des laufenden Programmteiles einen Interrupt auf dem fehlerfrei
arbeitenden Paar von Ausführungseinheiten aus. Mittels dieser
einfachen und komfortablen Vorgehensweise wird dem fehlerfrei arbeitenden
Paar von Ausführungseinheiten sehr schnell signalisiert,
dass sie Programmteile des fehlerhaft arbeitenden und somit kurzfristig
ausfallenden Paares übernehmen bzw. eine Funktionsänderung
des Programms ausführen muss.
-
In
einer Ausgestaltung löst die Fehlersignalisierungseinrichtung
im Fehlerfall nach dem Auslösen der Fehler korrigierenden
Maßnahme eine Initialisierung einer Fehlerbehandlungsroutine
auf dem fehlerhaft arbeitenden Paar von Ausführungseinheiten aus.
Mittels einem solchen Prüfmodus wird festgestellt, ob überhaupt
ein permanenter Fehler vorliegt oder ob es sich bei dem detektierten
Fehler um einen einmalig auftretenden transienten Fehler handelt, welcher
durch EMV-Einflüsse, radioaktive oder kosmische Einflüsse
eine kurzfristige Störung des Programmablaufes verursacht
hat. Ein transienter Fehler wird sich nicht wiederholen, weshalb
anschließend beide Paare von Ausführungseinheiten
fehlerfrei weiter arbeiten können.
-
In
einer Weiterbildung macht die Fehlersignalisierungseinrichtung das
Ergebnis der Fehlerbehandlungsroutine dem Rechnersystem über
das Kommunikationssystem bekannt. Somit ist eine direkte Information
zwischen den Elementen des Rechnersystems auch im Fehlerfall gegeben.
-
Vorteilhafterweise
ist die Fehlersignalisierungseinrichtung zur Anzeige des Fehlers
mit einem externen Fehleranschluss des Rechnersystems verbunden.
So kann insbesondere bei einer bevorstehenden Abschaltung des gesamten
Rechnersystems dem Nutzer der Systems signalisiert werden, dass ein
Fehler im Rechnersystem detektiert wurde. Die Fehlersignalisierungseinrichtung
steuert den externen Fehleranschluss erst dann an, wenn eine bestimmte
Anzahl oder bestimmte Paare von Ausführungseinheiten als
fehlerhaft gekennzeichnet sind oder sich im Reset befinden. Diese
Grenzen werden vorher beispielsweise während der Initialisierung
in der Fehlersignalisierungseinrichtung konfiguriert.
-
In
einer Ausgestaltung sind die Resetleitungen der beiden Paare von
Ausführungseinheiten mit einem externen Reset-Anschluss
verbunden, um bei einem Start des Rechnersystems die gleichzeitige Auslösung
des Resetsignals bei beiden Paaren von Ausführungseinheiten
zu ermöglichen. Diese Resetleitungen können somit
zu Beginn eines Systemstartes des Rechnersystems für den
anstehenden Neustart der Ausführungseinheiten genutzt werden,
da der externe Reset-Anschluss alle Resetleitungen der Paare von
Ausführungseinheiten gleichzeitig beeinflussen kann.
-
Alternativ
ist der externe Resetanschluss mit der Resetanforderungslogik verbunden
ist, in welcher eine Initialisierungsreihenfolge der beiden Paare
von Ausführungseinheiten des Rechnersystems für
den Start des Rechnersystems abgelegt ist. In der Resetanforderungslogik
wird konfiguriert, ob die Resetleitungen der Paare von Ausführungseinheiten gleichzeitig
oder in einer vorgegebenen Abfolge aktiviert werden sollen, was
einen flexibleren Einsatz des externen Reset-Anschlusses möglich
macht.
-
In
einer Weiterbildung sind zwei externe Reset-Anschlüsse
vorhanden, welche eine Reihenfolge der Aktivierung der Resetleitungen
der beiden Paare von Ausführungseinheiten extern bestimmen,
was eine Verbesserung der Fehlerbehandlungsmöglichkeiten
und der Initialisierung nach sich zieht. So bietet ein Nichtansteuern
einer Resetleitung eines Paares von Ausführungseinheiten
die Möglichkeit, ein als fehlerhaft identifiziertes Paar
von Ausführungseinheiten von vorn herein deaktiviert zu
lassen und das Rechnersystem in einer reduzierten Konfiguration
zu starten.
-
Eine
andere Weiterbildung der Erfindung zeigt ein Verfahren zum Betreiben
eines Rechnersystems, welches mindestens zwei Paare mit jeweils zwei
Ausführungseinheiten aufweist, wobei die zwei Ausführungseinheiten
jedes Paares ein gleiches Programm abarbeiten und die Ausgangssignale
der Ausführungseinheiten eines Paares durch je eine Vergleichseinheit
miteinander verglichen werden, wobei beim Auftreten einer Abweichung
der Ausgangssignale der Ausführungseinheiten eines Paares
voneinander von der Vergleichseinheit ein Fehlersignal ausgegeben
wird. Damit im Fehlerfall eines Paares das Rechnersystem ohne Ausfälle
seine Arbeit weiter verfolgen kann, wird an dem Paar von Ausführungseinheiten,
an welchem die Abweichung aufgetreten ist, ein separater Reset ausgeführt.
-
Die
Erfindung lässt zahlreiche Ausführungsformen zu.
Eine davon soll anhand der in der Zeichnung dargestellten Figuren
näher erläutert werden.
-
Es
zeigt:
-
1:
erstes Ausführungsbeispiel eines Rechnersystems mit zwei
Paaren von Recheneinheiten
-
2:
zweites Ausführungsbeispiel eines Rechnersystems mit zwei
Paaren von Recheneinheiten
-
3:
Ausführungsbeispiel mit einer Fehlersignalisierungseinheit
-
4:
Ausführungsbeispiel mit einer Resetanforderungslogik
-
5:
schematischer Programmablauf bei Verwendung einer Resetanforderungslogik
-
6a:
Rechnersystem mit einem externen Resetanschluss
-
6b:
Rechnersystem mit zwei externen Resetanschlüssen Gleiche
Merkmale sind mit gleichen Bezugszeichen gekennzeichnet.
-
In 1 ist
ein Rechnersystem 1 dargestellt, welches vier Recheneinheiten 110, 120, 210 und 220 umfasst.
Jeweils zwei Recheneinheiten 110, 120, 210, 220 sind
zu einem Paar 100, 200 zusammengefasst. Die Recheneinheiten 110, 120 bilden
das Paar 100 und die Recheneinheiten 210, 220 bilden
das Paar 200. Es sind noch weitere separate Recheneinheiten
oder Paare von Recheneinheiten zuschaltbar. Der Übersichtlichkeit
halber werden aber in den weiteren Ausführungen nur zwei
Paare von Recheneinheiten betrachtet. An jedes Paar 100, 200 von
Recheneinheiten 110, 120; 210, 220 ist
eine Resetleitung 140, 240 geführt.
-
Die
Recheneinheiten 110, 120 des ersten Paares 100 sind
mit einer ersten Vergleichseinheit 130 verbunden, während
die Recheneinheiten 210, 220 des zweiten Paares 200 auf
eine zweite Vergleichseinheit 230 führen. Weiterhin
ist die erste Vergleichseinheit 130 mit der ersten Resetleitung 140 des
ersten Paares 100 und die zweite Vergleichseinheit 130 mit
der zweiten Resetleitung 240 des zweiten Paares 200 verbunden.
Die erste 130 und die zweite Vergleichseinheit 230 sind
darüber hinaus mit einer Kommunikationsleitung 1000 verbunden.
An die Kommunikationsleitung 1000 sind weitere Komponenten
wie ein RAM 1100, ein ROM 1200 sowie einen Zähler 1300 angeschlossen.
-
Jedes
Paar 100, 200 von Recheneinheiten 110, 120 bzw. 210, 220 läuft
in einem Vergleichsmodus, d. h. die beiden Recheneinheiten 110, 120 bzw. 210, 220 jedes
Paares 100, 200 führen gleiche Aufgaben
aus. Die Ausgangssignale der beiden Recheneinheiten 110, 120 bzw. 210, 220 jedes
Paares 100, 200 werden von der jeweils zugeordneten
Vergleichseinheit 130, 230 verglichen. Der Vergleichsmodus
kann dabei über eine Lockstep-Verkopplung (d. h. die Recheneinheiten 110, 120; 210, 220 arbeiten
synchron), mittels eines Taktversatzes zwischen den beiden Recheneinheiten 110, 120 bzw. 210, 220 jedes
Paares 100, 200 oder selbst asynchron realisiert
werden. Die Vergleichseinheiten 130, 230 können
demzufolge Zwischenspeicher zur Ermöglichung einer Asynchronität
enthalten, in welchen die Ergebnisse der einen Recheneinheit 110 bzw. 210 solange gespeichert
werden, bis die zweite Recheneinheit 120 bzw. 220 die
Berechnung der gleichen Aufgabe beendet hat und seine Ergebnisse
zum Vergleich an die jeweilige Vergleichseinheit 130, 230 ausgibt.
-
Die
beiden im Vergleichsmodus arbeitenden Paare 100, 200 schreiben
und lesen über die Vergleichseinheiten 130, 230 auf
die Kommunikationsleitung 1000, welche als Datenbus, Crossbar
oder ähnlich geartete Verbindung ausgeprägt ist.
-
Detektiert
die Vergleichseinheit 130 des Paares 100 ein Fehlerereignis
in Form eines Vergleichsfehlers, d. h. die Ergebnisse, welche die
Recheneinheiten 110, 120 liefern, stimmen nicht überein,
initiiert die Vergleichseinheit 130 über die Resetleitung 140 einen
Neustart der Recheneinheiten 110, 120 des Paares 100,
während das Paar 200 der Recheneinheiten 210, 220 unbeeinflusst
weiter arbeitet. Registriert dagegen die Vergleichseinheit 230 des
zweiten Paares 200 von Recheneinheiten 210, 220 einen Vergleichsfehler,
so aktiviert die Vergleichseinheit 230 die Resetleitung 240 des
zweiten Paares 200 der Recheneinheiten 210, 220,
um so einen Reset (Neustart) der Recheneinheiten 210, 220 des
Paares 200 auszulösen. In diesem Fall arbeiten
die Recheneinheiten 110, 120 des ersten Paares 100 unabhängig von
dem Neustart des zweiten Paares 200 das normale Programm
weiter ab.
-
In
einer anderen Ausführungsform, wie sie in 2 dargestellt
ist, ist an die Kommunikationsleitung 1000 eine Fehlersignalisierungseinrichtung 1400 ange schlossen,
wobei die Fehlersignalisierungseinrichtung 1400 ein Register 1410 enthält.
Die Fehlersignalisierungseinrichtung 1400 ist über
die Resetleitung 141 mit dem ersten Paar 100 von
Recheneinheiten 110, 120 verbunden, während
die Resetleitung 241 von der Fehlersignalisierungsvorrichtung 1400 direkt
an das Paar 200 der Recheneinheiten 210, 220 führt.
Weiterhin besteht eine erste Verbindung 142 zwischen der
Fehlersignalisierungsvorrichtung 1400 und der ersten Vergleichseinheit 130 sowie
eine zweite Verbindung 242 zwischen der Fehlersignalisierungseinheit 1400 und
der zweiten Vergleichseinheit 230.
-
Die
Fehlersignalisierungsvorrichtung 1400 hat die Aufgabe,
die Fehlersignalisierungssignale von den verschiedenen, an die Kommunikationsleitung
angeschlossenen Vergleichseinheiten 130, 230 zu
sammeln und eine Fehlerreaktion einzuleiten. Stellt die Vergleichseinheit 130, 230 fest,
dass die Recheneinheiten 110, 120; 210, 220 korrekt
arbeiten, wird das Ergebnis einer Recheneinheit 110, 120; 210, 220 an
die Kommunikationsleitung 1000 ausgegeben. In dem Fall,
dass der Vergleicher 130, 230 ein Ungleichheit
bei den von den Recheneinheiten 110, 120; 210, 220 der
Paare 100, 200 gelieferten Ergebnisse festgestellt,
liefert der Vergleicher 130, 230 über
die jeweilige Verbindung 142, 242 ein Fehlersignal
an die Fehlersignalisierungsvorrichtung 1400.
-
Geht
man von der Annahme aus, dass das erste Paar 100 einen
Fehler aufweist, welcher der Fehlersignalisierungseinrichtung 1400 von
der Vergleichseinheit 130 gemeldet wird, wertet die Fehlersignalisierungseinrichtung 1400 diesen
Fehler aus und kann über die Resetleitung 141 einen
Neustart der Recheneinheiten 110, 120 des ersten
Paares 100 auslösen.
-
Wie
aus 3 hervorgeht, muss die Fehlersignalisierungseinrichtung 1400 nicht
unbedingt über eine Kommunikationsleitung 1000 mit
den beiden Vergleichseinheiten 130, 230 verbunden
sein, sondern kann ausschließlich über eine erste
direkte Leitung 150 mit der Vergleichseinheit 130 und über
eine zweite direkte Leitung 250 mit der Vergleichseinheit 230 verbunden
sein.
-
Die
Einbindung der Fehlersignalisierungseinrichtung 1400 in
das Rechnersystem 1 über eine Kommunikationsleitung 1000 erleichtert
die Information der Paare 100, 200 bzw. der Recheneinheiten 110, 120; 210, 220 über
den aufgetretenen Fehlerfall und den ausgelösten Reset.
Dies ist insbesondere dann von Vorteil, wenn mehr als zwei Paare
von Recheneinheiten in das Rechnersystem 1 integriert sind.
Das Signal, mit welchem die Information erfolgt, ist ein Interrupt,
den die Fehlersignalisierungseinrichtung 1400 gleichzeitig
mit dem Reset auslöst.
-
Die
Verwendung der Fehlersignalisierungseinrichtung 1400 ermöglicht
eine Konfiguration von den Elementen 110, 120; 210, 220; 130, 230, 1100, 1200,1300,
die über den aufgetretenen Fehler benachrichtigt werden
sollen. So erhält das fehlerfrei arbeitende Paar 200 von
Recheneinheiten 210, 220 mit dieser Information
den Auftrag, die von dem fehlerhaft arbeitenden Paar 100 von
Recheneinheiten 110, 120 nicht bearbeiteten, eine
Funktion beschreibenden Programmteile des Programms zur Bearbeitung zu übernehmen.
Dies erfolgt dann, wenn das zur Bearbeitung anstehende Programmteil
des Programms von besonderer Wichtigkeit, beispielsweise einer Sicherheitsrelevanz
ist, oder wenn das fehlerfrei arbeitende Paar 200 freie
Rechenkapazitäten aufweist. Anstelle der Übernahme
des anstehenden Programmteiles können die Recheneinheiten 210, 220 des
Paares 200 auch eine Funktionsänderung vornehmen,
indem beispielsweise Notfallfunktionen anlaufen.
-
Darüber
hinaus lässt sich in der Fehlersignalisierungseinrichtung 1400 auch
festlegen, ob eine erstmalige Information oder auch jede weitere
Information über einen Interrupt erfolgen soll. Weiterhin wird
eingestellt, ob nach einem Reset und einer entsprechenden Signalisierung über
einen Interrupt ein kurz danach auftretender Fehler wieder zu einem
Interrupt führen soll. Eine solche Einstellung ist wichtig, da
das fehlerhafte Paar 100 nach einem Reset eine Prüfroutine
durchläuft, die den Fehler wieder sehr schnell detektiert
und wieder einen Vergleichsfehler an der Vergleichseinheit 130 provoziert.
Dieses Fehlersignal wird wieder an die Fehlersignalisierungseinrichtung 1400 ausgegeben,
welche daraufhin wiederum ein Reset in Verbindung mit einem Interrupt
auslösen würde. Dies führt zu einem Kreislauf,
in welchem ein extrem häufiges Auslösen von Resets
und Interrupts erfolgt, welche aber immer auf den gleichen Fehler
hinweisen.
-
Um
einen solchen Kreislauf zu unterbinden, ist der Zähler 1300 vorhanden,
welcher zählt, wie häufig ein Reset und/oder ein
Interrupt für jedes Paar 100, 200 an
Recheneinheiten 110, 120; 210, 220 ausgelöst
wurde. Wird ein vorgegebener Grenzwert des Zählwertes des
Zahlers überschritten, wird eine permanentere Form der
Fehlerbehandlung verwendet. Für die Interrupts bedeutet
dies, dass keine Interrupts mehr ausgelöst werden. Bei
einem Reset ist die Abspeicherung des Zählwertes in einen
externen, nicht-flüchtigen Speicher 1100 nützlich.
Alternativ dazu besteht die Möglichkeit, das das fehlerhaft
arbeitende Paar 100 von Recheneinheiten 110, 120 dauerhaft
deaktiviert wird, wobei diese permanente Deaktivierung des Paares 100 schon
bei der Initialisierung (Starten) des Rechnersystems 1 erfolgt.
Eine solche permanente Deaktivierung der Recheneinheiten 110, 120 des
Paares 100 erfolgt durch die Unterbrechung der Taktversorgung
oder die Spannungsversorgung des Paares 100. Zu diesem
Zweck steuert die Fehlersignalisierungseinrichtung 1400 einen Schalter 810 in
der Taktversorgung 910 bzw. der Spannungsversorgung an.
Eine andere Möglichkeit der Deaktivierung des Paares 100 von
Recheneinheiten 110, 120 besteht darin, das Paar 100 und
die Fehlersignalisierungseinrichtung 1400 über
eine Halteleitung 710 zu verbinden, wobei die Fehlersignalisierungseinrichtung 1400 die
Halteleitung 710 aktiviert, wodurch die Recheneinheiten 110, 120 in
ihrem aktuellen Zustand verharren und ihre Arbeitsweise einstellen
(3).
-
Wie
in 2 dargestellt, verfügt die Fehlersignalisierungseinrichtung 1400 über
ein Register 1410. In diesem Register 1410 sind
die von der Fehlersignalisierungseinrichtung 1400 gesammelten
Informationen über den Zustand der Fehlereingangssignale
lesbar zumindest für alle Recheneinheiten 110, 120; 210, 220 des
Rechnersystems 1 abgelegt. Diese Recheneinheiten 110, 120; 210, 220 greifen über die
Kommunikationsleitung 1000 auf das Register 1410 zu.
-
Wenn
nach einem erfolgten Reset und einer sich daran anschließenden
Prüfroutine festgestellt wird, dass das zuvor fehlerhaft
arbeitende Paar 100 von Recheneinheiten 110, 120 wieder
funktionsfähig ist, da lediglich ein transienter Fehler
vorlag, wird das nun wieder fehlerfrei arbeitende Paar 100 seine
ursprünglichen, eine Funktion beschreibenden Programmteile
wieder übernehmen, weshalb das Rechnersystem 1 nun
wieder mit zwei Paaren 100, 200 von Recheneinheiten 110, 120; 210, 220 fehlerfrei
arbeitet. Das Paar 200 von Recheneinheiten 210, 220, welches
zwischenzeitlich die Programmteile des Paares 100 übernommen
hatte, wird durch die Fehlersignalisierungseinrichtung 1400 darüber
informiert und geht anschließend wieder in seinen Normalbetrieb über.
Besonders einfach lassen sich die, eine Funktion beschreibenden
Programmteile durch ein Be triebssystem verwalten, welches festlegt,
welches Paar 100, 200 von Recheneinheiten 110, 120; 210, 220,
welches Programmteil bearbeitet.
-
In 4 ist
ein Ausschnitt eines Rechnersystems 2 dargestellt, welches
N Paare 100, 200 bis N00 von Recheneinheiten aufweist.
Jedes Paar 100, 200 bis N00 von Recheneinheiten
ist mit einer Resetanforderungslogik 300 verbunden. Die
Resetanforderungslogik 300 ist im vorliegenden Fall mit
der Fehlersignalisierungseinrichtung 1400 verbunden, welche über
je eine Resetleitung mit jedem Paar 100, 200 bis N00
von Recheneinheiten verbunden ist. Die Resetanforderungslogik 300 kann
aber auch Bestandteil der Fehlersignalisierungseinrichtung 1400 sein.
Mit Hilfe dieser Vorrichtung wird an einem einzelnen Paar k von
Recheneinheiten ein Reset ausgelöst, was nachfolgend anhand
von 5 beschrieben werden soll.
-
Im
Block 600 detektiert das Paar 100 Resetbedingungen
für ein Paar k. Die Recheneinheiten des Paares k können
sich dabei in einer Endlosschleife befinden. Das Paar 100 informiert
im Block 610 das Paar 200 über den Fehler
des Paares k. Im Block 620 sendet das Paar 100 eine
Resetanforderung für das Paar k an die Resetanforderungslogik 300.
Diese erwartet innerhalb einer vorgegebenen Zeit mindestens zwei
Resetanforderungen für das Paar k. Zwischenzeitlich überprüft
das Paar 200 im Block 630, ob die Resetbedingungen
für das Paar k vorliegen. Wird im Block 640 festgestellt,
dass die Resetbedingungen für das Paar k vorliegen, sendet
das Paar 200 ebenfalls eine Resetanforderung für
das Paar k an die Resetanforderungslogik 300 (Block 650).
Im Block 660 aktiviert die Resetanforderungslogik ein Anforderungssignal
an die Fehlersignalisierungseinrichtung 1400, welche eine
Resetauslösung auf das ausgewählte Paar k initiiert.
-
Wird
im Block 640 festgestellt, dass die Resetbedingungen für
das Paar k nicht erfüllt sind, benachrichtigt das Paar 200 das
Paar 100 (Block 670). Im Block 680 wird
nach einer Information der Fehlersignalisierungseinrichtung 1400 durch
das Paar 200 eine Fehlerbehandlungsroutine für
das Paar 100 ausgelöst, welches eine Resetbedingung
für das Paar k als erfüllt angesehen hatte.
-
Nach
dem Reset eines der Paare 100 (1 bzw. 2)
oder k (5) wird überprüft,
ob es voll funktionsfähig ist. Dazu läuft eine
Prüf- oder Testroutine ab. Diese Prüfroutine basiert
rein auf Software. Es besteht aber auch die Möglichkeit, wenn
eine Hardware-Unterstützung dafür vorliegt. Beispielsweise
kann eine solche Prüfroutine durch einen Built-in self
Test realisiert werden. Diese Testroutine und die damit verbundene
Gutprüfung werden unabhängig von den anderen Paaren
von Recheneinheiten ausgeführt, welche normal weiter arbeiten.
-
Wie
in 6a dargestellt; sind die Resetleitungen 141 und 241 mit
einem externen Resetanschluss 400 des Rechnersystems 1 verbunden.
Mit dieser Anordnung besteht die Möglichkeit, alle Recheneinheiten 110, 120; 210, 220 der
Paare 100, 200 gleichzeitig bei einem Start des
Rechnersystems 1 neu zu starten, da der externe Resetanschluss 400 auf
alle Resetleitungen 141 und 241 gleichzeitig zugreifen
kann.
-
6b zeigt,
dass für jede interne Resetleitung 141 und 241 je
ein externer Resetanschluss 410 und 420 vorhanden
ist. Mittels dieser Anordnung kann die Reihenfolge, mit welcher
die Recheneinheiten 110, 120; 210, 220 der
Paare 100, 200 gestartet werden, variiert werden.
-
Wie
aus den 6a und 6b ersichtlich, ist
die Fehlersignalisierungseinrichtung 1400 mit einem externen
Fehlerpin 500 des Rechnersystems 1 verbunden,
welcher dem Nutzer des Rechnersystems 1 anzeigt, dass ein
Fehler vorliegt.
-
Auch
bei den Darstellungen gemäß 6a und 6b ist
die Fehlersignalisierungsvorrichtung 1400 über
die erste Verbindung 142 mit dem Vergleicher 130 des
ersten Paares 100 von Recheneinheiten 110, 120 verbunden,
während der Vergleicher 230 des zweiten Paares 200 von
Recheneinheiten 210, 220 über die zweite
Verbindung 242 mit der Fehlersignalisierungsvorrichtung 1400 verbunden
ist. Über diese Verbindungen 142, 242 wird
geben die Vergleicher 130, 230 jeweils ein Fehlersignal
an die Fehlersignalisierungsvorrichtung 1400 aus, wenn
die Ergebnisse der Recheneinheiten 110, 120; 210, 220 der
Paare 100, 200 nicht übereinstimmen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - WO 2007/017381
A1 [0002]