WO2005003962A2 - Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit - Google Patents

Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit Download PDF

Info

Publication number
WO2005003962A2
WO2005003962A2 PCT/DE2004/001299 DE2004001299W WO2005003962A2 WO 2005003962 A2 WO2005003962 A2 WO 2005003962A2 DE 2004001299 W DE2004001299 W DE 2004001299W WO 2005003962 A2 WO2005003962 A2 WO 2005003962A2
Authority
WO
WIPO (PCT)
Prior art keywords
operating mode
processor unit
execution units
memory area
programs
Prior art date
Application number
PCT/DE2004/001299
Other languages
English (en)
French (fr)
Other versions
WO2005003962A3 (de
Inventor
Reinhard Weiberle
Bernd Mueller
Ralf Angerbauer
Rainer Gmehlich
Stefan Benz
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
Priority claimed from DE10332700A external-priority patent/DE10332700A1/de
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to BRPI0411824-3A priority Critical patent/BRPI0411824A/pt
Priority to US10/560,962 priority patent/US20070277023A1/en
Priority to JP2006515276A priority patent/JP4232987B2/ja
Priority to EP04738748A priority patent/EP1639454A2/de
Publication of WO2005003962A2 publication Critical patent/WO2005003962A2/de
Publication of WO2005003962A3 publication Critical patent/WO2005003962A3/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Definitions

  • control applications in particular in the field of motor vehicle control, such as engine control, brake control or steering and transmission, etc., but also in industrial applications such as automation or in
  • the non-safety-critical programs or tasks are processed.
  • Various non-safety-critical programs run on both execution units, that is to say CPUs 1 and 2 (101, 102). This includes, for example, the operating system itself for the second operating mode, i.e. the OSEK subsystem.
  • the two execution units or CPUs thus share a non-volatile second memory area which, as described above, can be designed.
  • each CPU has its own volatile memory area RAM1 and RAM2, 110, respectively
  • an incorrect access is detected in the second operating mode, a corresponding error reaction can also be initiated here.
  • an error response corresponding to the first operating mode is conceivable and can be predetermined. This is particularly useful because, in the event of incorrect access, security-critical memory areas may be accessed. On the one hand, this can be realized in that a connection to the second memory area is only established in the second operating mode and the connection to the first memory areas is capped in this operating mode or access to the first memory area is prevented in some other way and only allowed in the second memory area.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit mit wenigstens zwei Ausführungseinheiten dadurch gekennzeichnet, dass ein Wechsel von einem ersten Betriebsmodus in einen zweiten Betriebsmodus dadurch ausgelöst wird, dass durch die Prozessoreinheit auf eine vorgegebene Speicheradresse zugegriffen wird.

Description

Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer
Prozessoreinheit sowie entsprechende Prozessoreinheit
Stand der Technik
Die Erfindung geht aus von einem Verfahren zur Umschaltung zwischen wenigstens zwei
Betriebsmodi einer Prozessoreinheit sowie einer entsprechenden Prozessoreinheit mit wenigstens zwei integrierten Ausführungseinheiten gemäß den Oberbegriffen der unabhängigen Ansprüche.
Solche Prozessoreinheiten mit wenigstens zwei integrierten Ausfuhrungseinheiten sind auch als Dual-Core- oder Multi-Core-Architekturen bekannt. Solche Dual-Core- oder Multi-Core-Architekturen werden nach heutigem Stand der Technik hauptsächlich aus zwei Gründen vorgeschlagen:
Zum Einen kann damit eine Leistungssteigerung, also eine Performance-Steigerung erreicht werden, indem die beiden Ausführungseinheiten oder Gores als zwei Recheneinheiten auf einem Halbleiterbaustein betrachtet und behandelt werden. In dieser Konfiguration bearbeiten die zwei Ausführungseinheiten oder Cores unterschiedliche Programme respektive Tasks. Dadurch lässt sich eine Leistungssteigerung erzielen, weshalb diese Konfiguration als Leistungsmodus oder Performance-Mode bezeichnet wird.
Der zweite Grund, eine Dual-Core- oder Multi-Core-Architektur zu realisieren, ist eine Sicherheitssteigerung, indem die beiden Ausführungseinheiten redundant das gleiche Programm abarbeiten. Die Ergebnisse der beiden Ausführungseinheiten oder CPUs, also Cores werden verglichen und ein Fehler kann bei dem Vergleich auf Übereinstimmung erkannt werden- Im Folgenden wird diese Konfiguration als Sicherheitsmodus oder Safety-Mode bezeichnet.
Im Allgemeinen sind die beiden genannten Konfigurationen exklusiv auf der Dual- oder
Multi-Core- Architektur enthalten, d. h. der Rechner mit den wenigstens zwei Ausführungseinheiten, wird prinzipiell nur in einem Modus betrieben, dem Performance- Modus oder dem Safety-Modus.
Aufgabe der Erfindung ist es, einen kombinierten Betrieb einer solchen Dual- oder Multi-
Core-Prozessoreinheit bezüglich wenigstens zweier Betriebsarten zu ermöglichen und dabei eine optimierte Umschaltstrategie, insbesondere zwischen einem Sicherheitsmodus zur Sicherheitssteigerung und einem Leistungsmodus zur Leistungssteigerung zu erzielen.
Vorteile der Erfindung
Es ist zum Einen aus Sicherheitsgründen eine redundante Ausführung der Programme respektive Tasks erwünscht, andererseits ist aus Kostengründen das Bereithalten von redundanter Hardware bei der Ausführung der nicht sicherheitskritischen Funktionen nicht erstrebenswert. Dieser Zielkonflikt wird erfindungsgemäß durch eine optimierte Umschaltung zwischen wenigstens zwei Betriebsmodi und einer Prozessoreinheit gelöst. So geht die Erfindung von einem Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit mit wenigstens zwei Ausführungseinheiten sowie entsprechender Prozessoreinheit aus.
Vorteilhafter Weise wird die Umschaltung von einem ersten in einen zweiten Betriebsmodus dadurch realisiert, dass auf eine vorgegebene, als Umschalttrigger wirkende Speicheradresse zugegriffen wird. D. h. es werden Hardwarekomponenten wie Umschaltmittel (Mode Selektor) oder Vergleichsmittel und ein entsprechendes Verfahren vorgestellt, wie im Betrieb zwischen sicherheitskritischen Programmen, welche also im Sicherheitsmodus redundant ausgeführt werden und nicht sicherheitskritischen Programmen, welche im Leistungsmodus unabhängig voneinander auf beiden Ausführungseinheiten ausgeführt werden, optimal umgeschaltet werden kann. Dabei werden die gleichen Programme im ersten Betriebsmodus durch die wenigstens zwei Ausführungseinheiten synchron abgearbeitet und durch vorgesehene Vergleichsmittel dahingehend überprüft, dass die bei der Abarbeitung der gleichen Programme entstehenden Zustände der Ausführungseinheiten übereinstimmen. Bei
Abweichungen diesbezüglich sind dann verschiedene Fehlerreaktionen von einer Fehleranzeige über einen Notbetrieb bis hin zur Abschaltung der fehlerhaften Einheit denkbar.
In einer speziellen Ausführungsform entspricht dem ersten Betriebsmodus der
Sicherheitsmodus und dem zweiten Betriebsmodus der Leistungsmodus. Eine Umschaltung vom zweiten Betriebsmodus in den ersten Betriebsmodus erfolgt dabei zweckmäßiger Weise durch eine Unterbrechungsanforderung, insbesondere ausgelöst durch ein Unterbrechungsmittel, wobei die Unterbrechungsanforderung einerseits durch eine Zeitbedingung auslösbar ist oder auch durch eine Zustandsbedingung, also einem bestimmten Zustand wenigstens einer der beiden Ausführungseinheiten oder auch dem Auftreten eines bestimmten Ereignisses entspricht.
Vorteilhafter Weise erfolgt eine spezielle Aufteilung in wenigstens drei getrennte Speicherbereiche, wobei die Ausführungseinheiten abhängig vom jeweiligen
Betriebsmodus auf einen ersten Speicherbereich oder einen zweiten Speicherbereich Zugriff haben, respektive mit diesem in Verbindung stehen. Dabei ist zweckmäßiger Weise in einer speziellen Ausführungsform jeder der wenigstens zwei Ausführungseinheiten jeweils ein erster Speicherbereich auf der Prozessoreinheit zugeordnet, mit welchen diese im ersten Betriebsmodus, also insbesondere dem
Sicherheitsmodus, in Verbindung stehen bzw. daraufzugreifen. Im zweiten Betriebsmodus haben beide Ausführungseinheiten nur auf einen, beiden Ausführungseinheiten zugeordneten zweiten Speicherbereich Zugriff bzw. stehen mit diesem in Verbindung.
Zweckmäßiger Weise sind nun Überwachungsmittel, insbesondere die Umschaltmittel selber derart vorgesehen, dass überwacht wird, dass im jeweiligen Betriebsmodus nur auf die entsprechenden Speicherbereiche zugegriffen wird bzw. die entsprechende Verbindung zu den Speicherbereichen besteht. D. h. im zweiten Betriebsmodus greifen die Auswertemittel nur auf den zweiten Speicherbereich zu und nicht auf die ersten Speicherbereiche, und im ersten Betriebsmodus erfolgt der Zugriff nur auf die jeweiligen ersten Speicherbereiche, und nicht auf den zweiten Speicherbereich, was durch vorgenannte Überwachungsmittel überprüft und in eventuell entsprechende Fehlerreaktionen wie Fehlermeldung, Notbetrieb oder Abschaltung sanktioniert wird.
Dabei ist jeder der genannten drei Speicherbereiche, also die wenigstens zwei ersten Speicherbereiche sowie der zweite Speicherbereich in einem getrennten Speicherbaustein vorgesehen, so dass wenigstens drei Speicherbausteine auf der Prozessoreinheit zur Verfügung stehen. Dabei sind zweckmäßiger Weise die sicherheitskritischen Programme jeweils in einem ersten Speicherbereich, und die nicht sicherheitskritischen Programme im zweiten Speicherbereich abgelegt, wobei zweckmäßiger Weise die vorgegebene Speicheradresse, welche die genannte Triggerfunktion bezüglich der Umschaltung aufweist, in dem zweiten Speicherbereich enthalten ist.
Ein weiterer Vorteil ergibt sich, wenn für den Vergleich der Zustände der Ausführungseinheiten im ersten Betriebsmodus explizite Vergleichsmittel auf der Prozessoreinheit vorgesehen sind und diese Vergleichsmittel nur im ersten Betriebsmodus in Funktion sind und beim Übergang in den zweiten Betriebsmodus außer Funktion gesetzt werden, so dass im nichtredundanten, nicht sicherheitskritischen Betrieb kein Vergleich und damit keine unter Umständen provozierte Fehlerreaktion erfolgt.
Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche sowie den Inhalten von Beschreibung und Zeichnung.
Zeichnung
Die Erfindung wird nachfolgend anhand der in der Zeichnung dargestellten Figuren näher erläutert. Dabei zeigt
Figur 1 eine erfindungsgemäße Prozessoreinheit mit wenigstens zwei Ausführungseinheiten und den erfϊndungsgemäßen Hardwarekomponenten. Figur 2 offenbart eine Umschaltung vom Sicherheitsmodus in den Leistungsmodus, wohingegen
Figur 3 eine Umschaltung vom Leistungsmodus in den Sicherheitsmodus darstellt.
Beschreibung der Ausführungsbeispiele
In Steuerungsanwendungen, insbesondere auf dem Gebiet der Kraftfahrzeugsteuerung, wie Motorsteuerung, Bremsensteuerung oder auch Lenkung und Getriebe usw., aber ebenso in Industrieanwendungen wie der Automatisierung oder im
Werkzeugmaschinenbereich gibt es im Allgemeinen Softwaretasks oder Programme, die eine redundante Ausführung aus Sicherheitsgründen erfordern, um das Auftreten von Fehlern zu erkennen. Solche sicherheitskritischen Anwendungen weisen aber neben diesen sicherheitskritischen Programmen auch Softwarebestandteile oder Programme auf, die auch fehlerhaft sein dürfen, da sie nicht für das Erbringen der sicherheitskritischen
Funktion selbst nötig sind bzw. damit befasst sind, sondern nur eine zusätzliche Funktion, insbesondere eine Komfortfunktion erbringen. Aus Sicherheitsgründen ist eine redundante Ausführung erwünscht, aus Kostengründen das Bereithalten von redundanter Hardware nicht erstrebenswert. Erfindungsgemäß wird diese Problemstellung durch das optimierte Umschalten zwischen wenigstens zwei Betriebsmodi, der Prozessoreinheit, wie bereits in den Vorteilen beschrieben und nachfolgend näher erläutert, gelöst.
Somit wird im Folgenden der Einsatz der Erfindung in einem sicherheitskritischen System, beispielsweise einem fahrzeugimmanenten System wie Bremse, Lenkung, Getriebe oder Motor dargestellt. Die erfindungsgemäße Prozessoreinheit des Systems besteht dabei aus einer Dual-Core- Architektur entsprechend Figur 1, also einer Prozessoreinheit 100 mit wenigstens zwei Ausführungseinheiten 101 und 102 (CPUl und CPU2). Den beiden Ausführungseinheiten 101, 102, also CPUl und CPU2 sind in diesem Beispiel jeweils ein Arbeitsspeicher 110 bzw. 111 zugeordnet, auch als RAM1 und RAM2 bezeichnet. Beide Ausführungseinheiten 101 und 102 sind mit einem
Vergleichsmittel, einem Vergleicher 170 verbunden. Jede Ausführungseinheit hat weiterhin eine Verbindung zu einem Umschaltmittel, einem Mode-Selektor 130 bzw. 131, mit welchem auch der Vergleichsbaustein, das Vergleichsmittel 170 Verbindungen aufweist. Über jeweils einen Bus 140 bzw. 141 ist der jeweils flüchtige Arbeitsspeicher 110 bzw. 111 sowie die Umschaltmittel 130 und 131 mit jeweils einem ersten Speichermittel 150 bzw. 151 sowie einem zweiten Speichermittel 180 verbunden.
In diesem Ausführungsbeispiel werden zwei Betriebssysteme verwendet, eines für die sicherheitskritischen Programme oder Tasks und eines für die nicht sicherheitskritischen
Programme oder Tasks. Als Betriebssystem für die sicherheitskritischen Programme wird beispielsweise OSEKtime OS, und als Betriebssystem für die nicht sicherheitskritischen Tasks beispielsweise OSEK OS verwendet.
Die Anwendungssoftware ist, wie bereits erwähnt, aufgeteilt in sicherheitskritische
Programme und nicht sicherheitskritische Programme. Alle Programme oder Tasks, die als nicht sicherheitskritisch eingestuft sind, dürfen versagen, fehlerhaft ausgeführt oder überhaupt nicht ausgeführt werden. Eine Gefahrdung des Gesamtsystems bzw. der Umgebung ist dadurch nicht möglich. Der sichere Betrieb des Gesamtsystems wird alleine durch die als sicherheitskritisch eingestuften Programme respektive Tasks möglich. Allerdings besteht die Möglichkeit, dass der Betrieb, sofern er alleine durch die sicherheitskritischen Tasks bzw. Programme durchgeführt wird, zu einem Qualitätsverlust der Gesamtfunktion führt, die allerdings innerhalb vorgebbarer Toleranzen als tolerierbar eingestuft wurde.
Die sicherheitsrelevanten, also die sicherheitskritischen Tasks oder Programme werden redundant auf beiden Ausführangseinheiten 101 und 102, also beiden CPUs, CPUl und CPU2 ausgeführt. Dabei werden diese Programme unter der Kontrolle des ersten Betriebssystems, hier OSEKtime OS abgearbeitet. Dazu ist der in Figur 1 dargestellte nicht flüchtige Speicherbereich 150 bzw. 151 in zwei Teile verdoppelt, so dass entsprechend zweier Ausführungseinlieiten zwei erste Speicherbereiche 150 und 151 vorliegen. In diesen ersten Speicherbereichen liegen die sicherheitskritischen Programme respektive Tasks verdoppelt, also redundant. D. h. jede der sicherheitskritischen Tasks ist zum Einen im Speicherbereich 150 und zum Anderen im Speicherbereich 151 lokalisiert. Dabei kann insbesondere das erste Betriebssystem selbst als sicherheitskritisch eingestuft werden und wird somit ebenfalls in beiden Speicherbereichen abgelegt. D. h. in unserem Beispiel, dass das Betriebssystem OSEKtime OS zum Einen im Speicherbereich 150 und zum Anderen im Speicherbereich 151 jeweils abgelegt ist. Dabei sind die beiden ersten Speicherbereiche in einer besonderen Ausführung jeweils als eigener nicht flüchtiger Speicherbaustein ROM1 bzw. ROM2 ausgeführt, welche als ROM, PROM, EPROM, EEPROM, Flash-EPROM usw. ausgeführt werden können.
Dabei ist nicht zwingend eine Doppelablage der sicherheitskritrischen Programme oder Tasks erforderlich. Diese können auch durch Einsatz eines ECC-Codes (Error Code and
Correction) abgesichert sein. Solche Methoden zur Fehlererkennung bei einem Speicher sind vielfältig, wobei die Grundvoraussetzung die Absicherung mit einem Fehlererkennungs- bzw. Fehlerkorrekturcode, also einer Signatur darstellt. Im einfachsten Fall kann diese Signatur nur aus einem Signaturbit, beispielsweise einem Paritybit bestehen. Andererseits kann die Absicherung auch durch komplexere ED-Codes (Error
Detection) wie einen Berger-Code oder einen Bose-Lin-Code usw., oder auch durch einen komplexeren ECC-Code wie beispielsweise einen Hamming-Code, usw. realisiert werden, um durch entsprechende Bitzahl eine sicherere Fehlererkennung zu ermöglichen. Es kann aber auch als Codegenerator, beispielsweise eine Generatortabelle (fest verdrahtet oder in Software) verwendet werden, um bestimmten Eingangsmustern der
Bits im Rahmen der Adresse ein gewünschtes Codemuster beliebiger Länge zuzuordnen. Damit kann, insbesondere durch die Korrekturfunktion die Datensicherheit im Speicher gewährleistet werden und eine Doppelablage vermieden werden. Dennoch erfolgt eine redundante Abarbeitung der sicherheitskritischen Programme in den beiden Ausführungseinheiten, wodurch Fehler in den Gores, also den Ausführungseinheiten durch Vergleich auf Übereinstimmung erfindungsgemäß aufgedeckt werden, wobei für diesen Fall der Erfindung entgegen Figur 1 nur ein erster Speicherbereich notwendig ist.
Die nicht sicherheitsrelevanten bzw. sicherheitskritischen Programme oder Tasks werden zur Leistungserhöhung auf beiden Ausführungseinheiten, also CPUs verteilt berechnet und unter der Kontrolle des jeweiligen Subbetriebsystems, also hier des OSEK- Subsystems ausgeführt. Insbesondere läuft somit auf jede der beiden Ausführungseinheiten ein unabhängiges Betriebssystem, hier ein unabhängiges OSEK- System. Der zweite Speicherbereich 180, in dem sich die nicht sicherheitskritischen Programme bzw. Tasks befinden, ist einfach vorhanden. Er wird von beiden
Ausführungseinheiten 101 bzw. 102 benützt bzw. es wird von beiden auf ihn zugegriffen. Auch dieser zweite Speicherbereich kann in einer besonderen Ausführungsform als eigener nicht flüchtiger Speicherbaustein ROM3 ausgebildet sein und als ROM, PROM, EPROM, EEPROM, Flash-EPROM usw. ausgestaltet werden. Dabei können die Speicherbereiche, also die ersten und zweiten Speicherbereiche so ausgebildet sein, dass die ersten Speicherbereiche bzw. der erste Speicherbereich (bei ECC Absicherung) beispielsweise zwischen 0 und X bezogen auf die Adressen und der zweite Speicherbereich von X + 1 bis Y ebenfalls bezogen auf die Adressen ausgebildet sind. Im weiteren wird von einem verdoppelten ersten Speicherbereich ausgegangen, wobei wie vorher erläutert auch nur ein einzelner erster abgesicherter Speicherbereich Einsatz finden kann. Dann ist, wie schon gesagt, der erste Speicherbereich von 0 bis X doppelt eben jeweils in einem ersten Speicherbereich vorhanden. Dabei ist jeder erste Speicherbereich einer Ausführungseinheit konkret zugeordnet.
Im ersten Betriebsmodus, hier im Beispiel dem Sicherheitsmodus, laufen auf beiden Ausführungseinheiten, also beiden CPUs 101 und 102 redundant und insbesondere synchron die sicherheitskritischen Programme bzw. Tasks ab. Im Vergleichsmittel, dem Vergleicher 170, werden die jeweiligen CPU-Zustände miteinander verglichen. Dabei können bestimmten Programmphasen bestimmte Zustände zugeordnet sein, die dann zeitunkritisch, also zu einem beliebigen Zeitpunkt verglichen werden können, sofern diese zwischengespeichert und beispielsweise durch eine Kennung eindeutig zuordenbar sind, verglichen werden können. Im bevorzugten Fall aber werden die sicherheitskritischen Programme respektive Tasks nicht nur redundant, sondern synchron abgearbeitet, so dass im Betrieb direkt ein Vergleich der jeweiligen Zustände der Ausführungseinheiten durchgeführt werden kann. Die neuen Befehle und/oder Daten werden dann entsprechend aus dem jeweilig zugeordneten ersten Speicherbereich 150 respektive 151 geladen und abgearbeitet. Im Vergleicher 170 werden die CPU-Zustände auf Übereinstimmung geprüft, wobei bei einer Abweichung der Zustände, die sich entsprechen sollten, auf Fehler erkannt wird. Als Fehlerreaktion ist zum Einen eine Fehleranzeige bezüglich des jeweiligen Systems, in dem die Prozessoreinheit verbaut ist, möglich und zum Anderen Fehlerreaktionen wie ein Notbetrieb, also das Betreiben des Systems, dem die Prozessoreinheit innewohnt, in einem abgesicherten Notbetrieb, beispielsweise mit extra dafür vorgesehenen Programmen und/oder Daten. Dabei kann auch bei einer weitergehenden Fehlerauswertung, z. B. einem n- aus m-Test, wobei n und m natürliche Zahlen sind und n > 2 sowie m > n > m/2 oder auch einem 1 aus k-Code, wobei k einer natürlichen Zahl > 1 entspricht. Wird beispielsweise durch solch einen Test eindeutig eine Ausführungseinheit als fehlerhaft erkannt, kann als weitere Fehlerreaktion - 3 -
auch ein Abschalten dieser Ausführungseinheit und Notbetrieb der verbliebenen Einheit oder ein Umschalten der fehlerhaften Ausführungseinheit in den Notbetrieb erfolgen.
Im Safety-Mode, also dem Sicherheitsmodus oder allgemeiner dem ersten Betriebsmodus, ist ein Zugriff der Ausführungseinheiten nur auf Adressen bzw. Daten in den ersten Speicherbereichen zulässig. D. h. die jeweilige Ausführungseinheit darf im ersten Betriebsmodus nur auf den, insbesondere ihr zugeordneten, ersten Speicherbereich zugreifen. Dies wird durch Überwachungsmittel, insbesondere die Umschaltmittel oder Mode-Selektoren 130 respektive 131 bzw. Überwachungsmittel in den Mode-Selektoren 130 und 131 überprüft. Treten hierbei Fehler auf, ist eine vergleichbare Fehlerreaktion, wie oben beschrieben, bezüglich eines Vergleichfehlers bei Übereinstimmung der CPU- Zustände denkbar und vorsehbar. D. h. aber auch, dass die Umschaltmittel, also hier die Mode-Selektoren 130 respektive 131 für diesen Fall des ersten Betriebsmodus eine Verbindung in den jeweils zugehörigen ersten Speicherbereich 150 respektive 151 via Bus 140 respektive 141 herstellen bzw. eine entsprechende Zugriffsverletzung überwachen.
Im zweiten Betriebsmodus dieses Ausführungsbeispiels werden die nicht sicherheitskritischen Programme respektive Tasks abgearbeitet. Auf beiden Ausführungseinheiten, also den CPUs 1 und 2 (101, 102) laufen verschiedene nicht sicherheitskritische Programme. Dazu gehört beispielsweise auch das Betriebssystem selbst für den zweiten Betriebsmodus, also das OSEK-Subsystem. Die beiden Ausführungseinheiten oder CPUs teilen sich damit einen nicht flüchtigen zweiten Speicherbereich, der, wie vorher beschrieben, ausgebildet sein kann. Allerdings ist jedem CPU ein eigener flüchtiger Arbeitsspeicherbereich RAM1 und RAM2, 110 respektive
111 zugeordnet. Da entsprechende solche nicht sicherheitskritische Programme nicht oder nicht alle doppelt ausgeführt sind, besteht zumindest theoretisch die Möglichkeit, dass sich beide Ausführungseinheiten gegenseitig durch Warten auf Freigabe einer Ressource blockieren. Dem ist durch geeignete Verteilung der Tasks bzw. Programme, beispielsweise nach einem Schedule auf die Ausführungseinheiten 101 und 102 entgegenzuwirken. Dabei sind auch weitere Maßnahmen wie beispielsweise ein abwechselnder Zugriff oder ein abhängig vom jeweiligen Programm priorisierter Zugriff usw. möglich. In diesem zweiten Betriebsmodus, dem Leistungsmodus gemäß unserem Ausführungsbeispiel ist kein Zugriff auf eine Adresse im ersten Speicherbereich zulässig. Auch hier erfolgt die Überprüfung durch Überprüfungsmittel, insbesondere durch die Umschaltmittel, die Mode-Selektoren, oder aber die Überprüfungsmittel sind in den Mode-Selektoren separat ausgeführt. Bei einem erkannten fehlerhaften Zugriff im zweiten Betriebsmodus kann auch hier eine entsprechende Fehlerreaktion eingeleitet werden. Dabei ist zum Einen eine Fehlerreaktion entsprechend des ersten Betriebsmodus denkbar und vorgebbar. Dies ist insbesondere dadurch sinnvoll, da bei einem fehlerhaften Zugriff unter Umständen ja auf sicherheitskritische Speicherbereiche zugegriffen wird. Zum Einen ist dies dadurch realisierbar, dass eine Verbindung zum zweiten Speicherbereich nur im zweiten Betriebsmodus aufgebaut wird und die Verbindung zu den ersten Speicherbereichen in diesen Betriebsmodus gekappt wird oder der Zugriff auf den ersten Speicherbereich anderweitig verhindert und nur in den zweiten Speicherbereich erlaubt wird.
Das Umschalten zwischen den Betriebsmodi ist nun ausführlich in den Figuren 2 und 3 nochmals beschrieben.
Um von dem ersten Betriebsmodus, also hier dem Sicherheitsmodus oder Safety-Mode in den zweiten Betriebsmodus, also hier Leistungsmodus oder Performance-Mode zu gelangen, ist ein Zugriff auf eine vorgegebene bzw. ausgezeichnete Adresse erforderlich, wodurch ein Wechsel in den zweiten Betriebsmodus erfolgt. Diese ausgezeichnete
Adresse kann dabei im ersten Speicherbereich bei der Programmabarbeitung auftreten bzw. entsprechend von Außen zugeführt werden. D. h. im ersten Betriebsmodus oder Sicherheitsmodus darf lediglich auf Adressen bzw. auf ein Programm im ersten Speicherbereich zugegriffen werden; falls in diesem Sicherheitsmodus auf eine andere Adresse z.B. im zweiten Speicherbereich zugegriffen wird, liegt ein Fehler mit möglicher entsprechender Fehlerreaktion, wie oben beschrieben, vor. In Figur 2 ist dies noch einmal verdeutlicht. Im Block 200 sind beide Ausführungseinheiten 101 und 102 im ersten Betriebsmodus, also dem Sicherheitsmodus. In Abfrage 210 wird überprüft, ob die Adresse des nächsten Befehls gleich der Triggeradresse der entsprechenden ausgezeichneten Umschaltadresse ist. Ist dies nicht der Fall, sind beide
Verarbeitungseinheiten weiterhin im ersten Betriebsmodus und greifen somit jeweils auf die ersten Speicherbereiche 150, 151 zu. Entspricht allerdings die Adresse des nächsten Befehls und/oder Datums der Triggeradresse, so erfolgt im Block 220 die Umschaltung bzw. der Wechsel in den zweiten Betriebsmodus, den Leistungs- oder Performance- Mode. Jede Ausführungseinheit erhält dabei außerdem eine Adresse im zweiten Speicherbereich, bei welcher die Abarbeitung im zweiten Betriebsmodus fortzusetzen ist. Dabei wird die Vergleichseinheit bzw. das Vergleichsmittel 170 abgeschalten, also außer Funktion gesetzt (disabled). Im Block 230 ist somit die erste Verarbeitungseinheit 101 im zweiten Betriebsmodus und im Block 231 die zweite Ausführungseinheit 102 ebenfalls im zweiten Betriebsmodus, dem Performance-Mode. D. h. die einzige Möglichkeit, um vom Sicherheitsmodus, dem Safety-Mode in den Performance-Mode zu gelangen, ist im konkreten Beispiel beispielsweise ein Aufruf einer speziellen OSEKtime-Task T rjgger wie z.B. der ttidle Task des OSEKtime Betriebssystems, respektive einer darin enthaltenen, als Trigger-Adresse ausgezeichneten Adresse, insbesondere der
Anfangsadresse dieses Programmteils bzw. dieser Task. Insbesondere wenn die beiden Ausführungseinheiten synchron arbeiten, geschieht dieser Aufruf in beiden CPUs notwendigerweise gleichzeitig. Die Tτrjgger-Task wie eben ttidle ist dabei z.B. ein Aufruf des OSEK-Schedulers, welcher im zweiten Speicherbereich 180 liegt. Beispielsweise in den Umschalteinrichtungen, also den Mode-Selektoren 130, 131 ist diese entsprechende Adresse als Triggeradresse eingestellt, um in den Leistungsmodus zu wechseln. Dies wird wie gesagt im Block 210, also eben den Mode-Selektoren, den Umschaltmitteln geprüft. Damit dürfen zukünftige Adresszugriffe eben bis zu einem erneuten Wechsel in den Sicherheitsmodus nur noch in den ROM-Bereich 180, also den nicht flüchtigen zweiten Speicherbereich erfolgen.
In Figur 3 ist nun die Umschaltung bzw. der Wechsel vom Leistungsmodus, also dem Performance-Mode insbesondere zurück in den ersten Betriebsmodus, den Sicherheitsmodus oder Safety-Mode dargestellt. In Block 300 ist Ausführungseinheit 101, also CPU 1 im zweiten Betriebsmodus, dem Performance-Mode. Ebenso ist in Block
310 die zweite Ausführungseinheit 102 in eben diesem Leistungsmodus, diesem zweiten Betriebsmodus dieses Ausf hrungsbeispiels. In Block 320 bzw. Block 321 wird nun für jede Ausführungseinheit eine Unterbrechungsanforderung, ein Interrupt ausgelöst, durch welchen eine Umschaltung in Block 330 von beiden Ausführungseinheiten 101 und 102 in den ersten Betriebsmodus, den Sicherheitsmodus, erfolgt. Dabei wird das
Vergleichsmittel der Vergleicher 170 wieder eingeschalten, und in Block 340 laufen dann beide Ausführungseinheiten wieder im Sicherheitsmodus, dem ersten Betriebsmodus. Die Unterbrechungsanforderung kann dabei zum Einen durch eine Zeitbedingung, also einen Timerinterrupt ausgelöst werden oder durch eine Zustands- respektive Ereignisbedingung ausgelöst sein. Das bedeutet, um vom Leistungsmodus in den Sicherheitsmodus zu wechseln, wird eine Unterbrechungsanforderung des ersten Betriebssystem OSEKtime generiert. Dieser Timerinterrupt des gegenüber dem OSEK-Betriebssystem höherprioren OSEKtime-Betriebssystems ist in beiden CPUs gleich programmiert, da auf beiden CPUs das gleiche OSEKtime-System läuft. Insbesondere bei synchron laufenden OSEKtime-
Systemen geht der Interrupt, also die Unterbrechungsanforderung bei beiden CPUs gleichzeitig ein. Wie gesagt, hat damit definitionsgemäß der OSEKtime-Scheduler- Interrupt eine sehr hohe, insbesondere die höchste Priorität. Beide Unterbrechungsanforderungen werden bei Synchronität dementsprechend gleichzeitig ausgeführt. Wie bereits erwähnt, wird mit Ausführungen dieser
Unterbrechungsanforderungen auch das Vergleichsmittel 170 ebenfalls wieder in Funktion gesetzt, also in den ersten Betriebszustand, den Sicherheitsmodus, umgeschaltet und die Ausführungseinheiten laufen insbesondere erneut redundant.
Neben dem bereits genannten Timer-Interrupt kann auch ein Zustande- oder
Ereignisinterrupt eingesetzt werden, um den genannten Betriebsmoduswechsel vom zweiten in den ersten Betriebsmodus zu bewerkstelligen. Dabei kann ein bestimmter Zustand der Ausführungseinheiten beispielsweise einen hochprioren Interrupt auslösen, der dann für beide Ausführungseinheiten Gültigkeit hat. Dies kann beispielsweise ein durch die Abarbeitung der Programme im ROM 180 generierter Zustand in einer CPU sein, die eine solch hochpriore Unterbrechungsanforderung, die auch für die zweite CPU gilt, auslöst. Ebenso kann ein Ereignis, insbesondere auch ein von extern der Prozessoreinheit zugeführtes Ereignis einen solchen Interrupt und damit den Betriebsmoduswechsel auslösen. Bevorzugt ist die erste Variante mit dem Timerinterrupt, aber der Zustands- oder Ereignisinterrupt, wie beschrieben, ist ebenfalls denkbar und hiermit offenbart.
Damit ist entsprechend der Aufgabe eine optimierte Umschaltung zwischen zwei Betriebsmodi einer Prozessoreinheit mit zwei integrierten Ausführungseinheiten erfindungsgemäß dargestellt, wobei das konkrete Ausführungsbeispiel nicht begrenzend im Hinblick auf die Grundideen des erfindungsgemäßen Gegenstandes wirken kann.

Claims

Ansprüche
1. Prozessoreinheit mit wenigstens zwei Ausführungseinheiten, wobei Umschaltmittel enthalten sind durch welche zwischen wenigstens zwei Betriebsmodi der Prozessoreinheit umgeschalten werden kann, dadurch gekennzeichnet, dass die Umschaltmittel derart ausgestaltet sind, dass ein Wechsel von einem ersten Betriebsmodus in einen zweiten Betriebsmodus dadurch ausgelöst wird, dass durch die Prozessoreinheit auf eine vorgegebene Speicheradresse zugegriffen wird.
2. Prozessoreinheit nach Anspruch 1, dadurch gekennzeichnet, dass der erste Betriebsmodus einem Sicherheitsmodus entspricht, bei dem die zwei Ausführungseinheiten gleiche Programme abarbeiten und Vergleichsmittel vorgesehen sind, welche die bei der Abarbeitung der gleichen Programme entstehenden Zustände der Ausführungseinheiten auf Übereinstimmung vergleichen.
3. Prozessoreinheit nach Anspruch 2, dadurch gekennzeichnet, dass die Ausführungseinheiten derart ausgebildet sind, dass diese im ersten Betriebsmodus die gleichen Programme synchron abarbeiten.
4. Prozessoreinheit nach Anspruch 1, mit wenigstens drei getrennten Speicherbereichen, wobei in dem ersten Betriebsmodus jede Ausführungseinheit jeweils mit einem jeder Ausführungseinheit zugeordneten ersten Speicherbereich in Verbindung steht.
5. Prozessoreinheit nach Anspruch 1, mit wenigstens zwei getrennten
Speicherbereichen, wobei in dem zweiten Betriebsmodus beide Ausführungseinheiten nur mit einem, beiden Ausführungseinheiten zugeordneten zweiten Speicherbereich in Verbindung stehen.
6. Prozessoreinheit nach Anspruch 1 und 5, dadurch gekennzeichnet, dass die vorgegebene Speicheradresse auf die zugegriffen werden soll in dem zweiten Speicherbereich lokalisiert ist.
7. Prozessoreinheit nach Anspruch 1, mit wenigstens zwei getrennten
Speicherbereichen, wobei in dem ersten Betriebsmodus beide Ausführungseinheiten nur mit einem, beiden Ausführungseinheiten zugeordneten ersten Speicherbereich in Verbindung stehen.
8. Prozessoreinheit nach Anspruch 1 und 7, dadurch gekennzeichnet, dass die vorgegebene Speicheradresse als Triggeradresse im ersten Speicherbereich enthalten ist und die folgende Adresse auf die zugegriffen werden soll in dem zweiten Speicherbereich enthalten ist.
9. Prozessoreinheit nach Anspruch 1 und 5, dadurch gekennzeichnet, dass
Überwachungsmittel, insbesondere die Umschaltmittel, vorgesehen sind, welche derart zur Überwachung ausgebildet sind, dass die Auswertemittel im zweiten Betriebsmodus nur mit dem zweiten Speicherbereich in Verbindung stehen.
10. Prozessoreinheit nach Anspruch 1 und 4, dadurch gekennzeichnet, dass
Überwachungsmittel, insbesondere die Umschaltmittel, vorgesehen sind, welche derart zur Überwachung ausgebildet sind, dass die Auswertemittel im ersten Betriebsmodus nur jeweils mit dem ersten Speicherbereich in Verbindung stehen.
11. Prozessoreinheit nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass jeder der
Speicherbereiche in einem getrennten Speicherbaustein vorgesehen ist.
12. Prozessoreinheit nach Anspruch 2, dadurch gekennzeichnet, dass die Vergleichsmittel bei Übergang in den zweiten Betriebsmodus, der einem Leistungsmodus entspricht außer Funktion gesetzt werden und ein Vergleich der Zustände nur im ersten
Betriebsmodus erfolgt.
13. Prozessoreinheit nach Anspruch 1, dadurch gekennzeichnet, dass Unterbrechungsmittel enthalten sind, welche derart ausgebildet sind, dass diese eine Rückkehr in den ersten Betriebsmodus durch eine Unterbrechungsanforderung ermöglichen.
14. Prozessoreinheit nach Anspruch 13, dadurch gekennzeichnet, dass die Unterbrechungsanforderung durch eine Zeitbedingung ausgelöst wird.
15. Prozessoreinheit nach Anspruch 13, dadurch gekennzeichnet, dass die Unterbrechungsanforderung durch eine Zustandsbedingung ausgelöst wird.
16. Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit mit wenigstens zwei Ausführungseinheiten dadurch gekennzeichnet, dass ein Wechsel von einem ersten Betriebsmodus in einen zweiten Betriebsmodus dadurch ausgelöst wird, dass durch die Prozessoreinheit auf eine vorgegebene Speicheradresse zugegriffen wird.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass die
Ausführungseinheiten im ersten Betriebsmodus die gleichen Programme synchron abarbeiten.
18. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass in beiden Betriebsmodi verschiedene Programme abgearbeitet werden, wobei im ersten Betriebsmodus sicherheitskritische Programme redundant von beiden Ausführungseinheiten und im zweiten
Betriebsmodus nicht sicherheitskritische Programme abgearbeitet werden.
19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass die sicherheitskritischen Programme redundant in den Ausführungseinheiten jeweils zugeordneten ersten Speicherbereichen abgelegt sind.
20. Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass die nicht sicherheitskritischen Programme in einem einzigen zweiten Speicherbereich abgelegt sind und beide Ausführungseinheiten im zweiten Betriebsmodus nur auf den zweiten Speicherbereich zugreifen.
21. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass im ersten Betriebsmodus sicherheitskritische Programme redundant abgearbeitet werden und die dabei entstehenden Zustände auf Übereinstimmung verglichen werden-
22. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass in dem ersten Betriebsmodus von den Ausführungseinheiten jeweils nur auf einen jeder Ausführungseinheit zugeordneten ersten Speicherbereich zugegriffen wird.
23. Verfahren nach Anspruch 16, mit wenigstens zwei getrennten Speicherbereichen, wobei in dem ersten Betriebsmodus beide Ausführungseinheiten nur auf einen beiden Ausführungseinheiten zugeordneten ersten Speicherbereich zugreifen.
24. Verfahren nach Anspruch 16 und 23, dadurch gekennzeichnet, dass die vorgegebene Speicheradresse als Triggeradresse im ersten Speicherbereich enthalten ist und die folgende Adresse auf die zugegriffen werden soll in dem zweiten Speicherbereich enthalten ist.
25. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass in dem zweiten
Betriebsmodus von beiden Ausführungseinheiten nur auf einen, beiden Ausführungseinheiten zugeordneten zweiten Speicherbereich zugegriffen wird.
26. Verfahren nach Anspruch 16 und 25, dadurch gekennzeichnet, dass überwacht wird, dass die Auswertemittel im zweiten Betriebsmodus nur auf den zweiten Speicherbereich zugreifen.
27. Verfahren nach Anspruch 16 und 22 oder 23, dadurch gekennzeichnet, dass überwacht wird, dass die Auswertemittel im ersten Betriebsmodus nur auf den ersten Speicherbereich zugreifen.
28. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass eine Umschaltung von dem zweiten Betriebsmodus in den ersten Betriebsmodus durch eine Unterbrechungsanforderung erfolgt, wobei die Unterbrechungsanforderung durch eine Zeitbedingung oder eine Zustandsbedingung ausgelöst wird.
PCT/DE2004/001299 2003-06-24 2004-06-22 Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit WO2005003962A2 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
BRPI0411824-3A BRPI0411824A (pt) 2003-06-24 2004-06-22 processo para a comutação entre, pelo menos, dois modos de operação de uma unidade de processamento, bem como, unidade de processamento correspondente
US10/560,962 US20070277023A1 (en) 2003-06-24 2004-06-22 Method For Switching Over Between At Least Two Operating Modes Of A Processor Unit, As Well Corresponding Processor Unit
JP2006515276A JP4232987B2 (ja) 2003-06-24 2004-06-22 プロセッサユニットの少なくとも2つの動作モードを切替る方法および対応するプロセッサユニット
EP04738748A EP1639454A2 (de) 2003-06-24 2004-06-22 Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE10328208.4 2003-06-24
DE10328208 2003-06-24
DE10332700.2 2003-07-18
DE10332700A DE10332700A1 (de) 2003-06-24 2003-07-18 Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit

Publications (2)

Publication Number Publication Date
WO2005003962A2 true WO2005003962A2 (de) 2005-01-13
WO2005003962A3 WO2005003962A3 (de) 2006-01-26

Family

ID=33566007

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2004/001299 WO2005003962A2 (de) 2003-06-24 2004-06-22 Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit

Country Status (7)

Country Link
US (1) US20070277023A1 (de)
EP (1) EP1639454A2 (de)
JP (1) JP4232987B2 (de)
KR (1) KR20060026884A (de)
BR (1) BRPI0411824A (de)
RU (1) RU2006101719A (de)
WO (1) WO2005003962A2 (de)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006045800A1 (de) * 2004-10-25 2006-05-04 Robert Bosch Gmbh Verfahren und vorrichtung zur synchronisierung in einem mehrprozessorsystem
WO2006045775A1 (de) * 2004-10-25 2006-05-04 Robert Bosch Gmbh Verfahren und vorrichtung zur umschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten
WO2006135937A2 (en) * 2005-06-13 2006-12-21 Intel Corporation Selective activation of error mitigation based on bit level error count
WO2007017395A2 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und vorrichtung zum vergleich von daten bei einem rechnersystem mit wenigstens zwei ausführungseinheiten
WO2008043652A2 (de) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Elektronisches system
EP1914414A2 (de) 2006-10-10 2008-04-23 Robert Bosch Gmbh Einspritzsystem und Verfahren zum Betreiben eines Einspritzsystems
JP2009505181A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの処理ユニットと、データおよび/または指令のための少なくとも1つの第1のメモリもしくはメモリ領域とを有する計算機システム内で指令および/またはデータを記憶するための方法および装置
JP2009505179A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実行ユニットを有する計算機システムにおいてレジスタのマーキングによってスタート状態を定める方法および装置
JP2009505182A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング データ処理方法および装置
JP2009508188A (ja) * 2005-08-08 2009-02-26 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実行ユニットを有する計算機システムにおけるメモリアクセスを制御する方法および装置
JP2009541887A (ja) * 2006-10-10 2009-11-26 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 複数の実行ユニットを有するシステムを切り替える方法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10349581A1 (de) * 2003-10-24 2005-05-25 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit
DE102005037213A1 (de) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal
DE102005037230A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems
DE102005037244A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und mit wenigstens zwei Gruppen von internen Zuständen
DE102005055067A1 (de) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Vorrichtung und Verfahren zum Beheben von Fehlern bei einem wenigstens zwei Ausführungseinheiten mit Registern aufweisenden System
JP4784827B2 (ja) * 2006-06-06 2011-10-05 学校法人早稲田大学 ヘテロジニアスマルチプロセッサ向けグローバルコンパイラ
US7941698B1 (en) * 2008-04-30 2011-05-10 Hewlett-Packard Development Company, L.P. Selective availability in processor systems
DE102008062594A1 (de) * 2008-12-16 2010-07-01 Diehl Aerospace Gmbh Mehrkanal-Kontrollermodul
US9081688B2 (en) * 2008-12-30 2015-07-14 Intel Corporation Obtaining data for redundant multithreading (RMT) execution
US9594648B2 (en) * 2008-12-30 2017-03-14 Intel Corporation Controlling non-redundant execution in a redundant multithreading (RMT) processor
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
US8375250B2 (en) * 2009-03-04 2013-02-12 Infineon Technologies Ag System and method for testing a module
WO2011101707A1 (en) * 2010-02-16 2011-08-25 Freescale Semiconductor, Inc. Data processing method, data processor and apparatus including a data processor
US9405637B2 (en) 2011-01-18 2016-08-02 Texas Instruments Incorporated Locking/unlocking CPUs to operate in safety mode or performance mode without rebooting
US9367438B2 (en) 2011-04-21 2016-06-14 Renesas Electronics Corporation Semiconductor integrated circuit and method for operating same
WO2014080245A1 (en) 2012-11-22 2014-05-30 Freescale Semiconductor, Inc. Data processing device, method of execution error detection and integrated circuit
DE102013218814A1 (de) 2013-09-19 2015-03-19 Siemens Aktiengesellschaft Verfahren zum Betreiben eines sicherheitskritischen Systems
JP6090094B2 (ja) * 2013-10-02 2017-03-08 トヨタ自動車株式会社 情報処理装置
US9760446B2 (en) * 2014-06-11 2017-09-12 Micron Technology, Inc. Conveying value of implementing an integrated data management and protection system
US9823983B2 (en) 2014-09-25 2017-11-21 Nxp Usa, Inc. Electronic fault detection unit
US9658793B2 (en) * 2015-02-20 2017-05-23 Qualcomm Incorporated Adaptive mode translation lookaside buffer search and access fault
US9858201B2 (en) 2015-02-20 2018-01-02 Qualcomm Incorporated Selective translation lookaside buffer search and page fault
JP6378119B2 (ja) * 2015-03-16 2018-08-22 日立建機株式会社 制御コントローラ、ステアバイワイヤシステムおよび機械
US10063569B2 (en) * 2015-03-24 2018-08-28 Intel Corporation Custom protection against side channel attacks
US10002056B2 (en) 2015-09-15 2018-06-19 Texas Instruments Incorporated Integrated circuit chip with cores asymmetrically oriented with respect to each other
US9734006B2 (en) * 2015-09-18 2017-08-15 Nxp Usa, Inc. System and method for error detection in a critical system
RU2623883C1 (ru) * 2016-02-18 2017-06-29 Акционерное общество "Лаборатория Касперского" Способ выполнения инструкций в системной памяти
RU2634172C1 (ru) * 2016-06-02 2017-10-24 Акционерное общество "Лаборатория Касперского" Способ передачи управления между адресными пространствами
JP6356736B2 (ja) * 2016-06-29 2018-07-11 ファナック株式会社 コントローラシステムおよび制御方法
US11535266B2 (en) * 2017-07-13 2022-12-27 Danfoss Power Solutions Ii Technology A/S Electromechanical controller for vehicles having a main processing module and a safety processing module
GB2579590B (en) 2018-12-04 2021-10-13 Imagination Tech Ltd Workload repetition redundancy
GB2579591B (en) 2018-12-04 2022-10-26 Imagination Tech Ltd Buffer checker

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073357A1 (en) * 2000-12-11 2002-06-13 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
WO2003010638A1 (de) * 2001-07-26 2003-02-06 Infineon Technologies Ag Prozessor mit mehreren rechenwerken

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754762A (en) * 1997-01-13 1998-05-19 Kuo; Chih-Cheng Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
DE19713192C2 (de) * 1997-03-27 2000-02-24 Rheinmetall Ind Ag Trägerfahrzeug für eine Rohrwaffe mit einer Abstützvorrichtung
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073357A1 (en) * 2000-12-11 2002-06-13 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
WO2003010638A1 (de) * 2001-07-26 2003-02-06 Infineon Technologies Ag Prozessor mit mehreren rechenwerken

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DOMARATSKY Y ET AL: "Back-end software for highly dependable real-time control systems" PROCEEDINGS OF THE 25TH. ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE. COMPSAC 2001. CHICAGO, IL, OCT. 8 - 12, 2001, ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, LOS ALAMITOS, CA : IEEE COMP. SOC, US, Bd. CONF. 25, 8. Oktober 2001 (2001-10-08), Seiten 237-244, XP010565431 ISBN: 0-7695-1372-7 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006045800A1 (de) * 2004-10-25 2006-05-04 Robert Bosch Gmbh Verfahren und vorrichtung zur synchronisierung in einem mehrprozessorsystem
WO2006045775A1 (de) * 2004-10-25 2006-05-04 Robert Bosch Gmbh Verfahren und vorrichtung zur umschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten
US8090983B2 (en) 2004-10-25 2012-01-03 Robert Bosch Gmbh Method and device for performing switchover operations in a computer system having at least two execution units
WO2006135937A2 (en) * 2005-06-13 2006-12-21 Intel Corporation Selective activation of error mitigation based on bit level error count
WO2006135937A3 (en) * 2005-06-13 2007-02-15 Intel Corp Selective activation of error mitigation based on bit level error count
JP2009505182A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング データ処理方法および装置
WO2007017395A3 (de) * 2005-08-08 2007-07-26 Bosch Gmbh Robert Verfahren und vorrichtung zum vergleich von daten bei einem rechnersystem mit wenigstens zwei ausführungseinheiten
US8196027B2 (en) 2005-08-08 2012-06-05 Robert Bosch Gmbh Method and device for comparing data in a computer system having at least two execution units
WO2007017395A2 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und vorrichtung zum vergleich von daten bei einem rechnersystem mit wenigstens zwei ausführungseinheiten
JP2009505185A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実行ユニットを有するコンピュータシステムにおいてデータを比較する方法およびデバイス
JP2009505181A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの処理ユニットと、データおよび/または指令のための少なくとも1つの第1のメモリもしくはメモリ領域とを有する計算機システム内で指令および/またはデータを記憶するための方法および装置
JP2009505179A (ja) * 2005-08-08 2009-02-05 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実行ユニットを有する計算機システムにおいてレジスタのマーキングによってスタート状態を定める方法および装置
JP2009508188A (ja) * 2005-08-08 2009-02-26 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実行ユニットを有する計算機システムにおけるメモリアクセスを制御する方法および装置
WO2008043652A2 (de) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Elektronisches system
JP2009541887A (ja) * 2006-10-10 2009-11-26 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 複数の実行ユニットを有するシステムを切り替える方法
WO2008043652A3 (de) * 2006-10-10 2008-06-05 Bosch Gmbh Robert Elektronisches system
JP4908587B2 (ja) * 2006-10-10 2012-04-04 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 複数の実行ユニットを有するシステムを切り替える方法
EP1914414A2 (de) 2006-10-10 2008-04-23 Robert Bosch Gmbh Einspritzsystem und Verfahren zum Betreiben eines Einspritzsystems
EP1914414A3 (de) * 2006-10-10 2013-08-14 Robert Bosch Gmbh Einspritzsystem und Verfahren zum Betreiben eines Einspritzsystems

Also Published As

Publication number Publication date
BRPI0411824A (pt) 2006-08-08
WO2005003962A3 (de) 2006-01-26
US20070277023A1 (en) 2007-11-29
RU2006101719A (ru) 2007-07-27
KR20060026884A (ko) 2006-03-24
JP4232987B2 (ja) 2009-03-04
JP2007507015A (ja) 2007-03-22
EP1639454A2 (de) 2006-03-29

Similar Documents

Publication Publication Date Title
EP1639454A2 (de) Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit
DE10332700A1 (de) Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit
EP2550599B1 (de) Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems
DE60019038T2 (de) Intelligente Fehlerverwaltung
EP1917592B1 (de) Rechnersystems mit wenigstens zwei ausführungseinheiten und einer vergleichseinheit sowie verfahren zu dessen steuerung
EP2193408B1 (de) Integriertes mikroprozessorsystem für sicherheitskritische regelungen
EP0976012B1 (de) Mikroprozessorsystem für sicherheitskritische regelungen
EP1323039B1 (de) Verfahren zum betrieb eines von einem prozessor gesteuerten systems
EP2079917B1 (de) Verfahren und vorrichtung zur überwachung einer funktionsfähigkeit einer motorsteuerung eines verbrennungsmotors
WO2012066108A1 (de) Mikroprozessorsystem mit fehlertoleranter architektur
DE10349581A1 (de) Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit
WO1999035543A1 (de) Elektronische, digitale einrichtung
EP0981783A1 (de) Mikroprozessorsystem für kfz-regelungssysteme
DE19509150C2 (de) Verfahren zum Steuern und Regeln von Fahrzeug-Bremsanlagen sowie Fahrzeug-Bremsanlage
EP1043641A2 (de) Fehlersicheres Automatisierungssystem mit Standard-CPU und Verfahren für ein fehlersicheres Automatisierungssystem
DE102007056218A1 (de) Verfahren zur Behandlung von transienten Fehlern in Echtzeitsystemen, insbesondere in Steuergeräten von Kraftfahrzeugen
WO2005045665A1 (de) Verfahren und vorrichtung zur operandenverarbeitung in einer prozessoreinheit
WO2017080793A2 (de) Verfahren zum betrieb eines mehrkernprozessors
DE102014011665A1 (de) System und Verfahren für DMA-Betrieb mit hoher Integrität
EP2228723B1 (de) Verfahren zur Fehlerbehandlung eines Rechnersystems
DE102011007467A1 (de) Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung
WO2005001692A2 (de) Verfahren und vorrichtung zur überwachung eines verteilten systems
EP1248965B1 (de) Verfahren zur verhinderung von fehlfunktionen in einem signalverarbeitenden system und prozessorsystem
DE102005037245A1 (de) Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten
EP3841439A1 (de) Automatisierungssystem zur überwachung eines sicherheitskritischen prozesses

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004738748

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006515276

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020057024653

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20048178282

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 261/CHENP/2006

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2006101719

Country of ref document: RU

WWP Wipo information: published in national office

Ref document number: 1020057024653

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004738748

Country of ref document: EP

ENP Entry into the national phase

Ref document number: PI0411824

Country of ref document: BR

WWE Wipo information: entry into national phase

Ref document number: 10560962

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10560962

Country of ref document: US