DE102016205109A1 - Mikroprozessor, insbesondere für ein Kraftfahrzeug - Google Patents

Mikroprozessor, insbesondere für ein Kraftfahrzeug Download PDF

Info

Publication number
DE102016205109A1
DE102016205109A1 DE102016205109.1A DE102016205109A DE102016205109A1 DE 102016205109 A1 DE102016205109 A1 DE 102016205109A1 DE 102016205109 A DE102016205109 A DE 102016205109A DE 102016205109 A1 DE102016205109 A1 DE 102016205109A1
Authority
DE
Germany
Prior art keywords
processor core
microprocessor
function
executed
processor
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.)
Pending
Application number
DE102016205109.1A
Other languages
English (en)
Inventor
Hans-Leo Ross
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102016205109.1A priority Critical patent/DE102016205109A1/de
Publication of DE102016205109A1 publication Critical patent/DE102016205109A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level

Abstract

Die Erfindung betrifft einen Mikroprozessor (100), insbesondere für ein Kraftfahrzeug, mit wenigstens zwei Prozessorkernen (110, 120), wobei ein erster Prozessorkern (110) dazu eingerichtet ist, Funktionen (111) hardwareimplementiert durch speziell konfigurierte Hardware auszuführen, ein zweiter Prozessorkern (120) dazu eingerichtet ist, Funktionen (121) softwareimplementiert durch Ausführung von Software auszuführen, und der erste Prozessorkern (110) dazu eingerichtet ist, eine von dem zweiten Prozessorkern (120) ausgeführte Funktion (121) zu überwachen und/oder abzusichern.

