-
Die Erfindung betrifft ein Computersystem und ein Verfahren zum Vergleichen von mittels zumindest dreier COTS-Prozessorkerne ausgegebenen Ausgangssignalen. Die Erfindung betrifft ferner ein Computerprogramm.
-
Hintergrund der Erfindung
-
Damit ein Computersystem in sicherheitskritischen Bereichen wie beispielsweise der Luft- und Raumfahrtindustrie verwendet werden kann, muss es verschiedene standardisierte Testverfahren durchlaufen, die teilweise vom Gesetzgeber geregelt sind. Solche Testverfahren oder Standards umfassen insbesondere SAE ARP4754, SAE ARP4761, RTCA DO-178b oder RTCA DO-254. Derartige sicherheitskritische Computersysteme weisen insbesondere speziell für den jeweiligen Anwendungszweck hergestellte zertifizierte Hardwarebauteile wie beispielsweise Schaltungen, inbesondere anwendungsspezifische integrierte Schaltungen (ASIC), Prozessoren oder Prozessorkerne auf. Hierbei verlangen insbesondere die RTCA DO-178b/ED-12B und das RTCA DO-254/ED-80-Entwicklungs- und -Testverfahren, nachfolgend kurz Testverfahren genannt, eine besonders intensive Prüfung des Designs der entsprechenden Hardware und der darauf laufenden Software. Nachteilig hieran ist aber, dass solche Testverfahren zeitaufwendig und teuer sind. Ebenso ist die Entwicklung entsprechender Hardware und Software teuer und zeitaufwendig. Ferner kann aufgrund der Spezialisierung die Hardware oft nur für das jeweilige sicherheitskritische Computersystem verwendet werden.
-
Aus der
US 2007/0 033 511 A1 ein Verfahren und eine Vorrichtung für ein Prozessorsystem mit Fehlertoleranz bekannt, das zumindest drei parallele COTS-Prozessorkerne aufweist. Dabei ist eine mit den zumindest drei COTS-Prozessorkernen verbundene Auswerteeinrichtung bekannt, wobei diese Vergleichsmittel zum paarweisen miteinander Vergleichen der jeweiligen ausgegebenen Ausgangssignale aufweist.
-
Ferner wird in Mariani, R., Fuhrmann, P.: Comparing failsafe microcontroller architectures in light of IEC 61508 (In DFT'07. 22nd IEEE International Symposium on Defect and Fault-Tolerance in VLSI Systems, Pages 123–131, ISSN 1550-5774, 2007), die Implementierung von Fail-Safe Mikrocontrollern in Automotiv-Anwendungen beschrieben.
-
Zusammenfassung der Erfindung
-
Es ist daher Aufgabe der Erfindung ein Computersystem, ein Verfahren und ein Computerprogramm bereitzustellen, welche die obigen Nachteile überwinden, und insbesondere im Vergleich zum Stand der Technik kostengünstigere hochsicherheitskritische Computersysteme ermöglichen.
-
Erfindungsgemäß wird diese Aufgabe mittels der Gegenstände der unabhängigen Ansprüche 1, 5 und 8 gelöst. Weitere bevorzugte Ausgestaltungen der Erfindung sind Gegenstand von jeweils abhängigen Unteransprüchen.
-
Die Erfindung umfasst den Gedanken ein Computersystem bereitzustellen oder zu erstellen, das zum einen eine Datenintegrität durch die Verwendung mehrerer dissimilarer Prozessorkerne sicherstellen kann. Zum anderen wird die Verfügbarkeit durch die Verwendung mehrerer Prozessoren erhöht. Die Erfindung umfasst eine Anordnung eines Computersystems mit zumindest drei COTS-Prozessorkernen und mit einer mit den zumindest drei COTS-Prozessorkernen verbundene Auswerteeinrichtung zum Auswerten mittels der COTS-Prozessorkerne ausgegebenen Ausgangssignalen, wobei die Auswerteeinrichtung Vergleichsmittel zum paarweise miteinander Vergleichen der jeweiligen ausgegebenen Ausgangssignale aufweist, wobei die Vergleichsmittel ferner konfiguriert sind, ein dem jeweiligen Vergleich der Ausgangssignale entsprechendes Vergleichssignal auszugeben.
-
Beispielsweise ist eine Vermittlungseinrichtung ein Netzwerk-auf-einem-Chip (Network-on-Chip (NoC)) mit den COTS-Prozessorkernen verbunden. Ein NoC ist insbesondere ein Kommunikationssubsystem eines System-on-Chip (SoC) und kann beispielsweise konfiguriert sein, die Ausgangssignale an externe Empfänger zu übermitteln. Ein solcher externer Empfänger kann beispielsweise eine Landeklappe, ein Fahrwerk oder ein Leitwerk eines Luftfahrzeugs oder eines Space Shuttles umfassen. Hierbei kann der NoC insbesondere nach dem RTCA DO-254-Testverfahren zertifiziert sein. Allerdings ist es nicht erforderlich, dass der NoC einen solchen oder ähnlichen Zertifizierungsprozess erfolgreich absolviert hat. Es reicht, wenn der NoC für die spezifische Anwendung zertifiziert ist. Beispielsweise kann der NoC nur für einen Speicherzugriff, eine Kommunikation, ein Netzwerk, ein routing oder ein pre-processing von Daten, beispielsweise als Filter, oder für eine Kombination hiervon zertifiziert sein. Ein solcher NoC ist kostengünstiger herzustellen und ermöglicht trotzdem ein ausfallsicheres und integres Computersystem. Beispielsweise kann der NoC eine Speicherkonsistenzlogik („memory consistency logic”) umfassen.
-
Erfindungsgemäß wird weiterhin ein Verfahren zum Vergleichen von mittels zumindest dreier COTS-Prozessorkerne ausgegebenen Ausgangssignalen bereitgestellt, umfassend die folgenden Schritte:
- – Übermitteln der Ausgangssignale an eine Vergleichsmittel aufweisende Auswerteeinrichtung,
- – paarweises miteinander Vergleichen der jeweiligen übermittelten Ausgangssignale mittels der Vergleichsmittel,
- – Ausgeben eines dem jeweiligen Vergleich der Ausgangssignale entsprechendes Vergleichssignal (integeres Signal),
- – Auswahl eines der integeren Signale.
-
Des Weiteren wird ein Computerprogramm bereitgestellt mit Programmcode zur Ausführung des erfindungsgemäßen Verfahrens, wenn das Computerprogramm auf einem Computer ausgeführt wird.
-
Die Erfindung umfasst also den Gedanken, die Ausgangssignale von COTS-Prozessorkernen, die untereinander mittels eines System-on-Chip (SoC) verbunden sind, jeweils paarweise miteinander zu vergleichen und aus diesen Vergleichen zu ermitteln, welches Ausgangssignal integer ist. Ein Ausgangssignal entspricht insbesondere einem Ergebnis einer mittels eines COTS-Prozessorkerns durchgeführten Berechnung. In diesem Zusammenhang bedeutet integer, dass das Ergebnis innerhalb eines bestimmten Fehlertoleranzbereichs liegt. Nur wenn das der Fall ist, wird es keine unzulässigen Systemzustandsänderungen geben. Das System wird insofern einen zulässigen Zustand aufweisen.
-
Das erfindungsgemäße System ermöglicht somit insbesondere eine Minimierung von Designfehlern bei System-on-Chip(SoC)-Systemen.
-
In einer einfachen beispielhaften Ausgestaltung der Erfindung umfasst das Computersystem insbesondere ein Network-on-Chip (NoC), der mit drei COTS-Prozessorkernen verbunden ist und wobei der Network-on-Chip weiterhin derart konfiguriert ist, die von den COTS-Prozessorkernen ausgegebenen Ausgangssignale zu vergleichen. Dabei weist das System zwei unterschiedliche oder dissimilare COTS-Prozessorkerne auf. Insbesondere ist der NoC ein integres NoC. Der NoC ist mit mindestens drei COTS-Prozessorkernen verbunden. Ein integres NoC in diesem Zusammenhang kann als ein NoC definiert werden, das entweder nach Entwicklungs- und Testverfahren wie RTCA DO-178b und RTCA DO-254 entwickelt wurde oder das aufgrund von speziellen Tests und technischen Argumenten den oben erwähnten Testverfahren gleichzusetzen ist.
-
In einer beispielhaften Ausgestaltung kann der Vergleich der Ausgangssignale zumindest teilweise mittels der COTS-Prozessorkerne durchgeführt werden. Als das Arbeitsprinzip erläuterndes Beispiel wird im Folgenden der Fall von COTS-Prozessorkernen A und B näher beschrieben.
-
Prozessorkern A hat das Ergebnis 1 berechnet und Prozessorkern B hat das Ergebnis 0 berechnet. A vergleicht jetzt sein Ergebnis mit dem Ergebnis von B und B vergleicht sein Ergebnis mit dem Ergebnis von A. A und B stellen beide fest, dass die Ergebnisse nicht übereinstimmen und geben dem NoC ein entsprechendes Signal bzw. Vergleichssignal aus. Der NoC wird aus diesem Signal die Information entnehmen, dass die beiden Ergebnisse, 1 und 0, zu verwerfen sind, da nicht festgestellt werden kann, welches Ergebnis korrekt ist.
-
Sollten A und B bei dem Vergleich zu einem unterschiedlichen Ergebnis kommen, das heisst, dass A beispielsweise feststellt, dass die Ergebnisse nicht übereinstimmen, aber B der irrtümlichen Auffassung ist, dass die Ergebnisse übereinstimmen, so werden A und B entsprechende Signale bzw. Vergleichssignale an den NoC übermitteln. Der NoC erfasst dadurch, dass zumindest einer der Kerne ein falsches Ergebnis berechnet hat und verwirft beide Ergebnisse 1 und 0. Somit wird insbesondere vermieden, dass falsche Ergebnisse weiter verarbeitet werden.
-
Es kann vorgesehen sein, dass die Vergleichssignale von A und B mittels des NoC an einen externen Empfänger übermittelt werden, ohne dass der NoC die Vergleichssignale weiter bearbeitet. Der externe Empfänger umfasst weitere Vergleichsmittel zum Vergleichen der Vergleichssignale der Kerne A und B. Der Vergleich wird also nicht im NoC durchgeführt, sondern in dem externen Empfänger. Der Empfänger kann beispielsweise einen Aktuator umfassen, welcher insbesondere in einer Landeklappe oder in einem Fahrwerk oder in einem Leitwerk integriert ist.
-
Die Abkürzung COTS ist eine dem Fachmann bekannte Abkürzung und bedeutet: „Commercial of the shelf” oder „components of the shelf” (Kommerzielle Produkte aus dem Regal). COTS-Hardware umfasst Hardware aus seriengefertigten Bauelementen ohne spezielle Anpassung an eine vorgegebene Anwendung. COTS-Prozessorkerne können beispielsweise Prozessorkerne von bekannten Prozessoren von IBM, ARM, Intel, AMD oder VIA sein, wie sie insbesondere in bekannten mobilen Computersystemen oder Personal Computers (PC) verwendet werden. Insbesondere können AMD Athlon- oder AMD Phenom-Prozessoren oder -Prozessorkerne verwendet werden.
-
Die obige Aufzählung soll nicht als abschließend verstanden werden. Es sollen vielmehr sämtliche Prozessoren verwendet werden können, welche auch in den üblichen Embedded Computern oder Personal Computer (PC) verwendet werden.
-
Hierbei kann es sich um Embedded Prozessoren, Desktop-Prozessoren und/oder um Mobilprozessoren handeln. Da solche Prozessoren üblicherweise nicht primär für sicherheitskritische Anwendungen hergestellt wurden, müssen sie die eingangs genannten Testverfahren nicht durchlaufen und auch nicht bestehen. Das bedeutet aber insbesondere, dass die Herstellungs- und Entwicklungskosten solcher Prozessoren im Vergleich zu zertifizierten Prozessoren deutlich geringer sind. Die COTS-Prozessorkerne können insofern auch als nicht-zertifizierte, also zertifikatfreie, Prozessorkerne bezeichnet werden. Insbesondere nicht-zertifiziert nach einem der obigen Testverfahren und Entwicklungsverfahren.
-
Erfindungsgemäß ist es mittels solcher COTS-Prozessorkerne dennoch möglich, ein Computersystem zu schaffen, welches in sicherheitskritischen Bereichen, insbesondere der Luft- und Raumfahrtindustrie, eingesetzt werden kann. Insbesondere kann eine Zuverlässigkeit des Computersystems von 10–9 Ausfällen/Stunde erreicht werden. Hierzu ist mit den COTS-Prozessorkernen, im folgenden die erfindungsgemäße Arbeitsweise beschreibenden Beispiel sollen es drei COTS-Prozessorkerne, A, B und C, sein, eine Auswerteeinrichtung verbunden, welche Vergleichsmittel zum paarweise miteinander Vergleichen der jeweiligen Ausgangssignale aufweist. Beispielsweise wird das Ausgangssignal des COTS-Prozessorkerns A mit dem Ausgangssignal des COTS-Prozessorkerns B verglichen. Weiterhin wird das Ausgangssignal des COTS-Prozessorkerns B mit dem Ausgangssignal des COTS-Prozessorkerns C und Ausgangssignal des COTS-Prozessorkerns C mit dem Ausgangssignal des COTS-Prozessorkerns A verglichen.
-
Wenn im Idealfall alle drei COTS-Prozessorkerne das gleiche Ausgangssignal ausgeben, das heißt insbesondere, dass alle drei Kerne das gleiche Ergebnis einer vorgegebenen Berechnung berechnet haben, werden die Vergleichsmittel beim Vergleichen dies erfassen und entsprechende Vergleichssignale ausgeben. Das heißt, dass die Vergleichssignale insbesondere die Information umfassen, dass die jeweiligen Kerne die gleichen Ausgangssignale ausgegeben haben, also das gleiche Ergebnis berechneten.
-
Wenn allerdings beispielsweise der COTS-Prozessorkern A ein anderes Ergebnis berechnet als die COTS-Prozessorkerne B und C wird der COTS-Prozessorkern A ein anderes Ausgangssignal ausgeben als die COTS-Prozessorkerne B und C. Die Vergleichsmittel werden also beim Vergleich der Ausgangssignale von Kern A und Kern B und beim Vergleich der Ausgangssignale von Kern A und C erfassen, dass die jeweiligen Ausgangssignale nicht gleich sind und ein entsprechendes Vergleichssignal ausgeben. Weiterhin werden die Vergleichsmittel erfassen, dass die Ausgangssignale von Kern B und Kern C gleich sind und ein entsprechendes Vergleichssignal ausgeben. Das heißt, dass die Vergleichssignale insbesondere die Information umfassen, dass die Kerne B und C das gleiche Ausgangssignal ausgegeben haben, also das gleiche Ergebnis berechneten, und dass der Kern A ein im Vergleich zu den Kernen B und C anderes Ausgangssignal ausgegeben hat, also ein anderes Ergebnis berechnete. Auf diese Weise wird also erfasst, dass zwei von den COTS-Prozessorkernen, B und C, ein anderes Ergebnis berechnet haben als der dritte COTS-Prozessorkern, A. Statistisch betrachtet ist es insofern wahrscheinlicher, dass das Ergebnis des Kerns A falsch ist.
-
Nach einer bevorzugten Ausgestaltung der Erfindung sind mehr als drei COTS-Prozessorkerne vorgesehen. Insbesondere umfasst das Computersystem 4, bevorzugterweise 8, insbesondere 16 COTS-Prozessorkerne. In einer weiteren beispielhaften Ausführungsform der Erfindung sind die COTS-Prozessorkerne von einem Prozessor umfasst, insbesondere sind die COTS-Prozessorkerne in dem Prozessor integriert. Nach noch einer anderen bevorzugten Ausführungsform können die COTS-Prozessorkerne auch jeweils von einem einzelnen Prozessor umfasst sein, insbesondere in diesem integriert sein. Beispielsweise können auch zwei COTS-Prozessorkerne von einem Prozessor umfasst sein, während der dritte COTS-Prozessorkern von einem weiteren Prozessor umfasst ist. Der die zwei COTS-Prozessorkerne umfassende Prozessor kann ganz allgemein auch als ein Mehrkernprozessor bezeichnet werden. Insbesondere können bei beispielhaften Ausführungsformen des erfindungsgemäßen Computersystems mit mehr als drei COTS-Prozessorkernen mehrere Mehrkernprozessoren vorgesehen sein.
-
Nach einer weiteren bevorzugten Ausgestaltung der Erfindung ist das Computersystem von einem integrierten Schaltkreis (IC, „Integrated Circuit”) umfasst. Das heißt, dass die einzelnen elektronischen Bauelemente, insbesondere die COTS-Prozessorkerne und/oder die Auswerteeinrichtung, aber auch weitere elektronischen Bauelemente, insbesondere weitere logische Schaltungen, auf einem Substrat, insbesondere einem Halbleitersubstrat, angeordnet und/oder integriert sind. Hierdurch wird ein besonders miniaturisierter und kostengünstiger Aufbau ermöglicht. Eine solche Anordnung kann auch als ein Ein-Chip-System (SoC, „System on a Chip”) bezeichnet werden.
-
In einer bevorzugten Ausführungsform der Erfindung sind die COTS-Prozessorkerne physikalisch mit den Vergleichsmitteln verbunden. Das heißt, dass die COTS-Prozessorkerne mit den Vergleichsmitteln jeweils mittels einer Datenverbindung verbunden sind. Das ermöglicht insbesondere, dass die Ausgangssignale ohne eine große Zeitverzögerung zu den Vergleichsmitteln übertragen werden können. Erfindungsgemäß ist eine Vermittlungseinrichtung vorgesehen, welche zwischen einem oder mehreren COTS-Prozessorkernen und den Vergleichsmitteln geschaltet ist, wobei die Vermittlungseinrichtung die Ausgangssignale empfängt und dann an die Vergleichsmittel übermittelt. Insbesondere ist die Vermittlungseinrichtung derart konfiguriert, dass sie die Ausgangssignale an die Vergleichsmittel abhängig von einem Auslastzustand der Vergleichsmittel übermittelt. So kann in vorteilhafter Weise vermieden werden, dass bereits ausgelastete Vergleichsmittel nicht noch mit weiteren Vergleichsberechnungen belastet werden, wodurch eine erhebliche Zeitverzögerung entstehen kann. Die Vermittlungseinrichtung kann insbesondere einen Bus, eine Routing-Einrichtung und/oder eine Speicherkohärenzeinrichtung sein, welche derart konfiguriert ist, eine Kohärenz in mit den COTS-Prozessorkernen verbundenen Speichern, beispielsweise RAM oder Cache-Speicher, sicherzustellen. Die Vermittlungseinrichtung kann auch als ein Netzwerk-auf-einem-Chip (NoC, „Network on a Chip”) bezeichnet werden. Insbesondere kann auch das NoC von einem integrierten Schaltkreis umfasst sein. Nach einer beispielhaften Ausführungsform der Erfindung ist das NoC zertifizierbar für eine sicherheitskritische Anwendung, insbesondere nach einem der eingangs genannten Testverfahren, beispielsweise einem Verifikationsverfahren entsprechend dem DO-254 und/oder DO-178b.
-
Ferner ist erfindungsgemäß vorgesehen, dass eine mit den Vergleichsmitteln verbundene Auswahleinrichtung gebildet ist, welche derart konfiguriert ist, abhängig von den Vergleichssignalen ein Ausgangssignal zur weiteren Verarbeitung auszuwählen. Somit wird insbesondere ein redundantes Computersystem geschaffen. Redundanz bedeutet in diesem Zusammenhang insbesondere Verfügbarkeit. Das heißt, dass das Computersystem für einen korrekten fehlerfreien Betrieb verfügbar ist. Das heißt insbesondere, dass bei einer Berechnungsanforderung an das Computersystem der Prozessor und/oder die Prozessorkerne das Ergebnis innerhalb eines vorbestimmten Zeitraums ausgeben müssen. In einer bevorzugten Ausführungsform der Erfindung umfasst die Auswahleinrichtung eine logische ODER-Schaltung. In einer weiteren beispielhaften Ausgestaltung der Erfindung umfassen die Vergleichsmittel logische UND-Schaltungen. In einer weiteren beispielhaften Ausführungsform der Erfindung kann vorgesehen sein, dass die Auswahleinrichtung von den COTS-Prozessorkernen umfasst ist, insbesondere kann die Auswahleinrichtung in den COTS-Prozessorkernen integriert sein.
-
In einer anderen bevorzugten Ausgestaltung der Erfindung sind die Auswahleinrichtung und die Auswerteeinrichtung in einer Logikschaltungseinrichtung integriert. Insbesondere ist die Logikschaltungseinrichtung nach einem der eingangs genannten Testverfahren zertifizierbar, insbesondere nach einem Verfahren entsprechend DO-254 und/oder DO-178b Testverfahren. Beispielsweise können aber auch die Auswahleinrichtung und/oder die Auswerteeinrichtung nach einem dieser Testverfahren zertifizierbar sein. Somit wird in vorteilhafter Weise ein noch ausfallsicheres Computersystem geschaffen, welches für sicherheitskritische Anwendungen, insbesondere in der Luft- und Raumfahrtindustrie, geeignet ist.
-
In noch einer weiteren beispielhaften Ausführungsform der Erfindung sind die drei COTS-Prozessorkerne jeweils als ein logischer oder als ein physikalischer COTS-Prozessorkern gebildet.
-
Erfindungsgemäß ist vorgesehen, dass zumindest einer der drei COTS-Prozessorkerne verschieden von den beiden anderen COTS-Prozessorkernen ist. Somit kann in vorteilhafter Weise eine Integrität bezüglich systematischer Fehler erreicht werden. Beispielsweise kann ein Prozessorkern einen Serienfehler aufweisen, aufgrund dessen der Prozessorkern bei bestimmten Berechnungen fehlerhafte Ergebnisse ausgibt. Dieser Umstand wird aber durch die von diesem Prozessorkern verschiedenen Prozessorkerne ausgeglichen, da aufgrund der Verschiedenheit diese Prozessorkerne mit einer sehr hohen Wahrscheinlichkeit genau diesen Serienfehler nicht aufweisen. Beispielsweise kann ein COTS-Prozessorkern von der Firma AMD hergestellt sein, während die beiden anderen COTS-Prozessorkerne von der Firma Intel hergestellt sind. Es kann aber auch in einer beispielhaften Ausgestaltung der Erfindung vorgesehen sein, dass sich die Prozessorkerne in ihrer Taktfrequenz und/oder in ihrem Cache-Speicher unterscheiden. Beispielsweise können Prozessorkerne mit einer niedrigeren Taktfrequenz und/oder mit weniger Cache-Speicher als weitere Prozessorkerne für wenig rechenintensive Aufgaben verwendet werden, beispielsweise für eine Signaturberechnung und/oder einer Signaturanalyse. Die weiteren Prozessorkerne mit der höheren Taktfrequenz und/oder mit dem größeren Cache-Speicher können insbesondere für rechenintensive Aufgaben verwendet werden. So können in vorteilhafter Weise Kosten eingespart und trotzdem ein hoch integres und redundantes Computersystem geschaffen werden.
-
Nach einer bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens werden die Vergleichssignale an eine mit den Vergleichsmitteln verbundene Auswahleinrichtung übermittelt, wobei die Auswahleinrichtung abhängig von den übermittelten Vergleichssignalen ein Ausgangssignal zur weiteren Verarbeitung auswählt.
-
In einer anderen beispielhaften Ausgestaltung des erfindungsgemäßen Verfahrens werden zwei Ausgangssignale als gleich klassifiziert, wenn jeweilige Parameter der Ausgangssignale innerhalb eines vorbestimmten Fehlertoleranzbereichs liegen. Solche Parameter können beispielsweise digitalisierte Ergebnisse bestimmter Rechenoperationen sein, deren Abweichung innerhalb bestimmter Grenzen liegen. Somit ist es ermöglicht, den gewünschten Grad an Integrität einzustellen.
-
Nach einer bevorzugten Ausführungsform der Erfindung ist das Computerprogramm in einer Firmware der Auswerteeinrichtung gespeichert. Insbesondere kann die Firmware in einem wiederbeschreibbaren Speicher gespeichert werden, insbesondere in einem EPROM oder einem EEPROM.
-
Beschreibung bevorzugter Ausführungsbeispiele
-
Die Erfindung wird im Folgenden anhand von Beispielen unter Bezugnahme auf Zeichnungen von Figuren näher erläutert. Hierbei zeigen:
-
1 ein beispielhaftes Computersystem,
-
2 das Computersystem aus 1 mit einem NoC,
-
3 das Computersystem aus 2 mit einem externen Empfänger,
-
4 das Computersystem aus 3, wobei die COTS-Prozessorkerne erfindungsgemäße Vergleichsmittel aufweisen,
-
5 eine schematische Ansicht der Vergleichsmittel der Prozessorkerne aus 4 und
-
6 das erfindungsgemäße Computersystem aus 4 mit einem externen Empfänger.
-
1 zeigt beispielhaft ein Computersystem 101 mit drei COTS-Prozessorkernen 103, 105 und 107, die vorzugsweise nicht baugleich sind. Die drei COTS-Prozessorkerne 103, 105 und 107 sind in einem Prozessor 109 integriert. Der Prozessor 109 ist also ein Dreikernprozessor. In einem nicht gezeigten Ausführungsbeispiel kann der Prozessor 109 ein Vierkern-, Achtkern- oder ein Sechszehnkernprozessor sein. In einem weiteren nicht gezeigten Ausführungsbeispiel sind die drei COTS-Prozessorkerne 103, 105 und 107 jeweils in einem separaten Prozessor integriert.
-
Das Computersystem 101 umfasst ferner eine Logikschaltungseinrichtung 111, in welcher eine Auswerteeinrichtung 113 integriert ist. Die Auswerteeinrichtung 113 umfasst drei Vergleichsmittel 115, 117 und 119. Das Vergleichsmittel 115 ist mit den COTS-Prozessorkernen 103 und 107 verbunden und empfängt die jeweiligen Ausgangssignale der COTS-Prozessorkerne 103 und 107. Das Vergleichsmittel 117 ist mit den COTS-Prozessorkernen 103 und 105 verbunden und empfängt die jeweiligen Ausgangssignale der COTS-Prozessorkerne 103 und 105. Das Vergleichsmittel 119 ist mit den COTS-Prozessorkernen 105 und 107 verbunden und empfängt die jeweiligen Ausgangssignale der COTS-Prozessorkerne 105 und 107. In einer nicht gezeigten Ausführungsform umfassen die Vergleichsmittel 115, 117 und 119 jeweils eine logische UND-Schaltung.
-
Des Weiteren ist in die Logikschaltungseinrichtung 111 eine Auswahleinrichtung 121 integriert, welche mit den Vergleichsmitteln 115, 117 und 119 verbunden ist. In einer nicht gezeigten Ausführungsform umfasst die Auswahleinrichtung 121 eine logische ODER-Schaltung.
-
Das Vergleichsmittel 115 wird die jeweiligen Ausgangssignale der COTS-Prozessorkerne 103 und 107 miteinander vergleichen und ein entsprechendes Vergleichssignal ausgeben und an die Auswahleinrichtung 121 übermitteln. Das Vergleichssignal umfasst insbesondere die Information, ob jeweilige Parameter, beispielsweise Phase, Frequenz und/oder Amplitude, der Ausgangssignale innerhalb eines vorbestimmten Fehlertoleranzbereichs liegen. Wenn die jeweiligen Parameter innerhalb des vorbestimmten Fehlertoleranzbereichs liegen, werden die jeweiligen Ausgangssignale als gleich klassifiziert.
-
Auf die gleiche Art und weise vergleicht das Vergleichsmittel 117 die jeweiligen Ausgangssignale der COTS-Prozessorkerne 103 und 105. Ebenfalls analog vergleicht das Vergleichsmittel 119 die jeweiligen Ausgangssignale der COTS-Prozessorkerne 105 und 107. Die Vergleichsmittel 117 und 119 geben dann analog ein dem jeweiligen Vergleich entsprechendes Vergleichssignal aus und übermitteln dieses an die Auswahleinrichtung 121.
-
Falls alle drei COTS-Prozessorkerne 103, 105 und 107 das gleiche Ausgangssignal ausgegeben haben, kann die Auswahleinrichtung 121 eines der drei Ausgangssignale für eine weitere Verarbeitung auswählen. Falls einer der drei COTS-Prozessorkerne 103, 105 und 107 ein anderes Ausgangssignal als die zwei anderen COTS-Prozessorkerne ausgibt, wird die Auswahleinrichtung 121 das andere Ausgangssignal verwerfen, weil es statistisch gesehen wahrscheinlicher ist, dass dieses andere Ausgangssignal auf einer falschen Berechnung beruht, als die jeweiligen Ausgangssignale der zwei anderen COTS-Prozessorkerne, welche ein gleiches Ausgangssignal ausgegeben haben. Die Auswahleinrichtung 121 wird dann aus den beiden als gleich klassifizierten Ausgangssignalen ein Ausgangssignal zur weiteren Verarbeitung auswählen.
-
2 zeigt das Computersystem 101 aus 1, wobei zusätzlich ein NoC 123 mit den drei COTS-Prozessorkernen 103, 105 und 107 verbunden ist.
-
Gemäß 3 kann der NoC 123 mit einem externen Empfänger 125 verbunden sein. Der NoC 123 übermittelt insbesondere die Ausgangssignale an den externen Empfänger 125. Zusätzlich oder alternativ kann der NoC 123 das mittels der Auswahleinrichtung 121 ausgewählte Ausgangssignal dem externen Empfänger 125 übermitteln. Der NoC 123 ist insbesondere zertifizierbar, beispielsweise nach einem der obigen Testverfahren, wobei es nicht erforderlich ist, dass der NoC 123 das gesamte Testverfahren erfolgreich bestanden hat, sondern nur Testverfahren für eine spezifische Anwendung. Eine solche Anwendung kann insbesondere ein Speicherzugriff, eine Kommunikation, ein routing, ein Netzwerk oder ein preprocessing von Daten, beispielsweise Filter, oder eine Kombination hiervon sein. Der NoC 123 kann insbesondere eine sogenannte „memory consistency logic”, eine Speicherkonsistenzlogik (nicht gezeigt) umfassen.
-
Der externe Empfänger 125 kann beispielsweise einen Aktuator (nicht gezeigt) umfassen oder in einen solchen integriert sein. Beispielsweise kann ein Aktuator eine Landeklappe, ein Leitwerk oder ein Fahrwerk eines Luftfahrzeugs oder eines Space Shuttles sein. Mittels des ausgewählten Signals kann dann der Aktuator gesteuert werden. Beispielsweise werden die Landeklappen ausgefahren. Dadurch, dass mittels des Computersystems 101 falsche Berechnungen verworfen werden, kann dem Aktuator kein falsches Signal, insbesondere ein Steuersignal, übermittelt werden, so dass der Aktuator entsprechend einem richtigen Steuerbefehl gesteuert wird.
-
Beispielsweise kann ein Pilot oder eine Pilotin eines Luftfahrzeugs den Befehl geben, die Landeklappen auszufahren und zwar entsprechend einer Luftfahrzeuggeschwindigkeit. Die drei COTS-Prozessoren 103, 105 und 107 erhalten jeweils einen gemessenen Luftfahrzeuggeschwindigkeitswert und berechnen unabhängig von einander eine entsprechende Landeklappenstellung. Die jeweiligen Landeklappenstellungen werden dann mittels der Logikschaltungseinrichtung 111 verglichen und eventuelle falsche Landeklappenstellungen verworfen. Der NoC 123 übermittelt dann ein der korrekten Landeklappenstellung zugeordnetes Steuersignal an die Landeklappen, woraufhin diese in die entsprechende Stellung ausfahren bzw. einfahren. Ein falsches Signal wird so nicht übermittelt, so dass in vorteilhafter Weise ein Betrieb des Luftfahrzeugs besonders sicher ist.
-
In 4 ist das Computersystem 101 aus 3 gezeigt, wobei die COTS-Prozessoren 103, 105 und 107 erfindungsgemäß jeweils Vergleichsmittel 115a, 117a und 119a umfassen. Die Vergleichsmittel 115a, 117a und 119a sind insbesondere derart gebildet, die Ausgangssignale zumindest teilweise miteinander, insbesondere paarweise, zu vergleichen. Somit kann der Vergleich der Ausgangssignale zumindest teilweise von den Vergleichsmitteln 115, 117 und 119 in die Vergleichsmittel 115a, 117a und 119a sozusagen ausgelagert werden. Hier wird in vorteilhafter Weise die Rechenleistung moderner COTS-Prozessoren effizient ausgenutzt.
-
In 5 ist das Vergleichsmittel 115a schematisch dargestellt, wobei die Vergleichsmittel 117a und 119a analog gebildet sind. Das Vergleichsmittel 115a umfasst drei logische UND-Schaltungen 116a, 116b und 116c. Der logischen Schaltung 116a werden die Ausgangssignale der COTS-Prozessoren 103, als Pfeil A dargestellt, und 105, als Pfeil B dargestellt, übermittelt. Analog werden die Ausgangsignale der COTS-Prozessorkerne 105 und 107, als Pfeil C dargestellt, der logischen Schaltung 116b und die Ausgangsignale der COTS-Prozessoren 103 und 107 der logischen Schaltung 116c übermittelt. Es findet also ein paarweises miteinander Vergleichen der Berechnungen der jeweiligen COTS-Prozessorkerne 103, 105 und 107 statt. Jede logische Schaltung 116a, 116b und 116c wird das Ergebnis des paarweisen Vergleichs ausgeben und beispielsweise an den NoC 123 und/oder an die Logikschaltungeinrichtung 111 übermitteln. Der NoC 123 und/oder die Logikschaltungseinrichtung 111 können dann aus den Ergebnissen des Vergleichsmittel 115a und auch aus den Ergebnissen der Vergleichsmittel 117a und 119a ermitteln, ob die Berechnungen korrekt sind bzw. ob und welche Berechnungen bzw. welche Ausgangssignale zu verwerfen sind.
-
In 6 ist das Computersystem 101 aus 4 gezeigt mit dem externen Empfänger 125 aus 3, wobei der Empfänger 125 zusätzlich noch ein weiteres Vergleichsmittel 127 aufweist. Dieses weitere Vergleichsmittel 127 ist insbesondere derart gebildet, die Ausgangssignale der COTS-Prozessorkerne 103, 105 und 107 und/oder die Signale, welche von den Vergleichsmitteln 115a, 117a und 119a ausgegeben werden, miteinander zu vergleichen, um ein korrektes Ergebnis zu bestimmen und falsche Ergebnisse zu verwerfen. In diesem Ausführungsbeispiel ist damit ein Vergleichen der Signale von der Logikschaltungseinrichtung 111 zumindest teilweise in den Empfänger 125 sozusagen ausgelagert. Es kann insbesondere vorgesehen sein, dass das weitere Vergleichsmittel 127 ausschließlich die Ausgangssignale miteinander vergleicht. Der NoC 123 dient hier dann lediglich zur Kommunikation und zur Übertragung der Ausgangssignale an den externen Empfänger 125.
-
Obwohl die vorherigen Ausführungsbeispiel sich auf drei Prozessorkerne beziehen, können auch mehrere Prozessorkerne vorgesehen sein. Hier werden dann insbesondere die Berechnungen der beiden Prozessorkerne miteinander verglichen und nur wenn diese übereinstimmen, wird ein entsprechendes Steuersignal an den externen Empfänger, welcher insbesondere einen Aktuator umfassen kann, übermittelt. Es kann aber auch beispielsweise vorgesehen sein, die Berechnungen der beiden Prozessorkerne direkt mittels des NoC dem Empfänger zu übermitteln. Hier wird dann der Empfänger mittels des weiteren Vergleichsmittels die Berechnungen miteinander vergleichen und nur bei Übereinstimmung den Aktuator betätigen, beispielsweise die Landeklappen ausfahren.
-
Zusammenfassend ist es insbesondere mittels der erfindungsgemäßen Verbindung der drei COTS-Prozessoren 103, 105 und 107 mit den Vergleichsmitteln 115, 117 und 119 möglich, ein sowohl redundantes als auch hoch integres Computersystem zu schaffen, welches für sicherheitskritische Anwendungen, insbesondere in der Luft- und Raumfahrtindustrie, beispielsweise in einem Space Shuttle, verwendet werden kann. Dadurch, dass nur das Computersystem als solches, nicht aber noch zusätzlich die einzelnen COTS-Prozessoren 103, 105 und 107 die hohen Anforderungen an die vorgenannten Testverfahren erfüllen müssen, damit das Computersystem beispielsweise für sicherheitskritische Anwendungen in der Luft- und Raumfahrtindustrie verwendet werden kann, können erhebliche Kosten eingespart werden, ohne dass auf eine hohe Sicherheit, beispielsweise eine Ausfallsicherheit, verzichtet werden muss.
-
Bezugszeichenliste
-
- 101
- Computersystem
- 103, 105, 107
- COTS-Prozessorkerne
- 109
- Prozessor
- 111
- Logikschaltungseinrichtung
- 113
- Auswerteeinrichtung
- 115, 117, 119, 115a, 117a, 119a
- Vergleichsmittel
- 121
- Auswahleinrichtung
- 123
- NoC
- 125
- externer Empfänger
- 127
- weiteres Vergleichsmittel