DE102016208864A1 - computer unit - Google Patents

computer unit Download PDF

Info

Publication number
DE102016208864A1
DE102016208864A1 DE102016208864.5A DE102016208864A DE102016208864A1 DE 102016208864 A1 DE102016208864 A1 DE 102016208864A1 DE 102016208864 A DE102016208864 A DE 102016208864A DE 102016208864 A1 DE102016208864 A1 DE 102016208864A1
Authority
DE
Germany
Prior art keywords
pipeline
unit
arithmetic
execution
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102016208864.5A
Other languages
German (de)
Inventor
Simon Hufnagel
Jaroslaw Topp
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102016208864.5A priority Critical patent/DE102016208864A1/en
Priority to CN201710363750.9A priority patent/CN107423029B/en
Publication of DE102016208864A1 publication Critical patent/DE102016208864A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Advance Control (AREA)
  • Hardware Redundancy (AREA)
  • Complex Calculations (AREA)

Abstract

Es wird eine Recheneinheit (2) umfassend einen ersten Pipeline-fähigen Rechenkern (4) mit einem ersten Speicherelement (8) und einen zweiten Pipeline-fähigen Rechenkern (6) mit einem zweiten Speicherelement (10) vorgeschlagen. Der erste Rechenkern (4) ist dazu ausgebildet, eine Pipeline-Abarbeitung eines Befehls (14) zu beginnen, wobei der zweite Rechenkern (6) dazu ausgebildet ist, eine redundante Pipeline-Abarbeitung des Befehls (14) zu beginnen. Eine Vergleicher-Einheit (20) ist dazu ausgebildet, eine Abweichung (CMP = 0) zwischen einem ersten Zustand (16) des ersten Speicherelements (8) und einem zweiten Zustand (18) des zweiten Speicherelements (10) zu ermitteln, wobei der erste und der zweite Rechenkern (4, 6) dazu ausgebildet sind, eine erneute Pipeline-Abarbeitung des Befehls (14) zu beginnen, wenn die Abweichung (CMP = 0) ermittelt wird.A computing unit (2) comprising a first pipeline-capable arithmetic core (4) with a first memory element (8) and a second pipeline-capable arithmetic core (6) with a second memory element (10) is proposed. The first arithmetic core (4) is adapted to begin a pipeline execution of a command (14), wherein the second arithmetic core (6) is adapted to begin a redundant pipeline execution of the command (14). A comparator unit (20) is configured to determine a deviation (CMP = 0) between a first state (16) of the first memory element (8) and a second state (18) of the second memory element (10), wherein the first and the second arithmetic core (4, 6) is adapted to start a pipeline renewal execution of the command (14) when the deviation (CMP = 0) is detected.

Description

Stand der TechnikState of the art

Die Erfindung betrifft eine Recheneinheit nach dem Oberbegriff des Anspruchs 1.The invention relates to a computing unit according to the preamble of claim 1.

Es ist bekannt, dass ein erster Rechenkern mittels eines zweiten Rechenkerns in einem Lockstep-Verfahren überwacht wird, um Fehler wie beispielsweise zufällige permanente Hardwarefehler und transiente Fehler, die beispielsweise durch ein Neutron oder ein Alphateilchen hervorgerufen werden, zu erkennen. Hierzu ist der zweite Rechenkern im Wesentlichen redundant zu dem ersten Rechenkern aufgebaut und führt die gleichen Befehle wie der erste Rechenkern aus.It is known that a first arithmetic kernel is monitored by a second arithmetic kernel in a lockstep method to detect errors such as random permanent hardware errors and transient errors caused, for example, by a neutron or an alpha particle. For this purpose, the second arithmetic kernel is constructed essentially redundantly to the first arithmetic kernel and executes the same commands as the first arithmetic kernel.

Offenbarung der ErfindungDisclosure of the invention

Dass der Erfindung zugrunde liegende Problem des Standes der Technik wird durch eine Recheneinheit nach dem Anspruch 1 gelöst.The problem underlying the invention of the prior art is solved by a computing unit according to claim 1.

Es wird vorgeschlagen, dass ein erster Pipeline-fähiger Rechenkern dazu ausgebildet ist, eine Pipeline-Abarbeitung eines Befehls zu beginnen, dass ein zweiter Pipeline-fähiger Rechenkern dazu ausgebildet ist, eine redundante Pipeline-Abarbeitung des Befehls zu beginnen, dass eine Vergleicher-Einheit dazu ausgebildet ist, eine Abweichung zwischen einem ersten Zustand des ersten Speicherelements und einem zweiten Zustand des zweiten Speicherelements zu ermitteln, und dass der erste und der zweite Rechenkern dazu ausgebildet sind, eine erneute Pipeline-Abarbeitung des Befehls zu beginnen, wenn die Abweichung ermittelt wird.It is proposed that a first pipeline-capable computation core is configured to start a pipeline execution of an instruction that a second pipeline-capable computation core is configured to start a redundant pipeline execution of the instruction that a comparator unit is configured to determine a deviation between a first state of the first memory element and a second state of the second memory element, and that the first and the second arithmetic core are adapted to start a pipeline renewed execution of the command when the deviation is detected ,

Auf diese Art und Weise kann durch einen Vergleich der spekulativen Daten in den Speicherelementen ein transienter Fehler zeitnah erkannt werden. Durch den erneuten Beginn der Pipeline-Abarbeitung des Befehls wird ebenso zeitnah eine Gegenmaßnahme zur Korrektur des erkannten transienten Fehlers eingeleitet. So werden transiente Fehler bereits im Bereich der jeweiligen Pipeline behandelt und behoben. Insbesondere wird das Auftreten eines transienten Fehlers nicht architektonisch außerhalb der Rechenkerne sichtbar, was bedeutet, dass durch einen transienten Fehler verfälschte Ergebnisse nicht außerhalb der Recheneinheit sichtbar sind. Die bestehende Lockstep-Architektur wird somit verbessert und eine Toleranz gegenüber transienten Fehlern geschaffen.In this way, a transient error can be detected in a timely manner by comparing the speculative data in the memory elements. By restarting the pipeline execution of the command, a countermeasure for correcting the detected transient error is also promptly initiated. Thus, transient errors are already handled and resolved in the area of the respective pipeline. In particular, the occurrence of a transient error does not become architecturally visible outside the computing cores, which means that corrupted results are not visible outside of the arithmetic unit due to a transient error. The existing lockstep architecture is thus improved and a tolerance for transient errors is created.

