DE10332700A1 - Method for switching between at least two operating modes of a processor unit and corresponding processor unit - Google Patents
Method for switching between at least two operating modes of a processor unit and corresponding processor unit Download PDFInfo
- Publication number
- DE10332700A1 DE10332700A1 DE10332700A DE10332700A DE10332700A1 DE 10332700 A1 DE10332700 A1 DE 10332700A1 DE 10332700 A DE10332700 A DE 10332700A DE 10332700 A DE10332700 A DE 10332700A DE 10332700 A1 DE10332700 A1 DE 10332700A1
- Authority
- DE
- Germany
- Prior art keywords
- mode
- processor unit
- execution units
- memory area
- operating mode
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 5
- 230000007704 transition Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 2
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 2
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 2
- 101150046378 RAM1 gene Proteins 0.000 description 2
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- CYJRNFFLTBEQSQ-UHFFFAOYSA-N 8-(3-methyl-1-benzothiophen-5-yl)-N-(4-methylsulfonylpyridin-3-yl)quinoxalin-6-amine Chemical class CS(=O)(=O)C1=C(C=NC=C1)NC=1C=C2N=CC=NC2=C(C=1)C=1C=CC2=C(C(=CS2)C)C=1 CYJRNFFLTBEQSQ-UHFFFAOYSA-N 0.000 description 1
- 101001106432 Homo sapiens Rod outer segment membrane protein 1 Proteins 0.000 description 1
- 101150065817 ROM2 gene Proteins 0.000 description 1
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 1
- 101100524639 Toxoplasma gondii ROM3 gene Proteins 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/845—Systems in which the redundancy can be transformed in increased performance
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.Method for switching between at least two operating modes of a processor unit having at least two execution units, characterized in that a change from a first operating mode to a second operating mode is triggered by the fact that the processor unit accesses a predetermined memory address.
Description
Stand der TechnikState of technology
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.The The invention is based on a method for switching between at least two operating modes of a processor unit and a corresponding processor unit with at least two integrated execution units according to the preambles the independent one Claims.
Solche
Prozessoreinheiten mit wenigstens zwei integrierten Ausführungseinheiten
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 Cores 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.Such processor units with at least two integrated execution units are also known as dual-core or multi-core architectures. Such dual-core or multi-core architectures are proposed in the current state of the art mainly for two reasons:
On the one hand, an increase in performance, ie a performance increase, can be achieved by considering and treating the two execution units or cores as two arithmetic units on a semiconductor component. In this configuration, the two execution units or cores process different programs or tasks. As a result, an increase in performance can be achieved, which is why this configuration is referred to as a power mode or performance mode.
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.Of the second reason to realize a dual-core or multi-core architecture, is an increase in security by the two execution units redundantly execute the same program. The results of the two Execution units or CPUs, so cores are compared and an error can be compared recognized for agreement become. In the following, this configuration becomes a security mode or safety mode.
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.in the Generally, the two configurations mentioned are exclusive to the dual or multi-core architecture, d. H. the computer with the at least two execution units, is basically only operated in one mode, the performance mode or the safety mode.
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.task The invention is to provide a combined operation of such a dual or multi-core processor unit in terms of at least two modes of operation and thereby an optimized switching strategy, especially between a security mode to increase security and to achieve a performance mode for enhancing performance.
Vorteile der ErfindungAdvantages of invention
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.It is for safety reasons one redundant design the programs respectively tasks desired, on the other hand is off cost reasons the provision of redundant hardware in the execution of the not safety-critical functions not desirable. This Target conflict is inventively an optimized switching between at least two operating modes and a processor unit solved. Thus, the invention of a method for switching between at least two operating modes of a processor unit with at least two execution units as well corresponding processor unit.
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.Favorable Way, the switching from a first to a second mode of operation is characterized realized that on a given, acting as a changeover trigger Memory address is accessed. Ie. it will be hardware components as switching means (mode selector) or comparison means and a corresponding method presented as in operation between safety-critical Programs, which are therefore redundant in safety mode and non safety-critical programs that are in performance mode independently of each other on both execution units accomplished can be optimally switched.
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.there the same programs are in the first operating mode by the at least two execution units processed synchronously and verified by provided comparison means to the effect that the conditions of the processing of the same programs Match execution units. In case of deviations in this regard are then different error responses from an error display via a Emergency operation up to the shutdown of the faulty unit conceivable.
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.In a special embodiment corresponds to the first mode of operation of the safety mode and the second mode of operation of the power mode. A switch from the second Operating mode in the first operating mode is carried out expedient manner by an interrupt request, in particular triggered by a Interrupt means, the interrupt request on the one hand triggered by a time condition is or by a conditional condition, ie a certain State of at least one of the two execution units or the Occurrence of a particular event.
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. darauf zugreifen. Im zweiten Betriebsmodus haben beide Ausführungseinheiten nur auf einen, beiden Ausführungseinheiten zugeordneten zweiten Speicherbereich Zugriff bzw. stehen mit diesem in Verbindung.Advantageously, a special division takes place into at least three separate memory areas, wherein the execution units have access to a first memory area or a second memory area depending on the respective operating mode, or are in contact therewith. It is expedient manner in a special Embodiment of each of the at least two execution units each associated with a first memory area on the processor unit, with which these in the first operating mode, ie in particular the security mode, in connection or access it. In the second operating mode, both execution units have access to or communicate with only one second memory area assigned to both execution units.
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.Appropriate way are now monitoring devices, in particular the switching means itself provided in such a way that monitors is that in the respective operating mode only to the appropriate Memory areas is accessed or the corresponding connection to the storage areas exists. Ie. in the second operating mode access the evaluation only to the second memory area and not to the first memory areas, and in the first mode of operation access is only to the respective first storage areas, and not on the second memory area, which is checked by the aforementioned monitoring means and in possibly corresponding error reactions such as error message, emergency operation or shutdown is sanctioned.
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.there is any of the three memory areas mentioned, so at least two first memory areas and the second memory area in a separate memory module provided so that at least three memory modules are available on the processor unit. These are expedient way the safety-critical programs each in a first storage area, and the non-safety-critical programs in the second memory area filed, where appropriate manner the default memory address, which is the named trigger function in terms of the switching comprises, is included in the second memory area.
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.One Another advantage arises when comparing the states of execution units in the first operating mode, explicit comparison means on the processor unit are provided and these comparison means only in the first mode of operation are in function and in transition in the second operating mode except Function are set so that in nonredundant, not safety critical Operation no comparison and thus under no circumstances provoked Error reaction occurs.
Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche sowie den Inhalten von Beschreibung und Zeichnung.Further Advantages and advantageous embodiments will be apparent from the features the claims as well as the contents of description and drawing.
Zeichnungdrawing
Die Erfindung wird nachfolgend anhand der in der Zeichnung dargestellten Figuren näher erläutert. Dabei zeigtThe Invention will now be described with reference to the drawing Figures closer explained. It shows
Beschreibung der Ausführungsbeispieledescription the embodiments
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.In Control applications, in particular in the field of vehicle control, such as engine control, brake control or steering and transmission etc., but also in industrial applications such as automation or in the machine tool area, there are generally software tasks or programs that require redundant execution for security reasons, to detect the occurrence of errors. Such safety-critical Applications have but in addition to these safety-critical programs also software components or programs that are also buggy allowed to, since she is not for the provision of the safety-critical function itself are necessary or are concerned, but only an additional function, in particular to provide a comfort function. For security reasons a redundant design is desired, off cost reasons not willing to keep redundant hardware available. According to the invention this Problem by the optimized switching between at least two operating modes, the processor unit, as already in the advantages described and below explains solved.
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
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.In this embodiment Two operating systems are used, one for the safety critical Programs or tasks and one for the non-safety-critical programs or tasks. As operating system for the safety-critical programs, for example, OSEKtime OS, and as the operating system for the non-safety-critical tasks used for example OSEK OS.
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 Gefährdung 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.The Application software is, as already mentioned, divided into safety-critical Programs and non-safety-critical programs. All programs or tasks classified as non-safety critical may fail to incorrectly executed or at all not executed become. A danger of the entire system or the environment is not possible. Of the safe operation of the entire system is alone by the safety as critical classified programs or tasks possible. However, there is the Possibility that the operation, provided he alone by the safety-critical tasks or programs is carried out, to a loss of quality the overall function leads, however within tolerable tolerances as tolerable was classified.
Die
sicherheitsrelevanten, also die sicherheitskritischen Tasks oder
Programme werden redundant auf beiden Ausführungseinheiten
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 Cores, also den Ausführungseinheiten durch Vergleich
auf Übereinstimmung
erfindungsgemäß aufgedeckt
werden, wobei für
diesen Fall der Erfindung entgegen
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
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.In this case, the memory areas, that is, the first and second memory areas may be designed so that the first memory areas or the first memory area (for ECC protection), for example, between 0 and X based on the addresses and the second memory area of X + 1 to Y also related are formed on the addresses. In the further will of a doubled first Memory area assumed, and as previously explained, only a single first secured memory area can be used. Then, as already stated, the first memory area from 0 to X is present twice in each case in a first memory area. Each first memory area is assigned to an execution unit concretely.
Im
ersten Betriebsmodus, hier im Beispiel dem Sicherheitsmodus, laufen
auf beiden Ausführungseinheiten,
also beiden CPUs
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
Im
zweiten Betriebsmodus dieses Ausführungsbeispiels werden die
nicht sicherheitskritischen Programme respektive Tasks abgearbeitet.
Auf beiden Ausführungseinheiten,
also den CPUs
Das
Umschalten zwischen den Betriebsmodi ist nun ausführlich in
den
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
In
Neben
dem bereits genannten Timer-Interrupt kann auch ein Zustands- 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
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.In order to is according to the task an optimized switching between two modes of operation of a processor unit with two integrated execution units shown according to the invention, the concrete embodiment not limiting with regard to the basic ideas of the subject invention can work.
Claims (28)
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10332700A DE10332700A1 (en) | 2003-06-24 | 2003-07-18 | Method for switching between at least two operating modes of a processor unit and corresponding processor unit |
PCT/DE2004/001299 WO2005003962A2 (en) | 2003-06-24 | 2004-06-22 | Method for switching between at least two operating modes of a processor unit and corresponding processor unit |
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 (en) | 2003-06-24 | 2004-06-22 | Method for switching between at least two operating modes of a processor unit and corresponding processor unit |
EP04738748A EP1639454A2 (en) | 2003-06-24 | 2004-06-22 | Method for switching between at least two operating modes of a processor unit and corresponding processor unit |
RU2006101719/09A RU2006101719A (en) | 2003-06-24 | 2004-06-22 | METHOD OF SWITCHING BETWEEN AT LEAST TWO MODES OF OPERATION OF THE PROCESSOR, AND ALSO THE RELATED PROCESSOR |
KR1020057024653A KR20060026884A (en) | 2003-06-24 | 2004-06-22 | Method for switching between at least two operating modes of a processor unit and corresponding processor unit |
BRPI0411824-3A BRPI0411824A (en) | 2003-06-24 | 2004-06-22 | process for switching between at least two modes of operation of a processing unit as well as a corresponding processing unit |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10328208.4 | 2003-06-24 | ||
DE10328208 | 2003-06-24 | ||
DE10332700A DE10332700A1 (en) | 2003-06-24 | 2003-07-18 | Method for switching between at least two operating modes of a processor unit and corresponding processor unit |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10332700A1 true DE10332700A1 (en) | 2005-01-13 |
Family
ID=33520840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10332700A Withdrawn DE10332700A1 (en) | 2003-06-24 | 2003-07-18 | Method for switching between at least two operating modes of a processor unit and corresponding processor unit |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1842763A (en) |
DE (1) | DE10332700A1 (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007017381A1 (en) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Method and device for data processing |
WO2007017370A1 (en) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Method and device for controlling a computer system comprising at least two execution units and at least two groups of internal states |
WO2007017376A1 (en) | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Method and device for storing data and/or commands in a computer system having at least two processing units and at least one first memory or memory area for data and/or commands |
WO2007017373A1 (en) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Apparatus and method for storing data and/or instructions in a computer system having at least two processing units and at least one first memory or memory area for data and/or instructions |
EP1785845A2 (en) * | 2005-11-10 | 2007-05-16 | Robert Bosch Gmbh | Method for using a memory in a multiprocessor apparatus |
DE102006012042A1 (en) * | 2006-03-16 | 2007-09-20 | Kuka Roboter Gmbh | Control device e.g. personal computer, for e.g. joint robot, has two channels for processing independent codes with mutual safety monitoring, and main storage provided for accessing two processor cores of multi-processor core |
WO2008043649A1 (en) | 2006-10-10 | 2008-04-17 | Robert Bosch Gmbh | Method for changing over a system having a plurality of execution units |
EP1973017A3 (en) * | 2007-03-22 | 2009-06-10 | Abb Ag | Safety-oriented programmable logic controller |
DE102008041833A1 (en) | 2008-09-05 | 2010-03-11 | Robert Bosch Gmbh | Device for processing interrupt request of program in processing unit of computer system, has interruption control unit, which is connected with external command units of computer system releasing interrupt requests |
DE102008043530A1 (en) * | 2008-11-06 | 2010-05-20 | Kuka Roboter Gmbh | Machine control system for use in electrical machine, particularly industrial robot, is based on personal computer system, and has two random access memories and multi-core processor with two processor cores |
WO2010072297A1 (en) * | 2008-12-16 | 2010-07-01 | Diehl Aerospace Gmbh | Multichannel controller module |
DE102009001048A1 (en) | 2009-02-20 | 2010-08-26 | Robert Bosch Gmbh | Device for testing functioning of dual-core computer system for e.g. security-relevant control system of motor vehicle, has switching and comparison unit triggered-off by signal, where signal is led back to test unit |
DE102013209152A1 (en) | 2013-05-16 | 2014-11-20 | Robert Bosch Gmbh | Device and method for state switching |
DE102013218814A1 (en) * | 2013-09-19 | 2015-03-19 | Siemens Aktiengesellschaft | Method for operating a safety-critical system |
DE102015218898A1 (en) | 2015-09-30 | 2017-03-30 | Robert Bosch Gmbh | Method for the redundant processing of data |
DE102015218890A1 (en) | 2015-09-30 | 2017-03-30 | Robert Bosch Gmbh | Method and apparatus for generating an output data stream |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2034668B1 (en) * | 2007-09-05 | 2010-12-29 | Siemens Aktiengesellschaft | High availability communications system |
US8943251B2 (en) * | 2012-05-14 | 2015-01-27 | Infineon Technologies Austria Ag | System and method for processing device with differentiated execution mode |
CN107944298A (en) * | 2012-08-21 | 2018-04-20 | 联想(北京)有限公司 | A kind of electronic equipment and the mode switching method applied to electronic equipment |
CN112667450B (en) * | 2021-01-07 | 2022-05-06 | 浙江大学 | Dynamically configurable fault-tolerant system with multi-core processor |
-
2003
- 2003-07-18 DE DE10332700A patent/DE10332700A1/en not_active Withdrawn
-
2004
- 2004-06-22 CN CNA2004800178282A patent/CN1842763A/en active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007017381A1 (en) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Method and device for data processing |
WO2007017370A1 (en) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Method and device for controlling a computer system comprising at least two execution units and at least two groups of internal states |
WO2007017376A1 (en) | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Method and device for storing data and/or commands in a computer system having at least two processing units and at least one first memory or memory area for data and/or commands |
WO2007017373A1 (en) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Apparatus and method for storing data and/or instructions in a computer system having at least two processing units and at least one first memory or memory area for data and/or instructions |
EP1785845A2 (en) * | 2005-11-10 | 2007-05-16 | Robert Bosch Gmbh | Method for using a memory in a multiprocessor apparatus |
EP1785845A3 (en) * | 2005-11-10 | 2008-06-04 | Robert Bosch Gmbh | Method for using a memory in a multiprocessor apparatus |
DE102006012042A1 (en) * | 2006-03-16 | 2007-09-20 | Kuka Roboter Gmbh | Control device e.g. personal computer, for e.g. joint robot, has two channels for processing independent codes with mutual safety monitoring, and main storage provided for accessing two processor cores of multi-processor core |
WO2008043649A1 (en) | 2006-10-10 | 2008-04-17 | Robert Bosch Gmbh | Method for changing over a system having a plurality of execution units |
EP1973017A3 (en) * | 2007-03-22 | 2009-06-10 | Abb Ag | Safety-oriented programmable logic controller |
DE102008041833A1 (en) | 2008-09-05 | 2010-03-11 | Robert Bosch Gmbh | Device for processing interrupt request of program in processing unit of computer system, has interruption control unit, which is connected with external command units of computer system releasing interrupt requests |
DE102008043530A1 (en) * | 2008-11-06 | 2010-05-20 | Kuka Roboter Gmbh | Machine control system for use in electrical machine, particularly industrial robot, is based on personal computer system, and has two random access memories and multi-core processor with two processor cores |
DE102008043530B4 (en) * | 2008-11-06 | 2016-03-10 | Kuka Roboter Gmbh | Machine control and electric machine, in particular industrial robots |
WO2010072297A1 (en) * | 2008-12-16 | 2010-07-01 | Diehl Aerospace Gmbh | Multichannel controller module |
DE102009001048A1 (en) | 2009-02-20 | 2010-08-26 | Robert Bosch Gmbh | Device for testing functioning of dual-core computer system for e.g. security-relevant control system of motor vehicle, has switching and comparison unit triggered-off by signal, where signal is led back to test unit |
DE102013209152A1 (en) | 2013-05-16 | 2014-11-20 | Robert Bosch Gmbh | Device and method for state switching |
DE102013218814A1 (en) * | 2013-09-19 | 2015-03-19 | Siemens Aktiengesellschaft | Method for operating a safety-critical system |
US10229036B2 (en) | 2013-09-19 | 2019-03-12 | Siemens Mobility GmbH | Software update of non-critical components in dual safety-critical distributed systems |
EP3027483B1 (en) * | 2013-09-19 | 2020-05-13 | Siemens Mobility GmbH | Software updates of non-critical components in dual safety-critical distributed systems |
DE102015218898A1 (en) | 2015-09-30 | 2017-03-30 | Robert Bosch Gmbh | Method for the redundant processing of data |
DE102015218890A1 (en) | 2015-09-30 | 2017-03-30 | Robert Bosch Gmbh | Method and apparatus for generating an output data stream |
US10089195B2 (en) | 2015-09-30 | 2018-10-02 | Robert Bosch Gmbh | Method for redundant processing of data |
US10409666B2 (en) | 2015-09-30 | 2019-09-10 | Robert Bosch Gmbh | Method and device for generating an output data stream |
Also Published As
Publication number | Publication date |
---|---|
CN1842763A (en) | 2006-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2005003962A2 (en) | Method for switching between at least two operating modes of a processor unit and corresponding processor unit | |
DE10332700A1 (en) | Method for switching between at least two operating modes of a processor unit and corresponding processor unit | |
EP2550599B1 (en) | Control computer system, method for controlling a control computer system, and use of a control computer system | |
DE60019038T2 (en) | Intelligent error management | |
EP2193408B1 (en) | Integrated microprocessor system for safety-critical control systems | |
EP2079917B1 (en) | Method and device for monitoring a functionality of an engine controller of an internal combustion engine | |
DE102005037246A1 (en) | Method and device for controlling a computer system having at least two execution units and a comparison unit | |
DE10349581A1 (en) | Method and device for switching between at least two operating modes of a processor unit | |
EP2466466B1 (en) | Method for detecting errors when executing a real-time operating system | |
EP1046088A1 (en) | Electronic digital device | |
EP3841438B1 (en) | Automation system for monitoring a safety-critical process | |
EP3709166B1 (en) | Method and system for secure signal manipulation for testing integrated security functionalities | |
DE19509150C2 (en) | Method for controlling and regulating vehicle brake systems and vehicle brake system | |
EP3473512A1 (en) | Functional module, control unit for an operating assisting system and working device | |
EP2085883A1 (en) | Method of treating transient errors in real time systems, especially the control units of motor vehicles | |
DE102006012042A1 (en) | Control device e.g. personal computer, for e.g. joint robot, has two channels for processing independent codes with mutual safety monitoring, and main storage provided for accessing two processor cores of multi-processor core | |
WO2005045665A1 (en) | Method and device for operand processing in a processor unit | |
DE102014011665A1 (en) | System and method for DMA operation with high integrity | |
EP2228723B1 (en) | Method for error treatment of a computer system | |
DE102011007467A1 (en) | Polynuclear integrated microprocessor circuitry for, e.g. vehicle domain computer, has tester to perform time-integral checking of specific components of auxiliary processor structure to and gradually expand checking of other components | |
EP3245591B1 (en) | Failsafe computersystem | |
EP1894101A1 (en) | Method and apparatus for monitoring unauthorized access to the memory of an arithmetic unit, especially in a motor vehicle | |
DE102004051966A1 (en) | Method, operating system and computing device for executing a computer program | |
WO2020038627A1 (en) | Automation system for monitoring a safety-critical process | |
EP1248965B1 (en) | Method for preventing malfunctions in a signal processing system, and a processor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |