JP2021189988A - 電子制御装置及び電子制御装置の制御方法 - Google Patents

電子制御装置及び電子制御装置の制御方法 Download PDF

Info

Publication number
JP2021189988A
JP2021189988A JP2020097420A JP2020097420A JP2021189988A JP 2021189988 A JP2021189988 A JP 2021189988A JP 2020097420 A JP2020097420 A JP 2020097420A JP 2020097420 A JP2020097420 A JP 2020097420A JP 2021189988 A JP2021189988 A JP 2021189988A
Authority
JP
Japan
Prior art keywords
core
type
control device
class
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.)
Pending
Application number
JP2020097420A
Other languages
English (en)
Inventor
翔 奥山
Sho Okuyama
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
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 Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to JP2020097420A priority Critical patent/JP2021189988A/ja
Publication of JP2021189988A publication Critical patent/JP2021189988A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】ロックステップコアを設けることなく、電子制御装置が有する複数のコアの監視を実現する。【解決手段】複数のコアとメモリとを備える電子制御装置は、複数のコアの中から、第1種コアとなるコアと、第2種コアとなるコアとを選択することによって、ロックステップ方式の動作を実行させるコアペアを複数生成する切替制御部と、複数のコアペアの各々について、第1種コア及び第2種コアが同期して実行したプログラムの演算結果を比較することによって、第1種コア及び第2種コアの少なくともいずれかに異常が発生しているか否かを示す判定結果を出力するエラー検出部と、を備え、エラー検出部は、複数のコアペアの判定結果に基づいて、異常が発生しているコアを特定する。【選択図】 図1

Description

