EP1955164A1 - Program-controlled unit and method for the operation thereof - Google Patents

Program-controlled unit and method for the operation thereof

Info

Publication number
EP1955164A1
EP1955164A1 EP06807386A EP06807386A EP1955164A1 EP 1955164 A1 EP1955164 A1 EP 1955164A1 EP 06807386 A EP06807386 A EP 06807386A EP 06807386 A EP06807386 A EP 06807386A EP 1955164 A1 EP1955164 A1 EP 1955164A1
Authority
EP
European Patent Office
Prior art keywords
comparison unit
contents
registers
program
microprocessor cores
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
EP06807386A
Other languages
German (de)
French (fr)
Inventor
Bernd Mueller
Thomas Kottke
Yorck Collani
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 EP1955164A1 publication Critical patent/EP1955164A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Definitions

  • the present invention relates to a program-controlled unit with two redundantly operable microprocessor cores and to a method for operating such a unit.
  • Such program-controlled units are designed, for example, as microprocessors, microcontrollers, signal processors or the like.
  • a microcontroller or microprocessor has a microcontroller core or microprocessor core, the so-called core, one or more memories (program memory, data memory, etc.), peripheral components (oscillator, I / O ports, timers, AD converters, DA). Converters, communication interfaces) and an interrupt system, which are integrated together on a chip, and which are interconnected via one or more buses (internal, external data / address bus).
  • the structure and operation of such a program-controlled unit is widely known, so that it will not be discussed in more detail here.
  • the microcontroller core is the on-chip integrated central control unit (CPU) in the sense of a modular microcontroller concept. It essentially contains a more or less complex control unit, several registers (data,
  • a corruption of input-coupled operands can be done, for example, that the respective input date representing potential is higher or lower than intended. When exceeding or falling below a certain threshold, the potential representing a logical state can represent a different logical state than originally provided.
  • ALU arithmetic logic unit
  • the error detection takes place in the test mode by the same instructions or data are coupled in parallel in both arithmetic units.
  • the checksums of the data coupled into the two arithmetic units are formed. The respective checksum is compared with the checksum stored in a corresponding register and in the event of a corruption, the data is corrected and coupled again.
  • the two execution or arithmetic units of the microcontroller each produce a result that must coincide with the same coupled data.
  • the result data and / or their coding are compared with one another in a comparison unit. If they match, an enable signal is generated, otherwise it can be concluded that there is an error within one of the execution units or an incorrect coding of the result. It is possible to detect transient, permanent and runtime errors.
  • DE 103 17 651 A1 of the applicant discloses a method and a device for comparing binary data words for safety-relevant vehicle systems, such as ABS, ESP, steering and chassis regulations.
  • the starting point here is a dual-core computer, ie a microcontroller with two CPUs (central processing units) in which all functions are calculated redundantly and the respective output values are compared with one another. If the output values do not match, a corresponding error occurs
  • processor systems which have a single microcontroller core with two arithmetic units (see DE 103 17 650 A1).
  • a problem common to all two-processor systems discussed above is that the comparison units of the output data represent a possible single point of failure.
  • a faulty comparison unit results in an error being displayed despite correctly operating cores or arithmetic units. Worse is the case when due to a faulty comparison unit incorrectly operating cores or arithmetic units are not recognized, because the comparison unit signals no difference of the signals.
  • the comparison units are tested by the data path is separated at the input and externally data are created.
  • the inventive method for operating a program-controlled unit with two redundantly operable microprocessor cores according to claim 1 and a corresponding program-controlled unit according to claim 8 have over the known approaches to the advantage of a simplified comparator test, without increasing the chip area requirements.
  • the invention is based on a program-controlled unit with two redundantly operable microprocessor cores and a comparison unit connected downstream of these two cores.
  • a working register of different contents is provided in each of the two cores for the redundant operation. This is the only difference in this two-processor system.
  • the register contents are applied to the comparison unit in order to check whether the comparison unit signals a difference.
  • the contents of the register are placed on the data bus through load-store operations. Since the register contents are different, the comparison unit, insofar as it operates without error, must signal a difference at the latest when writing back the value to the memory.
  • the invention can be tested in a simple manner without increasing the space requirement in the chip, the comparison unit as a potential single point of failure.
  • a register of different content is provided in the two microprocessor cores, the contents of the respective working registers being processed by copying or copying the contents of the different ones Register is formed.
  • two different registers are to be provided in the microprocessor cores, for testing the comparison unit both processors, for example in lock mode, execute a program which first copies the contents of the different registers into the respective working registers. Subsequently, the content of each working register is written to a memory via the comparison unit, for example. If the comparison unit works correctly, it will generate an error signal because the contents of the working registers and the registers are different.
  • the content of the respective working registers can also be formed by otherwise processing the contents of the different registers.
  • the microprocessor cores If no change is to be made to standard processors, it is advantageous to provide the microprocessor cores with a datum of different value when they access a defined address in the address space. In this case, therefore, the contents of the respective working registers are provided by respective access to defined addresses of different contents.
  • the latter can belong to registers, which are located, for example, in the comparison unit.
  • registers in redundantly operable microprocessor cores can be used for the present invention.
  • dual-core processors dual cores / split / log processors
  • registers that allow the software in the separate operation Determine on which CPU (Core) it is currently running.
  • the contents of the working registers can in particular by applying the same logical link or operation can be changed to both registers.
  • Such a linkage with any other values, which are the same in the two processors makes it possible to generate any bit pattern and any bit pattern difference in the two microprocessor cores.
  • the errors that occur also include stucco and coupling errors. For Stuck-At errors, a line remains at a high or low voltage level, although the voltage level should already be lowered. This error can occur permanently or transiently (for a certain period of time).
  • Coupling errors are the skipping of a voltage level to a parallel line.
  • permutations with different numbers of "1” and "0" are necessary. For example, if the register content of the core 1 is "0001" and that of the core 2 is “0010", the register contents of the core 1 can be set to "0001” and that of the core 2 can be set to "0000” by the logical operation "AND 0001". while the logical operation of the latter register contents with the operator "NOT" gives the register contents "1110” for the core 1 and "1111” for the core 2 respectively.
  • Figure 1 shows schematically a first embodiment of the invention
  • FIG. 2 shows schematically an alternative embodiment of the invention.
  • FIG. 1 shows a possible embodiment of the invention.
  • the overall system 100 has two processors (cores) 110 and 120, each with a register 111 or 121, which have a different content. Both processors are connected to a comparison unit 130, which in turn via an interface 140 with other computer units such as memory or peripherals
  • the comparison unit compares only write operations or write and read operations of the processors for equality.
  • both processors execute a program in lock mode, which first inserts the register 111 or 121 into an operating mode. gister 112 or 122 copied. Subsequently, the content of this working register is written to the memory via the comparison unit 130 and the interface 140. If the comparison unit 130 is operating correctly, it will generate an error signal because the contents of the registers 112 and 122 are different, since the contents of the registers 111 and 121 are also different.
  • the value of registers 111 and 121, respectively, after being copied to the working register can be manipulated as previously described, for example, by using logical operations. If read operations are also compared by the comparison unit 130, a test takes place through the branch of the program control flow.
  • FIG. 2 describes an alternative embodiment of the invention.
  • the overall system 200 has two processors (cores) 210 and 220, each with a working register 212 or 222.
  • the processors are of identical construction and have no register with a different content.
  • Both processors are connected to a comparison unit 230, which in turn is again connected via an interface 240 to other computer units such as memory or peripherals (not shown).
  • the comparison unit 230 has two registers 231 and 232. Their contents are different.
  • the processors can copy (load) the contents of these registers into a working register by the processor accessing a defined address in the address space.
  • the comparison unit detects the access to this address and supplies the contents of the register 231 to the processor 210 and the contents of the register 232 to the processor 220. The access is not forwarded to the interface 240 in this case.
  • the comparison unit compares only write operations or write and read operations of the processors for equality. The remainder of the test procedure is identical to that described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

The invention relates to a method for operating a program-controlled unit with two redundantly operable microprocessor cores (110, 210; 120, 220) and a comparator unit (130, 230) which is mounted downstream from the two microprocessor cores. One respective working register (112, 212; 122, 222) having a different content is provided in the two microprocessor cores for redundant operation, the content of said working registers being fed to the downstream comparator unit (130, 230) in order to verify whether the comparator unit signals a difference.

Description

Programmgesteuerte Einheit und Verfahren zum Betreiben derselbigenProgram controlled unit and method of operating the same
Die vorliegende Erfindung betrifft eine programmgesteuerte Einheit mit zwei redundant betreibbaren Mikroprozessorkernen und ein Verfahren zum Betreiben einer solchen Einheit.The present invention relates to a program-controlled unit with two redundantly operable microprocessor cores and to a method for operating such a unit.
Derartige programmgesteuerte Einheiten sind beispielsweise als Mikroprozessoren, Mikrokontroller, Signalprozessoren oder dergleichen ausgebildet. Ein Mikro- kontroller oder Mikroprozessor weist einen Mikrokontrollerkern bzw. Mikroprozessorkern, den so genannten Core, einen oder mehrere Speicher (Programm- Speicher, Datenspeicher etc.), Peripheriekomponenten (Oszillator, I/O-Ports, Timer, AD-Wandler, DA-Wandler, Kommunikationsschnittstellen) und ein Interrupt-System auf, die gemeinsam auf einem Chip integriert sind, und die über einen bzw. mehrere Busse (interner, externer Daten-/Adressbus) miteinander verbunden sind. Der Aufbau und die Funktionsweise einer solchen programmge- steuerten Einheit ist vielfach bekannt, so dass hier nicht näher darauf eingegangen werden soll.Such program-controlled units are designed, for example, as microprocessors, microcontrollers, signal processors or the like. A microcontroller or microprocessor has a microcontroller core or microprocessor core, the so-called core, one or more memories (program memory, data memory, etc.), peripheral components (oscillator, I / O ports, timers, AD converters, DA). Converters, communication interfaces) and an interrupt system, which are integrated together on a chip, and which are interconnected via one or more buses (internal, external data / address bus). The structure and operation of such a program-controlled unit is widely known, so that it will not be discussed in more detail here.
Der Mikrokontrollerkern ist im Sinne eines modularen Mikrokontrollerkonzepts die On-Chip integrierte zentrale Steuereinheit (CPU). Er beinhaltet im wesentli- chen ein mehr oder weniger komplexes Steuerwerk, mehrere Register (Daten-,The microcontroller core is the on-chip integrated central control unit (CPU) in the sense of a modular microcontroller concept. It essentially contains a more or less complex control unit, several registers (data,
Adressregister), eine Bussteuereinheit und eine Recheneinheit, die die eigentli- che Daten verarbeitende Funktion übernimmt. Die an die Recheneinheit angelegten Eingangsdaten (Operanden) sowie die Ergebnisse der Berechnung durch die Recheneinheit können vor bzw. nach der Bearbeitung in eigens dafür vorgesehene Register oder Speicherstellen untergebracht sein. Sowohl bei der Verar- beitung der Operanden als auch beim Anlegen der Operanden kann es zu Fehlern kommen, die sich nachteilig auf das Ergebnis auswirken können. Eine Verfälschung eingangsseitig eingekoppelter Operanden kann beispielsweise dadurch geschehen, dass das jeweilige Eingangsdatum repräsentierende Potential höher oder niedriger ist als vorgesehen. Beim Über- bzw. Unterschreiten einer bestimmten Schwelle kann dann das einen logischen Zustand repräsentierende Potential einen anderen logischen Zustand darstellen als ursprünglich vorgesehen. Beispielsweise kann somit eine logische "1" zu einer logischen "0" geändert werden, wodurch das resultierende Ergebnis der Berechnung signifikant verfälscht werden kann. Auf der anderen Seite kann selbstverständlich eine falsche Berechnung durch die Recheneinheit zu solchen Ergebnisverfälschungen führen.Address register), a bus control unit and a computing unit, which accepts data processing function. The input data (operands) applied to the arithmetic unit as well as the results of the calculation by the arithmetic unit can be accommodated before or after processing in specially provided registers or memory locations. Both when processing the operands and when creating the operands, errors can occur that can have a detrimental effect on the result. A corruption of input-coupled operands can be done, for example, that the respective input date representing potential is higher or lower than intended. When exceeding or falling below a certain threshold, the potential representing a logical state can represent a different logical state than originally provided. For example, a logical "1" can thus be changed to a logical "0", whereby the resulting result of the calculation can be significantly falsified. On the other hand, of course, an incorrect calculation by the arithmetic unit can lead to such result distortions.
Stand der TechnikState of the art
Aus diesem Grunde sind moderne Mikroprozessorsysteme mit einem System zur Fehlererkennung oder Fehlerbeseitigung ausgestattet, mit denen ein Auftreten der Fehler identifiziert und angezeigt werden kann (Failure Identification) bzw. in Abhängigkeit von der Funktionalität des Systems Vorkehrungen für den Fall eines auftretenden Fehlers getroffen werden können. Eine Möglichkeit der Fehlererkennung besteht in der Verwendung einer redundanten Hardware, wobei statt eines Mikroprozessorkerns zwei Mikroprozessorkerne und eine den beiden Cores nachgeschaltete Vergleichseinheit zum Einsatz kommen. Bei derartigen Zweiprozessorsystemen (Dual-Cores) kann im redundanten Betrieb bei identischen Eingangsdaten mittels der genannten Vergleichseinheit bei Nichtüberein- stimmen der Ergebnisse der beiden Cores durch die Vergleichseinheit ein Feh- lersignal erzeugt werden. Ein solches Computersystem ist beispielsweise aus der WO 01/46806 bekannt.For this reason, modern microprocessor systems are equipped with a system for fault detection or error correction, with which the occurrence of the errors can be identified and displayed (Failure Identification) or, depending on the functionality of the system, provisions can be made in the event of an error occurring. One possibility of error detection is the use of a redundant hardware, wherein instead of a microprocessor core, two microprocessor cores and a comparison unit downstream of the two cores are used. In such two-processor systems (dual-cores), in the case of identical input data by means of said comparison unit, in the case of non-matching of the results of the two cores by the comparison unit, a fault can occur in redundant operation. be generated signal. Such a computer system is known for example from WO 01/46806.
Aus der DE 103 17 650 Al der Anmelderin sind ein Mikrokontroller mit Fehlerer- kennungssystem und ein Verfahren zum Betreiben des selbigen bekannt. Der Mikrokontroller weist hier einen einzelnen Mikrokontrollerkern (Core) auf, der seinerseits zwei Recheneinheiten (ALU = arithmetisch logische Einheit) zur Datenverarbeitung aufweist. Somit wird hier nicht der gesamte Mikrokontrollerkern redundant ausgeführt. Die benötigte Chipfläche kann hierdurch signifikant redu- ziert werden. Die Fehlererkennung erfolgt im Testbetrieb, indem gleiche Befehle oder Daten parallel in beide Recheneinheiten gekoppelt werden. Eingangsseitig werden die Prüfsummen der in die beiden Recheneinheiten eingekoppelten Daten gebildet. Die jeweilige Prüfsumme wird mit der in einem entsprechenden Register abgelegten Prüfsumme verglichen und bei einer Verfälschung werden die Daten korrigiert und nochmals eingekoppelt. Die beiden Ausführungs- oder Recheneinheiten des Mikrokontrollers erzeugen jeweils ein Ergebnis, das bei gleichen eingekoppelten Daten übereinstimmen muss. Die Ergebnisdaten und/oder deren Codierung (ECC- Prüfsumme) werden in einer Vergleichseinheit miteinander verglichen. Bei Übereinstimmung wird ein Freigabesignal erzeugt, andern- falls kann auf einen Fehler innerhalb einer der Ausführungseinheiten bzw. auf eine fehlerhafte Codierung des Ergebnisses geschlossen werden. Es ist möglich, transiente, permanente und Laufzeitfehler zu erkennen.DE 103 17 650 A1 of the applicant discloses a microcontroller with an error detection system and a method for operating the same. The microcontroller here has a single microcontroller core (core), which in turn has two arithmetic units (ALU = arithmetic logic unit) for data processing. Thus, not the entire microcontroller core is redundant here. The required chip area can thereby be significantly reduced. The error detection takes place in the test mode by the same instructions or data are coupled in parallel in both arithmetic units. On the input side, the checksums of the data coupled into the two arithmetic units are formed. The respective checksum is compared with the checksum stored in a corresponding register and in the event of a corruption, the data is corrected and coupled again. The two execution or arithmetic units of the microcontroller each produce a result that must coincide with the same coupled data. The result data and / or their coding (ECC checksum) are compared with one another in a comparison unit. If they match, an enable signal is generated, otherwise it can be concluded that there is an error within one of the execution units or an incorrect coding of the result. It is possible to detect transient, permanent and runtime errors.
Aus der DE 103 17 651 Al der Anmelderin sind ein Verfahren und eine Vorrich- tung zum Vergleichen von binären Datenworten für sicherheitsrelevante Fahrzeugsysteme, wie ABS, ESP, Lenk- und Fahrwerkregelungen, bekannt. Ausgegangen wird hier von einem Dual-Core- Rechner, also einem Mikrokontroller mit zwei CPUs (zentrale Recheneinheiten), in denen alle Funktionen redundant berechnet und die jeweiligen Ausgabewerte miteinander verglichen werden. Bei Nichtübereinstimmung der Ausgabewerte erfolgt eine dem Fehler entsprechendeDE 103 17 651 A1 of the applicant discloses a method and a device for comparing binary data words for safety-relevant vehicle systems, such as ABS, ESP, steering and chassis regulations. The starting point here is a dual-core computer, ie a microcontroller with two CPUs (central processing units) in which all functions are calculated redundantly and the respective output values are compared with one another. If the output values do not match, a corresponding error occurs
Systemreaktion, die auch ein Abschalten des Systems beinhalten kann. Um eine situationsgerechte Fehlerbehandlung zu realisieren, wird in der genannten Schrift vorgeschlagen, die höherwertigen Bits der Datenworte der Ausgabewerte getrennt von den niederwertigen Bits miteinander zu vergleichen. Hierdurch kann bei einer Nichtübereinstimmung der weniger signifikanten, niederwertigen Bits eine entsprechende Fehlerbehandlung erfolgen, bei der beispielsweise anstelle eines negativen Vergleichsergebnisses ein Ersatzwert weitergegeben wird, der bei Übereinstimmung der höherwertigen Bits der Datenworte insgesamt zu einem positiven Gesamtergebnis führt.System reaction, which can also include a shutdown of the system. To one To realize situation-appropriate error handling is proposed in the cited document to compare the high-order bits of the data words of the output values separated from the low-order bits with each other. In this way, in the case of a mismatching of the less significant, least significant bits, a corresponding error treatment can take place in which, for example, instead of a negative comparison result, a substitute value is passed which, if the higher-order bits of the data words match, results in a total positive result.
Obgleich die vorliegende Erfindung von zwei Prozessorsystemen (Dual-Cores) ausgeht, sollen damit auch Prozessorsysteme umfasst sein, die einen einzelnen Mikrokontrollerkern mit zwei Recheneinheiten aufweisen (vgl. DE 103 17 650 Al).Although the present invention is based on two processor systems (dual cores), it should also include processor systems which have a single microcontroller core with two arithmetic units (see DE 103 17 650 A1).
Ein allen oben behandelten Zweiprozessorsystemen gemeinsames Problem stellen die Vergleichseinheiten der Ausgangsdaten als möglichen Single Point of Failure dar. Eine fehlerhafte Vergleichseinheit führt dazu, dass trotz ordnungsgemäß arbeitender Cores bzw. Recheneinheiten ein Fehler angezeigt wird. Schlimmer ist der Fall, wenn aufgrund einer fehlerhaften Vergleichseinheit feh- lerhaft arbeitende Cores bzw. Recheneinheiten nicht erkannt werden, weil die Vergleichseinheit keine Differenz der Signale signalisiert.A problem common to all two-processor systems discussed above is that the comparison units of the output data represent a possible single point of failure. A faulty comparison unit results in an error being displayed despite correctly operating cores or arithmetic units. Worse is the case when due to a faulty comparison unit incorrectly operating cores or arithmetic units are not recognized, because the comparison unit signals no difference of the signals.
Bisher werden die Vergleichseinheiten getestet, indem der Datenpfad an deren Eingang aufgetrennt wird und extern Daten angelegt werden. Alternativ kann die Vergleichseinheit selbsttestend ausgelegt werden (TSC-Checker = Totally SeIf-So far, the comparison units are tested by the data path is separated at the input and externally data are created. Alternatively, the comparison unit can be designed to be self-testing (TSC checker = Totally Seif-
Checker), womit jedoch ein erhöhter Hardwareaufwand verbunden ist. Ein Umschalter vor dem Vergleicher, der verschiedene Daten nur zu Testzwecken einfügt, stellt selbst wiederum einen möglichen Single Point of Failure dar und sollte daher vermieden werden. Beispielsweise existiert dann das Problem, sicher- zustellen, dass die Zurückschaltung korrekt funktioniert. Es besteht folglich ein Bedarf, die genannten Vergleichseinheiten einfach zu testen, ohne dass eine Umschaltung des Datenpfades des Prozessors erfolgen muss.Checker), which, however, an increased hardware cost is connected. A switcher in front of the comparator, which inserts different data for test purposes only, is itself a possible single point of failure and should therefore be avoided. For example, there is the problem of ensuring that the reset works correctly. Consequently, there is a need to easily test said comparison units without having to switch the data path of the processor.
Vorteile der ErfindungAdvantages of the invention
Das erfindungsgemäße Verfahren zum Betreiben einer programmgesteuerten Einheit mit zwei redundant betreibbaren Mikroprozessorkernen gemäß Anspruch 1 sowie eine entsprechende programmgesteuerte Einheit gemäß Anspruch 8 weisen gegenüber den bekannten Lösungsansätzen den Vorteil eines vereinfachten Vergleichertests auf, ohne den Chipflächenbedarf zu erhöhen.The inventive method for operating a program-controlled unit with two redundantly operable microprocessor cores according to claim 1 and a corresponding program-controlled unit according to claim 8 have over the known approaches to the advantage of a simplified comparator test, without increasing the chip area requirements.
Die Erfindung geht von einer programmgesteuerten Einheit mit zwei redundant betreibbaren Mikroprozessorkernen und einer diesen beiden Kernen (Cores) nachgeschalteten Vergleichseinheit aus. Erfindungsgemäß wird für den redundanten Betrieb jeweils ein Arbeitsregister unterschiedlichen Inhalts in den beiden Cores vorgesehen. Dies ist die einzige Differenz bei diesem Zweiprozessorsystem. Der Registerinhalt wird an die Vergleichseinheit gelegt, um zu prüfen, ob die Vergleichseinheit eine Differenz signalisiert. In der Praxis wird der Register- inhalt durch Load-Store-Operationen auf den Datenbus gelegt. Da die Registerinhalte verschieden sind, muss die Vergleichseinheit, soweit sie fehlerfrei arbeitet, spätestens beim Zurückschreiben des Wertes in den Speicher eine Differenz signalisieren.The invention is based on a program-controlled unit with two redundantly operable microprocessor cores and a comparison unit connected downstream of these two cores. According to the invention, a working register of different contents is provided in each of the two cores for the redundant operation. This is the only difference in this two-processor system. The register contents are applied to the comparison unit in order to check whether the comparison unit signals a difference. In practice, the contents of the register are placed on the data bus through load-store operations. Since the register contents are different, the comparison unit, insofar as it operates without error, must signal a difference at the latest when writing back the value to the memory.
Durch die Erfindung kann in einfacher Weise ohne Erhöhung des Platzbedarfs im Chip die Vergleichseinheit als möglicher Single Point of Failure getestet werden.The invention can be tested in a simple manner without increasing the space requirement in the chip, the comparison unit as a potential single point of failure.
Es ist vorteilhaft, wenn jeweils ein Register unterschiedlichen Inhalts in den bei- den Mikroprozessorkernen vorgesehen wird, wobei der Inhalt der jeweiligen Arbeitsregister durch Verarbeiten oder Kopieren der Inhalte der unterschiedlichen Register gebildet wird. In diesem Fall sind zwei unterschiedliche Register in den Mikroprozessorkernen vorzusehen, wobei zum Test der Vergleichseinheit beide Prozessoren beispielsweise im Lock-Modus ein Programm ausführen, welches zuerst die Inhalte der unterschiedlichen Register in die jeweiligen Arbeitsregister kopiert. Anschließend wird der Inhalt eines jeden Arbeitsregisters über die Vergleichseinheit beispielsweise in einen Speicher geschrieben. Arbeitet die Vergleichseinheit korrekt, wird diese ein Fehlersignal generieren, da der Inhalt der Arbeitsregister und der Register verschieden ist. Anstelle des genannten Kopiervorgangs kann der Inhalt der jeweiligen Arbeitsregister auch durch anderweitiges Verarbeiten der Inhalte der unterschiedlichen Register gebildet werden.It is advantageous if in each case a register of different content is provided in the two microprocessor cores, the contents of the respective working registers being processed by copying or copying the contents of the different ones Register is formed. In this case, two different registers are to be provided in the microprocessor cores, for testing the comparison unit both processors, for example in lock mode, execute a program which first copies the contents of the different registers into the respective working registers. Subsequently, the content of each working register is written to a memory via the comparison unit, for example. If the comparison unit works correctly, it will generate an error signal because the contents of the working registers and the registers are different. Instead of the copying process mentioned, the content of the respective working registers can also be formed by otherwise processing the contents of the different registers.
Soll an Standardprozessoren keine Änderung vorgenommen werden, so ist es vorteilhaft, den Mikroprozessorkernen ein Datum unterschiedlichen Wertes zu liefern, wenn sie auf eine definierte Adresse im Adressraum zugreifen. In diesem Fall wird folglich der Inhalt der jeweiligen Arbeitsregister durch jeweiligen Zugriff auf definierte Adressen unterschiedlichen Inhalts geliefert. Letztere können zu Registern gehören, die beispielsweise in der Vergleichseinheit liegen.If no change is to be made to standard processors, it is advantageous to provide the microprocessor cores with a datum of different value when they access a defined address in the address space. In this case, therefore, the contents of the respective working registers are provided by respective access to defined addresses of different contents. The latter can belong to registers, which are located, for example, in the comparison unit.
In vorteilhafter Weise können bereits vorhandene Register bei redundant betreibbaren Mikroprozessorkernen für die vorliegende Erfindung verwendet werden. Bei Dual-Core Prozessoren (Dual-Cores/Split/Log- Prozessoren), die in einer ersten Betriebsart unabhängig voneinander, in einer zweiten Betriebsart redundant betrieben werden können, existieren in der Regel Register, die im getrennten Betrieb es der Software ermöglichen, zu ermitteln, auf welcher CPU (Core) sie gerade ausgeführt wird. Beim Umschalten in den redundanten Betrieb bleiben die Registerinhalte erhalten und sind somit unterschiedlich.Advantageously, existing registers in redundantly operable microprocessor cores can be used for the present invention. In dual-core processors (dual cores / split / log processors), which can be operated redundantly in a first operating mode, in a second operating mode redundant, there are usually registers that allow the software in the separate operation Determine on which CPU (Core) it is currently running. When switching to redundant operation, the register contents are retained and are therefore different.
Um eine möglichst vollständige Fehlerdetektion gewährleisten zu können, ist es vorteilhaft, die Inhalte der beiden Arbeitsregister zu verändern, wobei nach einer Änderung die Inhalte unterschiedlich bleiben. Hierzu können die Inhalte der Arbeitsregister insbesondere durch Anwenden derselben logischen Verknüpfung bzw. Operation auf beide Register verändert werden. Eine solche Verknüpfung mit beliebigen anderen Werten, die ja in den beiden Prozessoren gleich sind, ermöglicht das Erzeugen eines jeglichen Bitmusters und einer jeglichen Bitmusterdifferenz in den beiden Mikroprozessorkernen. Somit ist ein vollständiger Test der Vergleichseinheit möglich. Zu den auftretenden Fehlern gehören auch Stuck- At und Kopplungsfehler. Bei den Stuck- At- Fehlern bleibt eine Leitung auf einem hohen oder niedrigen Spannungspegel, obwohl der Spannungspegel bereits herabgesetzt bzw. heraufgesetzt sein sollte. Dieser Fehler kann permanent oder transient (für einen bestimmten Zeitraum) auftreten. Unter Kopplungsfehlern versteht man das Überspringen eines Spannungspegels auf eine parallele Leitung. Um sämtliche Fehler zuverlässig testen zu können, sind Permutationen (mit unterschiedlicher Anzahl von "1" und "0") notwendig. Ist der Registerinhalt des Cores 1 beispielsweise "0001" und derjenige des Cores 2 "0010", so kann durch die logische Operation "AND 0001" der Registerinhalt des Cores 1 auf "0001" und derjenige des Cores 2 auf "0000" gesetzt werden, während die logische Operation der zuletzt genannten Registerinhalte mit dem Operator "NOT" die Registerinhalte "1110" für den Core 1 bzw. "1111" für den Core 2 ergibt.In order to ensure the most complete error detection, it is advantageous to change the contents of the two work registers, after a change, the contents remain different. For this purpose, the contents of the working registers can in particular by applying the same logical link or operation can be changed to both registers. Such a linkage with any other values, which are the same in the two processors, makes it possible to generate any bit pattern and any bit pattern difference in the two microprocessor cores. Thus, a complete test of the comparison unit is possible. The errors that occur also include stucco and coupling errors. For Stuck-At errors, a line remains at a high or low voltage level, although the voltage level should already be lowered. This error can occur permanently or transiently (for a certain period of time). Coupling errors are the skipping of a voltage level to a parallel line. In order to be able to reliably test all errors, permutations (with different numbers of "1" and "0") are necessary. For example, if the register content of the core 1 is "0001" and that of the core 2 is "0010", the register contents of the core 1 can be set to "0001" and that of the core 2 can be set to "0000" by the logical operation "AND 0001". while the logical operation of the latter register contents with the operator "NOT" gives the register contents "1110" for the core 1 and "1111" for the core 2 respectively.
Für den Fachmann ist demnach ersichtlich, dass beliebige Registerinhalte her- gestellt werden können.It will thus be apparent to those skilled in the art that arbitrary register contents can be produced.
Es kann sinnvoll sein, eine weitere Vergleichseinheit nämlich für Lesezugriffe von Instruktionen oder Daten vorzusehen, wobei eine derartige Vergleichseinheit wiederum einen Single Point of Failure darstellt. Zum Testen einer solchen Ver- gleichseinheit werden die an die beiden Mikroprozessorkerne geleiteten Instruktionen oder Daten durch Programmverzweigungen verändert, um zu prüfen, ob die Vergleichseinheit für Lesezugriffe eine Differenz signalisiert. Durch eine solche Sprungoperation wird beispielsweise die an den Core 1 geleitete Instruktion für den Core 2 auf eine andere Stelle gesetzt, so dass die Vergleichseinheit für Lesezugriffe bei fehlerfreiem Betrieb feststellen muss, dass an die beiden Cores unterschiedliche Instruktionen geleitet werden. Die obigen Ausführungen zur Erfindung sind in gleicher Weise für die beanspruchte programmgesteuerte Einheit mit zwei redundant betreibbaren Mikroprozessorkernen und eine den beiden Mikroprozessorkernen nachgeschalteten Vergleichseinheit gültig. Zur Vermeidung von Wiederholungen sei auf das Obige verwiesen. Weiterhin sei betont, dass die Merkmale der vorliegenden Erfindung nicht nur in der angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung eingesetzt werden können.It may be useful to provide a further comparison unit for read accesses of instructions or data, such a comparison unit once again representing a single point of failure. In order to test such a comparison unit, the instructions or data routed to the two microprocessor cores are modified by program branches in order to check whether the read access comparison unit signals a difference. By means of such a jump operation, for example, the instruction for the core 2 directed to the core 1 is set to a different location, so that the comparison unit must determine for read accesses during fault-free operation that different instructions are routed to the two cores. The above embodiments of the invention are equally valid for the claimed program-controlled unit with two redundantly operable microprocessor cores and a comparison unit connected downstream of the two microprocessor cores. To avoid repetition, reference is made to the above. Furthermore, it should be emphasized that the features of the present invention can be used not only in the specified combination, but also in other combinations or in isolation.
Zeichnungendrawings
Im Folgenden soll ein Ausführungsbeispiel die Erfindung und deren Vorteile anhand der beigefügten Zeichnung näher erläutern.In the following, an embodiment will explain the invention and its advantages with reference to the accompanying drawings.
Figur 1 zeigt schematisch eine erste Ausführungsform der Erfindung undFigure 1 shows schematically a first embodiment of the invention and
Figur 2 zeigt schematisch eine alternative Ausführungsform der Erfindung.Figure 2 shows schematically an alternative embodiment of the invention.
Beschreibung der AusführungsbeispieleDescription of the embodiments
Figur 1 zeigt eine mögliche Ausführungsform der Erfindung. Das Gesamtsystem 100 besitzt zwei Prozessoren (Cores) 110 und 120 mit jeweils einem Register 111 bzw. 121, die einen unterschiedlichen Inhalt aufweisen. Beide Prozessoren sind mit einer Vergleichseinheit 130 verbunden, die ihrerseits wieder über eine Schnittstelle 140 mit übrigen Rechnereinheiten wie Speicher oder PeripherieFigure 1 shows a possible embodiment of the invention. The overall system 100 has two processors (cores) 110 and 120, each with a register 111 or 121, which have a different content. Both processors are connected to a comparison unit 130, which in turn via an interface 140 with other computer units such as memory or peripherals
(nicht eingezeichnet) verbunden ist. Je nach Ausführung vergleicht die Vergleichseinheit nur Schreiboperationen oder Schreib- und Leseoperationen der Prozessoren auf Gleichheit.(not shown) is connected. Depending on the implementation, the comparison unit compares only write operations or write and read operations of the processors for equality.
Zum Test der Vergleichseinheit 130 führen beide Prozessoren im Lock-Modus ein Programm aus, welches zuerst das Register 111 bzw. 121 in ein Arbeitsre- gister 112 bzw. 122 kopiert. Anschließend wird der Inhalt dieses Arbeitsregisters über die Vergleichseinheit 130 und die Schnittstelle 140 in den Speicher geschrieben. Arbeitet die Vergleichseinheit 130 korrekt, wird diese ein Fehlersignal generieren, da der Inhalt der Register 112 und 122 verschieden sind, da ja auch der Inhalt der Register 111 und 121 verschieden ist. Zum vollständigen Test der Vergleichseinheit 130 kann der Wert von Register 111 bzw. 121 nach dem Kopieren in das Arbeitsregister wie zuvor beschrieben, beispielsweise durch Anwendung logischer Operationen, manipuliert werden. Werden auch Leseoperationen durch die Vergleichseinheit 130 verglichen, so findet ein Test durch die Verzweigung des Programmkontrollflusses statt.For testing the comparison unit 130, both processors execute a program in lock mode, which first inserts the register 111 or 121 into an operating mode. gister 112 or 122 copied. Subsequently, the content of this working register is written to the memory via the comparison unit 130 and the interface 140. If the comparison unit 130 is operating correctly, it will generate an error signal because the contents of the registers 112 and 122 are different, since the contents of the registers 111 and 121 are also different. For complete testing of the compare unit 130, the value of registers 111 and 121, respectively, after being copied to the working register can be manipulated as previously described, for example, by using logical operations. If read operations are also compared by the comparison unit 130, a test takes place through the branch of the program control flow.
Figur 2 beschreibt eine alternative Ausführungsform der Erfindung. Das Gesamtsystem 200 besitzt zwei Prozessoren (Cores) 210 und 220 mit jeweils einem Arbeitsregister 212 bzw. 222. Im Gegensatz zum System 100 sind die Pro- zessoren identisch aufgebaut und besitzen kein Register mit einem unterschiedlichen Inhalt. Beide Prozessoren sind mit einer Vergleichseinheit 230 verbunden, die ihrerseits wieder über eine Schnittstelle 240 mit übrigen Rechnereinheiten wie Speicher oder Peripherie (nicht eingezeichnet) verbunden ist. Die Vergleichseinheit 230 besitzt zwei Register 231 und 232. Deren Inhalt ist verschie- den. Die Prozessoren können den Inhalt dieser Register in ein Arbeitsregister kopieren (laden) indem der Prozessor auf eine definierte Adresse im Adressraum zugreift. Die Vergleichseinheit detektiert den Zugriff auf diese Adresse und liefert für den Prozessor 210 den Inhalt des Registers 231 und für den Prozessor 220 den Inhalt des Register 232. Der Zugriff wird in diesem Fall nicht an die Schnitt- stelle 240 weitergeleitet. Je nach Ausführung vergleicht die Vergleichseinheit nur Schreiboperationen oder Schreib- und Leseoperationen der Prozessoren auf Gleichheit. Der Rest des Testverfahrens ist identisch zu dem zuvor geschildert. Figure 2 describes an alternative embodiment of the invention. The overall system 200 has two processors (cores) 210 and 220, each with a working register 212 or 222. In contrast to the system 100, the processors are of identical construction and have no register with a different content. Both processors are connected to a comparison unit 230, which in turn is again connected via an interface 240 to other computer units such as memory or peripherals (not shown). The comparison unit 230 has two registers 231 and 232. Their contents are different. The processors can copy (load) the contents of these registers into a working register by the processor accessing a defined address in the address space. The comparison unit detects the access to this address and supplies the contents of the register 231 to the processor 210 and the contents of the register 232 to the processor 220. The access is not forwarded to the interface 240 in this case. Depending on the implementation, the comparison unit compares only write operations or write and read operations of the processors for equality. The remainder of the test procedure is identical to that described above.

