EP1680736A2 - Method and device for switching between at least two operating modes of a processor unit - Google Patents

Method and device for switching between at least two operating modes of a processor unit

Info

Publication number
EP1680736A2
EP1680736A2 EP04762699A EP04762699A EP1680736A2 EP 1680736 A2 EP1680736 A2 EP 1680736A2 EP 04762699 A EP04762699 A EP 04762699A EP 04762699 A EP04762699 A EP 04762699A EP 1680736 A2 EP1680736 A2 EP 1680736A2
Authority
EP
European Patent Office
Prior art keywords
programs
identifier
mode
processor unit
operating modes
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
Application number
EP04762699A
Other languages
German (de)
French (fr)
Inventor
Reinhard Weiberle
Thomas Kottke
Andreas Steininger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP1680736A2 publication Critical patent/EP1680736A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Hardware Redundancy (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to a method and a device for switching between at least two operating modes (SM, LM) of a processor unit (100, 101) comprising at least two execution units (ALUA, ALUB) for running programs (P1, P2, P3). At least one characteristic (K2) associated with at least the programs (P1, P2, P3) differentiates between the at least two operating modes (SM, LM), and switching between the operating modes is carried out according to the characteristic (K1-K4, KB) such that the processor unit (100, 101) runs the programs (P1, P2, P3) according to the associated operating mode.

Description

Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer ProzessoreinheitMethod and device for switching between at least two operating modes of a processor unit
Stand der TechnikState of the art
Die Erfindung geht aus von einem Verfahren und einer Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechender Prozessoreinheit mit wenigstens zwei Ausführungseinheiten zur Abarbeitung von Programmen gemäß den Oberbegriffen der unabhängigen Ansprüche.The invention is based on a method and a device for switching between at least two operating modes of a processor unit and a corresponding processor unit with at least two execution units for processing programs in accordance with the preambles of the independent 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: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 according to the current state of the art for two main reasons:
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 Gores unterschiedliche Programme respektive Tasks. Dadurch lässt sich eine Leistungssteigerung erzielen, weshalb diese Konfiguration als Leistungsmodus oder Performance-Mode bezeichnet wird.On the one hand, an increase in performance, that is to say an increase in performance, can be achieved by considering and treating the two execution units or gores as two computing units on a semiconductor module. In this configuration, the two execution units or gores process different programs or tasks. This enables an increase in performance, which is why this configuration is referred to as performance mode.
Neben dem Einsatz als superskalare Prozessoren ist der zweite Grund eine Dual-Core- oder Multi-Core-Architektur zu realisieren, die Steigerung der Sicherheit, indem beide Ausführungseinheiten redundant das gleiche Programm abarbeiten. Die Ergebnisse der beiden Ausführungseinheiten werden verglichen, und ein Fehler kann dann bei dem Vergleich auf Übereinstimmung erkannt werden. Im Folgenden wird diese Konfiguration als Sicherheitsmodus oder safety-mode bezeichnet.In addition to the use as superscalar processors, the second reason is to implement a dual-core or multi-core architecture, increasing security by both Execute execution units redundantly the same program. The results of the two execution units are compared and an error can then be identified in the comparison for agreement. In the following, this configuration is referred to as 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: Entweder dem Performance-Modus oder dem Safety-Modus.In general, the two configurations mentioned are included exclusively on the dual or multi-core architecture, i. H. the computer with the at least two execution units is in principle only operated in one mode: either the performance mode or the safety mode.
Aufgabe der Erfindung ist es nun, einen kombinierten Betrieb einer solchen Dual- oder Multi-Core-Prozessoreinheit bezüglich wenigstens zwei Betriebsarten zu ermöglichen und dabei eine optimale Umschaltstrategie zwischen wenigstens zwei Betriebsmodi, also insbesondere zwischen Sicherheitsmodus und Leistungsmodus zu erzielen.The object of the invention is now to enable a combined operation of such a dual or multi-core processor unit with respect to at least two operating modes and to achieve an optimal switching strategy between at least two operating modes, that is to say in particular between the safety mode and the power mode.
Vorteile der ErfindungAdvantages of the invention
Es ist zum Einen aus Sicherheitsgründen eine redundante Ausführung der Programme respektive Tasks, also auch von Aufgabenprogrammen, Programmteilen, also Codeblöcken oder auch einzelnen Befehlen erwünscht, aber andererseits ausFor security reasons, a redundant execution of the programs or tasks, that is to say also of task programs, program parts, that is to say code blocks or individual commands, is desired, but on the other hand
Kostengründen das Bereithalten von vollständig redundanter Hardware bei der Ausführung der nicht sicherheitskritischen Funktionen nicht erstrebenswert. Dieser Zielkonflikt wird erfindungsgemäß durch eine optimierte Umschaltung zwischen wenigstens zwei Betriebsmodi bei einer Prozessoreinheit gelöst. So geht die Erfindung von einem Verfahren und einer Vorrichtung zur Umschaltung zwischen wenigstens zweiFor cost reasons, it is not desirable to have fully redundant hardware available when the non-safety-critical functions are performed. According to the invention, this conflict of objectives is resolved by an optimized switchover between at least two operating modes in a processor unit. The invention thus proceeds from a method and a device for switching between at least two
Betriebsmodi einer Prozessoreinheit mit wenigstens zwei Ausführungseinheiten sowie entsprechender Prozessoreinheit aus. Die Prozessoreinheiten können dabei zum Einen vollständige Gores, also vollständige CPUs sein oder aber auch in einem bevorzugten Ausführungsbeispiel wird nur das Rechenwerk dupliziert. Der Vorteil ist, wenn nur das Rechenwerk (ALU) dupliziert wird und die anderen Komponenten der CPU durch andereOperating modes of a processor unit with at least two execution units and a corresponding processor unit. The processor units can on the one hand be complete gores, that is to say complete CPUs, or else in a preferred exemplary embodiment only the arithmetic unit is duplicated. The advantage is if only the arithmetic logic unit (ALU) is duplicated and the other components of the CPU by others
Fehlerentdeckungsmechanismen abgesichert werden, benötigt die vorgestellte Schaltung zusätzlich weniger Chipfläche als eine vollständige Dual-Core-Architektur. Trotzdem kann aber mit dem erfindungsgemäßen Verfahren, also gleichermaßen für Doppel-CPU oder Doppel-ALU eine ausreichende Fehlerabdeckung im Sicherheitsmodus, und bei nicht sicherheitsrelevanten Berechnungen eine deutliche Leistungssteigerung im Leistungsmodus erzielt werden. Die Erfindung geht also von einem Verfahren und einer Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit mit wenigstens zwei Ausführungseinheiten zur Abarbeitung von Programmen aus, wobei vorteilhafter Weise den Programmen wenigstens eine Kennung zugeordnet ist, welche eine Unterscheidung in die wenigstens zwei Betriebsmodi, also insbesondere Sicherheitsmodus und Leistungsmodus erlaubt und eine Umschaltung zwischen dem Betriebsmodi in Abhängigkeit von der Kennung erfolgt, so dass die Prozessoreinheit die Programme entsprechend des zugeordneten Betriebsmodus abarbeitet.If error detection mechanisms are safeguarded, the circuit presented additionally requires less chip area than a complete dual-core architecture. Nevertheless, with the method according to the invention, that is to say equally for double CPU or double ALU, adequate fault coverage in the safety mode, and at calculations that are not relevant to safety, a significant increase in performance can be achieved in performance mode. The invention is therefore based on a method and a device for switching between at least two operating modes of a processor unit with at least two execution units for processing programs, with the programs advantageously being assigned at least one identifier which differentiates into the at least two operating modes, that is to say in particular Security mode and power mode are permitted and there is a switchover between the operating modes as a function of the identifier, so that the processor unit processes the programs in accordance with the assigned operating mode.
Dabei umfasst der Begriff Programme auch Programmteile, also Codeblöcke, die sich über mehrere Programme vollständig oder ansteilig erstrecken über Aufgabenprogramme, die in den einzelnen Programmen enthalten sind oder von den Programmen gebildet werden bis hin zu einzelnen Programmbefehlen, denen jeweils eine Kennung zugeordnet wird.The term programs also encompasses program parts, that is to say blocks of code, which extend over several programs in whole or in part, via task programs which are contained in the individual programs or are formed by the programs, up to individual program commands, each of which is assigned an identifier.
Dabei kann eine solche Kennungszuordnung zur Umschaltung zwischen den einzelnen Betriebsmodi auf Funktionsebene, also insbesondere zur Steuerung von Betriebsabläufen bei einem Fahrzeug, Einsatz finden. Andererseits können auch vorteilhafter WeiseSuch an identifier assignment can be used to switch between the individual operating modes at the functional level, that is to say in particular to control operating processes in a vehicle. On the other hand, it can also be advantageous
Programme oder entsprechende Aufgabenprogramme, Programmteile oder Programmbefehle, die zu einem Betriebssystem der Prozessoreinheit gehören oder dieses Betriebssystem darstellen, durch solche Kennungen dem entsprechenden Betriebsmodus zugeordnet werden.Programs or corresponding task programs, program parts or program commands that belong to an operating system of the processor unit or represent this operating system can be assigned to the corresponding operating mode by such identifiers.
Zweckmäßiger Weise werden bei der Abarbeitung der Programme die dabei entstehenden Zustände oder Ergebnisse auf Übereinstimmung verglichen, wobei bei Abweichung auf Fehler erkannt wird.The processing of the programs expediently compares the resulting states or results for agreement, whereby errors are identified in the event of a deviation.
Dabei ist es besonders zweckmäßig, dass die Programme synchron abgearbeitet werden.It is particularly useful that the programs are processed synchronously.
Vorteilhafter Weise ist die Kennung als wenigstens ein Bit ausgebildet, wobei eine solche Kennung zweckmäßiger Weise durch einen Programmbefehl, insbesondere durch einen im Befehlssatz der Prozessoreinheit vorgesehenen Befehl, wie beispielsweise einem Schreibbefehl erzeugt wird.The identifier is advantageously designed as at least one bit, such an identifier being expediently carried out by a program command, in particular by a Instruction provided in the instruction set of the processor unit, such as a write instruction is generated.
Diese Kennung kann zum Einen dem entsprechenden Programm, Programmteil, Ausführungsprogramm oder Programmbefehl zugeordnet sein oder aber in einen speziellen, vorgesehenen Speicherbereich eingeschrieben sein oder werden.On the one hand, this identifier can be assigned to the corresponding program, program part, execution program or program command, or else it can be or be written into a special, provided memory area.
Somit kann abhängig von der Kennung eine optimierte Umschaltung zwischen zwei Betriebsmodi, insbesondere dem Leistungsmodus und dem Sicherheits-Modus bei einer Dual-Core- Architektur oder eine Architektur mit lediglich dupliziertem Rechenwert, also einer Doppel-ALU erfolgen.Depending on the identifier, an optimized switchover between two operating modes, in particular the power mode and the safety mode in the case of a dual-core architecture or an architecture with only a duplicated arithmetic value, that is to say a double ALU, can thus take place.
Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus der Beschreibung sowie den Merkmalen der Ansprüche.Further advantages and advantageous configurations result from the description and the features of the claims.
Zeichnungdrawing
Die Erfindung wird im weiteren anhand der in der Zeichnung dargestellten Figuren näher erläutert.The invention is explained in more detail below with reference to the figures shown in the drawing.
Dabei zeigt Figur 1 und Figur 2 jeweils eine Prozessoreinheit mit dupliziertem Rechenwert, bei welcher die erfindungsgemäße Umschaltung durchführbar ist.1 and 2 each show a processor unit with a duplicated arithmetic value, in which the switchover according to the invention can be carried out.
Figur 3 zeigt die Umschaltung aus dem Sicherheitsmodus in den Leistungsmodus und Figur 4 zeigt die Umschaltung vom Leistungsmodus in den Sicherheitsmodus.Figure 3 shows the switch from the safety mode to the power mode and Figure 4 shows the switch from the power mode to the safety mode.
Figur 5 zeigt anhand einer Anzahl von Codezeilen 500 die Zuordnung der Kennzeichen zu den Programmen, Programmteilen, Aufgabenprogrammen oder Befehlen.FIG. 5 shows the assignment of the identifiers to the programs, program parts, task programs or commands using a number of code lines 500.
Beschreibung der AusfuhrungsbeispieleDescription of the exemplary embodiments
In den Figuren 1 und 2 der Zeichnung sind gleiche bzw. funktionsgleiche Elemente sofern nichts anderes angegeben ist - mit gleichen Bezugszeichen versehen worden. Die erfindungsgemäße programmgesteuerte Einheit sowie deren Komponenten wie Mikrocontrollerkern (CPU), Speichereinheiten, Peripherieeinheiten usw. sind der besseren Übersichtlichkeit halber in den Figuren 1 und 2 nicht direkt dargestellt worden. Allerdings können die beiden Rechenwerke ALU A und Alu B ebenso kompletten Cores, also CPUs im Rahmen der Erfindung entsprechen, so dass die Erfindung auch für komplette Dual-Core-Architekturen Einsatz finden kann. Bevorzugt ist allerdings, dass nur das Rechenwerk dupliziert wird und die anderen Komponenten der CPU durch andere Fehlerentdeckungsmechanismen abgesichert werden.In FIGS. 1 and 2 of the drawing, identical or functionally identical elements have been provided with the same reference numerals, unless stated otherwise. The program-controlled unit according to the invention and its components such as Microcontroller core (CPU), memory units, peripheral units etc. have not been shown directly in FIGS. 1 and 2 for the sake of clarity. However, the two arithmetic units ALU A and Alu B can also correspond to complete cores, that is to say CPUs in the context of the invention, so that the invention can also be used for complete dual-core architectures. However, it is preferred that only the arithmetic unit is duplicated and the other components of the CPU are secured by other error detection mechanisms.
In den Figuren 1 und 2 sind mit den Bezugszeichen 1 und 2 jeweils arithmetisch logische Einheiten (ALU) als Ausführungseinheiten bezeichnet. Eine jeweilige ALU-Einheit 1, 2 weist zwei Eingänge und einen Ausgang auf. In einem Testbetrieb können die zur Ausführung vorgesehenen Operanden direkt vom Bus 3 in die Eingänge der ALU- Einheiten 1 , 2 eingekoppelt werden oder vorher in einem eigens dafür vorgesehenen Operandenregister 8, 9 abgelegt sein. Diese Operandenregistern 8, 9 sind direkt mit dem Datenbus 3 gekoppelt. Die beiden ALU-Einheiten 1, 2 werden also aus den gleichenIn FIGS. 1 and 2, reference numerals 1 and 2 each denote arithmetic logic units (ALU) as execution units. A respective ALU unit 1, 2 has two inputs and one output. In a test mode, the operands intended for execution can be coupled directly from the bus 3 into the inputs of the ALU units 1, 2 or previously stored in an operand register 8, 9 specially provided for this purpose. These operand registers 8, 9 are directly coupled to the data bus 3. The two ALU units 1, 2 are therefore the same
Operandenregistern 8, 9 versorgt. Zusätzlich kann vorgesehen sein, dass die jeweiligen Operanden über den Bus bereits mit einer ECC-Codierung versehen sind, welche in den Registerbereichen 8a, 9a abgelegt werden. D. h. an allen Stellen in den Figuren 1 und 2, in denen ECC angegeben ist, können die Daten durch Einsatz eines ECC-Codes (Error Correction Code) abgesichert sein. Solche Methoden zur Fehlererkennung 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 Parity-Bit 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 sichere 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 gewährleistet werden. Dennoch erfolgt im sicherheitskritischen Modus, also im Sicherheitsmodus SM eine redundante Abarbeitung der sicherheitskritischen Programme in beiden Ausfuhrungseinheiten, also hier beiden ALUs 1 und 2, wodurch Fehler in diesen durch Vergleich auf Übereinstimmung erfindungsgemäß aufgedeckt werden.Operand registers 8, 9 are supplied. In addition, it can be provided that the respective operands are already provided with an ECC coding via the bus, which are stored in the register areas 8a, 9a. I.e. At all points in FIGS. 1 and 2, in which ECC is indicated, the data can be secured by using an ECC code (Error Correction Code). Such methods for error detection are diverse, the basic requirement being security with an error detection or error correction code, ie a signature. In the simplest case, this signature can only consist of a signature bit, for example a parity bit. On the other hand, the protection can also be implemented by more complex ED codes (error detection) such as a Berger code or a Bose-Lin code etc. or by a more complex ECC code such as a Hamming code etc. Number of bits to enable reliable error detection. However, it can also be used as a code generator, for example a generator table (hard-wired or in software), in order to assign a desired code pattern of any length to specific input patterns of the bits in the context of the address. In this way, data security can be guaranteed, in particular through the correction function. Nevertheless, in the safety-critical mode, that is to say in the safety mode SM, the safety-critical programs are processed redundantly in both execution units, that is to say both here ALUs 1 and 2, as a result of which errors in these are revealed by comparison according to the invention.
Die nicht sicherheitsrelevanten bzw. nichtsicherheitskritischen Programme oder Tasks respektive Programmteile oder Codeblöcke oder Befehle können zur Leistungserhöhung auf beiden Ausführungseinheiten verteilt berechnet werden, wodurch sich der Durchsatz und damit die Leistung erhöht. Dies erfolgt im sogenannten Leistungsmodus oder Performancemode LM.The non-security-relevant or non-security-critical programs or tasks, or program parts or code blocks or commands, can be calculated distributed over both execution units in order to increase the performance, which increases the throughput and thus the performance. This takes place in the so-called performance mode or performance mode LM.
Bei Einkopplung der jeweiligen Operanden in die ALU-Einheiten 1, 2 muss besondererIf the respective operands are coupled into the ALU units 1, 2, special must
Wert auf die korrekte Dateneingabe gelegt werden. Werden z. B. die gleichen fehlerhaften Operanden in die beiden ALU-Einheiten 1, 2 eingekoppelt, ist ein Fehler am Ausgang der ALU-Einheiten 1, 2 nicht erkennbar. Es muss daher sichergestellt sein, dass zumindest eine der ALU-Einheiten 1 oder 2 einen korrekten Dateneingabewert erhält bzw. auch beide ALU-Einheiten 1, 2 unterschiedliche, jedoch falsche Dateneingabewerte erhalten. Dies wird dadurch sichergestellt, dass von zumindest einem Eingangswert einer ALU-Einheit 1, 2 eine Prüfsumme, also ein ECC-Code, wie oben erwähnt, gebildet wird. In einer eigens vorgesehenen Vergleichseinheit 5, 6 wird die ECC-Codierung 10a, 11a aus diesen zusätzlichen Datenregistern 10, 11 mit der ECC-Codierung 8a, 9a aus dem ursprünglichen Quellregister 8, 9 verglichen. Optional können auch die Eingangsdaten aus den Registern 10, 11 mit denen aus den Quellregistern 8, 9 verglichen werden. Ergibt sich ein Unterschied in der ECC-Codierung bzw. bei den Operanden, dann wird dies als Fehler interpretiert und es wird ein Fehlersignal ausgegeben, unter Umständen angezeigt und unter Umständen korrigiert. Dieser Vergleich erfolgt vorteilhafter Weise während der Bearbeitung der Operanden in den ALU-Einheiten 1, 2, so dass diese eingangsseitigeValue on correct data entry. Are z. B. the same faulty operands are coupled into the two ALU units 1, 2, an error at the output of the ALU units 1, 2 is not recognizable. It must therefore be ensured that at least one of the ALU units 1 or 2 receives a correct data input value and that both ALU units 1, 2 also receive different but incorrect data input values. This is ensured in that a checksum, ie an ECC code, as mentioned above, is formed from at least one input value of an ALU unit 1, 2. In a specially provided comparison unit 5, 6, the ECC coding 10a, 11a from these additional data registers 10, 11 is compared with the ECC coding 8a, 9a from the original source register 8, 9. Optionally, the input data from registers 10, 11 can also be compared with that from source registers 8, 9. If there is a difference in the ECC coding or in the operands, this is interpreted as an error and an error signal is output, possibly displayed and possibly corrected. This comparison advantageously takes place during the processing of the operands in the ALU units 1, 2, so that they are input-side
Fehlererkennung und Fehlerkorrektur nahezu ohne Leistungsverlust einhergeht. Erkennt eine der Vergleichseinheiten 5, 6 einen Fehler, so kann die Berechnung innerhalb des nächsten Zyklus wiederholt werden. Dabei kann ein Schattenregister Einsatz finden, um immer die Operanden der letzten Berechnung zu sichern, damit sie in einem Fehlerfall schnell wieder verfügbar sind. Auf die Bereitstellung eines solchen Schattenregisters kann allerdings verzichtet werden, wenn die jeweiligen Operandenregister 10, 11 erst wieder durch ein Freigabesignal aufgrund des NichtVorhandenseins eines Fehlers erneut beschrieben werden. Im Falle eines Fehlers liefern die Vergleichseinheiten 5, 6 ein Fehlersignal, wodurch die Operandenregister 10, 1 1 nicht erneut beschrieben werden. Die ALU-Einheiten 1, 2 erzeugen ausgangsseitig jeweils ein Ergebnis. Die von den ALU- Einheiten 1, 2 bereitgestellten Ergebnisdaten bzw. deren ECC-Codierung werden in den Ergebnisregistern 12, 13, 12a, 13a abgelegt. Diese Ergebnisdaten und/oder deren Codierung werden in der Vergleichseinheit 14 miteinander verglichen. Im Falle des NichtVorhandenseins eines Fehlers wird ein Freigabesignal 16 erzeugt. Dieses Freigabesignal 16 wird in die Freigabeeinrichtung 15 eingekoppelt, welche dazu veranlasst wird, die Ergebnisdaten auf einen Bus 4 zu schreiben. Über den Bus 4 können diese Ergebnisdaten dann wieder verarbeitet werden.Error detection and error correction goes hand in hand with almost no loss of performance. If one of the comparison units 5, 6 detects an error, the calculation can be repeated within the next cycle. A shadow register can be used to always save the operands of the last calculation so that they are quickly available again in the event of an error. The provision of such a shadow register can, however, be dispensed with if the respective operand registers 10, 11 are only rewritten by an enable signal due to the absence of an error. In the event of an error, the comparison units 5, 6 deliver an error signal, as a result of which the operand registers 10, 11 are not rewritten. The ALU units 1, 2 each produce a result on the output side. The result data provided by the ALU units 1, 2 or their ECC coding are stored in the result registers 12, 13, 12a, 13a. These result data and / or their coding are compared with one another in the comparison unit 14. In the absence of an error, an enable signal 16 is generated. This release signal 16 is coupled into the release device 15, which is caused to write the result data on a bus 4. This result data can then be processed again via bus 4.
Das Freigabesignal 16 kann ferner dazu genutzt werden, die Register 8 bis 11 wieder freizuschalten, so dass die nächsten Operanden vom Bus 3 ausgelesen werden können und in den ALU-Einheiten 1 , 2 verarbeitet werden können.The enable signal 16 can also be used to enable the registers 8 to 11 again, so that the next operands can be read from the bus 3 and can be processed in the ALU units 1, 2.
Mit der Anordnung in Figur 1 wird das Ergebnis nicht überprüft. Hier werden lediglich die Ergebnisdaten in der Vergleichseinheit 14 miteinander verglichen. Eine Überprüfung der ECC-Codierung der Ergebnisdaten wird erst durch die Anordnung in Figur 2 möglich, bei der sowohl die Ergebnisdaten als auch deren ECC-Codierung miteinander in der Vergleichseinheit 14 verglichen werden.The result is not checked with the arrangement in FIG. 1. Only the result data in the comparison unit 14 are compared here. The ECC coding of the result data can only be checked by the arrangement in FIG. 2, in which both the result data and its ECC coding are compared with one another in the comparison unit 14.
Mit den in den Figuren 1 und 2 angegebenen Fehlererkennungsanordnungen werden alle transienten Fehler, permanenten Fehler und auch Laufzeitfehler erkannt. Laufzeitfehler innerhalb einer ALU-Einheit 1 , 2 werden erkannt, wenn das Ergebnis nicht oder zu spät zu der Vergleichseinheit 12 gelangt und somit ein Vergleich mit einem Teilergebnis erfolgt. Durch die Absicherung der Operandenregister 8, 9, 10, 11 mit Fehlererkennungsund Fehlerkorrekturcode und dem Vergleich der Endergebnisse ist der jeweilige Fehlerort und Fehlerzeitpunkt genau zu lokalisieren. Somit kann auf eine transiente Störung sehr schnell reagiert werden.With the error detection arrangements indicated in FIGS. 1 and 2, all transient errors, permanent errors and also runtime errors are recognized. Runtime errors within an ALU unit 1, 2 are recognized if the result does not reach the comparison unit 12 or comes too late, and thus a comparison is made with a partial result. By protecting the operand registers 8, 9, 10, 11 with error detection and error correction code and comparing the final results, the respective error location and time of error can be localized precisely. This means that you can react very quickly to a transient disturbance.
Es ergeben sich somit die folgenden Möglichkeiten zur Fehlerlokalisierung:This results in the following options for fault localization:
Ergibt ein Vergleich der Ergebnisdaten in der Vergleichseinheit 14 einen Unterschied, dann kann auf einen Fehler innerhalb der ALU-Einheiten 1 , 2 geschlossen werden. Ergibt ein Vergleich der ECC-Codierung in einer der Vergleichseinheiten 5, 6 einen Unterschied, dann kann auf ein fehlerhaftes Signal von dem Bus 3 bzw. vorgeschalteten Komponenten geschlossen werden.If a comparison of the result data in the comparison unit 14 results in a difference, then an error within the ALU units 1, 2 can be concluded. If a comparison of the ECC coding in one of the comparison units 5, 6 reveals a difference, then an incorrect signal from the bus 3 or upstream components can be concluded.
Ergibt ein Vergleich der ECC-Codierung in der Vergleichseinheit 14 einen Unterschied, dann kann auf eine fehlerhafte Codierung des Ergebnisses geschlossen werden.If a comparison of the ECC coding in the comparison unit 14 results in a difference, then an incorrect coding of the result can be concluded.
Zur Umschaltung zwischen dem genannten Sicherheitsmodus, in dem eine redundante Abarbeitung und Prüfung erfolgt und dem Leistungsmodus, bei dem eine Leistungssteigerung durch separate Programmabarbeitung erreicht wird, dient eineA switch is used to switch between the aforementioned safety mode, in which redundant processing and testing takes place, and the performance mode, in which an increase in performance is achieved by separate program processing
Umschalteinrichtung UE 17. Durch diese Umschalteinrichtung 17 werden die Elemente 8, 9 und 1, 2 so geschaltet, dass im einen Fall, also im Sicherheitsmodus SM eine redundante Programmabarbeitung, insbesondere eine synchrone Programmabarbeitung erfolgt und im zweiten Betriebsmodus, dem Leistungsmodus LM eine parallele Abarbeitung unterschiedlicher Programme vollzogen werden kann. Dazu können Schalter oder Schaltmittel vorgesehen sein, die zum Einen in den Elementen 8, 9 respektive 1, 2 oder auch in der Umschalteinrichtung 17 lokalisiert sein können oder zusätzlich separat von den Elementen 8, 9, 1, 2 bzw. 17 in der Schaltung enthalten sind.Switching device UE 17. By means of this switching device 17, the elements 8, 9 and 1, 2 are switched so that in one case, that is to say in the safety mode SM, redundant program processing, in particular synchronous program processing, and in the second operating mode, the performance mode LM a parallel processing different programs can be carried out. For this purpose, switches or switching means can be provided, which can be located on the one hand in the elements 8, 9 or 1, 2 or also in the switching device 17 or additionally contained in the circuit separately from the elements 8, 9, 1, 2 or 17 are.
Zur Umschaltung erfolgt eine Kennzeichnung der Programme oder Aufgabenprogramme oder Programmteile, also Codeblöcke oder auch der Befehle durch eine Kennung, durch welche erkennbar ist, ob diese sicherheitsrelevant sind, also im Sicherheitsmodus SM abgearbeitet werden müssen oder dem Leistungsmodus LM zugänglich gemacht werden können. Dies kann durch ein Bit im Befehl erfolgen, oder es kann durch einen speziellen Befehl die darauffolgende Sequenz gekennzeichnet werden. Dies wird näher anhand der unterschiedlichen Kennzeichnungsmöglichkeiten bei Figur 5 noch einmal beschrieben.To switch over, the programs or task programs or program parts, that is to say code blocks or also the commands, are identified by an identifier which can be used to identify whether they are safety-relevant, that is to say they must be processed in the safety mode SM or can be made accessible to the performance mode LM. This can be done by a bit in the command, or the subsequent sequence can be identified by a special command. This will be described in more detail using the different labeling options in FIG. 5.
Dabei können die Programme zum Einen Anwendungsfunktionen umfassen, also insbesondere z. B. zur Steuerung von Betriebsabläufen bei einem Fahrzeug vorhanden sein, oder aber die Umschaltung erfolgt bezüglich Programmen, bei denen dieThe programs can include application functions on the one hand. B. to control operations in a vehicle, or switch to programs in which the
Kennzeichnung auf Betriebssystemebene erfolgt, also z. B. eine Zuordnung ganzer Betriebssystemtasks. Bei einer Decodierung kann nun die Umschalteinrichtung 17 erkennen, ob die nun folgende Berechnung sicherheitsrelevant ist, also im Sicherheitsmodus ausgeführt werden soll oder nicht. Ist dies der Fall, so werden die Daten an beide Ausführungseinheiten 1 und 2 übergeben. Ist dies nicht der Fall, wird also im Leistungsmodus weitergearbeitet, so bekommt eine Ausführungseinheit die Daten bereitgestellt und gleichzeitig kann die nächste Anweisung, wenn diese ebenfalls nicht sicherheitsrelevant ist, an die zweite Ausfuhrungseinheit gegeben werden, so dass die Programme parallel mit höherem Durchsatz abgearbeitet werden.Marking is done at the operating system level, e.g. B. an assignment of entire operating system tasks. In the case of decoding, the switchover device 17 can now recognize whether the calculation that follows is safety-relevant, that is to say should be carried out in safety mode or not. If this is the case, the data are transferred to both execution units 1 and 2. If this is not the case, so if work continues in performance mode, an execution unit receives the data and at the same time the next instruction, if this is also not security-related, can be given to the second execution unit, so that the programs are processed in parallel with a higher throughput ,
Im ersten Fall beispielsweise dauert die Berechnung des Ergebnisses bei synchronerIn the first case, for example, the calculation of the result takes place with synchronous
Abarbeitung auf beiden Einheiten gleich lang. Die Ergebnisse stehen also im Sicherheitsmodus bei synchroner Abarbeitung gleichzeitig bereit. Diese Daten werden nun am Ausgang entsprechend 12 und 13 wieder mit einer Codierung versehen, und es werden die Daten und/oder die Codierung dieser Daten, wie in den Figuren 1 und 2 beschrieben, bei Result a und Result b verglichen. Stimmen sie überein, so werden dieProcessing on both units of the same length. The results are thus simultaneously available in safety mode with synchronous processing. These data are now provided with a coding at the output corresponding to 12 and 13, and the data and / or the coding of this data are compared, as described in FIGS. 1 and 2, for Result a and Result b. If they match, they will
Daten freigegeben; ansonsten erfolgt eine der angesprochenen Fehlerreaktionen. Im zweiten Fall, also im Leistungsmodus LM, wenn die Daten parallel abgearbeitet werden, wird der Komparator oder Vergleicher 14 am Ausgang der beiden Rechenwerke nicht angesteuert und die Ergebnisse Result a und Result b werden nacheinander wieder in die Registerbank zurückgeschrieben und können auch nacheinander ausgegeben werden, wie es auch in einem superskalaren Prozessor der Fall ist.Data released; otherwise one of the mentioned error reactions occurs. In the second case, i.e. in power mode LM, when the data are processed in parallel, the comparator or comparator 14 at the output of the two arithmetic units is not activated and the results Result a and Result b are written back to the register bank one after the other and can also be output one after the other as is the case in a superscalar processor.
Dieser erfindungsgemäße Umschaltvorgang wird noch einmal in den Figuren 3 und 4 erläutert. Dabei zeigt Figur 3 die Umschaltung aus dem Sicherheitsmodus in den Leistungsmodus und Figur 4 die Umschaltung vom Leistungsmodus in denThis switching process according to the invention is explained again in FIGS. 3 and 4. 3 shows the switchover from the safety mode to the power mode and FIG. 4 shows the switchover from the power mode to the
Sicherheitsmodus.Security mode.
Um von dem ersten Betriebsmodus, also hier dem Sicherheitsmodus oder Safetymode SM in den zweiten Betriebsmodus, also hier den Leistungsmodus oder Performancemode LM zu gelangen, ist eine Kennung und eine entsprechende Umschaltung erforderlich. InIn order to switch from the first operating mode, that is to say here the safety mode or safety mode SM to the second operating mode, that is to say here the power mode or performance mode LM, an identifier and a corresponding switchover are required. In
Figur 3 ist dies noch einmal verdeutlicht. In Block 300 ist die Ausführungseinheit 1 im zweiten Betriebsmodus, dem Leistungsmodus. Ebenso ist im Block 310 die zweite Ausführungseinheit 2 auch im Leistungsmodus. Gleichermaßen werden durch die Umschalteinrichtung 17, die beispielsweise als Decoderbaustein ausgebildet ist, respektive einen solchen enthält, die Elemente 8 und 9 gesteuert bzw. geschaltet. Im Block 320 bzw. Block 321 wird nun entsprechend des Programmablaufs der jeweiligen Ausführungseinheit 1 oder 2 wenigstens eine Kennung festgestellt, durch welche eine Umschaltung in Block 330 von beiden Ausführungseinheiten in den ersten Betriebsmodus, den Sicherheitsmodus SM, erfolgt. Dadurch laufen beide Zweige über dieThis is illustrated again in FIG. 3. In block 300, execution unit 1 is in the second operating mode, the performance mode. Likewise, in block 310, the second execution unit 2 is also in the performance mode. Likewise, the switching device 17, which is designed, for example, as a decoder module, or contains one, the elements 8 and 9 controlled or switched. In block 320 or block 321, at least one identifier is determined in accordance with the program flow of the respective execution unit 1 or 2, by means of which a switchover in block 330 from both execution units to the first operating mode, the security mode SM, takes place. As a result, both branches run over the
Blöcke 8 und 9 und die Ausführungseinheiten 1 und 2 wieder redundant und insbesondere synchron bezüglich der durch die Kennung gekennzeichneten sicherheitsrelevanten Programme, so dass wieder der Sicherheitsmodus SM vorliegt. Dabei genügt es, dass in einem Programmlauf im Leistungsmodus, also in einem Zweig eine solche Kennung zur Umschaltung vorhanden ist, um beide Ausführungseinheiten in den Sicherheitsmodus zu führen. Dabei muss unter Umständen noch die Abarbeitung des bereits angefangenen Programmcodes der anderen Ausführungseinheit abgearbeitet werden, um beide dann im Sicherheitsmodus weiterarbeiten zu lassen. Andererseits kann es auch vorgesehen sein, sofort in den Sicherheitsmodus zu wechseln und bei einem nachfolgenden Leistungsmodus das angefangene Programm beginnend von derBlocks 8 and 9 and the execution units 1 and 2 are again redundant and in particular synchronous with respect to the security-relevant programs identified by the identifier, so that the security mode SM is again present. It is sufficient that in a program run in the performance mode, that is to say in a branch, such an identifier for switching is available in order to lead both execution units into the safety mode. In some cases, the processing of the program code already started by the other execution unit may have to be processed so that both can then continue to work in the safety mode. On the other hand, it can also be provided to switch immediately to the safety mode and, in the case of a subsequent performance mode, to start the program starting from
Unterbrechungsstelle weiter abzuarbeiten.Work on the point of interruption further.
Um von dem ersten Betriebsmodus, also hier dem Sicherheitsmodus in den zweiten Betriebsmodus, den Leistungsmodus zu gelangen, wird nun entsprechend Figur 4 ebenfalls eine Kennung verwandt. Im Block 200 sind beide Ausfuhrungseinheiten 1 undIn order to switch from the first operating mode, ie here the safety mode to the second operating mode, the power mode, an identifier is now also used in accordance with FIG. 4. In block 200, both execution units 1 and
2 und entsprechend die Zweige mit den Blöcken 8 und 9, also der Operandenzuschaltung im Sicherheitsmodus, dem ersten Betriebsmodus. In Abfrageblock 210 wird nun geprüft, ob eine Umschaltkennung vorliegt, respektive ob eine vorliegende Kennung die Umschaltung in den Leistungsmodus möglich macht. Ist dies nicht der Fall, liegt also keine Kennung vor oder zeigt die Kennung weiterhin den Sicherheitsmodus an, gelangt man wieder zu Block 200 und die Programme werden weiter im Sicherheitmodus abgearbeitet. Ist eine Kennung vorhanden respektive zeigt diese die Umschaltung an, erfolgt im Block 220 die Umschaltung bzw. der Wechsel in den zweiten Betriebsmodus, den Leistungs- oder Performancemode LM. Da im Sicherheitsmodus parallel, also redundant, die gleichen Programme abgearbeitet werden, erfolgt hier eine Umschaltung nur, wenn für beide Zweige im Leistungsmodus, also Block 8 und ALU 1 sowie Block 9 und ALU 2 eine Umschaltung aufgrund der Kennung vorgesehen ist. Erfolgt eine vollsynchrone Abarbeitung, also eine zeitgleiche Abarbeitung des Programms, ist dies ohnehin gegeben, erfolgt eine nichtsynchrone Abarbeitung des Programms, muss von der schnelleren Ausführungseinheit auf die zurückliegende gewartet werden, so dass die Umschalteinrichtung 17 erst dann umschaltet, wenn beide Kennungen vorliegen bzw. ausgewertet sind. Eine solche Synchronität muss auch zum Ergebnisvergleich bzw. ECC- und Ergebnisvergleich gemäß der Blöcke 12, 13 und 14 sowie 12a und 13a entweder durch Zeitgleichheit erzwungen oder durch Warten erzeugt werden.2 and correspondingly the branches with the blocks 8 and 9, ie the operand connection in the safety mode, the first operating mode. In query block 210 it is now checked whether there is a switchover identifier or whether an existing identifier makes it possible to switch to the power mode. If this is not the case, that is to say if there is no identifier or if the identifier continues to indicate the security mode, block 200 is reached again and the programs are further processed in the security mode. If an identifier is present or if this indicates the switchover, the switchover or change to the second operating mode, the power or performance mode LM, takes place in block 220. Since the same programs are processed in parallel in the security mode, that is to say redundantly, a switchover takes place here only if a switchover is provided for both branches in the power mode, that is to say blocks 8 and ALU 1 and blocks 9 and ALU 2, on the basis of the identifier. If the program is fully synchronized, i.e. if the program is processed at the same time, if this is done anyway, the program must be executed non-synchronously faster execution unit are waited for the previous one, so that the switching device 17 only switches when both identifiers are present or have been evaluated. Such a synchronicity must also be enforced for the result comparison or ECC and result comparison according to the blocks 12, 13 and 14 as well as 12a and 13a either by equality of time or by waiting.
In Block 230 ist somit dann der erste Zweig, also Block 8 und Ausführungseinheit 1 wieder im Leistungsmodus und im Block 231 der zweite Zweig mit Block 9 und Ausführungseinheit 2, wodurch dann die erfindungsgemäße Umschaltung vollzogen ist.In block 230 the first branch, ie block 8 and execution unit 1, is then again in the power mode and in block 231 the second branch with block 9 and execution unit 2, whereby the switchover according to the invention is then completed.
Damit ist entsprechend der Aufgabe eine optimierte Umschaltung zwischen zwei Betriebsmodi einer Prozessoreinheit mit zwei integrierten Ausführungseinheiten erfindungsgemäß dargestellt, wobei die Kennung auf verschiedenste Art und Weise entsprechend Figur 5 in einem Programm- oder Datenzeilenabschnitt 500 eingebracht oder lokalisiert sein kann. Im Weiteren sprechen wir bei den Zeilen in Figur 5 vonAccording to the task, an optimized switchover between two operating modes of a processor unit with two integrated execution units is thus shown according to the invention, the identifier being able to be introduced or localized in a variety of ways in accordance with FIG. 5 in a program or data line section 500. In the following we speak of the lines in FIG. 5
Programmzeilen, wobei auch hier Programm- und Datenzeilen in beliebiger Kombination möglich sind.Program lines, whereby here too program and data lines are possible in any combination.
So sind in Figur 5 beispielhaft die Programme Pl von Zeile ZI bis Zeile Z6, P2 von Zeile Z7 bis Zeile Z15 und P3 von Zeile Z16 bis Zeile Z19 dargestellt. Mit AP ist einFor example, FIG. 5 shows the programs P1 from line ZI to line Z6, P2 from line Z7 to line Z15 and P3 from line Z16 to line Z19. With AP is a
Aufgabenprogramm beispielsweise als Teil eines Programmes Pl dargestellt, wobei auch mehrere Programme, z. B. Pl und P2, zusammen ein Aufgabenprogramm bilden können. Mit CB ist ein Codeblock dargestellt, also ein Programmteil, der beispielsweise Zeilen zweier Programme, hier Z14 bis ZI 8 der Programme P2 und P3 umfasst. Ebenso kann ein solcher Codeblock, also ein Programmteil nur Teil eines Programmes sein. Weiterhin ist mit PB3 entsprechend Zeile ZI 9 ein Programmbefehl dargestellt. Mit Zeilen ZS1 und ZS2 ist ein spezieller Speicherbereich SSB dargestellt, der als vorgegebener Speicherbereich eine solche Kennung, hier KB enthalten kann. Daneben sind mit Kl, K2, K3 und K4 sowie KB verschiedene Kennungen dargestellt, die den unterschiedlichen Möglichkeiten des erfindungsgemäßen Verfahrens Rechnung tragen. Bezüglich desTask program, for example, shown as part of a program P1, with several programs, eg. B. Pl and P2, together can form a task program. CB represents a code block, that is to say a program part which comprises, for example, lines of two programs, here Z14 to ZI 8 of programs P2 and P3. Likewise, such a code block, that is to say a program part, can only be part of a program. A program command is also shown with PB3 corresponding to line ZI 9. Lines ZS1 and ZS2 represent a special memory area SSB which can contain such an identifier, here KB, as a predetermined memory area. In addition, different identifiers are shown with K1, K2, K3 and K4 and KB, which take into account the different possibilities of the method according to the invention. Regarding the
Einsatzes der Kennung gibt es nun verschiedene Möglichkeiten: Zum Einen kann als Grundverarbeitungsmodus, also als Default-Modus der Sicherheitsmodus SM vorgesehen sein (ebenso natürlich der Leistungsmodus). Bei Vorhandensein einer Kennung wird dann entsprechend in den Leistungsmodus umgeschaltet (oder umgekehrt in den Sicherheitsmodus). Andererseits kann es erfindungsgemäß auch vorgesehen sein, dass grundsätzlich eine Kennung vorhanden sein muss und aus dem Inhalt der Kennung, also insbesondere deren Bitwertes auf den entsprechenden Modus geschlossen wird. Dabei ist dann beispielsweise ein Binärwert 1 (oder auch ein anderer Wert, insbesondere der dominante Wert) dem Sicherheitsmodus SM zugeordnet und der Binärwert 0 (oder auch ein anderer Wert insbesondere der rezessive Wert) dem Leistungsmodus LM. Bezüglich der Überlegung von dominant und rezessiv hat dies zur Folge, dass bei einem Fehler oder einem Ausfall in der Regel der dominante Wert und somit der Sicherheitsmodus eingestellt ist. Entsprechend Zeile Z4 ist nun mit Kennung Kl ein Binärwert Bl, also Kl/Bl vorhanden, welcher beispielsweise anzeigt, dass das Aufgabenprogramm der Zeilen Z4 bis Z6 im Programm Pl im Leistungsmodus abgearbeitet werden kann, obwohl beispielsweise Programm Pl im Sicherheitsmodus abgearbeitet werden muss. Wie den Kennungen Kl, K2 und K3 anzusehen, können diese unterschiedlich lang sein, so dass beispielsweise bei Kennung K2 gemäß Zeile Z7 3 Bit, Bl bis B3, die Kennung ausmachen, so dass zum Einen mit Bit B 1 bei K2 Sicherheitsmodus SM oder Leistungsmodus LM entschieden wird und beispielsweise die Bits B2 und B3 die Zeilenzahl angeben, für welche dieser Modus, beispielsweise der Sicherheitsmodus, gilt, so dass das gesamte Programm P2 oder auch nur ein Teil davon im Sicherheitsmodus abgearbeitet wird. Ebenso können Codeblöcke, also Programmteile, die beispielsweise keine Gesamtaufgabe umfassen, also kein Aufgabenprogramm darstellen, hier mit CB dargestellt, durch eine Kennung, wie hier K3 einem Modus zugeordnet werden. Hier kann dann neben der Betriebsmodizuordnung mit Bit Bl bei K3 beispielsweise auch eine Anfangszeile oder Adresse mit Bits B2 und B3 bei K3 und eine Endzeile oder Endadresse mit Bits B4 und B5 bei K3 angegeben sein, so dass ein spezieller Bereich in einem entsprechend zugeordneten Betriebsmodus abgearbeitet wird. Eine solche Kennungszuordnung kann gemäß K4 aber auch bei einzelnen Befehl PB3 in ZI 9 oder • auch bei jedem Befehl erfolgen. Wie dargestellt, können also diese Kennungen vollständigen Programmen oder Aufgabenprogrammen AP oder Programmteilen CB, oder auch einzelnen Programmbefehlen PB, hier PB3, zugeordnet sein, was dann eine entsprechende Umschaltung durch die Umschalteinrichtung 17 auslöst. Durch die Abfrage in Block 210 oder auch in den Blöcken 320 und 321 wird dann das Vorhandensein einer solchen Kennung Kl bis K4 oder KB überprüft respektive deren Inhalt umgeschaltet. Dabei kann die Kennung, wie hier dargestellt, als wenigstens ein Bit ausgebildet sein, aber auch mehrere Bits umfassen, zum Einen abhängig von der unterschiedlichen Anzahl der Betriebsmodi, zum Anderen bedingt durch Zusatzinformationen wie die Anzahl der Zeilen oder eine Anfangs- oder Endadresse.There are now various options for using the identifier: on the one hand, the security mode SM can be provided as the basic processing mode, that is to say as the default mode (likewise, of course, the performance mode). If an identifier is present, the system then switches to the power mode accordingly (or vice versa to the Security Mode). On the other hand, it can also be provided according to the invention that an identifier must be present in principle and that the corresponding mode is inferred from the content of the identifier, that is to say in particular its bit values. In this case, for example, a binary value 1 (or also another value, in particular the dominant value) is assigned to the safety mode SM and the binary value 0 (or also another value in particular the recessive value) to the power mode LM. With regard to the consideration of dominant and recessive, this means that the dominant value and thus the safety mode is usually set in the event of an error or failure. Corresponding to line Z4, there is now a binary value Bl, that is to say Kl / Bl, which identifies, for example, that the task program of lines Z4 to Z6 can be processed in program Pl in performance mode, although program Pl must be processed in safety mode, for example. As can be seen from the identifiers K1, K2 and K3, these can be of different lengths, so that, for example, in the case of identifier K2 according to line Z7, 3 bits, B1 to B3 make up the identifier, so that on the one hand with bit B1 in K2 security mode SM or power mode LM is decided and, for example, bits B2 and B3 indicate the number of lines to which this mode, for example the safety mode, applies, so that the entire program P2 or only a part thereof is processed in the safety mode. Likewise, code blocks, that is to say program parts which, for example, do not comprise an overall task, that is to say do not represent a task program, can be represented here with CB by an identifier, such as K3 here, being assigned to a mode. In addition to the operating mode assignment with bit B1 at K3, a start line or address with bits B2 and B3 at K3 and an end line or end address with bits B4 and B5 at K3 can also be specified here, so that a special area is processed in a correspondingly assigned operating mode becomes. According to K4, such an identification assignment can also take place for individual commands PB3 in ZI 9 or • also for each command. As shown, these identifiers can thus be assigned to complete programs or task programs AP or program parts CB, or also to individual program instructions PB, here PB3, which then triggers a corresponding switchover by the switchover device 17. The query in block 210 or in blocks 320 and 321 then checks for the presence of such an identifier K1 to K4 or KB or switches its content. The identifier, as shown here, can be designed as at least one bit, but can also comprise several bits, on the one hand depending on the different number of operating modes, on the other hand due to additional information such as the number of lines or a start or end address.
In einer speziellen Ausführungsform kann wenigstens ein Programmbefehl vorgesehen sein, hier PB1, PB2 oder auch PB3, der eine Kennung erst erzeugt, die anzeigt, ob im ersten oder zweiten Betriebsmodus abzuarbeiten ist. Dabei kann die Kennung in einem bestimmten Speicherbereich SSB eingeschrieben werden, wie hier mit KB in ZS2 dargestellt. Dieser Bereich SSB kann sich in einem Register, in einem in der CPU integrierten Speicher, aber auch in einem dazu externen Speicher befinden. Dabei kann als diese Kennung KB erzeugender Befehl ein Spezialbefehl, z. B. PB3 vorgesehen sein oder aber ein Befehl, der bereits im Befehlssatz der Prozessoreinheit vorhanden ist. Als Spezialbefehl kann somit beispielsweise eben ein Befehl "erzeuge Kennung" implementiert werden, oder es kann auf einen im Prozessorbefehlssatz bereits vorhandenen Befehl, insbesondere einen Schreibbefehl zurückgegriffen werden, wie hier durch PB 1 und PB2 dargestellt, so dass in Z9 der Schreibbefehl WR in denIn a special embodiment, at least one program command can be provided, here PB1, PB2 or even PB3, which first generates an identifier which indicates whether the first or second operating mode is to be processed. The identifier can be written into a specific memory area SSB, as shown here with KB in ZS2. This area SSB can be located in a register, in a memory integrated in the CPU, but also in an external memory. In this case, as a command generating this identifier KB, a special command, e.g. B. PB3 may be provided or a command that is already present in the command set of the processor unit. A command "generated identifier" can thus be implemented as a special command, for example, or a command that is already present in the processor command set, in particular a write command, can be used, as represented here by PB 1 and PB2, so that the write command WR in Z9 in FIG
Speicherbereich KB den Binärwert 0 einschreibt, dargestellt durch WR (KB: 0) und damit alle nachfolgenden Zeilen, solange die Kennung KBO ist, z. B. im Sicherheitsmodus abgearbeitet werden. Mit dem selben Befehl kann dann in Z12 bei PB2 durch WR (KB: 1) in den Speicherbereich für die Kennung KB der Wert 1 eingegeben werden, so dass ab diesem Zeitpunkt die nachfolgenden Zeilen, z. B. im Leistungsmodus, abarbeitbar sind. D. h. durch einfache kennungserzeugende Befehle insbesondere ein simpler Schreibbefehl WR kann dann beispielsweise in einem speziellen Speicherbereich, der regelmäßig abgefragt wird, eine entsprechende Umschaltkennung KB erzeugt werden.Memory area KB writes the binary value 0, represented by WR (KB: 0) and thus all subsequent lines as long as the identifier is KBO, e.g. B. processed in security mode. With the same command, the value 1 can then be entered in Z12 at PB2 by WR (KB: 1) in the memory area for the identifier KB, so that from this point on the following lines, e.g. B. in performance mode, can be processed. I.e. By means of simple identifier-generating commands, in particular a simple write command WR, a corresponding switchover identifier KB can then be generated, for example, in a special memory area which is queried regularly.
Damit sind eine Vielzahl erfindungsgemäßer Möglichkeiten dargestellt, eine Betriebsmodiumschaltung bei einer Prozessoreinheit mit zwei Ausführungseinheiten aufgrund einer Kennung durchzuführen. Damit sind die genannten Vorteile der Erfindung erzielbar. This represents a large number of possibilities according to the invention for carrying out an operating mode switch in a processor unit with two execution units on the basis of an identifier. The aforementioned advantages of the invention can thus be achieved.

Claims

Ansprüche Expectations
1. Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi (SM, LM) einer Prozessoreinheit (100, 101) mit wenigstens zwei Ausfϋhrungseinheiten (ALUA, ALUB) zur Abarbeitung von Programmen (Pl, P2, P3), dadurch gekennzeichnet, dass wenigstens den Programmen (Pl, P2, P3) wenigstens eine Kennung (K2) zugeordnet ist, welche eine1. A method for switching between at least two operating modes (SM, LM) of a processor unit (100, 101) with at least two execution units (ALUA, ALUB) for processing programs (P1, P2, P3), characterized in that at least the programs ( Pl, P2, P3) is assigned at least one identifier (K2) which one
Unterscheidung in die wenigstens zwei Betriebsmodi (SM, LM) erlaubt und eine Umschaltung zwischen den Betriebsmodi in Abhängigkeit von der Kennung (K1-K4, KB) erfolgt, so dass die Prozessoreinheit (100, 101) die Programme (Pl, P2, P3) entsprechend des zugeordneten Betriebsmodus abarbeitet.A distinction is made between the at least two operating modes (SM, LM) and the operating modes are switched depending on the identifier (K1-K4, KB), so that the processor unit (100, 101) programs (Pl, P2, P3) processed according to the assigned operating mode.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Programme (Pl, P2, P3) Aufgabenprogramme (AP) enthalten oder diese bilden und den einzelnen Aufgabenprogrammen (AP) jeweils die Kennung (Kl) zugeordnet ist.2. The method according to claim 1, characterized in that the programs (P1, P2, P3) contain or form task programs (AP) and the individual task programs (AP) are each assigned the identifier (Kl).
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Programme (Pl, P2,3. The method according to claim 1, characterized in that the programs (Pl, P2,
P3) aus einzelnen Programmteilen (CB) bestehen oder diese enthalten und den einzelnen Programmteilen (CB) jeweils die Kennung (K3) zugeordnet ist.P3) consist of individual program parts (CB) or contain these and each identifier (K3) is assigned to the individual program parts (CB).
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Programme (Pl, P2, P3) aus einzelnen Programmbefehlen (PB) bestehen und den einzelnen Programmbefehlen4. The method according to claim 1, characterized in that the programs (P1, P2, P3) consist of individual program instructions (PB) and the individual program instructions
(PB) jeweils die Kennung (K4) zugeordnet ist.(PB) is assigned the identifier (K4).
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Programme (Pl, P2, P3) zu einem Betriebssystem der Prozessoreinheit (100, 101) gehören oder das Betriebssystem darstellen.5. The method according to claim 1, characterized in that the programs (P1, P2, P3) belong to an operating system of the processor unit (100, 101) or that Represent operating system.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Programme (Pl, P2, P3) zur Steuerung von Betriebsabläufen eines Fahrzeugs eingesetzt werden.6. The method according to claim 1, characterized in that the programs (P1, P2, P3) are used to control the operating sequences of a vehicle.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein erster Betriebsmodus vorgesehen ist, der einem Sicherheitsmodus (SM) entspricht, bei dem die zwei Ausführungseinheiten (ALUA, ALUB) gleiche Programme (AP, P2) redundant abarbeiten.7. The method according to claim 1, characterized in that a first operating mode is provided which corresponds to a security mode (SM), in which the two execution units (ALUA, ALUB) redundantly process the same programs (AP, P2).
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass bei der Abarbeitung der8. The method according to claim 7, characterized in that when processing the
Programme (AP, P2) entstehende Zustände oder Ergebnisse (ResultA, ResultB) auf Übereinstimmung verglichen (14) werden und bei Abweichung auf Fehler erkannt wird.Programs (AP, P2), resulting states or results (ResultA, ResultB) are compared (14) and if there is a deviation, an error is recognized.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Programme (AP, P2) synchron abgearbeitet werden.9. The method according to claim 7, characterized in that the programs (AP, P2) are processed synchronously.
10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass im zweiten Betriebsmodus, der einem Leistungsmodus (LM) entspricht, jede Ausführungseinheit (ALUA, ALUB) unterschiedliche Programme (Pl, P2, P3) abarbeitet.10. The method according to claim 1, characterized in that in the second operating mode, which corresponds to a power mode (LM), each execution unit (ALUA, ALUB) processes different programs (Pl, P2, P3).
11. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Kennung (Kl, KB) als wenigstens ein Bit (Kl/Bl) ausgebildet ist.11. The method according to claim 1, characterized in that the identifier (Kl, KB) is designed as at least one bit (Kl / Bl).
12. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein Programmbefehl (PBl, PB2, PB3) vorgesehen ist der eine Kennung (KB) erzeugt, die anzeigt, ob im ersten oder zweiten Betriebsmodus abzuarbeiten ist.12. The method according to claim 1, characterized in that a program command (PBl, PB2, PB3) is provided which generates an identifier (KB) which indicates whether it is to be processed in the first or second operating mode.
13. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Kennung (KB) in einem bestimmten Speicherbereich (SSB) eingeschrieben ist.13. The method according to claim 1, characterized in that the identifier (KB) is written in a specific memory area (SSB).
14. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass die Kennung14. The method according to claim 12 or 13, characterized in that the identifier
(KB) durch einen in einem Befehlssatz der Prozessoreinheit vorgesehenen Befehl (PBl , PB2) erzeugt wird. (KB) is generated by an instruction (PB1, PB2) provided in an instruction set of the processor unit.
15. Verfahren nach einem der Ansprüche 12-14, dadurch gekennzeichnet, dass die Kennung (KB) durch einen Schreibbefehl (WR) erzeugt wird.15. The method according to any one of claims 12-14, characterized in that the identifier (KB) is generated by a write command (WR).
16. Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi (LM, SM) einer Prozessoreinheit (100, 101) zur Abarbeitung von Programmen (Pl, P2, P3) mit wenigstens zwei Ausführungseinheiten (ALUA, ALUB), wobei Umschaltmittel (8, 9) enthalten sind, durch welche umgeschalten werden kann, dadurch gekennzeichnet, dass diese Umschaltmittel (8, 9) wenigstens den Programmen (Pl, P2, P3) wenigstens eine Kennung (K1-K4, KB) zuordnen, welche eine Unterscheidung in die zwei Betriebsmodi (LM, SM) erlaubt und die Umschaltmittel (8, 9) derart ausgestaltet sind, dass diese in Abhängigkeit von der Kennung zwischen den Betriebsmodi umschalten und die Prozessoreinheit die Programme entsprechend des zugeordneten Betriebsmodus abarbeitet.16. Device for switching between at least two operating modes (LM, SM) of a processor unit (100, 101) for processing programs (P1, P2, P3) with at least two execution units (ALUA, ALUB), switching means (8, 9) being included through which switching can take place, characterized in that these switching means (8, 9) assign at least one program (P1, P2, P3) to at least one identifier (K1-K4, KB) which differentiates between the two operating modes (LM , SM) and the switching means (8, 9) are designed such that they switch between the operating modes depending on the identifier and the processor unit processes the programs in accordance with the assigned operating mode.
17. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass als wenigstens zwei Ausführungseinheiten entsprechend wenigstens duplizierte Rechenwerke (ALUA, ALUB) vorgesehen sind.17. The apparatus according to claim 16, characterized in that at least two execution units correspondingly at least duplicated arithmetic units (ALUA, ALUB) are provided.
18. Prozessoreinheit (100, 101) zur Abarbeitung von Programmen (Pl, P2, P3) mit wenigstens zwei Ausführungseinheiten (ALUA, ALUB), wobei Umschaltmittel (8, 9) enthalten sind, durch welche zwischen wenigstens zwei Betriebsmodi (LM, SM) der18. Processor unit (100, 101) for processing programs (P1, P2, P3) with at least two execution units (ALUA, ALUB), wherein switching means (8, 9) are included, by means of which between at least two operating modes (LM, SM) the
Prozessoreinheit umgeschalten werden kann, dadurch gekennzeichnet, dass diese Umschaltmittel (8, 9) wenigstens den Programmen (Pl, P2, P3) wenigstens eine Kennung (K1-K4, KB) zuordnen, welche eine Unterscheidung in die zwei Betriebsmodi (LM, SM) erlaubt und die Umschaltmittel (8, 9) derart ausgestaltet sind, dass diese in Abhängigkeit von der Kennung zwischen den Betriebsmodi umschalten und die Prozessoreinheit dieProcessor unit can be switched, characterized in that these switching means (8, 9) at least assign at least one program (P1, P2, P3) to an identifier (K1-K4, KB) which differentiates between the two operating modes (LM, SM) allowed and the switching means (8, 9) are designed such that they switch depending on the identifier between the operating modes and the processor unit
Programme entsprechend des zugeordneten Betriebsmodus abarbeitet. Executes programs according to the assigned operating mode.
EP04762699A 2003-10-24 2004-08-20 Method and device for switching between at least two operating modes of a processor unit Withdrawn EP1680736A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10349581A DE10349581A1 (en) 2003-10-24 2003-10-24 Method and device for switching between at least two operating modes of a processor unit
PCT/DE2004/001859 WO2005045664A2 (en) 2003-10-24 2004-08-20 Method and device for switching between at least two operating modes of a processor unit

Publications (1)

Publication Number Publication Date
EP1680736A2 true EP1680736A2 (en) 2006-07-19

Family

ID=34484989

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04762699A Withdrawn EP1680736A2 (en) 2003-10-24 2004-08-20 Method and device for switching between at least two operating modes of a processor unit

Country Status (7)

Country Link
US (1) US20070245133A1 (en)
EP (1) EP1680736A2 (en)
JP (1) JP2007508626A (en)
KR (1) KR20060103317A (en)
CN (1) CN1871581A (en)
DE (1) DE10349581A1 (en)
WO (1) WO2005045664A2 (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437641B1 (en) 2004-04-01 2008-10-14 Pmc-Sierra, Inc. Systems and methods for signature circuits
WO2006045780A1 (en) * 2004-10-25 2006-05-04 Robert Bosch Gmbh Method and device for separating the processing of program codes in a computer system comprising at least two execution units
KR20070062573A (en) * 2004-10-25 2007-06-15 로베르트 보쉬 게엠베하 Device and method for switching over in a computer system having at least two execution units
DE102005037223A1 (en) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Access mode units switching method for motor vehicle, involves providing set of defined bit combinations for execution units, and triggering switching by combination that is not defined in set
US20080313384A1 (en) * 2004-10-25 2008-12-18 Ralf Angerbauer Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units
JP2008518310A (en) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Method and apparatus for monitoring memory units in a multiprocessor system
CA2549540C (en) 2005-06-10 2008-12-09 Hitachi, Ltd. A task management control apparatus and method
DE102005037244A1 (en) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Method and device for controlling a computer system having at least two execution units and at least two groups of internal states
DE102005037230A1 (en) 2005-08-08 2007-02-15 Robert Bosch Gmbh Method and device for monitoring functions of a computer system
DE102005037228A1 (en) 2005-08-08 2007-02-15 Robert Bosch Gmbh Method and device for controlling a computer system
DE102005037260A1 (en) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Method and device for switching in a computer system having at least two execution units by means of bit information in a register
US20070088979A1 (en) * 2005-10-14 2007-04-19 Pomaranski Ken G Hardware configurable CPU with high availability mode
DE102005053681A1 (en) * 2005-11-10 2007-05-16 Bosch Gmbh Robert Method of using a memory
DE102005060898A1 (en) * 2005-12-20 2007-06-28 Robert Bosch Gmbh Data processing system with multiple execution units
DE102006048169A1 (en) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Method for monitoring the functionality of a controller
JP2008282178A (en) * 2007-05-09 2008-11-20 Toshiba Corp Industrial controller
EP2153328B1 (en) 2007-05-25 2011-08-10 Freescale Semiconductor, Inc. Data processing system, data processing method, and apparatus
US7865770B2 (en) 2008-01-10 2011-01-04 Advanced Micro Devices, Inc. Processor including efficient signature generation for logic error protection
US20090183035A1 (en) * 2008-01-10 2009-07-16 Butler Michael G Processor including hybrid redundancy for logic error protection
WO2009090502A1 (en) * 2008-01-16 2009-07-23 Freescale Semiconductor, Inc. Processor based system having ecc based check and access validation information means
JP4876093B2 (en) * 2008-03-31 2012-02-15 株式会社日立製作所 Control device task management device and control device task management method
US8373435B2 (en) 2008-09-30 2013-02-12 Freescale Semiconductor, Inc. Method and apparatus for handling an output mismatch
JP2010198131A (en) * 2009-02-23 2010-09-09 Renesas Electronics Corp Processor system and operation mode switching method for processor system
US8640108B2 (en) * 2009-12-31 2014-01-28 International Business Machines Corporation Method for managing hardware resources within a simultaneous multi-threaded processing system
CN102968354A (en) * 2012-11-13 2013-03-13 浪潮电子信息产业股份有限公司 Intel Brickland-EX platform-based same-frequency lock-step mode automatic switching method
GB2567190B (en) * 2017-10-05 2020-02-26 Advanced Risc Mach Ltd Error recovery for intra-core lockstep mode

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6772368B2 (en) * 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
DE10136335B4 (en) * 2001-07-26 2007-03-22 Infineon Technologies Ag Processor with several arithmetic units
US6947047B1 (en) * 2001-09-20 2005-09-20 Nvidia Corporation Method and system for programmable pipelined graphics processing with branching instructions
DE10317650A1 (en) * 2003-04-17 2004-11-04 Robert Bosch Gmbh Program-controlled unit and method
BRPI0411824A (en) * 2003-06-24 2006-08-08 Bosch Gmbh Robert process for switching between at least two modes of operation of a processing unit as well as a corresponding processing unit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2005045664A2 *

Also Published As

Publication number Publication date
KR20060103317A (en) 2006-09-28
CN1871581A (en) 2006-11-29
US20070245133A1 (en) 2007-10-18
WO2005045664A3 (en) 2006-02-23
DE10349581A1 (en) 2005-05-25
JP2007508626A (en) 2007-04-05
WO2005045664A2 (en) 2005-05-19

Similar Documents

Publication Publication Date Title
EP1680736A2 (en) Method and device for switching between at least two operating modes of a processor unit
WO2007057271A1 (en) Apparatus and method for eliminating errors in a system having at least two execution units with registers
WO2005003962A2 (en) Method for switching between at least two operating modes of a processor unit and corresponding processor unit
DE102005037246A1 (en) Method and device for controlling a computer system having at least two execution units and a comparison unit
WO2006045800A1 (en) Method and device for synchronising in a multi-processor system
EP2447843B1 (en) Method for verifying an application program of an error-free memory-programmable control device and memory-programmable control device for carrying out the method
EP1680737B1 (en) Method and device for operand processing in a processor unit
DE10332700A1 (en) Method for switching between at least two operating modes of a processor unit and corresponding processor unit
EP1043640A2 (en) Failsafe automationsystem with standard-CPU and method for a failsafe automationsystem
EP1955164A1 (en) Program-controlled unit and method for the operation thereof
EP1588380B1 (en) Method for the recognition and/or correction of memory access errors and electronic circuit arrangement for carrying out said method
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
WO2004092972A2 (en) Program-controlled unit and method
DE102004037713A1 (en) Method, operating system and computing device for executing a computer program
DE102013021231A1 (en) Method for operating an assistance system of a vehicle and vehicle control unit
EP1776636A2 (en) Method for registering errors and corresponding register
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
DE102004051991A1 (en) Method, operating system and computing device for executing a computer program
DE102005037245A1 (en) Method and device for controlling a computer system with at least two execution units
EP3841439A1 (en) Automation system for monitoring a safety-critical process
EP1433061A2 (en) Method for verifying the calculator core of a microprocessor or a microcontroller
EP2495625B1 (en) Method and programming system for the authentication of a security program of an automation device
WO2007017359A1 (en) Device and method for controlling a computer system
DE10148157A1 (en) Program controlled unit
WO2016045953A1 (en) Method for parallel processing of data in a computer system comprising a plurality of computer units and computer system comprising a plurality of computer units

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL HR LT LV MK

17P Request for examination filed

Effective date: 20060823

RBV Designated contracting states (corrected)

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 9/30 20060101ALI20060907BHEP

Ipc: G06F 9/38 20060101ALI20060907BHEP

Ipc: G06F 9/318 20060101AFI20060907BHEP

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20110301