In einer vorteilhaften Ausführungsform ist die Vergleicher-Einheit dazu ausgebildet, nach dem Beginn der erneuten Pipeline-Abarbeitung des Befehls eine Übereinstimmung zwischen dem ersten Zustand des ersten Speicherelements und dem zweiten Zustand des zweiten Speicherelements zu ermitteln. Der erste und der zweite Rechenkern umfassen eine Rückschreibe-Einheit, welche dazu ausgebildet sind, ein Ergebnis der Pipeline-Abarbeitung des Befehls in einen jeweiligen Ausgabespeicherbereich zu schreiben, wenn die Übereinstimmung ermittelt wird. Dadurch wird vorteilhaft erreicht, dass auch bei Auftreten von transienten Fehlern eine schnelle Rekuperation der Recheneinheit möglich ist. Dies wird weiters vorteilhaft unter geringem zeitlichen Aufwand erreicht, da grundsätzlich nicht wesentlich mehr als die doppelte Zeit nötig ist, die zur einmaligen Pipeline-Abarbeitung des Befehls gebraucht wird.In an advantageous embodiment, the comparator unit is designed to determine a match between the first state of the first memory element and the second state of the second memory element after the beginning of the pipeline's renewed pipeline execution. The first and second arithmetic kernels comprise a writeback unit configured to write a result of the pipeline execution of the instruction to a respective output memory area when the match is determined. As a result, it is advantageously achieved that rapid recuperation of the arithmetic unit is possible even when transient errors occur. This is further advantageously achieved with little time, since in principle not much more than twice the time is needed, which is needed for one-time pipeline execution of the command.

In einer vorteilhaften Ausführungsform ist die Vergleicher-Einheit dazu ausgebildet, nach der erneuten Pipeline-Abarbeitung des Befehls durch den ersten und zweiten Rechenkern eine erneute Abweichung zu ermitteln. So kann auf einen permanenten Fehler geschlossen werden, der zumindest einen der beiden Rechenkerne betrifft.In an advantageous embodiment, the comparator unit is designed to determine a renewed deviation after the pipelined execution of the instruction by the first and second calculation kernels. Thus, a permanent error can be inferred that affects at least one of the two calculation cores.

In einer vorteilhaften Ausführungsform sind der erste und der zweite Rechenkern dazu ausgebildet, in Abhängigkeit von der Ermittlung der Abweichung die Pipeline-Abarbeitungen weiterer Befehle, welche nach dem Befehl begonnen wurden, abzubrechen. So kann sichergestellt werden, dass keine fehlerhaften Daten, die durch die Abarbeitung der weiteren Befehle erzeugt werden, nach außen geschrieben und damit sichtbar werden.In an advantageous embodiment, the first and the second arithmetic kernel are designed to interrupt the pipeline processing of further commands which were started after the command, depending on the determination of the deviation. This ensures that no erroneous data generated by processing the other commands is written to the outside and therefore visible.

In einer vorteilhaften Ausführungsform ist zur Pipeline-Abarbeitung des Befehls die Vergleicher-Einheit vor der Rückschreibe-Einheit ausführbar. Dadurch wird vorteilhaft erreicht, dass ein Vergleich der Zustände in den beiden Rechenkernen bereits vor der Herstellung eines nach außen sichtbaren Zustandes der Rechenkerne durchgeführt wird.In an advantageous embodiment, the comparator unit can be executed before the writeback unit for pipeline execution of the instruction. As a result, it is advantageously achieved that a comparison of the states in the two computing cores is carried out even before the production of an outwardly visible state of the computing cores.

In einer vorteilhaften Ausführungsform ist eine Ausführungs-Einheit zur Ausführung des Befehls ausgebildet, wobei zur Pipeline-Abarbeitung des Befehls die Vergleicher-Einheit nach der Ausführungs-Einheit ausführbar ist. Mithin werden die Zustände der Speicherelemente in einem Pipeline-Bereich miteinander verglichen, welcher sich zum Ende der jeweiligen Pipeline befindet.In an advantageous embodiment, an execution unit for executing the instruction is formed, wherein for pipeline execution of the instruction, the comparator unit is executable after the execution unit. Thus, the states of the memory elements are compared in a pipeline area which is at the end of the respective pipeline.

In einer vorteilhaften Ausführungsform sind der erste und der zweite Rechenkern dazu ausgebildet, einen von der Abweichung betroffenen Speicherbereich des ersten und zweiten Speicherelements als fehlerhaft zu markieren, wenn die Abweichung ermittelt wird. So kann vorteilhaft vermieden werden, dass in nachfolgenden Pipeline-Abarbeitungen weiterer Befehle ein fehlerhafter Zustand des Speicherelementes von Pipeline-Stufen verwendet wird. In an advantageous embodiment, the first and the second arithmetic core are designed to mark a memory area of the first and second memory element affected by the deviation as defective when the deviation is determined. Thus, it can be advantageously avoided that a faulty state of the memory element of pipeline stages is used in subsequent pipeline executions of further instructions.

In einer vorteilhaften Ausführungsform sind der erste und der zweite Rechenkern taktsynchronisiert. Damit kann die Vergleichs-Einheit zu einem im Wesentlichen gleichen Zeitpunkt ausgeführt werden und es entstehen keine nachteilhaften Synchronisationsprobleme und/oder Zeitverzüge.In an advantageous embodiment, the first and the second arithmetic core are clock-synchronized. Thus, the comparison unit can be executed at a substantially same time and there are no disadvantageous synchronization problems and / or time delays.

In einer vorteilhaften Ausführungsform werden der erste und der zweite Rechenkern mit einem Taktversatz betrieben. Vorteilhaft können dadurch plötzlich auftretende Fehler, die beide Rechenkerne in gleicher Weise beeinflussen können, erkannt werden. Somit ergeben sich Vorteile bei der Fehlererkennung und Betriebssicherheit.In an advantageous embodiment, the first and the second arithmetic core are operated with a clock offset. This can advantageously be detected suddenly occurring errors that can affect both cores in the same way. This results in advantages in error detection and reliability.