本発明は、電子制御装置に関する。
機能安全要求では、安全要求、又は安全目標を侵害する潜在的な可能性のある障害及び故障を防止する必要があり、CPU(Central Processing Unit)等の演算装置が正しく機能していることを診断するための診断処理を実行する必要がある。
診断処理の手法として、2個以上のCPUに同じ命令(プログラム)を同期実行させ、各CPUの演算結果を比較し、演算結果に差がある場合に異常と判定するロックステップ方式が一般的に活用されている。
近年、演算装置の性能の向上による診断対象となるコアの増加に伴って、診断機能を向上させ、かつ、コアに異常が発生した場合でも、診断機能を喪失させない仕組みが必要である。これに対して特許文献1に記載の技術が知られている。
特許文献1には、「複数のコアとそのコア数よりも少数のロックステップコアとを有するマルチコアプロセッサを備える情報処理装置は、エラー許容できない第1エラーレベルのプログラムスレッドがロックステップコアの数を超えて時間重複しないようにプログラムをスケジューリングする。第1エラーレベルのプログラムスレッドがあるときは第1エラーレベルのプログラムスレッドを、第1エラーレベルのプログラムスレッドが無いときは何れかのコアが実行する第2エラーレベルのプログラムスレッドを、それぞれロックステップコアに同期実行させる。コアとロックステップコアとの命令実行結果の比較によりコアを監視する」ことが記載されている。
特開2016−157247号公報 特開平07−302207号公報
特許文献1に記載の技術では、ロックステップコアが故障した場合、診断機能を喪失してしまう。そのため、機能診断の喪失を回避するために冗長性を確保する必要があり、すなわち、ロックステップコアを複数設ける必要がある。搭載するロックステップコアの数を増やすと回路面積が増大するため、電子制御装置が大規模となり、消費電流及びコストが増大するという問題があった。
本発明は、ロックステップコアを設けることなく、コアを監視可能な電子制御装置を提供する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のコアと、前記複数のコアに接続されるメモリと、を備える電子制御装置であって、前記複数のコアは3つ以上であって、前記電子制御装置は、前記複数のコアの中から、第1種コアとなる前記コアと、第2種コアとなる前記コアとを選択することによって、前記第1種コア及び前記第2種コアから構成され、ロックステップ方式の動作を実行させるコアペアを複数生成する切替制御部と、前記複数のコアペアの各々について、前記第1種コア及び前記第2種コアが同期して実行したプログラムの演算結果を比較することによって、前記第1種コア及び前記第2種コアの少なくともいずれかに異常が発生しているか否かを示す判定結果を出力するエラー検出部と、を備え、前記第1種コアは、当該第1種コア及び前記第2種コアに前記プログラムを実行させ、前記エラー検出部は、前記複数のコアペアの前記判定結果に基づいて、異常が発生している前記コアを異常コアとして特定する。
本発明によれば、複数のコアを有する電子制御装置は、ロックステップコアを設けることなく、コアを監視できる。
本実施形態の電子制御装置の構成の一例を示す図である。 本実施形態の切替器の構成の詳細を示す図である。 本実施形態の電子制御装置の処理の概念を説明するフローチャートである。 本実施形態の第1制御レジスタの構成の一例を示す図である。 本実施形態の第2制御レジスタの構成の一例を示す図である。 本実施形態の結果レジスタの構成の一例を示す図である。 実施例1の電子制御装置が実行する診断処理におけるコア間の同期した処理のタイミングチャートの一例を示す図である。 実施例1の電子制御装置の結果レジスタの遷移の一例を示す図である。 実施例1の電子制御装置が実行するコア選択処理の一例を説明するフローチャートである。
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
まず、本発明の概要について説明する。
図1は、本実施形態の電子制御装置100の構成の一例を示す図である。
電子制御装置100は、3つ以上のコア101で構成されるマルチコアプロセッサ、メモリ102、切替器103、エラー検出器104、第1制御レジスタ105、第2制御レジスタ106、及び結果レジスタ107を備える。
図1に示すマルチコアプロセッサは、N個のコア101で構成される。各コア101は、互いに独立して動作可能である。ここで、コア101に付された(1)、(2)等の符号はコア番号を表す。尚、Nは3以上の整数である。
メモリ102は、各コア101が実行するプログラムを格納し、また、プログラムが使用するワークエリアとしても利用される。コア101は、メモリ102からプログラムを読み出し、実行する。尚、各コア101は、通信線110を介してメモリ102と接続する。
本実施形態のメモリ102には、切替制御部120を実現するプログラムと、動作検証に用いるプログラム(検証プログラム)とが格納される。尚、メモリ102には電子制御装置100を搭載する装置の制御プログラム等が格納されてもよい。
切替制御部120は、故障又は障害が発生したコア101を特定するための診断処理を実行する。切替制御部120は、ロックステップ方式の動作を実行させるコアペアを構成する監視対象のコア101及び監視するコア101を切り替える機能を有する。切替制御部120の機能の詳細については後述する。
本明細書では、監視対象のコアを第1種コアと記載し、監視するコアを第2種コアと記載する。また、本明細書では、故障又は障害があるコアを異常コアと記載する。尚、コア101の故障はハードウェア的及びソフトウェア的な故障を含み、コア101の障害はハードウェア的及びソフトウェア的な異常を含む。
エラー検出器104は、ロックステップ方式のエラー検出手段を実現する。具体的には、エラー検出器104は、2個のコア101が同期して実行した同一処理(検証プログラム)の演算結果を比較し、演算結果に違いがある場合、コアペアを構成する少なくともいずれかのコア101に故障又は障害が発生していると判定する。尚、ロックステップ方式のエラー検出手段は、例えば、特許文献2に開示されているバス照合型検出方式等が知られている。
切替器103は、エラー検出器104に値を出力するコア101を切り替える。切替器103は、後述するように、エラー検出器104とコア101との間の接続を切り替えるセレクタ200、201(図2参照)を含む。切替器103及びエラー検出器104は、通信線118、119を介して互いに接続される。切替器103は、通信線118、119を介して、第1種コア及び第2種コアの演算結果をエラー検出器104に出力する。
第1制御レジスタ105は、第1種コアとして選択されたコア101を示す値を格納する。第2制御レジスタ106は、第2種コアとして選択されたコア101を示す値を格納する。第1制御レジスタ105及び第2制御レジスタ106に格納される値は、通信線118、119とコア101との接続を制御するために用いられる。
尚、電子制御装置100は、切替器103に含まれるセレスタの数だけ制御レジスタを含む。本実施形態では、切替器103は二つのセレクタ200、201を含むため、電子制御装置100は、第1制御レジスタ105及び第2制御レジスタ106を含む。
各コア101は、通信線112を介して第1制御レジスタ105と接続し、通信線113を介して第2制御レジスタ106と接続する。コア101は、通信線112を介して第1制御レジスタ105に値を書き込み、また、通信線113を介して第2制御レジスタ106に値を書き込む。切替器103は、通信線114を介して第1制御レジスタ105と接続し、通信線115を介して第2制御レジスタ106と接続する。切替器103は、通信線114を介して第1制御レジスタ105の値を読み出し、通信線115を介して第2制御レジスタ106の値を読み出す。
結果レジスタ107は、エラー検出器104の判定結果を格納する。結果レジスタ107に格納される判定結果は異常コアを特定するために用いられる。
各コア101は、通信線117を介して結果レジスタ107と接続する。エラー検出器104は、通信路116を介して結果レジスタ107と接続する。エラー検出器104は、通信路116を介して結果レジスタ107に判定結果を書き込み、また、結果レジスタ107に格納される判定結果を読み出す。
ここで、図1を用いて電子制御装置100の動作概念について説明する。
(処理A)切替制御部120を実行するコア101は第1種コアとしてコア(1)を選択し、第2種コアとしてコア(3)を選択する。コア(1)が切替制御部120として動作を開始する。尚、切替制御部120は、予め設定された情報に基づいて第1種コア及び第2種コアとなるコア101を選択する。
(処理B)切替制御部120として動作するコア(1)は、コア(1)及びコア(3)に割込を発生させ、また、コア(1)が第1種コアとなり、コア(3)が第2種コアとなるように切替器103内のセレクタ200、201(図2参照)を切り替える。コア(1)及びコア(3)は、それぞれ、同じ検証プログラムを同期して実行し、演算結果を切替器103に出力する。切替器103は、2つの演算結果をエラー検出器104に出力する。
(処理C)エラー検出器104は、2つの演算結果が等しいか否かを判定する。2つの演算結果が等しい場合、エラー検出器104は正常を示す判定結果を結果レジスタ107に書き込む。2つの演算結果が異なる場合、エラー検出器104は異常を示す判定結果を結果レジスタ107に書き込む。
切替制御部120は、第1種コア及び第2種コアとなるコア101を切り替えることによって新たなコアペア(第1種コア及び第2種コアの組合せ)を生成し、当該コアペアについて(処理A)、(処理B)、(処理C)を実行する。すなわち、各コアペアに対して(処理A)、(処理B)、(処理C)が繰り返し実行される。
(処理D)全てのコアペアについて(処理A)、(処理B)、(処理C)が実行された後、エラー検出器104は、結果レジスタ107に格納される判定結果を読み出し、当該判定結果に基づいて異常コアを特定する。
ここでは、切替制御部120が、切替器103に含まれるセレクタ200、201の切替等の処理を実行しているが、RTOS(Real Time Operating System)が切替制御部120の処理の一部又は全部を実行してもよい。また、エラー検出器104が異常コアの特定等の処理を実行しているが、RTOSがエラー検出器104の処理の一部又は全部を実行してもよい。
図2は、本実施形態の切替器103の構成の詳細を示す図である。
切替器103は2つのセレクタ200、201を含む。切替制御部120は、第1制御レジスタ105に格納される値に基づいて、切替器103に、第1種コアとして選択されたコア101と接続する通信線111が通信線118につながるようにセレクタ200の切替を指示する。また、切替制御部120は、第2制御レジスタ106に格納される値に基づいて、切替器103に、第2種コアとして選択されたコア101と接続する通信線111が通信線119につながるようにセレクタ201の切替を指示する。
尚、セレクタ200を第2種コアと接続するために用い、セレクタ201を第1種コアと接続するために用いてもよい。
尚、切替器103は、セレクタ200、201の組を2つ以上含んでもよい。セレクタの組にあわせて複数のエラー検出器104及び結果レジスタ107を用意することによって、(処理A)、(処理B)、(処理C)を並列に実行できる。(処理D)では、複数の結果レジスタ107に格納される判定結果をマージして、異常コアが特定される。
図3は、本実施形態の電子制御装置100の処理の概念を説明するフローチャートである。
切替制御部120として動作するコア101は、第1種コア及び第2種コアを選択する(ステップS301)。このとき、第1種コアとして選択されたコア101が切替制御部120として動作を開始する。尚、第1種コア及び第2種コアが選択される前に切替制御部120として動作するコア101はいずれのコア101でもよい。
第1種コアは、検証プログラムの先頭アドレスをメモリ102に格納する(ステップS302)。
第1種コアは、第1種コア及び第2種コアにソフトウェア割り込みを発生させる(ステップS303)。ソフトウェア割り込みを用いて第1種コア及び第2種コアに検証プログラムを同期実行させるため、電子制御装置100は割り込みに必要なハードウェアを有していなくてもよい。これによって、ハードウェアの規模を小さくできる。
尚、第1種コア及び第2種コアへの割込はソフトウェア割込に限定されない。2つのコア101に同時に割込を発生させることができる方法であればよい。
第1種コアは、第1制御レジスタ105及び第2制御レジスタ106の各々に、各コア101のコア番号を設定する(ステップS304)。第1制御レジスタ105及び第2制御レジスタ106の各々に値が設定された後、セレクタ200、201は、対応するコア101の通信線111と接続するように切り替えられる。
第1種コア及び第2種コアは、メモリ102に格納される検証プログラムの先頭アドレスを読み出すことによって、当該プログラムに対応する処理を実行する(ステップS305)。各コア101の演算結果は切替器103を介してエラー検出器104に出力される。
エラー検出器104は、二つのコア101の演算結果を比較することによって判定結果(正常又は異常)を生成し、結果レジスタ107に判定結果を格納する(ステップS306)。
本実施例では、第1種コア及び第2種コアとなるコア101が切り替えられ、ステップS302からステップS306までの処理が実行される。
次に、第1制御レジスタ105、第2制御レジスタ106、及び結果レジスタ107に格納される値について説明する。
図4Aは、本実施形態の第1制御レジスタ105の構成の一例を示す図である。図4Bは、本実施形態の第2制御レジスタ106の構成の一例を示す図である。図5は、本実施形態の結果レジスタ107の構成の一例を示す図である。
第1制御レジスタ105、第2制御レジスタ106、及び結果レジスタ107は、N個のビットを含む。各レジスタのLSB側から順に、コア番号に対応するコア101が対応付けられている。図4A、図4B、及び図5の各レジスタの上方の0からN−1までの値はビットの桁を表す。図4A、図4B、及び図5の各レジスタの上方の(1)から(N)までの値はコア番号を表す。
各レジスタのビットには0及び1のいずれかが格納される。ここで、各レジスタへの値の書き込みと、各レジスタを用いた制御について説明する。
第1制御レジスタ105の各ビットの初期値は0となっている。切替制御部120は、第1種コア及びエラー検出器104を接続するために、第1種コアに対応するビットに1を書き込む。これによって、セレクタ200の接続が切り替えられる。
第2制御レジスタ106の各ビットの初期値は0となっている。切替制御部120は、第2種コア及びエラー検出器104を接続するために、第2種コアに対応するビットに1を書き込む。これによって、セレクタ201の接続が切り替えられる。
例えば、LSB側から2番目のビットに1が設定された場合、セレクタ201は、コア(2)とエラー検出器104とを接続するように制御する。
結果レジスタ107の各ビットの初期値は0となっている。エラー検出器104は、第1種コア及び第2種コアの演算結果が一致する場合、第1種コア及び第2種コアの各々に対応するビットに0を書き込み、第1種コア及び第2種コアの演算結果が異なる場合、第1種コア及び第2種コアの各々に対応するビットに1を書き込む。尚、結果レジスタ107の各ビットへの値の書き込みは、対応するコア101が行ってもよい。
例えば、コア(2)及びコア(3)の演算結果が異なる場合、エラー検出器104は、LSB側から2番目及び3番目のビットに1を書き込む。
尚、コア101からエラー検出器104への出力を切り替える切替器103は、切替制御部120の一機能として実現してもよい。また、エラー検出器104は、ソフトウェアを用いて実現してもよい。
電子制御装置100の具体的な処理について説明する。
図6は、実施例1の電子制御装置100が実行する診断処理におけるコア101間の同期した処理のタイミングチャートの一例を示す図である。尚、図6は、第1種コア及び第2種コアの切替のタイミングチャートとしても理解できる。
図6では、時刻T1において、コア(1)及びコア(2)が検証プログラムを同期実行し、時刻T2において、コア(2)及びコア(3)が検証プログラムを同期実行し、時刻T3において、コア(3)及びコア(N)が検証プログラムを同期実行し、時刻T4において、コア(N)及びコア(1)が検証プログラムを同期実行する。
図6において、斜線部は検証プログラムが同期実行されている期間を示し、空白部分は各コア101の独立した処理が実行されている期間を示す。
尚、同期実行する検証プログラムはコアペア毎に異なっていてもよいし、また、同一でもよい。
図7は、実施例1の電子制御装置100の結果レジスタ107の遷移の一例を示す図である。
ここでは、図6に示すタイミングチャートにしたがって、コア101間で同期した処理が実行されたものとする。
本実施例では、切替制御部120はRTOSの一機能として組み込まれているものとする。尚、切替制御部120はRTOSと独立したモジュールでもよい。
RTOSは、第1種コアとしてコア(1)を選択し(ステップS301)、第2種コアとしてコア(2)を選択し、検証プログラムの先頭アドレスをメモリ102に格納する(ステップS302)。
RTOSは、コア(1)及びコア(2)に同時に割込を発生させる(ステップS303)。
RTOSは、第1制御レジスタ105のLSB側から1番目のビットに1を書き込み、第2制御レジスタ106のLSB側から2番目のビットに1を書き込む(ステップS304)。
RTOSは、コア(1)及びコア(2)に検証プログラムの先頭アドレスを渡す(ステップS305)。コア(1)及びコア(2)は時刻T1において同期して処理を実行する。また、各コア101の演算結果がエラー検出器104に入力される。
エラー検出器104は、演算結果を比較することによって判定結果を生成し、判定結果を結果レジスタ107に書き込む(ステップS306)。この結果、結果レジスタ107は、図7の一番上のような状態になったものとする。
RTOSは、タイミングチャートにしたがって、コア(2)及びコア(3)、コア(3)及びコア(N)、コア(N)及びコア(1)についても同様の処理を実行する。
コア(2)及びコア(3)については、エラー検出器104は、第1種コア及び第2種コアの演算結果が異なるため、結果レジスタ107のLSB側から2番目及び3番目のビットに1を書き込む。その結果、結果レジスタ107は図7の上から2番目の状態に遷移する。
コア(3)及びコア(N)については、エラー検出器104は、第1種コア及び第2種コアの演算結果が一致するため、結果レジスタ107のLSB側から3番目及びMSB側から1番目のビットに0を書き込む。その結果、結果レジスタ107は図7の上から3番目の状態に遷移する。
コア(N)及びコア(1)については、エラー検出器104は、第1種コア及び第2種コアの演算結果が一致するため、結果レジスタ107のLSB側から1番目及びMSB側から1番目のビットに0を書き込む。その結果、結果レジスタ107は図7の上から4番目の状態に遷移する。
エラー検出器104は、全てのコアペアついて処理が完了した後、結果レジスタ107を参照し、異常コアを特定する。具体的には、RTOSは、1が格納されるビットに対応するコア101を、異常コアとして特定する。図7に示す結果レジスタ107の場合、コア(2)が異常コアとして特定される。尚、異常コアを特定する機能は、RTOSが備えてもよい。
尚、実施例1では、すべてのコア101を同期して処理を実行しているが、最低3つのコアで上述した処理を行うことによって異常コアを特定できる。
エラー検出器104は、以降に処理において、コア(2)が第2種コアとして選択されないように制御する。具体的には、エラー検出器104は、第2種コアとして選択するコア101の中からコア(2)を除外するために、コア(2)のコア番号をメモリ102のワークエリアに格納する。
ここで、異常コアが特定された後の診断処理における第1種コア及び第2種コアの選択方法について説明する。
図8は、実施例1の電子制御装置100が実行するコア選択処理の一例を説明するフローチャートである。
コア選択処理は、ステップS301に包含される処理である。ここでは、コア(2)が異常コアとして特定されたものとする。
RTOSは、コア(1)を第1種コアとして選択し、第1種コアの識別情報としてコア(1)のコア番号をメモリ102のワークエリアに格納する(ステップS801)。
RTOSは、コア(2)を第2種コアとして選択し、第2種コアの識別情報としてコア(2)のコア番号をメモリ102のワークエリアに格納する(ステップS802)。
RTOSは、メモリ102のワークエリアに格納される異常コアのコア番号を参照する(ステップS803)。ここでは、ワークエリアには、コア(2)のコア番号が格納される。
RTOSは、第2種コアとして選択されたコア101が異常コアであるか否かを判定する(ステップS804)。すなわち、RTOSは、ワークエリアに格納された第2種コアのコア番号が、異常コアのコア番号と一致するか否かを判定する。第2種コアのコア番号が異常コアのコア番号と一致する場合、RTOSは、第2種コアとして選択されたコア101が異常コアである判定する。
第2種コアとして選択されたコア101が異常コアでない場合、RTOSは、第2種コアを変更することなくコア選択処理を終了する。
第2種コアとして選択されたコア101が異常コアである場合、RTOSは、第2種コアを再選択する(ステップS805)。その後、RTOSはコア選択処理を終了する。
具体的には、RTOSは、第1種コアとして選択されたコア101及び異常コアとして特定されたコア101を除くコア101の中から第2種コアを選択し、第2種コアの識別情報として選択されたコア101のコア番号をメモリ102のワークエリアに格納する。ここでは、コア(2)の代わりに別のコア101が第2種コアとして選択される。
以上の処理を実行することによって、第2種コアとして選択されたコア101が異常コアである場合、正常なコア101に代替えされる。
尚、異常コアが複数ある場合、照合のパターンを変更することによって、異常コアを正常なコア101に代替することができる。
本発明によれば、電子制御装置100は、第1種コア及び第2種コアを切り替えながら、コア101間で同期した処理を実行させることによって、異常コアを特定することができる。また、第2種コアが故障コアである場合、故障コア以外のコア101が第2種コアに代替えされるため、安定したコア101の異常診断を行うことができる。
電子制御装置100に含まれるコア101の数にあわせて予めコアペアを設定する必要がないため、ハードウェアの制限を受けることなくコア101の異常診断を実現できる。
また、切替器103を用いて、エラー検出器104に演算結果を出力するコア101を切り替えるため、第1種コア及び第2種コアの同期処理の演算結果を比較するエラー検出器104は少なくてよい。これによって、電子制御装置100の大規模化を抑えつつ、コア101の異常診断を実現できる。
尚、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
100 電子制御装置
101 コア
102 メモリ
103 切替器
104 エラー検出器
105 第1制御レジスタ
106 第2制御レジスタ
107 結果レジスタ
110、111、112、113、114、115、116、117、118、119 通信線
120 切替制御部
200、201 セレクタ

