Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7596638B2 - Processor and error detection method - Patents.com - Google Patents
[go: Go Back, main page]

JP7596638B2 - Processor and error detection method - Patents.com - Google Patents

Processor and error detection method - Patents.com Download PDF

Info

Publication number
JP7596638B2
JP7596638B2 JP2020042171A JP2020042171A JP7596638B2 JP 7596638 B2 JP7596638 B2 JP 7596638B2 JP 2020042171 A JP2020042171 A JP 2020042171A JP 2020042171 A JP2020042171 A JP 2020042171A JP 7596638 B2 JP7596638 B2 JP 7596638B2
Authority
JP
Japan
Prior art keywords
error detection
processing
execution
processing means
memory
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.)
Active
Application number
JP2020042171A
Other languages
Japanese (ja)
Other versions
JP2021144426A (en
Inventor
靖 沈
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2020042171A priority Critical patent/JP7596638B2/en
Publication of JP2021144426A publication Critical patent/JP2021144426A/en
Application granted granted Critical
Publication of JP7596638B2 publication Critical patent/JP7596638B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

本発明は、プロセッサ及びエラー検出方法に関する。 The present invention relates to a processor and an error detection method.

メモリを搭載しているプロセッサにおいて、特許文献1に開示されているように、メモリの異常を検出する誤り検出訂正(ECC:Error Checking and Correcting)が広く行われている。 In processors equipped with memory, as disclosed in Patent Document 1, error checking and correcting (ECC) is widely used to detect memory anomalies.

例えば、特許文献1には、CPU及びメモリを備える演算ユニットと、メモリの異常を検出するECCであるメモリ異常検出部と、を備える電子制御装置が開示されている。このメモリとメモリ異常検出部とは、バスを介してデータをやり取りしており、CPUによるメモリへのデータの読み出し及び書き込みは、メモリ異常検出部11Eを介して実行される。 For example, Patent Document 1 discloses an electronic control device that includes an arithmetic unit having a CPU and a memory, and a memory anomaly detection unit that is an ECC that detects memory anomalies. This memory and the memory anomaly detection unit exchange data via a bus, and the CPU reads and writes data to the memory via the memory anomaly detection unit 11E.

特開2018-10362号公報JP 2018-10362 A

ここで、図6は、メモリ112からの命令に応じた処理をパイプライン制御回路114が行うプロセッサ100である。従来では、図6に示されるように、メモリ112とパイプライン制御回路114との間にECC回路116が配置され、ECC回路116はメモリ112に存在する故障(ECCエラー)を検出する。一方、パイプライン制御回路114の故障は、二重化されたパイプライン制御回路114からの出力を比較器120で比較することで検出される。 Here, FIG. 6 shows a processor 100 in which a pipeline control circuit 114 performs processing according to instructions from a memory 112. Conventionally, as shown in FIG. 6, an ECC circuit 116 is disposed between the memory 112 and the pipeline control circuit 114, and the ECC circuit 116 detects faults (ECC errors) present in the memory 112. Meanwhile, faults in the pipeline control circuit 114 are detected by comparing the outputs from the duplicated pipeline control circuits 114 with a comparator 120.

しかしながら、このような従来の構成では、パイプライン制御回路114を二重化するため、回路規模が増加する。また、従来の構成では、ECC回路116によってメモリ112のエラー検出を行った後にパイプライン制御回路114に対するエラー検出処理を行うため、パイプライン制御回路114における処理のタイミングが悪くなる場合がある。さらに、速い処理速度を要求される処理に対してエラー検出を行うと要求される処理速度を満たさない可能性もある。 However, in such a conventional configuration, the pipeline control circuit 114 is duplicated, which increases the circuit size. In addition, in the conventional configuration, the ECC circuit 116 detects errors in the memory 112 before performing error detection processing on the pipeline control circuit 114, which may result in poor processing timing in the pipeline control circuit 114. Furthermore, if error detection is performed on a process that requires a high processing speed, the required processing speed may not be met.

本発明は上記背景に鑑み、プロセッサに生じるエラーの検出をより簡易な構成でより適切に行うことができる、プロセッサ及びエラー検出方法を提供することを目的とする。 In view of the above background, the present invention aims to provide a processor and an error detection method that can more appropriately detect errors that occur in a processor with a simpler configuration.

本発明は上記課題を解決するために以下の技術的手段を採用する。特許請求の範囲及びこの項に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示す一例であって、本発明の技術的範囲を限定するものではない。 The present invention employs the following technical means to solve the above problems. The symbols in parentheses in the claims and in this section are examples showing the corresponding relationship with the specific means described in the embodiments described below as one aspect, and do not limit the technical scope of the present invention.

本発明の一態様のプロセッサ(10)は、入力された命令に応じた処理を行う処理手段(14)と、前記処理手段のエラーを検出するエラー検出手段(16)と、を備え、前記エラー検出手段は、前記処理手段が実行する処理に応じて、前記処理手段に対するエラー検出の実行と不実行とが切り替えられ、前記エラー検出手段によるエラー検出の実行と不実行との切り替えは、前記処理手段に実行させる処理を示す命令毎に定義される。 The processor (10) of one aspect of the present invention comprises a processing means (14) that performs processing according to an input command, and an error detection means (16) that detects errors in the processing means, and the error detection means switches between performing and not performing error detection for the processing means according to the processing executed by the processing means, and the switching between performing and not performing error detection by the error detection means is defined for each command indicating the processing to be executed by the processing means.

本発明によれば、プロセッサに生じるエラーの検出をより簡易な構成でより適切に行うことができる。 The present invention makes it possible to more appropriately detect errors that occur in a processor with a simpler configuration.

第1実施形態のプロセッサの概略構成図である。FIG. 2 is a schematic configuration diagram of a processor according to the first embodiment. 第1実施形態のパイプライン制御回路の命令コードを示す模式図である。4 is a schematic diagram showing an instruction code of a pipeline control circuit according to the first embodiment; FIG. 第1実施形態のプロセッサで実行される命令処理の流れを示すフローチャートである。4 is a flowchart showing a flow of instruction processing executed by the processor of the first embodiment. 第2実施形態のプロセッサの概略構成図である。FIG. 11 is a schematic configuration diagram of a processor according to a second embodiment. 第2実施形態のプロセッサで実行される命令処理の流れを示すフローチャートである。10 is a flowchart showing a flow of instruction processing executed by a processor according to a second embodiment; 従来のECC回路が備えられるプロセッサの概略構成図である。FIG. 1 is a schematic diagram of a processor including a conventional ECC circuit.

以下、図面を参照して本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施形態に応じた具体的構成が適宜採用されてよい。 Below, an embodiment of the present invention will be described with reference to the drawings. Note that the embodiment described below is an example of how the present invention can be implemented, and the present invention is not limited to the specific configuration described below. When implementing the present invention, a specific configuration according to the embodiment may be appropriately adopted.

(第1実施形態)
図1は、本実施形態のプロセッサ10の概略構成図である。本実施形態のプロセッサ10は、メモリ12、パイプライン制御回路14、ECC回路16、及びレジスタ18を備える。また、本実施形態のプロセッサ10は、命令セットアーキテクチャの一例として、RISC-Vが適用される。
First Embodiment
1 is a schematic diagram of a processor 10 according to the present embodiment. The processor 10 according to the present embodiment includes a memory 12, a pipeline control circuit 14, an ECC circuit 16, and a register 18. In addition, the processor 10 according to the present embodiment applies RISC-V as an example of an instruction set architecture.

メモリ12には、データやECCコード等が記憶されており、これらは読み出されてパイプライン制御回路14による処理で用いられ、その処理結果がレジスタ18に記憶される。 Data, ECC codes, etc. are stored in the memory 12, which are read out and used in processing by the pipeline control circuit 14, and the results of that processing are stored in the register 18.

パイプライン制御回路14は、入力された命令(以下「命令コード」ともいう。)に応じた処理(タスク)を行う処理手段の一例である。本実施形態のパイプライン制御回路14は、処理要素である命令実行ユニットが直列に連結され、先の命令実行ユニットの出力を次の命令実行ユニットの入力とすることで、複数の命令実行ユニットが並列処理を行う。 The pipeline control circuit 14 is an example of a processing means that performs processing (tasks) according to input instructions (hereinafter also referred to as "instruction codes"). In this embodiment, the pipeline control circuit 14 has instruction execution units, which are processing elements, connected in series, and the output of the previous instruction execution unit is used as the input of the next instruction execution unit, so that multiple instruction execution units perform parallel processing.

図1では、命令実行ユニットとして、命令フェッチ14A、命令デコーダ14B、ALU(Arithmetic Logic Unit)14Cを備えるが、これは一例であり、パイプライン制御回路14には、加算や減算、乗算等を行うための他の命令実行ユニットも備えられている。 In FIG. 1, the instruction execution units include an instruction fetch 14A, an instruction decoder 14B, and an ALU (Arithmetic Logic Unit) 14C, but this is just one example, and the pipeline control circuit 14 also includes other instruction execution units for performing addition, subtraction, multiplication, etc.

ECC回路16は、パイプライン制御回路14の後段に設けられるハードウェアであり、パイプライン制御回路14及びメモリ12の何れかに発生したエラーを検出する。本実施形態のECC回路16は、パイプライン制御回路14が実行する処理に応じて、パイプライン制御回路14に対するエラー検出の実行と不実行とが切り替えられる。 The ECC circuit 16 is hardware provided downstream of the pipeline control circuit 14, and detects errors that occur in either the pipeline control circuit 14 or the memory 12. In this embodiment, the ECC circuit 16 switches between performing and not performing error detection on the pipeline control circuit 14 depending on the processing executed by the pipeline control circuit 14.

本実施形態のECC回路16によるエラー検出の実行と不実行との切り替えは、パイプライン制御回路14に実行させる処理を示す命令コード毎に定義される。図2は、本実施形態の命令コードの一例を示す模式図である。 In this embodiment, the switching between execution and non-execution of error detection by the ECC circuit 16 is defined for each instruction code that indicates the process to be executed by the pipeline control circuit 14. FIG. 2 is a schematic diagram showing an example of an instruction code in this embodiment.

図2に示される命令コードは、メモリ12の“rs1+imm”番地の内容(データ)をレジスタ18にロードするための命令(Memrory[rs1+imm] → rd)であり、通常命令コードとECC付き命令コードとを示している。 The instruction code shown in FIG. 2 is an instruction (Memrory[rs1+imm] → rd) for loading the contents (data) of the address “rs1+imm” in memory 12 into register 18, and shows a normal instruction code and an instruction code with ECC.

通常命令コードとECC付き命令コードとは、図2に示されるように、一例として、下線部分が異なっている。そして、この異なる部分が、パイプライン制御回路14に対するエラー検出の実行と不実行とを定義する部分であり、本実施形態ではRISC-Vにおける命令セットの拡張用フィールド(Custom-0 Field)によって定義される。すなわち、ECC付き命令コードとは、パイプライン制御回路14への処理命令と共に、ECC回路16によるエラー検出の実行命令も含んでいる。これにより、エラー検出の実行と不実行との切り替え指示がより簡略化される。 As shown in FIG. 2, the normal instruction code and the ECC-added instruction code differ in the underlined portion, for example. This difference defines whether or not to perform error detection for the pipeline control circuit 14, and in this embodiment is defined by the extended field (Custom-0 Field) of the instruction set in RISC-V. In other words, the ECC-added instruction code includes a processing instruction for the pipeline control circuit 14 as well as an instruction to execute error detection by the ECC circuit 16. This further simplifies the instruction to switch between executing and not executing error detection.

このように本実施形態のECC回路16は、命令コードがECC付き命令コードである場合に有効となる一方、命令コードが通常命令コードである場合は無効となり、パイプライン制御回路14に対するエラー検出の実行と不実行とが切り替えられる。 In this way, the ECC circuit 16 of this embodiment is enabled when the instruction code is an ECC instruction code, but is disabled when the instruction code is a normal instruction code, switching between performing and not performing error detection for the pipeline control circuit 14.

なお、エラー検出を必要とする命令コードは、機能安全を要求される処理を行うためのものである一方、エラー検出を必要としない命令コードは、例えば、機能安全よりも処理速度を要求される処理を行うためのものである。このように、命令コードをECC付きとするか通常とするかは、パイプライン制御回路14が実行する処理内容によって異なるものとされる。従って、本実施形態のプロセッサ10は、処理内容に応じてエラー検出を適切に行える。 Note that instruction codes that require error detection are used to perform processes that require functional safety, whereas instruction codes that do not require error detection are used to perform processes that require, for example, processing speed rather than functional safety. In this way, whether the instruction code is ECC-enabled or normal depends on the processing content executed by the pipeline control circuit 14. Therefore, the processor 10 of this embodiment can perform appropriate error detection according to the processing content.

また、ECC回路16は、パイプライン制御回路14の後段に備えられるため、メモリ12にエラーが生じた場合であっても、パイプライン制御回路14にエラーが生じた場合であっても、当該エラーの検出が可能である。このため、メモリ12とパイプライン制御回路14との間にECC回路16を設け、パイプライン制御回路14を二重化する場合に比べて、プロセッサ10の回路規模を小さくできる。 In addition, since the ECC circuit 16 is provided after the pipeline control circuit 14, it is possible to detect an error whether it occurs in the memory 12 or in the pipeline control circuit 14. As a result, the circuit scale of the processor 10 can be reduced compared to a case in which the ECC circuit 16 is provided between the memory 12 and the pipeline control circuit 14 and the pipeline control circuit 14 is duplicated.

図3は、本実施形態のプロセッサ10で実行される命令処理の流れを示すフローチャートである。 Figure 3 is a flowchart showing the flow of instruction processing executed by the processor 10 of this embodiment.

まず、ステップS100では、メモリ12から命令コードがパイプライン制御回路14に出力される。 First, in step S100, an instruction code is output from memory 12 to the pipeline control circuit 14.

次のステップS102では、パイプライン制御回路14が命令コードに基づく処理を実行する。パイプライン制御回路14による処理が終了すると、命令コード及びパイプライン制御回路14による処理結果がパイプライン制御回路14を経てECC回路16に入力される。 In the next step S102, the pipeline control circuit 14 executes processing based on the instruction code. When the processing by the pipeline control circuit 14 is completed, the instruction code and the processing result by the pipeline control circuit 14 are input to the ECC circuit 16 via the pipeline control circuit 14.

そして、次のステップS106では、入力された命令コードがECC付き命令コードであるか否かをECC回路16が判定し、肯定判定の場合はステップS106へ移行する。一方で、否定判定の場合は、ECC回路16によるエラー検出が行われることなく、パイプライン制御回路14による処理結果がレジスタ18に記憶され、本命令処理は終了する。 Then, in the next step S106, the ECC circuit 16 determines whether the input instruction code is an instruction code with ECC, and if the determination is positive, the process proceeds to step S106. On the other hand, if the determination is negative, the ECC circuit 16 does not perform error detection, the processing result by the pipeline control circuit 14 is stored in the register 18, and the instruction processing ends.

ステップS106では、パイプライン制御回路14の処理結果に基づいてECC回路16がエラー検出を行い、そのエラー検出結果を出力して本命令処理を終了する。なお、ECC回路16は、エラーを検出した場合にのみエラー信号を出力する一方、エラーを検出しなかった場合には何ら信号を出力しなくてもよい。 In step S106, the ECC circuit 16 performs error detection based on the processing result of the pipeline control circuit 14, outputs the error detection result, and ends this instruction processing. Note that the ECC circuit 16 outputs an error signal only when an error is detected, but does not have to output any signal if no error is detected.

以上説明したように、本実施形態のプロセッサ10は、パイプライン制御回路14への命令にECC回路16によるエラー検出の実行命令が含まれている場合、ECC回路16は、パイプライン制御回路14による処理が終了した後にパイプライン制御回路14に対するエラー検出を実行する。 As described above, in the processor 10 of this embodiment, when an instruction to the pipeline control circuit 14 includes an instruction to execute error detection by the ECC circuit 16, the ECC circuit 16 executes error detection for the pipeline control circuit 14 after processing by the pipeline control circuit 14 is completed.

すなわち、パイプライン制御回路14が実行する処理内容によっては、パイプライン制御回路14に対するエラー検出を不要又はエラー検出の実行が好ましくない場合がある。このようなことを想定して、本実施形態のプロセッサ10は、パイプライン制御回路14が実行する処理に応じてECC回路16の有効、無効を切り替えるので、より簡易な構成でより適切に行うことができる。 In other words, depending on the processing content executed by the pipeline control circuit 14, error detection for the pipeline control circuit 14 may be unnecessary or may not be desirable. In anticipation of such a situation, the processor 10 of this embodiment switches between enabling and disabling the ECC circuit 16 depending on the processing executed by the pipeline control circuit 14, allowing for more appropriate operation with a simpler configuration.

(第2実施形態)
以下、本発明の第2実施形態について説明する。
Second Embodiment
A second embodiment of the present invention will now be described.

図4は、本第2実施形態に係るプロセッサ10の構成を示す。なお、図4における図1と同一の構成部分については図1と同一の符号を付して、その説明を省略する。 Figure 4 shows the configuration of the processor 10 according to the second embodiment. Note that components in Figure 4 that are the same as those in Figure 1 are given the same reference numerals as in Figure 1, and their description will be omitted.

本実施形態のプロセッサ10は、パイプライン制御回路14で行われた複数の同じ処理の結果を比較する比較部20を備える。すなわち、比較部20は、パイプライン制御回路14に生じたエラーを検出するエラー検出手段として機能する。なお、本実施形態の比較部20は、一例として、ソフトウェア処理により実行されるものである。 The processor 10 of this embodiment includes a comparison unit 20 that compares the results of multiple identical processes performed by the pipeline control circuit 14. In other words, the comparison unit 20 functions as an error detection means that detects errors that occur in the pipeline control circuit 14. Note that the comparison unit 20 of this embodiment is executed by software processing, as an example.

本実施形態のプロセッサ10は、命令コードがECC付き命令コードである場合に、パイプライン制御回路14が命令コードに基づいて同じ処理を複数回行い、その処理結果を比較部20が比較する。そして、複数の処理結果が同じ場合には、エラーは生じておらず、複数の処理結果が異なる場合にエラーが生じているとしてエラー信号を出力する。 In the processor 10 of this embodiment, when the instruction code is an instruction code with ECC, the pipeline control circuit 14 performs the same process multiple times based on the instruction code, and the comparison unit 20 compares the process results. If the multiple process results are the same, no error has occurred, and if the multiple process results are different, an error signal is output indicating that an error has occurred.

図5は、本実施形態のプロセッサ10で実行される命令処理の流れを示すフローチャートである。 Figure 5 is a flowchart showing the flow of instruction processing executed by the processor 10 of this embodiment.

まず、ステップ200では、メモリ12から命令コードがパイプライン制御回路14に出力される。 First, in step 200, the instruction code is output from the memory 12 to the pipeline control circuit 14.

次のステップ202では、命令コードがECC付き命令コードであるか否かが判定され、肯定判定の場合はステップ208へ移行し、否定判定の場合はステップ206へ移行する。 In the next step 202, it is determined whether the instruction code is an instruction code with ECC, and if the determination is positive, the process proceeds to step 208, and if the determination is negative, the process proceeds to step 206.

ステップ206では、パイプライン制御回路14が命令コードに基づく処理を実行し、処理結果はレジスタ18に記憶され、本命令処理は終了する。すなわち、ステップ202で否定判定となった場合には、エラー検出は行われない。 In step 206, the pipeline control circuit 14 executes processing based on the instruction code, the processing result is stored in the register 18, and the instruction processing ends. In other words, if the determination in step 202 is negative, no error detection is performed.

一方、ステップ202で肯定判定となった場合に移行するステップ208では、パイプライン制御回路14が命令コードに基づく1回目の処理を行う。この1回目の処理結果は、比較部20に出力される。 On the other hand, in step 208, which is reached if the determination in step 202 is positive, the pipeline control circuit 14 performs a first processing based on the instruction code. The result of this first processing is output to the comparison unit 20.

次のステップ210では、パイプライン制御回路14が命令コードに基づく2回目の処理を行い、2回目の処理結果も比較部20に出力される。 In the next step 210, the pipeline control circuit 14 performs a second processing based on the instruction code, and the result of the second processing is also output to the comparison unit 20.

次のステップ212では、1回目の処理結果と2回目の処理結果とを比較部20が比較し、本命令処理は終了する。なお、比較部20による比較結果が異なる場合は、パイプライン制御回路14にエラーが生じているとして、比較部20はエラー信号を出力する。一方、比較部20による比較結果が同じ場合は、パイプライン制御回路14にエラーが生じていないので、比較部20は信号を出力しない、又はエラーが生じていないことを示す信号を出力する。 In the next step 212, the comparison unit 20 compares the first processing result with the second processing result, and this instruction processing ends. If the comparison results by the comparison unit 20 are different, the comparison unit 20 outputs an error signal, assuming that an error has occurred in the pipeline control circuit 14. On the other hand, if the comparison results by the comparison unit 20 are the same, no error has occurred in the pipeline control circuit 14, and the comparison unit 20 does not output a signal, or outputs a signal indicating that no error has occurred.

なお、本実施形態では、パイプライン制御回路14で同じ処理を2回行った結果を比較することで、エラーの有無を検出する形態について説明したが、本実施形態はこれに限定されない。 Note that in this embodiment, the presence or absence of an error is detected by comparing the results of performing the same process twice in the pipeline control circuit 14, but this embodiment is not limited to this.

例えば、ECC付き命令コードに基づく処理をパイプライン制御回路14が備える他の命令実行ユニットでも実行し、その実行結果を比較部20が比較することでエラー検出を行ってもよい。例えば、パイプライン制御回路14が命令実行ユニットとして複数の加算器や減算器、乗算器等を備えている場合がある。このような場合、同じ演算命令を異なる加算器や減算器、乗算器等を用いて複数回行い、複数回の演算結果を比較部20が比較する。これにより、演算を行った命令実行ユニットの何れかにエラー(故障)が生じていた場合には比較結果が異なるので、比較部20からエラー信号が出力される。 For example, processing based on the ECC-added instruction code may also be executed by other instruction execution units included in the pipeline control circuit 14, and the comparison unit 20 may compare the execution results to detect errors. For example, the pipeline control circuit 14 may include multiple adders, subtractors, multipliers, etc. as instruction execution units. In such a case, the same arithmetic instruction is executed multiple times using different adders, subtractors, multipliers, etc., and the comparison unit 20 compares the results of the multiple arithmetic operations. As a result, if an error (fault) has occurred in any of the instruction execution units that performed the operation, the comparison results will be different, and an error signal will be output from the comparison unit 20.

また、この他にも、ECC付き命令コードに基づくパイプライン制御回路14への入力内容や処理結果を反転したデータをバッファに記憶させ、バッファに記憶させたデータに基づいて再びパイプライン制御回路14が処理を実行し、この処理結果とバッファに記憶したデータとを比較部20が比較することでエラー検出が行われてもよい。 In addition, the input contents to the pipeline control circuit 14 based on the ECC-added instruction code and the inverted data of the processing result may be stored in a buffer, and the pipeline control circuit 14 may again execute processing based on the data stored in the buffer, and the comparison unit 20 may compare this processing result with the data stored in the buffer to detect errors.

以上、本発明を、上記実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更又は改良を加えることができ、該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。また、上記第1実施形態と第2実施形態とが組み合わされてもよい。 The present invention has been described above using the above embodiment, but the technical scope of the present invention is not limited to the scope described in the above embodiment. Various modifications or improvements can be made to the above embodiment without departing from the gist of the invention, and forms with such modifications or improvements are also included in the technical scope of the present invention. In addition, the above first and second embodiments may be combined.

上記実施形態では、プロセッサ10のアーキテクチャとしてRISC-Vを適用し、RISC-Vにおける命令セットの拡張用フィールドによってエラー検出の実行と不実行を定義する形態について説明したが、本発明は、これに限定されるものではない。命令セットによってエラー検出の実行と不実行を定義可能であれば、他のアーキテクチャが用いられてもよい。 In the above embodiment, RISC-V is applied as the architecture of the processor 10, and an embodiment is described in which the execution or non-execution of error detection is defined by an extension field of the instruction set in RISC-V, but the present invention is not limited to this. Other architectures may be used as long as the execution or non-execution of error detection can be defined by the instruction set.

また、上記実施形態では、エラー検出の実行と不実行との切り替えは、パイプライン制御回路14への命令コード毎に定義される形態について説明したが、本発明は、これに限定されるものではない。例えば、プロセッサ10の処理モードに応じて、エラー検出の実行と不実行が切り替えられてもよい。すなわち、プロセッサ10の処理モードとして、エラー検出を実行するモードと不実行のモードと設定可能とされる。 In the above embodiment, the switching between execution and non-execution of error detection is described as being defined for each instruction code to the pipeline control circuit 14, but the present invention is not limited to this. For example, the switching between execution and non-execution of error detection may be performed according to the processing mode of the processor 10. In other words, the processing mode of the processor 10 can be set to a mode in which error detection is performed and a mode in which error detection is not performed.

また、上記実施形態では、プロセッサ10としてパイプライン処理を行うものを適用する形態について説明したが、本発明は、これに限定されるものではなく、プロセッサ10は必ずしもパイプライン処理を行うものでなくてもよい。例えばプロセッサ10が複数のCPU(Central Processing Unit)を備える形態としてもよい。この場合、第2実施形態のように同じ処理を複数行い、その処理結果を比較部20が比較する場合には、複数のCPUで実行された処理の処理結果を比較部20が比較する。 In addition, in the above embodiment, a form in which a processor 10 that performs pipeline processing has been described, but the present invention is not limited to this, and the processor 10 does not necessarily have to perform pipeline processing. For example, the processor 10 may have a form including multiple CPUs (Central Processing Units). In this case, when the same process is performed multiple times as in the second embodiment and the comparison unit 20 compares the processing results, the comparison unit 20 compares the processing results of the processes executed by the multiple CPUs.

10・・・プロセッサ、14・・・パイプライン制御回路、16・・・ECC回路、
20・・・比較部
10: processor; 14: pipeline control circuit; 16: ECC circuit;
20...Comparison section

Claims (5)

メモリから入力された命令に応じた処理を行う一つの処理手段(14)と、
前記処理手段の後段に設けられて、前記処理手段のエラーを検出し、エラー検出の実行と不実行とが切り替えられるECC回路(16)と、
を備え、
前記ECC回路によるエラー検出の実行と不実行との切り替えは、前記処理手段に実行させる処理を示す命令毎に定義され、
前記メモリと前記処理手段との間には、前記メモリから出力されるデータのエラー検出を実行する検出手段を備えない、
プロセッサ(10)。
A processing means (14) for performing processing according to instructions input from a memory;
an ECC circuit (16) provided downstream of the processing means for detecting an error in the processing means and switching between execution and non-execution of error detection;
Equipped with
The switching between execution and non-execution of error detection by the ECC circuit is defined for each instruction indicating a process to be executed by the processing means,
There is no detection means between the memory and the processing means for performing error detection on data output from the memory.
Processor (10).
メモリから入力された命令に応じた処理を行う一つの処理手段と、
前記処理手段で行われた複数の同じ処理の結果を比較することによりエラーを検出し、エラー検出の実行と不実行とが切り替えられるエラー検出手段(20)と、
を備え、
前記エラー検出手段によるエラー検出の実行と不実行との切り替えは、前記処理手段に実行させる処理を示す命令毎に定義され、
前記メモリと前記処理手段との間には、前記メモリから出力されるデータのエラー検出を実行する検出手段を備えない、
プロセッサ。
a processing means for performing processing in response to an instruction input from a memory;
an error detection means (20) for detecting an error by comparing the results of a plurality of identical processes performed by the processing means, and for switching between execution and non-execution of error detection;
Equipped with
switching between execution and non-execution of error detection by said error detection means is defined for each instruction indicating a process to be executed by said processing means;
There is no detection means between the memory and the processing means for performing error detection on data output from the memory.
Processor.
RISC-Vにおける命令セットの拡張用フィールドに、前記エラー検出手段によるエラー検出の実行又は不実行が定義される、請求項2に記載のプロセッサ。 3. The processor according to claim 2, wherein execution or non-execution of error detection by said error detection means is defined in an extension field of an instruction set in RISC-V. メモリから入力された命令に応じた処理を行う一つの処理手段と、前記処理手段の後段に設けられて、前記処理手段のエラーを検出し、エラー検出の実行と不実行とが切り替えられるECC回路と、を備え、前記メモリと前記処理手段との間には、前記メモリから出力されるデータのエラー検出を実行する検出手段を備えないプロセッサのエラー検出方法であって、
入力された命令に応じた処理を前記処理手段が行う第1工程と、
前記処理手段が実行する処理に応じて、前記第1工程が終了した後に前記ECC回路がエラー検出を実行する第2工程と、
を有し、
前記第2工程によるエラー検出の実行と不実行は、前記処理手段に実行させる処理を示す命令毎に定義される、
エラー検出方法。
An error detection method for a processor comprising: a processing means for performing processing in accordance with an instruction input from a memory; and an ECC circuit provided downstream of the processing means for detecting an error in the processing means and for switching between execution and non-execution of error detection; and no detection means provided between the memory and the processing means for performing error detection on data output from the memory, comprising:
a first step in which the processing means performs processing in accordance with an input command;
a second step in which the ECC circuit performs error detection after the first step is completed in response to a process performed by the processing means;
having
The execution or non-execution of the error detection by the second step is defined for each command indicating a process to be executed by the processing means.
Error detection methods.
メモリから入力された命令に応じた処理を行う一つの処理手段と、前記処理手段で行われた複数の同じ処理の結果を比較することによりエラーを検出するエラー検出手段と、を備え、前記メモリと前記処理手段との間には、前記メモリから出力されるデータのエラー検出を実行する検出手段を備えないプロセッサのエラー検出方法であって、
入力された命令に応じた処理を前記処理手段が行う第1工程と、
前記処理手段が実行する処理に応じて、前記第1工程が終了した後に前記エラー検出手段がエラー検出を実行する第2工程と、
を有し、
前記第2工程によるエラー検出の実行と不実行は、前記処理手段に実行させる処理を示す命令毎に定義される、
エラー検出方法。
1. An error detection method for a processor comprising a processing means for performing processing in accordance with an instruction input from a memory, and an error detection means for detecting an error by comparing results of a plurality of identical processes performed by the processing means, and no detection means for detecting an error in data output from the memory between the memory and the processing means, comprising:
a first step in which the processing means performs processing in accordance with an input command;
a second step in which the error detection means performs error detection after the first step is completed in accordance with the processing performed by the processing means;
having
The execution or non-execution of the error detection by the second step is defined for each command indicating a process to be executed by the processing means.
Error detection methods.
JP2020042171A 2020-03-11 2020-03-11 Processor and error detection method - Patents.com Active JP7596638B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020042171A JP7596638B2 (en) 2020-03-11 2020-03-11 Processor and error detection method - Patents.com

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020042171A JP7596638B2 (en) 2020-03-11 2020-03-11 Processor and error detection method - Patents.com

Publications (2)

Publication Number Publication Date
JP2021144426A JP2021144426A (en) 2021-09-24
JP7596638B2 true JP7596638B2 (en) 2024-12-10

Family

ID=77766710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020042171A Active JP7596638B2 (en) 2020-03-11 2020-03-11 Processor and error detection method - Patents.com

Country Status (1)

Country Link
JP (1) JP7596638B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038420A (en) 2003-07-18 2005-02-10 Hewlett-Packard Development Co Lp Fault tolerance with object set by special cpu instruction
JP2006209374A (en) 2005-01-27 2006-08-10 Renesas Technology Corp Semiconductor integrated circuit device and compiler
JP2013196466A (en) 2012-03-21 2013-09-30 Renesas Electronics Corp Processor system
US20180121273A1 (en) 2016-10-28 2018-05-03 Nvidia Corporation Reliability enhancement systems and methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038420A (en) 2003-07-18 2005-02-10 Hewlett-Packard Development Co Lp Fault tolerance with object set by special cpu instruction
JP2006209374A (en) 2005-01-27 2006-08-10 Renesas Technology Corp Semiconductor integrated circuit device and compiler
JP2013196466A (en) 2012-03-21 2013-09-30 Renesas Electronics Corp Processor system
US20180121273A1 (en) 2016-10-28 2018-05-03 Nvidia Corporation Reliability enhancement systems and methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
@msyksphinz,GoogleもNVIDIAも注目しているARM時代の「弱い者の味方」 オープンソースCPU「RISC-V」の研究,Interface 第45巻 第1号 ,日本,CQ出版株式会社 CQ Publishing Co.,Ltd.,2019年01月01日,第45巻 第1号,164~170,CSDBコード CSND201900194021、【ISSN】0387-9569

Also Published As

Publication number Publication date
JP2021144426A (en) 2021-09-24

Similar Documents

Publication Publication Date Title
JP5129450B2 (en) Information processing device
JPH07248897A (en) Method and device for recovery from exception in computer system
JPS6231379B2 (en)
US6378067B1 (en) Exception reporting architecture for SIMD-FP instructions
JP2770913B2 (en) Parity replacement apparatus and method
CN117112318A (en) Dual-core fault-tolerant system based on RISC-V architecture
JP7596638B2 (en) Processor and error detection method - Patents.com
JPH05143323A (en) Method and apparatus for executing type-1 diadic instruction
JP3240660B2 (en) Data processing device
JP7782564B2 (en) Processor
JP2009238168A (en) Microprocessor
JP5012562B2 (en) Microcomputer
JP2824484B2 (en) Pipeline processing computer
JP3183982B2 (en) Digital controller
JPH02287625A (en) Single chip microcomputer
JPH07271625A (en) Information processor
JP2025180480A (en) Arithmetic device and method for detecting faults therein
JPH01171033A (en) Arithmetic unit
JP2008146188A (en) Integrated circuit
JP4564025B2 (en) Interrupt processing method in information processing apparatus
CN201188216Y (en) floating point exception handler
JPS63214856A (en) Data protection control system for data processing unit
JPS59129995A (en) Storage device
JPH0831035B2 (en) Program exception handling method
JPH0823849B2 (en) Memory read register controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20240201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240730

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20241029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241111

R150 Certificate of patent or registration of utility model

Ref document number: 7596638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150