Weitere Ausführungsformen und Beispiele der Erfindung sind in der nachfolgenden Beschreibung der Figuren gezeigt. Hierbei werden auch bei unterschiedlichen Ausführungsformen die gleichen Bezugszeichen verwendet. In der Zeichnung zeigen:Further embodiments and examples of the invention are shown in the following description of the figures. Here, the same reference numerals are used in different embodiments. In the drawing show:

1 und 2 jeweils schematisch eine Recheneinheit; 1 and 2 each schematically a computing unit;

3 eine Vergleicher-Einheit; 3 a comparator unit;

4 schematisch eine erste und eine zweite Pipeline; 4 schematically a first and a second pipeline;

5 in schematischer Form eine Pipeline-Abarbeitung; 5 in schematic form, a pipeline execution;

6 ein schematisches Blockdiagramm; 6 a schematic block diagram;

7 ein schematisches Ablaufdiagramm; und 7 a schematic flow diagram; and

8 in schematischer Form einen Inhalt eines Wiederholungspuffers. 8th in schematic form, a content of a repeat buffer.

1 zeigt schematisch eine Recheneinheit 2 mit einem ersten Pipeline-fähigen Rechenkern 4 und einem zweiten Pipeline-fähigen Rechenkern 6. Der erste Rechenkern 4 umfasst ein erstes Speicherelement 8. Der zweite Rechenkern 6 umfasst ein zweites Speicherelement 10. Eine Eingabeeinheit 12 führt beiden Rechenkernen 4 und 6 den gleichen Befehl 14 zu. Der Befehl 14 ist zur Pipeline-Abarbeitung innerhalb des jeweiligen Rechenkerns 4 und 6 vorgesehen. Damit wird eine redundante Pipeline-Abarbeitung des Befehls 14 durch die Rechenkerne 4 und 6 durchgeführt. 1 schematically shows a computing unit 2 with a first pipeline-capable core 4 and a second pipeline-ready kernel 6 , The first calculation kernel 4 comprises a first memory element 8th , The second processor 6 includes a second memory element 10 , An input unit 12 leads both cores 4 and 6 the same command 14 to. The command 14 is for pipeline execution within the respective calculation kernel 4 and 6 intended. This will be a redundant pipeline execution of the command 14 through the cores 4 and 6 carried out.

In Abhängigkeit von der Pipeline-Abarbeitung des Befehls 14 nimmt das Speicherelement 8 einen Zustand 16 ein. In Abhängigkeit von der Pipeline-Abarbeitung des Befehls 14 nimmt das Speicherelement 10 den Zustand 18 ein. Die Zustände 16 und 18 werden einer Vergleicher-Einheit 20 zugeführt. Die Vergleicher-Einheit 20 vergleicht den ersten Zustand 16 mit dem zweiten Zustand 18 und erzeugt in Abhängigkeit von dem Vergleich ein Signal CMP. Das Signal CMP zeigt entweder eine Abweichung zwischen dem ersten Zustand 16 und dem zweiten Zustand 18 oder eine Übereinstimmung des ersten Zustands 16 und des zweiten Zustands 18 an. Das Signal CMP wird den beiden Rechenkernen 4 und 6 zugeführt. Die Zustände 16 und 18 sind ein jeweiliger Inhalt eines ausgewählten Registers oder Speicherbereichs des jeweiligen Speicherelements 8, 10.Depending on the pipeline execution of the command 14 takes the storage element 8th a condition 16 one. Depending on the pipeline execution of the command 14 takes the storage element 10 the condition 18 one. The conditions 16 and 18 become a comparator unit 20 fed. The comparator unit 20 compares the first state 16 with the second state 18 and generates a signal CMP in response to the comparison. The signal CMP either shows a deviation between the first state 16 and the second state 18 or a match of the first state 16 and the second state 18 at. The signal CMP becomes the two calculation cores 4 and 6 fed. The conditions 16 and 18 are a respective content of a selected register or memory area of the respective memory element 8th . 10 ,

Zeigt das Signal CMB eine Übereinstimmung zwischen dem ersten Zustand 16 und dem zweiten Zustand 18 an und wurde der Befehl das erste Mal abgearbeitet, so wird kein Fehler festgestellt und die Pipeline-Abarbeitung des Befehls 14 derart beendet, sodass das berechnete Ergebnis "committed" wird, das bedeutet, in einer entsprechenden Pipeline-Stufe in einen Ausgabespeicherbereich zurückgeschrieben wird.The signal CMB shows a match between the first state 16 and the second state 18 and if the command was executed the first time, no error is detected and the pipeline execution of the command 14 so that the calculated result is "committed", that is, written back to an output memory area in a corresponding pipeline stage.

Wurde nunmehr bereits einmal begonnen, die Pipeline-Abarbeitung des Befehls 14 mittels der Rechenkerne 4 und 6 durchzuführen, und wird mittels der Vergleicher-Einheit 20 eine Übereinstimmung der Zustände 16 und 18 nach Beginn der erneuten Pipeline-Abarbeitung des Befehls 14 ermittelt, so wird ein jeweiliges Ergebnis 22 und 24 der Pipeline-Abarbeitung des Befehls 14 in den nicht gezeigten Ausgabespeicherbereich geschrieben. Der Beginn der erneuten Pipeline-Abarbeitung wird durch die vorangehend ermittelte Abweichung der Zustände 16 und 18 mittels des Signals CMP ausgelöst.Has now been begun, the pipeline execution of the command 14 by means of the calculation kernels 4 and 6 and by means of the comparator unit 20 a match of the states 16 and 18 after starting the pipeline's pipeline execution again 14 determined, then becomes a respective result 22 and 24 the pipeline execution of the command 14 written in the output memory area, not shown. The beginning of the re-pipeline execution is determined by the previously determined deviation of the states 16 and 18 triggered by the signal CMP.

Wird nach der erneuten Pipeline-Abarbeitung des Befehls 14 hingegen durch die Rechenkerne 4 und 6 eine erneute Abweichung gemäß dem Signal CMP festgestellt, so wird auf einen permanenten Fehler geschlossen, der insbesondere einen Hardware-Defekt zumindest einer der beiden Rechenkerne 4 und 6 betrifft.Will after re-pipelining the command 14 on the other hand, through the cores 4 and 6 a new deviation is determined according to the signal CMP, it is concluded that a permanent error, in particular a hardware defect at least one of the two calculation cores 4 and 6 concerns.

