(57)【要約】【課題】回路規模の増大を抑制しつつメモリの故障診断を行うことができるマイクロコンピュータを提供する。【解決手段】診断制御部５は、故障診断を行うためメモリ４に対しデータの読み出し及び書き込みを行い、バッファ１０に診断制御部５がメモリ４より読み出したデータを保持する。診断データ生成器１１は、バッファ１０の保持データに基づき診断用データを生成する。診断制御部５は、生成された診断用データを、保持データを読み出したメモリ４のアドレスに書き込んでからその診断用データを再度読み出し、故障判定器１２は、保持データと診断データとが診断データ生成器１１の生成パターンに対応する関係にあるか否かで故障診断を行う。診断制御部５は、故障診断の実行中に診断対象アドレスにＣＰＵ２がリードアクセスを行うと、バッファ１０が保持しているデータをＣＰＵ２に読み込ませ、前記アドレスにＣＰＵ２がライトアクセスを行うと故障診断を中止して再実行する。【選択図】図１
2015215872.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（２）と、
このＣＰＵによりデータの書き込み及び読み出しが行われるメモリ（４）と、
このメモリの故障診断を行うため、前記メモリに対しデータの読み出し及び書き込みを行う診断制御部（５）と、
この診断制御部が前記メモリより読み出したデータが保持されるデータ保持手段（１０）と、
このデータ保持手段に保持されている保持データに基づいて診断用データを生成する診断用データ生成手段（１１）と、
前記メモリの故障診断を行う診断手段（１２）とを備え、
前記診断制御部は、前記診断用データを、前記保持データを読み出した前記メモリのアドレスに書き込んでから前記診断用データを再度読み出し、
前記診断手段は、前記保持データと前記診断データとが、前記診断用データ生成手段における生成のパターンに対応する関係にあるか否かにより故障診断を行ない、
前記診断制御部は、故障診断の実行中に、前記メモリより読み出したデータのアドレスに対して前記ＣＰＵがリードアクセスを行うと、前記保持データを前記ＣＰＵに読み込ませ、
前記アドレスに対して前記ＣＰＵがライトアクセスを行うと、前記故障診断を中止して再実行することを特徴とするマイクロコンピュータ。
【請求項２】
ＣＰＵ（２）と、
このＣＰＵによりデータの書き込み及び読み出しが行われるメモリ（４）と、
このメモリの故障診断を行うため、前記メモリに対しデータの読み出し及び書き込みを行う診断制御部（２２）と、
この診断制御部が前記メモリより読み出したデータが保持されるデータ保持手段（１０）と、
このデータ保持手段に保持されている保持データに基づいて診断用データを生成する診断用データ生成手段（１１）と、
前記メモリの故障診断を行う診断手段（１２）とを備え、
前記診断制御部は、前記診断用データを、前記保持データを読み出した前記メモリのアドレスに書き込んでから前記診断用データを再度読み出し、
前記診断手段は、前記保持データと前記診断データとが、前記診断用データ生成手段における生成のパターンに対応する関係にあるか否かにより故障診断を行ない、
前記診断制御部は、故障診断の実行中に、前記メモリより読み出したデータのアドレスに対して前記ＣＰＵがリードアクセスを行うと、前記保持データを前記ＣＰＵに読み込ませ、
前記データ保持手段にデータが保持された後、前記診断制御部が前記診断用データを前記メモリに書き込む前に、前記アドレスに対して前記ＣＰＵがライトアクセスを行うと、前記保持データ及び前記アドレスのデータを前記ＣＰＵの書き込みデータにより更新して故障診断を継続し、
前記診断制御部が前記診断用データを前記メモリに書き込んだ後に、前記アドレスに対して前記ＣＰＵがライトアクセスを行うと、前記保持データ及び前記アドレスのデータを前記ＣＰＵの書き込みデータにより更新して、前記診断用データ生成手段による診断用データの生成から故障診断を再実行することを特徴とするマイクロコンピュータ。
【請求項３】
ＣＰＵ（２）と、
このＣＰＵによりデータの書き込み及び読み出しが行われるメモリ（４）と、
このメモリの故障診断を行うため、前記メモリに対しデータの読み出し及び書き込みを行う診断制御部（３２）と、
前記ＣＰＵが前記メモリにリードアクセスを行った際に、前記メモリより読み出したデータが保持されるデータ保持手段（１０）と、
このデータ保持手段に保持されている保持データに基づいて診断用データを生成する診断用データ生成手段（１１）と、
前記メモリの故障診断を行う診断手段（１２）とを備え、
前記診断制御部は、前記診断用データを、前記保持データを読み出した前記メモリのアドレスに書き込んでから前記診断用データを再度読み出し、
前記診断手段は、前記保持データと前記診断データとが、前記診断用データ生成手段における生成のパターンに対応する関係にあるか否かにより故障診断を行ない、
前記診断制御部は、故障診断の実行中に、前記メモリより読み出したデータのアドレスに対して前記ＣＰＵがリードアクセスを行うと、前記保持データを前記ＣＰＵに読み込ませ、
前記アドレスに対して前記ＣＰＵがライトアクセスを行うと、前記故障診断を中止して再実行することを特徴とするマイクロコンピュータ。
【請求項４】
ＣＰＵ（２）と、
このＣＰＵによりデータの書き込み及び読み出しが行われるメモリ（４）と、
このメモリの故障診断を行うため、前記メモリに対しデータの読み出し及び書き込みを行う診断制御部（３２）と、
前記ＣＰＵが前記メモリにリードアクセスを行った際に、前記メモリより読み出したデータが保持されるデータ保持手段（１０）と、
このデータ保持手段に保持されている保持データに基づいて診断用データを生成する診断用データ生成手段（１１）と、
前記メモリの故障診断を行う診断手段（１２）とを備え、
前記診断制御部は、前記診断用データを、前記保持データを読み出した前記メモリのアドレスに書き込んでから前記診断用データを再度読み出し、
前記診断手段は、前記保持データと前記診断データとが、前記診断用データ生成手段における生成のパターンに対応する関係にあるか否かにより故障診断を行ない、
前記診断制御部は、故障診断の実行中に、前記メモリより読み出したデータのアドレスに対して前記ＣＰＵがリードアクセスを行うと、前記保持データを前記ＣＰＵに読み込ませ、
前記データ保持手段にデータが保持された後、前記診断制御部が前記診断用データを前記メモリに書き込む前に、前記アドレスに対して前記ＣＰＵがライトアクセスを行うと、前記保持データ及び前記アドレスのデータを前記ＣＰＵの書き込みデータにより更新して故障診断を継続し、
前記診断制御部が前記診断用データを前記メモリに書き込んだ後に、前記アドレスに対して前記ＣＰＵがライトアクセスを行うと、前記保持データ及び前記アドレスのデータを前記ＣＰＵの書き込みデータにより更新して、前記診断用データ生成手段による診断用データの生成から故障診断を再実行することを特徴とするマイクロコンピュータ。
【請求項５】
ＣＰＵ（２）と、
このＣＰＵによりデータの書き込み及び読み出しが行われるメモリ（４）と、
このメモリの故障診断を行うため、前記メモリに対しデータの読み出し及び書き込みを行う診断制御部（４２）と、
前記ＣＰＵが前記メモリにライトアクセスを行った際に、前記ＣＰＵのライトデータが保持されるデータ保持手段（１０）と、
このデータ保持手段に保持されている保持データに基づいて診断用データを生成する診断用データ生成手段（１１）と、
前記メモリの故障診断を行う診断手段（１２）とを備え、
前記診断制御部は、前記診断用データを、前記メモリの前記ＣＰＵによるライトアクセスアドレスに書き込んでから前記診断用データを再度読み出し、
前記診断手段は、前記保持データと前記診断データとが、前記診断用データ生成手段における生成のパターンに対応する関係にあるか否かにより故障診断を行ない、
前記診断制御部は、故障診断の実行中に、前記メモリより読み出したデータのアドレスに対して前記ＣＰＵがリードアクセスを行うと、前記保持データを前記ＣＰＵに読み込ませ、
前記アドレスに対して前記ＣＰＵがライトアクセスを行うと、前記故障診断を中止して再実行することを特徴とするマイクロコンピュータ。
【請求項６】
前記診断制御部は、前記故障診断の実行後に、前記保持データを前記メモリに書き込まれている診断用データに上書きすると、その上書きした保持データを再度メモリから読みして、読み出したデータが前記データ保持手段に保持されている保持データに一致するか否かにより故障診断を再実行することを特徴とする請求項３又は５記載のマイクロコンピュータ。
【請求項７】
前記診断用データ生成手段は、前記保持データの各ビットを反転させて前記診断用データを生成することを特徴とする請求項１から６の何れか一項に記載のマイクロコンピュータ。
【請求項８】
前記診断制御部（５，２２）は、前記データ保持手段に保持されているデータと前記診断用データとの排他的論理和を演算し、前記診断手段が故障の発生を検出すると、前記演算結果のデータを前記データ保持手段に保持させることを特徴とする請求項７記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリについて故障診断を行う機能を備えたマイクロコンピュータに関する。
【背景技術】
【０００２】
マイクロコンピュータの信頼性を向上させるため、ＣＰＵが動作している期間中にもメモリの故障診断を行う機能を持たせたものがある。例えば特許文献１には、診断対象アドレスのデータをメモリから読み出しバッファレジスタに退避させ、前記アドレスに診断用データを書き込んだ後に読み出しを行い、読み出したデータと診断用データとを比較する構成が開示されている。そして、診断中において、ＣＰＵが診断対象アドレスにアクセスしようとした場合には、バッファレジスタにアクセスさせるようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−１２５７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の構成では、診断用データを保持するために、バッファレジスタとは別のレジスタが必要となる。
本発明は上記事情に鑑みてなされたものであり、その目的は、回路規模の増大を抑制しつつメモリの故障診断を行うことができるマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載のマイクロコンピュータによれば、診断制御部は、メモリの故障診断を行うためメモリに対しデータの読み出し及び書き込みを行い、データ保持手段には、診断制御部がメモリより読み出したデータが保持される。そして、診断用データ生成手段は、データ保持手段に保持されている保持データに基づいて診断用データを生成する。診断制御部は、生成された診断用データを、保持データを読み出したメモリのアドレスに書き込んでからその診断用データを再度読み出し、診断手段は、前記保持データと前記診断データとが、診断用データ生成手段における生成のパターンに対応する関係にあるか否かにより故障診断を行う。
【０００６】
また、診断制御部は、故障診断の実行中に、メモリより読み出したデータのアドレスにＣＰＵがリードアクセスを行うと、データ保持手段が保持しているデータをＣＰＵに読み込ませ、前記アドレスにＣＰＵがライトアクセスを行うと、故障診断を中止して再実行する。すなわち、診断用データ生成手段は、診断用データをデータ保持手段に保持されている保持データに基づいて生成するので、特許文献１とは異なり、診断用データを別途保持するためのレジスタが不要になる。したがって、回路規模の増大を抑制しつつメモリの故障診断を行うことができる。
【０００７】
尚、ここで「診断用データを〜保持データに基づいて生成する」とは、診断用データを、一定の変換規則に従って変換することで診断用データを生成することを意味する。
請求項２記載のマイクロコンピュータによれば、請求項１と同様に、診断用データ生成手段は、データ保持手段に保持されている保持データに基づいて診断用データを生成し、診断制御部及び診断手段は、請求項１と同様にメモリの故障診断を行う。また、診断制御部は、故障診断の実行中に、メモリより読み出したデータのアドレスにＣＰＵがリードアクセスを行うと、請求項１と同様にデータ保持手段が保持しているデータをＣＰＵに読み込ませる。
【０００８】
そして、データ保持手段にデータが保持された後、診断制御部が診断用データをメモリに書き込む前に、そのアドレスにＣＰＵがライトアクセスを行うと、データ保持手段のデータ及び前記アドレスのデータをＣＰＵの書き込みデータで更新して故障診断を継続する。また、診断制御部が診断用データをメモリに書き込んだ後に、そのアドレスにＣＰＵがライトアクセスを行うと、データ保持手段のデータ及び前記アドレスのデータをＣＰＵの書き込みデータで更新して、診断用データ生成手段による診断用データの生成から故障診断を再実行する。これにより、故障診断を再実行するケースを請求項１よりも削減できるので、故障診断をより効率的に行うことができる。
【０００９】
請求項３，４記載のマイクロコンピュータによれば、データ保持手段には、ＣＰＵがメモリにリードアクセスを行った際に当該メモリより読み出したデータが保持されるが、それ以外の動作についてはそれぞれ請求項１，２と同様である。したがって、診断制御部は、データ保持手段にデータを保持するために別途メモリアクセスを行う必要が無く、消費電力を低減できる。
【００１０】
請求項５記載のマイクロコンピュータによれば、データ保持手段には、ＣＰＵがメモリにライトアクセスを行った際に、ＣＰＵのライトデータが保持されるが、それ以外の動作については請求項１と同様である。したがって、診断制御部は、データ保持手段にデータを保持するために別途メモリアクセスを行う必要が無く、この構成による場合も消費電力を低減できる。
【００１１】
請求項６記載のマイクロコンピュータによれば、診断制御部は、故障診断の実行後に、保持データをメモリに書き込まれている診断用データに上書きする。そして、上書きした保持データを再度メモリから読みすと、読み出したデータがデータ保持手段に保持されている保持データに一致するか否かにより故障診断を再実行する。したがって、故障診断をより厳重に行うことができる。
【００１２】
請求項７記載のマイクロコンピュータによれば、診断用データ生成手段は、保持データの各ビットを反転させて診断用データを生成する。したがって、診断対象となるアドレスに反転させたデータが正しく書き込まれたか否かにより、故障診断を確実に行うことができる。
【００１３】
請求項８記載のマイクロコンピュータによれば、診断制御部は、データ保持手段に保持されているデータと診断用データとの排他的論理和を演算し、診断手段が故障の発生を検出すると、演算結果のデータをデータ保持手段に保持させる。すなわち、排他的論理和を演算した結果、双方のデータ値が反転の関係に無いビットには「０」がセットされる。そして、この時点でメモリに故障が発生しているので、以降に故障診断を継続する必要はなく、データ保持手段のデータを更新する必要はない。そこで、演算結果データをデータ保持手段に保持させて、例えばＣＰＵがその演算結果データを読み出せば、故障が発生したアドレスのビットを特定できる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態であり、マイクロコンピュータの構成を示す機能ブロック図
【図２】診断制御部による診断手順を示すフローチャート
【図３】故障判定の手順を示すフローチャート
【図４】第２実施形態であり、マイクロコンピュータの構成を示す機能ブロック図
【図５】診断制御部による診断手順を示すフローチャート
【図６】第３実施形態であり、マイクロコンピュータの構成を示す機能ブロック図
【図７】診断制御部による診断手順を示すフローチャート
【図８】故障判定Ａの手順を示すフローチャート
【図９】故障判定Ｂの手順を示すフローチャート
【図１０】第４実施形態であり、マイクロコンピュータの構成を示す機能ブロック図
【図１１】診断制御部による診断手順を示すフローチャート
【発明を実施するための形態】
【００１５】
（第１実施形態）
図１に示すように、マイクロコンピュータ１は、ＣＰＵ２がアドレス及びデータバス３を介して、例えばＤＲＡＭなどのメモリ４にアクセスし、データの書き込み（ライト）及び読み出し（リード）を行う。診断制御部５は、メモリ４の故障診断を行うためのハードウェアであり、メモリ４の各アドレスにデータが正しく書き込めるか否かを診断する。そのため、診断制御部５は、ＣＰＵ２が通常動作しておりメモリ４にアクセスを行っている期間も、メモリ４に継続的にアクセスを行う。
【００１６】
ＣＰＵ２及び診断制御部５とメモリ４との間には、アドレス用のセレクタ６、ライトデータ用のセレクタ７が設けられている。また、ＣＰＵ２がメモリ４から読み出したデータは、セレクタ８を介してバス３に出力され、ＣＰＵ２により読み出される。また、診断制御部５がメモリ４から読み出したデータは、セレクタ９を介してバッファ１０（データ保持手段）に格納される。これらのセレクタ６〜９の切り換え制御は、診断制御部５によって行われる。そのため、診断制御部５には、ＣＰＵ２が出力するアクセスアドレス及びデータが入力されている。
【００１７】
バッファ１０に格納されたデータは、セレクタ７及び８の入力端子の１つに与えられると共に、診断データ生成器１１（診断用データ生成手段）を介してセレクタ７の入力端子の他の１つに与えられる。また、前記データは、故障判定器１２（診断手段）の入力端子の１つにも与えられている。診断データ生成器１１は、入力されたデータの各ビットを反転させてテストデータ（診断用データ）を生成し、セレクタ７に出力する。故障判定器１２の入力端子の他の１つには、診断制御部５がメモリ４から読み出したデータが与えられている。故障判定器１２は、入力された２つのデータの排他的論理和を演算し、その演算結果をセレクタ９の入力端子の１つ及び診断制御部５に出力する。前記演算結果データ中に「０」を示すビットがあれば「故障検出」となる。
【００１８】
比較器１３の２つの入力端子には、ＣＰＵ２が出力するアドレスと、診断制御部５が出力するアドレスとがそれぞれ入力されている。比較器１３の出力端子は競合検出器１４の入力端子に接続されており、比較器１３は、入力される２つのアドレスが一致すると、出力信号をハイレベルにする。診断制御部５は、診断制御を行っている期間は、診断中フラグをセットして競合検出器１４に入力する。競合検出器１４は、診断中フラグがセットされており、且つ比較器１３が２つのアドレスの一致を検出すると、ハイレベル信号を診断制御部５に出力し、これが「競合検出」となる。
【００１９】
次に、本実施形態の作用について説明する。図２に示すように、診断制御部５がメモリ４の故障診断を開始すると、診断対象アドレスのデータをメモリ４から読み出してバッファ１０に退避させる（Ｓ１）。そして、ＣＰＵ２が同じ診断対象アドレスにアクセスを行っていなければ（Ｓ２：無）、バッファ１０に退避させたデータ（保持データ）を診断データ生成器１１により反転させて、メモリ４の診断対象アドレスに書き込む（Ｓ３）。それから、再びステップＳ２と同様に、ＣＰＵ２が同じ診断対象アドレスにアクセスしようとしているか否かを判断し（Ｓ４）、アクセスを行っていなければ（無）故障判定処理に移行する（Ｓ５）。
【００２０】
ステップＳ２又はＳ４において、ＣＰＵ２が同じ診断対象アドレスにアクセスしようとしている場合は（有）、何れも同じ処理となる。すなわち、ＣＰＵ２のサイクルがリード／ライトの何れであるかを判断し（Ｓ６，Ｓ８）、ライトであればステップＳ１に戻り診断をやり直す。一方、リードであれば、バッファ１０に退避させたデータをＣＰＵ２に読み込ませる（Ｓ７，Ｓ９）。つまり、バッファ１０に退避させたデータを、セレクタ８を介してバス３に出力する。そして、ステップＳ７，Ｓ９からは、それぞれステップＳ２，Ｓ４に移行する。これにより、診断を継続する。
【００２１】
ステップＳ５の故障判定処理は、図３に示すように、診断制御部５がメモリ４の診断対象アドレスに書き込んだテストデータを読み出す。すると、故障判定器１２が、前記テストデータとバッファ１０に退避させたデータとの排他的論理和を演算する（Ｓ１１）。診断対象アドレスにテストデータが正しく書き込まれていれば、テストデータはバッファ１０に退避させたデータの反転値であるから、演算結果データはオール「１」となる。この場合は「一致」となり（Ｓ１２：正常）、診断制御部５は、バッファ１０に退避させたデータを診断対象アドレスに書き込む（Ｓ１３）。そして、診断を終了する。
【００２２】
一方、ステップＳ１２において、排他的論理和の演算結果データ中に「０」を示すビットがあった場合は、診断対象アドレスにテストデータが正しく書き込まれなかったことを示す。この場合は「不一致」となり（故障）、診断制御部５は、前記演算結果データより「故障検出」を認識すると、故障判定器１２の出力データをセレクタ９を介してバッファ１０に書き込む（Ｓ１４）。そして、診断を終了する。
【００２３】
ステップＳ１４でバッファ１０に書き込まれたデータは、診断対象アドレスにおいてテストデータが正しく書き込まれなかったビット位置を示す。そして、この時点でメモリ４に故障が発生しているので、以降に故障診断を継続する必要はなく、バッファ１０のデータを更新する必要はない。したがって、演算結果データをバッファ１０に格納し、そのデータを読み出すことで、メモリ４の故障発生ビット位置を知ることができる。
【００２４】
以上のように本実施形態によれば、診断制御部５は、メモリ４の故障診断を行うためメモリ４に対しデータの読み出し及び書き込みを行い、バッファ１０に、診断制御部５がメモリ４より読み出したデータを保持する。そして、診断データ生成器１１は、バッファ１０に保持されているデータ（保持データ）に基づいて、すなわち、保持データを一定の変換規則に従い変換してテストデータを生成する。診断制御部５は、生成されたテストデータを、保持データを読み出したメモリ４のアドレスに書き込んでからそのテストデータを再度読み出し、故障判定器１２は、保持データと診断データとが、診断データ生成器１１における生成のパターンに対応する関係にあるか否かにより故障診断を行う。
【００２５】
また、診断制御部５は、故障診断の実行中に、診断対象アドレスにＣＰＵ２がリードアクセスを行うと、バッファ１０が保持しているデータをＣＰＵ２に読み込ませ、前記アドレスにＣＰＵ２がライトアクセスを行うと、故障診断を中止して再実行する。すなわち、診断データ生成器１１は、テストデータをバッファ１０に保持されているデータに基づいて生成するので、特許文献１とは異なり、テストデータを別途保持するためのレジスタが不要になる。したがって、マイクロコンピュータ１の回路規模の増大を抑制しつつメモリ４の故障診断を行うことができる。
【００２６】
また、診断データ生成器１１は、保持データの各ビットを反転させてテストデータを生成するので、診断対象アドレスに反転させたデータが正しく書き込まれたか否かにより、メモリ４の故障診断を確実に行うことができる。
【００２７】
更に、診断制御部５は、バッファ１０の保持データとテストデータとの排他的論理和を演算し、故障判定器１２が故障の発生を検出すると、演算結果のデータをバッファ１０に保持させる。したがって、例えばＣＰＵ２がその演算結果データを読み出せば、故障が発生したアドレスのビット位置を特定できる。
【００２８】
（第２実施形態）
以下、第１実施形態と同一部分には、同一符号を付して説明を省略し、以下異なる部分について説明する。図４に示すように、第２実施形態のマイクロコンピュータ２１は、診断制御部５を診断制御部２２に、セレクタ９をセレクタ２３にそれぞれ置き換えた構成である。セレクタ２３は、入力端子数が「３」となっており、増設された入力端子には、ＣＰＵ２のライトデータが与えられている。
【００２９】
次に、第２実施形態の作用について説明する。図５に示す図２相当図では、診断制御部２２が、ステップＳ６，Ｓ８においてＣＰＵ２のライトアクセスと判断した場合の処理が異なっている。何れの場合もＣＰＵ２のライトデータをそのままメモリ４の診断対象アドレスに書き込ませると共に、前記ライトデータを、セレクタ２３を介してバッファ１０にも書き込ませる（Ｓ２１，Ｓ２２）。そして、何れの場合もステップＳ２に移行する。
【００３０】
以上のように第２実施形態によれば、バッファ１０にデータが保持された後、診断制御部２２がテストデータをメモリに書き込む前に、そのアドレスにＣＰＵ２ライトアクセスを行うと、バッファ１０のデータ及び前記アドレスのデータをＣＰＵ２書き込みデータで更新して故障診断を継続する。また、診断制御部２２がテストデータをメモリ４に書き込んだ後に、そのアドレスにＣＰＵ２がライトアクセスを行うと、バッファ１０のデータ及び前記アドレスのデータをＣＰＵ２の書き込みデータで更新して、テストデータの生成から故障診断を再実行する。これにより、故障診断を再実行するケースを第１実施形態よりも削減できるので、故障診断をより効率的に行うことができる。
【００３１】
（第３実施形態）
図６に示すように、第３実施形態のマイクロコンピュータ３１は、診断制御部５を診断制御部３２に置き換え、セレクタ６及び比較器１３の一方の入力側に、診断アドレスラッチ３３を備えた構成である。第３実施形態では、診断制御部３２が診断アドレスを生成して出力するのではなく、ＣＰＵ２がメモリ４に対してリードアクセスを行った際に、ＣＰＵ２が出力するアクセスアドレスを診断アドレスとする。
【００３２】
診断制御部３２には、ＣＰＵ２が実行するメモリ４へのアクセスがリード／ライトの何れであるかをハイ／ローレベルで示す信号Ｒ／Ｗが与えられている。診断制御部３２は、ＣＰＵ２がリードアクセスを実行した際に診断アドレスラッチ３３にラッチ信号を出力して、その際のアクセスアドレスを診断アドレスとする。したがって、バッファ１０に退避（格納）されるデータは、上記リードアクセスに伴いＣＰＵ２によってメモリ４から読み出されたデータとなる（図７，ステップＳ３１及びＳ３２参照）。
【００３３】
次に、第３実施形態の作用について説明する。図７に示すように、ステップＳ３２の実行後は第１実施形態と同様にステップＳ２〜Ｓ９を実行する。但し、ステップＳ５に替わるステップＳ５Ａでは図８に示す「故障判定Ａ」を実行するが、ここでの判定内容は第１実施形態の図２と同様である。但し、ステップＳ１３は実行しない。
【００３４】
続くステップＳ３３〜Ｓ３５は、ステップＳ２，Ｓ６，Ｓ７と同様の処理である。そして、ステップＳ３３で「アクセス無」と判断すると、バッファ１０に退避したデータをメモリ４に書き込まれている診断データに上書きする（Ｓ３６）。それから、続くステップＳ３７〜Ｓ３９でステップＳ２，Ｓ６，Ｓ７と同様の処理を行うと、図９に示す「故障判定Ｂ」を実行する（Ｓ４０）。
【００３５】
「故障判定Ｂ」のステップＳ４４及びＳ４５におけるデータの比較は、この場合双方のデータ値が一致していれば故障無しであり、排他的論理和の結果はオール「０」となる。そして、双方のデータ値に不一致があれば、対応するビットが「１」となる。以上のように第３実施形態によれば、診断制御部３２は、バッファ１０にデータを保持するために別途メモリアクセスを行う必要が無いので、消費電力を低減できる。
【００３６】
（第４実施形態）
図１０に示すように、第４実施形態のマイクロコンピュータ４１は、第３実施形態の診断制御部３２を診断制御部４２に置き換えている。診断制御部４２は、ＣＰＵ２がライトアクセスを実行した際に診断アドレスラッチ３３にラッチ信号を出力し、その際のアクセスアドレスを診断アドレスとする。そして、バッファ１０に退避されるデータは、上記ライトアクセスに伴いＣＰＵ２が出力し、メモリ４に書き込まれたデータとなる。
【００３７】
メモリ４にライトデータを入力するためのセレクタ７は、２つの２入力セレクタ４３及び４４に置き換わっている。セレクタ４３には、ＣＰＵ２のライトデータとバッファ１０の保持データとが入力され、次段のセレクタ４４には、セレクタ４３の出力データと診断データ生成器１１の出力データとが入力されている。また、診断データ生成器１１には、セレクタ４３の出力データが入力されている。加えて、セレクタ９の一方の入力には、メモリ４からのリードデータに替えてＣＰＵ２のライトデータが入力されている。
【００３８】
次に、第４実施形態の作用について説明する。図１１に示すように、ＣＰＵ２がライトアクセスを実行すると（Ｓ５１）、診断制御部５２は、バッファ１０にライトデータを格納すると共に、診断データ生成器１１により反転した診断用データをメモリ４のライトアクセスアドレスに書き込む（Ｓ５２）。以降の処理は、第３実施形態と同様である。
【００３９】
以上のように第４実施形態によれば、診断制御部４２は、第３実施形態と同様に、バッファ１０にデータを保持するために別途メモリアクセスを行う必要が無いので、消費電力を低減できる。
【００４０】
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
テストデータの生成は、メモリ４より読み出したデータを反転させるものに限ることはない。例えばビットシフトを行ったり、所定値を加減算する等、一定の変換規則に従い変換して生成すれば良い。そして、故障診断は、そのテストデータの生成パターンに応じて行えば良い。
【００４１】
メモリはＤＲＡＭに限らず、ＳＲＡＭやフラッシュメモリなどでも良い。
第３実施形態におけるリードアクセスをトリガとして故障診断を実行する方式を、第２実施形態に適用しても良い。
第３，第４実施形態において、ステップＳ４２で「一致」と判断した場合にステップＳ１３を実行し、ステップＳ３３以降の処理を削除しても良い。
【符号の説明】
【００４２】
図面中、１はマイクロコンピュータ、２はＣＰＵ、４はメモリ、５は診断制御部、１０はバッファ（データ保持手段）、１１は診断データ生成器（診断用データ生成手段）、１２は故障判定器（診断手段）を示す。
【図１】
2015215872.tif 000003
【図２】
2015215872.tif 000004
【図３】
2015215872.tif 000005
【図４】
2015215872.tif 000006
【図５】
2015215872.tif 000007
【図６】
2015215872.tif 000008
【図７】
2015215872.tif 000009
【図８】
2015215872.tif 000010
【図９】
2015215872.tif 000011
【図１０】
2015215872.tif 000012
【図１１】
2015215872.tif 000013