Claims (6)

  1. 複数のコアと、前記複数のコアに接続されるメモリと、を備える電子制御装置であって、
    前記複数のコアは3つ以上であって、
    前記電子制御装置は、
    前記複数のコアの中から、第1種コアとなる前記コアと、第2種コアとなる前記コアとを選択することによって、前記第1種コア及び前記第2種コアから構成され、ロックステップ方式の動作を実行させるコアペアを複数生成する切替制御部と、
    前記複数のコアペアの各々について、前記第1種コア及び前記第2種コアが同期して実行したプログラムの演算結果を比較することによって、前記第1種コア及び前記第2種コアの少なくともいずれかに異常が発生しているか否かを示す判定結果を出力するエラー検出部と、
    を備え、
    前記第1種コアは、当該第1種コア及び前記第2種コアに前記プログラムを実行させ、
    前記エラー検出部は、前記複数のコアペアの前記判定結果に基づいて、異常が発生している前記コアを異常コアとして特定することを特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置であって、
    前記エラー検出部は、前記異常コアとして特定された前記コアの識別情報を前記メモリに書き込み、
    前記切替制御部は、
    前記第1種コアとなる前記コアと、前記第2種コアとなる前記コアとを選択した場合、前記識別情報を参照して、前記第2種コアとして選択された前記コアが前記異常コアであるか否かを判定し、
    前記第2種コアとして選択された前記コアが前記異常コアである場合、前記第1種コア及び前記第2種コアとして選択されている前記コアを除く前記複数のコアの中から前記第2種コアとなる前記コアを選択することを特徴とする電子制御装置。
  3. 請求項1に記載の電子制御装置であって、
    前記第1種コアは、ソフトウェア割込を発生させることによって、前記第1種コア及び前記第2種コアに前記プログラムを実行させることを特徴とする電子制御装置。
  4. 複数のコアと、前記複数のコアに接続されるメモリと、を有する電子制御装置の制御方法であって、
    前記複数のコアは3つ以上であって、
    前記電子制御装置は、切替制御部及びエラー検出部を含み、
    前記電子制御装置の制御方法は、
    前記切替制御部が、前記複数のコアの中から、第1種コアとなる前記コアと、第2種コアとなる前記コアとを選択することによって、ロックステップ方式の動作を実行させるコアペアを複数生成する第1のステップと、
    前記第1種コアが、当該第1種コア及び前記第2種コアに同期してプログラムを実行させる第2のステップと、
    前記エラー検出部が、前記複数のコアペアの各々について、前記第1種コア及び前記第2種コアが同期して実行した前記プログラムの演算結果を比較することによって、前記第1種コア及び前記第2種コアの少なくともいずれかに異常が発生しているか否かを示す判定結果を出力する第3のステップと、
    前記エラー検出部が、前記複数のコアペアの前記判定結果に基づいて、異常が発生している前記コアを異常コアとして特定する第4のステップと、を含むことを特徴とする電子制御装置の制御方法。
  5. 請求項4に記載の電子制御装置の制御方法であって、
    前記第4のステップは、前記エラー検出部が、前記異常コアとして特定された前記コアの識別情報を前記メモリに書き込むステップを含み、
    前記第1のステップは、
    前記切替制御部が、前記第1種コア及び前記第2種コアとなる前記コアを選択した場合、前記識別情報を参照して、前記第2種コアとして選択された前記コアが前記異常コアであるか否かを判定するステップと、
    前記切替制御部が、前記第2種コアとして選択された前記コアが前記異常コアである場合、前記第1種コア及び前記第2種コアとして選択されている前記コアを除く前記複数のコアの中から前記第2種コアとなる前記コアを選択するステップと、を含むことを特徴とする電子制御装置の制御方法。
  6. 請求項4に記載の電子制御装置の制御方法であって、
    前記第2のステップは、前記第1種コアが、ソフトウェア割込を発生させることによって、前記第1種コア及び前記第2種コアに前記プログラムを実行させるステップを含むことを特徴とする電子制御装置の制御方法。