Die Speicherelemente 8 und 10 können beispielsweise Teil eines jeweiligen Bypass-Netzwerks sein. Alternativ oder zusätzlich können die Speicherelemente 8 und 10 die jeweiligen Ergebnisse 22 und 24 enthalten, bevor diese "committed" werden und in den Ausgabespeicherbereich geschrieben werden.The memory elements 8th and 10 may be part of a respective bypass network, for example. Alternatively or additionally, the memory elements 8th and 10 the respective results 22 and 24 before they are "committed" and written to the output memory area.

Die Recheneinheit 2 ist insbesondere Teil eines Steuergeräts für ein Kraftfahrzeug. Durch die vorgeschlagene Behandlung von transienten Fehlern mittels der Vergleicher-Einheit 20 ist es möglich, die Verfügbarkeit des Gesamtsystems zu erhöhen als auch die Fehlertoleranz zu verbessern. Insbesondere für ein Steuergerät, welches Funktionen für autonomes oder hochautonomes Fahren ausführt, ist die hier beschriebene Recheneinheit 2 vorteilhaft. Vorteilhaft wird auch die User-Experience des Fahrers verbessert, der lediglich über Fehler informiert wird, die nicht behebbar sind. Transiente Fehler hingegen werden Fahrer erst gar nicht zur Kenntnis gebracht. Dies wird insbesondere dadurch erreicht, dass transiente Fehler schnell beseitigt werden und dem Fahrer nicht zur Kenntnis gebracht werden müssen. Insbesondere können die für das autonome Fahren nötigen Reaktionszeiten durch das Recheneinheit 2 eingehalten werden.The arithmetic unit 2 is in particular part of a control device for a motor vehicle. By the proposed treatment of transient errors by means of the comparator unit 20 it is possible to increase the availability of the overall system as well as to improve the fault tolerance. In particular for a control unit which performs functions for autonomous or highly autonomous driving, the arithmetic unit described here is 2 advantageous. Advantageously, the user experience of the driver is improved, which is informed only about errors, which are not recoverable. Transient errors, however, drivers are not brought to the notice. This is achieved in particular by the fact that transient errors are eliminated quickly and need not be brought to the attention of the driver. In particular, the reaction times required for autonomous driving by the arithmetic unit 2 be respected.

2 zeigt eine alternative Ausführung der Recheneinheit 2. Im Unterschied zu 1 umfasst der erste Rechenkern 4 eine Vergleicher-Einheit 20A, welche analog zur Vergleicher-Einheit 20 ein Signal CMPA analog zum Signal CMP erzeugt. Entsprechend umfasst der zweite Rechenkern 6 eine Vergleicher-Einheit 20B, welche analog zur Vergleicher-Einheit 20 und analog zum Signal CMP ein Signal CMPB erzeugt. Die Signale CMPA und CMPB werden in den jeweiligen Prozessorkernen 4 und 6 dazu verwendet, um zu entscheiden, ob eine Wiederholung der Pipeline-Abarbeitung des Befehls 14 durchgeführt wird. 2 shows an alternative embodiment of the arithmetic unit 2 , In contrast to 1 includes the first calculation kernel 4 a comparator unit 20A which analogous to the comparator unit 20 generates a signal CMPA analog to the signal CMP. Accordingly, the second calculation kernel comprises 6 a comparator unit 20B which analogous to the comparator unit 20 and generates a signal CMPB analog to the signal CMP. The signals CMPA and CMPB are in the respective processor cores 4 and 6 used to decide if a repetition of the pipeline execution of the command 14 is carried out.

3 zeigt beispielhaft die Vergleicher-Einheit 20. Die Zustände 16 und 18 werden einem XNOR-Block 26 zugeführt. Der XNOR-Block 26 erzeugt Logisch-1 (true), wenn die beiden zugeführten Zustände 16 und 18 übereinstimmen. Stimmen die beiden Zustände 16 und 18 nicht überein, so erzeugt der XNOR-Block 26 Logisch-0 (false). 3 shows by way of example the comparator unit 20 , The conditions 16 and 18 become an XNOR block 26 fed. The XNOR block 26 generates logical-1 (true) if the two states supplied 16 and 18 to match. Voices the two states 16 and 18 do not match, so does the XNOR block 26 Logical-0 (false).

4 zeigt schematisch eine erste Pipeline 30 des ersten Rechenkerns 4 und eine zweite Pipeline 32 des zweiten Prozessorkerns 6. Beide Prozessorkerne 4 und 6 sind taktsynchronisiert, was unter anderem bedeutet, dass die Taktsignale CLK1 und CLK2 im Wesentlichen gleich verlaufen. Der Befehl 14 wird in einer Befehlslade-Stufe IF geladen. In einer auf die Befehlslade-Stufe IF folgende Dekodier-Stufe D wird der geladene Befehl 14 decodiert und benötigte Daten werden in entsprechende Prozessorkern-Register geladen. In einer Ausführungs-Stufe E wird der Befehl 14 ausgeführt. In einer auf die Ausführungs-Stufe E folgende Speicherzugriffs-Stufe M wird auf einen Speicher zugegriffen und eine Ermittlung einer Prüfsumme durchgeführt. Durch die Berechnung der Prüfsumme sind die jeweiligen Ergebnisse 22, 24 nach Verlassen des Rechenkerns 4, 6 plausibilisierbar. Das bedeutet, dass In einer sich an die Speicherzugriffs-Stufe M anschließenden Vergleichs-Stufe CM, die der Vergleicher-Einheit 20 entspricht, werden die Zustände 16 und 18 der Speicherelemente 8 und 10 miteinander verglichen und in Abhängigkeit davon wird nach der Vergleichs-Stufe CM eine Rückschreibe-Stufe WB ausgeführt, um das Ergebnis der Pipeline-Abarbeitung des Befehls 14 in den Ausgabespeicherbereich zu schreiben. 4 schematically shows a first pipeline 30 of the first calculation kernel 4 and a second pipeline 32 the second processor core 6 , Both processor cores 4 and 6 are clock-synchronized, which means among other things that the clock signals CLK1 and CLK2 are substantially the same. The command 14 is loaded in a command load stage IF. In a decode stage D following the instruction load stage IF, the loaded instruction becomes 14 decoded and required data is loaded into corresponding processor core registers. In an execution stage E, the command becomes 14 executed. In a memory access stage M following the execution stage E, a memory is accessed and a determination of a checksum is performed. By calculating the checksum are the respective results 22 . 24 after leaving the calculation kernel 4 . 6 plausibilisierbar. This means that in a comparison stage CM following the memory access stage M, the comparator unit 20 corresponds, the states become 16 and 18 the memory elements 8th and 10 compared with each other and in response thereto, after the comparison stage CM, a write-back stage WB is executed to obtain the result of the pipeline execution of the instruction 14 to write to the output memory area.

Damit ist bei der Pipeline-Abarbeitung des Befehls 14 die Vergleicher-Einheit 20 vor einer der Rückschreibe-Stufe WB entsprechenden Rückschreibe-Einheit ausführbar. Eine nicht gezeigte Ausführungs-Einheit ist zur Ausführung des Befehls 14 entsprechend der Ausführungs-Stufe E ausgebildet. Die Vergleicher-Einheit 20 zur Pipeline-Abarbeitung des Befehls 14 ist nach der Ausführungs-Einheit ausführbar. Der erste und der zweite Rechenkern 4 und 6 sind insbesondere derart Takt synchronisiert, dass vor der Abarbeitung der Vergleichs-Stufe CM der Zustand 16, 18 der jeweiligen Speicherelemente 8 und 10 fest steht. Alternativ können die Rechenkerne 4 und 6 auch mit einem im Wesentlichen konstanten Taktversatz arbeiten, was bedeutet, dass die einzelnen Pipeline-Stufen zur redundanten Abarbeitung des Befehls 14 nicht gleichzeitig sondern zeitversetzt abgearbeitet werden. This is at the pipeline execution of the command 14 the comparator unit 20 executable before a writeback stage WB corresponding write-back unit. An execution unit, not shown, is for executing the instruction 14 formed according to the execution stage E. The comparator unit 20 for pipeline execution of the command 14 is executable after the execution unit. The first and the second arithmetic kernel 4 and 6 In particular, clocks are synchronized in such a way that before the execution of the comparison stage CM, the state 16 . 18 the respective memory elements 8th and 10 is fixed. Alternatively, the cores can 4 and 6 also operate with a substantially constant clock skew, which means that the individual pipeline stages for redundant execution of the command 14 not simultaneously but with a time delay.

5 zeigt in schematischer Form eine Pipeline-Abarbeitung in dem Prozessorkern 4 bei Auftreten eines transienten Fehlers F. Der Fehler F tritt beispielsweise bei der Abarbeitung des Befehls 14 in der Ausführung-Stufe E auf und wird in der Vergleichs-Stufe CM erkannt. Bei der Erkennung des Fehlers in der Vergleichs-Stufe CM wurde bereits mit der Pipeline-Abarbeitung der Befehle 34, 36, 38 und 40 begonnen. Da nunmehr eine Abweichung der Zustände der Speicherelemente 8 und 10 ermittelt wurde, werden die Pipeline-Abarbeitung der weiteren Befehle 3440, welche nach dem von dem Fehler F betroffenen Befehl 14 begonnen wurden, abgebrochen. Ein Laden eines weiteren Befehls 42 unterbleibt. Vielmehr wird nach dem Feststellen des Fehlers F in der Vergleichsstufe CM einen Fehlerflag POIS für einen Taktzyklus gesetzt, um jegliche Abarbeitung einer Pipelinestufe zu unterbinden oder zumindest das Rückschreiben eines Ergebnisses in der Rückschreibe-Stufe WB zu verhindern. Alternativ kann zunächst ermittelt werden, welche Befehle von den sich unterscheidenden Zuständen 16 und 18 betroffen sind, d.h. es werden die entsprechenden Datenabhängigkeiten geprüft, um anschließend nur diejenigen Abarbeitungen von Befehlen zu beenden bzw. verwerfen, die von den sich unterscheidenden Zuständen 16 und 18 betroffen sind. 5 schematically shows a pipeline execution in the processor core 4 when a transient error F occurs. The error F occurs, for example, during the execution of the command 14 in the execution stage E and is recognized in the comparison stage CM. Upon detection of the error in the comparison stage CM was already in the pipeline execution of the commands 34 . 36 . 38 and 40 began. Since now a deviation of the states of the memory elements 8th and 10 was determined, the pipeline processing of other commands 34 - 40 which after the command affected by the error F. 14 started, canceled. A loading of another command 42 omitted. Rather, after the determination of the error F in the comparison stage CM, an error flag POIS is set for one clock cycle in order to prevent any execution of a pipeline stage or at least to prevent the writing back of a result in the write-back stage WB. Alternatively, it can first be determined which commands are from the differing states 16 and 18 are concerned, ie the corresponding data dependencies are checked in order to subsequently terminate or discard only those processing instructions which differ from the differing states 16 and 18 are affected.

Ab dem Zeitpunkt TS wird eine Wiederholung der Pipeline-Abarbeitung des Befehls 14 begonnen, wobei während dieser Wiederholung ein Flag REPL auf Logisch-1 gesetzt wird. Sind entweder das Fehlerflag POIS oder das Flag REPL auf Logisch-1 gesetzt, so wird ein weiteres Flag RET auf Logisch-0 zurückgesetzt. Nach einer erfolgreichen Pipeline-Abarbeitung des Befehls 14 ohne die Feststellung eines Fehlers F in der Vergleichsstufe CM kann die Pipeline-Abarbeitung von Befehlen normal fortgesetzt werden. Insbesondere die Befehle 3442 kommen nun zur Abarbeitung. Vor einem Rückschreiben wird in der Rückschreibe-Stufe WB stets überprüft, ob das Flag RET gesetzt ist und ein Rückschreiben geschieht nur, wenn das Flag RET = 1 gesetzt ist.From time TS, a repetition of the pipeline execution of the command 14 started, during which repetition a flag REPL is set to logical-1. If either the error flag POIS or the flag REPL is set to logical-1, another flag RET is reset to logical-0. After a successful pipeline execution of the command 14 without the detection of an error F in the comparison stage CM, the pipeline execution of instructions can be continued normally. In particular, the commands 34 - 42 come now to the processing. Before a writeback, the write-back stage WB always checks whether the RET flag is set and a writeback occurs only if the RET = 1 flag is set.

Die Befehlslade-Stufe IF überprüft ebenso, ob das Flag RET gesetzt ist. Ist das Flag RET auf Logisch-0 gesetzt, so wird das Flag REPL auf Logisch-1 gesetzt. Das Laden eines ohne die ermittelte Abweichung vorgesehenen Befehls wird nicht durchgeführt. Vielmehr wird der Befehl 14 erneut geladen, womit die erneute Pipeline-Abarbeitung des Befehls begonnen wird. Erst nach einem erfolgreichen Rückschreiben des Ergebnisses der Pipeline-Abarbeitung des Befehls 14 wird das Flag REPL in der Rückschreibe-Stufe WB auf Logisch-0 gesetzt.The instruction load stage IF also checks if the flag RET is set. If the flag RET is set to logical-0, then the flag REPL is set to logical-1. The loading of a command provided without the detected deviation is not performed. Rather, the command is 14 reloaded, which starts the pipelined pipeline execution of the command. Only after a successful write back of the result of the pipeline execution of the command 14 the flag REPL is set to logical-0 in the write-back stage WB.

Sollte während der Wiederholungsphase (REPL = 1) ein weiterer Fehler in der Vergleichs-Stufe CM erkannt werden, so wird auf einen permanenten Fehler geschlossen und eine weitere Einheit kann entsprechende Maßnahmen einleiten und beispielsweise das System insbesondere das Steuergerät geordnet herunterfahren. Selbstverständlich ist die Anzahl der Wiederholungen der Ausführung des Befehls 14 einstellbar.If during the repetition phase (REPL = 1) another error in the comparison stage CM are detected, it is concluded that a permanent error and another unit can take appropriate action and shut down, for example, the system in particular the controller in an orderly manner. Of course, the number of repetitions is the execution of the command 14 adjustable.

6 zeigt ein schematisches Blockdiagramm 50 zur Erzeugung des Flag RET. Das Blockdiagramm 50 ist insbesondere Teil der Vergleichs-Einheit 20. Das Signal CMP wird negiert einem AND-Block 52 zugeführt. Des Weiteren wird dem Block 52 das Flag REPL negiert zugeführt. Einem AND-Block 54 wird das Flag REPL und ein Flag MISM negiert zugeführt. Das Flag MISM wird auf Logisch-0 gesetzt, sobald eine erste Wiederholung der Pipeline-Abarbeitung des Befehls 14 erfolgreich durchgeführt wurde. Die Ergebnisse der Blöcke 52 und 54 werden einem OR-Block 56 zugeführt, der das Flag RET erzeugt. 6 shows a schematic block diagram 50 for generating the flag RET. The block diagram 50 is in particular part of the comparison unit 20 , The signal CMP is negated an AND block 52 fed. Furthermore, the block 52 the flag REPL negated supplied. An AND block 54 the flag REPL and a flag MISM negated is supplied. The flag MISM is set to logical 0 as soon as a first iteration of the pipeline execution of the instruction 14 was successfully carried out. The results of the blocks 52 and 54 become an OR block 56 supplied, which generates the flag RET.

7 zeigt ein schematisches Ablaufdiagramm 58 zur Erläuterung der Funktion der Vergleicher-Einheit 20. Gemäß einem Block 60 beginnt eine erste Pipeline-Abarbeitung des Befehls 14. In einem Block 62 wird entschieden, ob die Speicherelemente 8 und 10 einen gleichen Zustand aufweisen. Ist dies der Fall, so kann anschließend in einem Block 64 das Ergebnis der Pipeline-Abarbeitung des Befehls 14 in der Rückschreibe-Stufe WB in den Ausgabespeicherbereich zurückgeschrieben werden. Unterscheiden sich jedoch die Zustände 16 und 18 der Speicherelemente 8 und 10, so findet gemäß dem Block 66 eine Wiederholung der Pipeline-Abarbeitung des Befehls 14 durch die beiden Rechenkerne 4 und 6 statt. In einem Block 68 wird ermittelt, ob die Zustände 16 und 18 der Speicherelemente 8 und 10 übereinstimmen. Ist dies der Fall, so wird gemäß dem Block 70 das Ergebnis der Pipeline-Abarbeitung des Befehls 14 in der Rückschreibe-Stufe WB in einen Ausgabespeicherbereich zurückgeschrieben. Findet sich jedoch eine Abweichung der Zustände 16 und 18 voneinander, so wird in dem Block 68 entschieden, in den Block 72 zu wechseln. Im Block 72 wird festgestellt, dass ein permanenter Fehler vorliegt. 7 shows a schematic flow diagram 58 to explain the function of the comparator unit 20 , According to a block 60 begins a first pipeline execution of the command 14 , In a block 62 it is decided if the memory elements 8th and 10 have a same state. If this is the case, then in a block 64 the result of pipeline execution of the command 14 in the write-back stage WB are written back to the output memory area. However, the conditions are different 16 and 18 the memory elements 8th and 10 , so according to the block 66 a repetition of the pipeline execution of the command 14 through the two cores 4 and 6 instead of. In a block 68 it is determined if the states 16 and 18 the memory elements 8th and 10 to match. If this is the case, then according to the block 70 the result of pipeline execution of the command 14 written back in the write-back stage WB in an output memory area. However, if there is a deviation of the states 16 and 18 from each other, so will in the block 68 decided in the block 72 switch. In the block 72 it is determined that there is a permanent error.

8 zeigt in schematischer Form einen Inhalt eines Wiederholungspuffers 80. Dieser Wiederholungspuffer 80 umfasst das Flag REPL, eine Adresse 90 des zu wiederholenden Befehls 14 sowie das Flag MISM und wird von der Vergleicher-Einheit 20 genutzt. 8th shows in schematic form a content of a repeat buffer 80 , This replay buffer 80 includes the flag REPL, an address 90 of the command to be repeated 14 as well as the flag MISM and is from the comparator unit 20 used.

Claims (10)

Eine Recheneinheit (2) umfassend einen ersten Pipeline-fähigen Rechenkern (4) mit einem ersten Speicherelement (8) und einen zweiten Pipeline-fähigen Rechenkern (6) mit einem zweiten Speicherelement (10), – wobei der erste Rechenkern (4) dazu ausgebildet ist, eine Pipeline-Abarbeitung eines Befehls (14) zu beginnen, und – wobei der zweite Rechenkern (6) dazu ausgebildet ist, eine redundante Pipeline-Abarbeitung des Befehls (14) zu beginnen, dadurch gekennzeichnet, – dass eine Vergleicher-Einheit (20) dazu ausgebildet ist, eine Abweichung (CMP = 0) zwischen einem ersten Zustand (16) des ersten Speicherelements (8) und einem zweiten Zustand (18) des zweiten Speicherelements (10) zu ermitteln, und – dass der erste und der zweite Rechenkern (4, 6) dazu ausgebildet sind, eine erneute Pipeline-Abarbeitung des Befehls (14) zu beginnen, wenn die Abweichung (CMP = 0) ermittelt wird.One arithmetic unit ( 2 ) comprising a first pipeline-capable computation kernel ( 4 ) with a first memory element ( 8th ) and a second pipeline-capable compute kernel ( 6 ) with a second memory element ( 10 ), - where the first calculation kernel ( 4 ) is adapted to execute a pipeline execution of an instruction ( 14 ), and - wherein the second arithmetic kernel ( 6 ) is adapted to perform a redundant pipeline execution of the instruction ( 14 ), characterized in that - a comparator unit ( 20 ) is adapted to cause a deviation (CMP = 0) between a first state ( 16 ) of the first memory element ( 8th ) and a second state ( 18 ) of the second memory element ( 10 ), and - that the first and second arithmetic kernels ( 4 . 6 ) are adapted to re-pipeline the instruction ( 14 ) when the deviation (CMP = 0) is determined. Die Recheneinheit (2) nach dem Anspruch 1, – wobei die Vergleicher-Einheit (20) dazu ausgebildet ist, nach dem Beginn der erneuten Pipeline-Abarbeitung des Befehls (14) eine Übereinstimmung (CMP = 1) zwischen dem ersten Zustand (16) des ersten Speicherelements (8) und dem zweiten Zustand (18) des zweiten Speicherelements (10) zu ermitteln, und – wobei der erste und der zweite Rechenkern (4, 6) eine Rückschreibe-Einheit umfassen, welche dazu ausgebildet sind, ein Ergebnis (22, 24) der Pipeline-Abarbeitung des Befehls (14) in einen jeweiligen Ausgabespeicherbereich zu schreiben, wenn die Übereinstimmung (CMP = 1) ermittelt wird.The arithmetic unit ( 2 ) according to claim 1, - wherein the comparator unit ( 20 ) is adapted, after the start of the pipeline's pipeline execution ( 14 ) a match (CMP = 1) between the first state ( 16 ) of the first memory element ( 8th ) and the second state ( 18 ) of the second memory element ( 10 ), and - wherein the first and second arithmetic kernels ( 4 . 6 ) comprise a writeback unit which is adapted to generate a result ( 22 . 24 ) pipeline execution of the command ( 14 ) in a respective output memory area when the match (CMP = 1) is detected. Die Recheneinheit (2) nach dem Anspruch 1 oder 2, – wobei die Vergleicher-Einheit (20) dazu ausgebildet ist, nach der erneuten Pipeline-Abarbeitung des Befehls (14) durch den ersten und zweiten Rechenkern (4, 6) eine erneute Abweichung (CMP = 0) zu ermitteln.The arithmetic unit ( 2 ) according to claim 1 or 2, - wherein the comparator unit ( 20 ) is adapted, after re-pipelining the instruction ( 14 ) by the first and second arithmetic kernels ( 4 . 6 ) to determine a new deviation (CMP = 0). Die Recheneinheit (2) nach einem der vorstehenden Ansprüche, – wobei der erste und der zweite Rechenkern (4, 6) dazu ausgebildet sind, in Abhängigkeit von der Ermittlung der Abweichung (CMP = 0) die Pipeline-Abarbeitungen weiterer Befehle (3440), welche nach dem Befehl (14) begonnen wurden, abzubrechen. The arithmetic unit ( 2 ) according to one of the preceding claims, - wherein the first and the second arithmetic kernel ( 4 . 6 ) are adapted, depending on the determination of the deviation (CMP = 0), the pipeline processing of further commands ( 34 - 40 ), which after the command ( 14 ) were canceled. Die Recheneinheit (2) nach einem der vorstehenden Ansprüche, – wobei zur Pipeline-Abarbeitung des Befehls (14) die Vergleicher-Einheit (20) vor einer Rückschreibe-Einheit ausführbar ist.The arithmetic unit ( 2 ) according to one of the preceding claims, - wherein for pipeline execution of the command ( 14 ) the comparator unit ( 20 ) is executable before a writeback unit. Die Recheneinheit (2) nach einem der vorstehenden Ansprüche, – wobei eine Ausführungs-Einheit zur Ausführung des Befehls (14) ausgebildet ist, und wobei zur Pipeline-Abarbeitung des Befehls (14) die Vergleicher-Einheit (20) nach der Ausführungs-Einheit ausführbar ist.The arithmetic unit ( 2 ) according to one of the preceding claims, - an execution unit for executing the command ( 14 ), and wherein for pipelining the instruction ( 14 ) the comparator unit ( 20 ) is executable after the execution unit. Die Recheneinheit (2) nach einem der vorstehenden Ansprüche, – wobei der erste und der zweite Rechenkern (4, 6) dazu ausgebildet sind, einen von der Abweichung (CMP = 0) betroffenen Speicherbereich des ersten und zweiten Speicherelements (8, 10) als fehlerhaft zu markieren, wenn die Abweichung (CMP = 0) ermittelt wird.The arithmetic unit ( 2 ) according to one of the preceding claims, - wherein the first and the second arithmetic kernel ( 4 . 6 ) are adapted to a memory area affected by the deviation (CMP = 0) of the first and second memory elements ( 8th . 10 ) as faulty if the deviation (CMP = 0) is determined. Die Recheneinheit (2) nach einem der vorstehenden Ansprüche, – wobei der erste und der zweite Rechenkern (4, 6) taktsynchronisiert sind.The arithmetic unit ( 2 ) according to one of the preceding claims, - wherein the first and the second arithmetic kernel ( 4 . 6 ) are clock-synchronized. Die Recheneinheit (2) nach einem der Ansprüche 1 bis 7, – wobei der erste und der zweite Rechenkern (4, 6) mit einem Taktversatz betrieben werden.The arithmetic unit ( 2 ) according to one of claims 1 to 7, - wherein the first and the second arithmetic kernel ( 4 . 6 ) are operated with a clock offset. Ein Steuergerät für ein Kraftfahrzeug umfassend eine Recheneinheit (2) nach einem der vorstehenden Ansprüche.A control device for a motor vehicle comprising a computing unit ( 2 ) according to any one of the preceding claims.
DE102016208864.5A 2016-05-23 2016-05-23 computer unit Pending DE102016208864A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102016208864.5A DE102016208864A1 (en) 2016-05-23 2016-05-23 computer unit
CN201710363750.9A CN107423029B (en) 2016-05-23 2017-05-22 Calculation unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016208864.5A DE102016208864A1 (en) 2016-05-23 2016-05-23 computer unit

Publications (1)

Publication Number Publication Date
DE102016208864A1 true DE102016208864A1 (en) 2017-11-23

Family

ID=60255130

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016208864.5A Pending DE102016208864A1 (en) 2016-05-23 2016-05-23 computer unit

Country Status (2)

Country Link
CN (1) CN107423029B (en)
DE (1) DE102016208864A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764823B (en) * 2019-09-02 2021-11-16 芯创智(北京)微电子有限公司 Loop control system and method of instruction assembly line
CN113791737B (en) * 2021-09-15 2024-02-02 北京航空航天大学 Soft error detection method and device for nonvolatile memory array

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
JPH0721769B2 (en) * 1988-08-12 1995-03-08 日本電気株式会社 Function monitoring method by redundant configuration of microprocessor
US6477638B1 (en) * 1999-10-01 2002-11-05 Hitachi, Ltd. Synchronized instruction advancement through CPU and FPU pipelines
US6715062B1 (en) * 2000-07-26 2004-03-30 International Business Machines Corporation Processor and method for performing a hardware test during instruction execution in a normal mode
US7124318B2 (en) * 2003-09-18 2006-10-17 International Business Machines Corporation Multiple parallel pipeline processor having self-repairing capability
US8397130B2 (en) * 2008-11-26 2013-03-12 Arizona Board Of Regents For And On Behalf Of Arizona State University Circuits and methods for detection of soft errors in cache memories
CN101551764B (en) * 2009-02-27 2010-11-10 北京时代民芯科技有限公司 An anti-SEE system and method based on synchronizing redundant threads and coding technique
US9880842B2 (en) * 2013-03-15 2018-01-30 Intel Corporation Using control flow data structures to direct and track instruction execution
CN205193787U (en) * 2015-10-27 2016-04-27 首都师范大学 Fault detection of duplication redundancy assembly line reaches back and moves back device
CN105320579B (en) * 2015-10-27 2018-03-23 首都师范大学 Towards the selfreparing dual redundant streamline and fault-tolerance approach of SPARC V8 processors
CN105260256B (en) * 2015-10-27 2018-03-23 首都师范大学 A kind of fault detect of duplication redundancy streamline and backing method

Also Published As

Publication number Publication date
CN107423029B (en) 2024-04-19
CN107423029A (en) 2017-12-01

Similar Documents

Publication Publication Date Title
EP1917592B1 (en) Computer system with at least two execution units and a comparison unit and method for controlling the same
EP1810145B1 (en) Method and device for synchronising in a multi-processor system
DE102005055067A1 (en) Device and method for correcting errors in a system having at least two execution units with registers
DE102013203358A1 (en) Method for verifying integrity of sensitive vehicle control system, involves taking remedial action when fault is detected and resetting operation control module when fault is detected and remedial action is not taken
EP1854007A2 (en) Method, operating system, and computing device for processing a computer program
WO2006032617A1 (en) Method for running a computer program on a computer system
DE102011011333B4 (en) Read to peripherals and write from peripherals with time-separated, redundant processor execution
WO2007057270A1 (en) Program-controlled unit and method for the operation thereof
WO2006045754A1 (en) Method, operational system and computing unit for executing a computer program
DE102016208864A1 (en) computer unit
WO2006032585A1 (en) Method for executing a computer program on a computer system
DE102008024193A1 (en) Data or signals processing method for brake booster in motor vehicle, involves applying set of functional units to data or signals, programming and/or configuring of one of functional units and programming and/or configuring of matrix
WO2004092972A2 (en) Program-controlled unit and method
DE102014115411A1 (en) DATA PROCESSING ARRANGEMENT AND METHOD FOR ASSURING THE INTEGRITY OF PERFORMING A COMPUTER PROGRAM
DE10085438B4 (en) Repeating architecture processor with fast and slow repeat paths
DE102013009364A1 (en) Method and system for detecting latent errors in microcontrollers
EP1915687A1 (en) Method and device for control of a computer system with at least two execution units
DE102013202961A1 (en) Method for monitoring stack memory in operating system of control unit of motor vehicle, involves carrying out predefined action if characteristic parameters of stack memory before and after execution of program codes are not identical
WO2016206847A1 (en) Method and apparatus for protecting a program counter structure of a processor system and for monitoring the handling of an interrupt request
DE102004051952A1 (en) Data allocation method for multiprocessor system involves performing data allocation according to operating mode to which mode switch is shifted
DE102019208129B4 (en) Electronic control unit
DE102010031017A1 (en) Program flow monitoring method for e.g. microprocessor utilized in technical application, involves dividing program into atomic units and modifying signature using modification points utilized for hopping in program flow
DE102005037232A1 (en) Method and device for analyzing processes in a computer system with several execution units
DE102004051967A1 (en) Method, operating system and computing device for executing a computer program
WO2023232401A1 (en) Method for operating a control device of a vehicle

Legal Events

Date Code Title Description
R012 Request for examination validly filed