Claims

Ansprüche claims
1. Verfahren zum Betreiben einer programmgesteuerten Einheit mit zwei redundant betreibbaren Mikroprozessorkernen (110, 210; 120, 220) und einer den beiden Mikroprozessorkernen nachgeschalteten Vergleichseinheit (130, 230), wobei für den redundanten Betrieb jeweils ein Arbeitsregister1. A method for operating a program-controlled unit with two redundantly operable microprocessor cores (110, 210, 120, 220) and a comparison of the two microprocessor cores comparison unit (130, 230), wherein for the redundant operation in each case a working register
(112, 212; 122, 222) unterschiedlichen Inhalts in den beiden Mikroprozessorkernen vorgesehen wird, und wobei der Inhalt dieser Arbeitsregister an die nachgeschaltete Vergleichseinheit (130, 230) gelegt wird, um zu prüfen, ob die Vergleichseinheit eine Differenz signalisiert.(112, 212, 122, 222) of different content in the two microprocessor cores, and wherein the contents of these working registers are applied to the downstream comparison unit (130, 230) to check whether the comparison unit signals a difference.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jeweils ein Register (111, 121) unterschiedlichen Inhalts in den beiden Mikroprozessorkernen (110, 120) vorgesehen wird, wobei der Inhalt der jeweiligen Arbeitsregister (112, 122) durch Verarbeiten oder Kopieren der Inhalte der unter- schiedlichen Register (111, 121) gebildet wird.2. The method according to claim 1, characterized in that in each case a register (111, 121) of different content in the two microprocessor cores (110, 120) is provided, wherein the content of the respective working registers (112, 122) by processing or copying the contents the different registers (111, 121) is formed.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Inhalt der jeweiligen Arbeitsregister (212, 222) durch jeweiligen Zugriff auf definierte Adressen unterschiedlichen Inhalts geliefert wird.3. The method according to claim 1, characterized in that the content of the respective working registers (212, 222) is supplied by respective access to defined addresses of different content.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Adressen unterschiedlichen Inhalts zu Register (231, 232) gehören, die in der Vergleichseinheit (230) liegen. Method according to claim 3, characterized in that the addresses of different content belong to registers (231, 232) located in the comparison unit (230).
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Inhalte der beiden Arbeitsregister derart verändert werden, dass nach einer Änderung die Inhalte der Arbeitsregister unterschiedlich bleiben.5. The method according to any one of claims 1 to 4, characterized in that the contents of the two working registers are changed such that after a change, the contents of the working registers remain different.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Inhalte der Arbeitsregister durch Anwenden derselben logischen Verknüpfung auf die Arbeitsregister verändert werden.A method according to claim 5, characterized in that the contents of the working registers are changed by applying the same logical link to the working registers.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass eine weitere Vergleichseinheit für Lesezugriffe von Instruktionen oder7. The method according to any one of claims 1 to 6, characterized in that a further comparison unit for read accesses of instructions or
Daten vorgesehen wird, wobei die an die beiden Mikroprozessorkerne geleiteten Instruktionen bzw. Daten durch Programmverzweigungen verändert werden, um zu prüfen, ob die Vergleichseinheit für Lesezugriffe eine Differenz signalisiert.Data is provided, wherein the instructions or data passed to the two microprocessor cores are changed by program branches to check whether the comparison unit for reading access signals a difference.
8. Programmgesteuerte Einheit mit zwei redundant betreibbaren Mikroprozessorkernen (110, 210; 120, 220) und einer den beiden Mikroprozessorkernen nachgeschalteten Vergleichseinheit (130, 230), wobei für den redundanten Betrieb jeweils ein Arbeitsregister (112, 212; 122, 222) unter- schiedlichen Inhalts in den beiden Mikroprozessorkernen vorgesehen ist, und wobei Mittel vorgesehen sind, um den Inhalt dieser Arbeitsregister an die nachgeschaltete Vergleichseinheit (130, 230) zu legen, um zu prüfen, ob die Vergleichseinheit eine Differenz signalisiert.8. A program-controlled unit having two microprocessor cores (110, 210, 120, 220) which can be operated redundantly and a comparison unit (130, 230) connected downstream of the two microprocessor cores, a respective working register (112, 212, 122, 222) being provided for redundant operation. different content is provided in the two microprocessor cores, and wherein means are provided for applying the contents of these working registers to the downstream comparison unit (130, 230) in order to check whether the comparison unit signals a difference.
9. Programmgesteuerte Einheit nach Anspruch 8, dadurch gekennzeichnet, dass in den beiden Mikroprozessorkernen (110, 120) jeweils ein Register (111, 121) unterschiedlichen Inhalts vorgesehen ist, um den Inhalt der jeweiligen Arbeitsregister (112, 122) durch Verarbeiten der Inhalte der unterschiedlichen Register (11, 121) zu bilden. 9. A program controlled unit according to claim 8, characterized in that in the two microprocessor cores (110, 120) each have a register (111, 121) of different content is provided to the contents of the respective working registers (112, 122) by processing the contents of different registers (11, 121) to form.
10. Programmgesteuerte Einheit nach Anspruch 8, dadurch gekennzeichnet, dass in der Vergleichseinheit (230) zwei Register (231, 232) unterschiedlichen Inhalts vorgesehen sind, wobei deren Inhalt durch Zugriff auf entsprechend definierte Adressen in die Arbeitsregister (212, 222) der Mikropro- zessorkerne (210, 220) zu laden sind.10. Program-controlled unit according to claim 8, characterized in that in the comparison unit (230) two registers (231, 232) of different content are provided, the contents of which by accessing correspondingly defined addresses in the working registers (212, 222) of the micropro cores (210, 220) are to be loaded.
11. Programmgesteuerte Einheit nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass Mittel vorgesehen sind, um den jeweiligen Inhalt der beiden Arbeitsregister zu verändern, wobei auch nach einer solchen Ände- rung die Registerinhalte voneinander unterschiedlich sind.11. A program-controlled unit according to one of claims 8 to 10, characterized in that means are provided for changing the respective contents of the two working registers, whereby the register contents are different from each other even after such a change.
12. Programmgesteuerte Einheit nach einem der Ansprüche 8 bis 11, dadurch gekennzeichnet, dass eine weitere Vergleichseinheit für Lesezugriffe von Instruktionen oder Daten vorgesehen ist, und dass Mittel vorgesehen sind, um die Instruktionen bzw. Daten durch Programmverzweigungen zu verändern, um zu prüfen, ob die Vergleichseinheit für Lesezugriffe eine Differenz signalisiert. A program-controlled unit according to any one of claims 8 to 11, characterized in that a further comparison unit is provided for read accesses of instructions or data, and means are provided for modifying the instructions or data by program branches to check whether the comparison unit for read access signals a difference.
EP06807386A 2005-11-16 2006-10-18 Program-controlled unit and method for the operation thereof Withdrawn EP1955164A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005054587A DE102005054587A1 (en) 2005-11-16 2005-11-16 Program controlled unit and method of operating the same
PCT/EP2006/067555 WO2007057270A1 (en) 2005-11-16 2006-10-18 Program-controlled unit and method for the operation thereof

Publications (1)

Publication Number Publication Date
EP1955164A1 true EP1955164A1 (en) 2008-08-13

Family

ID=37727090

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06807386A Withdrawn EP1955164A1 (en) 2005-11-16 2006-10-18 Program-controlled unit and method for the operation thereof

Country Status (6)

Country Link
US (1) US20100017579A1 (en)
EP (1) EP1955164A1 (en)
JP (1) JP2009516276A (en)
KR (1) KR20080067663A (en)
DE (1) DE102005054587A1 (en)
WO (1) WO2007057270A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005055067A1 (en) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Device and method for correcting errors in a system having at least two execution units with registers
EP2266010A2 (en) * 2008-04-09 2010-12-29 Nxp B.V. A method and system for power management
KR101600951B1 (en) 2009-05-18 2016-03-08 삼성전자주식회사 Solid state drive device
KR101978984B1 (en) * 2013-05-14 2019-05-17 한국전자통신연구원 Apparatus and method for detecting fault of processor
JP6274947B2 (en) * 2014-03-31 2018-02-07 日立オートモティブシステムズ株式会社 Abnormality diagnosis method for microprocessor of in-vehicle control device
DE202016007417U1 (en) * 2016-12-03 2018-03-06 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Control of redundant processing units
CN111190774B (en) * 2019-12-26 2023-04-14 北京时代民芯科技有限公司 Configurable dual-mode redundancy structure of multi-core processor
DE102020104595B3 (en) * 2020-02-21 2021-05-12 Infineon Technologies Ag Integrated circuit with self-test circuit, method for operating an integrated circuit with self-test circuit, multi-core processor device and method for operating a multi-core processor device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4438494A (en) * 1981-08-25 1984-03-20 Intel Corporation Apparatus of fault-handling in a multiprocessing system
US4967347A (en) * 1986-04-03 1990-10-30 Bh-F (Triplex) Inc. Multiple-redundant fault detection system and related method for its use
US4835459A (en) * 1986-05-16 1989-05-30 Hughes Aircraft Company Automatic fault insertion system (AFIS)
IT1213344B (en) * 1986-09-17 1989-12-20 Honoywell Information Systems FAULT TOLERANCE CALCULATOR ARCHITECTURE.
US5276690A (en) * 1992-01-30 1994-01-04 Intel Corporation Apparatus utilizing dual compare logic for self checking of functional redundancy check (FRC) logic
US6408402B1 (en) * 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
US7490237B1 (en) * 2003-06-27 2009-02-10 Microsoft Corporation Systems and methods for caching in authentication systems
DE102005055067A1 (en) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Device and method for correcting errors in a system having at least two execution units with registers

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US20100017579A1 (en) 2010-01-21
JP2009516276A (en) 2009-04-16
KR20080067663A (en) 2008-07-21
DE102005054587A1 (en) 2007-05-24
WO2007057270A1 (en) 2007-05-24

Similar Documents

Publication Publication Date Title
EP1810145B1 (en) Method and device for synchronising in a multi-processor system
EP1917592B1 (en) Computer system with at least two execution units and a comparison unit and method for controlling the same
WO2007057270A1 (en) Program-controlled unit and method for the operation thereof
WO2007057271A1 (en) Apparatus and method for eliminating errors in a system having at least two execution units with registers
DE102011112174B4 (en) Device and method for the protection and non-destructive testing of security-related registers
EP0104635A2 (en) Digital computer test method and configuration
DE10349581A1 (en) Method and device for switching between at least two operating modes of a processor unit
DE102005037230A1 (en) Method and device for monitoring functions of a computer system
DE102011011333B4 (en) Read to peripherals and write from peripherals with time-separated, redundant processor execution
DE10317650A1 (en) Program-controlled unit and method
DE102019131865A1 (en) METHOD AND DEVICE FOR SELF-DIAGNOSTICING THE RAM ERROR DETECTION LOGIC OF A DRIVELINE CONTROLLER
WO2005078586A2 (en) Method and device for analyzing integrated systems for critical safety computing systems in motor vehicles
DE102006036386A1 (en) Microprocessor system for controlling or regulating at least partially safety-critical processes
DE102004037713A1 (en) Method, operating system and computing device for executing a computer program
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
DE102007040721A1 (en) Data processing arrangement comprises coding device, which is adjusted to assign codeword to data item to be stored in memory element based on signal information
DE102004051966A1 (en) Method, operating system and computing device for executing a computer program
DE102005037226A1 (en) Method and device for determining a start state in a computer system having at least two execution units by marking registers
EP1433061B1 (en) Method for verifying the calculator core of a microprocessor or a microcontroller
DE102005037245A1 (en) Method and device for controlling a computer system with at least two execution units
DE102018219700B4 (en) Control device
DE102019208129B4 (en) Electronic control unit
DE102022121708A1 (en) SEMICONDUCTOR DEVICE
DE102005037259A1 (en) Method and device for determining a start state in a computer system having at least two execution units by switching register sets

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

17P Request for examination filed

Effective date: 20080616

AK Designated contracting states

Kind code of ref document: A1

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

17Q First examination report despatched

Effective date: 20101012

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: 20110825