(57)【要約】  少なくとも部分的に安全上重大なプロセスを制御または調節するマイクロプロセッサシステム（５０）であり、チップハウジングの中に組み込まれる２つの中央処理ユニット（１、２）と、第１および第２バスシステムと、第１バスシステム上の少なくとも１つのフルメモリ（７）と、第２バスシステム上の少なくとも１つのテストデータ記憶装置（５１）とを含むマイクロプロセッサシステム（５０）であって、テストデータ記憶装置（５１）は第１バスシステム上のフルメモリに比べて記憶範囲が小さく、テストデータ記憶装置（５１）には、第１バスシステム上のメモリ（７）のデータに紐付けられるテストデータが保存され、さらに、バスシステムは、２つのバスシステム間におけるデータのデータ交換および／または比較を可能にする比較および／またはドライバ構成要素を含み、かつ、少なくとも第２バスシステム上にはハードウェアのテストデータ生成器（４）が配置されるマイクロプロセッサシステム。このマイクロプロセッサシステムにおいて、第１バス上のフルメモリの少なくとも一部分が、別のテストデータ記憶装置（５）および第１バス上のテストデータによって付加的にバックアップされる。本発明は、さらに、上記のマイクロプロセッサシステムの自動車コントローラにおける使用にも関する。
2009505188.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも部分的に安全上重大なプロセスを制御または調節するマイクロプロセッサシステム（５０）であり、チップハウジングの中に組み込まれる２つの中央処理ユニット（１、２）と、第１および第２バスシステムと、前記第１バスシステム上の少なくとも１つのフルメモリ（７）と、前記第２バスシステム上の少なくとも１つのテストデータ記憶装置（５１）とを含むマイクロプロセッサシステム（５０）であって、前記テストデータ記憶装置（５１）は前記第１バスシステム上の前記フルメモリに比べて記憶範囲が小さく、前記テストデータ記憶装置（５１）には、前記第１バスシステム上の前記メモリ（７）のデータに紐付けられるテストデータが保存され、さらに、前記バスシステムは、前記２つのバスシステム間におけるデータのデータ交換および／または比較を可能にする比較および／またはドライバ構成要素を含み、かつ、少なくとも前記第２バスシステム上にはハードウェアのテストデータ生成器（４）が配置されるマイクロプロセッサシステム（５０）において、
前記第１バス上の前記フルメモリの少なくとも一部分が、別のテストデータ記憶装置（５）および前記第１バス上のテストデータによって付加的にバックアップされることを特徴とするマイクロプロセッサシステム。
【請求項２】
前記第１バス上の付加的なテストデータ生成器（６）が、前記第１バス上の付加的なテストデータをバックアップするために用いられることを特徴とする請求項１に記載のマイクロプロセッサシステム。
【請求項３】
前記第１バス上の前記フルメモリおよび前記テストデータ記憶装置ならびに前記第２バス上の前記テストデータ記憶装置がそれぞれ専用のアドレスデコーダ（８、９）を有することを特徴とする請求項２に記載のマイクロプロセッサシステム。
【請求項４】
前記第１バス上でキューイングしている前記テストデータが、前記物理的なメモリに、あるいは、少なくとも高い値の前記フルメモリに直接近接して保存されることを特徴とする請求項１〜３のいずれか一項に記載のマイクロプロセッサシステム。
【請求項５】
１つ以上の比較構造が、ハードウェア（３）において実装され、それぞれ読み取りおよび／または書き込み操作の間に、前記アドレスバス上でキューイングしているアドレスおよび／または前記データバス上でキューイングしているデータを相互に比較して、前記アドレスおよび／またはデータが異なる場合には誤り信号を生成させることを特徴とする請求項１〜４のいずれか一項に記載のマイクロプロセッサシステム。
【請求項６】
読み取りサイクルにおいて、前記フルメモリのデータを、前記比較構造（３）において比較する前に、まず、直接このバス上において前記フルメモリに関連付けられる前記テストデータ記憶装置領域を用いて誤りチェックを行い、誤りが存在する場合には、データを訂正するか、あるいは、誤り信号を生成させることを特徴とする請求項１〜５のいずれか一項に記載のマイクロプロセッサシステム。
【請求項７】
読み取りサイクルにおいて、前記フルメモリのデータを、特に前記データメモリ領域内もしくはそれに近接して配置されるハードウェアのテストユニット（６）によって、このデータに関連付けられるテストデータと比較し、誤りが存在する場合には、ハードウェアの訂正ユニット（６）が前記テストデータを用いて前記データを訂正することを特徴とする請求項１〜６のいずれか一項に記載のマイクロプロセッサシステム。
【請求項８】
前記テストデータ記憶装置（５）からテストデータを生成させるハードウェアのテストデータ生成器（６）が前記第１バスシステム上に配置されることを特徴とする請求項１〜７のいずれか一項に記載のマイクロプロセッサシステム。
【請求項９】
請求項１〜８のいずれか一項に記載のマイクロプロセッサシステムの、自動車のコントローラ、特に、自動車ブレーキのコントローラ、シャシ調整用のコントローラ、安全システム用のコントローラまたは適切な組合せコントローラ用のコントローラにおける使用。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、請求項１によるマイクロプロセッサシステムと自動車のコントローラにおけるその使用とに関する。
【背景技術】
【０００２】
独国特許出願公開第１９５  ２９  ４３４  Ａ１号明細書（Ｐ７９５９）は、請求項１の前段による安全上重大な用途のためのマイクロプロセッサシステムを開示している。このマイクロプロセッサシステムは、冗長性の理由から、同じプログラムをクロック同期してかつ並列に実行する２つの同種のマイクロプロセッサコアを含む（コア冗長性）。このマイクロプロセッサシステムに関連付けられるバスシステムも同様に二重に設けられるが、メモリはコストの点から完全な対称設計にはなっていない。２つのバスシステムのいずれかが、比較的記憶容量が低いテストデータ記憶装置にテストデータのみを保存して、このテストデータがフルメモリにおける全データと明示的に関連付けられていれば、高い誤り検出率を実現し得ることが判明している。両方のコアが、それぞれ、すべてのデータを冗長形態で利用し得るように、全データが、ハードウェアの生成器を用いてテストデータと連続的に比較される。ハードウェア生成器は、テストデータを生成させることができるか、あるいは、全データを用いてテストデータを比較用に補足する（データ誤り訂正）ことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、同様にフルメモリと、フルメモリに保存されるオリジナルデータと関連する冗長情報を保存する比較的小サイズのテストデータ記憶装置とを含む代替的な２−コアのマイクロプロセッサシステムを規定することにある。さらに、このマイクロプロセッサシステムは、対応する２−コアのマイクロプロセッサシステムに比べて改善された誤り検出率を有するものとする。
【課題を解決するための手段】
【０００４】
本発明は、この目的を請求項１によるマイクロプロセッサシステムによって達成する。
【０００５】
本発明に基づくマイクロプロセッサシステムは、チップハウジングの中に組み込まれる２つの中央処理ユニットを含む。
【０００６】
各処理ユニットは関連する専用のバスシステム（第１および第２バス）を有するが、これは、このバスシステムが同様に冗長設計になっていることを意味する。
【０００７】
第１バス上には少なくとも１つのフルメモリが配置される。第２バス上には、第１バスシステムにおけるフルメモリに比べて記憶容量が小さい少なくとも１つのテストデータ記憶装置が設けられる。
【０００８】
第２バス上のテストデータ記憶装置は、フルメモリのデータに紐付けられるテストデータの保存用として用いられる。テストデータを保存することは、読み取りまたは書き込み操作中に稀に生じる可能性がある典型的なデータ保存エラーを確認するのに役立つ。このような誤りは、フルメモリを二重に設けることによっても、また、データを同一形態で二度保存することによっても検出できるが、メモリはチップの製造コストの大きな部分を構成するので、これはコストが大きい。本発明に基づくマイクロプロセッサシステムに準拠してメモリスペースの要求度を低く抑えた冗長メモリすなわちテストデータ記憶装置を用いることによっても、的確な誤り検出を効果的に実施し得ることが判明した。この目的のために、例えば、フルメモリにおけるデータワード（データ項目）は、そのワード用のテスト情報項目またはテスト値（例えばパリティ情報、ハミング符号など）を有しており、それがテストデータ記憶装置の中に保存される。最も簡単な場合には、これは１ビット長のパリティビットとすることができる。さらに複雑なコード化技法、例えばハミング符号を用いても、誤り訂正が可能であり、多重誤りを検出できる。パリティ情報項目は、ワードごとに、および／または、フルメモリ内の複数のデータワードを組み合わせて構成することができる（ブロックワイズのテストデータ符号化）。
【０００９】
フルメモリの一部のみをテストデータ記憶装置によってバックアップすることが好ましい。すなわち、この場合は、誤りに対してバックアップされないフルメモリ内のメモリ領域が存在する。このメモリ領域には、安全上重大でない重要度の低いプログラム関数を収納することができる。しかし、フルメモリ全体を第２バス上のテストデータ記憶装置によってバックアップすることも可能である。
【００１０】
さらに、バスシステムは、２つのバスシステム間のデータのデータ交換および／または比較を可能にする比較および／またはドライバ構成要素を含む。
【００１１】
少なくとも第２のバスシステムには、例えばロジックゲートによって作られるそれ自体公知のハードウェアのテストデータ生成器が配置される。従って、メモリ誤りの検出に必要なテスト情報は、中央処理ユニット（ＣＰＵ）によって生成されるのではなく、ＣＰＵから物理的に分離して配置されるいわゆるハードウェアテストデータ生成器によって生成される。ハードウェアテストデータ生成器は、データ処理および／または信号処理用の作業ステップを、中央処理ユニットの支援なしに予め定められたロジックに基づいて独立に実行するような、本質的にハード配線された半導体構造とするのが好ましい。このハードウェア生成器によって実行される操作は原理的に中央処理ユニットによっても実行することが可能であるが、これは、通常、高いクロックサイクルの消費を伴う（誤り率の増大が可能になると共に）ので、遅延時間を大幅に増大させることになろう。
【００１２】
フルメモリは読み取り／書き込みメモリとするのが好ましい。しかし、読み取り専用メモリ（例えば、ＲＯＭ、Ｏｔｐ−ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュＲＯＭ）を、本発明の原理に基づいてバックアップすることも可能である。
【００１３】
独国特許出願公開第１９５  ２９  ４３４  Ａ１号明細書から知られるテストデータ記憶装置によるバックアップの方法は、現在の用途に必要な利用可能性の要求に適合するが、上記のメモリ誤りに加えて、既知のアーキテクチャが保護し得ないような追加的なタイプの誤りも存在する。例えば、アドレスバス上の誤りおよびアドレスデコーダ内の誤りを検出することは不可能である。テスト情報を生成させるためのブロックワイズのテストデータ符号化によって確かにこの追加的なタイプの誤りの検出が可能になるが、この方法は、読み取り専用メモリの用途に限定されるであろう。従って、本発明に基づいて、第１バス上のフルメモリの少なくとも一部分を、同様に第１バス上に配置されるさらなるテストデータ記憶装置と、適切なテストデータとを用いてバックアップする。これによって、上記の追加的なタイプの誤りの検出が可能になる。
【００１４】
本発明に基づくマイクロプロセッサシステムにはアドレス誤り検出用の装置を組み込むことが望ましい。この装置は、特に、テストデータを計算する場合に、バックアップするべきデータのアドレスを含む手段を設けるように設計される。特に好ましいのは、書き込みの際に、特に、例えばチェックビットであるテストデータを、データビットのみに基づいて計算するだけではなく、バックアップされるべきデータと当該アドレスとにも基づいて計算する方法である。この方法で、アドレス指定の誤りをデータ読み取りの際に検出することができる。アドレス誤りの検出は、２つのバスシステムのそれぞれに設けることが望ましい。
【００１５】
アドレス誤り検出のための好ましい代替的手段は、マイクロプロセッサシステムの中に付加的に組み込まれる装置で、アドレス誤りを検出するための１つ以上のテストをバックグラウンドにおいて実行する装置を含む。この方式の誤り検出は、読み取り／書き込みアクセス操作の間に並列に実施されるものではない点が好都合である。その代わりに、この誤り検出手段は、特に、周期的に分離されたチェック操作の範囲内においてのみ遂行され、そのチェック操作においては、別の基本的なＣＰＵ動作が存在しない点が好ましい。本明細書に記載の代替的なアドレス誤り検出は、ソフトウェアの形態もしくはハードウェア方式の形態で実行することができる。本明細書に記載の手段は、特にＣＰＵの内部またはハードウェアステートマシンの内部において、ビルトイン型の自己テスト機能の形で具現化することができる。
【００１６】
この自己テスト機能に従って、メモリに予め定められたパターンを書き込み、続いてそれを読み取ることが望ましい。このパターンは、特に好ましくは、可能な復号誤りまたは作動エラーがデータの破損を故意にもたらすような形態にすることができる。続いて読み取りの間に、この故意に生成された誤りが検出される。
【００１７】
上記の２つの誤り検出装置に加えて、あるいはその代わりとして、メモリセルにメモリセルのアドレスが書き込まれ、その後それがチェックされるようなアドレス指定誤り検出手段を実装することが好ましい。
【００１８】
上記の方法の１つの例は、「アドレス対データ」テストとして知られているものである。このテストによれば、各メモリの位置に、以下のように、メモリ位置のアドレスの数値が書き込まれる。
アドレス        データ項目
０ｘ００        ０ｘ００
０ｘ０１        ０ｘ０１
．．．
０ｘｆｆ        ０ｘｆｆ
【００１９】
誤りが生じた場合は、１つの番号が戻って読み取られるのではなく、その代わりにもう１つが２回繰り返される。
【００２０】
本発明に従って用いられるテストデータ記憶装置は、原理的には従来型の読み取り／書き込みメモリであるが、記憶容量がフルメモリに比べて低下している。
【００２１】
マイクロプロセッサシステムは共通のチップハウジングに統合され、好ましくはクロック同期して操作される。両方のシステムは共通の半導体材料上に配置するのが望ましい。
【００２２】
マイクロプロセッサシステムは、好ましくはそれぞれデータバス、アドレスバスおよび制御バスを含む２つのバスシステムを含む。
【００２３】
１つまたは複数の読み取り／書き込みメモリに加えて、マイクロプロセッサシステムを操作するための少なくとも１つの読み取り専用メモリも当然存在する。本発明の場合、読み取り専用メモリという用語は、特にＲＯＭ、フラッシュＲＯＭまたはＯｔｐ−ＲＯＭタイプのような少なくとも一定時間揮発しないメモリを意味するものと理解する。この場合、コアの冗長性の原理によれば、両方のバスシステムがフルメモリまたは同一内容の読み取り専用メモリを有することが絶対的に必要であるわけではない。冗長性の概念を読み取り専用メモリにも適用することは望ましいが、この場合には、読み取り専用メモリのデータを確実にバックアップするために、的確なテスト情報用の実装がなされる。これは、特に、データの代わりに適切なテスト情報を含む第２バス上の小型の読み取り専用メモリによって実現することができる。
【００２４】
本発明に基づくマイクロプロセッサシステムにおいては、テストデータを、第１バス上において、物理的メモリ内または少なくともフル読み取り／書き込みメモリに直接近接して追加的に保存することが望ましい。直接近接してということは、関連するチップ構造が互いに隣接することを意味しており、これによって、データ用の必要な遅延時間を短く維持することが可能になる。
【００２５】
マイクロプロセッサシステムは、望ましくは、読み取りサイクルにおいて、フルメモリのデータを、１つ以上のハードウェアのテストユニットによって、このデータに関連するテストデータと比較するように構成される。このハードウェアテストユニットは、特にデータメモリの領域内もしくはそれに近接して配置される。このハードウェア訂正ユニットは、誤りがあった場合にはテストデータを用いてデータを訂正する。この訂正によって、例えば、誤ビットのような簡単な誤りは容易に訂正することができるので、マイクロプロセッサシステムを遮断する必要はない。テストワードの複雑性に応じて、さらに複雑な誤りを阻止することも可能である。訂正が成功しない場合、すなわち、データにおける誤りが複雑で、テスト情報とのロジックの組合せによってもなお訂正データに誤りが含まれる場合には、このデータを、好ましくも存在する別の比較ユニットであって並列バスシステム上でキューイングしているデータを比較する比較ユニットによって見つけ出す。その結果、適切な誤り系統上に誤り信号が都合よく出力され、この誤り信号によって、特に、マイクロプロセッサシステムを停止するか、あるいは、それを他の電子装置から切り離す。例えば、電子ブレーキシステムにおいては、これによって、バルブ駆動器の誤動作を効果的に防止することができる。
【００２６】
コアの冗長性の原理を用いるが、１つのメモリセル内に誤り検出／訂正機構しか含まない既知の誤り訂正／誤り検出マイクロプロセッサとは異なって、本発明は、メモリ全体のバックアップを可能にする。これによって、用いられる冗長性の概念が、読み取り専用メモリからデータ記憶装置にも拡大され、既存の安全要件を確保しながら製造コストをさらに低減することが可能になる。
【００２７】
さらに好ましい実施態様は、従属請求項と、添付の図面を参照してなされる例示的実施態様に関する以下の説明とに見ることができる。
【発明を実施するための最良の形態】
【００２８】
図１のマイクロコントローラは、クロック同期して作動する２つの中央処理ユニット（ＣＰＵ）１、２を含む。両方のマイクロコンピュータは同じプログラムを実行する。各ユニットは、それぞれ別個の関連アドレスおよびデータバスを有する。ＣＰＵ１には全データ記憶装置７が接続され、ＣＰＵ１は第２バス上のテストデータ記憶装置５１を用いて部分的にバックアップされる。このマイクロプロセッサシステムは、さらに、ハードウェア要素の形態のコンパレータ３を含み、このコンパレータ３は、２つのバスシステム上でキューイングしているアドレスおよびデータを互いに連続的に比較するのに用いられる。不一致があると、誤り信号を生成させる。表示を簡単にするために、図には、入力／出力ユニット、読み取り専用メモリ等のマイクロプロセッサシステムに通常含まれる構成要素を詳細に示していない。図示されていないこれらの構成要素は、本質的に、国際公開第９９／３５５４３号パンフレットに記載される冗長コアのマイクロコントローラに基づく。
【００２９】
第１バス上のテストデータ記憶装置５は、メモリ７に比べて、その記憶容量が１／８になる。メモリ５は、ＣＰＵ１がデータをメモリ７に書き込み操作するそれぞれの間にハードウェア生成器６によって実際上同時に生成されるテストデータを保存するのに用いられる。テストデータをプログラムに関係する手段なしに生成させるので、クロックサイクルの消費を増大させることなく、書き込み操作を実行することが原理的に可能になる。さらに、記憶装置５１用としてすでに生成されたテストデータは、メモリ７の物理的なメモリモジュールにおいて他のメモリアドレス５内にもう一度保存される。この場合、誤り訂正および誤り検出用に用いられるコードは同一あるいは異なるものとすることができるので、テストデータは互いに同一であるか異なるものとなる。
【００３０】
読み取りの際に、メモリ７は、ＣＰＵ１によってアドレスデコーダ８を用いてアドレス指定される。読み取り操作の間はハードウェアユニット６がアクティブである。ハードウェアユニット６は、テストデータ生成方法（例えばハミング符号）に従ってデータをチェックしかつ場合によりそれを直ちに訂正するのに用いられる。ブロック３が含むバスドライバは、キューイングしているデータをＣＰＵ１およびＣＰＵ２に同時に供給するのに用いられる。ＣＰＵ１による読み取り操作の間、ＣＰＵ２のデータ読み取りと並列に、記憶装置５１はアドレスデコーダ９によってアドレス指定される。記憶装置５１は、同様に、特にメモリ７におけるデータのチェックサムである誤り検出用のテストデータを含む。データとテストデータとが合致しなければ誤りが同様に検出される。誤り検出は第２バス上でも行われるが、これは、場合により第１バスの領域内で訂正されるデータに関係している。このチェックは、同様に誤り信号を生成させることができるハードウェアのコンパレータ４において実行される。テストデータ記憶装置５はデータ記憶装置７に物理的に近接して配置されるので、データを短時間で訂正することが可能であり、従って、このような訂正が所定のタイミング内でなお可能である。
【図面の簡単な説明】
【００３１】
【図１】データ記憶装置およびさらなるテストメモリを備えた２−コア組み込み型マイクロコントローラを示す。
【図１】
2009505188.tif 000003
【国際調査報告】
2009505188.tif 000004
2009505188.tif 000005
2009505188.tif 000006
2009505188.tif 000007