(57)【要約】  入力信号を受け取る演算回路と、前記入力信号を受け取る検算回路と、を有し、前記演算回路は、前記入力信号に基づき演算した数値解を前記検算回路へ出力し、前記検算回路は、前記演算回路から受け取った前記数値解を復元後入力信号へ復元し、復元した前記復元後入力信号と受け取った前記入力信号とに基づきエラーの有無を判定し、エラーの有無の判定結果を出力することで、回路を２重化するよりも少ない回路量でエラー検出が可能になる。
2017029766.tif 000002
【特許請求の範囲】
【請求項１】
入力信号を受け取る演算回路と、前記入力信号を受け取る検算回路と、を有し、
前記演算回路は、前記入力信号に基づき演算した数値解を前記検算回路へ出力し、
前記検算回路は、前記演算回路から受け取った前記数値解を復元後入力信号へ復元し、復元した前記復元後入力信号と受け取った前記入力信号とに基づきエラーの有無を判定し、エラーの有無の判定結果を出力する、
情報処理回路。
【請求項２】
請求項１に記載の情報処理回路において、
前記演算回路は、連立一次方程式を解くことで前記数値解を演算し、
前記検算回路は、復元した前記復元後入力信号と受け取った前記入力信号とに基づき前記連立一次方程式の検算を行う、
情報処理回路。
【請求項３】
請求項２に記載の情報処理回路において、
前記演算回路は、反復法を用いて前記連立一次方程式を解く、
情報処理回路。
【請求項４】
請求項３に記載の情報処理回路において、
前記演算回路は、ＧＭＲＥＳ法を用いて前記連立一次方程式を解く、
情報処理回路。
【請求項５】
請求項３に記載の情報処理回路において、
前記演算回路は、ＣＧ法を用いて前記連立一次方程式を解く、
情報処理回路。
【請求項６】
請求項３に記載の情報処理回路において、
前記演算回路は、ＳＯＲ法を用いて前記連立一次方程式を解く、
情報処理回路。
【請求項７】
請求項２に記載の情報処理回路において、
前記演算回路は、直接法を用いて前記連立一次方程式を解く、
情報処理回路。
【請求項８】
請求項２に記載の情報処理回路において、
前記演算回路は、ＬＵ分解を用いて前記連立一次方程式を解く、
情報処理回路。
【請求項９】
請求項１に記載の情報処理回路において、
前記演算回路は、非線形方程式を解くことで前記数値解を演算し、
前記検算回路は、復元した前記復元後入力信号と受け取った前記入力信号とに基づき前記非線形方程式の検算を行う、
情報処理回路。
【請求項１０】
請求項９に記載の情報処理回路において、
前記演算回路は、ニュートン法を用いて前記非線形方程式を解く、
情報処理回路。
【請求項１１】
請求項１に記載の情報処理回路において、
前記演算回路と接続される後処理回路をさらに有し、
前記演算回路は、前記数値解を前記後処理回路へ出力し、
前記後処理回路は、前記検算回路と異なる演算を行い、演算結果を出力する、
情報処理回路。
【請求項１２】
請求項１に記載の情報処理回路において、
前記演算回路と接続される後処理回路をさらに有し、
前記演算回路は、前記数値解を前記後処理回路へ出力し、
前記後処理回路は、出力された前記数値解が前記検算回路で処理可能なデータでない場合に、前記数値解に基づき前記検算回路で処理可能なデータを生成し、生成した前記データを前記検算回路へ出力する、
情報処理回路。
【請求項１３】
入力信号を受け取る演算回路と、前記入力信号を受け取る前処理回路と、前記前処理回路および前記演算回路と接続される検算回路と、を有し、
前記演算回路は、前記入力信号に基づき演算した数値解を前記検算回路へ出力し、
前記前処理回路は、受け取った入力信号に対する前処理を行うことで、前処理後入力信号を生成し、生成した前処理後入力信号を前記検算回路へ出力し、
前記検算回路は、前記演算回路から受け取った前記数値解を復元後入力信号へ復元し、復元した前記復元後入力信号と、受け取った前記前処理後入力信号とに基づきエラーの有無を判定し、エラーの有無の判定結果を出力する、
情報処理回路。
【請求項１４】
入力信号を受け取る前処理回路と、前記入力信号を受け取る検算回路と、を有し、
前記前処理回路は、前記入力信号に対する前処理を行い、前処理を行った後の前処理後入力信号を演算回路へ出力し、
前記演算回路は、前記前処理後入力信号に基づき演算した数値解を前記検算回路へ出力し、
前記検算回路は、前記演算回路から受け取った前記数値解を復元後入力信号へ復元し、復元した前記復元後入力信号と、受け取った前記入力信号とに基づきエラーの有無を判定し、エラーの有無の判定結果を出力する、
情報処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理回路に関する。
【背景技術】
【０００２】
近年、半導体のビット内情報が反転するシングルイベントアップセットの問題が顕在化している。これは半導体製造技術の進歩にともなうプロセスルールの微細化により、半導体の臨界電荷量が減少しているためである。臨界電荷量とはデータの反転を引き起こすために必要な電荷量であり、例えば高エネルギーの中性子放射線が半導体に衝突し反応することで臨界電荷量を上回る。臨界電荷量を上回るとデータ（ビット内情報）が反転し、シングルイベントアップセットが生じる。産業応用を目的とする組込システムには高い信頼性が求められており、演算回路上に発生するシングルイベントアップセットの影響を低減するための技術開発が必要となる。特開平５−３０８３９９号公報（特許文献１）には、同一の回路を２つ並べて並列に動作させ、その出力を比較することで回路上に発生したエラーを検出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３０８３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されている技術では、エラー検出により故障を未然に防ぐことができ、システムの信頼性が向上する。しかしながら、特許文献１に開示されている技術では、回路を２重化することで２倍の回路量が必要となり、ハードウェアの実装コストが大きくなるという問題点あった。本発明の目的は、回路を２重化するよりも少ない回路量でエラー検出が可能な情報処理回路を提供することである。
【課題を解決するための手段】
【０００５】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。【０００６】
本発明の一実施の形態の情報処理回路は、入力信号を受け取る演算回路と、前記入力信号を受け取る検算回路とを有する。また、前記演算回路は、前記入力信号に基づき演算した数値解を前記検算回路へ出力する。また、前記検算回路は、前記演算回路から受け取った前記数値解を復元後入力信号へ復元し、復元した前記復元後入力信号と受け取った前記入力信号とに基づきエラーの有無を判定し、エラーの有無の判定結果を出力する。
【発明の効果】
【０００７】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。【０００８】
本発明の代表的な実施の形態によれば、回路を２重化するよりも少ない回路量でエラー検出が可能な情報処理回路を実現できる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１における情報処理回路の構成例の概要を示す図である。
【図２】実施の形態１における連立一次方程式演算回路の構成例の概要を示す図である。
【図３】実施の形態１における連立一次方程式検算回路の構成例の概要を示す図である。
【図４】実施の形態１における情報処理回路のタイミングチャートである。
【図５】実施の形態１における情報処理回路のタイミングチャートである。
【図６】実施の形態１における情報処理回路のタイミングチャートである。
【図７】実施の形態１における情報処理回路のタイミングチャートである。
【図８】実施の形態１における情報処理回路の動作を示す状態遷移図である。
【図９】実施の形態１における連立一次方程式検算回路の動作を示す状態遷移図である。
【図１０】実施の形態１における情報処理回路による処理の概要を示すフローチャートである。
【図１１】実施の形態１における連立一次方程式演算回路による処理の概要を示すフローチャートである。
【図１２】実施の形態１における連立一次方程式検算回路による処理の概要を示すフローチャートである。
【図１３】実施の形態２における連立一次方程式演算回路の構成例の概要を示す図である。
【図１４】実施の形態２における立一次方程式演算回路によるＣＧ法を用いた処理の概要を示すフローチャートである。
【図１５】実施の形態３における連立一次方程式演算回路の構成例の概要を示す図である。
【図１６】実施の形態３における連立一次方程式演算回路によるＳＯＲ法を用いた処理の概要を示すフローチャートである。
【図１７】実施の形態４における連立一次方程式演算回路の構成例の概要を示す図である。
【図１８】実施の形態４における連立一次方程式演算回路によるＬＵ分解を用いた処理の概要を示す図である。
【図１９】実施の形態５における情報処理回路の構成例の概要を示す図である。
【図２０】実施の形態５における非線形方程式演算回路の構成例の概要を示す図である。
【図２１】実施の形態５における非線形方程式検算回路の構成例の概要を示す図である。
【図２２】実施の形態５における情報処理回路による処理の概要を示すフローチャートである。
【図２３】実施の形態５における非線形方程式演算回路による処理の概要を示すフローチャートである。
【図２４】実施の形態５における非線形方程式検算回路による処理の概要を示すフローチャートである。
【図２５】実施の形態６における情報処理回路の構成例の概要を示す図である。
【図２６】実施の形態６における情報処理回路の構成例の概要を示す図である。
【図２７】実施の形態６における情報処理回路の構成例の概要を示す図である。
【図２８】実施の形態７における情報処理回路の構成例の概要を示す図である。
【図２９】実施の形態７における情報処理回路の構成例の概要を示す図である。
【発明を実施するための形態】
【００１０】
（実施の形態１）
【００１１】
以下、本発明の実施の形態１を、図１〜図１２を用いて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
＜全体構成＞
【００１２】
図１は、実施の形態１における情報処理回路１００の構成例の概要を示す図である。図１に示されるように、情報処理回路１００は、入力線１０１と、出力線１０２と、通知線１０３と、連立一次方程式演算回路１０４と、連立一次方程式検算回路１０５とを有する。
【００１３】
入力線１０１は、クロックを入力するためのＣＬＫと、リセット信号を入力するためのＲＳＴと、演算開始信号を入力するためのＩＶＬＤと、入力信号を入力するためのＩＤＡＴとからなる。
【００１４】
入力線１０１は、情報処理回路１００に入ると分岐し、連立一次方程式演算回路１０４と連立一次方程式検算回路１０５とに接続する。すなわち、入力線１０１のＣＬＫとＲＳＴとＩＶＬＤとＩＤＡＴは、それぞれが情報処理回路１００の内部で分岐し、連立一次方程式演算回路１０４と連立一次方程式検算回路１０５とに接続する。
【００１５】
連立一次方程式演算回路１０４と接続する出力線１０２は、ＯＶＬＤとＯＤＡＴとからなる。また、出力線１０２は、情報処理回路１００の内部で分岐し、一方が情報処理回路１００の上位システムに接続し、他方が連立一次方程式検算回路１０５に接続する。すなわち、出力線１０２のＯＶＬＤとＯＤＡＴとは、それぞれが情報処理回路１００の内部で分岐し、一方が情報処理回路１００の上位システムに接続し、他方が連立一次方程式検算回路１０５に接続する。
【００１６】
連立一次方程式演算回路１０４は、入力線１０１を介して、入力信号である連立一次方程式の係数行列Ａと右辺ベクトルｂとが出力され、以下の連立一次方程式（式（１））を解くことで数値解ｘ’を演算する。
式（１）：Ａｘ＝ｂ
【００１７】
そして、連立一次方程式演算回路１０４は、入力信号に基づき演算した数値解ｘ’を出力信号として出力線１０２（連立一次方程式検算回路１０５と接続する出力線）を介して連立一次方程式検算回路１０５へ出力するとともに、数値解ｘ’を出力線１０２（上位システムと接続する出力線）を介して情報処理回路１００の上位システムへ出力する。
【００１８】
連立一次方程式検算回路１０５は、入力線１０１を介して入力信号である連立一次方程式の係数行列Ａと右辺ベクトルｂとを受け取る。また、連立一次方程式検算回路１０５は、出力線１０２を介して、連立一次方程式演算回路１０４によって演算された数値解ｘ’を受け取る。連立一次方程式検算回路１０５は、これら入力データである、係数行列Ａと右辺ベクトルｂと数値解ｘ’を用いて、式（２）に表される連立一次方程式の検算を行う。
【００１９】
式（２）：||ｂ−Ａｘ’||＜ｅｐｓｉｌｏｎ
【００２０】
連立一次方程式検算回路１０５は、連立一次方程式演算回路１０４から受け取った数値解ｘ’を復元後入力信号である右辺ベクトルｂ’へと復元し、復元した右辺ベクトルｂ’と、入力信号の右辺ベクトルｂとに基づき連立一次方程式の検算を行うことで、エラーの有無を判定する。そして、連立一次方程式検算回路１０５は、エラーの有無の判定結果を示すエラー判定結果を、通知線１０３を介して上位システムへ出力する。例えば、連立一次方程式検算回路１０５は、係数行列Ａと数値解ｘ’との行列ベクトル積の演算を行うことで右辺ベクトルｂ’を復元し、入力信号として予め受け取っていた右辺ベクトルｂと復元した右辺ベクトルｂ’とを比較する。また、連立一次方程式検算回路１０５は、演算で得られた右辺ベクトルｂ’と受け取った右辺ベクトルｂを比較するために、それらの差分のノルム||ｂ−ｂ’||を演算し、演算したノルム||ｂ−ｂ’||と、許容誤差ｅｐｓｉｌｏｎと比較する。
【００２１】
ここで、許容誤差ｅｐｓｉｌｏｎを導入した理由は、実数演算が丸め誤差の影響を受けるためである。連立一次方程式などの実数演算の数値解ｘ’は真の解ｘとは異なり、また実数演算によって復元した右辺ベクトルｂ’は本来の右辺ベクトルｂと異なる。したがって許容誤差ｅｐｓｉｌｏｎを導入することで、数値解ｘ’が真の解ｘの近傍に存在することを上述した式（２）により評価する。連立一次方程式検算回路１０５は、式（２）が成立する場合（||ｂ−ｂ’||が、許容誤差ｅｐｓｉｌｏｎ未満である場合）には数値解ｘ’に誤りがなく、したがって連立一次方程式演算回路１０４にエラーが無いと判定する。逆に式（２）が成立しない場合（||ｂ−ｂ’||が、許容誤差ｅｐｓｉｌｏｎ以上である場合）には、連立一次方程式検算回路１０５は、数値解ｘ’に誤りが存在し、したがって連立一次方程式演算回路１０４にエラーが有ると判定する。連立一次方程式検算回路１０５は、エラーの有無の判定結果を示すエラー判定結果を、通知線１０３を介して上位システムへ出力する。
＜詳細構成＞
【００２２】
図２は、実施の形態１における連立一次方程式演算回路１０４の構成例の概要を示す図である。
【００２３】
図２に示されるように、連立一次方程式演算回路１０４は、連立一次方程式（Ａｘ＝ｂ）の係数行列Ａと右辺ベクトルｂを入力するための入力線１０１と、数値解ｘ’を出力するための出力線１０２と、バス１１０と、連立一次方程式演算制御ユニット１１１と、演算ユニット１１２と、演算データ保持ユニット１１３とを有する。
【００２４】
入力線１０１と出力線１０２とは、バス１１０に接続されている。また、連立一次方程式演算制御ユニット１１１と演算ユニット１１２と演算データ保持ユニット１１３とはバス１１０を介して相互に接続されている。
【００２５】
演算ユニット１１２は、数値解ｘ’を求めるのに必要な処理（後述する、Ｓ１４２〜Ｓ１４４、Ｓ１４７、Ｓ１４８の処理）を行うための、行列ベクトル積演算ユニット１１４とスカラーベクトル積演算ユニット１１５と複数のベクトルの積和演算ユニット１１６とベクトルの内積演算ユニット１１７とギブンス回転演算ユニット１１８と後退代入演算ユニット１１９とを有する。
【００２６】
演算データ保持ユニット１１３は、ＧＭＲＥＳ法演算途中で発生する一次データを保存可能な記憶領域を持ち、連立一次方程式検算回路１０５の演算データ保持ユニット１２４と同等の大きさのキュー１２５を備える。なお、演算データ保持ユニット１１３が、連立一次方程式検算回路１０５の演算データ保持ユニット１２４と同等の大きさのキュー１２５を備えるのは、連立一次方程式演算回路１０４と連立一次方程式検算回路１０５のスループットが同等のためである。
【００２７】
連立一次方程式演算制御ユニット１１１は、リセット信号や演算開始信号に応じて、後述する図８に示す状態遷移を行うほか、演算データ保持ユニット１１３に対して入力信号（係数行列Ａと右辺ベクトルｂ）の一時的な保存を行う。
【００２８】
また、連立一次方程式演算制御ユニット１１１は、連立一次方程式演算回路１０４による処理（後述、図１１）に応じて、演算ユニット１１２の呼び出しを行い、演算の途中で生じたデータの演算データ保持ユニット１１３への保存や読み出しを行う。
【００２９】
また、連立一次方程式演算制御ユニット１１１は、演算の結果として数値解ｘ’が演算されると、演算終了信号とともに数値解ｘ’を出力信号として出力線１０２から出力させる。
【００３０】
図３は、実施の形態１における連立一次方程式検算回路１０５の構成例の概要を示す図である。
【００３１】
図３に示されるように、連立一次方程式検算回路１０５は、連立一次方程式（Ａｘ＝ｂ）の係数行列Ａと右辺ベクトルｂを入力するための入力線１０１と、連立一次方程式演算回路１０４が出力する連立一次方程式（Ａｘ＝ｂ）の数値解ｘ’を受け取るための出力線１０２と、連立一次方程式検算回路１０５がエラー判定結果を上位システムに通知するための通知線１０３と、バス１１０と、連立一次方程式検算制御ユニット１２０と、演算ユニット１２３と、演算データ保持ユニット１２４とを有する。
【００３２】
入力線１０１と出力線１０２と通知線１０３とは、バス１１０に接続されている。また、連立一次方程式検算制御ユニット１２０と演算ユニット１２３と演算データ保持ユニット１２４とは、バス１１０を介して相互に接続されている。そして、連立一次方程式検算制御ユニット１２０と演算ユニット１２３と演算データ保持ユニット１２４とは、バス１１０を介して相互に演算データや入出力信号の通信を行う。
【００３３】
演算ユニット１２３は、エラーの有無を判定するのに必要な処理（後述する、Ｓ１５１の処理）を行うための、行列ベクトル積演算ユニット１１４と、ベクトルの積和演算ユニット１１６と、ベクトルの内積演算ユニット１１７とを有する。
【００３４】
演算データ保持ユニット１２４は、演算の中間データの記憶領域として機能し、入力信号（係数行列Ａと右辺ベクトルｂ）を蓄積するためのキュー１２５を備える。
【００３５】
連立一次方程式検算制御ユニット１２０は、比較ユニット１２１を含み、比較ユニット１２１には、許容誤差１２２が保存されている。
【００３６】
連立一次方程式検算制御ユニット１２０は、リセット信号１や演算開始信号や演算終了信号に応じて、後述する図９に示す状態遷移を行うほか、演算データ保持ユニット１２４に対して入力信号や出力信号の一時的な保存と読み出しを行う。
【００３７】
また、連立一次方程式検算制御ユニット１２０は、連立一次方程式検算回路１０５による処理（後述、図１２）に応じて、演算ユニット１２３の呼び出しを行い、演算の中間で生じたデータの演算データ保持ユニット１２４への保存や読み出しを行う。
【００３８】
また、連立一次方程式検算制御ユニット１２０は、比較結果から情報処理回路１００中のエラーの有無を判定し、エラー判定結果を通知線１０３から出力する。
【００３９】
以下、実施の形態１の情報処理回路１００の回路面積について説明する。実施の形態１における連立一次方程式演算回路１０４の回路面積をＳｍとし、連立一次方程式検算回路１０５の回路面積をＳｖとすると、情報処理回路１００の回路面積はＳｍにＳｖを加算した値（Ｓｍ＋Ｓｖ）である。また、連立一次方程式演算回路１０４を２重化した場合の回路面積はＳｍの２倍（２×Ｓｍ）である。
【００４０】
連立一次方程式演算回路１０４の構成要素である連立一次方程式演算制御ユニット１１１の回路面積をＳｍ０、演算ユニット１１２の回路面積をＳｍ１、演算データ保持ユニットの回路面積をＳｍ２とすると次の式(３)が成り立つ。
【００４１】
式（３）：Ｓｍ＝Ｓｍ０＋Ｓｍ１＋Ｓｍ２
【００４２】
また、連立一次方程式検算回路１０５の構成要素である連立一次方程式検算制御ユニットの回路面積をＳｖ０、演算ユニット１２３の回路面積をＳｖ１、演算データ保持ユニットの回路面積をＳｖ２とすると次の式(４)が成り立つ。
【００４３】
式（４）：Ｓｖ＝Ｓｖ０＋Ｓｖ１＋Ｓｖ２
【００４４】
連立一次方程式演算回路１０４による処理（後述、図１１）と連立一次方程式検算回路１０５による処理（後述、図１２）を比較することで、連立一次方程式検算制御ユニット１２０よりも連立一次方程式演算制御ユニット１１１のほうが複雑な演算制御を行っていることがわかる。したがって次の式（５）が成り立つ。
式（５）：Ｓｍ０＞Ｓｖ０
【００４５】
また、連立一次方程式演算回路１０４の演算ユニット１１２は、連立一次方程式検算回路１０５の演算ユニット１２３に対して、複数のベクトルの内積演算ユニット１１７と、ギブンス回転演算ユニット１１８と、後退代入演算ユニット１１９とを有する。したがって次の式（６）が成り立つ。
式（６）：Ｓｍ１＞Ｓｖ１
【００４６】
ＧＭＲＥＳ法では数値解ｘ’を得るためにはｋ本のベクトルを保存する記憶領域が必要であることがわかっている。これに対して、検算に必要な記憶領域は１本のベクトルが保存できればよい。連立一次方程式演算回路と連立一次方程式検算回路のスループットが等しくキューの大きさが等しいことを考慮すれば、次の式(７)が成り立つ。
式（７）：Ｓｍ２＞Ｓｖ２
【００４７】
そして、式(３)、式(４)、式(５)、式(６)、式(７)から、次の式(８)が成り立つ。
式（８）：２×Ｓｍ＞Ｓｍ＋Ｓｖ
【００４８】
したがって、本発明の情報処理回路１００の回路面積は、連立一次方程式演算回路１０４を２重化した回路面積よりも小さい。
【００４９】
なお、本発明の情報処理回路１００は連立一次方程式の演算を行った後に連立一次方程式の検算を行うため、エラー検出のための時間が２重化と比較して多い。つまり、実行時間と回路面積にトレードオフの関係があり、その点に留意して設計する必要がある。
【００５０】
＜情報処理回路のタイミングチャート＞
【００５１】
図４、図５、図６、図７は実施の形態１における情報処理回路１００のタイミングチャートであり、各信号の前後関係を示す図である。図４〜図７に示されるように情報処理回路１００には入力線１０１のＣＬＫを介してクロック１８２が入力されており、このクロック１８２により上位システムと連立一次方程式演算回路１０４と連立一次方程式検算回路１０５は同期して動作する。
【００５２】
図４は入力線１０１のＲＳＴを介してリセット信号１８４が上位システムから入力された場合の、情報処理回路１００の内部回路である連立一次方程式演算回路１０４と連立一次方程式検算回路１０５との初期化の様子を示すタイミングチャートである。リセット信号１８４を受け取ると、連立一次方程式演算回路１０４は、記憶領域の初期化１８５を行う。また、リセット信号１８４を受け取ると、連立一次方程式検算回路１０５は、内部の記憶領域の初期化１８６を行う。これによって、連立一次方程式演算回路１０４と連立一次方程式検算回路１０５とが演算可能な状態となる。
【００５３】
図５は、入力線１０１のＩＶＬＤを介して演算開始信号１８７が上位システムから入力された場合の、連立一次方程式演算回路１０４が演算を開始する様子を示すタイミングチャートである。演算開始信号１８７を受け取ると、連立一次方程式演算回路１０４は、連立一次方程式の演算１８９を開始するとともに、入力線１０１のＩＤＡＴを介して入力信号１８８すなわち、上述した連立一次方程式(Ａｘ＝ｂ)の係数行列Ａと右辺ベクトルｂとを受け取る。
【００５４】
連立一次方程式検算回路１０５は、演算開始信号１８７を受け取ることでアイドル状態１８３となるとともに、ＩＤＡＴを介して入力信号１８８（係数行列Ａと右辺ベクトルｂ）を受け取る。
【００５５】
図６は、出力線１０２のＯＶＬＤを介して演算終了信号１９０が連立一次方程式演算回路１０４から出力された場合の、連立一次方程式検算回路１０５が検算を開始する様子を示すタイミングチャートである。連立一次方程式演算回路１０４が連立一次方程式の演算１８９を終了することで、連立一次方程式演算回路１０４は、演算終了信号１９０を連立一次方程式検算回路１０５へ出力する。このとき、連立一次方程式検算回路１０５は、アイドル状態１８３を終了し、連立一次方程式の検算１９２を開始する。
【００５６】
連立一次方程式演算回路１０４は、演算終了信号１９０を出力した後に出力線１０２のＯＤＡＴを介して出力信号１９１すなわち連立一次方程式の数値解ｘ’を、連立一次方程式検算回路１０５へ出力する。連立一次方程式検算回路１０５は出力信号１９１（数値解ｘ’）を受け取った後に連立一次方程式の検算１９２を行う。
【００５７】
図７は、連立一次方程式検算回路１０５が連立一次方程式の検算１９２を終了した場合の、エラー判定結果１９３を出力する様子を示すタイミングチャートである。連立一次方程式検算回路１０５は連立一次方程式の検算１９２の結果からエラー判定結果１９３を上位システムへ出力する。上位システムはこのエラー判定結果１９３を受けて出力信号１９１を用いた処理を続行するか否かを決定する。なお、連立一次方程式検算回路１０５は、エラーがあると判定する場合のみ、エラーがあることを示すエラー判定結果１９３を上位システムへ出力するようにしても良い。
＜状態遷移＞
【００５８】
図８は、実施の形態１における情報処理回路１００の動作を示す状態遷移図である。
【００５９】
状態１７０は、情報処理回路１００が動作を停止している、いわば初期状態である。
【００６０】
状態１７１は、情報処理回路１００の連立一次方程式演算回路１０４および連立一次方程式検算回路１０５が、それぞれの内部の記憶領域の初期化を行っている初期化状態である。
【００６１】
状態１７２は、情報処理回路１００が、上位システムからの演算開始信号１８７および入力信号１８８（係数行列Ａと右辺ベクトルｂ）の入力を待っているアイドル状態である。
【００６２】
状態１７３は、情報処理回路１００の連立一次方程式演算回路１０４が、演算１８９を行っている演算中状態である。
【００６３】
状態１７４は、情報処理回路１００の連立一次方程式検算回路１０５が、検算１９２を行っている検算中状態である。
【００６４】
状態１７５は、上位システムが連立一次方程式検算回路１０５からエラーがあることを示すエラー判定結果１９３を受け取ったため、情報処理回路１００の動作を停止し代替システムによる処理を行っている、フェイルセーフ状態である。このとき情報処理回路１００には、シングルイベントアップセットによるエラーが発生している。
【００６５】
状態１７０（初期状態）にて、情報処理回路１００が上位システムからリセット信号１８４を受け取ることで、状態１７０（初期状態）から状態１７１（初期化状態）に状態遷移２８０する。
【００６６】
状態１７１（初期化状態）にて、情報処理回路１００の連立一次方程式演算回路１０４および連立一次方程式検算回路１０５がそれぞれの記憶領域の初期化１８５を終了することで、自動で状態１７１（初期化状態）から状態１７２（アイドル状態）に状態遷移２８１する。
【００６７】
状態１７２（アイドル状態）にて、情報処理回路１００が上位システムからリセット信号１８４を受け取ることで、状態１７２（アイドル状態）から状態１７１（初期化状態）に状態遷移２８２する。
【００６８】
状態１７２（アイドル状態）にて、情報処理回路１００が上位システムから演算開始信号１８７および入力信号１８８である係数行列Ａと右辺ベクトルｂとを受け取ることで、状態１７２（アイドル状態）から状態１７３（演算中状態）に状態遷移２８３する。
【００６９】
状態１７３（演算中状態）にて、情報処理回路１００が上位システムからリセット信号１８４を受け取ることで、状態１７３（演算中状態）から状態１７１（初期化状態）に状態遷移２８４する。
【００７０】
状態１７３（演算中状態）にて、情報処理回路１００の連立一次方程式演算回路１０４が演算１８９を終了し、上位システムおよび連立一次方程式検算回路１０５に演算終了信号１９０と出力信号（数値解ｘ’）１９１を出力することで、状態１７３（演算中状態）から状態１７４（検算中状態）に状態遷移２８５する。
【００７１】
状態１７４（検算中状態）にて、情報処理回路１００が上位システムからリセット信号１８４を受け取ることで、状態１７４（検算中状態）から状態１７１（初期化状態）に状態遷移２８６する。
【００７２】
状態１７４（検算中状態）にて、情報処理回路１００の連立一次方程式検算回路１０５が検算１９２を終了し、エラー無とのエラー判定結果１９３を上位システムに通知することで、自動的に状態１７４（検算中状態）から状態１７２（アイドル状態）に状態遷移２８７する。
【００７３】
状態１７４（検算中状態）にて、情報処理回路１００の連立一次方程式検算回路１０５が検算１９２を終了し、エラーがあることを示すエラー判定結果１９３を上位システムに通知したことで、状態１７４（検算中状態）から状態１７５（フェイルセーフ状態）に状態遷移２８８する。
【００７４】
図９は、実施の形態１における連立一次方程式検算回路１０５の動作を示す状態遷移図である。
【００７５】
状態１６０は、連立一次方程式検算回路１０５が動作せず停止している、いわば初期状態である。
【００７６】
状態１６１は、連立一次方程式検算回路１０５が記憶領域の初期化１８５を行っている初期化状態である。
【００７７】
状態１６２は、連立一次方程式検算回路１０５が上位システムからの演算開始信号１８７および入力信号１８８の入力を待っているアイドル状態（アイドル状態Ａ）である。なお、状態１６２（アイドル状態Ａ）では、情報処理回路１００が有する連立一次方程式演算回路１０４および連立一次方程式検算回路１０５は、上位システムからの演算開始信号１８７および入力信号（係数行列Ａと右辺ベクトルｂ）１８８の入力を待つ。
【００７８】
状態１６３は、連立一次方程式検算回路１０５が連立一次方程式演算回路１０４からの演算終了信号１９０および出力信号１９１の入力を待っているアイドル状態（アイドル状態Ｂ）である。なお、状態１６３（アイドル状態Ｂ）では、情報処理回路１００が有する連立一次方程式演算回路１０４が出力信号（数値解ｘ’）１９１を演算しており、連立一次方程式検算回路１０５は連立一次方程式演算回路１０４からの演算終了信号１９０および出力信号１９１の入力を待っている。
【００７９】
状態１６４は、連立一次方程式検算回路１０５が検算１９２を行い、上述した式(２)の判定を行っている検算中状態である。
【００８０】
状態１６０（初期状態）にて、連立一次方程式検算回路１０５が上位システムからリセット信号１８４を受け取ることで、状態１６０（初期状態）から状態１６１（初期化状態）に状態遷移２９０する。
【００８１】
状態１６１（初期化状態）にて、連立一次方程式検算回路１０５が記憶領域の初期化１８５を終了することで、自動で状態１６１（初期化状態）から状態１６２（アイドル状態Ａ）に状態遷移２９１する。
【００８２】
状態１６２（アイドル状態Ａ）にて、連立一次方程式検算回路１０５が上位システムからリセット信号１８４を受け取ることで、状態１６２（アイドル状態Ａ）から状態１６１（初期化状態）に状態遷移２９２する。
【００８３】
状態１６２（アイドル状態Ａ）にて、連立一次方程式検算回路１０５が上位システムから演算開始信号１８７および入力信号１８８である係数行列Ａと右辺ベクトルｂとを受け取ることで、状態１６２（アイドル状態Ａ）から状態１６３（アイドル状態Ｂ）に状態遷移２９３する。このとき連立一次方程式検算回路１０５は入力信号１８８を記憶領域のキューに保存する。
【００８４】
状態１６２（アイドル状態Ａ）にて、連立一次方程式検算回路１０５が連立一次方程式演算回路１０４から演算終了信号１９０および出力信号１９１である数値解ｘ’を受け取ることで、状態１６２（アイドル状態Ａ）から状態１６４（検算中状態）に状態遷移２９４する。このとき連立一次方程式検算回路１０５は記憶領域のキューから入力信号１８８である係数行列Ａと右辺ベクトルｂとを取り出して演算に利用する。
【００８５】
状態１６３（アイドル状態Ｂ）にて、連立一次方程式検算回路１０５が上位システムからリセット信号１８４を受け取ることで、状態１６３（アイドル状態Ｂ）から状態１６１（初期化状態）に状態遷移２９５する。
【００８６】
状態１６３（アイドル状態Ｂ）にて、連立一次方程式検算回路１０５が連立一次方程式演算回路１０４から演算終了信号１９０および出力信号１９１を受け取ることで、状態１６３（アイドル状態Ｂ）から状態１６４（検算中状態）に状態遷移２９６する。このとき連立一次方程式検算回路１０５は記憶領域のキューから入力信号１８８を読みだして演算に利用する。
【００８７】
状態１６３（アイドル状態Ｂ）にて、連立一次方程式検算回路１０５が上位システムから演算開始信号１８７および入力信号１８８を受け取った場合、状態１６３（アイドル状態Ｂ）にとどまる（状態遷移２９７）。このとき連立一次方程式検算回路１０５は入力信号１８８を記憶領域のキューに保存する。
【００８８】
状態１６４（検算中状態）にて、連立一次方程式検算回路１０５が上位システムからリセット信号１８４を受け取ることで、状態１６４（検算中状態）から状態１６１（初期化状態）に状態遷移２９８する。
【００８９】
状態１６４（検算中状態）にて、連立一次方程式検算回路１０５が検算１９２を終了しエラー判定結果１９３を上位システムに通知することで、自動的に状態１６４（検算中状態）から状態１６２（アイドル状態Ａ）に状態遷移２９９する。
＜フローチャート＞
【００９０】
図１０は、実施の形態１における情報処理回路１００による処理の概要を示すフローチャートである。
【００９１】
まず、Ｓ１３０にて、情報処理回路１００が、上位システムから連立一次方程式の係数行列Ａと右辺ベクトルｂとを受け取る。そして、入力線１０１を介して情報処理回路１００の連立一次方程式演算回路１０４と連立一次方程式検算回路１０５が、数行列Ａと右辺ベクトルｂとを受け取る。
【００９２】
次に、Ｓ１３１にて、連立一次方程式演算回路１０４による処理（後述、図１１）が実行される。そして、連立一次方程式演算回路１０４は、係数行列Ａと右辺ベクトルｂとに基づいて、連立一次方程式（Ａｘ＝ｂ）の数値解ｘ’を演算する。
【００９３】
次に、Ｓ１３２にて、連立一次方程式演算回路１０４が、演算結果である、連立一次方程式（Ａｘ＝ｂ）の数値解ｘ’を、出力線１０２を介して、上位システムに出力するとともに連立一次方程式検算回路１０５に出力する。
【００９４】
次に、Ｓ１３３にて、連立一次方程式検算回路１０５による処理（後述、図１２）が実行される。
【００９５】
次に、Ｓ１３４にて、連立一次方程式検算回路１０５が、エラー判定結果１９３を、通知線１０３を介して上位システムに出力する。
【００９６】
図１１は、実施の形態１における連立一次方程式演算回路１０４による処理（Ｓ１３１）の概要を示すフローチャートである。実施の形態１では、連立一次方程式を解くためのアルゴリズムとして、ＧＭＲＥＳ法を用いる。ＧＭＲＥＳ法とは、行列ベクトル積を繰り返すことでＫｒｙｌｏｖ部分空間の基底を拡張しながら、そのＫｒｙｌｏｖ部分空間の中から連立一次方程式（Ａｘ＝ｂ）の解を効率的に探索するアルゴリズムである。すなわち、図１１に示される連立一次方程式演算回路１０４による処理は、ＧＭＲＥＳ法のアルゴリズムに基づくものである。
【００９７】
まず、Ｓ１４０にて、連立一次方程式演算回路１０４は、適当な初期解ｘ０からその残差r０＝ｂ−Ａｘ０を計算し、１本目の基底ベクトルｑ０＝ｒ０／||r０||を生成する。なお、初期解ｘ０には、ランダムな値が設定される。
【００９８】
次に、Ｓ１４１にて、連立一次方程式演算回路１０４は、ループ変数ｉを１で初期化する。
【００９９】
次に、Ｓ１４２にて、連立一次方程式演算回路１０４は、連立一次方程式の係数行列Ａと（ｉ−１）本目の基底ベクトルｑ（ｉ−１）の行列ベクトル積ｖ＝Ａｑ（ｉ−１）を行うことでＫｒｙｌｏｖ部分空間の基底を拡張する。
【０１００】
次に、Ｓ１４３にて、連立一次方程式演算回路１０４は、ベクトルｖとＫｒｙｌｏｖ部分空間の正規直交基底｛ｑ０、…、q（ｉ−１）｝の正規直交化を行うことで、ｉ本目の正規直交基底ベクトルｑｉを求める。この処理では、内積演算とベクトルの積和演算が必要となる。
【０１０１】
次に、Ｓ１４４にて、連立一次方程式演算回路１０４は、ギブンス回転によるヘッセンベルグ行列のＱＲ分解を行う。
【０１０２】
次に、Ｓ１４５にて、連立一次方程式演算回路１０４は、最大反復回数ｋとループ変数ｉとを比較する。そして、連立一次方程式演算回路１０４が比較した結果、ｉがｋ未満であければ（ｉ＜ｋ）ループを繰り返すためにステップ１４６に進む。一方、連立一次方程式演算回路１０４が比較した結果、ｉがｋ以上であれば（ｉ≧ｋ）ステップ１４７に進む。
【０１０３】
次に、Ｓ１４６にて、連立一次方程式演算回路１０４は、ループ変数ｉをインクリメント（ｉ＝ｉ＋１）する。Ｓ１４６の次は、Ｓ１４２へ戻る。
【０１０４】
Ｓ１４５にてｉがｋ以上であると判定する場合、Ｓ１４７にて、連立一次方程式演算回路１０４は、生成した正規直交基底の一次結合で連立一次方程式（Ａｘ＝ｂ）の数値解ｘ’を求めるために、基底それぞれの係数｛ｙ０、…、ｙｋ｝を求める。このために、連立一次方程式演算回路１０４は、ヘッセンベルグ行列をＱＲ分解した上三角行列Ｒを係数行列とする、ｋ次連立一次方程式を後退代入で求める。
【０１０５】
次に、Ｓ１４８にて、連立一次方程式演算回路１０４は、生成した正規直交基底とそれぞれの係数の和により連立一次方程式（Ａｘ＝ｂ）の数値解ｘ’を求める。このためには、連立一次方程式演算回路１０４は、ベクトルの積和演算をｋ回行う必要がある。
【０１０６】
図１２は、実施の形態１における連立一次方程式検算回路１０５による処理（Ｓ１３３）の概要を示すフローチャートである。
【０１０７】
まず、Ｓ１５０にて、連立一次方程式検算回路１０５は、右辺ベクトルｂのノルム||ｂ||を演算する。ノルムにはユークリッドノルムを用い、連立一次方程式検算回路１０５は、ベクトルｂとｂの内積演算の演算結果の平方根をノルム||ｂ||として保存する。また、連立一次方程式検算回路１０５は、連立一次方程式演算回路１０４が出力した数値解ｘ’と連立一次方程式の真の解ｘの距離を、残差ノルム||ｒ||により演算する。なお、連立一次方程式検算回路１０５は、残差（ｒ＝ｂ−Ａｘ）を行列ベクトル積とベクトル和の演算によって求める。
【０１０８】
次に、Ｓ１５１にて、連立一次方程式検算回路１０５の演算ユニット１２３は、相対誤差||r||／||ｂ||をスカラー値の浮動小数点数の除算によって求め、相対誤差||r||／||ｂ||と許容誤差ｅｐｓｉｌｏｎとを比較する。情報処理回路１００で用いられる浮動小数点数はＩＥＥＥ７５４で定義される倍精度浮動小数点数であり、許容誤差ｅｐｓｉｌｏｎ＝１.０e−８程度に設定する。相対誤差||ｒ||／||ｂ||が許容誤差ｅｐｓｉｌｏｎを満足する場合（相対誤差が許容誤差未満である場合）は、ステップ１５２に進む。一方、相対誤差が許容誤差を逸脱する場合（相対誤差が許容誤差以上である場合）はステップ１５３に進む。
【０１０９】
相対誤差が許容誤差未満である場合、Ｓ１５２にて、連立一次方程式検算回路１０５は、演算器にエラーが存在しないと判定する。
【０１１０】
一方、相対誤差が許容誤差以上である場合、Ｓ１５３にて、連立一次方程式検算回路１０５は、演算器にエラーが存在すると判定する。
＜実施の形態１の効果＞
【０１１１】
以上説明した実施の形態１における情報処理回路１００によれば、検算回路である連立一次方程式検算回路１０５が、演算回路である連立一次方程式演算回路１０４が出力する数値解を復元後入力信号（右辺ベクトルｂ’）へ復元し、復元した復元後入力信号と受け取った入力信号（右辺ベクトルｂ）とに基づきエラーの有無を判定ことで、回路量を減らしても、エラー検出が可能になる。例えば、連立一次方程式演算回路１０４を二つ設けた場合と比較して、一方の連立一次方程式演算回路１０４から、複数のベクトルの内積演算ユニット１１７と、ギブンス回転演算ユニット１１８と、後退代入演算ユニット１１９とを除外してもエラー検出が可能になる。
（実施の形態２）
【０１１２】
連立一次方程式（Ａｘ＝ｂ）はその係数行列Ａの種類に応じて解法を適切に選択する必要がある。係数行列Ａが密行列の場合は、解法として、行列を簡易な行列の積となるように分解することで解を求めやすくする直接法を用いる。また、係数行列Ａが疎行列の場合は、解法として、行列ベクトル積を主とする関数を反復計算することで数値解ｘ’を真の解ｘに近付ける反復法を用いる。
【０１１３】
反復法は、定常反復法と非定常反復法の２種類に大別される。非定常反復法はベクトル長がＮの場合に、高々Ｎ回の反復で解に至る高速な手法として広く用いられている。また、係数行列Ａが疎行列でかつ非対称の場合に用いられる非定常反復法がＧＭＲＥＳ法であり、係数行列Ａが疎行列でかつ対称正定値の場合に用いられる非定常反復法がＣＧ法である。
【０１１４】
実施の形態１では、連立一次方程式演算回路１０４がＧＭＲＥＳ法で連立一次方程式（Ａｘ＝ｂ）の解を求めているのに対し、実施の形態２では、連立一次方程式（Ａｘ＝ｂ）の解を求めるためのアルゴリズムとしてＣＧ法を用いている点で異なる。以下、本発明の実施の形態２を実施の形態１と異なる点を主に図１３、図１４を用いて説明する。
＜詳細構成＞
【０１１５】
図１３は、実施の形態２における連立一次方程式演算回路１０４の構成例の概要を示す図である。
【０１１６】
図１３に示される連立一次方程式演算回路１０４は、ＣＧ法を用いた処理（後述、図１４）を実現する回路構成となっている。
【０１１７】
演算ユニット１１２は、ＣＧ法で必要となる演算を処理するために、行列ベクトル積演算ユニット１１４とベクトルの積和演算ユニット１１６とベクトルの内積演算ユニット１１７と不完全ＬＵ分解前処理ユニット２０６とを有する。
【０１１８】
なお、実施の形態１と同様に、実施の形態２においても上述した、式（８）：２×Ｓｍ＞Ｓｍ＋Ｓｖが成立する。すなわち、従来のＣＧ法を解く情報処理回路１００の回路面積と比較しても、ＣＧ法を解く実施の形態２の情報処理回路１００の回路面積の方が小さい。
＜フローチャート＞
【０１１９】
図１４は、実施の形態２における連立一次方程式演算回路１０４によるＣＧ法を用いた処理の概要を示すフローチャートである。
【０１２０】
まず、Ｓ２００にて、連立一次方程式演算回路１０４は、適当な初期解ｘ０からその残差r０＝ｂ−Ａｘ０を計算し、１本目の直交ベクトルを生成する。ここで、反復法における反復回数は、係数行列Ａの固有値分布に依存することが知られており、固有値分布を改善することで反復回数が減少し、高速に連立一次方程式を解くことが可能である。したがって、一般的な反復法では行列を前処理する。行列を前処理する場合、連立一次方程式演算回路１０４は、次の式(９)と式(１０)とを解く。
式(９)：ＡＭｙ＝ｂ
式(１０)：Ｍｙ＝ｘ
【０１２１】
行列ＡＭの固有値が縮退することで反復回数が削減される。行列の前処理を行う場合、アルゴリズムの中でＭｚ(ｉ)＝r(ｉ)を解く必要がある。このステップでは、Ｍｚ０＝ｒ０を解く。
【０１２２】
次に、Ｓ２０１にて、連立一次方程式演算回路１０４は、ループ変数ｉを１で初期化する。
【０１２３】
次に、Ｓ２０２にて、連立一次方程式演算回路１０４は、係数行列Ａと直交ベクトルｒの行列ベクトル積の演算により勾配ベクトルpを生成し、Ｋｒｙｌｏｖ部分空間を拡張する。
【０１２４】
次に、Ｓ２０３にて、連立一次方程式演算回路１０４は、ベクトルの内積演算とベクトルの積和演算により、直交基底ベクトルと解ベクトルを更新する。
【０１２５】
次に、Ｓ２０４にて、連立一次方程式演算回路１０４は、不完全ＬＵ分解によりＭｚ(ｉ)＝r(ｉ)を解くことで、係数行列Ａの前処理を行う。
【０１２６】
次に、Ｓ２０５にて、連立一次方程式演算回路１０４は、ベクトルの内積演算とベクトルの積和演算により、勾配ベクトルを更新する。
【０１２７】
次に、Ｓ２０６にて、連立一次方程式演算回路１０４は、Ｓ２０４で求めた内積の値が許容誤差を下回っているかを確認することで収束判定を行う。内積の値に丸め誤差が蓄積されている場合は、ｉ反復目の数値解ｘ(ｉ)を用いて次の式(１１)を判定することで収束判定を行う。連立一次方程式演算回路１０４が、収束したと判定する場合（Ｓ２０６−ＹＥＳ）、処理を終了する。一方、連立一次方程式演算回路１０４が、収束していないと判定する場合（Ｓ２０６−ＮＯ）、Ｓ２０７へ進む。
【０１２８】
式(１１)：||ｂ-Ａｘ(ｉ)||／||ｂ||<ｅｐｓｉｌｏｎ
【０１２９】
次に、Ｓ２０７にて、連立一次方程式演算回路１０４は、ループ変数ｉをインクリメント（ｉ＝ｉ＋１）する。Ｓ２０７の次は、Ｓ２０２へ戻る。
＜実施の形態２の効果＞
【０１３０】
以上説明した実施の形態２における情報処理回路１００によれば、演算回路である連立一次方程式演算回路１０４が、反復法を用いて連立一次方程式を解くことで、実施の形態１と同様の効果に加えてエラー検出されるまでの時間を短くできる。
【０１３１】
また、連立一次方程式演算回路１０４が、ＣＧ法を用いることで、実施の形態１と同様の効果に加えて係数行列Ａが疎行列でかつ対称正定値の場合であっても、連立一次方程式を解きやすくなる。
（実施の形態３）
【０１３２】
実施の形態１では、連立一次方程式演算回路１０４がＧＭＲＥＳ法で連立一次方程式（Ａｘ＝ｂ）の解を求めているのに対し、実施の形態３では、連立一次方程式（Ａｘ＝ｂ）の解を求めるアルゴリズムとしてＳＯＲ法を用いている点で異なる。ＳＯＲ法は定常反復法の一つで、速度は非定常反復法に劣るものの、プログラミングが容易なことで知られている。以下、本発明の実施の形態３を実施の形態１と異なる点を主に図１５、図１６を用いて説明する。
＜詳細構成＞
【０１３３】
図１５は、実施の形態３における連立一次方程式演算回路１０４の構成例の概要を示す図である。図１５に示される連立一次方程式演算回路１０４は、ＳＯＲ法を用いた処理（後述、図１６）を実現する回路構成となっている。すなわち、連立一次方程式演算回路１０４の演算ユニット１１２は、行列ベクトル積に相当する演算とベクトルの積和演算に相当する演算と行列の前処理に相当する演算を行うことで、解ベクトルの更新ベクトルｒを求める行列前処理ユニット２１３を含む。
【０１３４】
なお、実施の形態１と同様に、実施の形態３においても式（８）：２×Ｓｍ＞Ｓｍ＋Ｓｖが成立する。すなわち、従来のＣＧ法を解く情報処理回路１００の回路面積と比較して、ＣＧ法を解く実施の形態３の情報処理回路１００の回路面積の方が小さい。
＜フローチャート＞
【０１３５】
図１６は、実施の形態３における連立一次方程式演算回路１０４によるＳＯＲ法を用いた処理の概要を示すフローチャートである。
【０１３６】
まず、Ｓ２１０にて、連立一次方程式演算回路１０４は、ループ変数ｉを１で初期化する。
【０１３７】
次に、Ｓ２１１にて、連立一次方程式演算回路１０４は、行列ベクトル積に相当する演算とベクトルの積和演算に相当する演算と行列の前処理に相当する演算を行うことで、解ベクトルの更新ベクトル（残差）ｒを求める。
【０１３８】
次に、Ｓ２１２にて、連立一次方程式演算回路１０４は、ベクトルの積和演算により、更新ベクトルに加速パラメータを乗算して解ベクトルに加算する。
【０１３９】
次に、Ｓ２１３にて、連立一次方程式演算回路１０４は、ｉ反復目の数値解ｘ(ｉ)を用いて次の式(１１)を判定することで収束判定を行う。連立一次方程式演算回路１０４が、収束した判定する場合（Ｓ２１３−ＹＥＳ）、処理を終了する。一方、連立一次方程式演算回路１０４が、収束していないと判定する場合（Ｓ２１３−ＮＯ）、Ｓ２１４へ進む。
【０１４０】
式(１１)：||ｂ-Ａｘ(ｉ)||／||ｂ||<ｅｐｓｉｌｏｎ
【０１４１】
次に、Ｓ２１４にて、連立一次方程式演算回路１０４は、ループ変数ｉをインクリメント（ｉ＝ｉ＋１）する。Ｓ２１４の次は、Ｓ２１１へ戻る。
＜実施の形態３の効果＞
【０１４２】
以上説明した実施の形態３における情報処理回路１００によれば、演算回路である連立一次方程式演算回路１０４が、ＳＯＲ法を用いて連立一次方程式を解くことで、実施の形態１と同様の効果に加えて、情報処理回路１００を実現するのに必要なプログラミングが容易になる。
（実施の形態４）
【０１４３】
実施の形態１では、連立一次方程式演算回路１０４がＧＭＲＥＳ法で連立一次方程式（Ａｘ＝ｂ）の解を求めているのに対し、実施の形態４では、連立一次方程式演算回路１０４がＬＵ分解により連立一次方程式（Ａｘ＝ｂ）を解いている点で異なる。ＬＵ分解とは、係数行列Ａを、上三角行列Ｌと下三角行列Ｕとに分解する。分解後にまずＬｙ＝ｂの簡単な連立一次方程式を前進代入で解き、次にＵｘ＝ｙの簡単な連立一次方程式を後退代入で解く。以下、本発明の実施の形態４を実施の形態１と異なる点を主に図１７、図１８を用いて説明する。
＜詳細構成＞
【０１４４】
図１７は、実施の形態４における連立一次方程式演算回路１０４の構成例の概要を示す図である。図１７に示される連立一次方程式演算回路１０４は、連立一次方程式演算回路１０４によるＬＵ分解を用いた処理（後述、図１８）を実現するための回路構成となっている。すなわち、連立一次方程式演算回路１０４の演算ユニット１１２は、係数行列Ａを、上三角行列Ｌと下三角行列Ｕとに分解する処理を行うための、スカラーベクトル積演算ユニット２２３と、ベクトル積演算ユニット２２４と行列和演算ユニット２２５とを含む。また、連立一次方程式演算回路１０４の演算ユニット１１２は、前進代入によりＬｙ＝ｂの簡単な連立一次方程式を解く前進代入演算ユニット２２６を含む。また、連立一次方程式演算回路１０４の演算ユニット１１２は、後退代入によりＵｘ＝ｙの簡単な連立一次方程式を解く後退代入演算ユニット１１９を含む。
【０１４５】
なお、実施の形態１と同様に、実施の形態４においても式（８）：２×Ｓｍ＞Ｓｍ＋Ｓｖが成立する。すなわち、従来のＣＧ法を解く連立一次方程式演算回路１０４の回路面積と比較して、ＣＧ法を解く実施の形態４の情報処理回路１００の回路面積の方が小さい。
＜フローチャート＞
【０１４６】
図１８は、実施の形態４における連立一次方程式演算回路１０４によるＬＵ分解を用いた処理の概要を示す図である。
【０１４７】
まず、Ｓ２２０にて、連立一次方程式演算回路１０４は、公知の技術により、係数行列Ａを、上三角行列Ｌと下三角行列Ｕとに分解する。このとき、連立一次方程式演算回路１０４は、スカラーベクトル積の演算や、ベクトルベクトル積の演算や、行列和の演算を行う。
【０１４８】
次に、Ｓ２２１にて、連立一次方程式演算回路１０４は、前進代入によりＬｙ＝ｂの簡単な（上三角行列の）連立一次方程式を解く。
【０１４９】
次に、Ｓ２２２にて、連立一次方程式演算回路１０４は、後退代入によりＵｘ＝ｙの簡単な（下三角行列の）連立一次方程式を解く。
＜実施の形態４の効果＞
【０１５０】
以上説明した実施の形態４における情報処理回路１００によれば、演算回路である連立一次方程式演算回路１０４が、ＬＵ分解により連立一次方程式を解くことで、係数行列Ａが密行列の場合にて解を求めやすくする。
（実施の形態５）
【０１５１】
実施の形態１では、情報処理回路１００が線形方程式である連立一次方程式（Ａｘ＝ｂ）を解いていたのに対し、実施の形態５では情報処理回路１００が下記の式(１１)に示す非線形方程式を解く点で異なる。
式(１１)：ｙ＝ｆ(ｘ)
【０１５２】
この非線形方程式である式(１１)においては左辺ベクトルyと関数形fが既知であり情報処理回路１００の入力となる。実施の形態５では、ニュートン法を用いて非線形方程式である式(１１)を解くことで、解ベクトルｘを求める。以下、本発明の実施の形態５を実施の形態１と異なる点を主に図１９〜図２４を用いて説明する。
＜全体構成＞
【０１５３】
図１９は、実施の形態５における情報処理回路１００の構成例の概要を示す図である。図１９に示されるように、情報処理回路１００は、入力線１０１と、出力線１０２と、通知線１０３と、非線形方程式演算回路２３０と、非線形方程式検算回路２３１とを有する。
【０１５４】
入力線１０１は、情報処理回路１００に入ると分岐し、非線形方程式演算回路２３０と非線形方程式検算回路２３１とに接続する。
【０１５５】
非線形方程式演算回路２３０と接続する出力線１０２は、情報処理回路１００の内部で分岐し、一方が情報処理回路１００の上位システムに接続し、他方が非線形方程式検算回路２３１に接続する。
【０１５６】
非線形方程式検算回路２３１は、通知線１０３からエラー判定を出力する。
【０１５７】
非線形方程式である式(１１)：ｙ＝ｆ(ｘ)を解く情報処理回路１００のタイミングチャートと状態遷移図は、連立一次方程式（Ａｘ＝ｂ）を解く情報処理回路１００と同様である。そして、上述した連立一次方程式演算回路１０４を非線形方程式演算回路２３０に置き換え、上述した連立一次方程式検算回路１０５を非線形方程式検算回路２３１に置き換えるのみで情報処理回路１００が実現可能である。
＜詳細構成＞
【０１５８】
図２０は、実施の形態５における非線形方程式演算回路２３０の構成例の概要を示す図である。図２０に示されるように、非線形方程式演算回路２３０は、非線形方程式(ｙ＝ｆ(ｘ))の左辺ベクトルｙと非線形方程式の関数ｆのパラメータを入力するための入力線１０１と、非線形方程式演算回路２３０が出力する非線形方程式(ｙ＝ｆ(ｘ))の数値解ｘ’を受け取るための出力線１０２と、バス１１０と、非線形方程式演算制御ユニット２４７と、演算ユニット１１２と、演算データ保持ユニット１１３を有する。
【０１５９】
演算ユニット１１２は、新たに導入した非線形方程式を評価する処理と、関数g(ｘ)をｘで偏微分したヤコビ行列Ｊｇを生成し、後述する式(１２)を解くことで更新ベクトルrを求める処理と、ベクトルの積和演算によりｘ(ｉ+１)＝ｘ(ｉ)-rの演算で解ベクトルを更新する処理と、新たに得た解ベクトルで非線形方程式g(ｘ(ｉ+１))を評価しノルムを演算する処理とを実現するための、非線形方程式評価演算ユニット２４３とベクトルの積和演算ユニット１１６とベクトルの内積演算ユニット１１７とヤコビ行列生成ユニット２４８と連立一次方程式演算ユニット２４９を有する。
【０１６０】
図２１は、実施の形態５における非線形方程式検算回路２３１の構成例の概要を示す図である。図２１に示されるように、非線形方程式検算回路２３１は、非線形方程式(ｙ＝ｆ(ｘ))の左辺ベクトルｙと非線形方程式の関数ｆのパラメータを入力するための入力線１０１と、非線形方程式演算回路２３０が出力する非線形方程式(ｙ＝ｆ(ｘ))の数値解ｘ’を受け取るための出力線１０２と、非線形方程式検算回路２３１がエラー判定結果を上位システムに通知するための通知線１０３と、バス１１０と、非線形方程式検算制御ユニット２４２と、演算ユニット１２３と、演算データ保持ユニット１２４とを有する。
【０１６１】
演算ユニット１２３は、新たに得た解ベクトルで非線形方程式g(ｘ(ｉ+１))を評価し、ノルムを演算するために必要な演算を行うための、非線形方程式評価演算ユニット２４３とベクトルの積和演算ユニット１１６とベクトルの内積演算ユニット１１７とを有する。
＜フローチャート＞
【０１６２】
図２２は、実施の形態５における情報処理回路１００による処理の概要を示すフローチャートである。図２２は、実施の形態５に示される処理では、ニュートン法を用いて非線形方程式である式(ｙ＝ｆ(ｘ))を解く処理の概要を示す。
【０１６３】
まず、Ｓ２３２にて、情報処理回路１００は、入力線１０１のＩＤＡＴから非線形方程式の左辺ベクトルyと非線形方程式の関数fとのパラメータを受け取る。
【０１６４】
次に、Ｓ２３３にて、非線形方程式演算回路２３０により処理（後述、図２３）が実行される。
【０１６５】
次に、Ｓ２３４にて、非線形方程式演算回路２３０が、演算結果である、非線形方程式(ｙ＝ｆ(ｘ))の数値解ｘ’を、出力線１０２を介して、上位システムに出力するとともに、非線形方程式検算回路２３１に出力する。
【０１６６】
次に、Ｓ２３５にて、非線形方程式検算回路２３１による処理（後述、図２４）が実行される。
【０１６７】
次に、Ｓ２３６にて、非線形方程式検算回路２３１が、エラー判定結果１９３を、通知線１０３を介して上位システムに出力する。
【０１６８】
図２３は、実施の形態５における非線形方程式演算回路２３０による処理（Ｓ２３３）の概要を示すフローチャートである。
【０１６９】
まず、Ｓ２４０にて、非線形方程式演算回路２３０は、ループ変数ｉを１で初期化する。
【０１７０】
次に、Ｓ２４１にて、非線形方程式演算回路２３０は、新たに導入した非線形方程式g(ｘ(ｉ))＝y-f(ｘ(ｉ))を評価する。g(ｘ)＝０のとき非線形方程式(１１)は解を持つ。
【０１７１】
次に、Ｓ２４２にて、非線形方程式演算回路２３０は、関数g(ｘ)をｘで偏微分したヤコビ行列Ｊｇを生成し、次の式(１２)を解くことで更新ベクトルｒを求める。
【０１７２】
g(ｘ(ｉ)) ＝ Ｊｇｒ … (１２)
【０１７３】
次に、Ｓ２４３にて、非線形方程式演算回路２３０は、ベクトルの積和演算により、ｘ(ｉ+１)＝ｘ(ｉ)-rの演算で解ベクトルを更新する。
【０１７４】
次に、Ｓ２４４にて、非線形方程式演算回路２３０は、新たに得た解ベクトルで非線形方程式g(ｘ(ｉ+１))を評価し、ノルムを演算する。
【０１７５】
次に、Ｓ２４５にて、非線形方程式演算回路２３０は、||g(ｘ(ｉ+１))||<ｅｐｓｉｌｏｎを評価する。||g(ｘ(ｉ+１))||が許容誤差を満足すると判定する場合（Ｓ２４５−ＹＥＳ）処理を終了する。一方、非線形方程式演算回路２３０が、許容誤差を満足しないと判定する場合（Ｓ２４５−ＮＯ）、Ｓ２４６に進む。
【０１７６】
次に、Ｓ２４６にて、非線形方程式演算回路２３０は、ループ変数ｉをインクリメント（ｉ＝ｉ＋１）する。Ｓ２４６の次は、Ｓ２４１へ戻る。
【０１７７】
図２４は、実施の形態５における非線形方程式検算回路２３１による処理（Ｓ１３１）の概要を示すフローチャートである。
【０１７８】
まず、Ｓ２４０にて、非線形方程式検算回路２３１は、非線形方程式演算回路２３０の数値解ｘ’を受け取り、非線形方程式の評価演算とベクトルの積和演算により、g(ｘ’)＝y-f(ｘ’)の演算を行う。次にそのノルムである||g(ｘ’)||の評価をベクトルの内積演算により行う。
【０１７９】
次に、Ｓ２４１にて、非線形方程式検算回路２３１は、ノルム（||g(ｘ’)||）を許容誤差ｅｐｓｉｌｏｎと比較することで、ノルム（||g(ｘ’)||）が許容誤差を満足するか否かを判定する。非線形方程式検算回路２３１が、ノルム（||g(ｘ’)||）が許容誤差を満足する（ノルムが許容誤差未満である場合）と判定する場合（Ｓ２４１−ＹＥＳ）、Ｓ２４２へ進む。一方、非線形方程式検算回路２３１が、ノルム（||g(ｘ’)||）が許容誤差を満足しない（ノルムが許容誤差以上である場合）と判定する場合（Ｓ２４１−ＮＯ）、Ｓ２４３へ進む。
【０１８０】
相対誤差が許容誤差未満である場合、Ｓ２４２にて、非線形方程式検算回路２３１は、演算器にエラーが存在しないと判定する。
【０１８１】
一方、相対誤差が許容誤差以上である場合、Ｓ２４３にて、非線形方程式検算回路２３１は、演算器にエラーが存在すると判定する。
【０１８２】
なお、実施の形態５においても、実施の形態１と同様にして、非線形方程式検算回路２３１の回路面積は非線形方程式演算回路２３０の回路面積よりも小さい。従って非線形方程式演算回路２３０を２重化した情報処理回路よりも、実施の形態５の情報処理回路１００の回路面積の方が小さい。
＜実施の形態５の効果＞
【０１８３】
以上説明した実施の形態５における情報処理回路１００によれば、演算回路である非線形方程式演算回路２３０が非線形方程式を解くことで数値解を演算し、検算回路である非線形方程式検算回路２３１が復元した復元後入力信号と受け取った入力信号とに基づき非線形方程式の検算を行うことで、非線形方程式演算回路２３０を二つ設けた情報処理回路１００よりも回路量を減らしてもエラー検出が可能になる。
（実施の形態６）
【０１８４】
実施の形態６が実施の形態１と異なる点は、実施の形態６の情報処理回路１００が後処理回路２５０を有している点である。以下、本発明の実施の形態６を実施の形態１と異なる点を主に図２５を用いて説明する。
【０１８５】
図２５に示されるように、情報処理回路１００は、入力線１０１と、出力線１０２と、通知線１０３と、出力線２５１と、連立一次方程式演算回路１０４と、連立一次方程式検算回路１０５と、後処理回路２５０とを有する。
【０１８６】
後処理回路２５０は、連立一次方程式演算回路１０４の出力線１０２が情報処理回路１００から出る直前（手前）の位置に設けられ、出力線１０２を介して連立一次方程式演算回路１０４と接続される。
【０１８７】
連立一次方程式演算回路１０４は、出力信号（数値解ｘ’）を後処理回路２５０に出力する。
【０１８８】
後処理回路２５０は、連立一次方程式検算回路１０５と異なる演算（連立一次方程式検算回路１０５では不可能な演算）である後処理を行い、演算結果を出力線２５１を介して出力する。例えば、後処理回路２５０は、出力信号（数値解ｘ’）に所定の処理を加えてから出力線２５１を介して演算結果である信号を出力する。
【０１８９】
なお、図２６に示されるように、情報処理回路１００が、制御線２５２を有するようにしても良い。この場合、連立一次方程式検算回路１０５と後処理回路２５０とは、制御線２５２を介して接続される。また、連立一次方程式検算回路１０５は、連立一次方程式（または非線形方程式）の検算が終了するまで、出力信号（数値解ｘ’）を、制御線２５２を介して後処理回路２５０へ出力する。これによって、例えば、後処理回路２５０が連立一次方程式演算回路１０４の演算結果をラッチし、通知線１０３のエラー判定結果と同時に出力可能になる。
【０１９０】
また、図２７に示されるように、情報処理回路１００の後処理回路２５０が連立一次方程式演算回路１０４と連立一次方程式検算回路１０５との間に設けられるようにしても良い。この場合、連立一次方程式演算回路１０４と後処理回路２５０とは、出力線１０２を介して接続される。
【０１９１】
連立一次方程式演算回路１０４は、出力信号（数値解ｘ’）を後処理回路２５０へ出力する。
【０１９２】
後処理回路２５０は、連立一次方程式演算回路１０４から出力された数値解が連立一次方程式検算回路１０５で処理可能なデータでない場合に、出力された数値解を基づき連立一次方程式検算回路１０５で処理可能なデータを生成し、生成したデータを連立一次方程式検算回路１０５へ出力する。
＜実施の形態６の効果＞
【０１９３】
以上説明した実施の形態６における情報処理回路１００によれば、連立一次方程式演算回路１０４が数値解を後処理回路２５０へ出力し、後処理回路２５０が連立一次方程式検算回路１０５と異なる演算を行い、演算結果を出力することで、連立一次方程式検算回路１０５で処理可能な演算結果を出力線１０２でいったん出力し、連立一次方程式検算回路１０５で処理できない演算（連立一次方程式検算回路１０５と異なる演算）を後処理回路２５０で処理可能になる。
【０１９４】
また、連立一次方程式演算回路１０４は、数値解を後処理回路２５０へ出力し、後処理回路２５０は、出力された数値解が連立一次方程式検算回路１０５で処理可能なデータでない場合に、出力された数値解を基づき連立一次方程式検算回路１０５で処理可能なデータを生成し、生成したデータを連立一次方程式検算回路１０５へ出力することで、連立一次方程式演算回路１０４が出力する出力信号（数値解ｘ’）が連立一次方程式検算回路１０５で処理可能なデータでない場合であっても、連立一次方程式検算回路１０５で検算可能になる。
（実施の形態７）
【０１９５】
実施の形態７が実施の形態１と異なる点は、実施の形態７の情報処理回路１００が後処理回路２５０を有している点である。以下、本発明の実施の形態７を実施の形態１と異なる点を主に図２８を用いて説明する。
【０１９６】
図２８に示されるように、前処理回路２５４は、入力信号が連立一次方程式検算回路１０５に入力される直前（手前）に設けられる。前処理回路２５４は、入力された入力信号に対する前処理を行うことで、前処理後入力信号を生成する。そして、前処理回路２５４は、生成した前処理後入力信号を連立一次方程式検算回路１０５へ出力する。
【０１９７】
連立一次方程式演算回路１０４は、入力信号に基づき演算した数値解を連立一次方程式検算回路１０５へ出力する。
【０１９８】
連立一次方程式検算回路１０５は、連立一次方程式演算回路１０４が出力する数値解を復元後入力信号へ復元し、復元した復元後入力信号と、受け取った前処理後入力信号とに基づきエラーの有無を判定し、エラーの有無の判定結果を出力する。
【０１９９】
なお、図２９に示されるように、入力信号が連立一次方程式演算回路１０４に入力される直前（手前）に前処理回路２５４が設けられるようにしても良い。
【０２００】
ここで、連立一次方程式演算回路１０４が、入力線１０１を介して受け取る入力データを用いて連立一次方程式の演算するためには、入力データを高精度化させるための処理などが前処理回路で必要な場合がある。一方で、こうした入力データを高精度化させるための処理は連立一次方程式検算回路１０５では必要ない。
【０２０１】
例えば、実施の形態1では、入力データを高精度化させるための処理は、連立一次方程式演算回路１０４と連立一次方程式検算回路１０５の両方で実行されている。
【０２０２】
図２９に示される情報処理回路１００は、入力データを高精度化させるための処理をする前処理回路２５４を連立一次方程式演算回路１０４の手前に設けることで、連立一次方程式検算回路１０５から前処理を行うユニットを削減でき連立一次方程式検算回路１０５の回路量を減少できる。
【０２０３】
この場合、前処理回路２５４は、入力信号に対する前処理を行うことで、前処理後入力信号を生成し、生成した前処理後入力信号を連立一次方程式演算回路１０４へ出力する。
【０２０４】
連立一次方程式演算回路１０４は、前処理後入力信号に基づき演算した数値解を連立一次方程式検算回路１０５へ出力する。
【０２０５】
連立一次方程式検算回路１０５は、連立一次方程式演算回路１０４を介して受け取る数値解を復元後入力信号へ復元し、復元した復元後入力信号と、受け取った入力信号とに基づきエラーの有無を判定し、エラーの有無の判定結果を出力する。
＜実施の形態７の効果＞
【０２０６】
以上説明した実施の形態７における情報処理回路１００によれば、前処理回路２５４が入力信号に対する前処理を行い、前処理を行った後の前処理後入力信号を連立一次方程式検算回路１０５へ出力することで、入力データが、連立一次方程式検算回路１０５で処理可能なデータでない場合であっても、連立一次方程式検算回路１０５で検算可能になる。
【０２０７】
また、前処理回路２５４が、入力された入力信号に対する前処理を行うことで、前処理後入力信号を生成し、生成した前処理後入力信号を連立一次方程式演算回路１０４へ出力することで、連立一次方程式検算回路１０５から前処理を行うユニットを削減でき連立一次方程式検算回路１０５の回路量を減少できる。
【０２０８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０２０９】
また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【符号の説明】
【０２１０】
１００…情報処理回路、１０４…連立一次方程式演算回路、１０５…連立一次方程式検算回路、
２３０…非線形方程式演算回路、２３１…非線形方程式検算回路。
【図１】
2017029766.tif 000003
【図２】
2017029766.tif 000004
【図３】
2017029766.tif 000005
【図４】
2017029766.tif 000006
【図５】
2017029766.tif 000007
【図６】
2017029766.tif 000008
【図７】
2017029766.tif 000009
【図８】
2017029766.tif 000010
【図９】
2017029766.tif 000011
【図１０】
2017029766.tif 000012
【図１１】
2017029766.tif 000013
【図１２】
2017029766.tif 000014
【図１３】
2017029766.tif 000015
【図１４】
2017029766.tif 000016
【図１５】
2017029766.tif 000017
【図１６】
2017029766.tif 000018
【図１７】
2017029766.tif 000019
【図１８】
2017029766.tif 000020
【図１９】
2017029766.tif 000021
【図２０】
2017029766.tif 000022
【図２１】
2017029766.tif 000023
【図２２】
2017029766.tif 000024
【図２３】
2017029766.tif 000025
【図２４】
2017029766.tif 000026
【図２５】
2017029766.tif 000027
【図２６】
2017029766.tif 000028
【図２７】
2017029766.tif 000029
【図２８】
2017029766.tif 000030
【図２９】
2017029766.tif 000031
【国際調査報告】
2017029766.tif 000032
2017029766.tif 000033
2017029766.tif 000034
2017029766.tif 000035