Description

  • Die vorliegende Erfindung betrifft einen Mikroprozessor und ein Verfahren zum Betreiben eines derartigen Mikroprozessors.
  • Stand der Technik
  • Mikroprozessoren werden alleine oder als Bestandteil von Mikrocontrollern, welche neben dem Mikroprozessor auch zusätzliche Peripherie, wie z.B. Netzwerkschnittstellen, ADC, DAC, E/A usw. auf dem Chip aufweisen, vielfach eingesetzt.
  • Moderne Mikroprozessoren, wie sie beispielsweise in Steuergeräten von Kraftfahrzeugen eingesetzt werden (z.B. in Motorsteuergeräten zur Motorsteuerung), sind zumeist Multicore-Prozessoren mit mehreren (wenigstens zwei) Prozessorkernen (Cores). Ein Prozessorkern bzw. Core umfasst eine arithmetisch-logische Einheit (ALU), welche das eigentliche elektronische Rechenwerk zur Ausführung von Tasks, Programmen, Rechenbefehlen, etc. darstellt, sowie weiterhin einen lokalen Speicher. Ein derartiger lokaler Speicher kann beispielsweise als ein Registersatz aus einem oder mehreren Registern oder als ein RAM-Speicher ausgebildet sein. Weiterhin kann der Mikroprozessor einen globalen Speicher aufweisen, der beispielsweise als Flash-, NOR-Flash oder RAM-Speicher ausgebildet sein kann.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Mikroprozessor und ein Verfahren zum Betreiben eines derartigen Mikroprozessors mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Ein erfindungsgemäßer Mikroprozessor ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen. Vorteile und mögliche Ausgestaltungen des erfindungsgemäßen Mikroprozessors sowie des erfindungsgemäße Verfahrens ergeben sich aus der nachfolgenden Beschreibung in analoger Art und Weise.
  • Der Mikroprozessor weist wenigstens zwei Prozessorkerne auf, welche jeweils insbesondere eine arithmetisch-logische Einheit (ALU) umfassen, welche das eigentliche elektronische Rechenwerk zur Ausführung von Tasks, Programmen, Rechenbefehlen, etc. darstellt, sowie weiterhin insbesondere jeweils einen lokalen Speicher. Ein derartiger lokaler Speicher kann beispielsweise als ein Registersatz aus einem oder mehreren Registern oder als ein Flash-, ROM-, RAM-Speicher, etc. ausgebildet sein. Die Prozessorkerne können jeweils insbesondere Schutzmechanismen gegen Spannungsänderungen, Taktänderungen und Temperaturänderungen aufweisen. Weiterhin umfasst der Mikroprozessor insbesondere einen globalen Speicher, der beispielsweise als Flash-, NOR-Flash oder RAM-Speicher ausgebildet sein kann, auf welchen mehrere Prozessorkerne gemeinsam zugreifen können.
  • Ein erster Prozessorkern ist dazu eingerichtet, hardwareimplementierte Funktionen (d.h. durch speziell konfigurierte Hardware) auszuführen. Der erste Prozessorkern weist zu diesem Zweck insbesondere programmierbare logische Einrichtungen (PLD) bzw. hardware-konfigurierbare Logikschaltungen auf, beispielsweise basierend auf der Verwendung von EPROM oder EEPROM-Speichern oder Field Programmable Gate Arrays (FPGAs). Funktionalitäten, Datenverarbeitung, Prozesse bzw. Rechenoperationen werden von dem ersten Prozessorkern somit hardwareimplementiert bzw. auf Hardwareebene ausgeführt, durch die Verwendung und spezielle Verschaltung von speziellen Hardwarebausteinen.
  • Ein zweiter Prozessorkern ist dazu eingerichtet, softwareimplementierte Funktionen (d.h. durch Ausführung von Software) auszuführen. Im Gegensatz zu dem ersten Prozessorkern werden Funktionalitäten, Datenverarbeitung, Prozesse bzw. Rechenoperationen durch den zweiten Prozessorkern somit insbesondere durch speziell entwickelte Software bzw. Mikrocode ausgeführt.
  • Der erste Prozessorkern ist dazu eingerichtet, eine von dem zweiten Prozessorkern ausgeführte softwareimplementierte Funktion durch eine hardwareimplementierte Funktion zu überwachen und/oder abzusichern. Es versteht sich, dass der erste Prozessorkern auch mehrere, insbesondere alle von dem zweiten Prozessorkern ausgeführten Funktionen überwachen/absichern kann. Beispielsweise kann der erste Prozessorkern Ergebnisse der vom zweiten Prozessorkern ausgeführten Funktion plausibilisieren, z.B. mittels eines Prüfsummenvergleichs, oder auch eine Laufzeit von Prozessen des zweiten Prozessorkerns überwachen. Zweckmäßigerweise kann im Zuge der Überwachung von dem ersten Prozessorkern ein Fehler der ausgeführten Funktion erkannt und identifiziert werden. Insbesondere kann der Ursprung des Fehlers erkannt werden, beispielsweise weil ein Programmierfehler in dem entsprechenden ausgeführten Programmcode vorliegt oder ein Hardwarefehler des zweiten Prozessorkerns oder eine Manipulation durch einen Angreifer. Wenn ein Fehlerfall von dem ersten Prozessorkern erkannt wird, kann dieser insbesondere eine Sicherheitsmaßnahme zur Absicherung der Funktion durchführen. Insbesondere ist der erste Prozessorkern dazu eingerichtet, eigene Hardwarefehler zu erkennen, so dass softwareimplementierte Sicherheitsmechanismen diese Fehler auch beherrschen können und zu einem sicherheitsspezifikationskonformen Verhalten an den Ausgängen des Prozessors führen.
  • Es sei der Vollständigkeit halber darauf hingewiesen, dass Hard- und Software-Fehler üblicherweise nicht an sich, sondern anhand eines Fehlverhaltens technisch beobachtbar (messbar oder diagnostizierbar) sind.
  • Die Überwachung/Absicherung kann zweckmäßigerweise gemäß dem Lockstep-Prinzip durchgeführt werden. Dabei wird die vom zweiten Prozessorkern ausgeführte Funktion parallel ebenfalls auf dem ersten Prozessorkern ausgeführt und die beiden Ausführungsergebnisse werden miteinander verglichen. Durch das Lockstep-Prinzip kann weiterhin eine zeitliche und eine örtliche Redundanz gewährleistet werden, d.h. die Funktion wird zeitgleich von unterschiedlichen Prozessorkernen ausgeführt. Weiterhin kann somit ebenfalls eine Diversität erreicht werden, da die Funktion von verschiedenen, nicht baugleichen Prozessorkernen ausgeführt wird. Somit kann auf einfache Weise eine Ausfallsicherheit des Mikroprozessors verbessert werden. Zweckmäßigerweise kann die vom zweiten Prozessorkern ausgeführte Funktion eine sicherheitsrelevante Funktion sein, für deren Ausführung eine redundante Absicherung gefordert wird. Das Lockstep-Prinzip ist besonders vorteilhaft, wenn die Ergebnisse des ersten Prozessorkerns als eindeutig korrekt angesehen werden sollen.
  • Die Überwachung/Absicherung kann zweckmäßigerweise auch durch eine kreuzweise Überwachung (erster Prozessorkern überwacht zweiten Prozessorkern und umgekehrt) durchgeführt werden. Dies hat Vorteile, da eine kreuzweise Überwachung auch gegen systematische Fehler wirksam ist. Als unabhängiges finales (Abschalt-)Element (wie Watchdog) können Ausgangselemente (Peripherie, wie ADC, DIA, SPI etc.) oder HSM (Hardware-Security-Modul) oder ein weitere I/O-Controller (wie weiter unten dargestellt) dienen. Wesentlicher Vorteil der Kreuzüberwachung und Abschaltung der Ausgangselemente ist neben dem Beherrschen von systematischen Fehlern, dass beide Prozessorkerne weiter funktionieren (Funktionserhalt) und die Fehlerauswirkung nur abgeblockt wird (fault-containment).
  • Der zweite Prozessorkern bietet die Möglichkeit, eine Vielzahl von unterschiedlichen, komplexen Funktionen auf einfache, aufwandsarme Weise in den Mikroprozessor zu implementieren. Entsprechender Programmcode zur Ausführung von Funktionen kann auf einfache Weise programmiert und auf den Mikroprozessor übertragen werden. Somit können auch nachträglich noch Funktionen in den Mikroprozessor übertragen werden, wenn dieser sich bereits im Feld befindet.
  • Der zweite Prozessorkern bzw. die auf ihm in Software implementierten Funktionalitäten können zweckmäßigerweise performanceorientiert entwickelt werden, d.h. insbesondere derart, um Kapazität bzw. Rechenleistung des zweiten Prozessorkerns möglichst effektiv auszunutzen, um den zweiten Prozessorkern leistungsstark betreiben zu können und um die unterschiedlichen Funktionalitäten möglichst effektiv auszuführen.
  • Ein solcher Prozessorkern mit in Software implementierten Funktionalitäten ist jedoch zumeist anfällig für Angriffe, da die Gefahr besteht, dass schädliche Software von einem Angreifer in den Mikroprozessor eingebracht und von dem zweiten Prozessorkern ausgeführt werden kann. Der erste Prozessorkern ist daher dazu vorgesehen, um die Funktionen des zweiten Prozessorkerns zu überwachen bzw. abzusichern.
  • Prozessorkerne mit in Hardware implementierten Funktionalitäten sind zumeist sehr viel weniger anfällig für Angriffe, da sich ein Angreifer direkten physischen Zugriff auf den ersten Prozessorkern verschaffen müsste, um dessen Hardwarekonfiguration zu verändern. Ein Angriff aus der Ferne auf einen Prozessorkern mit in Hardware implementierten Funktionalitäten, beispielsweise durch Einbringen von schädlicher Software, ist zumeist nicht möglich bzw. die üblichen Schutzmaßnahmen sind hinreichend bekannt und effektiv.
  • Somit kann durch die Überwachung/Absicherung des zweiten Prozessorkerns durch den ersten Prozessorkern sichergestellt werden, dass der Mikroprozessor nach vorgegebenen Sicherheitsrichtlinien betrieben wird. Der Mikroprozessor stellt somit eine Kombination aus performanceorientierter, leistungsstarker Ausführung von Softwarefunktionen und angriffssicherer hardwareimplementierter Überwachung bzw. Absicherung dieser Softwarefunktionen dar. Durch die Softwarefunktionen kann der Mikroprozessor aufwandsarm und effektiv eine Vielzahl von komplexen, unterschiedlichen Funktionen ausführen und durch die hardwareimplementierte Überwachung kann die funktionale Sicherheit des Mikroprozessors gewährleistet werden.
  • In herkömmlichen Mikroprozessoren ist zur Überwachung zumeist ein sog. Watchdog vorgesehen, der als Software oder auch als eigenes Hardwareelement in den Mikroprozessor integriert sein kann. Für einen Mikroprozessor im Rahmen der Erfindung ist ein derartiger separater Watchdog nicht notwendig, da der erste Prozessorkern insbesondere die Funktion eines derartigen Watchdogs automatisch übernimmt. Somit ist es nicht notwendig, ein eigenes Watchdog-Hardwareelement in den Mikroprozessor zu integrieren, wodurch der Mikroprozessor kleiner gebaut werden kann, und es ist auch nicht notwendig, Rechenkapazität des Mikroprozessors für einen Software-Watchdog bereitzustellen.
  • Mit einem herkömmlichen Watchdog ist es zumeist nur möglich, das Vorliegen eines Fehlers zu erkennen und bei einem detektierten Fehler einen Fehlerzähler zu erhöhen. Die konkrete Natur des Fehlers kann dabei zumeist nicht erkannt werden. Im Gegensatz dazu ist es mit dem ersten Prozessorkern möglich, den konkreten Fehler zu identifizieren. Bei herkömmlichen Watchdogs wird zumeist der Mikroprozessor neugestartet, zurückgesetzt oder gar deaktiviert, wenn eine bestimmte Anzahl an Fehler detektiert wurde, wenn der Fehlerzähler also einen Grenzwert überschreitet. Im Gegensatz dazu kann der erste Prozessorkern insbesondere versuchen, den konkret identifizierten Fehler zu beheben oder die entsprechende fehlerhafte Funktion zu deaktivieren. Der Mikroprozessor kann dennoch weiter betrieben werden und muss nicht neugestartet, zurückgesetzt oder gar deaktiviert werden.
  • Für den Betrieb des Mikroprozessors gelten insbesondere bestimmte Sicherheitsrichtlinien, abhängig von dem konkreten Anwendungsfall, nach welchem der Mikroprozessor verwendet wird. Der erste Prozessorkern überwacht und/oder sichert die Funktion zweckmäßigerweise gemäß derartigen vorgegebenen Sicherheitsrichtlinien ab, um eine geforderte funktionale Sicherheit des Mikroprozessors zu gewährleisten. Der Mikroprozessor eignet sich für eine Vielzahl von unterschiedlichen Anwendungen, beispielsweise für den Einsatz in der Luft- und Raumfahrt, etwa in einem Steuergerät eines Flugzeugs.
  • Besonders vorteilhaft wird der Mikroprozessor in einem Kraftfahrzeug verwendet, zweckmäßigerweise in einem Steuergerät. Beispielsweise kann durch die Funktion eine Kraftfahrzeugfunktion und/oder Fahrassistenzfunktion ausgeführt werden. Der erste Prozessorkern überwacht insbesondere, ob diese Funktion nach Richtlinien und Normen des Kraftfahrzeugbereichs ausgeführt wird, beispielsweise gemäß der Norm ISO 26262, bzw. sichert die Funktion entsprechend ab. Die Ausführung von Funktionen des Mikroprozessors können somit insbesondere gemäß den Sicherheitsstandards der ISO 26262 bzw. den darin definierten ASIL (Automotive Safety Integrity Level) gewährleistet werden. Insbesondere können somit Funktionen, für welche gemäß ASIL C eine redundante Implementierung gefordert wird oder für die gemäß ASIL D eine diversitäre Implementierung gefordert wird, in dem Mikroprozessor sicher ausgeführt werden.
  • Durch die Angriffssicherheit des ersten Prozessorkerns wird dieser insbesondere für die Ausführung von Funktionen mit hohen und höchsten Sicherheitsanforderungen verwendet, insbesondere gemäß ASIL C und ASIL D. Derartige Funktionen können auch von dem zweiten Prozessorkern ausgeführt und durch den ersten Prozessorkern überwacht bzw. abgesichert werden. Auf dem zweiten Prozessorkern können aber auch weniger sicherheitsrelevante Funktionen ausgeführt werden, z.B. gemäß ASIL A und ASIL B.
  • Zweckmäßigerweise kann in dem Mikroprozessor somit eine Aufgabenzuordnung zu einzelnen Prozessorkernen durchgeführt werden. Aufgabe des ersten Prozessorkerns ist insbesondere die Absicherung des Mikroprozessors und dessen funktionale Sicherheit zu gewährleisten. Die restlichen Prozessorkerne brauchen sich somit insbesondere nicht um die funktionale Sicherheit des Mikroprozessors zu kümmern und können unabhängig davon Aufgaben bzw. Funktionen ausführen. Aufgabe des zweiten Prozessorkerns kann es beispielsweise sein, entsprechende Funktionen (z.B. Kraftfahrzeugfunktion, Fahrassistenzfunktion) möglichst leistungsstark und performanceoptimiert auszuführen.
  • Durch derartige Aufgabenzuordnung und Verteilen von auszuführenden Funktionen/Prozessen auf spezielle Prozessorkerne können diese einzelnen Funktionen/Prozesse effizienter ausgeführt werden als es beispielsweise der Fall wäre, wenn all diese einzelnen Funktionen/Prozessen von demselben Prozessorkern oder von mehrere Prozessorkerne gemeinsam ausgeführt würden. In derartigen Fällen wären zumeist sog. Kontextwechsel nötig, im Zuge derer Speicherinhalte zum Ausführen der Funktionen/Prozesse geladen werden müssen, was mit einem Zeitaufwand verbunden ist und wodurch sich eine Laufzeit zum Ausführen der Funktionen/Prozesse verlängert. Durch die Aufgabenzuordnung sind derartige Kontextwechsel insbesondere nicht oder zumindest sehr viel seltener nötig.
  • Wenn jedoch einer der Prozessorkerne einen Fehler oder Defekt aufweist und die ihm zugeteilten Aufgaben nicht mehr ausführen kann, können diese Aufgaben auch anderen Prozessorkernen zugewiesen werden. Beispielsweise wenn der fehlerhafte Prozessorkern zurückgesetzt wird, um einen systematischen Fehler zu beheben, können seine Aufgabe für ein spezielles Zeitintervall von einem anderen Prozessorkern übernommen werden.
  • Vorteilhafterweise ist der erste Prozessorkern dazu eingerichtet, weitere Komponenten des Mikroprozessors zu überwachen und/oder abzusichern. Somit überwacht und sichert der erste Prozessorkern nicht nur die funktionale Sicherheit des zweiten Prozessorkerns ab, sondern insbesondere sämtlicher über einen internen Bus mit dem ersten Prozessorkern in Kommunikationsverbindung befindlicher Komponenten des Mikroprozessors, wie beispielsweise Speichereinheiten (z.B. RAM, Flash, EPROM, etc.), Interrupt-Einheiten, Timer-Modulen, Analog-Digital-Wandler bzw. Digital-Analog-Wandler, Signaleingänge und Signalausgänge, etc. Der erste Prozessorkern dient somit zweckmäßigerweise als ein globaler Watchdog für den gesamten Mikroprozessor.
  • Besonders bevorzugt kann der erste Prozessorkern bei der Verwendung des Mikroprozessors in einem Kraftfahrzeug für die Führung der Gesamtsicherheitsfunktion verwendet werden, d.h. insbesondere für die Fahrzeugführung. Der erste Prozessorkern stellt insbesondere sicher, dass der Mikroprozessor gemäß den höchsten Sicherheitsrichtlinien ASIL C und ASIL D betrieben wird.
  • Gemäß einer vorteilhaften Ausführungsform wird auf dem zweiten Prozessorkern ein Programmcode ausgeführt. Mittels dieses Programmcodes kann insbesondere die vom ersten Prozessorkern überwachte/abgesicherte Funktion ausgeführt werden. Ein derartiger Programmcode ist zumeist nicht nach den vorgegebenen Sicherheitsstandards entwickelt worden, welche für die spezielle Endanwendung des Mikroprozessors gelten (z.B. ASIL C, ASIL D), sondern zumeist derart, um entsprechende Funktionen möglichst performanceoptimiert auf einem Prozessorkern mit in Software implementierten Funktionalitäten auszuführen.
  • Besonders vorteilhaft wird auf dem zweiten Prozessorkern ein herstellerfremder Programmcode bzw. ein Programmcode eines Fremdherstellers (sog. Legacy-Code) ausgeführt. Derartiger herstellerfremder Programmcode kann in fachfremden Bereichen erprobte, hochentwickelte Technologie darstellen, welche kostengünstige, sehr leistungsfähige Funktionen anbietet, die durch kontinuierliches Wachstum und Weiterentwicklungen auch durch andere Branchen weiterentwickelt wird. Die Erfindung stellt eine Möglichkeit bereit, um die Eigenschaften, Weiterentwicklungen und Vorteile derartiger herstellerfremder Programmcodes auch für den speziellen Anwendungsfall des Mikroprozessors, insbesondere für den Kraftfahrzeugbereich, zu nutzen und dabei den für den Mikroprozessor geltenden Sicherheitsanforderungen gerecht zu werden.
  • Vorteilhafterweise kann auf dem zweiten Prozessorkern ein anderes Betriebssystem ausgeführt werden als auf dem ersten Prozessorkern und/oder als auf weiteren Prozessorkernen des Mikroprozessors. Besonders vorteilhaft wird auf dem zweiten Prozessorkern als Programmcode, insbesondere als herstellerfremder Programmcode, ein echtzeitfähiges Betriebssystem (RTOS) ausgeführt, zweckmäßigerweise echtzeitfähiges Linux. Beispielsweise können somit Funktionen zum Steuern eines Kraftfahrzeugs, in welches der Mikroprozessor integriert ist, deterministisch in Echtzeit berechnet werden, wodurch die Steuerung des Kraftfahrzeugs optimiert werden kann. Da ein derartiges Betriebssystem aber nicht notwendigerweise gegen mögliche Angriffe des Mikroprozessors gesichert ist, wird mittels der Überwachung/Absicherung durch den ersten Prozessorkern gewährleistet, dass derartige Angriffe oder andere Fehler schnellstmöglich erkannt werden können. Besonders vorteilhaft kann (herstellerfremder) Programmcode, insbesondere echtzeitfähiges Linux, in ein Kraftfahrzeug integriert und für dessen Steuerung verwendet werden und dabei können die KFZ-Sicherheitsrichtlinien wie die ISO 26262 eingehalten werden.
  • Wenn der erste Prozessorkern erkennt, dass die Funktion des zweiten Prozessorkerns fehlerhaft ausgeführt wird, kann der erste Prozessorkern diese Funktion vorteilhafterweise als Sicherheitsmaßnahme deaktivieren. Der erste Prozessorkern hindert den zweiten Prozessorkern also insbesondere daran, die fehlerhafte Funktion weiter auszuführen. Beispielsweise kann als Sicherheitsmaßnahme von dem ersten Prozessorkern auch eine Degradation durchgeführt werden und die fehlerhafte Funktion kann in einen sicheren Zustand überführt bzw. degradiert werden, im Zuge dessen eine Leistungsdegradation vorgenommen bzw. der Funktionsumfang reduziert werden kann. Es ist auch denkbar, dass der erste Prozessorkern als Sicherheitsmaßnahme den zweiten Prozessorkern deaktiviert, beispielsweise in Abhängigkeit davon, wie schwerwiegend der erkannten Fehler ist. Alternativ oder zusätzlich kann der erste Prozessorkern die Funktion vorteilhafterweise auch selbst ausführen. Im Falle des Lockstep-Prinzips wird die Funktion vorzugsweise ohnehin ebenfalls von dem ersten Prozessorkern ausgeführt. Somit kann die fehlerhafte Funktion im Fehlerfall dennoch ausgeführt werden, ist jedoch nicht mehr redundant abgesichert. Alternativ oder zusätzlich kann der erste Prozessorkern auch eine Ersatzfunktion als Sicherheitsmaßnahme ausführen, welche beispielsweise eine einfachere, weniger umfangreichere Version der fehlerhaften Funktion sein kann.
  • Bei einem erkannten Fehlerfall wird durch den ersten Prozessorkern vorzugsweise gewährleistet, dass zumindest der wichtigste Effekt der fehlerhaften Funktion dennoch ausgeführt werden kann. Besonders vorteilhaft kann somit bei einem erkannten Fehler ein Limp-Home-Modus des Mikroprozessors durchgeführt werden. Der Mikroprozessor wird im Fehlerfall somit nicht deaktiviert, sondern wird insbesondere zumindest derart betrieben, dass die entsprechende vom Mikroprozessor angesteuerte Maschine (z.B. das Kraftfahrzeug) noch sicher und funktionstüchtig betrieben werden kann.
  • Vorteilhafterweise umfasst der Mikroprozessor einen dritten Prozessorkern, der als ein I/O-Controller ausgebildet ist und dazu eingerichtet ist, eine Verarbeitung von Ein- und Ausgaben des Mikroprozessors durchzuführen. Der dritte Prozessorkern ist insbesondere ein Coprozessor, über welchen der Mikroprozessor externe Komponenten ansprechen kann (z.B. Sensoren, Aktoren, weitere Mikroprozessor, Steuergeräte, etc.). Der I/O-Controller dient insbesondere als eine Abstraktionsschicht bzw. Schnittstelle zwischen Außenwelt und den Prozessorkernen des Mikroprozessors. Der I/O-Controller steuert zu diesem Zweck beispielsweise analoge und/oder digitale Ein-/Ausgänge sowie Analog-Digital-Wandler bzw. Digital-Analog-Wandler zur Wandlung von Ein- und/oder Ausgangssignalen. Datenaustausch erfolgt insbesondere verschlüsselt, beispielsweise mittels einer Ende-zu-Ende-Verschlüsselung (E2E), bei welcher zu übertragende Daten von dem entsprechenden Senderseite verschlüsselt und erst von dem Empfänger wieder entschlüsselt werden.
  • Der erste Prozessorkern ist vorteilhafterweise dazu eingerichtet ist, eine von dem dritten Prozessorkern ausgeführte Funktion zu überwachen und/oder abzusichern, insbesondere Ein- und/oder Ausgabeoperationen. Der erste Prozessorkern kontrolliert somit insbesondere den gesamten Ein- und Ausgabe-Bereich des Mikroprozessors und garantiert insbesondere eine funktionale Sicherheit, Verfügbarkeit, Datensicherheit und Einhaltung von zeitlichen Limitierungen. Insbesondere kann durch den ersten Prozessorkern somit der Einfluss auf sicherheitsrelevante Daten von außerhalb des Mikroprozessors sehr gut überwacht werden. Insbesondere können durch eine derartige Hardware-Trennung (erster Prozessorkern für Überwachung, zweiter Prozessorkern für Ausführung von Software, dritter Prozessorkern für Ein-/Ausgaben) alle Datenströme in den Mikroprozessor hinein überwacht werden, wodurch insbesondere Angriffe durch Einbringung von schädlicher Software erkannt und unterbunden werden können.
  • Gemäß einer besonders vorteilhaften Ausführung werden der erste Prozessorkern und der zweite Prozessorkern gemäß unterschiedlicher Zeitbasen bzw. gemäß unterschiedlichen Taktzyklen betrieben. Für jeden der Prozessorkerne kann eine individuelle Zeitbasis bzw. Taktzyklus gewählt werden, welche bzw. welcher optimal auf die von dem jeweiligen Prozessorkern auszuführende Funktionen abgestimmt ist.
  • Für den ersten Prozessorkern kann zweckmäßigerweise eine Zeitbasis gewählt werden, die optimal auf die Überwachung/Absicherung des zweiten Prozessorkerns bzw. weiterer Komponenten des Mikroprozessors ausgerichtet ist. Für den ersten Prozessorkern kann die Zeitbasis aus den zeitlichen Anforderungen der Sicherheitsanwendung abgeleitet werden. Für den zweiten Prozessorkern wird insbesondere eine Zeitbasis gewählt, um eine leistungsstarke, performanceoptimierte Ausführung von Funktionen zu erreichen. Der zweite Prozessorkern kann somit die Zeitbasis wählen, die zur optimalen Performance notwendig ist. Wenn der Mikroprozessor ebenfalls den I/O-Controller umfasst, können vorzugsweise der erste Prozessorkern, der zweite Prozessorkern und der I/O-Controller jeweils gemäß unterschiedlicher Zeitbasen bzw. unterschiedlicher Taktzyklen betrieben werden. Die Zeitbasis des I/O-Controller wird zweckmäßigerweise darauf optimiert, rechtzeitig Nachrichten bzw. Befehle auszusenden, beispielsweise um in einem Kraftfahrzeug rechtzeitig Aktoren ansteuern zu können.
  • In herkömmlichen Mikroprozessoren ist es zumeist nicht ohne weiteres möglich, für unterschiedliche Prozessorkerne unterschiedliche Zeitbasen zu implementieren. Zumeist wird für diesen Zweck ein sog. Hypervisor benötigt, welcher als Hardwareelement oder ausgeführte Software ausgebildet sein kann. Ein derartiger Hypervisor besitzt eine höchste Hierarchiestufe und dient insbesondere zum Koordinieren bzw. Synchronisieren der unterschiedlichen Zeitbasen. Wenn der Hypervisor jedoch einen Fehler aufweist oder ausfällt, funktioniert der entsprechende Mikroprozessor gegebenenfalls ebenfalls nicht mehr oder fällt gar ebenfalls aus. Ein derartiger Hypervisor wird üblicherweise zur Synchronisierung von mindestens zwei implementierten Betriebssystemen benötigt. Da die beiden Betriebssysteme hier aber eine unabhängige Zeitbasis führen können bzw. sogar sollen, kann auf einen Hypervisor vorteilhafterweise verzichtet werden.
  • Vorteilhafterweise weist der Mikroprozessor eine Speichereinheit auf, welche gleichzeitige Lese- und/oder Schreibzugriffe des ersten Prozessorkerns und des zweiten Prozessorkerns ermöglicht (sog. Dual-Port-RAM). Vorzugsweise wird die Speichereinheit von dem ersten Prozessorkern überwacht und/oder absichert. Durch diese Speichereinheit kann Datenaustausch zwischen den beiden Prozessorkernen ermöglicht werden. Beispielsweise können Ergebnisse der von dem zweiten Prozessorkern ausgeführten Funktion in diese Speichereinheit geschrieben werden und dort vom ersten Prozessorkern zur Überwachung ausgelesen werden.
  • Durch Überwachung der Speichereinheit kann der erste Prozessorkern zweckmäßigerweise einen Datenverkehr zwischen dem zweiten Prozessorkern und anderen Komponenten des Mikroprozessors überwachen, beispielsweise wenn zwischen der entsprechenden Komponente und dem zweiten Prozessorkern ausgetauschte Daten in der Speichereinheit zwischengespeichert werden. Bei einem erkannten Fehlerfall kann der erste Prozessorkern durch entsprechende Zugriffe auf die Speichereinheit insbesondere die Datenkommunikation zwischen zweiter Prozessorkern und anderen Komponenten des Mikroprozessors sperren.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
  • Kurze Beschreibung der Zeichnungen
  • 1 und 2 zeigen jeweils schematisch eine bevorzugte Ausgestaltung eines erfindungsgemäßen Mikroprozessors, der jeweils dazu eingerichtet ist, gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens betrieben zu werden.
  • 3 zeigt schematisch eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens als ein Blockdiagramm.
  • Ausführungsform(en) der Erfindung
  • In 1 ist eine bevorzugte Ausgestaltung eines erfindungsgemäßen Mikroprozessors schematisch dargestellt und mit 100 bezeichnet.
  • Der Mikroprozessor 100 wird beispielsweise in einem Steuergerät eines Kraftfahrzeugs verwendet, beispielsweise in einem Bremsensteuergerät. Dabei kann der Mikroprozessor 100 an eine Kommunikationssystem des Kraftfahrzeugs angebunden sein, insbesondere an einen Feldbus wie CAN, und mit weiteren Komponenten des Kraftfahrzeugs in Kommunikationsverbindung stehen, z.B. mit weiteren Steuergeräten, Sensoren, Aktoren, etc.
  • Der Mikroprozessor 100 weist einen internen Bus 101 auf, über welchen Komponenten des Mikroprozessors 100 miteinander in Kommunikationsverbindung stehen.
  • Der Mikroprozessor 100 weist in dem dargestellten Beispiel einen ersten Prozessorkern 110 und einen zweiten Prozessorkern 120 auf. Der erste Prozessorkern 110 ist als ein Prozessorkern mit in Hardware implementierten Funktionalitäten ausgebildet, welcher Funktionen hardwareimplementiert durch speziell verschaltete bzw. speziell konfigurierte Hardwarebaustein ausführt. Der zweite Prozessorkern 120 ist als ein Prozessorkern mit in Software implementierten Funktionalitäten ausgebildet, welcher Funktionen softwareimplementiert durch Ausführung von spezieller Software ausführt.
  • Der zweite Prozessorkern 120 führt insbesondere einen Programmcode 121 aus, beispielsweise ein echtzeitfähiges Betriebssystem, wie etwa ein Linux. Besonders bevorzugt handelt es sich dabei um einen herstellerfremden Programmcode bzw. um einen Programmcode eines Fremdherstellers (Legacy-Code). Unter diesem echtzeitfähigen Betriebssystem 121 werden von dem zweiten Prozessorkern Aufgaben bzw. Funktionen ausgeführt, mittels welchen wiederum Kraftfahrzeugfunktionen ausgeführt werden, beispielsweise Funktionen zur Ansteuerung der Bremse des Kraftfahrzeugs.
  • Der erste Prozessorkern 110 führt eine hardwareimplementierte Überwachungs- und Absicherungsfunktion 111 aus, um sowohl die von dem echtzeitfähigen Betriebssystem 121 ausgeführten Funktionen als auch die weiteren Komponenten des Mikroprozessors 100 zu überwachen und abzusichern, insbesondere gemäß den ASIL D Richtlinien der Norm ISO 26262.
  • Beispielsweise kann der erste Prozessorkern 110 zu diesem Zweck die von dem echtzeitfähigen Betriebssystem 121 ausgeführten Funktionen zur Ansteuerung der Bremse des Kraftfahrzeugs ebenfalls hardwareimplementiert durchführen. Weiterhin kann der erste Prozessorkern 110 die Ergebnisse dieser beiden Ausführungen miteinander vergleichen. Vorzugsweise werden dabei der erste Prozessorkern 110 und der zweite Prozessorkern 120 in unterschiedlichen Zeitbasen bzw. mit unterschiedlichen Taktzyklen betrieben.
  • Der Mikroprozessor weist weiterhin einen sog. Dual-Port-RAM 150 auf, also eine Speichereinheit, welche gleichzeitige Lese- und/oder Schreibzugriffe des ersten Prozessorkerns 110 und des zweiten Prozessorkerns 120 ermöglicht. Ergebnisse der von dem echtzeitfähigen Betriebssystem 121 ausgeführten Funktionen können von dem zweiten Prozessorkern 120 in diesen Dual-Port-RAM 150 geschrieben und von dem ersten Prozessorkern 110 ausgelesen und überwacht werden.
  • Der Mikroprozessor weist weiterhin einen lokalen Speicher auf, beispielsweise in Form eines RAM-Speichers 141, eines Flash-Speichers 142 und eines EEPROM 143, welche über einen Speichercontroller 140 angesprochen werden können.
  • Über einen analogen Eingang 161 können analoge Eingangssignale von dem Mikroprozessor 100 empfangen werden, die beispielsweise von Sensoren des Kraftfahrzeugs an den Mikroprozessor 100 übermittelt werden. Weiterhin können über einen analogen Ausgang 162 analoge Ausgangssignale von dem Mikroprozessor 100 ausgegeben werden, beispielsweise zur Ansteuerung von Aktoren des Kraftfahrzeugs. Ein Analog-Digital-Wandler ist für eine Analog-Digital-Wandlung bzw. Digital-Analog-Wandlung dieser Signale vorgesehen.
  • Der Mikroprozessor 100 weist weiterhin einen digitalen Eingang 171 und einen digitalen Ausgang 172 zum Empfangen bzw. Aussenden von digitalen Signalen auf, beispielsweise von bzw. zu anderen Steuergeräten des Kraftfahrzeugs, welche über einen Port 170 an den internen Bus 101 angebunden sind. Weiterhin weist der Mikroprozessor 100 Komponenten 180 wie etwa Interrupt-Einheiten, Timer-Module, etc. auf.
  • In 2 ist eine bevorzugte Ausgestaltung eines erfindungsgemäßen Mikroprozessors analog zu 1 schematisch dargestellt und mit 100' bezeichnet. Identische Bezugszeichen in den 1 und 2 bezeichnen gleiche bzw. baugleiche Elemente.
  • Der Mikroprozessor 100' aus 2 weist im Gegensatz zu dem Mikroprozessor 100 aus 1 noch einen weiteren, dritten Prozessorkern 130 auf, welcher als ein I/O-Controller ausgebildet ist und Ein- und Ausgaben des Mikroprozessor 100' verarbeitet.
  • Der dritte Prozessorkern 130 ist insbesondere als ein Coprozessor ausgebildet, über welchen der Mikroprozessor 100' weitere Komponenten des Kraftfahrzeugs ansprechen kann. Zu diesem Zweck führt der I/O-Controller 130 eine Steuersoftware 131 aus, um den Analog-Digital-Wandler 160, den analogen Ein- und Ausgang 161 bzw. 162, den digitalen Ein- und Ausgang 171 bzw. 172 sowie den Port 170 anzusteuern.
  • Der dritte Prozessorkern 130 kann als unabhängige Instanz (auch zeitlich) die Ausgänge des Mikroprozessors 100' in einen sicheren Zustand (Fault-containment) schalten (vereinfachte Sicherheitsfunktionen ausführen, wie Lenkung herunterrampen) oder auch die Ausgänge einfach abschalten, wenn dies der sichere Zustand ist.
  • Mittels der hardwareimplementierten Überwachungs- und Absicherungsfunktion 111 überwacht und sichert der erste Prozessorkern 110 den I/O-Controller 130 gemäß den ASIL D Richtlinien der Norm ISO 26262 ab. Bevorzugt werden der erste Prozessorkern 110, der zweite Prozessorkern 120 und der dritte Prozessorkern 130 jeweils in unterschiedlichen Zeitbasen bzw. mit unterschiedlichen Taktzyklen betrieben.
  • Die Mikroprozessor 100 und 100' sind jeweils, insbesondere programmtechnisch, dazu eingerichtet, gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens betrieben zu werden, welche in 3 als ein Blockdiagramm dargestellt ist.
  • In Schritt 301 wird von dem zweiten Prozessorkern 120 unter dem echtzeitfähigen Betriebssystem 121 eine Funktion zur Steuerung der Bremse des Kraftfahrzeugs ausgeführt. Beispielsweise liest der zweite Prozessorkern 120 zu diesem Zweck über den Analogeingang 161 Sensordaten eines Bremspedalsensors ein, welche Auskunft darüber geben, ob und wie stark das Bremspedal des Kraftfahrzeugs betätigt wird.
  • Aus diesen Sensordaten werden von dem echtzeitfähigen Betriebssystem 121 deterministisch in Echtzeit Ansteuerdaten für einen Aktor des Kraftfahrzeugs bestimmt, mittels welchem die Bremse des Kraftfahrzeugs betätigt wird. Die Ansteuerdaten weisen den Aktor dabei an, die Bremse in einer bestimmten Stärke zu betätigen. Die Ansteuerdaten werden über den Analogausgang 162 an den Aktor übermittelt.
  • Im Fall des Mikroprozessors 100 gemäß 1 steuert der zweite Prozessorkern 120 zum Einlesen der Sensordaten und zur Ausgabe der Ansteuerdaten insbesondere selbst den Analog-Digital-Wandler 160 an. Im Fall des in 2 dargestellten Mikroprozessors 100' kommuniziert der der zweite Prozessorkern 120 zu diesem Zweck mit dem I/O-Controller 130, welcher den Analog-Digital-Wandler 160 entsprechend ansteuert.
  • Wenn der zweite Prozessorkern 120 die Ansteuerdaten bestimmt hat, schreibt dieser die Daten in den Dual-Port-RAM 150. In Schritt 302 liest der erste Prozessorkern 110 diese Ansteuerdaten aus dem Dual-Port-RAM 150 aus und plausibilisiert sie. Beispielsweise kann der erste Prozessorkern 110 zu diesem Zweck ebenfalls die Sensordaten einlesen und die Ansteuerdaten ebenfalls mit einer in Hardware implementierten Funktion bestimmen. Stimmen diese unterschiedlich bestimmten Ansteuerdaten überein, liegt kein Fehler vor. Weichen diese Ansteuerdaten jedoch voneinander ab, liegt ein Fehler vor, beispielsweise kann der zweite Prozessorkern einen Hardwaredefekt aufweisen oder ein ausgeführter Programmcode ist fehlerhaft.
  • Der erste Prozessorkern 110 führt in Schritt 303 daraufhin eine Sicherheitsmaßnahme durch. Beispielsweise kann der erste Prozessorkern 110 den zweiten Prozessorkern 120 anweisen, die entsprechende Funktion nicht mehr auszuführen. Weiterhin kann der erste Prozessorkern 110 während der Fahrt des Kraftfahrzeugs die Ansteuerdaten bestimmen und an den Aktor übermitteln, um die Bremse anzusteuern.
  • Des Weiteren kann der erste Prozessorkern 110 eine Warnung an einen Fahrer des Fahrzeugs ausgeben, beispielsweise über den Bordcomputer, dass ein Defekt vorliegt und er eine Werkstatt anfahren soll.
  • Im Rahmen der Erfindung sind nicht nur normale betriebliche Prozesse sowie Initialisierung und Power-down-Prozesse überwachbar. Insbesondere können auch Flash-Prozesse (sowohl Daten- als auch Programm-Flashvorgänge), zum Beispiel über das Dual-Port-Ram, überwacht werden.
  • 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 Nicht-Patentliteratur
    • Norm ISO 26262 [0021]
    • Sicherheitsstandards der ISO 26262 [0021]
    • ISO 26262 [0030]
    • Norm ISO 26262 [0049]
    • Norm ISO 26262 [0059]