JP2020097420A 2020-06-04 2020-06-04 電子制御装置及び電子制御装置の制御方法 Pending JP2021189988A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020097420A JP2021189988A (ja) 2020-06-04 2020-06-04 電子制御装置及び電子制御装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020097420A JP2021189988A (ja) 2020-06-04 2020-06-04 電子制御装置及び電子制御装置の制御方法

Publications (1)

Publication Number Publication Date
JP2021189988A true JP2021189988A (ja) 2021-12-13

Family

ID=78849634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020097420A Pending JP2021189988A (ja) 2020-06-04 2020-06-04 電子制御装置及び電子制御装置の制御方法

Country Status (1)

Country Link
JP (1) JP2021189988A (ja)

Similar Documents

Publication Publication Date Title
US6385755B1 (en) Information processing system and logic LSI, detecting a fault in the system or the LSI, by using internal data processed in each of them
JPH05197582A (ja) 動的再構成が可能な多数決システムを有するフォールト・トレラント処理装置
US10114356B2 (en) Method and apparatus for controlling a physical unit in an automation system
JP2000187600A (ja) ウオッチドッグタイマ方式
JPS59106056A (ja) フエイルセイフ式デ−タ処理システム
JP2021189988A (ja) 電子制御装置及び電子制御装置の制御方法
JP2013257640A (ja) コンフィグレーション制御装置、コンフィグレーション制御方法及びコンフィグレーション制御プログラム
WO2015068285A1 (ja) プログラマブルデバイス及びこれを用いた電子システム装置
US5280606A (en) Fault recovery processing for supercomputer
JPH04232535A (ja) 耐故障処理システムの修正方法
JP4232589B2 (ja) 二重化コントローラ、その等値化モード決定方法
KR20080032166A (ko) 반도체 회로를 구성하는 장치 및 방법
JPH1063541A (ja) コンピュータシステムのプログラム暴走監視装置
JP2016170521A (ja) 正常なプロセッサの抽出方法及びプログラム、情報処理装置
JP5227653B2 (ja) 多重化計算機システム、及びその処理方法
JP4399792B2 (ja) 二重化プロセッサシステム
JPH07271625A (ja) 情報処理装置
JPH03219360A (ja) マルチプロセッサ制御方式
JP2003337758A (ja) 二重化メモリシステム
JP3913221B2 (ja) 情報処理装置
JPH10260856A (ja) 演算プロセッサ装置
JP3527825B2 (ja) 記憶装置
WO2019188173A1 (ja) 半導体装置
JPH0462641A (ja) マルチプロセッサシステム
JP2003345676A (ja) 二重化メモリシステム