IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングの特許一覧

特許7546346セーフティクリティカルなシステムでデータを計算するための方法及び装置
<>
  • 特許-セーフティクリティカルなシステムでデータを計算するための方法及び装置 図1
  • 特許-セーフティクリティカルなシステムでデータを計算するための方法及び装置 図2
  • 特許-セーフティクリティカルなシステムでデータを計算するための方法及び装置 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-29
(45)【発行日】2024-09-06
(54)【発明の名称】セーフティクリティカルなシステムでデータを計算するための方法及び装置
(51)【国際特許分類】
   G06F 11/16 20060101AFI20240830BHJP
   G16Z 99/00 20190101ALI20240830BHJP
【FI】
G06F11/16 633
G16Z99/00
【請求項の数】 11
【外国語出願】
(21)【出願番号】P 2019021338
(22)【出願日】2019-02-08
(65)【公開番号】P2019169136
(43)【公開日】2019-10-03
【審査請求日】2022-02-03
(31)【優先権主張番号】10 2018 202 093.0
(32)【優先日】2018-02-12
(33)【優先権主張国・地域又は機関】DE
(73)【特許権者】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【氏名又は名称】鳥居 健一
(72)【発明者】
【氏名】バナウ、ニコ
【審査官】坂東 博司
(56)【参考文献】
【文献】特表2007-515867(JP,A)
【文献】特開2011-040064(JP,A)
【文献】米国特許出願公開第2018/0370540(US,A1)
【文献】特開2015-015024(JP,A)
【文献】岩田 員典 Kazunori Iwata,電気関係学会東海支部連合大会,電気学会論文誌C Vol.130 No.12 IEEJ,日本,(社)電気学会 The Institute of Electrical Engineers of Japan,2010年12月01日,Vol.130 No.12 ,2167~2173頁,【ISSN】0385-4221
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/16
G16Z 99/00
(57)【特許請求の範囲】
【請求項1】
システムによる計算中に発生するエラーを検出することができる、データモデルを計算する装置であって、
少なくとも2つの演算ユニット(102,104)を有し、前記少なくとも2つの演算ユニット(102,104)の少なくとも1つの演算ユニットは、前記システムの少なくとも1つの状態に従って、前記システムの入力と出力の関係についての関係性の特性を示す主データモデルを計算するよう構成され、前記少なくとも2つの演算ユニット(102,104)の少なくとも1つの他の演算ユニットは、前記システムの少なくとも1つの状態に従って、前記システムの入力と出力の関係についての関係性の特性を近似的に示す、前記主データモデルに付属する近似データモデルを計算するよう構成され、
前記主データモデルは、第1のデータモデルとして前記システムの少なくとも1つの特性を含み、前記主データモデルに付属する近似データモデルは、第2のデータモデルとして少なくとも、前記第1のデータモデルとして前記主データモデルに含まれる前記システムの少なくとも1つの特性を近似的に含み、
比較ユニット(108)を有し、前記比較ユニット(108)は、
前記主データモデルの第1の計算の第1の結果と、前記主データモデルに付属する近似データモデルの第2の計算の第2の結果と、を比較し、
前記第1の結果と前記第2の結果との互いの誤差についての情報を決定し、
前記誤差が最大許容誤差を上回る場合には、当該誤差についての情報に従ってエラーを検出するよう構成される、
データモデルを計算する装置において、
前記少なくとも2つの演算ユニット(102,104)は、前記システムの少なくとも1つの状態に従って、前記主データモデルと前記主データモデルに付属する近似データモデルとの間の最大許容誤差を前記システムの少なくとも1つの状態に対応づける誤差データモデルの計算によって、前記最大許容誤差を決定するよう構成される、
データモデルを計算する装置。
【請求項2】
前記データモデルを計算する装置は、制御ユニット(106)を有し、前記制御ユニット(106)は、前記主データモデルの第1の計算を、前記少なくとも2つの演算ユニット(102,104)のうちの1の演算ユニットで計算し、及び、前記主データモデルに付属する前記主データモデルに付属する近似データモデルの第2の計算を、前記少なくとも2つの演算ユニット(102,104)のうちの他の演算ユニットで計算するよう構成されることを特徴とする、請求項1に記載のデータモデルを計算する装置。
【請求項3】
前記少なくとも2つの演算ユニット(102,104)、前記比較ユニット(108)、及び、前記制御ユニット(106)がマイクロプロセッサ又はマイクロコントローラを含むことを特徴とする、請求項2に記載のデータモデルを計算する装置。
【請求項4】
前記制御ユニット(106)は、前記主データモデルをより性能が優れた前記演算ユニット(102)へと分散し、前記主データモデルに付属する近似データモデルをより性能が劣る前記演算ユニット(104)へと分散するよう構成されることを特徴とする、請求項2又は3に記載のデータモデルを計算する方法。
【請求項5】
前記少なくとも2つの演算ユニット(102,104)の少なくとも1つの演算ユニットが前記主データモデルを計算し、前記少なくとも2つの演算ユニット(102,104)の少なくとも1つの他の演算ユニットが前記主データモデルに付属する近似データモデルを計算するよう設計されることを特徴とする、請求項1~3のいずれか一項に記載のデータモデルを計算する装置。
【請求項6】
少なくとも2つの演算ユニット(102,104)は、それらの計算能力が類似しており又は同一であるよう構成され、前記少なくとも2つの演算ユニット(102,104)はそれぞれ、主データモデルと近似データモデルとの双方を計算することが可能であることを特徴とする、請求項1~3のいずれか一項に記載の装置。
【請求項7】
前記少なくとも2つの演算ユニット(102,104)の各々は、異なるマイクロプロセッサ又はマイクロコントローラを含むことを特徴とする、請求項1~6のいずれか一項に記載のデータモデルを計算する装置。
【請求項8】
前記比較ユニット(108)は、前記少なくとも2つの演算ユニット(102,104)のいずれかが含むマイクロプロセッサ又はマイクロコントローラによって実現される、請求項7に記載のデータモデルを計算する装置。
【請求項9】
前記比較ユニット(108)は、前記少なくとも2つの演算ユニット(102,104)が含むマイクロプロセッサ又はマイクロコントローラ以外のマイクロプロセッサ又はマイクロコントローラによって実現される、請求項7に記載のデータモデルを計算する装置。
【請求項10】
システムによる計算中に発生するエラーを検出することができる、データモデルを計算する方法であって、
前記システムの少なくとも1つの状態に従って、前記システムの入力と出力の関係についての関係性の特性を示す主データモデルが計算され(208,308)、
前記システムの少なくとも1つの状態に従って、前記システムの入力と出力の関係についての関係性の特性を近似的に示す、主データモデルに付属する近似データモデルが計算され(209,309)、
前記主データモデルは、第1のデータモデルとして、前記システムの少なくとも1つの特性を含み、前記主データモデルに付属する近似データモデルは、第2のデータモデルとして少なくとも、前記第1のデータモデルとして前記主データモデルに含まれる前記システムの少なくとも1つの特性を近似的に含み、
前記主データモデルの第1の計算の第1の結果と、前記主データモデルに付属する近似データモデルの第2の計算の第2の結果と、が比較され(213,313)、
前記第1の結果と前記第2の結果との互いの誤差についての情報が決定され、
前記誤差が最大許容誤差を上回る場合には、前記誤差についての情報に従ってエラーが検出される(213、313)、
データモデルを計算する方法において、
前記システムの少なくとも1つの状態に従って、前記主データモデルと前記主データモデルに付属する近似データモデルとの間の最大許容誤差を前記システムの少なくとも1つの状態に対応づける誤差データモデルの計算によって、前記最大許容誤差を決定するよう構成される、
データモデルを計算する方法。
【請求項11】
請求項10に記載の方法を実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特にセーフティクリティカルなシステムでの計算の間にエラーを検出する可能性を帯びた、データモデルを計算するための方法及び装置に関する。
【背景技術】
【0002】
例えば自動車内の、セーフティクリティカルなシステムでは、安全性に関わるエラーの発生を検出することが、対応する応答によってそのエラーに対応するために重要である。例えば、エラーの検出への応答として、或る構成要素が結果的に停止されうる。
【0003】
デジタルHW回路では、一時的エラー、即ち、例えば一回のビットキッパー(Bitkipper)等の一時的なエラー、又は、永続的なエラー、即ち継続するエラーが発生しうる。
【0004】
各安全性要求に従って、ある程度の確率によりエラーを検出し対応して処理する必要があり、従って、この検出されたエラーは、セーフティクリティカルなシステムに対しては影響を及ぼしえない。自動車分野では、ASIL(Automotive Safety Integrity Level)に上記要件が記述されている。
【0005】
エラーを検出するために、例えば、同じアルゴリズムの計算が、互いに異なる2つの同種のデジタル演算ユニットで行われうる。この場合の欠点は、ハードウェアのコストが二倍になること、即ちシリコン面積が二倍になることであり、その結果としてコストがより高いことである。
【0006】
前段の工程でシステムの挙動を観察し測定することにより、データに基づくモデルは、物理的システムの特性を表す。ここでは、入力データと出力挙動との間の関連付けが形成される。この情報は、例えば特性マップとして格納され、セーフティクリティカルなシステムの駆動時に呼び出されうる。
【0007】
これに関して、独国特許出願公開第102013212842号明細書は、モデル計算ユニットがデータに基づく関数モデルを計算し主計算ユニットへの負荷を軽減する制御装置を開示している。
【0008】
セーフティクリティカルなシステムでデータに基づくモデルを計算する際の、デジタル回路内のエラーは、データに基づくモデルを冗長的に計算することによって検出することが可能である。このために必要な計算によって、ハードウェアに高い負荷が掛かる。
【0009】
幾つかの形態のデータモデルは、計算のために、後から再び全体的なモデルに統合することが可能な部分データモデルに分けられる。以下では、このような部分データモデルは一律にデータモデルと称される。同様に続いて記載する上記データモデルの計算の比較には、以下では常に、データモデル、部分データモデル。及び、完全又は部分的にまとめられた部分データモデルの結果も含まれる。
【発明の概要】
【発明が解決しようとする課題】
【0010】
セーフティクリティカルなシステムでのデータに基づくモデルの計算において望まれることは、完全に冗長な計算な計算に対して明らかにより低いハードウェア・コストで実現されるエラー検出である。
【課題を解決するための手段】
【0011】
このことは、独立形式請求項に記載の装置及び方法によって達成される。
【0012】
特に、計算中に発生するエラーを検出する可能性を帯びた、データモデルを計算する装置は、少なくとも2つの演算ユニットを有し、少なくとも2つの演算ユニットの少なくとも1つの演算ユニットは、システムの少なくとも1つの状態に従って、主データモデルを計算するよう構成され、少なくとも2つの演算ユニットの少なくとも1つの他の演算ユニットは、システムの少なくとも1つの状態に従って、主データモデルに付属する近似データモデルを計算するよう構成され、主データモデルは、第1のデータモデルとしてシステムの少なくとも1つの特性を含み、近似データモデルは、第2のデータモデルとして少なくとも、システムの同一の特性を近似的に含み、比較ユニットは、以下の方法を実行するよう構成され、即ち、主データモデルの第1の計算の第1の結果と、主データモデルに付属する近似データモデルの第2の計算の第2の結果と、を比較し、第1の結果と第2の結果との互いの誤差についての情報を決定し、誤差が最大許容誤差を上回る場合には、誤差についての情報に従ってエラーを検出するよう構成される。少なくとも2つの演算ユニット及び比較ユニットにより形成されるハードウェアによって、永続的なエラー及び一時的なエラーを検出することが可能となる。近似の計算にはより少ないコストが掛かり、従来の冗長的なシステムに対してハードウェア・コストを削減することが可能となる。
【0013】
更に、装置は制御ユニットを有し、制御ユニットは、主データモデルの第1の計算を、少なくとも2つの演算ユニットのうちの1の演算ユニットで計算し、及び、主データモデルに付属する近似データモデルの第2の計算を、少なくとも2つの演算ユニットのうちの他の演算ユニットで計算するよう構成される。これにより、より高められた冗長要件を満たすために、主データモデル及びこれに対応する近似データモデルは好適に異なる演算ユニットで計算される。
【0014】
好適な実施形態において、少なくとも2つの演算ユニットの少なくとも1つの演算ユニットは、当該少なくとも1つの演算ユニットが基本的に主データモデルを計算し、少なくとも2つの演算ユニットの少なくとも1つの他の演算ユニットが基本的に近似データモデルを計算するよう設計される。制御ユニットは有利に、基本的に、主データモデルをより性能が優れた演算ユニットへと分散し、付属する近似データモデルをより性能が劣る演算ユニットへと分散するよう構成される。主データモデルに対する近似データモデルの複雑性の低減に応じて、近似データモデルを計算する演算ユニットは、例えば、主データモデルを計算する演算ユニットより明らかに性能が低く、これにより、このより性能が低い演算ユニットは、例えば、明らかに小さいシリコン面積を必要とする。
【0015】
更なる別の有利な実施形態において、少なくとも2つの演算ユニットは、それらの計算能力が類似しており又は同一であるよう構成され、従って、少なくとも2つの演算ユニットはそれぞれ、主データモデルと近似データモデルとの双方を計算することが可能である。本実施形態に追加して、制御ユニットは、少なくとも2つの演算ユニットのそれぞれにおいて、主データモデルの第1の計算の間に近似データモデルの第2の計算の部分を連続的に挿入するよう構成され、ここで、主データモデルと、付属する近似データモデルとはそれぞれ、好適に異なる演算ユニットで計算されうる。これにより、主データモデルの計算のために全計算能力がもはや提供されず、低減された計算能力が提供される。計算能力の低減は、主データモデルに対する近似データモデルのモデル縮小度に依存する。モデルの縮小度が高い場合、追加的な計算コストが比較的小さい。
【0016】
有利に、マイクロプロセッサ又はマイクロコントローラ(以下では同等と見なされる)は、少なくとも2つの演算ユニット、比較ユニット、及び、場合により存在する制御ユニットを含む。これにより、統合された形での解決策が提供される。
【0017】
代替的な有利な実現において、少なくとも2つの演算ユニットの各々は、異なるマイクロプロセッサに配置される。第1の結果と第2の結果とを比較して誤差についての情報を決定するよう構成された比較ユニットは、演算ユニットのうちの1つの内部又は外部の、上記異なるマイクロプロセッサのうちの1つに配置されうる。代替的に、比較ユニットは、別のマイクロプロセッサ、又は、他の外部の構成要素に配置されてもよい。
【0018】
有利な補足的な実現において、少なくとも2つの演算ユニットは、システムの状態に従って、主データモデルと近似データモデルとの間の最大許容誤差をシステムの状態に対応づける誤差データモデルの計算によって、最大許容誤差を決定するよう構成される。これにより、比較ユニットでの比較の際に、モデルの全入力データのための固定的な最大誤差値を考慮するだけではなく、システムの状態に従って段階付けされた最大誤差値であって、通常では最大許容誤差値よりも低い上記最大誤差値を考慮することが可能である。
【0019】
特に、計算中に発生するエラーを検出する可能性を帯びた、データモデルを計算する方法では、少なくとも2つの演算ユニットの少なくとも1つの演算ユニットで、システムの少なくとも1つの状態に従って主データモデルが計算され、システムの少なくとも1つの状態に従って、少なくとも2つの演算ユニットの少なくとも1つの他の演算ユニットで、主データメモリに付属する近似データモデルが計算され、主データモデルは、第1のデータモデルとしてシステムの少なくとも1つの特性を含み、近似データモデルは、第2のデータモデルとして少なくとも、システムの同一の特性を近似的に含み、主データモデルの第1の計算の第1の結果と、上記付属する近似データモデルの第2の計算の第2の結果と、が比較されて、第1の結果と第2の結果との互いの誤差についての情報が決定され、誤差が最大許容誤差を上回る場合には、上記誤差についての情報に従ってエラーが検出される。これにより、ハードウェア・コストを削減しながら、永続的なエラー及び一時的なエラーを検出することが可能となる。
【0020】
好適に、主データモデルと、それに付属する近似データモデルと、は互いに異なる演算ユニットで計算される。これにより、一時的エラー及び永続的なエラーを検出するための高められた冗長性要件が満たされる。
【0021】
性能の良さが異なる演算ユニットが利用される際には、好適に、主データモデルの第1の計算が基本的に、少なくとも2つの演算ユニットのより性能が優れた演算ユニットで実行され、近似データモデルの第2の計算は基本的に、少なくとも2つの演算ユニットのより性能が劣る演算ユニットで実行される。これにより、性能がより優れた演算ユニットでの主データモデルの実行時間は、性能がより劣る演算ユニットでの近似データモデルの実行時間と同じになる。主データモデルに対する近似データモデルの複雑性を低減することによって、性能がより優れた演算ユニットに対して、性能がより劣る演算ユニットのシリコン面積が明らかにより小さくなりうる。
【0022】
性能の良さが同じ又は類似した演算ユニットが利用される際には、好適に、主データモデルの第1の計算が、少なくとも2つの演算ユニットへと分散され、近似データモデルの第2の計算が、主データモデルの第1の計算の間に挿入され、各主データモデルと付属する近似データモデルとは、好適に異なる演算ユニットで計算される。これにより、少なくとも2つの演算ユニットの全計算能力ではなく、低減された計算能力が主データモデルの計算に提供される。計算能力の低減は、主データモデルに対する近似的データモデルのモデル縮小度に依存する。特に、モデル縮小度が高い際には、追加的な計算コストが比較的小さい。これにより、演算ユニットの計算能力を僅かに下げた状態で、高められた冗長性要件が満たされる。
【0023】
好適に、システムの状態に従って、主データモデルと付属する近似データモデルとの最大許容誤差をシステムの状態に対応付ける誤差データモデルの計算によって、最大許容誤差が決定される。これにより、システムの状態に応じて段階付けされた誤差値が予め設定されうる。
【0024】
更なる別の有利な構成は、以下の明細書の記載および図面から明らかとなろう。
【図面の簡単な説明】
【0025】
図1】マイクロコントローラ構成の構成要素を概略的に示す。
図2】エラー検出のための原則的な方法の工程を示す。
図3】その計算能力が同じであり又は類似している2つの演算ユニットを用いたエラー検出方法の工程を概略的に示す。
【発明を実施するための形態】
【0026】
図1は、エラー検出装置の一部としてのマイクロコントローラ構成の構成要素を概略的に示している。
【0027】
本装置は、少なくとも2つの演算ユニットを有する。本例では、装置は、第1の演算ユニット102と、第2の演算ユニット104と、を有する。2つの演算ユニットよりも多い演算ユニットが設けられてもよい。
【0028】
少なくとも2つの演算ユニットの少なくとも1つの演算ユニットは、システムの少なくとも1つの状態に従って、主データモデルを計算するよう構成される。少なくとも2つの演算ユニットの少なくとも1つの他の演算ユニットは、システムの状態に従って、付属する近似データモデルを計算するよう構成される。
【0029】
システムは、本例では、物理的なシステムである。上記状態は、本例では、主データモデル及び付属する近似データモデルのための入力データの形態により表される。
【0030】
主データモデル、及び、付属する近似データモデルは、データに基づくモデルであり、システムの挙動を前段の工程で監視し測定することで、物理的システムの特性を表す。その際には、入力データと出力挙動との間の関連付けが形成される。この情報は、例えば特性マップ(複数を含む)として格納され、駆動時に呼び出されうる。ここでは、特性マップを直接的に格納することが可能であり、又は、圧縮した形態でも格納することが可能である。直接的な格納形態の場合は、データが駆動時に直接的に読み出され、中間値が、例えば補間によって獲得される。これに対して、圧縮した形態では、モデルを解凍するために、即ちモデルを計算するために計算規則が必要となる。圧縮されたモデルは、例えばガウス過程モデルであり、特性マップが多次元のガウス曲線により示されうる。同様に、例えば、ニューラルネットワークも1つのモデルである。サンプルポイントとも呼ばれる圧縮されたモデルデータは、典型的に予め、即ち制御装置の外部で適切なプログラムによって計算される。
【0031】
主データモデル及び付属する近似データモデルの計算のために必要なシステムの入力データ、及びモデル値は、別々のメモリに、又は同じメモリに格納されうる。メモリは、例えば、レジスタとして又はRAM(Random Access Memory)として実現されうる。入力データは、少なくとも2つの演算ユニットに供給され、及び/又は、少なくとも2つの演算ユニットから独自に読み出されうる。
【0032】
主データモデルは、第1のデータモデルとして、システムの少なくとも1つの特性を有する。付属する近似データモデルは、第2のデータモデルとして少なくとも、システムの同一の特性を近似的に含む。この特性は、例えば、システム内の構成要素の駆動点でありうる。
【0033】
即ち、近似データモデルは、主データモデルの近似である。従ってモデル精度が、主データモデルに対して下げられる。モデルの種類、モデルデータ、入力データ等に応じて、主データモデルに対する近似データモデルの実質的な縮小が可能であり、その縮小度は例えば10倍、特別な場合にはそれ以上に達しうる。モデル縮小度に対応して、主データモデルを完全に二重に計算することに対する計算コストの低減が達成される。
【0034】
2つのモデルの計算式は、かなりの程度で又は完全に同一でありうる。従って、主データモデルを計算しうる演算ユニットは、近似データモデルを計算することも可能である。このために利用されるアルゴリズムの基本構造は、基本的に同じままでありうる。これにより、代替的なアルゴリズム、即ち、代替的な計算モデル又は代替的な数式は指定されない。これにより、異なる精度の2つのモデルが同じアルゴリズムで計算されるだけなので、開発コストが削減される。
【0035】
性能が異なる2つの演算ユニットの構成では、冗長な計算のために、性能がより劣る演算ユニット及び比較ユニットの形態による追加的な小さなハードウェア回路のみが、マイクロコントローラ構成において近似データモデルを計算するために必要である。
【0036】
性能が類似しており又は同一の演算ユニットの構成では、追加的なハードウェア回路として、マイクロコントローラ構成内の比較ユニットのみが、冗長的な計算という理由から必要である。従って、既存のハードウェアの計算能力の一部のみが利用される。これにより、特別な代替的なハードウェアを開発する必要がない。同じアルゴリズムによって、不正確性は、縮小された近似データモデルのみによって発生する。
【0037】
比較ユニットは、主データモデルの第1の計算の第1の結果と、近似データモデルの第2の計算の第2の結果とを比較し、第1の結果と第2の結果との互いの誤差についての情報を決定するよう構成される。比較ユニットは、上記誤差が最大許容誤差を上回る場合には、当該誤差についての情報に従ってエラーを検出するよう構成される。上記の結果は、例えば、特性及び入力データに基づき各モデルに従ってシステムが達する状態である。
【0038】
本装置は、制御ユニット106を有する。本装置は、本例では、マイクロコントローラ構成の割込みコントローラ(Interrupt Controller)を有し、これは、以下では割込み制御ユニット109と称される。分かり易さの理由から、制御ユニット106のための駆動制御線、及び、演算ユニットへの割込み制御ユニット109のための駆動制御線は図示されていない。制御ユニット106、及び、割込み制御ユニット109は、本例では別々のユニットである。制御ユニット106は、主データモデルと、近似データモデルと、を分散させるよう構成されうる。制御ユニット106は、例えば、独立したユニットであってもよく、又は、マイクロプロセッサのうちの1つの1つのソフトウェアであってもよい。
【0039】
マイクロプロセッサのうちの1つは、第1の結果と第2の結果とを比較し誤差についての情報を決定するよう構成された比較ユニット108を含みうる。比較ユニット108は、上記誤差についての情報に従ってエラーを検出する。図では、比較ユニット108は、少なくとも2つの演算ユニットの外部に存在するが、代替的に、少なくとも2つの演算ユニットに論理的に割り当てられていてもよい。
【0040】
マイクロプロセッサ構成は、エラーの種類を検出し又は表示するエラー検出ユニット110を含みうる。比較ユニット108によってエラーケースが表示されると、エラー検出ユニット110は場合によっては、特別なエラー応答により応答することが可能である。
【0041】
比較ユニット108は例えばエラーを検出し、エラーが検出された際には、割込み制御ユニット109が割込みを送り、及び/又は、エラー検出ユニット110が応答する。
【0042】
システムの状態は入力データとして、例えば、第1の演算ユニット102への第1のデータ線112、及び、第2の演算ユニット104への第2のデータ線14を介して伝送される。第1の結果は、例えば、第3のデータ線116を介して、第1の演算ユニット102から比較ユニット108へと伝送される。第2の結果は、例えば第4のデータ線118を介して、第2の演算ユニット104から比較ユニット108へと伝送される。
【0043】
第5のデータ線120は、比較ユニット108を、制御ユニット106と、割込み制御ユニット109及び/又はエラー検出ユニット110と、接続する。
【0044】
本例では、データバス122を介して、複数の演算コア124と、揮発性メモリ126、例えばRAM(Random Access Memory)と、不揮発性メモリ128とが、第1のデータ線112及び第2のデータ線114に接続されている。これら第1のデータ線112及び第2のデータ線114は、データバスの一部でもありうる。不揮発性メモリ128は、例えば、主データモデル及び近似データモデルのためのモデルパラメータを含む。不揮発性メモリ128は、例えば、フラッシュ(Flash)メモリ、又は、他の不揮発性RAMである。
【0045】
制御ユニット106は、少なくとも1つの主データモデルの計算を、基本的に第1の演算ユニットで、例えば102で実行し、少なくとも1つの付属する近似データモデルの計算を、他の演算ユニットで、基本的に第2の演算ユニット、例えば104で実行するよう構成されうる。
【0046】
第2の演算ユニット104は第2のハードウェアにより、第1のハードウェアを有する第1の演算ユニット102に対して、性能及び/又は計算の精度が制限され、例えば、サポートされていないデータ型、処理されるデータのデータ幅に関して、又は、制限された命令セットにより制限されうる。第2の最大データ幅は、例えば第1の最大データ幅よりも小さい。例えば、32ビットの代わりに16ビットが利用される。第2の命令セットは、例えば、第1の命令セットに対して縮小されている。第2のデータ型は、例えば、第1の最大データ型の浮動小数点に対する、固定小数点である。第2の実行される演算は、例えば、指数関数、三角関数等の複雑な関数の近似であってもよく、又は、テーブルから読み出されてもよいが、第1の実行される演算では計算が正確に実行される。
【0047】
代替的に、演算ユニット106は、少なくとも2つの演算ユニット、例えば102、104の少なくとも2つの演算ユニットでそれぞれ主データモデルの計算を実行し、及び、各主データモデルに付属する近似データモデルの計算を、主データモデルを計算する演算ユニットとは異なる各演算ユニットで実行するよう構成されうる。制御ユニットは、第1の計算に、連続的に近似データモデルの第2の計算の部分を挿入し、及び/又は、少なくとも2つの演算ユニットの少なくとも1つの演算ユニットによる主データモデルの連続する計算の間に、連続的に近似データモデルの第2の計算の部分を挿入するようさらに構成されうる。例えば、第1の主データモデル、第2の主データモデル、及び、第3の主データモデルが計算される。第1の主データモデル及び第3の主データモデルは、第1の計算ユニット102で計算される。例えば、第2の主データモデルがさらに、第2の演算ユニット104で計算される。第1の主データモデルに付属する第1の近似データモデルが、例えば、第2の演算ユニット104において、以下のように挿入されて計算され、即ち、まず第2の主データモデルの実行が中断され、その後で、第1の近似データモデルが実行され、続いて第2の主データモデルの実行が再び開始される。例えば、第2の主データモデルに付属する第2の近似データモデルは、第1の演算ユニット102において、第1の主データモデルと第3の主データモデルとの間に挿入されて計算され、その際に、これらの主データモデルのうちの1つが中断されることはない。これにより、主データモデルの計算のために、もはや、演算ユニット102及び104の全計算能力が提供されず、低下された計算能力が提供される。計算能力の低下度は、主データモデルに対する近似データモデルのモデル縮小度に依存する。モデルの縮小度が大きい場合には、追加的な計算コストが比較的小さい。
【0048】
マイクロプロセッサは、少なくとも2つの演算ユニット、即ち、本例では第1の演算ユニット102及び第2の演算ユニット104を含みうる。これらの演算ユニットは、異なるマイクロコントローラに配置されうる。
【0049】
少なくとも2つの演算ユニットは、システムの状態に従って、主データモデルと近似データモデルと間の最大許容誤差をシステムの状態対応づける誤差データモデルから最大許容誤差を計算するよう構成されうる。この場合、不揮発性メモリ128は、誤差データモデルのデータを含む。
【0050】
これにより比較の際には、上記モデルの全入力データのための固定の最大誤差値のみならず、入力データに応じて段階付けされた通常では最大誤差値よりも小さい誤差値が考慮される。エラーの場合に、誤差データモデルにより大きな誤差が誤って許容されることを回避するために、例えば追加的に、誤差データモデルが上回ってはならない固定の最大値を予め設定することが可能である。
【0051】
これにより、更なる別の最適化が行われうる。例えば、誤差データモデル抜きの主データモデルと近似データモデルとの純粋な組み合わせに対して、より低い計算能力を要する更なる別のモデル縮小が可能である。例えば、誤差データモデル抜きの主データモデルと近似データモデルとの純粋な組み合わせに対してエラー検出のより高い精度を可能とするエラー誤差の縮小が可能である。
【0052】
上記のアルゴリズムは、例えば命令(Instruction)として、少なくとも2つの演算ユニットに格納され、又は、完全に若しくは部分的に不揮発性メモリ128に格納される。
【0053】
図2を用いて、以下では、エラー検出のための原則的な方法が記載される。
【0054】
工程202において、主データモデルのための入力データが第1の演算ユニット102へと伝送され、付属する近似データモデルのための入力データが第2の演算ユニット104へと伝送される。任意に、工程203において、誤差データモデルのための入力データが、好適に第2の演算ユニット104へと伝送される。引き続いて又はこれと並行して、工程204において、主データモデルが第1の演算ユニット102によって読み込まれる。引き続いて又はこれと並行して、工程205において、付属する近似データモデルが第2の演算ユニット104によって読み込まれる。任意に、工程206において、誤差データモデルが、好適に第2の演算ユニット104によって読み込まれる。
【0055】
工程204に続いて、工程208では第1の演算ユニット102によって、主データモデルのための第1の結果が決定される。
【0056】
工程205に続いて、工程209では、第2の演算ユニット104によって近似データモデルのための第2の結果が決定される。
【0057】
任意に、工程210において、第2の演算ユニット104によって、入力データに基づき目下許容される誤差が、誤差データモデルの計算によって決定される。
【0058】
任意に、これに引き続いて、工程211において、最大許容誤差が、現在許容される誤差と、許容誤差の所定の制限値212と、から決定される。
【0059】
工程208及び工程209に続いて、及び、任意に、工程211に続いて、工程213において、主データモデルのための第1の結果と、近似データモデルのための第2の結果と、の比較が実行される。工程213において、第1の結果と第2の結果との互いの誤差についての情報が決定され、上記誤差が最大許容誤差を上回る場合には、上記誤差についての情報に従ってエラーが検出される。最大許容誤差は、例えば、固定値として予め設定される。任意に、工程211において決定された最大許容誤差との比較が実行される。
【0060】
図3は、その計算能力が類似しており又は同一の2つの演算ユニットを用いて原則的な方法を適用するための第2の方法における工程を概略的に示しており、ここでは、2つの主データモデル、及び、各付属する近似データモデルが計算される。
【0061】
工程302において、第1のシステム状態が、第1の主データモデルのための第1の入力データの形態により、第1の演算ユニット102へと伝送され、及び、第1の付属する近似データモデルのための第1の入力データの形態により、第2の演算ユニット104へも伝送される。これと依存せずに、例えば同時に、第2のシステム状態が、第2の主データモデルのための第2の入力データの形態により、第2の演算ユニット104へと伝送され、及び、第2の付属する近似データモデルのための第2の入力データの形態により、第1の演算ユニット102へも伝送される。
【0062】
これに続いて又はこれと並行して、工程304において、第1の主データモデルが第1の演算ユニット102によって読み込まれ、続いて、第2の近似データモデルが、第1の演算ユニット102によって読み込まれる。例えば、主データモデル又は近似データモデルの各ロードの後で、後続の主データモデル又は近似データモデルを工程304で読み出すことができるようになる前に、まず、後続の工程308が終了している必要がある。
【0063】
引き続いて又はこれと並行して、工程305において第1の近似データモデルが、第2の演算ユニット104によって読み込まれ、続いて、第2の主データモデルが、第2の演算ユニット104によって読み込まれる。例えば、最初に、第2の主データモデルが読み出され、続いて第1の近似データモデルが読み込まれるということも可能である。例えば、主データモデル又は近似データモデルの各ロードの後で、後続の主データモデル又は近似データモデルを工程305で読み出すことができるようになる前に、まず、後続の工程309が終了している必要がある。
【0064】
工程304に続いて、工程308において、第1の演算ユニット102によって、第1の主データモデルのための第1の結果が決定され、続いて、第2の近似データモデルのための第2の結果が決定される。例えば、第2の近似データモデルのための第2の結果が決定され、続いて、第1の主データモデルのための第1の結果が決定されるということも可能である。
【0065】
工程305に続いて、工程309において、第2の演算ユニット104によって、第1の近似データモデルのための第1の結果が決定され、続いて、第2の主データモデルのための第2の結果が決定される。例えば、第2の主データモデルのための第2の結果が決定され、続いて、第1の近似データモデルのための第1の結果が決定されるということも可能である。
【0066】
工程308及び工程309に続いて、工程313において比較が実行される。工程313では、各計算の第1の結果と第1の主データモデルとの誤差、及び、各計算の第1の結果と第1の近似データモデルとの誤差についての情報が決定され、続いて、各計算の第2の結果と第2の主データモデルとの誤差、及び、各計算の第2の結果と第2の近似データモデルとの誤差についての情報が決定され、誤差が最大許容誤差を上回る場合には、上記誤差についての情報に従ってエラーが検出される。最大許容誤差は、例えば固定値として予め設定される。
図1
図2
図3