Claims (13)

  1. Mikroprozessor (100, 100'), insbesondere für ein Kraftfahrzeug, mit wenigstens zwei Prozessorkernen (110, 120, 130), wobei ein erster Prozessorkern (110) dazu eingerichtet ist, Funktionen (111) hardwareimplementiert durch speziell konfigurierte Hardware auszuführen, ein zweiter Prozessorkern (120) dazu eingerichtet ist, Funktionen (121) softwareimplementiert durch Ausführung von Software auszuführen, und der erste Prozessorkern (110) dazu eingerichtet ist, eine von dem zweiten Prozessorkern (120) ausgeführte Funktion (121) zu überwachen und/oder abzusichern.
  2. Mikroprozessor (100, 100') nach Anspruch 1, wobei der erste Prozessorkern (110) weiterhin dazu eingerichtet ist, weitere Komponenten des Mikroprozessors (100, 100') zu überwachen und/oder abzusichern.
  3. Mikroprozessor (100, 100') nach Anspruch 1 oder 2 mit einem dritten Prozessorkern (130), der als ein I/O-Controller ausgebildet ist und dazu eingerichtet ist, eine Verarbeitung von Ein- und Ausgaben des Mikroprozessors (100, 100') durchzuführen, wobei der erste Prozessorkern (110) dazu eingerichtet ist, eine von dem dritten Prozessorkern (130) ausgeführte Funktion zu überwachen und/oder abzusichern.
  4. Mikroprozessor (100, 100') nach einem der vorstehenden Ansprüche mit einer Speichereinheit (150), welche gleichzeitige Lese- und/oder Schreibzugriffe des ersten Prozessorkerns (110) und des zweiten Prozessorkerns (120) ermöglicht, wobei der erste Prozessorkern (110) dazu eingerichtet ist, die Speichereinheit (150) zu überwachen und/oder abzusichern.
  5. Verfahren zum Betreiben eines Mikroprozessors (100, 100') nach einem der vorstehenden Ansprüche, wobei auf dem ersten Prozessorkern (110) Funktionen (111) hardwareimplementiert durch speziell konfigurierte Hardware ausgeführt werden, auf dem zweiten Prozessorkern (120) Funktionen (121) softwareimplementiert durch Ausführung von Software ausgeführt werden, und eine von dem zweiten Prozessorkern (120) ausgeführte Funktion (121) durch den ersten Prozessorkern (110) überwacht und/oder abgesichert wird.
  6. Verfahren nach Anspruch 5, wobei von dem ersten Prozessorkern (110) weitere Komponenten des Mikroprozessors (100, 100') überwacht und/oder abgesichert werden.
  7. Verfahren nach Anspruch 5 oder 6, wobei auf dem zweiten Prozessorkern (120) ein Programmcode (121), insbesondere ein herstellerfremder Programmcode (121), ausgeführt wird.
  8. Verfahren nach Anspruch 7, wobei auf dem zweiten Prozessorkern (120) als Programmcode (121) ein echtzeitfähiges Betriebssystem ausgeführt wird.
  9. Verfahren nach einem der Ansprüche 5 bis 8, wobei, wenn der erste Prozessorkern (110) erkennt, dass die von dem zweiten Prozessorkern (120) ausgeführte Funktion (121) fehlerhaft ausgeführt wird, der erste Prozessorkern (110) die Funktion deaktiviert und/oder die Funktion selbst ausführt und/oder eine Ersatzfunktion ausführt.
  10. Verfahren nach einem der Ansprüche 5 bis 9, wobei der erste Prozessorkern (110) und der zweite Prozessorkern (120) gemäß unterschiedlicher Zeitbasen betrieben werden.
  11. Verfahren nach einem der Ansprüche 5 bis 10, wobei der Mikroprozessor (100, 100') einen dritten Prozessorkern (130) aufweist, der als ein I/O-Controller ausgebildet ist und Ein- und Ausgaben des Mikroprozessors (100, 100') verarbeitet, und wobei eine von dem dritten Prozessorkern (130) ausgeführte Funktion (131) durch den ersten Prozessorkern (110) überwacht und/oder abgesichert wird.
  12. Verfahren nach einem der Ansprüche 5 bis 11, wobei der erste Prozessorkern (110) eine Speichereinheit (150) des Mikroprozessors (100, 100') überwacht und/oder absichert, welche gleichzeitige Lese- und/oder Schreibzugriffe des ersten Prozessorkerns (110) und des zweiten Prozessorkerns (120) ermöglicht.
  13. Verfahren nach einem der Ansprüche 5 bis 12, wobei der Mikroprozessor (100, 100') in einem Kraftfahrzeug verwendet wird und wobei die von dem zweiten Prozessorkern (120) ausgeführte Funktion (121) durch den ersten Prozessorkern (110) gemäß vorgegebenen Sicherheitsstandards des Kraftfahrzeugbereichs überwacht und/oder abgesichert wird.
DE102016205109.1A 2016-03-29 2016-03-29 Mikroprozessor, insbesondere für ein Kraftfahrzeug Pending DE102016205109A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016205109.1A DE102016205109A1 (de) 2016-03-29 2016-03-29 Mikroprozessor, insbesondere für ein Kraftfahrzeug

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016205109.1A DE102016205109A1 (de) 2016-03-29 2016-03-29 Mikroprozessor, insbesondere für ein Kraftfahrzeug

Publications (1)

Publication Number Publication Date
DE102016205109A1 true DE102016205109A1 (de) 2017-10-05

Family

ID=59885728

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016205109.1A Pending DE102016205109A1 (de) 2016-03-29 2016-03-29 Mikroprozessor, insbesondere für ein Kraftfahrzeug

Country Status (1)

Country Link
DE (1) DE102016205109A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018207542A1 (de) * 2018-05-15 2019-11-21 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung für die Steuerung eines sicherheitsrelevanten Vorganges, sowie Fahrzeug
DE102018209833A1 (de) 2018-06-19 2019-12-19 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung für die Steuerung eines sicherheitsrelevanten Vorganges, sowie Fahrzeug

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ISO 26262
Norm ISO 26262
Sicherheitsstandards der ISO 26262

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018207542A1 (de) * 2018-05-15 2019-11-21 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung für die Steuerung eines sicherheitsrelevanten Vorganges, sowie Fahrzeug
DE102018207542B4 (de) * 2018-05-15 2021-01-14 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung für eine Steuerung eines sicherheitsrelevanten Vorganges, sowie Fahrzeug
DE102018209833A1 (de) 2018-06-19 2019-12-19 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung für die Steuerung eines sicherheitsrelevanten Vorganges, sowie Fahrzeug
EP3584140A1 (de) 2018-06-19 2019-12-25 Volkswagen AG Verfahren und vorrichtung für die steuerung eines sicherheitsrelevanten vorganges, sowie fahrzeug
US11220288B2 (en) 2018-06-19 2022-01-11 Volkswagen Aktiengesellschaft Method and device for the control of a safety-relevant process and transportation vehicle
DE102018209833B4 (de) 2018-06-19 2022-03-24 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung für die Steuerung eines sicherheitsrelevanten Vorganges, sowie Fahrzeug

Similar Documents

Publication Publication Date Title
EP2823430B1 (de) Elektronisches regelungssystem
EP2864848B1 (de) Vorrichtung und verfahren für eine sicherheitskritische anwendung
EP2193408B1 (de) Integriertes mikroprozessorsystem für sicherheitskritische regelungen
EP2210151A1 (de) FELDGERÄT FÜR DIE BESTIMMUNG ODER ÜBERWACHUNG EINER PROZESSGRÖßE IN DER PROZESSAUTOMATISIERUNG
EP2447843B1 (de) Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens
EP1970782B1 (de) Schutzeinrichtung für eine programmierbare datenverarbeitende Einheit
DE102011108077A1 (de) Verfahren zur Speicherplatzverwaltung in einem multitaskingfähigen Datenverarbeitungssystem
EP2099667A1 (de) Verfahren zum sicherstellen oder aufrechterhalten der funktion eines komplexen sicherheitskritischen gesamtsystems
DE102016205109A1 (de) Mikroprozessor, insbesondere für ein Kraftfahrzeug
DE102006012042A1 (de) Steuervorrichtung zur fehlersicheren Steuerung einer Maschine
EP2228723B1 (de) Verfahren zur Fehlerbehandlung eines Rechnersystems
DE102005037213A1 (de) Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal
DE102007045509A1 (de) Fahrzeug-Steuereinheit mit einem Versorgungspannungsüberwachten Mikrocontroller sowie zugehöriges Verfahren
DE102011007467A1 (de) Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung
EP0547259B1 (de) Schaltungsanordnung zum Sichern des Betriebes eines rechnergesteuerten Gerätes
DE102015203253A1 (de) Sicherheitsschaltungseinheit
WO2008128710A1 (de) Steuervorrichtung für fahrzeuge
WO2007017399A1 (de) Vorrichtung und verfahren zur konfiguration einer halbleiterschaltung
EP3841439A1 (de) Automatisierungssystem zur überwachung eines sicherheitskritischen prozesses
DE102018210733A1 (de) Verfahren zum Überwachen wenigstens einer Recheneinheit
EP3893113B1 (de) Überwachung einer komponente eines steuerungssystems für ein fortbewegungsmittel
US20230398955A1 (en) In-vehicle use control system
EP1915691A1 (de) Vorrichtung und verfahren zur steuerung eines rechnersystems
DE10233879B4 (de) Verfahren zum Steuern und Überwachen einer sicherheitskritischen Anlage, insbesondere Verkehrs-Signalanlage sowie Vorrichtung zur Durchführung des Verfahrens
DE102022102412A1 (de) Störungsdetektion für einen elektronischen Verarbeitungsschaltkreis mit einer arithmetisch-logischen Einheit

Legal Events

Date Code Title Description
R012 Request for examination validly filed